Popular sites on the NTP: Allow blacklisting
[chromium-blink-merge.git] / ui / login / account_picker / user_pod_row.css
blob1cca244cd88f180b71cb1bcfdeda6f3bb2101f79
1 /* Copyright 2014 The Chromium Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file.
5 * This is the stylesheet used by user pods row of account picker UI.
6 */
8 podrow {
9 /* Temporarily disabled because animation interferes with updating screen's
10 size. */
11 height: 100%;
12 overflow: visible;
13 position: absolute;
14 width: 100%;
17 /* Hide the pod row while images are loading. */
18 podrow.images-loading {
19 visibility: hidden;
22 .pod {
23 -webkit-tap-highlight-color: transparent;
24 background-color: white;
25 border-radius: 2px;
26 box-shadow: 0 4px 23px 5px rgba(0, 0, 0, 0.2),
27 0 2px 6px rgba(0, 0, 0, 0.15),
28 0 3px 0 rgba(0, 0, 0, 0.08);
29 cursor: pointer;
30 height: 213px;
31 outline: none;
32 position: absolute;
33 transform: scale3d(0.9, 0.9, 0.9);
34 width: 180px;
35 z-index: 0;
38 .account-picker.flying-pods .pod {
39 transition: all 180ms;
42 .pod.faded {
43 opacity: .75;
46 podrow[ncolumns='6'] .pod {
47 transform: scale3d(0.8, 0.8, 0.8);
50 .pod.focused {
51 /* Focused pod has the same size no matter how many pods. */
52 cursor: default;
53 transform: scale3d(1, 1, 1) !important;
54 z-index: 1;
57 .pod.focused[auth-type='userClick'] {
58 cursor: pointer;
61 .user-image-pane {
62 background-color: white;
63 height: 160px;
64 left: 10px;
65 position: absolute;
66 top: 10px;
67 width: 160px;
68 z-index: 3;
71 html[dir=rtl] .user-image-pane {
72 left: auto;
73 right: 10px;
76 .user-image-container {
77 align-items: center;
78 display: flex;
79 height: 100%;
80 justify-content: center;
81 width: 100%;
84 .pod .user-image {
85 flex: none;
88 /* TODO(noms): Refactor this out into a CrOS-specific file and simplify the
89 style rule once it is included on CrOS only. crbug.com/397638 */
90 html:not([screen=login-add-user]) .pod .user-image {
91 max-height: 160px;
92 max-width: 160px;
93 opacity: 0.7;
96 html:not([screen=login-add-user]) .pod.focused .user-image {
97 opacity: 1;
100 .pod.multiprofiles-policy-applied .user-image {
101 -webkit-filter: grayscale(100%);
104 .signed-in-indicator {
105 display: none;
108 .pod.signed-in .signed-in-indicator {
109 background-color: rgba(0, 0, 0, 0.5);
110 color: white;
111 display: block;
112 font-size: small;
113 padding: 3px 0;
114 position: absolute;
115 text-align: center;
116 top: 0;
117 width: 100%;
120 .main-pane {
121 left: 10px;
122 position: absolute;
123 top: 10px;
124 z-index: 2;
127 html[dir=rtl] .main-pane {
128 left: auto;
129 right: 10px;
132 .name-container,
133 .pod.focused:not(.multiprofiles-policy-applied) .auth-container {
134 background-color: white;
135 display: flex;
136 position: absolute;
137 top: 160px;
138 width: 160px;
141 .name-container {
142 transition: transform 180ms;
145 .pod.focused .name-container {
146 display: none;
149 .pod.focused.multiprofiles-policy-applied .name-container {
150 display: flex;
153 .name {
154 color: #565656;
155 /* This should be 15.6px - the equivalent of 14px at 90% scale. */
156 flex: auto;
157 font-size: 16px;
158 margin-top: 12px;
159 outline: none;
160 overflow: hidden;
161 padding: 0 6px;
162 text-align: center;
163 text-overflow: ellipsis;
164 white-space: nowrap;
167 .learn-more-container,
168 .auth-container,
169 .password-entry-container,
170 .reauth-hint-container {
171 display: none;
174 .pod[auth-type='offlinePassword'].focused .password-entry-container,
175 .pod[auth-type='forceOfflinePassword'].focused .password-entry-container {
176 display: flex;
177 flex: auto;
180 .password-container {
181 flex: auto;
184 .pod input[type='password'] {
185 background-color: white;
186 border: none;
187 padding: 4px 6px;
188 position: relative;
189 top: 6px;
190 width: 100%;
193 .capslock-hint-container {
194 display: none;
197 .capslock-on .capslock-hint-container {
198 display: block;
199 flex: none;
202 .capslock-hint {
203 -webkit-margin-end: 6px;
204 -webkit-margin-start: -2px;
205 position: relative;
206 top: 11px;
209 .password-label,
210 .signin-transition-container {
211 display: none;
214 .pod[auth-type='userClick']:not(.signing-in) .password-label,
215 .pod[auth-type='userClick'].signing-in .signin-transition-container {
216 color: grey;
217 display: block;
218 flex: auto;
219 margin-top: 11px;
220 outline: 0;
221 overflow: hidden;
222 text-overflow: ellipsis;
223 white-space: nowrap;
226 .custom-icon {
227 -webkit-margin-end: 0;
228 -webkit-margin-start: auto;
229 background-position: center;
230 background-repeat: no-repeat;
231 flex: none;
232 height: 27px;
233 width: 27px;
236 .custom-icon.faded {
237 -webkit-transition: opacity 200ms ease-in-out,
238 visibility 200ms ease-in-out;
241 .custom-icon-hardlocked {
242 background-image: url(chrome://theme/IDR_EASY_UNLOCK_HARDLOCKED);
245 .custom-icon-hardlocked.icon-with-tooltip:hover {
246 background-image: url(chrome://theme/IDR_EASY_UNLOCK_HARDLOCKED_HOVER);
249 .custom-icon-hardlocked.interactive-custom-icon:active {
250 background-image: url(chrome://theme/IDR_EASY_UNLOCK_HARDLOCKED_PRESSED);
253 .custom-icon-locked {
254 background-image: url(chrome://theme/IDR_EASY_UNLOCK_LOCKED);
257 .custom-icon-locked.icon-with-tooltip:hover {
258 background-image: url(chrome://theme/IDR_EASY_UNLOCK_LOCKED_HOVER);
261 .custom-icon-locked.interactive-custom-icon:active {
262 background-image: url(chrome://theme/IDR_EASY_UNLOCK_LOCKED_PRESSED);
265 .custom-icon-locked-to-be-activated {
266 background-image:
267 url(chrome://theme/IDR_EASY_UNLOCK_LOCKED_TO_BE_ACTIVATED);
270 .custom-icon-locked-to-be-activated.icon-with-tooltip:hover {
271 background-image:
272 url(chrome://theme/IDR_EASY_UNLOCK_LOCKED_TO_BE_ACTIVATED_HOVER);
275 .custom-icon-locked-to-be-activated.interactive-custom-icon:active {
276 background-image:
277 url(chrome://theme/IDR_EASY_UNLOCK_LOCKED_TO_BE_ACTIVATED_PRESSED);
280 .custom-icon-locked-with-proximity-hint {
281 background-image:
282 url(chrome://theme/IDR_EASY_UNLOCK_LOCKED_WITH_PROXIMITY_HINT);
285 .custom-icon-locked-with-proximity-hint.icon-with-tooltip:hover {
286 background-image:
287 url(chrome://theme/IDR_EASY_UNLOCK_LOCKED_WITH_PROXIMITY_HINT_HOVER);
290 .custom-icon-locked-with-proximity-hint.interactive-custom-icon:active {
291 background-image:
292 url(chrome://theme/IDR_EASY_UNLOCK_LOCKED_WITH_PROXIMITY_HINT_PRESSED);
295 .custom-icon-unlocked {
296 background-image: url(chrome://theme/IDR_EASY_UNLOCK_UNLOCKED);
299 .custom-icon-unlocked.icon-with-tooltip:hover {
300 background-image: url(chrome://theme/IDR_EASY_UNLOCK_UNLOCKED_HOVER);
303 .custom-icon-unlocked.interactive-custom-icon:active {
304 background-image: url(chrome://theme/IDR_EASY_UNLOCK_UNLOCKED_PRESSED);
308 * Preloads resources for custom icon. Without this, the resources will be
309 * loaded when CSS properties using them are first applied, which has visible
310 * delay and may cause a short white flash when the icon background changes.
312 .custom-icon::after {
313 content:
314 url(chrome://theme/IDR_EASY_UNLOCK_HARDLOCKED)
315 url(chrome://theme/IDR_EASY_UNLOCK_HARDLOCKED_HOVER)
316 url(chrome://theme/IDR_EASY_UNLOCK_HARDLOCKED_PRESSED)
317 url(chrome://theme/IDR_EASY_UNLOCK_LOCKED)
318 url(chrome://theme/IDR_EASY_UNLOCK_LOCKED_HOVER)
319 url(chrome://theme/IDR_EASY_UNLOCK_LOCKED_PRESSED)
320 url(chrome://theme/IDR_EASY_UNLOCK_LOCKED_TO_BE_ACTIVATED)
321 url(chrome://theme/IDR_EASY_UNLOCK_LOCKED_TO_BE_ACTIVATED_HOVER)
322 url(chrome://theme/IDR_EASY_UNLOCK_LOCKED_TO_BE_ACTIVATED_PRESSED)
323 url(chrome://theme/IDR_EASY_UNLOCK_LOCKED_WITH_PROXIMITY_HINT)
324 url(chrome://theme/IDR_EASY_UNLOCK_LOCKED_WITH_PROXIMITY_HINT_HOVER)
325 url(chrome://theme/IDR_EASY_UNLOCK_LOCKED_WITH_PROXIMITY_HINT_PRESSED)
326 url(chrome://theme/IDR_EASY_UNLOCK_UNLOCKED)
327 url(chrome://theme/IDR_EASY_UNLOCK_UNLOCKED_HOVER)
328 url(chrome://theme/IDR_EASY_UNLOCK_UNLOCKED_PRESSED);
329 display: none;
332 .custom-icon-spinner {
333 -webkit-animation: easy-unlock-spinner-animation 2s steps(45) infinite;
334 background-image: url(chrome://theme/IDR_EASY_UNLOCK_SPINNER);
337 @-webkit-keyframes easy-unlock-spinner-animation {
338 from { background-position: 0 }
339 to { background-position: -1215px }
342 .interactive-custom-icon {
343 cursor: pointer;
346 .custom-icon-container {
347 display: flex;
348 flex: none;
349 flex-direction: column;
350 height: 40px;
351 justify-content: center;
352 width: 40px;
355 .launch-app-button-container {
356 display: block;
357 flex: auto;
358 text-align: center;
361 .launch-app-button {
362 display: inline;
363 margin-top: 6px !important;
364 max-width: 100%;
365 overflow: hidden;
366 text-overflow: ellipsis;
369 .pod[auth-type='onlineSignIn'] .reauth-hint-container {
370 display: flex;
371 margin-top: 8px;
372 width: 100%;
373 justify-content: center;
376 .reauth-hint-container .reauth-warning {
377 color: #f4b400;
378 display: inline-flex;
381 .reauth-hint-container .reauth-name-hint {
382 align-self: center;
383 color: #565656;
384 font-size: 16px;
385 outline: none;
386 overflow: hidden;
387 padding: 0 6px;
388 text-align: center;
389 text-overflow: ellipsis;
390 white-space: nowrap;
393 .action-box-area,
394 .user-type-icon-area {
395 background-color: white;
396 border-radius: 2px;
397 position: absolute;
398 top: 0;
401 .action-box-area {
402 opacity: 0;
403 outline: none;
404 right: 0;
405 transition: opacity 100ms;
406 z-index: 4;
409 html[dir=rtl] .action-box-area {
410 left: 0;
411 right: auto;
414 .action-box-area:focus,
415 .action-box-area.hovered,
416 .action-box-area.active,
417 .action-box-area.forced {
418 opacity: 1;
421 .action-box-button {
422 background-image: url(chrome://theme/IDR_OOBE_ACTION_BOX_BUTTON_NORMAL);
423 height: 13px;
424 margin: 5px;
425 width: 13px;
428 .action-box-button:hover {
429 background-image: url(chrome://theme/IDR_OOBE_ACTION_BOX_BUTTON_HOVER);
432 .action-box-area.active .action-box-button {
433 background-image: url(chrome://theme/IDR_OOBE_ACTION_BOX_BUTTON_PRESSED);
436 .user-type-icon-area {
437 left: 0;
438 z-index: 5;
441 html[dir=rtl] .user-type-icon-area {
442 left: auto;
443 right: 0;
446 .user-type-icon-image {
447 height: 16px;
448 margin: 5px;
449 width: 16px;
452 .user-type-icon-area.legacySupervised .user-type-icon-image {
453 background-image: url(chrome://theme/IDR_LEGACY_SUPERVISED_USER_ICON);
456 .user-type-icon-area.child .user-type-icon-image {
457 background-image: url(chrome://theme/IDR_CHILD_USER_ICON);
460 .user-type-icon-area.policy .user-type-icon-image {
461 background-image: url(chrome://theme/IDR_CONTROLLED_SETTING_MANDATORY);
464 .user-type-icon-area.app .user-type-icon-image {
465 background-image: url(chrome://theme/IDR_KIOSK_APP_USER_POD_ICON);
468 .action-box-menu {
469 display: none;
470 z-index: 6;
473 .action-box-area.active ~ .action-box-menu {
474 background-color: white;
475 border: 1px solid lightgray;
476 border-radius: 2px;
477 display: flex;
478 flex-direction: column;
479 font-size: 13px;
480 position: absolute;
481 right: 5px;
482 width: 220px;
485 .action-box-area.active ~ .action-box-menu.left-edge-offset {
486 left: 0 !important;
489 .action-box-area.active ~ .action-box-menu.right-edge-offset {
490 right: 0 !important;
493 .action-box-area.active ~ .action-box-menu:not(.menu-moved-up) {
494 top: 18px;
497 .action-box-area.active ~ .action-box-menu.menu-moved-up {
498 bottom: 210px;
501 .action-box-area.menu-moved-up {
502 -webkit-transform: rotate(180deg);
505 html[dir=rtl] .action-box-area.active ~ .action-box-menu {
506 left: 5px;
507 right: auto;
510 .action-box-menu-title {
511 color: #757575;
512 display: flex;
513 flex-direction: column;
514 padding: 7px 20px;
517 .action-box-menu-title-name,
518 .action-box-menu-title-email {
519 flex: none;
520 height: 23px;
521 line-height: 19px;
522 overflow: hidden;
523 text-overflow: ellipsis;
524 white-space: nowrap;
527 .action-box-menu-remove {
528 border-top: 1px solid lightgray;
529 line-height: 19px;
530 min-height: 24px;
531 outline: none;
532 padding: 12px 20px 7px;
535 .action-box-menu-remove:hover,
536 .action-box-menu-remove:focus {
537 background-color: #f3f3f3;
540 .action-box-remove-user-warning {
541 border-top: 1px solid lightgray;
542 font-size: 12px;
543 line-height: 18px;
544 padding: 20px;
547 .action-box-remove-user-warning-text,
548 .action-box-remove-legacy-supervised-user-warning-text {
549 padding-bottom: 20px;
552 .action-box-remove-user-warning .remove-warning-button {
553 width: 100%;
556 .user-type-bubble {
557 background-color: white;
558 border: 1px solid lightgray;
559 border-radius: 2px;
560 left: 5px;
561 opacity: 0;
562 padding: 17px;
563 position: absolute;
564 top: 20px;
565 transition: all 100ms;
566 visibility: hidden;
567 width: 200px;
568 z-index: 7;
571 html[dir=rtl] .user-type-bubble {
572 left: auto;
573 right: 5px;
576 .bubble-shown,
577 .user-type-icon-area.policy:hover ~ .user-type-bubble {
578 opacity: 1;
579 visibility: visible;
582 .user-type-bubble-header {
583 font-weight: bold;
584 margin-bottom: 14px;
587 /**** Public account user pod rules *******************************************/
589 .pod.public-account.expanded {
590 width: 500px;
593 .pod.public-account.expanded.advanced {
594 width: 610px;
597 .pod.public-account.focused .name-container {
598 display: flex;
601 .pod.public-account.expanded .name-container {
602 transform: translateY(-34px);
605 .pod.public-account .learn-more-container {
606 display: block;
607 flex: none;
610 .pod.public-account .learn-more {
611 background-image: url(chrome://theme/IDR_CONTROLLED_SETTING_MANDATORY);
612 height: 16px;
613 position: relative;
614 top: 16px;
615 width: 16px;
618 .expanded-pane {
619 display: none;
622 .pod.public-account.animating .expanded-pane,
623 .pod.public-account.expanded .expanded-pane {
624 display: block;
625 font-size: 12px;
626 margin: 10px;
627 overflow: hidden;
628 z-index: 1;
631 .expanded-pane-contents {
632 display: flex;
633 flex-direction: column;
634 float: right;
635 height: 193px;
636 width: 490px;
639 .pod.public-account.transitioning-to-advanced .expanded-pane-contents {
640 transition: width 180ms;
643 .pod.public-account.expanded.advanced .expanded-pane-contents {
644 width: 600px;
647 html[dir=rtl] .expanded-pane-contents {
648 float: left;
651 .side-container {
652 -webkit-margin-start: 200px;
653 flex: auto;
656 .expanded-pane-name {
657 font-size: 19px;
658 margin-bottom: 11px;
659 margin-top: -2px;
660 overflow: hidden;
661 text-overflow: ellipsis;
662 white-space: nowrap;
665 .reminder {
666 font-weight: bold;
669 .language-and-input-section {
670 display: none;
673 .pod.public-account.transitioning-to-advanced .language-and-input-section {
674 display: block;
675 opacity: 0;
676 transition: opacity 180ms ease 180ms;
679 .pod.public-account.expanded.advanced .language-and-input-section {
680 display: block;
681 opacity: 1;
684 .select-with-label {
685 display: flex;
686 margin-top: 20px;
689 .language-select-label,
690 .keyboard-select-label {
691 flex: none;
692 margin-top: 3px;
693 overflow: hidden;
694 text-overflow: ellipsis;
695 white-space: nowrap;
696 width: 170px;
699 .select-container {
700 flex: auto;
703 .language-select,
704 .keyboard-select {
705 width: 100%;
708 .bottom-container {
709 -webkit-margin-start: 10px;
710 display: flex;
711 flex: none;
712 font-size: 13px;
715 .expanded-pane-learn-more-container,
716 .enter-button {
717 flex: none;
720 .expanded-pane-learn-more {
721 background-image: url(chrome://theme/IDR_CONTROLLED_SETTING_MANDATORY);
722 height: 16px;
723 position: relative;
724 top: 6px;
725 width: 16px;
728 .info {
729 flex: auto;
730 margin: 5px 10px;
731 overflow: hidden;
732 text-overflow: ellipsis;
733 white-space: nowrap;
736 .language-and-input-container {
737 -webkit-margin-end: 25px;
738 flex: none;
741 .language-and-input {
742 color: rgb(49, 106, 197);
743 position: relative;
744 text-decoration: none;
745 top: 4px;
748 .pod.public-account.expanded.advanced .language-and-input-container {
749 display: none;
752 .enter-button {
753 font-size: 14px;
756 /* Animations for the animated ellipsis: */
757 .animated-ellipsis-component0 {
758 -webkit-animation: ellipsis-component0 1.5s infinite;
761 @-webkit-keyframes ellipsis-component0 {
762 0% { opacity: 0; }
763 25% { opacity: 1; }
764 50% { opacity: 1; }
765 75% { opacity: 1; }
766 100% { opacity: 0; }
769 .animated-ellipsis-component1 {
770 -webkit-animation: ellipsis-component1 1.5s infinite;
773 @-webkit-keyframes ellipsis-component1 {
774 0% { opacity: 0; }
775 25% { opacity: 0; }
776 50% { opacity: 1; }
777 75% { opacity: 1; }
778 100% { opacity: 0; }
781 .animated-ellipsis-component2 {
782 -webkit-animation: ellipsis-component2 1.5s infinite;
785 @-webkit-keyframes ellipsis-component2 {
786 0% { opacity: 0; }
787 25% { opacity: 0; }
788 50% { opacity: 0; }
789 75% { opacity: 1; }
790 100% { opacity: 0; }