xref: /dokuwiki/lib/plugins/extension/style.less (revision 8fe483c9dd38f0052abe729cc74057c9cdf54ad3)
1/*
2 * Extension plugin styles
3 *
4 * @author  Christopher Smith <chris@jalakai.co.uk>
5 * @author  Piyush Mishra <me@piyushmishra.com>
6 * @author  Håkan Sandell <sandell.hakan@gmail.com>
7 * @author  Anika Henke <anika@selfthinker.org>
8 * @author  Andreas Gohr <andi@splitbrain.org>
9 */
10
11/**
12 * very simple lightbox
13 * @link http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/super-simple-lightbox-with-css-and-jquery/
14 */
15#plugin__extensionlightbox {
16    position: fixed;
17    top: 0;
18    left: 0;
19    width: 100%;
20    height: 100%;
21    background: url(images/overlay.png) repeat;
22    text-align: center;
23    cursor: pointer;
24    z-index: 9999;
25
26    p {
27        text-align: right;
28        color: #fff;
29        margin-right: 20px;
30        font-size: 12px;
31    }
32
33    img {
34        box-shadow: 0 0 25px #111;
35        max-width: 90%;
36        max-height: 90%;
37    }
38}
39
40/**
41 * general styles
42 */
43#extension__manager {
44    // tab layout - most of it is in the main template
45    ul.tabs li.active a {
46        background-color: @ini_background_alt;
47        border-bottom: solid 1px @ini_background_alt;
48        z-index: 2;
49    }
50
51    .panelHeader {
52        background-color: @ini_background_alt;
53        margin: 0 0 10px 0;
54        padding: 10px 10px 8px;
55        overflow: hidden;
56    }
57}
58
59
60#extension__list {
61    @thumbwidth: 125px; // width of the thumbnail column, can be increased once we have larger thumbnails
62
63    &, * {
64        box-sizing: border-box;
65    }
66
67    section.extension {
68        display: grid;
69        grid-template-columns: @thumbwidth auto 15em;
70        grid-template-rows: repeat(4, auto);
71        margin-bottom: 1em;
72        border-bottom: 1px solid @ini_border;
73
74        > .screenshot {
75            grid-column: 1;
76            grid-row: 1;
77            padding-top: 0.5em;
78            padding-right: 0.5em;
79            margin-bottom: 1.5em; // adds space for the detail summary label
80            position: relative;
81
82            img {
83                border: 1px solid @ini_border;
84                border-radius: 2px;
85                width: 100%;
86                height: auto;
87            }
88
89            .id {
90                font-size: 80%;
91                color: @ini_text_alt;
92                background-color: @ini_background_alt;
93                padding: 0.1em 0.25em;
94                position: absolute;
95                top: 0.5em;
96                left: 0;
97                border-bottom-left-radius: 2px;
98                white-space: nowrap;
99                max-width: 100%;
100                overflow: hidden;
101                text-overflow: ellipsis;
102                cursor: default;
103            }
104
105            .popularity {
106                cursor: default;
107            }
108        }
109
110        > .main {
111            grid-column: 2;
112            grid-row: 1;
113            padding: 0.5em;
114            min-height: 7em;
115
116            > h2 {
117                font-size: 100%;
118                line-height: 1.2;
119                font-weight: normal;
120                display: flex;
121                gap: 1em;
122                justify-content: space-between;
123
124                strong {
125                    font-size: 120%;
126                    font-weight: bold;
127                }
128
129                .version {
130                }
131            }
132
133            .linkbar {
134                a.bugs {
135                    background-image: url('images/bug.svg');
136                }
137                a.donate {
138                    background-image: url('images/coffee.svg');
139                }
140            }
141        }
142
143        > .actions {
144            grid-column: 3;
145            grid-row: 1;
146            padding: 0.5em 0 0.5em 0.5em;
147            display: flex;
148            flex-direction: column;
149            align-items: end;
150            gap: 0.5em;
151
152            .version {
153                line-height: 1.2;
154                margin-bottom: 1em;
155            }
156        }
157
158
159        > .notices {
160            grid-column: 2 / span 2;
161            grid-row: 2;
162            padding: 0 0.5em;
163
164            ul, li {
165                list-style: none;
166                margin: 0.5em 0 0 0;
167                padding: 0;
168
169                span {
170                    font-weight: bold;
171                    color: @ini_link;
172                }
173            }
174        }
175
176        > .details {
177            grid-column: 1 / span 3;
178            grid-row: 3;
179
180            details {
181                font-size: 90%;
182                border: 1px solid transparent; // fixes jumping summary
183                summary {
184                    cursor: pointer;
185                    float: left;
186                    margin-top: -1.5em; // moves it up into the screenshot margin
187                    color: @ini_text_alt;
188                }
189
190                &[open] {
191                    dl {
192                        margin: 0.5em 0 0.5em 0;
193                    }
194                }
195
196                dl {
197                    margin: 0;
198                    display: grid;
199                    grid-template-columns: @thumbwidth auto;
200
201                    dt {
202                    }
203
204                    dd {
205                        grid-column: 2;
206                        margin: 0 0 0 0.5em;
207                    }
208                }
209            }
210        }
211    }
212
213    section.extension.installed.disabled {
214        .screenshot img,
215        .main,
216        .details {
217            opacity: 0.5;
218        }
219    }
220
221    &.filter {
222        section.extension {
223            display: none;
224        }
225        section.extension.update {
226            display: grid;
227        }
228    }
229}
230
231/**
232 * Search form
233 */
234#extension__manager form.search {
235    display: block;
236    margin-bottom: 2em;
237
238    span {
239        font-weight: bold;
240    }
241
242    input.edit {
243        width: 25em;
244    }
245}
246
247/**
248 * Install form
249 */
250#extension__manager form.install {
251    text-align: center;
252    display: block;
253    width: 60%;
254}
255