PluginProbe
Authorizer / 2.9.13
Authorizer v2.9.13
3.15.3 3.15.2 3.15.1 3.15.0 3.14.3 3.14.4 3.14.2 3.14.1 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.9.0 2.9.1 2.9.10 2.9.11 2.9.12 2.9.13 2.9.2 2.9.3 2.9.6 All 126 releases
authorizer / css / authorizer.scss

authorizer.scss in Authorizer 2.9.13, at css/authorizer.scss

586 lines 13.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 // Authorizer Settings (wp-admin) styles.
2 // Compiles to: authorizer.css via `lessc authorizer.scss authorizer.css`.
3
4
5 // Target just the Dashboard > Authorizer, and Network Dashboard > Authorizer.
6 .toplevel_page_authorizer,
7 .settings_page_authorizer {
8 // Banner image (bottom corner; fade if not scrolled to the bottom).
9 #wpwrap::before {
10 background: url('../images/authorizer-banner-400x300.png') no-repeat right bottom;
11 background-attachment: fixed;
12 content: "";
13 position: absolute;
14 top: 0;
15 left: 0;
16 width: 100%;
17 height: 100%;
18 opacity: 0.2;
19 z-index: -1;
20 transition: opacity 1s ease;
21 }
22 @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
23 #wpwrap::before {
24 background: url('../images/authorizer-banner-800x600.png') no-repeat right bottom;
25 background-size: 400px 300px;
26 }
27 }
28 #wpwrap.not-faded::before {
29 opacity: 1;
30 }
31
32 // No bottom margins on user lists.
33 #list_auth_settings_access_users_pending,
34 #list_auth_settings_access_users_approved,
35 #list_auth_settings_access_users_blocked {
36 margin-bottom: 0;
37 }
38
39 // Fade multisite users (not editable).
40 .auth-multisite-username,
41 .auth-multisite-email,
42 .auth-multisite-role,
43 .auth-multisite-usermeta,
44 .auth-multisite-date-added {
45 opacity: 0.5;
46 }
47
48 // Demo CAS login button sizing.
49 .button-external {
50 padding: 3px 16px;
51 height: 40px;
52 }
53 .button-external .dashicons {
54 margin: 4px 4px 0 0;
55 font-size: 24px;
56 }
57 .button-external input[type=text]=text] {
58 width: 100px;
59 }
60 @media screen and (max-width: 782px) {
61 .button-external {
62 width: 280px;
63 height: 50px;
64 font-size: 16px;
65 }
66 .button-external .dashicons {
67 margin: 4px 16px 0 0;
68 font-size: 30px;
69 }
70 .button-external input[type=text]=text] {
71 width: 120px;
72 display: inline;
73 }
74 }
75
76 // Mobile screen sizing.
77 @media screen and (max-width: 782px) {
78 .animated_wrapper {
79 width: 100% !important;
80 }
81 th {
82 padding: 8px 0 0;
83 }
84 td {
85 padding: 8px 0px;
86 }
87 #auth_settings_google_clientid {
88 width: 100%;
89 }
90
91 // Make pager fit on one line.
92 .tablenav {
93 .tablenav-pages {
94 text-align: left;
95 }
96
97 .current-page {
98 width: auto;
99 display: inline;
100 }
101 }
102
103 // Make "Limit invalid login attempts" inputs inline so they read like a
104 // sentence.
105 #auth_settings_advanced_lockouts_attempts_1,
106 #auth_settings_advanced_lockouts_duration_1,
107 #auth_settings_advanced_lockouts_attempts_2,
108 #auth_settings_advanced_lockouts_duration_2,
109 #auth_settings_advanced_lockouts_reset_duration {
110 display: inline;
111 }
112
113 // Textarea heights should match text/select heights on mobile.
114 textarea {
115 padding: 3px 10px;
116 line-height: 2;
117 min-height: 40px;
118 }
119
120 // Make Bootstrap button group label vertically centered.
121 @media screen and (max-width: 782px) {
122 .button-add-user {
123 line-height: 37px;
124 }
125 }
126 }
127
128 // Expand/collapse option sections.
129 .form-table {
130 th,
131 td {
132 &.hide-animate {
133 padding: 0;
134 transition: padding 0.25s ease;
135 }
136
137 &.hide-no-animate {
138 padding: 0;
139 }
140 }
141 }
142
143 // Remove 14px padding above pending user list (alignment with left label).
144 #list_auth_settings_access_users_pending {
145 margin: 6px 0;
146 }
147
148 // Remove 14px padding above blocked user list (alignment with left label).
149 #list_auth_settings_access_users_blocked {
150 margin: 0;
151 }
152
153 // Fix background and sizing of public pages (toggle lists).
154 .ms-container {
155 .ms-selectable,
156 .ms-selection {
157 background: none;
158 }
159 .ms-list {
160 background: white;
161
162 }
163 }
164
165
166 // Flex layout for user lists (pending, approved, blocked).
167 #list_auth_settings_access_users_pending li,
168 #new_auth_settings_access_users_pending,
169 #list_auth_settings_access_users_approved li,
170 #new_auth_settings_access_users_approved,
171 #list_auth_settings_access_users_blocked li,
172 #new_auth_settings_access_users_blocked {
173 // Spacing between elements.
174 & > :not(:last-child) { margin-right: 4px; }
175
176 // Let email and role grow the most.
177 & > :nth-child(1) { flex-grow: 4; }
178 & > :nth-child(2) { flex-grow: 2; }
179 }
180 }
181
182
183 // Target just the Dashboard widget.
184 #auth_dashboard_widget {
185 // Disable fixed height in table nav (widget usually too narrow so search
186 // wraps to second line).
187 .tablenav {
188 height: auto;
189
190 .tablenav-pages {
191 float: none;
192 }
193
194 #user-search-input {
195 max-width: 80px;
196 }
197 }
198
199 // Tighter flex layout for user lists (pending, approved, blocked).
200 #list_auth_settings_access_users_pending li,
201 #new_auth_settings_access_users_pending,
202 #list_auth_settings_access_users_approved li,
203 #new_auth_settings_access_users_approved,
204 #list_auth_settings_access_users_blocked li,
205 #new_auth_settings_access_users_blocked {
206 flex-wrap: wrap;
207 margin-bottom: 12px;
208
209 // Spacing between elements.
210 & > :not(:last-child) {
211 margin-right: 2px;
212 }
213
214 // Let email and role grow the most.
215 & > :nth-child(1) { flex-grow: 1; }
216
217 // Shrink role dropdown.
218 .auth-role { max-width: 80px; }
219
220 // Specifically shrink fields when near media breakpoints to prevent
221 // wrapping to a second line when it's "really close."
222 // Breakpoints:
223 // 1 column: < 800px
224 @media only screen and (max-width: 550px) and (min-width:0px) {
225 .auth-email { max-width: 140px; }
226 }
227 // 2 column: 800px - 1499px
228 @media only screen and (max-width: 900px) and (min-width:800px) {
229 .auth-email { max-width: 200px; }
230 .auth-role { max-width: 140px; }
231 }
232 // 3 column: 1500px - 1800px
233 @media only screen and (max-width: 1550px) and (min-width:1500px) {
234 .auth-email { max-width: 200px; }
235 .auth-role { max-width: 140px; }
236 }
237 // 4 column: > 1800px
238 @media only screen and (max-width: 1800px) and (min-width:1500px) {
239 }
240 }
241 }
242
243
244 // Target Dashboard > Authorizer, Network Dashboard > Authorizer, and Dashboard
245 // widget.
246 .toplevel_page_authorizer,
247 .settings_page_authorizer,
248 #auth_dashboard_widget {
249 // Room at the bottom for logo.
250 #wpbody-content {
251 padding-bottom: 240px;
252 }
253
254 // Flex layout for user lists (pending, approved, blocked).
255 #list_auth_settings_access_users_pending li,
256 #new_auth_settings_access_users_pending,
257 #list_auth_settings_access_users_approved li,
258 #new_auth_settings_access_users_approved,
259 #list_auth_settings_access_users_blocked li,
260 #new_auth_settings_access_users_blocked {
261 display: flex;
262 justify-content: flex-start;
263 }
264
265 // Hide Role dropdown on Blocked user list.
266 #list_auth_settings_access_users_blocked .auth-role,
267 #new_auth_settings_access_users_blocked .auth-role {
268 display: none;
269 }
270
271 // Colors for user lists.
272 #list_auth_settings_access_users_pending {
273 .auth-email {
274 border-color: #ecf195;
275 background-color: #f5f8c4;
276 }
277 }
278 #list_auth_settings_access_users_approved {
279 .auth-email {
280 background-color: #dcf0be;
281 border-color: #8dc33c;
282 }
283 }
284 #list_auth_settings_access_users_blocked {
285 .auth-email {
286 background-color: #facbc5;
287 border-color: #ea7e70;
288 }
289 }
290
291 // Cap max size of date and meta (no need for them to grow large).
292 .auth-date-added,
293 .auth-usermeta {
294 max-width: 80px;
295 }
296
297 // Hidden element (maintains space).
298 .invisible {
299 visibility: hidden;
300 }
301
302 // Multisite overlays.
303 .auth_multisite_override_overlay {
304 .overlay-note {
305 background: white;
306 border: 1px solid #aaa;
307 cursor: default;
308 margin: 11px 15em;
309 opacity: 0;
310 padding: 8px;
311 position: absolute;
312 -webkit-transition: opacity 0.1s ease-in-out;
313 -moz-transition: opacity 0.1s ease-in-out;
314 transition: opacity 0.1s ease-in-out;
315
316 a {
317 cursor: pointer;
318 }
319 }
320 &:hover .overlay-note { opacity: 1; }
321 }
322
323 // Bootstrap customizations (typically because of conflicts with WordPress styles)
324 .dropdown-menu > li {
325 margin-bottom: 0 !important;
326 }
327 .dropdown-menu > li > a {
328 text-decoration: none !important;
329 white-space: normal !important; // Allow text to wrap to multiple lines.
330 }
331 .dropdown-toggle {
332 border-bottom: 0;
333 }
334 .dropdown-toggle-split {
335 padding-right: .5625rem;
336 padding-left: .5625rem;
337
338 &::after {
339 margin-left: 0;
340 }
341 }
342
343 // Portions below from Bootstrap.
344 // http://getbootstrap.com/getting-started/#download
345 .sr-only {
346 border: 0;
347 clip: rect(0, 0, 0, 0);
348 height: 1px;
349 margin: -1px;
350 overflow: hidden;
351 padding: 0;
352 position: absolute;
353 width: 1px;
354 }
355
356 .caret {
357 border-left: 4px solid transparent;
358 border-right: 4px solid transparent;
359 border-top: 4px solid;
360 display: inline-block;
361 height: 0;
362 margin-left: 2px;
363 vertical-align: middle;
364 width: 0;
365 }
366 .dropdown {
367 position: relative;
368 }
369 .dropdown-toggle:focus {
370 outline: 0;
371 }
372 .dropdown-menu {
373 background-clip: padding-box;
374 background-color: #fff;
375 border: 1px solid #ccc;
376 border: 1px solid rgba(0, 0, 0, .15);
377 border-radius: 4px;
378 -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
379 box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
380 display: none;
381 float: left;
382 font-size: 14px;
383 right: 0;
384 list-style: none;
385 margin: 2px 0 0;
386 min-width: 160px;
387 padding: 5px 0;
388 position: absolute;
389 top: 100%;
390 z-index: 1000;
391 }
392 .dropdown-menu.pull-right {
393 left: auto;
394 right: 0;
395 }
396 .dropdown-menu .divider {
397 background-color: #e5e5e5;
398 height: 1px;
399 margin: 9px 0;
400 overflow: hidden;
401 }
402 .dropdown-menu > li > a {
403 clear: both;
404 color: #333;
405 display: block;
406 font-weight: normal;
407 line-height: 1.42857143;
408 padding: 3px 20px;
409 white-space: nowrap;
410 }
411 .dropdown-menu > li > a:hover,
412 .dropdown-menu > li > a:focus {
413 background-color: #f5f5f5;
414 color: #262626;
415 text-decoration: none;
416 }
417 .dropdown-menu > .active > a,
418 .dropdown-menu > .active > a:hover,
419 .dropdown-menu > .active > a:focus {
420 background-color: #428bca;
421 color: #fff;
422 outline: 0;
423 text-decoration: none;
424 }
425 .dropdown-menu > .disabled > a,
426 .dropdown-menu > .disabled > a:hover,
427 .dropdown-menu > .disabled > a:focus {
428 color: #999;
429 }
430 .dropdown-menu > .disabled > a:hover,
431 .dropdown-menu > .disabled > a:focus {
432 background-color: transparent;
433 background-image: none;
434 cursor: not-allowed;
435 filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
436 text-decoration: none;
437 }
438 .open > .dropdown-menu {
439 display: block;
440 }
441 .open > a {
442 outline: 0;
443 }
444
445 .btn-group,
446 .btn-group-vertical {
447 display: inline-flex;
448 position: relative;
449 vertical-align: middle;
450 }
451 .btn-group > .btn,
452 .btn-group-vertical > .btn {
453 flex: 0 1 auto;
454 position: relative;
455 }
456 .btn-group > .btn:hover,
457 .btn-group-vertical > .btn:hover,
458 .btn-group > .btn:focus,
459 .btn-group-vertical > .btn:focus,
460 .btn-group > .btn:active,
461 .btn-group-vertical > .btn:active,
462 .btn-group > .btn.active,
463 .btn-group-vertical > .btn.active {
464 z-index: 2;
465 }
466 .btn-group > .btn:focus,
467 .btn-group-vertical > .btn:focus {
468 outline: none;
469 }
470 .btn-group .btn + .btn,
471 .btn-group .btn + .btn-group,
472 .btn-group .btn-group + .btn,
473 .btn-group .btn-group + .btn-group {
474 margin-left: -1px;
475 }
476 .btn-toolbar {
477 margin-left: -5px;
478 }
479 .btn-toolbar .btn-group,
480 .btn-toolbar .input-group {
481 float: left;
482 }
483 .btn-toolbar > .btn,
484 .btn-toolbar > .btn-group,
485 .btn-toolbar > .input-group {
486 margin-left: 5px;
487 }
488 .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
489 border-radius: 0;
490 }
491 .btn-group > .btn:first-child {
492 margin-left: 0;
493 }
494 .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
495 border-bottom-right-radius: 0;
496 border-top-right-radius: 0;
497 }
498 .btn-group > .btn:last-child:not(:first-child),
499 .btn-group > .dropdown-toggle:not(:first-child) {
500 border-bottom-left-radius: 0;
501 border-top-left-radius: 0;
502 }
503 .btn-group > .btn-group {
504 float: left;
505 }
506 .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
507 border-radius: 0;
508 }
509 .btn-group > .btn-group:first-child > .btn:last-child,
510 .btn-group > .btn-group:first-child > .dropdown-toggle {
511 border-bottom-right-radius: 0;
512 border-top-right-radius: 0;
513 }
514 .btn-group > .btn-group:last-child > .btn:first-child {
515 border-bottom-left-radius: 0;
516 border-top-left-radius: 0;
517 }
518 .btn-group .dropdown-toggle:active,
519 .btn-group.open .dropdown-toggle {
520 outline: 0;
521 }
522 .btn-group > .btn + .dropdown-toggle {
523 padding-left: 8px;
524 padding-right: 8px;
525 }
526 .btn-group > .btn-lg + .dropdown-toggle {
527 padding-left: 12px;
528 padding-right: 12px;
529 }
530 .btn-group.open .dropdown-toggle {
531 -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
532 box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
533 }
534 .btn-group.open .dropdown-toggle.btn-link {
535 -webkit-box-shadow: none;
536 box-shadow: none;
537 }
538 .btn .caret {
539 margin-left: 0;
540 }
541 }
542
543 // Bootstrap icons.
544 @font-face {
545 font-family: 'Glyphicons Halflings';
546 src: url('../vendor/bootstrap/fonts/glyphicons-halflings-regular.eot');
547 src: url('../vendor/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../vendor/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../vendor/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
548 }
549 .glyphicon {
550 display: inline-block;
551 font-family: 'Glyphicons Halflings';
552 -webkit-font-smoothing: antialiased;
553 font-style: normal;
554 font-weight: normal;
555 line-height: 2;
556 -moz-osx-font-smoothing: grayscale;
557 position: relative;
558 top: 2px;
559 }
560 .glyphicon-user:before {
561 content: "\e008";
562 }
563 .glyphicon-globe:before {
564 content: "\e135";
565 }
566 .glyphicon-ok:before {
567 content: "\e013";
568 }
569 .glyphicon-ban-circle:before {
570 content: "\e090";
571 }
572 .glyphicon-remove-circle:before {
573 content: "\e088";
574 }
575 .glyphicon-remove:before {
576 content: "\e014";
577 }
578 .glyphicon-floppy-saved:before {
579 content: "\e173";
580 }
581
582 // Busy cursor for ajax calls.
583 html.busy, html.busy * {
584 cursor: wait !important;
585 }
586