xref: /plugin/struct/style.less (revision 94db41dae22999215bd709d2b9482380b71fedde)
1/**
2 * The input entry form
3 */
4.dokuwiki .struct_entry_form {
5    margin-bottom: 1em;
6
7    fieldset {
8        width: 100%;
9        padding: 0.5em 0;
10        text-align: left;
11
12        legend {
13            text-align: left;
14            padding-left: 17px;
15            cursor: pointer;
16            background: transparent url(../../images/open.png) 5px center no-repeat;
17            font-weight: bold;
18        }
19    }
20
21    fieldset.closed {
22        padding: 0;
23
24        div.field {
25            display: none;
26        }
27
28        legend {
29            display: block;
30            background: transparent url(../../images/closed.png) 5px center no-repeat;
31        }
32    }
33
34    div.field {
35        display: flex;
36        padding: 0.5em;
37
38        &:hover {
39            background-color: @ini_background_alt;
40        }
41
42        > label {
43            text-align: left;
44            font-weight: normal;
45            width: 12em;
46
47            span.label {
48                padding-right: 16px;
49                display: block;
50
51                // fixes for bootstrap3 template
52                color: @ini_text;
53                font-size: 100%;
54                text-align: left;
55
56
57                &.hashint {
58                    background: url(../../images/info.png) no-repeat right 5px top;
59                }
60            }
61        }
62
63        > span.input {
64            text-align: left;
65            flex-grow: 1;
66
67            // general input fields
68            input:not([type='checkbox']):not([type='color']),
69            textarea,
70            select {
71                width: 100%;
72
73                // smaller input types
74                &.struct_media,
75                &.struct_date {
76                    width: 30%;
77                }
78            }
79
80            // checkboxes
81            label {
82                margin-right: 1em;
83                white-space: nowrap;
84            }
85
86            // wrap multi-value fields
87            .multiwrap, .newtemplate {
88                display: inline;
89                width: fit-content;
90            }
91
92            // space multi-value fields
93            .multiwrap {
94                margin: 0 0.25em 0.25em 0;
95            }
96
97            // overlay media button on top of input field
98            button.struct_media {
99                width: 2.5em;
100                margin-left: -2.5em;
101            }
102
103            // input hints
104            small {
105                display: block;
106                color: @ini_text_alt;
107            }
108        }
109    }
110}
111
112/**
113 * Bureaucracy form adjustments
114 */
115
116.dokuwiki form.bureaucracy__plugin div.field {
117    display: flex;
118    justify-content: flex-end;
119
120    label {
121        clear: both; // this is somehow missing in the bootstrap template
122        flex-grow: 1;
123    }
124
125    span {
126        line-height: 2em;
127        float: left;
128        text-align: right;
129    }
130
131    span.label {
132        vertical-align: top;
133        width: 100%;
134
135        // fixes for bootstrap3 template
136        color: @ini_text;
137        font-size: 100%;
138    }
139
140    span.input {
141        width: 50%;
142        display: inline-block;
143        text-align: left;
144        padding-left: 0.25em;
145        color: @ini_text;
146
147        input, select, textarea {
148            width: 100%;
149        }
150
151        input[type='checkbox'] {
152            width: auto;
153            margin-right: 0;
154        }
155
156        label {
157            text-align: left;
158            line-height: 1.5em;
159        }
160    }
161}
162
163/*responsive - small screen*/
164@media (max-width: 480px) {
165    .dokuwiki form.bureaucracy__plugin div.field {
166        flex-wrap: wrap;
167
168        label {
169            > span {
170                text-align: left;
171                width: 100%;
172            }
173        }
174
175        span.input {
176            width: 100%;
177        }
178    }
179}
180
181/**
182 * Tabs in the Schema Editor
183 */
184
185#plugin__struct_delete,
186#plugin__struct_json {
187    border: 1px solid @ini_border;
188    border-top: none;
189    display: block;
190    padding: 2em;
191
192    fieldset {
193        margin-bottom: 1em;
194        width: 500px;
195
196        label.block {
197            font-weight: normal;
198        }
199    }
200}
201
202form.struct_newschema {
203    label {
204        display: block;
205        text-align: left;
206
207        span {
208            display: inline-block;
209            width: 45%;
210            text-align: right;
211            padding-right: 1em;
212        }
213    }
214}
215
216/**
217 * The Schema Editor
218 */
219
220#plugin__struct_editor {
221    table.inline {
222        width: 100%;
223        border-top: none;
224
225        tr:first-child {
226            border-top: none;
227
228            th {
229                border-top: none;
230            }
231        }
232    }
233
234    tr.disabled {
235        td {
236            opacity: 0.5;
237        }
238
239        // collapse config block
240        td.config > div {
241            overflow: auto;
242            height: 2em;
243
244            div.jsoneditor-outer {
245                margin: 0;
246                padding: 0;
247            }
248        }
249
250        td.isenabled {
251            opacity: 1;
252        }
253    }
254
255    fieldset {
256        width: 100%;
257        padding-left: 0;
258        padding-right: 0;
259        margin-bottom: 1em;
260
261        div.jsoneditor {
262            margin: auto;
263        }
264    }
265}
266
267/**
268 * In page output
269 */
270
271#plugin__struct_output {
272    margin-right: 16em; // space for the TOC
273    border: 1px solid @ini_border;
274    margin-bottom: 1.2em;
275
276    div.table {
277        margin: 0;
278
279        table {
280            font-size: 90%;
281            width: 100%;
282            border: none;
283            margin: 0;
284
285            td, th {
286                background-color: transparent;
287                vertical-align: top;
288                border: none;
289            }
290
291            tbody th {
292                width: 20%;
293                text-align: right;
294
295                &::after {
296                    content: ':';
297                }
298            }
299
300            thead th {
301                background-color: @ini_background_alt;
302                text-align: center;
303                font-size: 110%;
304                font-weight: normal;
305            }
306        }
307    }
308}
309
310/**
311 * Aggregation
312 */
313
314.dokuwiki .structaggregation {
315
316    &.listaggregation > ul li div {
317        display: inline;
318
319        p {
320            display: inline;
321            margin: 0;
322        }
323    }
324
325    table th {
326        a {
327            color: @ini_link;
328            font-weight: bold;
329
330            &.sort-up::before {
331                content: '↑';
332            }
333
334            &.sort-down::before {
335                content: '↓';
336            }
337
338            &.next {
339                float: right;
340            }
341        }
342
343        input {
344            width: 20px;
345            background-image: url(../../tpl/dokuwiki/images/search.png);
346            background-repeat: no-repeat;
347            background-position: 2px center;
348            padding-left: 20px;
349        }
350
351        input:not([value]) {
352            opacity: 0.5;
353        }
354
355        input:focus {
356            width: auto;
357            opacity: 1;
358        }
359    }
360
361    img.media {
362        box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.5);
363    }
364
365    div.table {
366        margin-bottom: 2.4em;
367    }
368
369    a.export {
370        float: left;
371        margin-top: -2.4em;
372        margin-left: 1em;
373        border: 1px solid @ini_border;
374        border-top: none;
375        border-bottom-right-radius: 4px;
376        border-bottom-left-radius: 4px;
377        padding: 2px 5px 2px 22px;
378        background-position-x: 2px;
379    }
380}
381
382.dokuwiki .structcloud {
383    ul {
384        text-align: center;
385
386        li {
387            list-style: none;
388            margin: 0 1em 0 0;
389            padding: 0;
390            display: inline-block;
391
392            .struct_color, .struct_media {
393                a {
394                    display: block;
395                    height: 100%;
396                }
397            }
398
399            .struct_media a {
400                background-size: cover;
401                background-position: center;
402                box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.5)
403            }
404        }
405    }
406}
407
408/**
409 * Lookup Aggregation Editor
410 */
411
412.dokuwiki .structaggregationeditor {
413    table.inline {
414        min-width: 100%;
415
416        th.action {
417            width: 30px; //16px icon + margins
418        }
419    }
420}
421
422/**
423 * General Output styles
424 */
425
426.dokuwiki div.struct_color {
427    width: 1.2em;
428    height: 1.2em;
429    display: inline-block;
430    margin-right: 0.5em;
431}
432
433/**
434 * Inline Editor Overlay
435 */
436
437.dokuwiki .struct_inlineditor {
438    position: absolute;
439    top: 0;
440    left: 0;
441    width: 300px;
442
443    background-color: @ini_background;
444    color: @ini_text;
445    border: 1px solid @ini_border;
446    padding: 5px;
447
448    box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.5);
449
450    .ctl {
451        margin-top: 5px;
452    }
453
454}
455
456/**
457 * Errors on AJAX
458 */
459
460.dokuwiki .structaggregationeditor form,
461.dokuwiki .struct_inlineditor {
462    .err {
463        font-size: 90%;
464        margin-top: 5px;
465        padding: 5px;
466        background-color: @ini_highlight;
467        color: @ini_text;
468        text-align: left;
469    }
470}
471