PluginProbe
Authorizer / 3.6.3
Authorizer v3.6.3
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 3.6.3, at css/authorizer.scss

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