2dc7892dc206379e0adf8e67c45326a7bb167230
[themes.git] / LCARStrek / browser / devtools / widgets.css
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/. */
5
6 /* === BEGIN widgets.inc.css === */
7
8 /* Generic pane helpers */
9
10 .generic-toggled-side-pane {
11   -moz-margin-start: 0px !important;
12   /* Unfortunately, transitions don't work properly with locale-aware properties,
13      so both the left and right margins are set via js, while the start margin
14      is always overridden here. */
15 }
16
17 .generic-toggled-side-pane[animated] {
18   transition: margin 0.25s ease-in-out;
19 }
20
21 /* Responsive container */
22
23 .devtools-responsive-container {
24   -moz-box-orient: horizontal;
25 }
26
27 .devtools-main-content {
28   min-width: 50px;
29 }
30
31 .devtools-main-content,
32 .devtools-sidebar-tabs {
33   /* Prevent some children that should be hidden from remaining visible as this is shrunk (Bug 971959) */
34   position: relative;
35 }
36
37 @media (max-width: 700px) {
38   .devtools-responsive-container {
39     -moz-box-orient: vertical;
40   }
41
42   .devtools-responsive-container > .devtools-side-splitter {
43     border: 0;
44     margin: 0;
45     min-height: 3px;
46     height: 3px;
47     margin-bottom: -3px;
48     /* In some edge case the cursor is not changed to n-resize */
49     cursor: n-resize;
50   }
51
52   .devtools-responsive-container > .devtools-sidebar-tabs {
53     min-height: 35vh;
54     max-height: 75vh;
55   }
56 }
57
58 /* BreacrumbsWidget */
59
60 .breadcrumbs-widget-container {
61   -moz-margin-start: 2px;
62   -moz-margin-start: 2px;
63   max-height: 24px; /* Set max-height for proper sizing on linux */
64   height: 24px; /* Set height to prevent starting small waiting for content */
65 }
66
67 .scrollbutton-up,
68 .scrollbutton-down {
69   background: transparent;
70   box-shadow: none;
71   border: none;
72   margin: 0;
73   padding: 0;
74 }
75
76 .scrollbutton-up {
77   -moz-margin-end: 1px;
78 }
79
80 .scrollbutton-down {
81   -moz-margin-end: 0;
82 }
83
84 .scrollbutton-up > .toolbarbutton-icon,
85 .scrollbutton-down > .toolbarbutton-icon {
86   /* margin: 0 5px; */
87 }
88
89 .scrollbutton-up:not([disabled]):active:hover > .toolbarbutton-icon,
90 .scrollbutton-down:not([disabled]):active:hover > .toolbarbutton-icon {
91 }
92
93 .scrollbutton-up[disabled] > .toolbarbutton-icon,
94 .scrollbutton-down[disabled] > .toolbarbutton-icon {
95 }
96
97 .scrollbutton-up:-moz-locale-dir(ltr) {
98   border-top-right-radius: 0;
99   border-bottom-right-radius: 0;
100 }
101
102 .scrollbutton-down:-moz-locale-dir(ltr) {
103   border-top-left-radius: 0;
104   border-bottom-left-radius: 0;
105 }
106
107 .scrollbutton-up:-moz-locale-dir(rtl) {
108   border-top-left-radius: 0;
109   border-bottom-left-radius: 0;
110 }
111
112 .scrollbutton-down:-moz-locale-dir(rtl) {
113   border-top-right-radius: 0;
114   border-bottom-right-radius: 0;
115 }
116
117 /* Draw shadows to indicate there is more content 'behind' scrollbuttons. */
118 /*
119 .scrollbutton-up:-moz-locale-dir(ltr),
120 .scrollbutton-down:-moz-locale-dir(rtl) {
121   border-right: solid 1px rgba(255, 255, 255, .1);
122   border-left: solid 1px transparent;
123   box-shadow: 3px 0px 3px -3px var(--theme-sidebar-background);
124 }
125
126 .scrollbutton-down:-moz-locale-dir(ltr),
127 .scrollbutton-up:-moz-locale-dir(rtl) {
128   border-right: solid 1px transparent;
129   border-left: solid 1px rgba(255, 255, 255, .1);
130   box-shadow: -3px 0px 3px -3px var(--theme-sidebar-background);
131 }
132
133 .scrollbutton-up[disabled],
134 .scrollbutton-down[disabled] {
135   box-shadow: none;
136   border-color: transparent;
137 }
138 */
139
140 .scrollbutton-up > .toolbarbutton-icon:-moz-locale-dir(rtl),
141 .scrollbutton-down > .toolbarbutton-icon:-moz-locale-dir(ltr) {
142 /*  transform: scaleX(-1); */
143 }
144
145 /* The breadcrumb separator elements are used as background images with
146  * -moz-element, so we position them offscreen since we don't care about
147  * seeing the original elements.
148  */
149 .breadcrumb-separator-container {
150   position: fixed;
151   top: -1000px;
152   left: -1000px;
153 }
154
155 #breadcrumb-separator-before,
156 #breadcrumb-separator-after,
157 #breadcrumb-separator-normal {
158   width: 12px;
159   height: 24px;
160   overflow: hidden;
161 }
162
163 #breadcrumb-separator-before,
164 #breadcrumb-separator-after:after {
165   background: var(--theme-selection-background);
166 }
167
168 #breadcrumb-separator-after,
169 #breadcrumb-separator-before:after {
170   background: var(--theme-toolbar-background);
171 }
172
173 /* This chevron arrow cannot be replicated easily in CSS, so we are using
174  * a background image for it (still keeping it in a separate element so
175  * we can handle RTL support with a CSS transform).
176  */
177 #breadcrumb-separator-normal {
178   background: url("breadcrumbs-divider@2x.png") no-repeat center right;
179   background-size: 12px 24px;
180 }
181
182 /* Fake a triangle by rotating a rectangle inside the elements */
183 #breadcrumb-separator-before:after,
184 #breadcrumb-separator-after:after {
185   content: "";
186   display: block;
187   width: 25px;
188   height: 24px;
189   transform: translateX(-18px) rotate(45deg);
190   box-sizing: border-box;
191 }
192
193 .breadcrumbs-widget-item {
194   background-color: var(--theme-toolbar-background);
195   min-height: 24px;
196   min-width: 65px;
197   margin: 0;
198   padding: 0 8px 0 20px;
199   border: none;
200   border-radius: 0;
201   outline: none;
202   color: var(--theme-content-color1);
203 }
204
205 .breadcrumbs-widget-item:hover {
206   background-color: var(--theme-hover-background);
207   color: var(--theme-hover-color);
208 }
209
210 .breadcrumbs-widget-item[checked]:not(:hover) {
211   background-color: var(--theme-selection-background);
212   color: var(--theme-selection-color);
213 }
214
215 .breadcrumbs-widget-item[siblings-menu-open],
216 .breadcrumbs-widget-item:active {
217   background-color: #FF9F00;
218   color: #000000;
219 }
220
221 .breadcrumbs-widget-item > .button-box {
222   border: none;
223   padding-top: 0;
224   padding-bottom: 0;
225 }
226
227 .breadcrumbs-widget-item:not([checked]) {
228   background-image: -moz-element(#breadcrumb-separator-normal);
229   background-repeat: no-repeat;
230   background-position: center left;
231 }
232
233 .breadcrumbs-widget-item[checked] + .breadcrumbs-widget-item {
234   background-image: -moz-element(#breadcrumb-separator-after);
235   background-repeat: no-repeat;
236   background-position: 0 0;
237 }
238
239 .breadcrumbs-widget-item[checked] {
240   background-image: -moz-element(#breadcrumb-separator-before);
241   background-repeat: no-repeat;
242   background-position: 0 0;
243   background-color: #008484; /* Select Highlight Blue */
244 }
245
246 .breadcrumbs-widget-item:first-child {
247   background-image: none;
248 }
249
250 /* RTL support: move the images that were on the left to the right,
251  * and move images that were on the right to the left.
252  */
253 .breadcrumbs-widget-item:-moz-locale-dir(rtl) {
254   padding: 0 20px 0 8px;
255 }
256
257 .breadcrumbs-widget-item:-moz-locale-dir(rtl),
258 .breadcrumbs-widget-item[checked] + .breadcrumbs-widget-item:-moz-locale-dir(rtl) {
259   background-position: center right;
260 }
261
262 #breadcrumb-separator-before:-moz-locale-dir(rtl),
263 #breadcrumb-separator-after:-moz-locale-dir(rtl),
264 #breadcrumb-separator-normal:-moz-locale-dir(rtl) {
265   transform: scaleX(-1);
266 }
267
268 #breadcrumb-separator-before:-moz-locale-dir(rtl):after,
269 #breadcrumb-separator-after:-moz-locale-dir(rtl):after {
270   transform: translateX(-5px) rotate(45deg);
271 }
272
273 .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-id,
274 .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-tag,
275 .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-pseudo-classes,
276 .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-classes {
277   color: var(--theme-highlight-lightorange);
278 }
279
280 .breadcrumbs-widget-item:not([checked]):hover .breadcrumbs-widget-item-id,
281 .breadcrumbs-widget-item:not([checked]):hover .breadcrumbs-widget-item-tag,
282 .breadcrumbs-widget-item:not([checked]):hover .breadcrumbs-widget-item-pseudo-classes,
283 .breadcrumbs-widget-item:not([checked]):hover .breadcrumbs-widget-item-classes {
284   color: var(--theme-hover-color) !important;
285 }
286
287 .breadcrumbs-widget-item {
288   color: var(--theme-highlight-lightorange);
289 }
290
291 .breadcrumbs-widget-item-id {
292   color: var(--theme-body-color-alt);
293 }
294
295 .breadcrumbs-widget-item-classes {
296   color: var(--theme-content-color1);
297 }
298
299 .breadcrumbs-widget-item-pseudo-classes {
300   color: var(--theme-highlight-lightorange);
301 }
302
303 /* SimpleListWidget */
304
305 .simple-list-widget-container {
306   /* Hack: force hardware acceleration */
307   transform: translateZ(1px);
308 }
309
310 .simple-list-widget-item.selected {
311   background-color: var(--theme-selection-background);
312   color: var(--theme-selection-color);
313 }
314
315 .simple-list-widget-item:not(.selected):hover {
316   background-color: var(--theme-hover-background);
317   color: var(--theme-hover-color);
318 }
319
320 .simple-list-widget-perma-text,
321 .simple-list-widget-empty-text {
322   color: var(--theme-body-color-alt);
323   padding: 4px 8px;
324 }
325
326 /* FastListWidget */
327
328 .fast-list-widget-container {
329   /* Hack: force hardware acceleration */
330   transform: translateZ(1px);
331 }
332
333 /* dark/light theme */
334 .fast-list-widget-empty-text {
335   padding: 12px;
336   font-weight: 600;
337   color: var(--theme-body-color-alt);
338 }
339
340 /* SideMenuWidget */
341
342 /* SideMenuWidget container */
343
344 .side-menu-widget-container {
345   /* Hack: force hardware acceleration */
346   transform: translateZ(1px);
347 }
348
349 .side-menu-widget-container:-moz-locale-dir(ltr),
350 .side-menu-widget-empty-text:-moz-locale-dir(ltr) {
351 }
352
353 .side-menu-widget-container:-moz-locale-dir(rtl),
354 .side-menu-widget-empty-text:-moz-locale-dir(rtl)[with-arrows=true]:-moz-locale-dir(rtl) {
355 }
356
357 .side-menu-widget-group {
358   /* To allow visibility of the dark margin shadow. */
359 /*  -moz-margin-end: 1px; */
360 }
361
362 .side-menu-widget-container[with-arrows=true] .side-menu-widget-item {
363   /* To compensate for the arrow image's dark margin. */
364 /*  -moz-margin-end: -1px; */
365 }
366
367 /* SideMenuWidget groups */
368
369 .side-menu-widget-group-title {
370   padding: 4px;
371   background-color: var(--theme-contrastsidebar-background);
372   color: var(--theme-contrastsidebar-color);
373 }
374
375 /* SideMenuWidget items */
376
377 .side-menu-widget-item {
378   border-top: 1px solid #9C9CFF;
379   /* To compensate for the top and bottom borders */
380   margin-top: -1px;
381   margin-bottom: -1px;
382   background-clip: padding-box;
383 }
384
385 .side-menu-widget-item:last-of-type {
386   border-bottom: 1px solid #9C9CFF;
387 }
388
389 .side-menu-widget-item.selected {
390   background-color: var(--theme-selection-background);
391   color: var(--theme-selection-color);
392 }
393
394 .side-menu-widget-item-arrow {
395   -moz-margin-start: -7px;
396   width: 7px; /* The image's width is 7 pixels */
397   /* Cover the border of the side-menu-widget-item */
398   margin-top: -1px;
399   margin-bottom: -1px;
400 }
401
402 .side-menu-widget-item.selected > .side-menu-widget-item-arrow {
403   background-size: auto, 1px 100%;
404   background-repeat: no-repeat;
405 }
406
407 .side-menu-widget-item.selected > .side-menu-widget-item-arrow:-moz-locale-dir(ltr) {
408   background-position: center right;
409 }
410
411 .side-menu-widget-item.selected > .side-menu-widget-item-arrow:-moz-locale-dir(rtl) {
412   background-position: center left;
413 }
414
415 .side-menu-widget-item.selected > .side-menu-widget-item-arrow:-moz-locale-dir(ltr) {
416   background-image: url("itemArrow-ltr.svg");
417 }
418
419 .side-menu-widget-item.selected > .side-menu-widget-item-arrow:-moz-locale-dir(rtl) {
420   background-image: url("itemArrow-rtl.svg");
421 }
422
423 /* SideMenuWidget items contents */
424
425 .side-menu-widget-item-contents {
426   padding: 4px;
427   /* To avoid having content overlapping the arrow image. */
428   -moz-padding-end: 8px;
429 }
430
431 .side-menu-widget-item-other {
432   /* To avoid having content overlapping the arrow image. */
433   -moz-padding-end: 8px;
434   /* To compensate for the .side-menu-widget-item-contents padding. */
435   -moz-margin-start: -4px;
436   -moz-margin-end: -8px;
437   color: var(--theme-selection-color);
438 }
439
440 .side-menu-widget-item-other.selected {
441   background-color: var(--theme-selection-background);
442   color: var(--theme-selection-color);
443 }
444
445 .side-menu-widget-item-other:first-of-type {
446   margin-top: 4px;
447 /*  border-top-left-radius: 4px; */
448 }
449
450 .side-menu-widget-item-other:last-of-type {
451   margin-bottom: -4px;
452 }
453
454 .side-menu-widget-item-other:not(.selected) > label {
455   color: #9C9CFF;
456 }
457
458 /* SideMenuWidget checkboxes */
459
460 .side-menu-widget-group-checkbox {
461   margin: 0;
462   -moz-margin-end: 4px;
463 }
464
465 .side-menu-widget-item-checkbox {
466   margin: 0;
467   -moz-margin-start: 4px;
468   -moz-margin-end: -4px;
469 }
470
471 /* SideMenuWidget misc */
472
473 .theme-dark .side-menu-widget-container,
474 .theme-dark .side-menu-widget-empty-text {
475   background-color: var(--theme-toolbar-background);
476 }
477
478 .side-menu-widget-empty-text {
479   padding: 12px;
480 }
481
482 /* VariablesView */
483
484 .variables-view-container:not([empty]) {
485   /* Hack: force hardware acceleration */
486   transform: translateZ(1px);
487 }
488
489 .variables-view-empty-notice {
490   color: var(--theme-body-color-alt);
491   padding: 2px;
492 }
493
494 .variables-view-scope:focus > .title,
495 .theme-dark .variable-or-property:focus > .title {
496   background-color: var(--theme-selection-background);
497   color: var(--theme-selection-color);
498 }
499
500 .variables-view-scope > .title {
501   background-color: #A09090;
502   color: #000000;
503 }
504
505 /* Generic variables traits */
506
507 .variables-view-variable:not(:last-child) {
508   border-bottom: 1px solid #A09090;
509 }
510
511 .variables-view-variable > .title > .name {
512   font-weight: 600;
513 }
514
515 /* Generic variables *and* properties traits */
516
517 .variable-or-property:focus > .title > label {
518   color: inherit !important;
519 }
520
521 .variables-view-container .theme-twisty {
522   margin: 2px;
523 }
524
525 .variable-or-property > .title > .theme-twisty {
526   -moz-margin-start: 5px;
527 }
528
529 .variable-or-property:not([untitled]) > .variables-view-element-details {
530   -moz-margin-start: 7px;
531 }
532
533 /* Traits applied when variables or properties are changed or overridden */
534
535 .variable-or-property:not([overridden]) {
536   transition: background 1s ease-in-out, color 1s ease-in-out;
537 }
538
539 .variable-or-property:not([overridden])[changed] {
540   color: #000000;
541   transition-duration: .4s;
542 }
543
544 .variable-or-property[overridden] {
545   background: rgba(160,144,144,0.0.5);
546 }
547
548 .variable-or-property[overridden] .title > label {
549   /* Cross out the title for this variable and all child properties. */
550   font-style: italic;
551   text-decoration: line-through;
552   border-bottom: none !important;
553   color: #A09090;
554   opacity: 0.7;
555 }
556
557 /* Traits applied when variables or properties are editable */
558
559 .variable-or-property[editable] > .title > .value {
560   cursor: text;
561 }
562
563 .variable-or-property[overridden] .title > .value {
564   /* Disallow editing this variable and all child properties. */
565   pointer-events: none;
566 }
567
568 /* Custom configurable/enumerable/writable or frozen/sealed/extensible
569  * variables and properties */
570
571 .variable-or-property[non-enumerable]:not([self]):not([pseudo-item]) > .title > .name {
572   opacity: 0.6;
573 }
574
575 .variable-or-property-non-writable-icon {
576   background: url("chrome://browser/skin/devtools/vview-lock.png") no-repeat;
577   background-size: cover;
578   width: 16px;
579   height: 16px;
580   opacity: 0.5;
581 }
582
583 @media (min-resolution: 2dppx) {
584   .variable-or-property-non-writable-icon > .title:after {
585     background-image: url("chrome://browser/skin/devtools/vview-lock@2x.png");
586   }
587 }
588
589 .variable-or-property-frozen-label,
590 .variable-or-property-sealed-label,
591 .variable-or-property-non-extensible-label {
592   height: 16px;
593   -moz-padding-end: 4px;
594 }
595
596 .variable-or-property:not(:focus) > .title > .variable-or-property-frozen-label,
597 .variable-or-property:not(:focus) > .title > .variable-or-property-sealed-label,
598 .variable-or-property:not(:focus) > .title > .variable-or-property-non-extensible-label {
599   color: #A09090;
600 }
601
602 /* Aligned values */
603
604 .variables-view-container[aligned-values] .title > .separator {
605   -moz-box-flex: 1;
606 }
607
608 .variables-view-container[aligned-values] .title > .value {
609   -moz-box-flex: 0;
610   width: 70vw;
611 }
612
613 .variables-view-container[aligned-values] .title > .element-value-input {
614   width: calc(70vw - 10px);
615 }
616
617 /* Actions first */
618
619 .variables-view-open-inspector {
620   -moz-box-ordinal-group: 1;
621 }
622
623 .variables-view-edit,
624 .variables-view-add-property {
625   -moz-box-ordinal-group: 2;
626 }
627
628 .variable-or-property-frozen-label,
629 .variable-or-property-sealed-label,
630 .variable-or-property-non-extensible-label,
631 .variable-or-property-non-writable-icon {
632   -moz-box-ordinal-group: 3;
633 }
634
635 .variables-view-delete {
636   -moz-box-ordinal-group: 4;
637 }
638
639 .variables-view-container[actions-first] .variables-view-delete,
640 .variables-view-container[actions-first] .variables-view-add-property,
641 .variables-view-container[actions-first] .variables-view-open-inspector {
642   -moz-box-ordinal-group: 0;
643 }
644
645 .variables-view-container[actions-first] [invisible] {
646   visibility: hidden;
647 }
648
649 /* Variables and properties tooltips */
650
651 .variable-or-property > tooltip > label {
652   margin: 0 2px 0 2px;
653 }
654
655 .variable-or-property[non-enumerable] > tooltip > label.enumerable,
656 .variable-or-property[non-configurable] > tooltip > label.configurable,
657 .variable-or-property[non-writable] > tooltip > label.writable
658 .variable-or-property[non-extensible] > tooltip > label.extensible {
659   color: #A09090;
660   text-decoration: line-through;
661 }
662
663 .variable-or-property[overridden] > tooltip > label.overridden {
664   -moz-padding-start: 4px;
665   -moz-border-start: 1px dotted #9C9CFF;
666 }
667
668 .variable-or-property[safe-getter] > tooltip > label.WebIDL {
669   -moz-padding-start: 4px;
670   -moz-border-start: 1px dotted #9C9CFF;
671   color: #008484;
672 }
673
674 /* Variables and properties editing */
675
676 .variables-view-delete {
677   background: url("chrome://browser/skin/devtools/vview-delete.png");
678   background-size: cover;
679   width: 16px;
680   height: 16px;
681 }
682
683 @media (min-resolution: 2dppx) {
684   .variables-view-delete {
685     background-image: url("chrome://browser/skin/devtools/vview-delete@2x.png");
686   }
687 }
688
689 .variables-view-delete:hover {
690   background-position: 32px;
691 }
692
693 .variables-view-delete:active {
694   background-position: 16px;
695 }
696
697 .variable-or-property:focus > .title > .variables-view-delete {
698 /*  background-position: 0px; */
699 }
700
701 .variables-view-edit {
702   background: url("chrome://browser/skin/devtools/vview-edit.png");
703   background-size: cover;
704   width: 16px;
705   height: 16px;
706   cursor: pointer;
707 }
708
709 @media (min-resolution: 2dppx) {
710   .variables-view-edit {
711     background-image: url("chrome://browser/skin/devtools/vview-edit@2x.png");
712   }
713 }
714
715 .variables-view-edit:hover {
716   background-position: 32px;
717 }
718
719 .variables-view-edit:active {
720   background-position: 16px;
721 }
722
723 .variable-or-property:focus > .title > .variables-view-edit {
724 /*  background-position: 0px; */
725 }
726
727 .variables-view-open-inspector {
728   background: url("chrome://browser/skin/devtools/vview-open-inspector.png");
729   background-size: cover;
730   width: 16px;
731   height: 16px;
732   cursor: pointer;
733 }
734
735 .variables-view-open-inspector:hover {
736   background-position: 32px;
737 }
738
739 .variables-view-open-inspector:active {
740   background-position: 16px;
741 }
742
743 .variable-or-property:focus > .title > .variables-view-open-inspector {
744 /*  background-position: 0px; */
745 }
746
747 /* Variables and properties input boxes */
748
749 .variable-or-property > .title > .separator + .element-value-input {
750   -moz-margin-start: -2px !important;
751   -moz-margin-end: 2px !important;
752 }
753
754 .variable-or-property > .title > .separator[hidden=true] + .element-value-input {
755   -moz-margin-start: 4px !important;
756   -moz-margin-end: 2px !important;
757 }
758
759 .element-name-input {
760   -moz-margin-start: -2px !important;
761   -moz-margin-end: 2px !important;
762   font-weight: 600;
763 }
764
765 .element-value-input,
766 .element-name-input {
767   border: 1px solid #008484 !important;
768   color: inherit;
769 }
770
771 /* Variables and properties searching */
772
773 .variable-or-property[unmatched] {
774   border: none;
775   margin: 0;
776 }
777
778 /* Canvas graphs */
779
780 .graph-widget-container {
781   position: relative;
782 }
783
784 .graph-widget-canvas {
785   width: 100%;
786   height: 100%;
787 }
788
789 .graph-widget-canvas[input=hovering-background] {
790   cursor: text;
791 }
792
793 .graph-widget-canvas[input=hovering-region] {
794   cursor: pointer;
795 }
796
797 .graph-widget-canvas[input=hovering-selection-start-boundary],
798 .graph-widget-canvas[input=hovering-selection-end-boundary],
799 .graph-widget-canvas[input=adjusting-selection-boundary] {
800   cursor: col-resize;
801 }
802
803 .graph-widget-canvas[input=hovering-selection-contents] {
804   cursor: grab;
805 }
806
807 .graph-widget-canvas[input=dragging-selection-contents] {
808   cursor: grabbing;
809 }
810
811 /* Line graph widget */
812
813 .line-graph-widget-gutter {
814   position: absolute;
815   background: #000000;
816   width: 10px;
817   height: 100%;
818   top: 0;
819   left: 0;
820   border-right: 1px solid #9C9CFF;
821   pointer-events: none;
822 }
823
824 .line-graph-widget-gutter-line {
825   position: absolute;
826   width: 100%;
827   border-top: 1px solid;
828 }
829
830 .line-graph-widget-gutter-line[type=maximum] {
831   border-color: #008484;
832 }
833
834 .line-graph-widget-gutter-line[type=minimum] {
835   border-color: #FF0000;
836 }
837
838 .line-graph-widget-gutter-line[type=average] {
839   border-color: #FF9F00;
840 }
841
842 .line-graph-widget-tooltip {
843   position: absolute;
844   background: #404000;
845   border-radius: 2px;
846   line-height: 15px;
847   -moz-padding-start: 6px;
848   -moz-padding-end: 6px;
849   transform: translateY(-50%);
850   font-size: 80%;
851   z-index: 1;
852   pointer-events: none;
853 }
854
855 .line-graph-widget-tooltip[with-arrows=true]::before {
856   content: "";
857   position: absolute;
858   border-top: 3px solid transparent;
859   border-bottom: 3px solid transparent;
860   top: calc(50% - 3px);
861 }
862
863 .line-graph-widget-tooltip[arrow=start][with-arrows=true]::before {
864   -moz-border-end: 3px solid #9C9CFF;
865   left: -3px;
866 }
867
868 .line-graph-widget-tooltip[arrow=end][with-arrows=true]::before {
869   -moz-border-start: 3px solid #9C9CFF;
870   right: -3px;
871 }
872
873 .line-graph-widget-tooltip[type=maximum] {
874   left: -1px;
875 }
876
877 .line-graph-widget-tooltip[type=minimum] {
878   left: -1px;
879 }
880
881 .line-graph-widget-tooltip[type=average] {
882   right: -1px;
883 }
884
885 .line-graph-widget-tooltip[type=maximum][with-arrows=true] {
886   left: 14px;
887 }
888
889 .line-graph-widget-tooltip[type=minimum][with-arrows=true] {
890   left: 14px;
891 }
892
893 .line-graph-widget-tooltip[type=average][with-arrows=true] {
894   right: 4px;
895 }
896
897 .line-graph-widget-tooltip > [text=info] {
898   color: #A09090;
899 }
900
901 .line-graph-widget-tooltip > [text=value] {
902   -moz-margin-start: 3px;
903 }
904
905 .line-graph-widget-tooltip > [text=metric] {
906   -moz-margin-start: 1px;
907   color: #9C9CFF;
908 }
909
910 .line-graph-widget-tooltip > [text=value],
911 .line-graph-widget-tooltip > [text=metric] {
912 /*  text-shadow: 1px  0px rgba(255,255,255,0.6),
913               -1px  0px rgba(255,255,255,0.6),
914                0px -1px rgba(255,255,255,0.6),
915                0px  1px rgba(255,255,255,0.6);*/
916 }
917
918 .line-graph-widget-tooltip[type=maximum] > [text=value] {
919   color: #008484;
920 }
921
922 .line-graph-widget-tooltip[type=minimum] > [text=value] {
923   color: #FF0000;
924 }
925
926 .line-graph-widget-tooltip[type=average] > [text=value] {
927   color: #FF9F00;
928 }
929
930 /* Bar graph widget */
931
932 .bar-graph-widget-canvas {
933   background: #000000;
934 }
935
936 .bar-graph-widget-legend {
937   position: absolute;
938   top: 4px;
939   left: 8px;
940   color: #A09090;
941   font-size: 80%;
942   pointer-events: none;
943 }
944
945 .bar-graph-widget-legend-item {
946   float: left;
947  -moz-margin-end: 8px;
948 }
949
950 .bar-graph-widget-legend-item > [view="color"],
951 .bar-graph-widget-legend-item > [view="label"] {
952   vertical-align: middle;
953 }
954
955 .bar-graph-widget-legend-item > [view="color"] {
956   display: inline-block;
957   width: 8px;
958   height: 8px;
959   border: 1px solid #9C9CFF;
960   border-radius: 1px;
961   -moz-margin-end: 4px;
962   pointer-events: none;
963 }
964
965 .bar-graph-widget-legend-item > [view="label"] {
966 /*  text-shadow: 1px  0px rgba(255,255,255,0.8),
967               -1px  0px rgba(255,255,255,0.8),
968                0px -1px rgba(255,255,255,0.8),
969                0px  1px rgba(255,255,255,0.8);*/
970 }
971
972 /* Charts */
973
974 .generic-chart-container {
975   /* Hack: force hardware acceleration */
976   transform: translateZ(1px);
977 }
978
979 .generic-chart-container {
980   color: var(--theme-body-color-alt);
981 }
982
983 .chart-colored-blob {
984   fill: var(--theme-highlight-blue);
985   background: var(--theme-highlight-blue);
986 }
987
988 /* Charts: Pie */
989
990 .pie-chart-slice {
991   stroke-width: 1px;
992   cursor: pointer;
993 }
994
995 .pie-chart-slice {
996   stroke: #A09090;
997 }
998
999 .pie-chart-slice[largest] {
1000   stroke-width: 2px;
1001   stroke: #9C9CFF;
1002 }
1003
1004 .pie-chart-label {
1005   text-anchor: middle;
1006   dominant-baseline: middle;
1007   pointer-events: none;
1008 }
1009
1010 .pie-chart-label {
1011   fill: #000;
1012 }
1013
1014 .pie-chart-container[slices="1"] > .pie-chart-slice {
1015   stroke-width: 0px;
1016 }
1017
1018 .pie-chart-slice,
1019 .pie-chart-label {
1020   transition: all 0.1s ease-out;
1021 }
1022
1023 .pie-chart-slice:not(:hover):not([focused]),
1024 .pie-chart-slice:not(:hover):not([focused]) + .pie-chart-label {
1025   transform: none !important;
1026 }
1027
1028 /* Charts: Table */
1029
1030 .table-chart-title {
1031   padding-bottom: 10px;
1032   font-size: 120%;
1033   font-weight: 600;
1034 }
1035
1036 .table-chart-row {
1037   margin-top: 1px;
1038   cursor: pointer;
1039 }
1040
1041 .table-chart-grid:hover > .table-chart-row {
1042   transition: opacity 0.1s ease-in-out;
1043 }
1044
1045 .table-chart-grid:not(:hover) > .table-chart-row {
1046   transition: opacity 0.2s ease-in-out;
1047 }
1048
1049 .generic-chart-container:hover > .table-chart-grid:hover > .table-chart-row:not(:hover),
1050 .generic-chart-container:hover ~ .table-chart-container > .table-chart-grid > .table-chart-row:not([focused]) {
1051   opacity: 0.4;
1052 }
1053
1054 .table-chart-row-box {
1055   width: 8px;
1056   height: 1.5em;
1057   -moz-margin-end: 10px;
1058 }
1059
1060 .table-chart-row-label {
1061   width: 8em;
1062   -moz-padding-end: 6px;
1063   cursor: inherit;
1064 }
1065
1066 .table-chart-totals {
1067   margin-top: 8px;
1068   padding-top: 6px;
1069 }
1070
1071 .table-chart-totals {
1072   border-top: 1px solid var(--theme-body-color-alt); /* Grey foreground text */
1073 }
1074
1075 .table-chart-summary-label {
1076   font-weight: 600;
1077   padding: 1px 0px;
1078 }
1079
1080 .table-chart-summary-label {
1081   color: var(--theme-content-color2);
1082 }
1083
1084 /* Table Widget */
1085
1086 /* Table body */
1087
1088 .table-widget-body > .devtools-side-splitter {
1089   border: none;
1090 }
1091
1092 .table-widget-body {
1093   overflow: auto;
1094
1095   background: var(--theme-sidebar-background);
1096 }
1097
1098 .table-widget-body:-moz-locale-dir(ltr) {
1099 /*  box-shadow: inset -1px 0 0 @smw_marginDark@;*/
1100 }
1101
1102 .table-widget-body:-moz-locale-dir(rtl) {
1103 /*  box-shadow: inset 1px 0 0 @smw_marginDark@;*/
1104 }
1105
1106 .table-widget-body:-moz-locale-dir(ltr) {
1107 /*  box-shadow: inset -1px 0 0 @smw_marginLight@;*/
1108 }
1109
1110 .table-widget-body:-moz-locale-dir(rtl) {
1111 /*  box-shadow: inset 1px 0 0 @smw_marginLight@;*/
1112 }
1113
1114 /* Column Headers */
1115
1116 .table-widget-column-header,
1117 .table-widget-cell {
1118   -moz-border-end: 1px solid #A09090;
1119 }
1120
1121 /* Table widget column header colors are taken from netmonitor.inc.css to match
1122    the look of both the tables. This needs to be updated along with netmonitor
1123    header colors in bug 951714 */
1124
1125 .table-widget-column-header {
1126   background: rgba(0,0,0,0);
1127   position: sticky;
1128   top: 0;
1129   min-height: 32px;
1130   width: 100%;
1131   border: none;
1132   padding: 8px 0 0 !important;
1133   color: inherit;
1134   text-align: center;
1135   font-weight: inherit !important;
1136   transition: background-color 0.1s ease-in-out;
1137 }
1138
1139 .table-widget-column-header:hover {
1140   background: #FFCF00;
1141 }
1142
1143 .table-widget-column-header:hover:active {
1144   background: #FF9F00;
1145 }
1146
1147 .table-widget-column-header:not(:active)[sorted] {
1148   background: #008484;
1149 }
1150
1151 .table-widget-column-header:not(:active)[sorted=ascending] {
1152   background-image: radial-gradient(farthest-side at center top, hsla(0,0%,0%,.7), hsla(0,0%,0%,0.3));
1153   background-size: 100% 1px;
1154   background-repeat: no-repeat;
1155 }
1156
1157 .table-widget-column-header:not(:active)[sorted=descending] {
1158   background-image: radial-gradient(farthest-side at center bottom, hsla(0,0%,0%,.7), hsla(0,0%,0%,0.3));
1159   background-size: 100% 1px;
1160   background-repeat: no-repeat;
1161   background-position: bottom;
1162 }
1163
1164 /* Cells */
1165
1166 .table-widget-cell {
1167   width: 100%;
1168   margin: -1px 0 !important;
1169   padding: 3px 4px;
1170   background-clip: padding-box;
1171   min-width: 100px;
1172   -moz-user-focus: normal;
1173 }
1174
1175 .table-widget-cell {
1176   border-top: 1px solid #A09090;
1177   border-bottom: 1px solid #A09090;
1178   color: var(--theme-body-color);
1179 }
1180
1181 .theme-dark:not(.filtering) .table-widget-cell:nth-child(odd):not(.theme-selected),
1182 .theme-light:not(.filtering) .table-widget-cell:nth-child(odd):not(.theme-selected),
1183 .table-widget-cell:not(.theme-selected)[odd] {
1184   background: #404000;
1185 }
1186
1187 .table-widget-cell:last-of-type {
1188 /*  box-shadow: inset 0 -1px 0 @smw_itemDarkTopBorder@;*/
1189 }
1190
1191 .table-widget-cell.flash-out {
1192   animation: flash-out 0.5s ease-in;
1193 }
1194
1195 @keyframes flash-out {
1196   to {
1197     background: var(--theme-contrast-background2);
1198   }
1199 }
1200
1201 /* Empty text and initial text */
1202
1203 .table-widget-empty-text {
1204   display: none;
1205   text-align: center;
1206   font-size: large;
1207   margin-top: -20px !important;
1208 }
1209
1210 .table-widget-body:empty + .table-widget-empty-text:not([value=""]),
1211 .table-widget-body[empty] + .table-widget-empty-text:not([value=""]) {
1212   display: block;
1213 }
1214
1215 /* Tree Widget */
1216
1217 .tree-widget-container {
1218   padding: 0;
1219   margin: 0;
1220   width: 100%;
1221   height: 100%;
1222   list-style: none;
1223   overflow: hidden;
1224   -moz-margin-end: 40px;
1225 }
1226
1227 .tree-widget-container:-moz-focusring,
1228 .tree-widget-container *:-moz-focusring {
1229   outline-style: none;
1230 }
1231
1232 .tree-widget-empty-text {
1233   padding: 10px 20px;
1234   font-size: medium;
1235   background: transparent;
1236   pointer-events: none;
1237 }
1238
1239 /* Tree Item */
1240
1241 .tree-widget-container .tree-widget-item {
1242   padding: 2px 0px 4px;
1243   /* OSX has line-height 14px by default, which causes weird alignment issues
1244    * because of 20px high icons. thus making line-height consistent with that of
1245    * windows.
1246    */
1247   line-height: 17px !important;
1248   display: inline-block;
1249   width: 100%;
1250   word-break: keep-all; /* To prevent long urls like http://foo.com/bar from
1251                            breaking in multiple lines */
1252 }
1253
1254 .tree-widget-container .tree-widget-children {
1255   margin: 0;
1256   padding: 0;
1257   list-style: none;
1258 }
1259
1260 .tree-widget-item[level="1"] {
1261   font-weight: 800;
1262 }
1263
1264 /* Twisties */
1265 .tree-widget-item:before {
1266   content: "";
1267   width: 14px;
1268   height: 14px;
1269   float: left;
1270   margin: 3px 2px -3px;
1271   background-repeat: no-repeat;
1272   background-image: url("chrome://browser/skin/devtools/controls.png");
1273   background-size: 56px 28px;
1274   cursor: pointer;
1275   background-position: -28px -14px;
1276 }
1277
1278 .tree-widget-item:-moz-locale-dir(rtl):before {
1279   float: right;
1280   transform: scaleX(-1);
1281 }
1282
1283 .theme-light .tree-widget-item:before {
1284   background-position: 0 -14px;
1285 }
1286
1287 .tree-widget-item[empty]:before {
1288   background: transparent;
1289 }
1290
1291 .tree-widget-item[expanded]:before {
1292   background-position: -42px -14px;
1293 }
1294
1295 .theme-light .tree-widget-item[expanded]:before {
1296   background-position: -14px -14px;
1297 }
1298
1299 .tree-widget-item + ul {
1300   overflow: hidden;
1301   animation: collapse-tree-item 0.2s;
1302   max-height: 0;
1303 }
1304
1305 .tree-widget-item[expanded] + ul {
1306   animation: expand-tree-item 0.3s;
1307   max-height: unset;
1308 }
1309
1310 @keyframes collapse-tree-item {
1311   from {
1312     max-height: 300px;
1313   }
1314   to {
1315     max-height: 0;
1316   }
1317 }
1318
1319 @keyframes expand-tree-item {
1320   from {
1321     max-height: 0;
1322   }
1323   to {
1324     max-height: 500px;
1325   }
1326 }
1327
1328 @media (min-resolution: 2dppx) {
1329   .tree-widget-item:before {
1330     background-image: url("chrome://browser/skin/devtools/controls@2x.png");
1331   }
1332 }
1333
1334 /* Indentation of child items in the tree */
1335
1336 /* For level > 6 */
1337 .tree-widget-item[level] + ul > li > .tree-widget-item {
1338   -moz-padding-start: 98px;
1339 }
1340
1341 /* First level */
1342 .tree-widget-item[level="1"] + ul > li > .tree-widget-item {
1343   -moz-padding-start: 14px;
1344 }
1345
1346 /* Second level */
1347 .tree-widget-item[level="2"] + ul > li > .tree-widget-item {
1348   -moz-padding-start: 28px;
1349 }
1350
1351 /* Third level */
1352 .tree-widget-item[level="3"] + ul > li > .tree-widget-item {
1353   -moz-padding-start: 42px;
1354 }
1355
1356 /* Fourth level */
1357 .tree-widget-item[level="4"] + ul > li > .tree-widget-item {
1358   -moz-padding-start: 56px;
1359 }
1360
1361 /* Fifth level */
1362 .tree-widget-item[level="5"] + ul > li > .tree-widget-item {
1363   -moz-padding-start: 70px;
1364 }
1365
1366 /* Sixth level */
1367 .tree-widget-item[level="6"] + ul > li > .tree-widget-item {
1368   -moz-padding-start: 84px;
1369 }
1370
1371 /* Custom icons for certain tree items indicating the type of the item */
1372
1373 .tree-widget-item[type]:after {
1374   content: "";
1375   float: left;
1376   width: 16px;
1377   height: 17px;
1378   -moz-margin-end: 4px;
1379   background-repeat: no-repeat;
1380   background-size: 20px auto;
1381   filter: url('filters.svg#invert');
1382   background-position: 0 0;
1383   background-size: auto 20px;
1384 }
1385
1386 .tree-widget-item:-moz-locale-dir(rtl):after {
1387   float: right;
1388 }
1389
1390 .theme-dark .tree-widget-item[type]:after {
1391   filter: url('filters.svg#invert-white');
1392 }
1393
1394 .tree-widget-item[type="dir"]:after {
1395   background-image: url("chrome://browser/skin/devtools/filetype-dir-close.svg");
1396   background-position: 2px 0;
1397   background-size: auto 16px;
1398   width: 20px;
1399 }
1400
1401 .tree-widget-item[type="dir"][expanded]:not([empty]):after {
1402   background-image: url("chrome://browser/skin/devtools/filetype-dir-open.svg");
1403 }
1404
1405 .tree-widget-item[type="url"]:after {
1406   background-image: url("chrome://browser/skin/devtools/filetype-globe.svg");
1407   background-size: auto 18px;
1408   width: 18px;
1409 }
1410
1411 /* === BEGIN manifest-editor.inc.css === */
1412
1413 /* Manifest Editor overrides */
1414
1415 .variables-view-container.manifest-editor {
1416   background-color: #000000;
1417   padding: 20px 2px;
1418 }
1419
1420 .manifest-editor .variable-or-property:focus > .title {
1421 /*  background-color: #EDEDED;
1422   color: #000; */
1423   border-radius: 4px;
1424 }
1425
1426 .manifest-editor .variables-view-property > .title > .name {
1427 /*  color: #27406A; */
1428 }
1429
1430 .manifest-editor .variable-or-property > .title > label,
1431 .manifest-editor textbox {
1432   font-family: monospace;
1433 }
1434
1435 .manifest-editor .variable-or-property > .title > .token-string {
1436 /*  color: #54BC6A; */
1437   font-weight: bold;
1438 }
1439
1440 .manifest-editor .variable-or-property > .title > .token-boolean,
1441 .manifest-editor .variable-or-property > .title > .token-number {
1442 /*  color: #009BD4; */
1443   font-weight: bold;
1444 }
1445
1446 .manifest-editor .variable-or-property > .title > .token-undefined {
1447 /*  color: #bbb; */
1448 }
1449
1450 .manifest-editor .variable-or-property > .title > .token-null {
1451 /*  color: #999; */
1452 }
1453
1454 .manifest-editor .variable-or-property > .title > .token-other {
1455 /*  color: #333; */
1456 }
1457
1458 .manifest-editor .variables-view-variable {
1459   border-bottom: none;
1460 }
1461
1462 .manifest-editor .variables-view-delete,
1463 .manifest-editor .variables-view-delete:hover,
1464 .manifest-editor .variables-view-delete:active,
1465 .manifest-editor .variable-or-property:focus .variables-view-delete,
1466 .manifest-editor .variables-view-add-property,
1467 .manifest-editor .variables-view-add-property:hover,
1468 .manifest-editor .variables-view-add-property:active,
1469 .manifest-editor .variable-or-property:focus .variables-view-add-property {
1470   list-style-image: none;
1471   -moz-image-region: initial;
1472 }
1473
1474 .manifest-editor .variables-view-delete::before,
1475 .manifest-editor .variables-view-add-property::before {
1476   width: 11px;
1477   height: 11px;
1478   content: "";
1479   display: inline-block;
1480   background-size: 11px auto;
1481 }
1482
1483 .manifest-editor .variables-view-delete::before {
1484   background-image: url("app-manager/remove.svg");
1485   background-size: 12px auto;
1486 }
1487
1488 .manifest-editor .variables-view-add-property::before {
1489   background-image: url("app-manager/add.svg");
1490   -moz-margin-end: 2px;
1491 }
1492
1493 /* === END manifest-editor.inc.css === */
1494
1495 /* === END widgets.inc.css === */