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 */
10 --toolbar-tab-hover: #FFCF00;
11 --toolbar-tab-hover-active: #FF9F00;
12 --searchbox-background-color: #000000;
13 --searchbox-border-color: #9C9CFF;
14 --searcbox-no-match-background-color: #400000;
15 --searcbox-no-match-border-color: #FF0000;
16 --magnifying-glass-image: url(images/search.svg);
17 --filter-image: url(images/filter.svg);
18 --tool-options-image: url(images/tool-options-tbutton.svg);
19 --icon-filter: invert(1);
20 --checked-icon-filter: url(images/filters.svg#checked-icon-state);
21 --toolbar-button-border-color: #A09090;
26 .devtools-sidebar-tabs tabs {
30 border-bottom: 3px solid var(--theme-body-background);
33 .devtools-toolbar checkbox {
34 /* LCARStrek checkbox colors don't work well against toolbar background */
35 background-color: var(--theme-toolbar-background);
37 line-height: -moz-block-height;
39 .devtools-toolbar checkbox .checkbox-check {
41 .devtools-toolbar checkbox .checkbox-label-box {
43 .devtools-toolbar checkbox .checkbox-label-box .checkbox-label {
49 background-image: linear-gradient(transparent 15%, var(--theme-splitter-color) 15%, var(--theme-splitter-color) 85%, transparent 85%);
50 background-size: 1px 100%;
51 background-repeat: no-repeat;
52 background-position: 0, 1px, 2px;
58 .devtools-toolbarbutton,
63 .devtools-toolbarbutton {
66 .devtools-toolbarbutton:not([label]) > .toolbarbutton-icon,
67 .devtools-button::before {
70 /* transition: opacity 0.05s ease-in-out;*/
81 margin-inline-start: 2px;
82 background: var(--theme-toolbar-background);
83 color: var(--theme-body-color);
84 /* The icon is absolutely positioned in the button using ::before */
88 .devtools-button:not([disabled]):hover {
89 background: var(--theme-hover-background);
90 color: var(--theme-hover-color);
93 .devtools-button:not([disabled]):hover:active {
94 background: var(--theme-active-background);
95 color: var(--theme-active-color);
98 /* Menu type buttons and checked states */
99 .devtools-button[checked] {
100 background: var(--theme-selection-background);
101 color: var(--theme-selection-color);
104 .devtools-button::before {
110 margin: -8px 0 0 -8px;
111 /* background-size: cover;
112 background-repeat: no-repeat;*/
113 /* transition: opacity 0.05s ease-in-out;*/
116 .devtools-button:-moz-focusring {
120 /* Standalone buttons */
121 .devtools-button[standalone],
122 .devtools-button[data-standalone],
123 .devtools-toolbarbutton[standalone],
124 .devtools-toolbarbutton[data-standalone] {
126 /* min-height: 32px; */
127 background-color: var(--theme-button-background);
128 color: var(--theme-button-color);
129 border-radius: 300px;
132 .devtools-button[standalone]:hover,
133 .devtools-button[data-standalone]:hover,
134 .devtools-toolbarbutton[standalone]:hover,
135 .devtools-toolbarbutton[data-standalone]:hover {
136 background-color: var(--theme-hover-background);
137 color: var(--theme-hover-color);
140 .devtools-button[standalone]:hover:active,
141 .devtools-button[data-standalone]:hover:active,
142 .devtools-toolbarbutton[standalone]:hover:active,
143 .devtools-toolbarbutton[data-standalone]:hover:active {
144 background-color: var(--theme-active-background);
145 color: var(--theme-active-color);
148 .devtools-toolbarbutton[standalone], .devtools-toolbarbutton[data-standalone] {
151 .devtools-toolbarbutton[label][standalone] {
155 .devtools-toolbarbutton,
160 /* Icon button styles */
161 .devtools-toolbarbutton:not([label]),
162 .devtools-toolbarbutton[text-as-image] {
166 /* Set flex attribute to Toolbox buttons and Picker container so,
167 they don't overlapp with the tab bar */
172 #toolbox-picker-container {
174 margin-inline-start: 1px;
177 .devtools-toolbarbutton:not([label]) > .toolbarbutton-text {
181 .devtools-toolbar .devtools-toolbarbutton {
182 margin-inline-start: 2px;
185 .devtools-toolbarbutton > .toolbarbutton-icon {
188 /* Menu button styles (eg. web console filters) */
189 .devtools-toolbarbutton[type=menu-button] > .toolbarbutton-menubutton-button {
190 /* -moz-box-orient: horizontal; */
193 .devtools-toolbarbutton[type=menu-button] {
196 .devtools-toolbarbutton > .toolbarbutton-menubutton-button > .toolbarbutton-icon {
199 .devtools-menulist > .menulist-dropmarker {
202 .devtools-toolbarbutton[type=menu] > .toolbarbutton-menu-dropmarker,
203 .devtools-toolbarbutton[type=menu-button] > .toolbarbutton-menubutton-dropmarker {
206 /* Icon-only buttons */
207 .devtools-button:empty::before,
208 .devtools-toolbarbutton:not([label]):not([disabled]) > image {
212 .devtools-button:hover:empty::before,
213 .devtools-button[checked]:empty::before,
214 .devtools-button[open]:empty::before,
215 .devtools-toolbarbutton:not([label]):hover > image,
216 .devtools-toolbarbutton:not([label])[checked=true] > image,
217 .devtools-toolbarbutton:not([label])[open=true] > image {
221 .devtools-button:disabled,
222 .devtools-button[disabled],
223 .devtools-toolbarbutton[disabled] {
224 /* opacity: 0.5 !important;*/
227 .devtools-button[standalone]::before,
228 .devtools-button[data-standalone]::before,
229 .devtools-button:not([disabled]):hover::before,
230 .devtools-button:not([disabled]):hover:active::before,
231 .devtools-button[checked]:empty::before,
232 .devtools-button[open]:empty::before,
233 .devtools-toolbarbutton[standalone] > image,
234 .devtools-toolbarbutton[data-standalone] > image,
235 .devtools-toolbarbutton:not([disabled]):hover > image,
236 .devtools-toolbarbutton:not([disabled]):hover:active > image,
237 .devtools-toolbarbutton[checked=true] > image,
238 .devtools-toolbarbutton[open=true] > image {
239 filter: var(--checked-icon-filter);
242 .devtools-button[disabled]::before,
243 .devtools-toolbarbutton[disabled] > image {
244 filter: url(images/filters.svg#disabled-icon-state);
247 /* Icon-and-text buttons */
248 .devtools-toolbarbutton.icon-and-text .toolbarbutton-text {
249 margin-inline-start: .5em !important;
253 /* Text-only buttons */
254 .devtools-toolbarbutton[label]:not([text-as-image]):not([type=menu-button]),
255 .devtools-toolbarbutton[data-text-only],
256 #toolbox-buttons .devtools-toolbarbutton[text-as-image] {
257 /* background-color: rgba(0, 0, 0, .2); / Splitter */
260 /* Text-only button states */
261 .devtools-button:not(:empty):not([disabled]):hover,
262 #toolbox-buttons .devtools-toolbarbutton:not([disabled])[text-as-image]:hover,
263 .devtools-toolbarbutton:not(:-moz-any([checked=true],[disabled],[text-as-image]))[label]:hover {
264 /* background: rgba(0, 0, 0, .3); / Splitters */
267 .devtools-button:not(:empty):not([disabled]):hover:active,
268 #toolbox-buttons .devtools-toolbarbutton:not([disabled])[text-as-image]:hover:active,
269 .devtools-toolbarbutton:not(:-moz-any([checked=true],[disabled],[text-as-image]))[label]:hover:active {
270 /* background: rgba(0, 0, 0, .4); / Splitters */
273 .devtools-toolbarbutton:not([disabled])[label][checked=true],
274 .devtools-toolbarbutton:not([disabled])[label][open],
275 .devtools-button:not(:empty)[checked=true],
276 #toolbox-buttons .devtools-toolbarbutton[text-as-image][checked=true] {
277 /* background: rgba(29, 79, 115, .7); / Select highlight blue /
278 color: var(--theme-selection-color); */
281 .devtools-menulist[open=true],
282 .devtools-toolbarbutton[open=true],
283 .devtools-toolbarbutton[open=true]:hover,
284 .devtools-toolbarbutton[open=true]:hover:active,
285 .devtools-toolbarbutton[checked=true],
286 .devtools-toolbarbutton[checked=true]:hover,
287 #toolbox-buttons .devtools-toolbarbutton[text-as-image][checked] {
288 /* background: rgba(29, 79, 115, .8); / Select highlight blue /
289 color: var(--theme-selection-color); */
293 --clear-icon-url: url("chrome://devtools/skin/images/clear.svg");
296 .devtools-button.devtools-clear-icon::before {
297 background-image: var(--clear-icon-url);
300 .devtools-toolbarbutton.devtools-clear-icon {
301 list-style-image: var(--clear-icon-url);
304 .devtools-option-toolbarbutton {
305 list-style-image: var(--tool-options-image);
308 .devtools-toolbarbutton-group > .devtools-toolbarbutton:last-child {
311 .devtools-toolbarbutton-group + .devtools-toolbarbutton {
314 .devtools-separator + .devtools-toolbarbutton {
320 .devtools-searchinput,
321 .devtools-filterinput {
322 /* -moz-appearance: none;
327 border-color: var(--theme-splitter-color);
333 :root[platform="mac"] .devtools-searchinput,
334 :root[platform="mac"] .devtools-textinput {
335 /* border-radius: 20px;*/
338 .devtools-searchinput,
339 .devtools-filterinput {
343 padding-inline-start: 22px;
344 padding-inline-end: 4px;
345 background-position: 8px center;
346 background-size: 11px 11px;
347 background-repeat: no-repeat;
351 .devtools-searchinput {
352 background-image: var(--magnifying-glass-image);
355 .devtools-filterinput {
356 background-image: url(--filter-image);
359 .devtools-searchinput:-moz-locale-dir(rtl),
360 .devtools-searchinput:dir(rtl),
361 .devtools-filterinput:-moz-locale-dir(rtl),
362 .devtools-filterinput:dir(rtl) {
363 background-position: calc(100% - 8px) center;
366 .devtools-searchinput > .textbox-input-box > .textbox-search-icons > .textbox-search-icon,
367 .devtools-filterinput > .textbox-input-box > .textbox-search-icons > .textbox-search-icon {
371 .devtools-searchinput .textbox-input::-moz-placeholder,
372 .devtools-filterinput .textbox-input::-moz-placeholder {
376 /* Searchbox is a div container element for a search input element */
377 .devtools-searchbox {
383 /* The spacing is accomplished with a padding on the searchbox */
384 .devtools-searchbox > .devtools-textinput,
385 .devtools-searchbox > .devtools-searchinput {
388 .devtools-textinput:focus,
389 .devtools-searchinput:focus,
390 .devtools-filterinput:focus {
391 border-color: var(--theme-focus-border-color-textbox);
392 /* box-shadow: var(--theme-focus-box-shadow-textbox);*/
393 transition: all 0.2s ease-in-out;
397 /* Don't add 'double spacing' for inputs that are at beginning / end
398 of a toolbar (since the toolbar has it's own spacing). */
399 .devtools-toolbar > .devtools-textinput:first-child,
400 .devtools-toolbar > .devtools-searchinput:first-child,
401 .devtools-toolbar > .devtools-filterinput:first-child {
403 .devtools-toolbar > .devtools-textinput:last-child,
404 .devtools-toolbar > .devtools-searchinput:last-child,
405 .devtools-toolbar > .devtools-filterinput:last-child {
407 .devtools-toolbar > .devtools-searchbox:first-child {
409 .devtools-toolbar > .devtools-searchbox:last-child {
412 .devtools-rule-searchbox {
418 .devtools-rule-searchbox[filled] {
419 background-color: var(--searchbox-background-color);
420 border-color: var(--searchbox-border-color);
421 padding-inline-end: 23px;
424 .devtools-style-searchbox-no-match {
425 background-color: var(--searcbox-no-match-background-color) !important;
426 border-color: var(--searcbox-no-match-border-color) !important;
429 .devtools-searchinput-clear {
437 background-position: 0 0;
438 background-repeat: no-repeat;
439 background-color: transparent;
442 .devtools-searchinput-clear:dir(rtl) {
447 .devtools-searchinput-clear {
448 background-image: url("chrome://devtools/skin/images/search-clear.svg");
451 .devtools-style-searchbox-no-match + .devtools-searchinput-clear {
452 background-image: url("chrome://devtools/skin/images/search-clear-failed.svg") !important;
455 .devtools-searchinput-clear:hover {
456 background-position: -16px 0;
459 .devtools-searchinput > .textbox-input-box > .textbox-search-icons > .textbox-search-clear,
460 .devtools-filterinput > .textbox-input-box > .textbox-search-icons > .textbox-search-clear {
461 list-style-image: url("chrome://devtools/skin/images/search-clear.svg");
462 -moz-image-region: rect(0, 16px, 16px, 0);
465 .devtools-searchinput > .textbox-input-box > .textbox-search-icons > .textbox-search-clear:hover,
466 .devtools-filterinput > .textbox-input-box > .textbox-search-icons > .textbox-search-clear:hover {
467 -moz-image-region: rect(0, 32px, 16px, 16px);
470 /* In-tools sidebar */
472 .devtools-sidebar-tabs {
476 .devtools-sidebar-tabs > tabpanels {
481 .devtools-sidebar-tabs tabs {
486 .devtools-sidebar-alltabs {
487 /* -moz-appearance: none;
492 border-width: 0 0 1px 0;
493 border-inline-start-width: 1px;
494 border-style: solid;*/
497 .devtools-sidebar-alltabs .toolbarbutton-icon {
501 .devtools-sidebar-tabs tabs > .tabs-right,
502 .devtools-sidebar-tabs tabs > .tabs-left {
506 .devtools-sidebar-tabs tabs > tab {
514 .devtools-sidebar-tabs tabs > tab:-moz-focusring {
518 .devtools-sidebar-tabs tabs > tab:first-of-type {
519 margin-inline-start: 0;
522 .devtools-sidebar-tabs tabs > tab:last-of-type {
523 border-inline-end-width: 0;
526 .devtools-sidebar-tabs tabs > tab {
529 .devtools-sidebar-tabs tabs > tab[selected],
530 .devtools-sidebar-tabs tabs > tab[selected] + tab {
533 .devtools-sidebar-tabs tabs > tab:first-child {
536 .devtools-sidebar-tabs tabs > tab:hover {
539 .devtools-sidebar-tabs tabs > tab:hover:active {
542 .devtools-sidebar-tabs tabs > tab[selected],
543 .devtools-sidebar-tabs tabs > tab[selected]:hover:active {
546 .hidden-labels-box:not(.visible) > label,
547 .hidden-labels-box.visible ~ .hidden-labels-box > label:last-child {
551 .devtools-invisible-splitter {
552 border-color: transparent;
553 background-color: transparent;
556 .devtools-horizontal-splitter,
557 .devtools-side-splitter {
558 /* background-color: var(--theme-splitter-color);*/
563 .devtools-throbber::before {
565 display: inline-block;
566 vertical-align: bottom;
567 margin-inline-end: 0.5em;
570 border: 2px solid currentColor;
571 border-right-color: transparent;
573 animation: 1.1s linear throbber-spin infinite;
576 @keyframes throbber-spin {
581 transform: rotate(360deg);