1 /* vim:set ts=2 sw=2 sts=2 et: */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 /* CSS Variables specific to the devtools toolbar that aren't defined by the themes */
9 --searchbox-background-color: #000000;
10 --searchbox-border-color: #9C9CFF;
11 --searcbox-no-match-background-color: #400000;
12 --searcbox-no-match-border-color: #FF0000;
15 --command-paintflashing-image: url(images/command-paintflashing.svg);
16 --command-screenshot-image: url(images/command-screenshot.svg);
17 --command-responsive-image: url(images/command-responsivemode.svg);
18 --command-scratchpad-image: url(images/command-scratchpad.svg);
19 --command-pick-image: url(images/command-pick.svg);
20 --command-frames-image: url(images/command-frames.svg);
21 --command-splitconsole-image: url(images/command-console.svg);
22 --command-noautohide-image: url(images/command-noautohide.svg);
23 --command-eyedropper-image: url(images/command-eyedropper.svg);
24 --command-rulers-image: url(images/command-rulers.svg);
25 --command-measure-image: url(images/command-measure.svg);
30 .devtools-sidebar-tabs tabs {
36 .devtools-toolbar checkbox {
37 /* LCARStrek checkbox colors don't work well against toolbar background */
38 background-color: var(--theme-toolbar-background);
40 line-height: -moz-block-height;
42 .devtools-toolbar checkbox .checkbox-check {
44 .devtools-toolbar checkbox .checkbox-label-box {
46 .devtools-toolbar checkbox .checkbox-label-box .checkbox-label {
52 .devtools-toolbarbutton,
54 /* transition: background 0.05s ease-in-out; */
58 .devtools-toolbarbutton {
61 .devtools-menulist:-moz-focusring,
62 .devtools-toolbarbutton:-moz-focusring {
63 outline: 1px dotted var(--theme-selection-color);
66 .devtools-toolbarbutton:not([label]) > .toolbarbutton-icon,
67 .devtools-button::before {
70 /* transition: opacity 0.05s ease-in-out;*/
78 background: var(--theme-toolbar-background);
79 color: var(--theme-body-color);
80 /* The icon is absolutely positioned in the button using ::before */
84 .devtools-button:not([disabled]):hover {
85 background: var(--theme-hover-background);
86 color: var(--theme-hover-color);
89 .devtools-button:not([disabled]):hover:active {
90 background: var(--theme-active-background);
91 color: var(--theme-active-color);
94 /* Menu type buttons and checked states */
95 .devtools-button[checked] {
96 background: var(--theme-selection-background);
97 color: var(--theme-selection-color);
100 .devtools-button::before {
106 margin: -8px 0 0 -8px;
107 background-size: cover;
108 background-repeat: no-repeat;
109 /* transition: opacity 0.05s ease-in-out;*/
112 /* Standalone buttons */
113 .devtools-button[standalone],
114 .devtools-button[data-standalone],
115 .devtools-toolbarbutton[standalone],
116 .devtools-toolbarbutton[data-standalone] {
118 /* min-height: 32px; */
119 background-color: var(--theme-button-background);
122 .devtools-toolbarbutton[standalone] {
124 .devtools-toolbarbutton[label][standalone] {
127 /* Icon button styles */
128 .devtools-toolbarbutton:not([label]),
129 .devtools-toolbarbutton[text-as-image] {
133 #toolbox-buttons .devtools-toolbarbutton[text-as-image] {
134 -moz-padding-start: 5px;
135 -moz-padding-end: 5px;
139 #toolbox-buttons .devtools-toolbarbutton:not([text-as-image]):not(:hover):not([open=true]) {
140 /* background: transparent; */
142 #toolbox-buttons .devtools-toolbarbutton[type=menu] > .toolbarbutton-menu-dropmarker {
146 .devtools-toolbarbutton:not([label]) > .toolbarbutton-text {
150 .devtools-toolbar .devtools-toolbarbutton {
151 -moz-margin-start: 2px;
154 .devtools-toolbarbutton > .toolbarbutton-icon {
157 /* Menu button styles (eg. web console filters) */
158 .devtools-toolbarbutton[type=menu-button] > .toolbarbutton-menubutton-button {
159 /* -moz-box-orient: horizontal; */
162 .devtools-toolbarbutton[type=menu-button] {
165 .devtools-toolbarbutton > .toolbarbutton-menubutton-button > .toolbarbutton-icon {
168 .devtools-menulist > .menulist-dropmarker {
171 .devtools-toolbarbutton[type=menu] > .toolbarbutton-menu-dropmarker,
172 .devtools-toolbarbutton[type=menu-button] > .toolbarbutton-menubutton-dropmarker {
175 /* Icon-only buttons */
176 .devtools-button:empty::before,
177 .devtools-toolbarbutton:not([label]):not([disabled]) > image {
181 .devtools-button:hover:empty::before,
182 .devtools-button[checked]:empty::before,
183 .devtools-button[open]:empty::before,
184 .devtools-toolbarbutton:not([label]):hover > image,
185 .devtools-toolbarbutton:not([label])[checked=true] > image,
186 .devtools-toolbarbutton:not([label])[open=true] > image {
190 .devtools-button:disabled,
191 .devtools-button[disabled],
192 .devtools-toolbarbutton[disabled] {
193 /* opacity: 0.5 !important;*/
196 .devtools-button[checked]:empty::before,
197 .devtools-button[open]:empty::before,
198 .devtools-toolbarbutton:not([label]):hover > image,
199 .devtools-toolbarbutton:not([label]):hover:active > image,
200 .devtools-toolbarbutton:not([label])[checked=true] > image,
201 .devtools-toolbarbutton:not([label])[open=true] > image {
202 filter: url(images/filters.svg#checked-icon-state);
205 /* Text-only buttons */
206 .devtools-toolbarbutton[label]:not([text-as-image]):not([type=menu-button]),
207 #toolbox-buttons .devtools-toolbarbutton[text-as-image] {
208 /* background-color: rgba(0, 0, 0, .2); / Splitter */
211 /* Text-only button states */
212 .devtools-button:not(:empty):not([disabled]):hover,
213 #toolbox-buttons .devtools-toolbarbutton:not([disabled])[text-as-image]:hover,
214 .devtools-toolbarbutton:not(:-moz-any([checked=true],[disabled],[text-as-image]))[label]:hover {
215 /* background: rgba(0, 0, 0, .3); / Splitters */
218 .devtools-button:not(:empty):not([disabled]):hover:active,
219 #toolbox-buttons .devtools-toolbarbutton:not([disabled])[text-as-image]:hover:active,
220 .devtools-toolbarbutton:not(:-moz-any([checked=true],[disabled],[text-as-image]))[label]:hover:active {
221 /* background: rgba(0, 0, 0, .4); / Splitters */
224 .devtools-toolbarbutton:not([disabled])[label][checked=true],
225 .devtools-toolbarbutton:not([disabled])[label][open],
226 .devtools-button:not(:empty)[checked=true],
227 #toolbox-buttons .devtools-toolbarbutton[text-as-image][checked=true] {
228 /* background: rgba(29, 79, 115, .7); / Select highlight blue /
229 color: var(--theme-selection-color); */
232 .devtools-menulist[open=true],
233 .devtools-toolbarbutton[open=true],
234 .devtools-toolbarbutton[open=true]:hover,
235 .devtools-toolbarbutton[open=true]:hover:active,
236 .devtools-toolbarbutton[checked=true],
237 .devtools-toolbarbutton[checked=true]:hover,
238 #toolbox-buttons .devtools-toolbarbutton[text-as-image][checked] {
239 /* background: rgba(29, 79, 115, .8); / Select highlight blue /
240 color: var(--theme-selection-color); */
243 .devtools-toolbarbutton[checked=true]:hover {
246 .devtools-option-toolbarbutton {
247 list-style-image: url("chrome://devtools/skin/images/tool-options-tbutton.svg");
250 /* Toolbar button groups */
251 .devtools-toolbarbutton-group > .devtools-toolbarbutton {
254 .devtools-toolbarbutton-group > .devtools-toolbarbutton:last-child {
257 .devtools-toolbarbutton-group + .devtools-toolbarbutton {
260 .devtools-separator + .devtools-toolbarbutton {
264 --clear-icon-url: url("chrome://devtools/skin/images/clear.svg");
267 .devtools-button.devtools-clear-icon::before {
268 background-image: var(--clear-icon-url);
271 .devtools-toolbarbutton.devtools-clear-icon {
272 list-style-image: var(--clear-icon-url);
278 .devtools-searchinput {
279 /* -moz-appearance: none;
281 border: 1px solid rgb(88, 94, 101);
283 background-color: rgba(24, 29, 32, 1);
285 color: rgba(184, 200, 217, 1);*/
288 :root[platform="mac"] .devtools-textinput,
289 :root[platform="mac"] .devtools-searchinput {
290 /* border-radius: 20px;*/
294 .devtools-searchinput {
298 -moz-padding-start: 22px;
299 -moz-padding-end: 4px;
300 background-position: 8px center;
301 background-size: 11px 11px;
302 background-repeat: no-repeat;
305 background-image: url("images/magnifying-glass.png");
308 .devtools-searchinput:-moz-locale-dir(rtl),
309 .devtools-searchinput:-moz-dir(rtl) {
310 background-position: calc(100% - 8px) center;
313 .devtools-searchinput > .textbox-input-box > .textbox-search-icons > .textbox-search-icon {
317 /* Searchbox is a div container element for a search input element */
318 .devtools-searchbox {
324 .devtools-rule-searchbox {
330 .devtools-rule-searchbox[filled] {
331 background-color: var(--searchbox-background-color);
332 border-color: var(--searchbox-border-color);
333 -moz-padding-end: 23px;
336 .devtools-style-searchbox-no-match {
337 background-color: var(--searcbox-no-match-background-color) !important;
338 border-color: var(--searcbox-no-match-border-color) !important;
341 .devtools-no-search-result {
342 border-color: var(--theme-highlight-red) !important;
345 .devtools-searchinput-clear {
353 background-position: 0 0;
354 background-repeat: no-repeat;
355 background-color: transparent;
358 .devtools-searchinput-clear:-moz-dir(rtl) {
363 .devtools-searchinput-clear {
364 background-image: url("chrome://devtools/skin/search-clear.svg");
367 .devtools-style-searchbox-no-match + .devtools-searchinput-clear {
368 background-image: url("chrome://devtools/skin/search-clear-failed.svg") !important;
371 .devtools-searchinput-clear:hover {
372 background-position: -16px 0;
375 .devtools-searchinput > .textbox-input-box > .textbox-search-icons > .textbox-search-clear {
376 list-style-image: url("chrome://devtools/skin/search-clear.svg");
377 -moz-image-region: rect(0, 16px, 16px, 0);
380 .devtools-searchinput > .textbox-input-box > .textbox-search-icons > .textbox-search-clear:hover {
381 -moz-image-region: rect(0, 32px, 16px, 16px);
384 @media (min-resolution: 1.1dppx) {
385 .devtools-searchinput {
386 background-image: url("images/magnifying-glass@2x.png");
392 .devtools-closebutton {
397 .devtools-closebutton > image {
400 -moz-appearance: none;
401 background-size: 32px 16px;
402 background-image: url("chrome://devtools/skin/close@2x.png");
403 background-position: 0 center;
404 background-repeat: no-repeat;
407 .devtools-closebutton:hover > image,
408 .devtools-closebutton:hover:active > image {
409 background-position: -16px center;
412 .devtools-closebutton > .toolbarbutton-text {
416 #toolbox-close::before {
417 background-image: url("chrome://devtools/skin/close@2x.png");
420 /* In-tools sidebar */
422 .devtools-sidebar-tabs {
425 .devtools-sidebar-tabs > tabpanels {
430 .devtools-sidebar-tabs tabs {
435 .devtools-sidebar-alltabs {
440 border-width: 0 0 1px 0;
441 -moz-border-start-width: 1px;
442 border-style: solid;*/
445 .devtools-sidebar-alltabs .toolbarbutton-icon {
449 .devtools-sidebar-tabs tabs > .tabs-right,
450 .devtools-sidebar-tabs tabs > .tabs-left {
454 .devtools-sidebar-tabs tabs > tab {
462 .devtools-sidebar-tabs tabs > tab:-moz-focusring {
466 .devtools-sidebar-tabs tabs > tab:first-of-type {
467 -moz-margin-start: 0;
470 .devtools-sidebar-tabs tabs > tab:last-of-type {
471 -moz-border-end-width: 0;
474 .devtools-sidebar-tabs tabs > tab {
477 .devtools-sidebar-tabs tabs > tab[selected],
478 .devtools-sidebar-tabs tabs > tab[selected] + tab {
481 .devtools-sidebar-tabs tabs > tab:first-child {
484 .devtools-sidebar-tabs tabs > tab:hover {
487 .devtools-sidebar-tabs tabs > tab:hover:active {
490 .devtools-sidebar-tabs tabs > tab[selected] + tab:hover {
493 .devtools-sidebar-tabs tabs > tab[selected] + tab:hover:active {
496 .devtools-sidebar-tabs tabs > tab[selected],
497 .devtools-sidebar-tabs tabs > tab[selected]:hover:active {
500 /* Toolbox - moved from toolbox.css.
501 * Rules that apply to the global toolbox like command buttons,
502 * devtools tabs, docking buttons, etc. */
504 #toolbox-controls > toolbarbutton,
505 #toolbox-dock-buttons > toolbarbutton {
507 /* padding: 1px 3px; */
510 #toolbox-dock-buttons > toolbarbutton > image {
513 background-size: 32px 16px;
514 background-position: 0 center;
515 background-repeat: no-repeat;
518 #toolbox-dock-buttons > toolbarbutton:hover > image {
519 background-position: -16px center;
522 #toolbox-dock-bottom::before,
523 #toolbox-dock-bottom > image {
524 background-image: url("chrome://devtools/skin/dock-bottom@2x.png");
527 #toolbox-dock-side::before,
528 #toolbox-dock-side > image {
529 background-image: url("chrome://devtools/skin/dock-side@2x.png");
532 #toolbox-dock-window::before,
533 #toolbox-dock-window > image {
534 background-image: url("chrome://devtools/skin/undock@2x.png");
537 #toolbox-dock-bottom-minimize {
538 /* Bug 1177463 - The minimize button is currently hidden until we agree on
539 the UI for it, and until bug 1173849 is fixed too. */
543 #toolbox-dock-bottom-minimize > image {
544 background-image: url("chrome://devtools/skin/dock-bottom-minimize@2x.png");
547 #toolbox-dock-bottom-minimize.minimized > image {
548 background-image: url("chrome://devtools/skin/dock-bottom-maximize@2x.png");
551 #toolbox-dock-window,
552 #toolbox-dock-bottom,
556 #toolbox-dock-window:hover,
557 #toolbox-dock-bottom:hover,
558 #toolbox-dock-side:hover {
561 .devtools-separator {
566 #toolbox-buttons:empty + .devtools-separator,
567 .devtools-separator[invisible] {
571 #toolbox-controls-separator {
576 /* Command buttons */
579 -moz-appearance: none;
581 /* padding: 0 8px; */
585 -moz-user-focus: normal;
588 .command-button:hover {
589 /* background-color: var(--toolbar-tab-hover); */
591 .command-button:hover:active, .command-button[checked=true]:not(:hover) {
592 /* background-color: var(--toolbar-tab-hover-active) */
595 #command-button-frames {
599 #toolbox-close::before,
600 .toolbox-dock-button::before,
601 .command-button::before,
602 .command-button > image {
605 background-size: cover;
606 background-position: 0 center;
607 background-repeat: no-repeat;
610 #toolbox-close:hover::before,
611 #toolbox-close:hover:active::before,
612 .toolbox-dock-button:hover::before,
613 .toolbox-dock-button:hover:active::before,
614 .command-button:hover::before,
615 .command-button:hover:active::before,
616 .command-button[checked=true]::before,
617 .command-button[open=true]::before,
618 .command-button:hover > image,
619 .command-button:hover:active > image,
620 .command-button[checked=true] > image,
621 .command-button[open=true] > image {
622 filter: url(images/filters.svg#checked-icon-state);
625 #command-button-paintflashing > image,
626 #command-button-paintflashing::before {
627 background-image: var(--command-paintflashing-image);
630 #command-button-screenshot > image,
631 #command-button-screenshot::before {
632 background-image: var(--command-screenshot-image);
635 #command-button-responsive > image,
636 #command-button-responsive::before {
637 background-image: var(--command-responsive-image);
640 #command-button-scratchpad > image,
641 #command-button-scratchpad::before {
642 background-image: var(--command-scratchpad-image);
645 #command-button-pick > image,
646 #command-button-pick::before {
647 background-image: var(--command-pick-image);
650 #command-button-splitconsole > image,
651 #command-button-splitconsole::before {
652 background-image: var(--command-splitconsole-image);
655 #command-button-noautohide > image,
656 #command-button-noautohide::before {
657 background-image: var(--command-noautohide-image);
660 #command-button-eyedropper > image,
661 #command-button-eyedropper::before {
662 background-image: var(--command-eyedropper-image);
665 #command-button-rulers > image,
666 #command-button-rulers::before {
667 background-image: var(--command-rulers-image);
670 #command-button-measure > image,
671 #command-button-measure::before {
672 background-image: var(--command-measure-image);
675 #command-button-frames > image,
676 #command-button-frames::before {
677 background-image: var(--command-frames-image);
686 padding-inline-start: 3px;
687 margin-inline-start: 2px; /* this is only needed for the old button design */
688 margin-inline-end: 3px; /* this is for the new ::before-based button design */
689 background-color: #000000;
696 visibility: collapse;
699 #toolbox-deck[selectedIndex] > .toolbox-panel, /* workaround for Firefox 47 and older */
700 .toolbox-panel[selected] {
709 -moz-margin-end: 3px;
711 -moz-padding-start: 3px;
712 background-color: #C09070;
713 border-radius: 8px 8px 0 0;
716 .devtools-tab > image {
717 -moz-margin-end: 0px;
718 /* -moz-margin-start: 4px; */
720 width: 16px; /* Prevents collapse during theme switching */
723 .devtools-tab:hover > image {
726 .devtools-tab:active > image,
727 .devtools-tab[selected] > image {
731 .devtools-tab:hover:active {
732 background-color: var(--theme-hover-background);
733 color: var(--theme-hover-color);
736 .devtools-tab[selected] {
737 background-color: var(--theme-selection-background);
738 color: var(--theme-selection-color);
741 .devtools-tab > spacer {
746 .devtools-tab > image {
748 -moz-margin-start: 0;
751 #toolbox-picker-container {
752 margin-inline-start: 1px;
755 #toolbox-option-container {
756 background-color: #000000;
757 padding-inline-start: 3px;
758 margin-inline-end: 1px;
761 #toolbox-tab-options {
765 #toolbox-tab-options > image {
766 -moz-margin-end: 3px;
769 .devtools-tab:not([highlighted]) > .highlighted-icon,
770 .devtools-tab[selected] > .highlighted-icon,
771 .devtools-tab:not([selected])[highlighted] > .default-icon {
772 visibility: collapse;
775 .devtools-tab:not([selected])[highlighted] {
778 .devtools-tab:not([selected])[highlighted] {
782 .devtools-tab:not([highlighted]) > .highlighted-icon,
783 .devtools-tab[selected] > .highlighted-icon,
784 .devtools-tab:not([selected])[highlighted] > .default-icon {
785 visibility: collapse;
788 /* The options tab is special - it doesn't have the same parent
789 as the other tabs (toolbox-option-container vs toolbox-tabs) */
790 #toolbox-option-container .devtools-tab:not([selected]) {
791 /* background-color: transparent;*/
793 #toolbox-option-container .devtools-tab {
794 /* border-color: transparent;
796 -moz-padding-start: 1px;*/
798 #toolbox-tab-options > image {
802 .hidden-labels-box:not(.visible) > label,
803 .hidden-labels-box.visible ~ .hidden-labels-box > label:last-child {
807 .devtools-horizontal-splitter {
808 /* border-bottom: 1px solid var(--theme-splitter-color); */
811 .devtools-side-splitter {
812 /* -moz-border-end: 1px solid var(--theme-splitter-color);
813 border-color: var(--theme-splitter-color); / Needed for responsive container at low width. */
817 .devtools-throbber::before {
819 display: inline-block;
820 vertical-align: bottom;
821 -moz-margin-end: 0.5em;
824 border: 2px solid currentColor;
825 border-right-color: transparent;
827 animation: 1.1s linear throbber-spin infinite;
830 @keyframes throbber-spin {
835 transform: rotate(360deg);