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.
9 /* Temporarily disabled because animation interferes with updating screen's
17 /* Hide the pod row while images are loading. */
18 podrow.images-loading {
23 -webkit-tap-highlight-color: transparent;
24 background-color: white;
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);
33 transform: scale3d(0.9, 0.9, 0.9);
38 .account-picker.flying-pods .pod {
39 transition: all 180ms;
46 podrow[ncolumns='6'] .pod {
47 transform: scale3d(0.8, 0.8, 0.8);
51 /* Focused pod has the same size no matter how many pods. */
53 transform: scale3d(1, 1, 1) !important;
57 .pod.focused[auth-type='userClick'] {
62 background-color: white;
71 html[dir=rtl] .user-image-pane {
76 .user-image-container {
80 justify-content: center;
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 {
96 html:not([screen=login-add-user]) .pod.focused .user-image {
100 .pod.multiprofiles-policy-applied .user-image {
101 -webkit-filter: grayscale(100%);
104 .signed-in-indicator {
108 .pod.signed-in .signed-in-indicator {
109 background-color: rgba(0, 0, 0, 0.5);
127 html[dir=rtl] .main-pane {
133 .pod.focused:not(.multiprofiles-policy-applied) .auth-container {
134 background-color: white;
142 transition: transform 180ms;
145 .pod.focused .name-container {
149 .pod.focused.multiprofiles-policy-applied .name-container {
155 /* This should be 15.6px - the equivalent of 14px at 90% scale. */
163 text-overflow: ellipsis;
167 .learn-more-container,
169 .password-entry-container,
170 .signin-button-container {
174 .pod[auth-type='offlinePassword'].focused .password-entry-container,
175 .pod[auth-type='forceOfflinePassword'].focused .password-entry-container {
180 .password-container {
184 .pod input[type='password'] {
185 background-color: white;
193 .capslock-hint-container {
197 .capslock-on .capslock-hint-container {
203 -webkit-margin-end: 6px;
204 -webkit-margin-start: -2px;
213 .pod[auth-type='userClick'] .password-label {
219 text-overflow: ellipsis;
224 -webkit-margin-end: 0;
225 -webkit-margin-start: auto;
226 background-position: center;
227 background-repeat: no-repeat;
234 -webkit-transition: opacity 200ms ease-in-out,
235 visibility 200ms ease-in-out;
238 .custom-icon-hardlocked {
239 background-image: url('chrome://theme/IDR_EASY_UNLOCK_HARDLOCKED');
242 .custom-icon-hardlocked.icon-with-tooltip:hover {
243 background-image: url('chrome://theme/IDR_EASY_UNLOCK_HARDLOCKED_HOVER');
246 .custom-icon-hardlocked.interactive-custom-icon:active {
247 background-image: url('chrome://theme/IDR_EASY_UNLOCK_HARDLOCKED_PRESSED');
250 .custom-icon-locked {
251 background-image: url('chrome://theme/IDR_EASY_UNLOCK_LOCKED');
254 .custom-icon-locked.icon-with-tooltip:hover {
255 background-image: url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_HOVER');
258 .custom-icon-locked.interactive-custom-icon:active {
259 background-image: url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_PRESSED');
262 .custom-icon-locked-to-be-activated {
264 url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_TO_BE_ACTIVATED');
267 .custom-icon-locked-to-be-activated.icon-with-tooltip:hover {
269 url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_TO_BE_ACTIVATED_HOVER');
272 .custom-icon-locked-to-be-activated.interactive-custom-icon:active {
274 url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_TO_BE_ACTIVATED_PRESSED');
277 .custom-icon-locked-with-proximity-hint {
279 url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_WITH_PROXIMITY_HINT');
282 .custom-icon-locked-with-proximity-hint.icon-with-tooltip:hover {
284 url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_WITH_PROXIMITY_HINT_HOVER');
287 .custom-icon-locked-with-proximity-hint.interactive-custom-icon:active {
289 url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_WITH_PROXIMITY_HINT_PRESSED');
292 .custom-icon-unlocked {
293 background-image: url('chrome://theme/IDR_EASY_UNLOCK_UNLOCKED');
296 .custom-icon-unlocked.icon-with-tooltip:hover {
297 background-image: url('chrome://theme/IDR_EASY_UNLOCK_UNLOCKED_HOVER');
300 .custom-icon-unlocked.interactive-custom-icon:active {
301 background-image: url('chrome://theme/IDR_EASY_UNLOCK_UNLOCKED_PRESSED');
305 * Preloads resources for custom icon. Without this, the resources will be
306 * loaded when CSS properties using them are first applied, which has visible
307 * delay and may cause a short white flash when the icon background changes.
309 .custom-icon::after {
311 url('chrome://theme/IDR_EASY_UNLOCK_HARDLOCKED')
312 url('chrome://theme/IDR_EASY_UNLOCK_HARDLOCKED_HOVER')
313 url('chrome://theme/IDR_EASY_UNLOCK_HARDLOCKED_PRESSED')
314 url('chrome://theme/IDR_EASY_UNLOCK_LOCKED')
315 url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_HOVER')
316 url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_PRESSED')
317 url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_TO_BE_ACTIVATED')
318 url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_TO_BE_ACTIVATED_HOVER')
319 url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_TO_BE_ACTIVATED_PRESSED')
320 url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_WITH_PROXIMITY_HINT')
321 url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_WITH_PROXIMITY_HINT_HOVER')
322 url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_WITH_PROXIMITY_HINT_PRESSED')
323 url('chrome://theme/IDR_EASY_UNLOCK_UNLOCKED')
324 url('chrome://theme/IDR_EASY_UNLOCK_UNLOCKED_HOVER')
325 url('chrome://theme/IDR_EASY_UNLOCK_UNLOCKED_PRESSED');
329 .custom-icon-spinner {
330 -webkit-animation: easy-unlock-spinner-animation 2s steps(45) infinite;
331 background-image: url('chrome://theme/IDR_EASY_UNLOCK_SPINNER');
334 @-webkit-keyframes easy-unlock-spinner-animation {
335 from { background-position: 0 }
336 to { background-position: -1215px }
339 .interactive-custom-icon {
343 .custom-icon-container {
346 flex-direction: column;
348 justify-content: center;
352 .pod[auth-type='onlineSignIn'] .signin-button-container,
353 .launch-app-button-container {
362 margin-top: 6px !important;
365 text-overflow: ellipsis;
369 .user-type-icon-area {
370 background-color: white;
380 transition: opacity 100ms;
384 html[dir=rtl] .action-box-area {
389 .action-box-area:focus,
390 .action-box-area.hovered,
391 .action-box-area.active {
396 background-image: url('chrome://theme/IDR_OOBE_ACTION_BOX_BUTTON_NORMAL');
402 .action-box-button:hover {
403 background-image: url('chrome://theme/IDR_OOBE_ACTION_BOX_BUTTON_HOVER');
406 .action-box-area.active .action-box-button {
407 background-image: url('chrome://theme/IDR_OOBE_ACTION_BOX_BUTTON_PRESSED');
410 .user-type-icon-area {
415 html[dir=rtl] .user-type-icon-area {
420 .user-type-icon-image {
426 .user-type-icon-area.supervised .user-type-icon-image {
427 background-image: url('chrome://theme/IDR_SUPERVISED_USER_ICON');
430 .user-type-icon-area.policy .user-type-icon-image {
431 background-image: url('chrome://theme/IDR_CONTROLLED_SETTING_MANDATORY');
434 .user-type-icon-area.app .user-type-icon-image {
435 background-image: url('chrome://theme/IDR_KIOSK_APP_USER_POD_ICON');
443 .action-box-area.active ~ .action-box-menu {
444 background-color: white;
445 border: 1px solid lightgray;
448 flex-direction: column;
455 .action-box-area.active ~ .action-box-menu.left-edge-offset {
459 .action-box-area.active ~ .action-box-menu.right-edge-offset {
463 .action-box-area.active ~ .action-box-menu:not(.menu-moved-up) {
467 .action-box-area.active ~ .action-box-menu.menu-moved-up {
471 .action-box-area.menu-moved-up {
472 -webkit-transform: rotate(180deg);
475 html[dir=rtl] .action-box-area.active ~ .action-box-menu {
480 .action-box-menu-title {
483 flex-direction: column;
487 .action-box-menu-title-name,
488 .action-box-menu-title-email {
493 text-overflow: ellipsis;
497 .action-box-menu-remove {
498 border-top: 1px solid lightgray;
502 padding: 12px 20px 7px;
505 .action-box-menu-remove:hover,
506 .action-box-menu-remove:focus {
507 background-color: #f3f3f3;
510 .action-box-remove-user-warning {
511 border-top: 1px solid lightgray;
517 .action-box-remove-user-warning-text,
518 .action-box-remove-supervised-user-warning-text {
519 padding-bottom: 20px;
522 .action-box-remove-user-warning .remove-warning-button {
527 background-color: white;
528 border: 1px solid lightgray;
535 transition: all 100ms;
541 html[dir=rtl] .user-type-bubble {
547 .user-type-icon-area.policy:hover ~ .user-type-bubble {
552 .user-type-bubble-header {
557 /**** Public account user pod rules *******************************************/
559 .pod.public-account.expanded {
563 .pod.public-account.expanded.advanced {
567 .pod.public-account.focused .name-container {
571 .pod.public-account.expanded .name-container {
572 transform: translateY(-34px);
575 .pod.public-account .learn-more-container {
580 .pod.public-account .learn-more {
581 background-image: url('chrome://theme/IDR_CONTROLLED_SETTING_MANDATORY');
592 .pod.public-account.animating .expanded-pane,
593 .pod.public-account.expanded .expanded-pane {
601 .expanded-pane-contents {
603 flex-direction: column;
609 .pod.public-account.transitioning-to-advanced .expanded-pane-contents {
610 transition: width 180ms;
613 .pod.public-account.expanded.advanced .expanded-pane-contents {
617 html[dir=rtl] .expanded-pane-contents {
622 -webkit-margin-start: 200px;
626 .expanded-pane-name {
631 text-overflow: ellipsis;
639 .language-and-input-section {
643 .pod.public-account.transitioning-to-advanced .language-and-input-section {
646 transition: opacity 180ms ease 180ms;
649 .pod.public-account.expanded.advanced .language-and-input-section {
659 .language-select-label,
660 .keyboard-select-label {
664 text-overflow: ellipsis;
679 -webkit-margin-start: 10px;
685 .expanded-pane-learn-more-container,
690 .expanded-pane-learn-more {
691 background-image: url('chrome://theme/IDR_CONTROLLED_SETTING_MANDATORY');
702 text-overflow: ellipsis;
706 .language-and-input-container {
707 -webkit-margin-end: 25px;
711 .language-and-input {
712 color: rgb(49, 106, 197);
714 text-decoration: none;
718 .pod.public-account.expanded.advanced .language-and-input-container {