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 /* === BEGIN widgets.inc.css === */
8 /* Generic pane helpers */
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. */
17 .generic-toggled-side-pane[animated] {
18 transition: margin 0.25s ease-in-out;
21 /* BreacrumbsWidget */
23 .breadcrumbs-widget-container {
25 max-height: 25px; /* Set max-height for proper sizing on linux */
26 height: 25px; /* Set height to prevent starting small waiting for content */
27 /* A fake 1px-shadow is included in the border-images of the
28 breadcrumbs-widget-items, to match toolbar-buttons style.
29 This negative margin compensates the extra row of pixels created
36 background: transparent;
51 .scrollbutton-up > .toolbarbutton-icon,
52 .scrollbutton-down > .toolbarbutton-icon {
56 .scrollbutton-up:not([disabled]):active:hover > .toolbarbutton-icon,
57 .scrollbutton-down:not([disabled]):active:hover > .toolbarbutton-icon {
60 .scrollbutton-up[disabled] > .toolbarbutton-icon,
61 .scrollbutton-down[disabled] > .toolbarbutton-icon {
64 .scrollbutton-up:-moz-locale-dir(ltr) {
65 border-top-right-radius: 0;
66 border-bottom-right-radius: 0;
69 .scrollbutton-down:-moz-locale-dir(ltr) {
70 border-top-left-radius: 0;
71 border-bottom-left-radius: 0;
74 .scrollbutton-up:-moz-locale-dir(rtl) {
75 border-top-left-radius: 0;
76 border-bottom-left-radius: 0;
79 .scrollbutton-down:-moz-locale-dir(rtl) {
80 border-top-right-radius: 0;
81 border-bottom-right-radius: 0;
84 /* Draw shadows to indicate there is more content 'behind' scrollbuttons. */
86 .scrollbutton-up:-moz-locale-dir(ltr),
87 .scrollbutton-down:-moz-locale-dir(rtl) {
88 border-right: solid 1px rgba(255, 255, 255, .1);
89 border-left: solid 1px transparent;
90 box-shadow: 3px 0px 3px -3px #181d20;
93 .scrollbutton-down:-moz-locale-dir(ltr),
94 .scrollbutton-up:-moz-locale-dir(rtl) {
95 border-right: solid 1px transparent;
96 border-left: solid 1px rgba(255, 255, 255, .1);
97 box-shadow: -3px 0px 3px -3px #181d20;
100 .scrollbutton-up[disabled],
101 .scrollbutton-down[disabled] {
103 border-color: transparent;
107 .scrollbutton-up > .toolbarbutton-icon:-moz-locale-dir(rtl),
108 .scrollbutton-down > .toolbarbutton-icon:-moz-locale-dir(ltr) {
109 /* transform: scaleX(-1); */
112 /* The breadcrumb separator elements are used as background images with
113 * -moz-element, so we position them offscreen since we don't care about
114 * seeing the original elements.
116 .breadcrumb-separator-container {
122 #breadcrumb-separator-before,
123 #breadcrumb-separator-after,
124 #breadcrumb-separator-normal {
130 #breadcrumb-separator-before,
131 #breadcrumb-separator-after:after {
132 background: #9C9CFF; /* Select Highlight Blue */
135 #breadcrumb-separator-after,
136 #breadcrumb-separator-before:after {
137 background: #9C9CFF; /* Toolbars */
140 /* This chevron arrow cannot be replicated easily in CSS, so we are using
141 * a background image for it (still keeping it in a separate element so
142 * we can handle RTL support with a CSS transform).
144 #breadcrumb-separator-normal {
145 background: url("breadcrumbs-divider@2x.png") no-repeat center right;
146 background-size: 12px 24px;
149 /* Fake a triangle by rotating a rectangle inside the elements */
150 #breadcrumb-separator-before:after,
151 #breadcrumb-separator-after:after {
156 transform: translateX(-18px) rotate(45deg);
157 -moz-box-sizing: border-box;
160 .breadcrumbs-widget-item {
161 background-color: #000000;
165 padding: 0 8px 0 20px;
171 .breadcrumbs-widget-item:hover {
172 background-color: #FFCF00;
176 .breadcrumbs-widget-item[checked]:not(:hover) {
177 background-color: #008484;
181 .breadcrumbs-widget-item[siblings-menu-open],
182 .breadcrumbs-widget-item:active {
183 background-color: #FF9F00;
187 .breadcrumbs-widget-item:not([checked]) {
188 background: -moz-element(#breadcrumb-separator-normal) no-repeat center left;
191 .breadcrumbs-widget-item[checked] + .breadcrumbs-widget-item {
192 background: -moz-element(#breadcrumb-separator-after) no-repeat 0 0;
195 .breadcrumbs-widget-item[checked] {
196 background: -moz-element(#breadcrumb-separator-before) no-repeat 0 0;
197 background-color: #008484; /* Select Highlight Blue */
200 .breadcrumbs-widget-item:first-child {
201 background-image: none;
204 /* RTL support: move the images that were on the left to the right,
205 * and move images that were on the right to the left.
207 .breadcrumbs-widget-item:-moz-locale-dir(rtl) {
208 padding: 0 20px 0 8px;
211 .breadcrumbs-widget-item:-moz-locale-dir(rtl),
212 .breadcrumbs-widget-item[checked] + .breadcrumbs-widget-item:-moz-locale-dir(rtl) {
213 background-position: center right;
216 #breadcrumb-separator-before:-moz-locale-dir(rtl),
217 #breadcrumb-separator-after:-moz-locale-dir(rtl),
218 #breadcrumb-separator-normal:-moz-locale-dir(rtl) {
219 transform: scaleX(-1);
222 #breadcrumb-separator-before:-moz-locale-dir(rtl):after,
223 #breadcrumb-separator-after:-moz-locale-dir(rtl):after {
224 transform: translateX(-5px) rotate(45deg);
227 .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-id,
228 .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-tag,
229 .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-pseudo-classes,
230 .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-classes {
231 color: #FF9F00; /* Foreground (Text) - Light */
234 .theme-dark .breadcrumbs-widget-item-id {
235 color: #A09090; /* Foreground (Text) - Grey */
238 .breadcrumbs-widget-item-pseudo-classes {
239 color: #FFCF00; /* Light Orange */
242 /* SimpleListWidget */
244 .simple-list-widget-item:not(.selected):hover {
249 .simple-list-widget-item.selected {
254 .simple-list-widget-perma-text,
255 .simple-list-widget-empty-text {
262 .fast-list-widget-container {
263 /* Hack: force hardware acceleration */
264 transform: translateZ(1px);
267 /* dark/light theme */
268 .fast-list-widget-empty-text {
276 /* SideMenuWidget container */
278 .side-menu-widget-container {
279 /* Hack: force hardware acceleration */
280 transform: translateZ(1px);
282 background-color: #000000;
286 .side-menu-widget-container:-moz-locale-dir(ltr),
287 .side-menu-widget-empty-text:-moz-locale-dir(ltr) {
290 .side-menu-widget-container:-moz-locale-dir(rtl),
291 .side-menu-widget-empty-text:-moz-locale-dir(rtl)[with-arrows=true]:-moz-locale-dir(rtl) {
294 .side-menu-widget-group {
295 /* To allow visibility of the dark margin shadow. */
296 /* -moz-margin-end: 1px; */
299 .side-menu-widget-container[with-arrows=true] .side-menu-widget-item {
300 /* To compensate for the arrow image's dark margin. */
301 /* -moz-margin-end: -1px; */
304 /* SideMenuWidget groups */
306 .side-menu-widget-group-title {
309 background-color: #A09090;
313 /* SideMenuWidget items */
315 .side-menu-widget-item {
316 border-top: 1px solid #9C9CFF;
317 /* To compensate for the top and bottom borders */
320 background-clip: padding-box;
323 .side-menu-widget-item:last-of-type {
324 border-bottom: 1px solid #9C9CFF;
327 .side-menu-widget-item.selected {
328 background-color: #008484 !important;
332 .side-menu-widget-item-arrow {
333 -moz-margin-start: -7px;
334 width: 7px; /* The image's width is 7 pixels */
335 /* Cover the border of the side-menu-widget-item */
340 .side-menu-widget-item.selected > .side-menu-widget-item-arrow {
341 background-size: auto, 1px 100%;
342 background-repeat: no-repeat;
345 .side-menu-widget-item.selected > .side-menu-widget-item-arrow:-moz-locale-dir(ltr) {
346 background-position: center right;
349 .side-menu-widget-item.selected > .side-menu-widget-item-arrow:-moz-locale-dir(rtl) {
350 background-position: center left;
353 .theme-light .side-menu-widget-item.selected > .side-menu-widget-item-arrow:-moz-locale-dir(ltr) {
354 background-image: url("itemArrow-ltr.svg");
357 .theme-light .side-menu-widget-item.selected > .side-menu-widget-item-arrow:-moz-locale-dir(rtl) {
358 background-image: url("itemArrow-rtl.svg");
361 /* SideMenuWidget items contents */
363 .side-menu-widget-item-contents {
365 /* To avoid having content overlapping the arrow image. */
366 -moz-padding-end: 8px;
369 .side-menu-widget-item-other {
370 /* To avoid having content overlapping the arrow image. */
371 -moz-padding-end: 8px;
372 /* To compensate for the .side-menu-widget-item-contents padding. */
373 -moz-margin-start: -4px;
374 -moz-margin-end: -8px;
376 background-color: #000000;
379 .side-menu-widget-item-other.selected {
380 background-color: #008484;
384 .side-menu-widget-item-other:first-of-type {
386 /* border-top-left-radius: 4px; */
389 .side-menu-widget-item-other:last-of-type {
393 .side-menu-widget-item-other:not(.selected) > label {
397 /* SideMenuWidget checkboxes */
399 .side-menu-widget-group-checkbox {
401 -moz-margin-end: 4px;
404 .side-menu-widget-item-checkbox {
406 -moz-margin-start: 4px;
407 -moz-margin-end: -4px;
410 /* SideMenuWidget misc */
412 .side-menu-widget-empty-text {
415 background-color: #000000;
422 .variables-view-container:not([empty]) {
423 /* Hack: force hardware acceleration */
424 transform: translateZ(1px);
427 .variables-view-empty-notice {
432 .variables-view-scope > .title {
433 background-color: #A09090;
437 /* Generic variables traits */
439 .variables-view-variable:not(:last-child) {
440 border-bottom: 1px solid #A09090;
443 .variables-view-variable > .title > .name {
447 /* Generic variables *and* properties traits */
449 .variable-or-property:focus > .title > label {
450 color: inherit !important;
453 .variable-or-property > .title > .value {
457 .variable-or-property > .title > .arrow {
458 -moz-margin-start: 3px;
461 .variable-or-property:not([untitled]) > .variables-view-element-details {
462 -moz-margin-start: 7px;
465 /* Traits applied when variables or properties are changed or overridden */
467 .variable-or-property:not([overridden]) {
468 transition: background 1s ease-in-out, color 1s ease-in-out;
471 .variable-or-property:not([overridden])[changed] {
473 transition-duration: .4s;
476 .variable-or-property[overridden] {
477 background: rgba(160,144,144,0.0.5);
480 .variable-or-property[overridden] .title > label {
481 /* Cross out the title for this variable and all child properties. */
483 text-decoration: line-through;
484 border-bottom: none !important;
489 /* Traits applied when variables or properties are editable */
491 .variable-or-property[editable] > .title > .value {
495 .variable-or-property[overridden] .title > .value {
496 /* Disallow editing this variable and all child properties. */
497 pointer-events: none;
500 /* Custom configurable/enumerable/writable or frozen/sealed/extensible
501 * variables and properties */
503 .variable-or-property[non-enumerable]:not([self]):not([pseudo-item]) > .title > .name {
507 .variable-or-property[non-configurable]:not([pseudo-item]) > .title > .name {
508 border-bottom: 1px dashed #9C9CFF;
511 .variable-or-property[non-writable]:not([pseudo-item]) > .title > .name {
512 border-bottom: 1px dashed #FF0000;
515 .variable-or-property[safe-getter]:not([pseudo-item]) > .title > .name {
516 border-bottom: 1px dashed #A09090;
519 .variable-or-property-non-writable-icon {
520 background: url("chrome://browser/skin/identity-icons-https.png") no-repeat;
526 @media (min-resolution: 2dppx) {
527 .variable-or-property-non-writable-icon > .title:after {
528 background-image: url("chrome://browser/skin/identity-icons-https@2x.png");
529 background-size: 32px;
533 .variable-or-property-frozen-label,
534 .variable-or-property-sealed-label,
535 .variable-or-property-non-extensible-label {
536 -moz-padding-end: 4px;
539 .variable-or-property:not(:focus) > .title > .variable-or-property-frozen-label,
540 .variable-or-property:not(:focus) > .title > .variable-or-property-sealed-label,
541 .variable-or-property:not(:focus) > .title > .variable-or-property-non-extensible-label {
547 .variables-view-container[aligned-values] .title > .separator {
551 .variables-view-container[aligned-values] .title > .value {
556 .variables-view-container[aligned-values] .title > .element-value-input {
557 width: calc(70vw - 10px);
562 .variables-view-container[actions-first] .variables-view-delete,
563 .variables-view-container[actions-first] .variables-view-add-property {
564 -moz-box-ordinal-group: 0;
567 .variables-view-container[actions-first] [invisible] {
571 /* Variables and properties tooltips */
573 .variable-or-property > tooltip > label {
577 .variable-or-property[non-enumerable] > tooltip > label.enumerable,
578 .variable-or-property[non-configurable] > tooltip > label.configurable,
579 .variable-or-property[non-writable] > tooltip > label.writable
580 .variable-or-property[non-extensible] > tooltip > label.extensible {
582 text-decoration: line-through;
585 .variable-or-property[overridden] > tooltip > label.overridden {
586 -moz-padding-start: 4px;
587 -moz-border-start: 1px dotted #9C9CFF;
590 .variable-or-property[safe-getter] > tooltip > label.WebIDL {
591 -moz-padding-start: 4px;
592 -moz-border-start: 1px dotted #9C9CFF;
596 /* Variables and properties editing */
598 .variables-view-delete {
599 list-style-image: url("chrome://browser/skin/devtools/vview-delete.png");
600 -moz-image-region: rect(0, 16px, 16px, 0);
603 .variables-view-delete:hover {
604 -moz-image-region: rect(0, 32px, 16px, 16px);
607 .variables-view-delete:active {
608 -moz-image-region: rect(0, 48px, 16px, 32px);
611 .variables-view-edit {
612 background: url("chrome://browser/skin/devtools/vview-edit.png") center no-repeat;
618 .variables-view-throbber {
619 background: url("chrome://global/skin/icons/loading_16.png") center no-repeat;
624 .element-value-input {
625 -moz-margin-start: -2px !important;
626 -moz-margin-end: 2px !important;
629 .element-name-input {
630 -moz-margin-start: -2px !important;
631 -moz-margin-end: 2px !important;
635 .element-value-input,
636 .element-name-input {
637 border: 1px solid #008484 !important;
641 /* Variables and properties searching */
643 .variables-view-searchinput {
647 .variable-or-property[unmatched] {
652 /* Expand/collapse arrow */
655 background: url("chrome://global/skin/tree/twisty-closed.gif") center center no-repeat;
658 -moz-margin-start: 5px;
659 -moz-margin-end: 5px;
662 .variables-view-scope > .title > .arrow {
663 background-image: url("chrome://global/skin/tree/twisty-closed-selected.gif");
667 background-image: url("chrome://global/skin/tree/twisty-open.gif");
670 .variables-view-scope > .title > .arrow[open] {
671 background-image: url("chrome://global/skin/tree/twisty-open-selected.gif");
678 /* === BEGIN manifest-editor.inc.css === */
680 /* Manifest Editor overrides */
682 .variables-view-container.manifest-editor {
683 background-color: #000000;
687 .manifest-editor .variable-or-property:focus > .title {
688 /* background-color: #EDEDED;
693 .manifest-editor .variables-view-property > .title > .name {
694 /* color: #27406A; */
697 .manifest-editor .variable-or-property > .title > label,
698 .manifest-editor textbox {
699 font-family: monospace;
702 .manifest-editor .variable-or-property > .title > .token-string {
703 /* color: #54BC6A; */
707 .manifest-editor .variable-or-property > .title > .token-boolean,
708 .manifest-editor .variable-or-property > .title > .token-number {
709 /* color: #009BD4; */
713 .manifest-editor .variable-or-property > .title > .token-undefined {
717 .manifest-editor .variable-or-property > .title > .token-null {
721 .manifest-editor .variable-or-property > .title > .token-other {
725 .manifest-editor .variables-view-variable {
729 .manifest-editor .variables-view-delete,
730 .manifest-editor .variables-view-delete:hover,
731 .manifest-editor .variables-view-delete:active,
732 .manifest-editor .variables-view-add-property:hover,
733 .manifest-editor .variables-view-add-property:active {
734 list-style-image: none;
735 -moz-image-region: initial;
738 .manifest-editor .variables-view-delete::before,
739 .manifest-editor .variables-view-add-property::before {
743 display: inline-block;
744 background-size: 11px auto;
747 .manifest-editor .variables-view-delete::before {
748 background-image: url("app-manager/remove.svg");
749 background-size: 12px auto;
752 .manifest-editor .variables-view-add-property::before {
753 background-image: url("app-manager/add.svg");
754 -moz-margin-end: 2px;
757 /* === END manifest-editor.inc.css === */
759 /* === END widgets.inc.css === */