xref: /template/sprintdoc/css/area_nav-usertools.less (revision 8eaf45e447563d00389d2a36d9e18b8ee9335833)
1/**
2 * This file provides the design styles for the direct / menu jump links.
3 *
4 * @author Jana Deutschlaender <deutschlaender@cosmocode.de>
5 */
6
7
8#dokuwiki__usertools.nav-usertools {
9    @media @screen_min-md {
10        right: 1.25rem;
11    }
12
13    @media @screen_max-md {
14        position: absolute;
15        top: 0;
16        left: (@toggle-size + 1.25); // margin-left content
17        right: @headericons-margin-xxs;
18        margin-top: 0;
19        margin-right: 0;
20    }
21
22    &.has-bar {
23        @media @screen_min-md {
24            margin-top: @height-context-bar;
25            padding-top: .5em;
26        }
27    }
28
29
30/* + + + + +  icon list  + + + + + */
31    ul {
32        float: right;
33        padding: 0;
34        margin: (@very-small-spacing * 2) -.25rem 0 0;
35
36        @media @screen_max-md {
37            margin-right: .5rem;
38        }
39
40        @media @screen_max-xxs {
41            margin-right: -.3rem;
42        }
43
44        li {
45            .btn-usertools-wrapper(); // uniform li
46            .btn-usertools-num();
47
48            float: right;
49
50            @media @screen_max-xs {
51                display: block;
52                float: none;
53
54                margin-bottom: @headericons-margin-xxs;
55            }
56
57            @media @screen_max-xxs {
58                margin-bottom: (@headericons-margin-xxs - .2);
59                display: none;
60            }
61
62            > span,
63            > a {
64                display: block;
65                width: auto;
66                min-width: (@toggle-size + .25);
67                min-height: @toggle-size;
68                overflow: hidden;
69                border: 1px solid @wikiicons-border;
70                border-radius: @ini_default_border_radius; // @ini_default_border_radius vs. @fix_border-radius
71                text-align: center;
72                margin: 0;
73
74                @media @screen_md-xlg {
75                    padding-top: .14rem;
76                }
77            }
78
79/* !!! &.user-task FIND in plugins/do_tasks.less !!! */
80
81            &.user {
82                position: relative;
83                display: table-cell;
84                background-color: @ini_background_site;
85                border: solid 1px @wikiicons-border;
86                border-radius: @ini_default_border_radius; // @ini_default_border_radius vs. @fix_border-radius
87                color: @ini_text_webframe;
88                padding-right: .3rem;
89
90                @media @screen_min-md {
91                    padding-top: .35rem;
92                }
93
94                @media @screen_max-md {
95                    min-height: @toggle-size;
96                    padding-top: .3rem;
97                }
98
99                @media @screen_max-sm {
100                    padding-top: .35rem;
101                }
102
103                @media @screen_max-xs {
104                    position: absolute;
105                    top: @headericons-margin-xxs;
106                    right: (@toggle-size + @headericons-margin-xxs + 1); // 1.75rem + 1 + (button login/out margin-right)
107                    overflow: hidden;
108                    white-space: nowrap;
109                    margin: -1px 0 0;
110                    padding-top: .4rem;
111                }
112
113                @media @screen_max-xxs {
114                    left: -10px;
115                    right: 0;
116                    width: auto;
117                    padding-top: .35rem;
118                }
119
120                > a {
121                    .display-flex();
122                    .align-items();
123
124                    position: relative;
125                    height: 1rem; // for IE11
126                    overflow: visible;
127                    background: @ini_nav_menu_hover_bg; // for removing bg-image
128                    border: 0 none;
129                    color: @ini_nav_menu_hover_color;
130                    text-indent: 0;
131                    font-size: inherit;
132                    margin-right: -.3rem;
133                    padding: 0 .2em 0 0;
134
135                    @media @screen_min-xxlg {
136                        min-height: (@toggle-size - .1);
137                        margin-top: -.4rem;
138                    }
139
140                    @media @screen_max-xxlg {
141                        min-height: (@toggle-size - .15);
142                        margin-top: -.35rem;
143                    }
144
145                    @media @screen_max-md {
146                        min-height: (@toggle-size - .1);
147                        margin-top: -.35rem;
148                    }
149
150                    @media @screen_max-sm {
151                        margin-top: -.35rem;
152                    }
153
154                    @media @screen_max-xs {
155                        margin-top: -.4rem;
156                    }
157
158                    &::before {
159                        content: '';
160                        top: -1px;
161                        bottom: -1px;
162                        left: -1px;
163                        right: -1px;
164                        width: auto;
165                        opacity: 0;
166                        border: solid 1px @ini_nav_menu_hover_color;
167                        border-radius: @ini_default_border_radius; // @ini_default_border_radius vs. @fix_border-radius
168                        color: inherit;
169                        transform: none;
170                    }
171
172                    &:hover,
173                    &:focus,
174                    &:active {
175                        background-color: @ini_nav_menu_hover_color;
176                        color: @ini_nav_menu_hover_bg;
177
178                        &::before {
179                            opacity: 1;
180                            border-color: @ini_nav_menu_hover_color;
181                        }
182
183                        bdi,
184                        bdi:first-of-type {
185                            color: @ini_nav_menu_hover_bg;
186                        }
187                    }
188                }
189
190                bdi {
191                    display: inline-block;
192                    color: inherit;
193                }
194
195                bdi:first-of-type {
196                    .fontello();
197                    .icon-user-circle();
198
199                    position: relative;
200                    margin: 0 0 0 .25rem;
201                    padding: 0 .1rem 0 1.3rem;
202
203                    &::before {
204                        position: absolute;
205                        left: -2px;
206                        font-size: 1.4rem;
207                        margin: 0;
208
209                        @media @screen_min-xxlg {
210                            top: -.25rem;
211                        }
212
213                        @media @screen_max-xxlg {
214                            top: -.2rem;
215                        }
216
217                        @media @screen_max-xs {
218                            top: -.25rem;
219
220                        }
221                    }
222                }
223            } // user
224
225        } // li
226
227
228/* + + +  icons  + + + */
229        .menuitem, button {
230            padding: 2px 0 0 2px;
231            min-height: @toggle-size; // overrides button[type="submit"] styles
232            border: solid 1px @wikiicons-border; // overrides button[type="submit"] styles
233            .btn-hover();
234
235            &:hover svg, &:focus svg {
236                transition: @transition fill;
237                fill: @ini_nav_menu_hover_bg;
238            }
239
240            svg {
241                fill: @ini_nav_menu_hover_color;
242                height: @font-size-default + (@font-scale-factor * 4);
243            }
244
245            span {
246                display: none;
247            }
248
249        }
250
251
252        a { // Pre-Greebo backwards compatibility, remove after transitioning to Greebo
253            .fontello();
254            .hide-text-show-before();
255            .btn-hover();
256
257            cursor: pointer;
258            position: relative;
259            line-height: 1;
260            text-decoration: none;
261
262            &::before {
263                .center-middle();
264
265                content: "?";
266                cursor: pointer;
267                display: block;
268                width: 100%;
269                box-sizing: border-box;
270                font-size: @font-size-default + (@font-scale-factor * 4);
271                line-height: 1;
272            }
273
274            /* icon register new user */
275            &.register {
276                .icon-user();
277            }
278
279            /* icon log-out */
280            &.logout {
281                .icon-logout();
282            }
283
284            /* icon log-in */
285            &.login {
286                .icon-login();
287            }
288
289            /* icon admin */
290            &.admin {
291                .icon-cog();
292
293                &::before {
294                    vertical-align: top;
295                }
296            }
297        } // a
298    } // ul
299} // nav-usertools
300
301
302/* + + + + +  layout option compact  + + + + + */
303.header-compact {
304    #dokuwiki__usertools.nav-usertools {
305
306        // mobile
307        @media @screen_max-md {
308            left: 6rem;
309
310            ul {
311                overflow: hidden;
312
313                li.user {
314                    color: @ini_background_site;
315
316                    bdi {
317                        position: absolute;
318                        width: 0;
319                        padding: 0;
320                        text-indent: -10000px;
321
322                        &:before {
323                            transition: @transition background-color;
324                            background-color: @ini_background_site;
325                            color: @ini_nav_menu_color;
326                            text-indent: 0;
327                        }
328                    }
329
330                    > a {
331                        padding: 0 .2em;
332                        color: @ini_nav_menu_hover_bg;
333
334                        bdi {
335                            &:before {
336                                background-color: @ini_nav_menu_hover_bg;
337                                color: @ini_nav_menu_hover_color;
338                            }
339                        }
340
341                        &:hover {
342                            color: @ini_nav_menu_hover_color;
343
344                            bdi {
345                                &:before {
346                                    background-color: @ini_nav_menu_hover_color;
347                                    color: @ini_nav_menu_hover_bg;
348                                }
349                            }
350                        }
351                    }
352
353                    bdi + bdi {
354                        display: none;
355                    }
356                }
357            }
358        }
359
360        @media @screen_max-sm {
361            ul li {
362                position: static;
363                float: right;
364                top: 0; right: 0;
365            }
366        }
367    }
368}
369
370