1 /* Copyright (c) 2012 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 /* The order of z-index:
6 * - 2: drag-selection-border
11 * - 550: autocomplete-suggestions
14 * - 1000: preview thumbnail popup
15 * - 1000: overlay panel (ie. image editor)
18 /* Special attribute used in HTML to hide elements. */
19 body[type='folder'] [invisibleif~='folder'],
20 body[type='upload-folder'] [invisibleif~='upload-folder'],
21 body[type='saveas-file'] [invisibleif~='saveas-file'],
22 body[type='open-file'] [invisibleif~='open-file'],
23 body[type='open-multi-file'] [invisibleif~='open-multi-file'],
24 body[type='full-page'] [invisibleif~='full-page'],
26 body[type='folder'] [visibleif]:not([visibleif~='folder']),
27 body[type='upload-folder'] [visibleif]:not([visibleif~='upload-folder']),
28 body[type='saveas-file'] [visibleif]:not([visibleif~='saveas-file']),
29 body[type='open-file'] [visibleif]:not([visibleif~='open-file']),
30 body[type='open-multi-file'] [visibleif]:not([visibleif~='open-multi-file']),
31 body[type='full-page'] [visibleif]:not([visibleif~='full-page']) {
32 display: none !important;
40 cursor: col-resize !important;
43 /* Outer frame of the dialog. */
46 -webkit-box-orient: vertical;
47 -webkit-tap-highlight-color: transparent;
48 -webkit-user-select: none;
58 input[type='button']:focus,
59 input[type='submit']:focus,
62 outline-color: rgb(77, 144, 254);
65 /* Drop opacity of selected rows to give a visual feedback on copy/cut
76 /* TODO(mtomasz): Flip scrollbars to the opposite side for RTL languages. */
83 z-index: 500; /* Must be below the contextmenu (600). */
87 background-color: black;
88 border: 1px solid #ccc;
90 box-sizing: border-box;
95 transition: opacity 100ms;
99 :hover > .scrollbar-vertical > .scrollbar-button,
100 .scrollbar-vertical > .scrollbar-button.scrolling {
104 .scrollbar-vertical > .scrollbar-button:hover {
108 .scrollbar-vertical > .scrollbar-button.pressed {
112 /* Main part of the dialog between header and footer. */
114 -webkit-box-align: stretch;
116 -webkit-box-orient: horizontal;
117 background-color: white; /* Makes #drag-container invisible. */
119 display: -webkit-box;
124 /* The style applied when a modal dialog box overlap the dialog container. */
125 .dialog-container.disable-header-drag .dialog-navigation-list-header,
126 .dialog-container.disable-header-drag .dialog-header {
127 -webkit-app-region: no-drag;
130 /* List/grid and preview are inside this container. */
132 -webkit-box-align: stretch;
134 -webkit-box-orient: vertical;
135 display: -webkit-box;
138 /* Directory tree at the left. */
139 .dialog-navigation-list {
140 -webkit-border-end: 1px solid rgba(20, 20, 22, 0.1);
142 -webkit-box-orient: vertical;
143 background-color: #f1f1f1;
145 flex-direction: column;
153 .dialog-navigation-list-header {
154 -webkit-app-region: drag;
156 height: 48px; /* Keep in sync with #dialog-header. */
160 .dialog-navigation-list-header #profile-badge {
161 display: inline-block;
162 height: 29px; /* Size of a profile image. */
165 width: 29px; /* Size of a profile image. */
168 .dialog-navigation-list-header #app-name {
174 .dialog-navigation-list-header #profile-badge:not([hidden]) + #app-name {
178 .dialog-navigation-list-contents {
179 display: -webkit-box;
184 .dialog-navigation-list-footer {
185 display: -webkit-flex;
187 flex-direction: column;
190 /* A vertical splitter between the roots list and the file list. It is actually
191 a transparent area centered on the roots list right border.*/
199 z-index: 500; /* Must be below the contextmenu (600). */
204 -webkit-box-orient: vertical;
205 display: -webkit-box;
208 #navigation-list > * {
213 #navigation-list > .accepts,
214 #navigation-list > [lead][selected],
215 #navigation-list > [lead],
216 #navigation-list > [selected],
217 #navigation-list > [anchor] {
218 background-color: rgb(225, 225, 225);
221 #navigation-list:focus > .accepts,
222 #navigation-list:focus > [lead][selected],
223 #navigation-list:focus > [lead],
224 #navigation-list:focus > [selected],
225 #navigation-list:focus > [anchor] {
226 background-color: rgb(66, 129, 244);
230 #navigation-list li.root-item {
231 -webkit-box-align: center;
232 display: -webkit-box;
233 line-height: 22px; /* To accommodate for icons. */
237 #navigation-list li.root-item > .root-label {
241 text-overflow: ellipsis;
245 #navigation-list .volume-icon {
246 background-repeat: no-repeat;
252 -webkit-border-end: 1px solid rgba(20, 20, 22, 0.1);
253 -webkit-box-sizing: border-box;
254 -webkit-padding-start: 20px;
255 color: rgb(100, 100, 100);
260 text-overflow: ellipsis;
265 -webkit-border-end: 1px solid rgba(20, 20, 22, 0.1);
270 padding-bottom: 0; /* For the preview panel. Will be overridden by JS. */
276 #directory-tree .tree-row {
278 display: -webkit-box;
283 /* For rows of subitems (non-top items) */
284 #directory-tree .tree-children .tree-row {
288 #directory-tree .tree-row > .expand-icon {
294 vertical-align: middle;
298 #directory-tree:focus .tree-row[selected] > .expand-icon {
299 background-image: -webkit-canvas(tree-triangle-inverted);
302 #directory-tree .tree-row > .volume-icon {
303 background-position: center 2px;
304 background-repeat: no-repeat;
306 vertical-align: middle;
310 #directory-tree .tree-row > .label {
315 text-overflow: ellipsis;
318 #directory-tree .tree-item.accepts > .tree-row,
319 #directory-tree .tree-row[lead][selected],
320 #directory-tree .tree-row[lead],
321 #directory-tree .tree-row[selected],
322 #directory-tree .tree-row[anchor] {
323 background-color: rgb(204, 204, 204);
326 #directory-tree .tree-item.accepts > .tree-row,
327 #directory-tree .tree-row[lead][selected],
328 #directory-tree .tree-row[lead],
329 #directory-tree .tree-row[selected],
330 #directory-tree .tree-row[anchor] {
331 background-color: rgb(225, 225, 225);
334 #directory-tree:focus .tree-item.accepts > .tree-row,
335 #directory-tree:focus .tree-row[lead][selected],
336 #directory-tree:focus .tree-row[lead],
337 #directory-tree:focus .tree-row[selected],
338 #directory-tree:focus .tree-row[anchor] {
339 background-color: rgb(193, 209, 232);
342 #directory-tree:focus .tree-item.accepts > .tree-row,
343 #directory-tree:focus .tree-row[lead][selected],
344 #directory-tree:focus .tree-row[lead],
345 #directory-tree:focus .tree-row[selected],
346 #directory-tree:focus .tree-row[anchor] {
347 background-color: rgb(66, 129, 244);
351 #navigation-list .root-item > div.root-eject {
352 background: -webkit-image-set(
353 url('../images/files/ui/eject.png') 1x,
354 url('../images/files/ui/2x/eject.png') 2x) no-repeat center;
359 transition: opacity 70ms linear;
360 vertical-align: middle;
364 #navigation-list:focus .root-item[selected] > div.root-eject {
365 background: -webkit-image-set(
366 url('../images/files/ui/eject_white.png') 1x,
367 url('../images/files/ui/2x/eject_white.png') 2x) no-repeat center;
371 #directory-tree .root-item[disabled] {
373 pointer-events: none;
376 /* Breadcrumbs and things under the title but above the list view. */
378 -webkit-app-region: drag;
379 -webkit-box-align: center;
380 -webkit-box-orient: horizontal;
384 transition: all 180ms ease;
395 -webkit-app-region: no-drag;
396 -webkit-padding-end: 0;
397 -webkit-padding-start: 10px;
398 background: transparent -webkit-image-set(
399 url(../images/files/ui/search_icon_inactive.png) 1x,
400 url(../images/files/ui/2x/search_icon_inactive.png) 2x)
409 #search-box .icon:hover,
410 #search-box.has-cursor .icon,
411 #search-box.has-text .icon {
412 background-image: -webkit-image-set(
413 url(../images/files/ui/search_icon_active.png) 1x,
414 url(../images/files/ui/2x/search_icon_active.png) 2x);
417 #search-box .full-size {
422 -webkit-app-region: no-drag;
423 background-color: #fff;
436 #search-box input::-webkit-search-cancel-button {
437 -webkit-appearance: none;
440 #search-box.has-cursor input,
441 #search-box.has-text input {
446 -webkit-app-region: no-drag;
447 -webkit-margin-end: 30px;
449 background: -webkit-image-set(
450 url(../images/files/ui/search_clear.png) 1x,
451 url(../images/files/ui/2x/search_clear.png) 2x)
464 #search-box.has-text .clear {
468 #search-box .clear:hover {
469 background-image: -webkit-image-set(
470 url(../images/files/ui/search_clear_hover.png) 1x,
471 url(../images/files/ui/2x/search_clear_hover.png) 2x);
474 #search-box .clear:active {
475 background-image: -webkit-image-set(
476 url(../images/files/ui/search_clear_pressed.png) 1x,
477 url(../images/files/ui/2x/search_clear_pressed.png) 2x);
484 /* Container for the detail and thumbnail list views. */
487 -webkit-transition: all 180ms ease;
488 border-top: 1px solid rgba(20, 20, 22, 0.1);
494 display: -webkit-box;
501 .dialog-middlebar-contents {
502 display: -webkit-box;
509 /* Container for the ok/cancel buttons. */
511 -webkit-box-align: center;
512 -webkit-box-orient: horizontal;
513 border-top: 1px solid rgb(225, 225, 225);
514 display: -webkit-box;
519 .progressable:not([progress]) .progress-bar,
520 .progressable:not([progress]) .preparing-label {
524 .progressable[progress] .ok,
525 .progressable[progress] #filename-input-box,
526 .progressable[progress] #preview-lines,
527 .progressable[progress] .file-type {
531 .progressable .progress-bar {
533 -webkit-margin-end: 20px;
534 -webkit-margin-start: 20px;
537 /* The container for breadcrumb elements. */
539 -webkit-box-align: center;
541 -webkit-box-orient: horizontal;
542 display: -webkit-box;
549 -webkit-margin-end: 5px;
550 -webkit-margin-start: 10px;
553 /* The icon for offline mode */
555 -webkit-margin-end: 0;
556 -webkit-margin-start: 10px;
557 background-image: -webkit-image-set(
558 url('../images/files/ui/offline.png') 1x,
559 url('../images/files/ui/2x/offline.png') 2x);
562 transition-duration: 200ms;
563 transition-property: opacity;
564 transition-timing-function: ease-out;
568 /* Transition for '-webkit-margin-start' (or -end) property is not working.
569 * So I added .offline-icon-space to animate 'width' property. */
570 .offline-icon-space {
571 -webkit-margin-end: 0;
572 -webkit-margin-start: -26px; /* Clear width of .offline-icon */
573 transition-duration: 200ms;
574 transition-property: width;
575 transition-timing-function: ease-out;
579 body[drive] .dialog-container[connection='offline'] .offline-icon,
580 body[drive] .dialog-container[connection='metered'] .offline-icon {
584 body[drive] .dialog-container[connection='offline'] .offline-icon-space,
585 body[drive] .dialog-container[connection='metered'] .offline-icon-space {
589 .breadcrumbs > [collapsed]::before {
593 .breadcrumbs > [collapsed] {
597 /* A single directory name in the list of path breadcrumbs. */
602 text-overflow: ellipsis;
606 /* The final breadcrumb, representing the current directory. */
607 #search-breadcrumbs .breadcrumb-path.breadcrumb-last {
612 /* The > arrow between breadcrumbs. */
614 .breadcrumbs .separator {
615 background-image: -webkit-image-set(
616 url('../images/files/ui/breadcrumb-separator.png') 1x,
617 url('../images/files/ui/2x/breadcrumb-separator.png') 2x);
618 background-position: center center;
619 background-repeat: no-repeat;
625 html[dir='rtl'] .breadcrumbs .separator {
626 -webkit-transform: scaleX(-1);
629 #filename-input-box input {
630 border: 1px solid #c8c8c8;
632 box-sizing: border-box;
633 height: 31px; /* border-box */
639 -webkit-box-orient: vertical;
640 display: -webkit-box;
645 -webkit-box-orient: vertical;
646 display: -webkit-box;
652 -webkit-box-orient: vertical;
653 display: -webkit-box;
656 #detail-table > list,
659 padding-bottom: 0; /* For the preview panel. Will be overridden by JS. */
662 #file-list .drag-selection-border {
663 -webkit-box-sizing: border-box;
664 background-color: rgba(255, 255, 255, 0.3);
665 border: 2px solid rgba(255, 255, 255, 0.6);
666 outline: 1px solid rgba(0, 0, 0, 0.1);
672 background: 100% url(../images/common/spinner.svg);
684 background: url(../images/common/spinner.svg) center / 16px no-repeat;
694 -webkit-box-align: center;
695 -webkit-box-orient: horizontal;
696 background-color: #f0f0f0;
697 background-image: -webkit-image-set(
698 url('../images/files/ui/warning_icon_square.png') 1x,
699 url('../images/files/ui/2x/warning_icon_square.png') 2x);
700 background-position: 15px center;
701 background-repeat: no-repeat;
703 display: -webkit-box;
707 padding-left: 57px; /* Make space for the icon. */
708 transition: height 70ms linear;
711 .downloads-warning[hidden] {
712 display: -webkit-box !important; /* Overrides [hidden] for animation. */
716 @-webkit-keyframes heightAnimation {
719 display: -webkit-box;
723 /* Drive space warning banner. */
725 -webkit-animation: heightAnimation 70ms linear;
726 -webkit-box-align: center;
727 -webkit-box-orient: horizontal;
728 background-image: url(chrome://resources/images/clouds.png);
729 background-repeat: repeat-x;
730 background-size: 150px 44px;
732 display: -webkit-box;
739 .volume-warning[hidden] {
744 .volume-warning .drive-icon {
745 background-image: -webkit-image-set(
746 url('../images/files/ui/drive_logo.png') 1x,
747 url('../images/files/ui/2x/drive_logo.png') 2x);
748 background-position: center;
749 background-repeat: no-repeat;
750 background-size: 25px 22px;
755 .volume-warning .drive-text {
759 /* The cr.ui.Grid representing the detailed file list. */
762 padding-bottom: 0; /* For the preview panel. Will be overridden by JS. */
766 body[type='full-page'] .thumbnail-frame > .img-container {
770 body[type='full-page'] .thumbnail-frame > .img-container,
771 body[type='full-page'] .detail-name .detail-icon {
775 .img-container > img {
776 -webkit-user-drag: none;
780 .img-container > img:not(.cached):not(.drag-thumbnail) {
781 -webkit-animation: fadeIn 250ms linear;
785 -webkit-box-align: center;
786 -webkit-box-orient: horizontal;
787 -webkit-box-pack: center;
790 display: -webkit-box;
797 .thumbnail-bottom .filename-label {
801 /* Styles specific for the grid view. */
803 .thumbnail-grid .thumbnail-item {
804 -webkit-margin-start: 21px;
805 border: 3px solid transparent; /* Selection will make the border visible. */
810 .thumbnail-grid .thumbnail-frame {
811 background-color: rgb(245, 245, 245);
818 .thumbnail-grid .thumbnail-item[selected] .thumbnail-frame,
819 .thumbnail-grid .thumbnail-item.accepts .thumbnail-frame {
823 .thumbnail-grid .img-container {
828 .thumbnail-grid .thumbnail-bottom {
829 background: rgba(0, 0, 0, 0.55);
834 /* Padding counterweights negative margins of items, thus eliminating scroll
835 bar when it's not needed. Max height is set to fit 8 items before showing
837 #default-actions-list {
842 #default-actions-list > li > * {
843 background-position: 5px center;
844 background-repeat: no-repeat;
845 background-size: 16px 16px;
849 #list-container list > li[selected],
850 #list-container grid > li[selected],
851 #default-actions-list > li[selected] {
852 background-color: rgb(225, 225, 225);
855 #list-container list:focus > li[selected],
856 #list-container grid:focus > li[selected],
857 #default-actions-list:focus > li[selected] {
858 background-color: rgb(66, 129, 244);
862 #list-container list > li.accepts[selected],
863 #list-container grid > li.accepts[selected] {
864 background-color: rgb(215, 215, 215);
867 #list-container list:focus > li.accepts[selected],
868 #list-container grid:focus > li.accepts[selected] {
869 background-color: rgb(48, 125, 254);
872 #list-container list > li.accepts,
873 #list-container grid > li.accepts {
874 background-color: #f1f1f1;
877 #list-container.nohover grid > .accepts {
878 background-color: transparent;
881 #directory-tree .tree-item.accepts > .tree-row,
882 #navigation-list > .accepts,
883 #list-container list > li.accepts,
884 #list-container grid > li.accepts {
885 -webkit-animation: acceptsBlink 200ms linear 1s 3;
888 @-webkit-keyframes acceptsBlink {
890 background-color: transparent;
894 .table-row-cell .selection-label {
895 -webkit-margin-end: 10px;
899 .table-row-cell .filename-label,
900 .thumbnail-item .filename-label,
901 /* Show ellipsis in cells. The name column has different structure and overrides
903 .table-row-cell > div {
906 text-overflow: ellipsis;
910 /* Text box used for renaming in the detail list. */
911 .table-row-cell input.rename {
917 outline-color: rgb(77, 144, 254);
926 .table-row-cell .filename-label,
927 .table-row-cell input.rename {
931 li[renaming=''] .filename-label {
935 /* Text box used for renaming in the thumbnail list. */
936 .thumbnail-grid input.rename {
937 -webkit-margin-start: -1px;
938 box-sizing: border-box;
943 /* The cr.ui.Table representing the detailed file list. */
948 /* Bottom pane describing current selection. */
950 -webkit-box-align: center;
951 -webkit-box-orient: horizontal;
952 -webkit-transition: background-color 150ms ease;
953 background: linear-gradient(
954 to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 1));
955 border-top: 1px solid rgba(20, 20, 22, 0.1);
957 display: -webkit-box;
961 padding: 0 10px 0 7px;
967 .preview-panel[visibility=hiding] {
968 -webkit-transform: translate(0, 5px);
970 /* Using all seems to cause preview panel and checkbox flicking issue. */
971 transition: opacity 220ms ease,
972 -webkit-transform 220ms ease;
975 .preview-panel[visibility=hidden] {
980 .preview-panel > .left,
981 .dialog-footer > .left {
982 -webkit-box-align: center;
984 -webkit-box-orient: horizontal;
985 display: -webkit-box;
988 .preview-panel > .right,
989 .dialog-footer > .right {
990 -webkit-box-pack: end;
993 .preview-panel .preparing-label {
994 -webkit-margin-start: 30px;
997 .preview-panel .progress-bar {
1001 .preview-thumbnails {
1002 -webkit-box-orient: horizontal;
1003 display: -webkit-box;
1007 .preview-thumbnails > .img-container {
1008 background-color: white;
1009 background-size: 35px 35px; /* For file icons. */
1010 border: 2px solid white;
1011 box-shadow: 0 1px 1px rgba(80, 80, 80, 0.5);
1012 box-sizing: border-box;
1015 margin: 0 0 0 -25px; /* Overlapped images. */
1021 .preview-thumbnails > .popup {
1022 -webkit-transform: translate(0, 3px) scale(0.95);
1023 background-color: #f2f2f2;
1024 border: 2px solid #fff;
1026 box-shadow: 0 0 0 1px #F0F0F0,
1028 2px 2px 6px rgba(0, 0, 0, 0.2);
1029 display: -webkit-flex;
1032 pointer-events: none;
1034 transition: opacity 180ms ease-in 300ms,
1035 -webkit-transform 180ms ease-in 300ms;
1039 .preview-thumbnails.has-zoom:hover > .popup {
1040 -webkit-transform: translate(0, 0) scale(1.0);
1042 pointer-events: auto;
1045 @-webkit-keyframes fadeIn {
1054 .preview-thumbnails img {
1055 -webkit-animation: fadeIn 180ms ease-in-out;
1058 .preview-thumbnails > .popup > img {
1059 -webkit-flex: 1 1 0;
1060 -webkit-user-drag: none;
1063 /* Table splitter element */
1064 .table-header-splitter {
1065 background-image: -webkit-image-set(
1066 url('../images/files/ui/vertical_separator.png') 1x,
1067 url('../images/files/ui/2x/vertical_separator.png') 2x);
1068 background-position: center;
1069 background-repeat: repeat-y;
1075 .table-header-splitter:last-child {
1079 /* Container for a table header. */
1081 box-sizing: border-box;
1085 .table-header-sort-image-desc::after {
1086 -webkit-padding-start: 13px;
1087 background-image: -webkit-image-set(
1088 url('../images/files/ui/sort_desc.png') 1x,
1089 url('../images/files/ui/2x/sort_desc.png') 2x);
1090 background-position: center center;
1091 background-repeat: no-repeat;
1098 .table-header-sort-image-asc::after {
1099 -webkit-padding-start: 13px;
1100 background-image: -webkit-image-set(
1101 url('../images/files/ui/sort_asc.png') 1x,
1102 url('../images/files/ui/2x/sort_asc.png') 2x);
1103 background-position: center center;
1104 background-repeat: no-repeat;
1111 .preview-container .table-header {
1112 border-radius: 0 4px 0 0;
1115 /* Text label in a table header. */
1116 .table-header-label {
1117 color: rgb(100, 100, 100);
1122 .table-row-cell > * {
1123 -webkit-box-align: center;
1124 -webkit-box-flex: 1;
1125 -webkit-box-orient: horizontal;
1130 color: rgb(100, 100, 100);
1133 .table-row-cell > .detail-name {
1134 display: -webkit-box;
1137 .table-row-cell > .detail-name {
1138 color: rgb(0, 0, 0);
1142 #list-container list:focus > [selected] .table-row-cell,
1143 #list-container list:focus > [selected] .detail-name {
1148 -webkit-box-align: center;
1151 #list-container li.table-row,
1152 #default-actions-list li {
1157 /* The icon in the name column. See file_types.css for specific icons. */
1163 #detail-table .detail-icon {
1164 /* To shift the icon position. */
1169 -webkit-box-flex: 1;
1170 -webkit-box-orient: horizontal;
1171 -webkit-padding-start: 8px;
1172 display: -webkit-box;
1176 -webkit-margin-end: 6px;
1179 .preview-panel .spacer {
1180 -webkit-box-flex: 1;
1184 min-width: 21px; /* overrride */
1185 padding: 0; /* overrride */
1189 #delete-button::before {
1190 /* Background image should be specified in the before pseudo element because
1191 * border image fill is specified to delete-button. */
1192 background: -webkit-image-set(
1193 url(../images/files/ui/onbutton_trash.png) 1x,
1194 url(../images/files/ui/2x/onbutton_trash.png) 2x) no-repeat center;
1201 #delete-button[disabled] {
1205 #tasks-menu menuitem:not(.change-default) {
1206 background-position: left 10px center;
1212 min-width: 0; /* overrride */
1216 -webkit-box-flex: 1;
1217 -webkit-margin-end: 10px;
1218 -webkit-margin-start: 10px;
1219 vertical-align: middle;
1222 /* The selection summary text at the bottom of the preview pane. */
1226 text-overflow: ellipsis;
1227 vertical-align: middle;
1228 white-space: nowrap;
1231 .preview-summary .calculating-size {
1237 -webkit-box-align: center;
1238 display: -webkit-box;
1241 /* Overriding input.common[type='checkbox'] rule in common.css. */
1242 .detail-name > input.common[type='checkbox'] {
1243 -webkit-margin-end: 4px;
1244 -webkit-margin-start: -1px;
1248 list .detail-name > .file-checkbox::before,
1250 /* Invisible area that reacts on mouse events. */
1252 display: -webkit-box;
1260 #filename-input-box {
1261 -webkit-box-align: center;
1262 -webkit-box-flex: 1;
1263 display: -webkit-box;
1266 #filename-input-box input {
1267 -webkit-box-flex: 1;
1268 display: -webkit-box;
1272 #filename-input-box .filename-label {
1273 -webkit-box-orient: horizontal;
1274 background-color: white;
1276 display: -webkit-box;
1280 body:not([type='saveas-file']) #filename-input-box {
1284 /* A vertical spring. */
1286 -webkit-box-flex: 1;
1287 -webkit-box-orient: vertical;
1288 display: -webkit-box;
1293 body[type='folder'] .file,
1294 body[type='upload-folder'] .file,
1295 body[drive] .dialog-container[connection='offline'] .dim-offline {
1299 /* Overlay pane covering the entire file manager window (e.g. image editor)*/
1301 -webkit-app-region: no-drag;
1308 z-index: 1000; /* Must be above all elements in file manager container. */
1311 /* When the overlay pane is visible hide everything else so that the tab order
1313 body[overlay-visible] > :not(.overlay-pane) {
1314 display: none !important;
1317 /* Invisible container for elements representing files while dragging. */
1322 z-index: -1; /* below .dialog-container */
1325 #drag-container .drag-contents {
1326 -webkit-box-orient: horizontal;
1327 background-color: #fafafa;
1328 border: 1px solid #bbb;
1330 box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .2);
1331 display: -webkit-box;
1335 transition: opacity 200ms ease-in;
1338 #drag-container .drag-contents.for-image {
1342 #drag-container .thumbnail-item {
1343 -webkit-box-orient: horizontal;
1344 display: -webkit-box;
1347 #drag-container .label {
1348 -webkit-box-flex: 1;
1354 text-overflow: ellipsis;
1355 white-space: nowrap;
1358 menu.file-context-menu {
1359 z-index: 600; /* Must be below the overlay pane (1000). */
1362 menu.chrome-menu hr {
1368 -webkit-box-pack: center;
1369 display: -webkit-box;
1373 -webkit-box-align: center;
1374 display: -webkit-box;
1378 /* transition: opacity 1000ms linear; */
1379 background-color: rgba(255, 255, 255, 0.8);
1392 /* Message panel for unmounted Drive */
1406 body[drive='mounting'] .dialog-container #unmounted-panel,
1407 body[drive='error'] .dialog-container #unmounted-panel,
1408 body[unformatted] .dialog-container #format-panel {
1412 body[drive='unmounted'] .dialog-container .filelist-panel,
1413 body[drive='mounting'] .dialog-container .filelist-panel,
1414 body[drive='error'] .dialog-container .filelist-panel,
1415 body[unformatted] .dialog-container .filelist-panel {
1416 /* Hide file list when Drive is not mounted.
1417 Use opacity to avoid manual resizing.*/
1421 #unmounted-panel > *,
1423 -webkit-box-align: center;
1424 -webkit-box-orient: horizontal;
1425 -webkit-box-pack: start;
1428 margin-bottom: 10px;
1431 #unmounted-panel > .loading {
1435 #unmounted-panel > .loading > .spinner-box {
1443 body[unformatted] #format-panel > .error,
1444 body[drive='mounting'] #unmounted-panel > .loading,
1445 body[drive='error'] #unmounted-panel > .error,
1446 #format-panel > #format-button,
1447 #unmounted-panel.retry-enabled > .learn-more {
1448 display: -webkit-box;
1452 color: rgb(17, 85, 204);
1454 text-decoration: none;
1461 .buttonbar .tooltip,
1462 .topbutton-bar .tooltip {
1469 background: #2d2d2d;
1471 box-shadow: 1px 2px 4px #ccc;
1472 box-sizing: border-box;
1482 outline: 1px solid rgba(255, 255, 255, 0.5);
1484 pointer-events: none;
1488 white-space: nowrap;
1489 z-index: 600; /* Must be below the overlay pane (1000). */
1494 border-left: 5px solid transparent;
1495 border-right: 5px solid transparent;
1496 border-top: transparent;
1506 border-bottom: 5px solid #2d2d2d;
1510 border-bottom: 5px solid rgba(255, 255, 255, 0.5);
1513 /* Show with delay, disappear instantly */
1514 @-webkit-keyframes tooltip-show {
1517 100% { opacity: 1; }
1521 -webkit-animation-duration: 800ms;
1522 -webkit-animation-iteration-count: 1;
1523 -webkit-animation-name: tooltip-show;
1524 -webkit-animation-timing-function: linear;
1528 #no-search-results {
1535 top: 28px; /* Leave room for the file list header. */
1538 .dialog-container:not([drive-welcome='page']) #no-search-results[show] {
1542 #volume-space-info-contents {
1543 -webkit-box-align: center;
1544 display: -webkit-box;
1547 #volume-space-info-contents > div {
1548 -webkit-box-flex: 1;
1549 -webkit-margin-start: 15px;
1550 display: -webkit-box;
1553 #list-container .table-header-inner {
1557 #list-container .table-header-cell:hover {
1558 background-color: inherit;
1561 #list-container .table-header-cell:first-child {
1562 -webkit-box-sizing: border-box;
1563 -webkit-padding-start: 8px;
1566 #new-folder-button {
1570 #default-action-dialog {
1575 .drive-welcome-wrapper {
1576 /* drive_welcome.css will override it once loaded. */
1580 list.autocomplete-suggestions {
1581 -webkit-margin-before: -7px;
1582 -webkit-margin-start: -38px;
1583 background-color: rgb(250, 250, 250);
1585 box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .5);
1586 box-sizing: border-box; /* To match the width with the search box's. */
1587 color: rgb(34, 34, 34);
1591 width: 300px !important; /* This overrides the value specified by script. */
1595 list.autocomplete-suggestions > li {
1596 -webkit-box-align: center;
1597 display: -webkit-box;
1601 list.autocomplete-suggestions > li > div.detail-icon {
1602 -webkit-margin-end: 6px;
1603 -webkit-margin-start: 6px;
1606 list.autocomplete-suggestions > li > div.detail-text {
1607 -webkit-box-flex: 1;
1609 text-overflow: ellipsis;
1612 list.autocomplete-suggestions > li > div.detail-text em {
1613 color: rgb(150, 150, 150);
1617 list.autocomplete-suggestions > li > div[search-icon] {
1618 background: -webkit-image-set(
1619 url('../images/files/ui/search_icon_active.png') 1x,
1620 url('../images/files/ui/2x/search_icon_active.png') 2x) center no-repeat;
1623 list.autocomplete-suggestions > li[selected] > div[search-icon],
1624 list.autocomplete-suggestions > li[lead] > div[search-icon] {
1625 background: -webkit-image-set(
1626 url('../images/files/ui/search_icon_white.png') 1x,
1627 url('../images/files/ui/2x/search_icon_white.png') 2x) center no-repeat;
1630 list.autocomplete-suggestions > [selected],
1631 list.autocomplete-suggestions > [lead] {
1632 background-color: rgb(66, 129, 244);
1636 list.autocomplete-suggestions > [selected] > div.detail-text em,
1637 list.autocomplete-suggestions > [lead] > div.detail-text em {
1645 #gear-menu > menuitem:not(.menuitem-button) {
1646 -webkit-margin-end: 50px;
1649 /* View buttons in the gear menu. */
1651 menuitem#detail-view {
1652 background-image: -webkit-image-set(
1653 url('../images/files/ui/button_list_view.png') 1x,
1654 url('../images/files/ui/2x/button_list_view.png') 2x);
1657 menuitem#detail-view[selected]:not([disabled]),
1658 menuitem#detail-view[lead]:not([disabled]) {
1659 background-image: -webkit-image-set(
1660 url('../images/files/ui/button_list_view_white.png') 1x,
1661 url('../images/files/ui/2x/button_list_view_white.png') 2x);
1664 menuitem#thumbnail-view {
1665 background-image: -webkit-image-set(
1666 url('../images/files/ui/button_mosaic_view.png') 1x,
1667 url('../images/files/ui/2x/button_mosaic_view.png') 2x);
1670 menuitem#thumbnail-view[selected]:not([disabled]),
1671 menuitem#thumbnail-view[lead]:not([disabled]) {
1672 background-image: -webkit-image-set(
1673 url('../images/files/ui/button_mosaic_view_white.png') 1x,
1674 url('../images/files/ui/2x/button_mosaic_view_white.png') 2x);
1678 -webkit-app-region: drag;
1688 #suggest-app-dialog {
1689 background-color: #fff;
1695 #suggest-app-dialog .cr-dialog-title {
1696 /* Entire height: 44px (content-box 22px + padding 11px * 2) */
1703 #suggest-app-dialog #webview-container {
1704 border-bottom: solid 1px #bbb;
1705 border-top: solid 1px #bbb;
1709 #suggest-app-dialog.show-spinner #webview-container webview {
1710 pointer-events: none;
1713 #suggest-app-dialog:not(.show-spinner) .spinner-layer {
1717 #suggest-app-dialog .spinner-layer {
1718 background-color: rgba(255, 255, 255, 0.7);
1721 #suggest-app-dialog .cr-dialog-buttons,
1722 #suggest-app-dialog .cr-dialog-ok,
1723 #suggest-app-dialog .cr-dialog-cancel {
1727 #suggest-app-dialog .cr-dialog-text {
1728 -webkit-padding-after: 10px;
1729 -webkit-padding-before: 0;
1730 -webkit-padding-end: 20px;
1731 -webkit-padding-start: 20px;
1735 #suggest-app-dialog #buttons {
1740 #suggest-app-dialog #buttons > #webstore-button {
1741 -webkit-padding-after: 10px;
1742 -webkit-padding-before: 10px;
1743 -webkit-padding-end: 10px;
1744 -webkit-padding-start: 36px;
1745 background-image: -webkit-image-set(
1746 url('chrome://theme/IDR_WEBSTORE_ICON_16') 1x,
1747 url('chrome://theme/IDR_WEBSTORE_ICON_16@2x') 2x);
1748 background-position: 12px center;
1749 background-repeat: no-repeat;
1752 display: inline-block;
1756 .cr-dialog-frame.error-dialog-frame {
1760 .error-dialog-frame .error-dialog-img {
1761 background-image: -webkit-image-set(
1762 url('chrome://theme/IDR_ERROR_NETWORK_GENERIC') 1x,
1763 url('chrome://theme/IDR_ERROR_NETWORK_GENERIC@2x') 2x);
1764 background-position: center;
1765 background-repeat: no-repeat;
1769 .error-dialog-frame .cr-dialog-cancel {
1773 .error-dialog-frame .cr-dialog-close,
1774 .error-dialog-frame .cr-dialog-title {
1778 .error-dialog-frame .cr-dialog-text {
1782 .cr-dialog-frame.share-dialog-frame {
1783 background-color: white;
1787 .share-dialog-webview-wrapper {
1792 transition: height 200ms ease;
1795 .share-dialog-webview {
1800 .share-dialog-webview-wrapper:not(.loaded) .share-dialog-webview {
1804 .share-dialog-frame .cr-dialog-text,
1805 .share-dialog-frame .cr-dialog-buttons {
1809 #multi-profile-share-dialog .mail-label {
1810 padding-right: 16px;
1813 #multi-profile-share-dialog .mail-label::after {
1817 #multi-profile-share-dialog .share-line {
1821 #conflict-confirm-dialog .cr-dialog-buttons {
1822 align-items: baseline;
1826 #conflict-confirm-dialog input[type=checkbox] {
1827 -webkit-margin-start: -2px;
1831 #conflict-confirm-dialog label {
1835 /* Progress center */
1837 @-webkit-keyframes progress-center-toggle {
1838 /* Height values of each frame are set by script.
1839 * Keep the animation sync with JS. */
1847 background-color: transparent;
1848 border-top: 1px solid transparent;
1851 transition: background-color 300ms linear,
1852 border 300ms linear;
1855 #progress-center.opened {
1856 background-color: #ebebeb;
1857 border-top: 1px solid #d8d8d8;
1860 #progress-center.animated {
1861 -webkit-animation: progress-center-toggle 300ms ease-out;
1864 #progress-center-open-view {
1867 transition: opacity 300ms linear;
1870 #progress-center:not(.opened) #progress-center-open-view {
1872 pointer-events: none;
1876 #progress-center-close-view {
1878 transition: opacity 300ms linear;
1881 #progress-center.opened #progress-center-close-view {
1883 pointer-events: none;
1887 #progress-center.animated #progress-center-open-view,
1888 #progress-center.animated #progress-center-close-view {
1890 pointer-events: none;
1897 #progress-center li {
1898 -webkit-padding-end: 10px;
1900 /* This must not be margin-bottom to calculate parent's height correctly. */
1901 padding-bottom: 20px;
1904 #progress-center label {
1908 text-overflow: ellipsis;
1909 white-space: nowrap;
1912 #progress-center li.error.single label {
1913 white-space: normal;
1916 #progress-center .progress-frame {
1917 -webkit-padding-end: 10px;
1918 -webkit-padding-start: 20px;
1922 #progress-center .progress-bar {
1923 background: #d8d8d8;
1925 display: inline-block;
1932 #progress-center li.error .progress-bar,
1933 #progress-center li.quiet .progress-bar {
1937 #progress-center .progress-track {
1938 background: #787878;
1942 #progress-center .progress-track.animated {
1943 transition: width 300ms linear;
1946 #progress-center .button-frame {
1947 align-self: flex-end;
1951 #progress-center button {
1954 display: inline-block;
1960 vertical-align: middle;
1964 #progress-center li.error.single .button-frame {
1968 #progress-center button.close {
1969 -webkit-margin-end: 10px;
1970 -webkit-margin-start: auto;
1971 background: -webkit-image-set(
1972 url(../images/files/ui/process_drawer_button_opened.png) 1x,
1973 url(../images/files/ui/2x/process_drawer_button_opened.png) 2x)
1976 margin-bottom: 20px;
1979 #progress-center button.close:hover {
1980 background: -webkit-image-set(
1981 url(../images/files/ui/process_drawer_button_opened_hover.png) 1x,
1982 url(../images/files/ui/2x/process_drawer_button_opened_hover.png) 2x)
1986 #progress-center button.close:active {
1987 background: -webkit-image-set(
1988 url(../images/files/ui/process_drawer_button_opened_pressed.png) 1x,
1989 url(../images/files/ui/2x/process_drawer_button_opened_pressed.png) 2x)
1993 #progress-center button.open {
1994 background: -webkit-image-set(
1995 url(../images/files/ui/process_drawer_button_closed.png) 1x,
1996 url(../images/files/ui/2x/process_drawer_button_closed.png) 2x)
2000 #progress-center button.open:hover {
2001 background: -webkit-image-set(
2002 url(../images/files/ui/process_drawer_button_closed_hover.png) 1x,
2003 url(../images/files/ui/2x/process_drawer_button_closed_hover.png) 2x)
2007 #progress-center button.open:active {
2008 background: -webkit-image-set(
2009 url(../images/files/ui/process_drawer_button_closed_pressed.png) 1x,
2010 url(../images/files/ui/2x/process_drawer_button_closed_pressed.png) 2x)
2014 #progress-center button.cancel {
2015 background: -webkit-image-set(
2016 url(../images/files/ui/close_bar.png) 1x,
2017 url(../images/files/ui/2x/close_bar.png) 2x)
2021 #progress-center-close-view:not(.single) button.cancel {
2025 #progress-center-close-view.single button.open {
2029 #progress-center li:not(.cancelable) button.cancel {