• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 *
5 * This is the stylesheet used by user pods row of account picker UI.
6 */
7
8podrow {
9  /* Temporarily disabled because animation interferes with updating screen's
10   size. */
11  height: 100%;
12  overflow: visible;
13  position: absolute;
14  width: 100%;
15}
16
17/* Hide the pod row while images are loading. */
18podrow.images-loading {
19  visibility: hidden;
20}
21
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;
36}
37
38.account-picker.flying-pods .pod {
39  transition: all 180ms;
40}
41
42.pod.faded {
43  opacity: .75;
44}
45
46podrow[ncolumns='6'] .pod {
47  transform: scale3d(0.8, 0.8, 0.8);
48}
49
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;
55}
56
57.pod.focused[auth-type='userClick'] {
58  cursor: pointer;
59}
60
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;
69}
70
71html[dir=rtl] .user-image-pane {
72  left: auto;
73  right: 10px;
74}
75
76.user-image-container {
77  align-items: center;
78  display: flex;
79  height: 100%;
80  justify-content: center;
81  width: 100%;
82}
83
84.pod .user-image {
85  flex: none;
86}
87
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 */
90html:not([screen=login-add-user]) .pod .user-image {
91  max-height: 160px;
92  max-width: 160px;
93  opacity: 0.7;
94}
95
96html:not([screen=login-add-user]) .pod.focused .user-image {
97  opacity: 1;
98}
99
100.pod.multiprofiles-policy-applied .user-image {
101  -webkit-filter: grayscale(100%);
102}
103
104.signed-in-indicator {
105  display: none;
106}
107
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%;
118}
119
120.main-pane {
121  left: 10px;
122  position: absolute;
123  top: 10px;
124  z-index: 2;
125}
126
127html[dir=rtl] .main-pane {
128  left: auto;
129  right: 10px;
130}
131
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;
139}
140
141.name-container {
142  transition: transform 180ms;
143}
144
145.pod.focused .name-container {
146  display: none;
147}
148
149.pod.focused.multiprofiles-policy-applied .name-container {
150  display: flex;
151}
152
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;
165}
166
167.learn-more-container,
168.auth-container,
169.password-entry-container,
170.signin-button-container {
171  display: none;
172}
173
174.pod[auth-type='offlinePassword'].focused .password-entry-container,
175.pod[auth-type='forceOfflinePassword'].focused .password-entry-container {
176  display: flex;
177  flex: auto;
178}
179
180.password-container {
181  flex: auto;
182}
183
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%;
191}
192
193.capslock-hint-container {
194  display: none;
195}
196
197.capslock-on .capslock-hint-container {
198  display: block;
199  flex: none;
200}
201
202.capslock-hint {
203  -webkit-margin-end: 6px;
204  -webkit-margin-start: -2px;
205  position: relative;
206  top: 11px;
207}
208
209.password-label,
210.signin-transition-container {
211  display: none;
212}
213
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;
224}
225
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;
234}
235
236.custom-icon.faded {
237  -webkit-transition: opacity 200ms ease-in-out,
238                      visibility 200ms ease-in-out;
239}
240
241.custom-icon-hardlocked {
242  background-image: url('chrome://theme/IDR_EASY_UNLOCK_HARDLOCKED');
243}
244
245.custom-icon-hardlocked.icon-with-tooltip:hover {
246  background-image: url('chrome://theme/IDR_EASY_UNLOCK_HARDLOCKED_HOVER');
247}
248
249.custom-icon-hardlocked.interactive-custom-icon:active {
250  background-image: url('chrome://theme/IDR_EASY_UNLOCK_HARDLOCKED_PRESSED');
251}
252
253.custom-icon-locked {
254  background-image: url('chrome://theme/IDR_EASY_UNLOCK_LOCKED');
255}
256
257.custom-icon-locked.icon-with-tooltip:hover {
258  background-image: url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_HOVER');
259}
260
261.custom-icon-locked.interactive-custom-icon:active {
262  background-image: url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_PRESSED');
263}
264
265.custom-icon-unlocked {
266  background-image: url('chrome://theme/IDR_EASY_UNLOCK_UNLOCKED');
267}
268
269.custom-icon-unlocked.icon-with-tooltip:hover {
270  background-image: url('chrome://theme/IDR_EASY_UNLOCK_UNLOCKED_HOVER');
271}
272
273.custom-icon-unlocked.interactive-custom-icon:active {
274  background-image: url('chrome://theme/IDR_EASY_UNLOCK_UNLOCKED_PRESSED');
275}
276
277/**
278 * Preloads resources for custom icon. Without this, the resources will be
279 * loaded when CSS properties using them are first applied, which has visible
280 * delay and may cause a short white flash when the icon background changes.
281 */
282.custom-icon::after {
283  content:
284    url('chrome://theme/IDR_EASY_UNLOCK_HARDLOCKED')
285    url('chrome://theme/IDR_EASY_UNLOCK_HARDLOCKED_HOVER')
286    url('chrome://theme/IDR_EASY_UNLOCK_HARDLOCKED_PRESSED')
287    url('chrome://theme/IDR_EASY_UNLOCK_LOCKED')
288    url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_HOVER')
289    url('chrome://theme/IDR_EASY_UNLOCK_LOCKED_PRESSED')
290    url('chrome://theme/IDR_EASY_UNLOCK_UNLOCKED')
291    url('chrome://theme/IDR_EASY_UNLOCK_UNLOCKED_HOVER')
292    url('chrome://theme/IDR_EASY_UNLOCK_UNLOCKED_PRESSED');
293  display: none;
294}
295
296.custom-icon-spinner {
297  -webkit-animation: easy-unlock-spinner-animation 2s steps(45) infinite;
298  background-image: url('chrome://theme/IDR_EASY_UNLOCK_SPINNER');
299}
300
301@-webkit-keyframes easy-unlock-spinner-animation {
302  from { background-position: 0 }
303  to { background-position: -1215px }
304}
305
306.interactive-custom-icon {
307  cursor: pointer;
308}
309
310.custom-icon-container {
311  display: flex;
312  flex: none;
313  flex-direction: column;
314  height: 40px;
315  justify-content: center;
316  width: 40px;
317}
318
319.pod[auth-type='onlineSignIn'] .signin-button-container,
320.launch-app-button-container {
321  display: block;
322  flex: auto;
323  text-align: center;
324}
325
326.signin-button,
327.launch-app-button {
328  display: inline;
329  margin-top: 6px !important;
330  max-width: 100%;
331  overflow: hidden;
332  text-overflow: ellipsis;
333}
334
335.action-box-area,
336.user-type-icon-area {
337  background-color: white;
338  border-radius: 2px;
339  position: absolute;
340  top: 0;
341}
342
343.action-box-area {
344  opacity: 0;
345  outline: none;
346  right: 0;
347  transition: opacity 100ms;
348  z-index: 4;
349}
350
351html[dir=rtl] .action-box-area {
352  left: 0;
353  right: auto;
354}
355
356.action-box-area:focus,
357.action-box-area.hovered,
358.action-box-area.active {
359  opacity: 1;
360}
361
362.action-box-button {
363  background-image: url('chrome://theme/IDR_OOBE_ACTION_BOX_BUTTON_NORMAL');
364  height: 13px;
365  margin: 5px;
366  width: 13px;
367}
368
369.action-box-button:hover {
370  background-image: url('chrome://theme/IDR_OOBE_ACTION_BOX_BUTTON_HOVER');
371}
372
373.action-box-area.active .action-box-button {
374  background-image: url('chrome://theme/IDR_OOBE_ACTION_BOX_BUTTON_PRESSED');
375}
376
377.user-type-icon-area {
378  left: 0;
379  z-index: 5;
380}
381
382html[dir=rtl] .user-type-icon-area {
383  left: auto;
384  right: 0;
385}
386
387.user-type-icon-image {
388  height: 16px;
389  margin: 5px;
390  width: 16px;
391}
392
393.user-type-icon-area.supervised .user-type-icon-image {
394  background-image: url('chrome://theme/IDR_SUPERVISED_USER_ICON');
395}
396
397.user-type-icon-area.policy .user-type-icon-image {
398  background-image: url('chrome://theme/IDR_CONTROLLED_SETTING_MANDATORY');
399}
400
401.user-type-icon-area.app .user-type-icon-image {
402  background-image: url('chrome://theme/IDR_KIOSK_APP_USER_POD_ICON');
403}
404
405.action-box-menu {
406  display: none;
407  z-index: 6;
408}
409
410.action-box-area.active ~ .action-box-menu {
411  background-color: white;
412  border: 1px solid lightgray;
413  border-radius: 2px;
414  display: flex;
415  flex-direction: column;
416  font-size: 13px;
417  position: absolute;
418  right: 5px;
419  width: 220px;
420}
421
422.action-box-area.active ~ .action-box-menu.left-edge-offset {
423  left: 0 !important;
424}
425
426.action-box-area.active ~ .action-box-menu.right-edge-offset {
427  right: 0 !important;
428}
429
430.action-box-area.active ~ .action-box-menu:not(.menu-moved-up) {
431  top: 18px;
432}
433
434.action-box-area.active ~ .action-box-menu.menu-moved-up {
435  bottom: 210px;
436}
437
438.action-box-area.menu-moved-up {
439  -webkit-transform: rotate(180deg);
440}
441
442html[dir=rtl] .action-box-area.active ~ .action-box-menu {
443  left: 5px;
444  right: auto;
445}
446
447.action-box-menu-title {
448  color: #b4b4b4;
449  display: flex;
450  flex-direction: column;
451  padding: 7px 20px;
452}
453
454.action-box-menu-title-name,
455.action-box-menu-title-email {
456  flex: none;
457  height: 23px;
458  line-height: 19px;
459  overflow: hidden;
460  text-overflow: ellipsis;
461  white-space: nowrap;
462}
463
464.action-box-menu-remove {
465  border-top: 1px solid lightgray;
466  line-height: 19px;
467  min-height: 24px;
468  outline: none;
469  padding: 12px 20px 7px;
470}
471
472.action-box-menu-remove:hover,
473.action-box-menu-remove:focus {
474  background-color: #f3f3f3;
475}
476
477.action-box-remove-user-warning {
478  border-top: 1px solid lightgray;
479  font-size: 12px;
480  line-height: 18px;
481  padding: 20px;
482}
483
484.action-box-remove-user-warning-text,
485.action-box-remove-supervised-user-warning-text {
486  padding-bottom: 20px;
487}
488
489.action-box-remove-user-warning .remove-warning-button {
490  width: 100%;
491}
492
493.user-type-bubble {
494  background-color: white;
495  border: 1px solid lightgray;
496  border-radius: 2px;
497  left: 5px;
498  opacity: 0;
499  padding: 17px;
500  position: absolute;
501  top: 20px;
502  transition: all 100ms;
503  visibility: hidden;
504  width: 200px;
505  z-index: 7;
506}
507
508html[dir=rtl] .user-type-bubble {
509  left: auto;
510  right: 5px;
511}
512
513.bubble-shown,
514.user-type-icon-area.policy:hover ~ .user-type-bubble {
515  opacity: 1;
516  visibility: visible;
517}
518
519.user-type-bubble-header {
520  font-weight: bold;
521  margin-bottom: 14px;
522}
523
524/**** Public account user pod rules *******************************************/
525
526.pod.public-account.expanded {
527  width: 500px;
528}
529
530.pod.public-account.expanded.advanced {
531  width: 610px;
532}
533
534.pod.public-account.focused .name-container {
535  display: flex;
536}
537
538.pod.public-account.expanded .name-container {
539  transform: translateY(-34px);
540}
541
542.pod.public-account .learn-more-container {
543  display: block;
544  flex: none;
545}
546
547.pod.public-account .learn-more {
548  background-image: url('chrome://theme/IDR_CONTROLLED_SETTING_MANDATORY');
549  height: 16px;
550  position: relative;
551  top: 16px;
552  width: 16px;
553}
554
555.expanded-pane {
556  display: none;
557}
558
559.pod.public-account.animating .expanded-pane,
560.pod.public-account.expanded .expanded-pane {
561  display: block;
562  font-size: 12px;
563  margin: 10px;
564  overflow: hidden;
565  z-index: 1;
566}
567
568.expanded-pane-contents {
569  display: flex;
570  flex-direction: column;
571  float: right;
572  height: 193px;
573  width: 490px;
574}
575
576.pod.public-account.transitioning-to-advanced .expanded-pane-contents {
577  transition: width 180ms;
578}
579
580.pod.public-account.expanded.advanced .expanded-pane-contents {
581  width: 600px;
582}
583
584html[dir=rtl] .expanded-pane-contents {
585  float: left;
586}
587
588.side-container {
589  -webkit-margin-start: 200px;
590  flex: auto;
591}
592
593.expanded-pane-name {
594  font-size: 19px;
595  margin-bottom: 11px;
596  margin-top: -2px;
597  overflow: hidden;
598  text-overflow: ellipsis;
599  white-space: nowrap;
600}
601
602.reminder {
603  font-weight: bold;
604}
605
606.language-and-input-section {
607  display: none;
608}
609
610.pod.public-account.transitioning-to-advanced .language-and-input-section {
611  display: block;
612  opacity: 0;
613  transition: opacity 180ms ease 180ms;
614}
615
616.pod.public-account.expanded.advanced .language-and-input-section {
617  display: block;
618  opacity: 1;
619}
620
621.select-with-label {
622  display: flex;
623  margin-top: 20px;
624}
625
626.language-select-label,
627.keyboard-select-label {
628  flex: none;
629  margin-top: 3px;
630  overflow: hidden;
631  text-overflow: ellipsis;
632  white-space: nowrap;
633  width: 170px;
634}
635
636.select-container {
637  flex: auto;
638}
639
640.language-select,
641.keyboard-select {
642  width: 100%;
643}
644
645.bottom-container {
646  -webkit-margin-start: 10px;
647  display: flex;
648  flex: none;
649  font-size: 13px;
650}
651
652.expanded-pane-learn-more-container,
653.enter-button {
654  flex: none;
655}
656
657.expanded-pane-learn-more {
658  background-image: url('chrome://theme/IDR_CONTROLLED_SETTING_MANDATORY');
659  height: 16px;
660  position: relative;
661  top: 6px;
662  width: 16px;
663}
664
665.info {
666  flex: auto;
667  margin: 5px 10px;
668  overflow: hidden;
669  text-overflow: ellipsis;
670  white-space: nowrap;
671}
672
673.language-and-input-container {
674  -webkit-margin-end: 25px;
675  flex: none;
676}
677
678.language-and-input {
679  color: rgb(49, 106, 197);
680  position: relative;
681  text-decoration: none;
682  top: 4px;
683}
684
685.pod.public-account.expanded.advanced .language-and-input-container {
686  display: none;
687}
688
689.enter-button {
690  font-size: 14px;
691}
692
693/* Animations for the animated ellipsis: */
694.animated-ellipsis-component0 {
695  -webkit-animation: ellipsis-component0 1.5s infinite;
696}
697
698@-webkit-keyframes ellipsis-component0 {
699  0% { opacity: 0; }
700  25% { opacity: 1; }
701  50% { opacity: 1; }
702  75% { opacity: 1; }
703  100% { opacity: 0; }
704}
705
706.animated-ellipsis-component1 {
707  -webkit-animation: ellipsis-component1 1.5s infinite;
708}
709
710@-webkit-keyframes ellipsis-component1 {
711  0% { opacity: 0; }
712  25% { opacity: 0; }
713  50% { opacity: 1; }
714  75% { opacity: 1; }
715  100% { opacity: 0; }
716}
717
718.animated-ellipsis-component2 {
719  -webkit-animation: ellipsis-component2 1.5s infinite;
720}
721
722@-webkit-keyframes ellipsis-component2 {
723  0% { opacity: 0; }
724  25% { opacity: 0; }
725  50% { opacity: 0; }
726  75% { opacity: 1; }
727  100% { opacity: 0; }
728}
729