diff options
Diffstat (limited to 'devtools/client/themes/widgets.css')
-rw-r--r-- | devtools/client/themes/widgets.css | 1621 |
1 files changed, 1621 insertions, 0 deletions
diff --git a/devtools/client/themes/widgets.css b/devtools/client/themes/widgets.css new file mode 100644 index 000000000..a8c1dc734 --- /dev/null +++ b/devtools/client/themes/widgets.css @@ -0,0 +1,1621 @@ +/* vim:set ts=2 sw=2 sts=2 et: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +.theme-dark { + --table-splitter-color: rgba(255,255,255,0.15); + --table-zebra-background: rgba(255,255,255,0.05); + --sidemenu-selected-arrow: url(images/item-arrow-dark-ltr.svg); + --sidemenu-selected-arrow-rtl: url(images/item-arrow-dark-rtl.svg); + --delete-icon: url(chrome://devtools/skin/images/vview-delete.png); + --delete-icon-2x: url(chrome://devtools/skin/images/vview-delete@2x.png); +} + +.theme-light { + --table-splitter-color: rgba(0,0,0,0.15); + --table-zebra-background: rgba(0,0,0,0.05); + --sidemenu-selected-arrow: url(images/item-arrow-ltr.svg); + --sidemenu-selected-arrow-rtl: url(images/item-arrow-rtl.svg); + --delete-icon: url(chrome://devtools/skin/images/vview-delete.png); + --delete-icon-2x: url(chrome://devtools/skin/images/vview-delete@2x.png); +} + +.theme-firebug { + --table-splitter-color: rgba(0,0,0,0.15); + --table-zebra-background: rgba(0,0,0,0.05); + --sidemenu-selected-arrow: url(images/item-arrow-ltr.svg); + --sidemenu-selected-arrow-rtl: url(images/item-arrow-rtl.svg); + --delete-icon: url(chrome://devtools/skin/images/firebug/close.svg); + --delete-icon-2x: url(chrome://devtools/skin/images/firebug/close.svg); +} + + +/* Generic pane helpers */ + +.generic-toggled-pane { + margin-inline-start: 0 !important; + /* Unfortunately, transitions don't work properly with locale-aware properties, + so both the left and right margins are set via js, while the start margin + is always overridden here. */ +} + +.generic-toggled-pane[animated] { + transition: margin 0.25s ease-in-out; +} + +/* Responsive container */ + +.devtools-responsive-container { + -moz-box-orient: horizontal; +} + +.devtools-main-content { + min-width: 50px; +} + +.devtools-main-content, +.devtools-sidebar-tabs { + /* Prevent some children that should be hidden from remaining visible as this is shrunk (Bug 971959) */ + position: relative; +} + +@media (min-width: 701px) { + .devtools-responsive-container .generic-toggled-pane { + /* To hide generic-toggled-pane, negative margins are applied dynamically. + * In the default horizontal layout, the pane is on the side and should be + * hidden using negative margin-inline-end only. + */ + margin-top: 0 !important; + margin-bottom: 0 !important; + } +} + +@media (max-width: 700px) { + .devtools-responsive-container { + -moz-box-orient: vertical; + } + + .devtools-responsive-container > .devtools-side-splitter { + /* This is a normally vertical splitter, but we have turned it horizontal + due to the smaller resolution */ + min-height: calc(var(--devtools-splitter-top-width) + + var(--devtools-splitter-bottom-width) + 1px); + border-top-width: var(--devtools-splitter-top-width); + border-bottom-width: var(--devtools-splitter-bottom-width); + margin-top: calc(-1 * var(--devtools-splitter-top-width) - 1px); + margin-bottom: calc(-1 * var(--devtools-splitter-bottom-width)); + + /* Reset the vertical splitter styles */ + min-width: 0; + border-inline-end-width: 0; + border-inline-start-width: 0; + margin-inline-end: 0; + margin-inline-start: 0; + + /* In some edge case the cursor is not changed to n-resize */ + cursor: n-resize; + } + + .devtools-responsive-container > .devtools-sidebar-tabs:not(.pane-collapsed) { + /* When the panel is collapsed min/max height should not be applied because + collapsing relies on negative margins, which implies constant height. */ + min-height: 35vh; + max-height: 75vh; + } + + .devtools-responsive-container .generic-toggled-pane { + /* To hide generic-toggled-pane, negative margins are applied dynamically. + * If a vertical layout, the pane is on the bottom and should be hidden + * using negative bottom margin only. + */ + margin-inline-end: 0 !important; + } +} + +/* BreacrumbsWidget */ + +.breadcrumbs-widget-container { + margin-inline-end: 3px; + max-height: 24px; /* Set max-height for proper sizing on linux */ + height: 24px; /* Set height to prevent starting small waiting for content */ +} + +.scrollbutton-up, +.scrollbutton-down { + -moz-appearance: none; + background: transparent; + box-shadow: none; + border: none; + list-style-image: none; + margin: 0; + padding: 0; +} + +.scrollbutton-up > .toolbarbutton-icon, +.scrollbutton-down > .toolbarbutton-icon { + -moz-appearance: none; + width: 7px; + height: 16px; + background-size: 14px 16px; + background-position: 0 center; + background-repeat: no-repeat; + background-image: url("images/breadcrumbs-scrollbutton.png"); + list-style-image: none; + margin: 0 8px; + padding: 0; +} + +@media (min-resolution: 1.1dppx) { + .scrollbutton-up > .toolbarbutton-icon, + .scrollbutton-down > .toolbarbutton-icon { + background-image: url("images/breadcrumbs-scrollbutton@2x.png"); + } +} + +.scrollbutton-up:not([disabled]):active:hover > .toolbarbutton-icon, +.scrollbutton-down:not([disabled]):active:hover > .toolbarbutton-icon { + background-position: -7px center; +} + +.scrollbutton-up[disabled] > .toolbarbutton-icon, +.scrollbutton-down[disabled] > .toolbarbutton-icon { + opacity: 0.5; +} + +/* Draw shadows to indicate there is more content 'behind' scrollbuttons. */ +.scrollbutton-up:-moz-locale-dir(ltr), +.scrollbutton-down:-moz-locale-dir(rtl) { + border-right: solid 1px rgba(255, 255, 255, .1); + border-left: solid 1px transparent; + box-shadow: 3px 0px 3px -3px var(--theme-sidebar-background); +} + +.scrollbutton-down:-moz-locale-dir(ltr), +.scrollbutton-up:-moz-locale-dir(rtl) { + border-right: solid 1px transparent; + border-left: solid 1px rgba(255, 255, 255, .1); + box-shadow: -3px 0px 3px -3px var(--theme-sidebar-background); +} + +.scrollbutton-up[disabled], +.scrollbutton-down[disabled] { + box-shadow: none; + border-color: transparent; +} + +.scrollbutton-up > .toolbarbutton-icon:-moz-locale-dir(rtl), +.scrollbutton-down > .toolbarbutton-icon:-moz-locale-dir(ltr) { + transform: scaleX(-1); +} + +.breadcrumbs-widget-item { + background-color: transparent; + -moz-appearance: none; + min-height: 24px; + min-width: 65px; + margin: 0; + padding: 0 8px 0 20px; + border: none; + outline: none; + color: hsl(210,30%,85%); + position: relative; +} + +.breadcrumbs-widget-item > .button-box { + border: none; + padding-top: 0; + padding-bottom: 0; +} + +:root[platform="win"] .breadcrumbs-widget-item:-moz-focusring > .button-box { + border-width: 0; +} + +.breadcrumbs-widget-item::before { + content: ""; + position: absolute; + top: 1px; + offset-inline-start: 0; + width: 12px; + height: 22px; + background-repeat: no-repeat; + /* Given the 1/2 aspect ratio of the separator pseudo-element and the 45deg angle of + the arrow shape, we need the arrow edges to be at this position from the start of + the gradient line. */ + --position: 66.5%; + /* The color of the thin line in the arrow-shaped separator between 2 unselected + crumbs. There is no theme variable for this, this used to be an image. */ + --line-color: #ACACAC; + --background-color: var(--theme-body-background); +} + +#debugger-toolbar .breadcrumbs-widget-item::before { + --background-color: var(--theme-toolbar-background); +} + +.theme-dark .breadcrumbs-widget-item::before { + --line-color: #6E6E6E; +} + +.breadcrumbs-widget-item:first-child::before { + /* The first crumb does not need any separator before itself */ + content: unset; +} + +.breadcrumbs-widget-item:dir(rtl)::before { + transform: scaleX(-1); +} + +.breadcrumbs-widget-item:not([checked])::before { + background-color: var(--background-color); + background-image: + linear-gradient(45deg, + var(--background-color) 30%, + transparent), + linear-gradient(-45deg, + transparent, + var(--background-color) 70%, + var(--background-color)), + linear-gradient(45deg, + transparent var(--position), + var(--line-color) var(--position), + var(--line-color) calc(var(--position) + 1px), + transparent 0), + linear-gradient(-45deg, + transparent calc(100% - var(--position)), + var(--line-color) calc(100% - var(--position)), + var(--line-color) calc(calc(100% - var(--position)) + 1px), + transparent 0); + background-size: + 100% 50%, + 100% 50%, + 100%, + 100%; + background-position: + left bottom, + left top, + left top, + left top; +} + +.breadcrumbs-widget-item[checked] + .breadcrumbs-widget-item::before { + background-color: var(--theme-selection-background); + background-image: + linear-gradient(45deg, + transparent var(--position), + var(--background-color) 0), + linear-gradient(-45deg, + var(--background-color) calc(100% - var(--position)), + transparent 0); + background-size: unset; +} + +.breadcrumbs-widget-item[checked]::before { + background-image: + linear-gradient(45deg, + transparent var(--position), + var(--theme-selection-background) 0), + linear-gradient(-45deg, + var(--theme-selection-background) calc(100% - var(--position)), + var(--background-color) 0); +} + +.breadcrumbs-widget-item[checked] { + background-color: var(--theme-selection-background); +} + +.breadcrumbs-widget-item:first-child { + background-image: none; +} + +/* RTL support: move the images that were on the left to the right, + * and move images that were on the right to the left. + */ +.breadcrumbs-widget-item:dir(rtl) { + padding: 0 20px 0 8px; +} + +.breadcrumbs-widget-item:dir(rtl), +.breadcrumbs-widget-item[checked] + .breadcrumbs-widget-item:dir(rtl) { + background-position: center right; +} + +.breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-id, +.breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-tag, +.breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-pseudo-classes, +.breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-classes { + color: var(--theme-selection-color); +} + +.theme-dark .breadcrumbs-widget-item { + color: var(--theme-selection-color); +} + +.theme-light .breadcrumbs-widget-item { + color: var(--theme-body-color); +} + +.breadcrumbs-widget-item-id { + color: var(--theme-body-color-alt); +} + +.breadcrumbs-widget-item-classes { + color: var(--theme-content-color1); +} + +.breadcrumbs-widget-item-pseudo-classes { + color: var(--theme-highlight-lightorange); +} + +.theme-dark .breadcrumbs-widget-item:not([checked]):hover label { + color: white; +} + +.theme-light .breadcrumbs-widget-item:not([checked]):hover label { + color: black; +} + +/* Firebug theme support for breadcrumbs widget. */ + +.theme-firebug .breadcrumbs-widget-item { + margin-inline-start: 10px; + margin-inline-end: 1px; + background-image: none; + border: 1px solid transparent; + color: #141414; + border-radius: 2px; + min-width: 0; + min-height: 0; + padding: 0; + font-size: var(--theme-toolbar-font-size); +} + +.theme-firebug .breadcrumbs-widget-item:hover { + border-color: rgba(0, 0, 0, 0.2); + background: transparent linear-gradient( + rgba(255, 255, 255, 0.4), + rgba(255, 255, 255, 0.2)) no-repeat; + box-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6) inset, + 0 0 1px rgba(255, 255, 255, 0.6) inset, + 0 0 2px rgba(0, 0, 0, 0.05); +} + +.theme-firebug .breadcrumbs-widget-item > .button-box { + padding-left: 0; + padding-right: 0; +} + +.theme-firebug .breadcrumbs-widget-item:first-child { + margin: 0; +} + +.theme-firebug .breadcrumbs-widget-item:not(:first-child)::before { + content: url(chrome://devtools/skin/images/firebug/breadcrumbs-divider.svg); + background: none; + position: relative; + left: -3px; + margin: 0 0 0 -5px; + padding: 0; + width: 5px; +} + +/* Breadcrumbs Separators (reset selection styles) */ +.theme-firebug .breadcrumbs-widget-item[checked], +.theme-firebug .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-id, +.theme-firebug .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-tag, +.theme-firebug .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-pseudo-classes, +.theme-firebug .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-classes { + background: none; + font-weight: bold; + color: inherit; +} + +/* The first rule is there only to make sure the default rule from +widgets.css is overwritten. */ +.theme-firebug .breadcrumbs-widget-item[checked] + .breadcrumbs-widget-item { + background: none; +} + +.theme-firebug .breadcrumbs-widget-item .breadcrumbs-widget-item-tag { + padding-left: 4px; + padding-right: 4px; +} + +/* Breadcrumbs Scrolling Buttons */ + +.theme-firebug .breadcrumbs-widget-container .scrollbutton-up, +.theme-firebug .breadcrumbs-widget-container .scrollbutton-down { + padding: 0; + box-shadow: none; +} + +.theme-firebug .breadcrumbs-widget-container .scrollbutton-up:hover, +.theme-firebug .breadcrumbs-widget-container .scrollbutton-down:hover { + border: 1px transparent solid !important; + box-shadow: none !important; +} + +.theme-firebug .breadcrumbs-widget-container .scrollbutton-up:active, +.theme-firebug .breadcrumbs-widget-container .scrollbutton-down:active { + background: none !important; +} + +.theme-firebug .breadcrumbs-widget-container .scrollbutton-up > .toolbarbutton-icon { + background-image: url(chrome://global/skin/arrow/arrow-lft-sharp.gif); +} + +.theme-firebug .breadcrumbs-widget-container .scrollbutton-down > .toolbarbutton-icon { + background-image: url(chrome://global/skin/arrow/arrow-lft-sharp.gif); +} + +.theme-firebug .breadcrumbs-widget-container .scrollbutton-up:not([disabled]):active:hover > .toolbarbutton-icon, +.theme-firebug .breadcrumbs-widget-container .scrollbutton-down:not([disabled]):active:hover > .toolbarbutton-icon { + background-position: 0 center; +} + +/* SimpleListWidget */ + +.simple-list-widget-container { + /* Hack: force hardware acceleration */ + transform: translateZ(1px); +} + +.simple-list-widget-item.selected { + background-color: var(--theme-selection-background); + color: var(--theme-selection-color); +} + +.theme-dark .simple-list-widget-item:not(.selected):hover { + background-color: rgba(255,255,255,.05); +} + +.theme-light .simple-list-widget-item:not(.selected):hover { + background-color: rgba(0,0,0,.05); +} + +.simple-list-widget-empty-text, +.simple-list-widget-perma-text { + padding: 4px 8px; +} + +.simple-list-widget-empty-text, +.simple-list-widget-perma-text { + color: var(--theme-body-color-alt); +} + +/* FastListWidget */ + +.fast-list-widget-container { + /* Hack: force hardware acceleration */ + transform: translateZ(1px); +} + +.fast-list-widget-empty-text { + padding: 4px 8px; +} + +.fast-list-widget-empty-text { + color: var(--theme-body-color-alt); +} + +/* SideMenuWidget */ + +.side-menu-widget-container { + /* Hack: force hardware acceleration */ + transform: translateZ(1px); +} + +/* SideMenuWidget container */ + +.side-menu-widget-container[with-arrows=true] .side-menu-widget-item { + /* To compensate for the arrow image's dark margin. */ + margin-inline-end: -1px; +} + +/* SideMenuWidget groups */ + +.side-menu-widget-group-title { + padding: 4px; + font-weight: 600; + border-bottom: 1px solid rgba(128,128,128,0.15); +} + +.side-menu-widget-group-title + .side-menu-widget-group-list .side-menu-widget-item-contents { + padding-inline-start: 20px; +} + +/* SideMenuWidget items */ + +.side-menu-widget-item { + border-bottom: 1px solid rgba(128,128,128,0.15); + background-clip: padding-box; +} + +.side-menu-widget-item.selected { + background-color: var(--theme-selection-background); + color: var(--theme-selection-color); +} + +.side-menu-widget-item-arrow { + margin-inline-start: -7px; + width: 7px; /* The image's width is 7 pixels */ +} + +.side-menu-widget-item.selected > .side-menu-widget-item-arrow { + background-image: var(--sidemenu-selected-arrow); + background-size: auto; + background-repeat: no-repeat; + background-position: center right; +} + +.side-menu-widget-item.selected > .side-menu-widget-item-arrow:-moz-locale-dir(rtl) { + background-image: var(--sidemenu-selected-arrow-rtl); + background-position: center left; +} + +/* SideMenuWidget items contents */ + +.side-menu-widget-item-contents { + padding: 4px; + /* To avoid having content overlapping the arrow image. */ + padding-inline-end: 8px; +} + +.side-menu-widget-item-other { + /* To avoid having content overlapping the arrow image. */ + padding-inline-end: 8px; + /* To compensate for the .side-menu-widget-item-contents padding. */ + margin-inline-start: -4px; + margin-inline-end: -8px; +} + +.side-menu-widget-group-title + .side-menu-widget-group-list .side-menu-widget-item-other { + /* To compensate for the .side-menu-widget-item-contents padding. */ + margin-inline-start: -20px; +} + +.side-menu-widget-item.selected .side-menu-widget-item-other:not(.selected) { + background-color: var(--theme-sidebar-background); + box-shadow: inset 2px 0 0 var(--theme-selection-background); + color: var(--theme-body-color); +} + +.side-menu-widget-item.selected .side-menu-widget-item-other.selected { + background-color: var(--theme-selection-background); +} + +.side-menu-widget-item-other:first-of-type { + margin-top: 4px; +} + +.side-menu-widget-item-other:last-of-type { + margin-bottom: -4px; +} + +/* SideMenuWidget checkboxes */ + +.side-menu-widget-group-checkbox { + margin: 0; + margin-inline-end: 4px; +} + +.side-menu-widget-item-checkbox { + margin: 0; + margin-inline-start: 4px; +} + +/* SideMenuWidget misc */ + +.side-menu-widget-empty-text { + padding: 4px 8px; + background-color: var(--theme-sidebar-background); +} + +/* VariablesView */ + +.variables-view-container { + /* Hack: force hardware acceleration */ + transform: translateZ(1px); +} + +.variables-view-empty-notice { + padding: 2px; +} + +.variables-view-empty-notice { + color: var(--theme-body-color-alt); +} + +.variables-view-scope:focus > .title, +.variable-or-property:focus > .title { + background-color: var(--theme-selection-background); + color: var(--theme-selection-color); +} + +.variables-view-scope > .title { + border-top-width: 1px; + border-top-style: solid; + margin-top: -1px; +} + +/* Custom scope stylings */ + +.variables-view-watch-expressions .title > .name { + max-width: 14em; +} + +/* Generic variables traits */ + +.variables-view-variable:not(:last-child) { + border-bottom: 1px solid rgba(128, 128, 128, .15); +} + +.theme-firebug .variables-view-variable { + border-bottom: 1px solid transparent; +} + +.variables-view-variable > .title > .name { + font-weight: 600; +} + +/* Generic variables *and* properties traits */ + +.variable-or-property:focus > .title > label { + color: inherit !important; +} + +.variables-view-container .theme-twisty { + margin: 2px; +} + +.variable-or-property > .title > .theme-twisty { + margin-inline-start: 5px; +} + +.variable-or-property:not([untitled]) > .variables-view-element-details { + margin-inline-start: 7px; +} + +/* Traits applied when variables or properties are changed or overridden */ + +.variable-or-property:not([overridden]) { + transition: background 1s ease-in-out; +} + +.variable-or-property:not([overridden])[changed] { + transition-duration: .4s; +} + +.variable-or-property[overridden] { + background: rgba(128,128,128,0.05); +} + +.variable-or-property[overridden] .title > label { + /* Cross out the title for this variable and all child properties. */ + font-style: italic; + text-decoration: line-through; + border-bottom: none !important; + color: rgba(128,128,128,0.9); + opacity: 0.7; +} + +/* Traits applied when variables or properties are editable */ + +.variable-or-property[editable] > .title > .value { + cursor: text; +} + +.variable-or-property[overridden] .title > .value { + /* Disallow editing this variable and all child properties. */ + pointer-events: none; +} + +/* Custom configurable/enumerable/writable or frozen/sealed/extensible + * variables and properties */ + +.variable-or-property[non-enumerable]:not([self]):not([pseudo-item]) > .title > .name { + opacity: 0.6; +} + +.variable-or-property-non-writable-icon { + background: url("chrome://devtools/skin/images/vview-lock.png") no-repeat; + background-size: cover; + width: 16px; + height: 16px; +} + +@media (min-resolution: 1.1dppx) { + .variable-or-property-non-writable-icon { + background-image: url("chrome://devtools/skin/images/vview-lock@2x.png"); + } +} + +.variable-or-property-frozen-label, +.variable-or-property-sealed-label, +.variable-or-property-non-extensible-label { + height: 16px; + padding-inline-end: 4px; +} + +.variable-or-property:not(:focus) > .title > .variable-or-property-frozen-label, +.variable-or-property:not(:focus) > .title > .variable-or-property-sealed-label, +.variable-or-property:not(:focus) > .title > .variable-or-property-non-extensible-label { + color: #666; +} + +/* Aligned values */ + +.variables-view-container[aligned-values] .title > .separator { + -moz-box-flex: 1; +} + +.variables-view-container[aligned-values] .title > .value { + -moz-box-flex: 0; + width: 70vw; +} + +.variables-view-container[aligned-values] .title > .element-value-input { + width: calc(70vw - 10px); +} + +/* Actions first */ + +.variables-view-open-inspector { + -moz-box-ordinal-group: 1; +} + +.variables-view-edit, +.variables-view-add-property { + -moz-box-ordinal-group: 2; +} + +.variable-or-property-frozen-label, +.variable-or-property-sealed-label, +.variable-or-property-non-extensible-label, +.variable-or-property-non-writable-icon { + -moz-box-ordinal-group: 3; +} + +.variables-view-delete { + -moz-box-ordinal-group: 4; +} + +.variables-view-container[actions-first] .variables-view-delete, +.variables-view-container[actions-first] .variables-view-add-property, +.variables-view-container[actions-first] .variables-view-open-inspector { + -moz-box-ordinal-group: 0; +} + +.variables-view-container[actions-first] [invisible] { + visibility: hidden; +} + +/* Variables and properties tooltips */ + +.variable-or-property > tooltip > label { + margin: 0 2px 0 2px; +} + +.variable-or-property[non-enumerable] > tooltip > label.enumerable, +.variable-or-property[non-configurable] > tooltip > label.configurable, +.variable-or-property[non-writable] > tooltip > label.writable, +.variable-or-property[non-extensible] > tooltip > label.extensible { + color: #800; + text-decoration: line-through; +} + +.variable-or-property[overridden] > tooltip > label.overridden { + padding-inline-start: 4px; + border-inline-start: 1px dotted #000; +} + +.variable-or-property[safe-getter] > tooltip > label.WebIDL { + padding-inline-start: 4px; + border-inline-start: 1px dotted #000; + color: #080; +} + +/* Variables and properties editing */ +.variables-view-delete, +.variables-view-edit, +.variables-view-open-inspector { + width: 16px; + height: 16px; + background-size: cover; + cursor: pointer; +} + +.variables-view-delete:hover, +.variables-view-edit:hover, +.variables-view-open-inspector:hover { + filter: url(images/filters.svg#checked-icon-state); +} + +.variables-view-delete:active, +.variables-view-edit:active, +.variables-view-open-inspector:active { + filter: url(images/filters.svg#checked-icon-state) brightness(0.9); +} + +.variable-or-property:focus > .title > .variables-view-delete, +.variable-or-property:focus > .title > .variables-view-edit, +.variable-or-property:focus > .title > .variables-view-open-inspector { + filter: none; +} + +.variables-view-delete { + background-image: var(--delete-icon); +} + +@media (min-resolution: 1.1dppx) { + .variables-view-delete { + background-image: var(--delete-icon-2x); + } +} + +.variables-view-edit { + background-image: url("chrome://devtools/skin/images/vview-edit.png"); +} + +@media (min-resolution: 1.1dppx) { + .variables-view-edit { + background-image: url("chrome://devtools/skin/images/vview-edit@2x.png"); + } +} + +.variables-view-open-inspector { + background-image: url("chrome://devtools/skin/images/vview-open-inspector.png"); +} + +@media (min-resolution: 1.1dppx) { + .variables-view-open-inspector { + background-image: url("chrome://devtools/skin/images/vview-open-inspector@2x.png"); + } +} + +/* Variables and properties input boxes */ + +.variable-or-property > .title > .separator + .element-value-input { + margin-inline-start: -2px !important; + margin-inline-end: 2px !important; +} + +.variable-or-property > .title > .separator[hidden=true] + .element-value-input { + margin-inline-start: 4px !important; + margin-inline-end: 2px !important; +} + +.element-name-input { + margin-inline-start: -2px !important; + margin-inline-end: 2px !important; + font-weight: 600; +} + +.element-value-input, +.element-name-input { + border: 1px solid rgba(128, 128, 128, .5) !important; + border-radius: 0; + color: inherit; +} + +/* Variables and properties searching */ + +.variable-or-property[unmatched] { + border: none; + margin: 0; +} + +/* Canvas graphs */ + +.graph-widget-container { + position: relative; +} + +.graph-widget-canvas { + width: 100%; + height: 100%; +} + +.graph-widget-canvas[input=hovering-background] { + cursor: text; +} + +.graph-widget-canvas[input=hovering-region] { + cursor: pointer; +} + +.graph-widget-canvas[input=hovering-selection-start-boundary], +.graph-widget-canvas[input=hovering-selection-end-boundary], +.graph-widget-canvas[input=adjusting-selection-boundary] { + cursor: col-resize; +} + +.graph-widget-canvas[input=adjusting-view-area] { + cursor: grabbing; +} + +.graph-widget-canvas[input=hovering-selection-contents] { + cursor: grab; +} + +.graph-widget-canvas[input=dragging-selection-contents] { + cursor: grabbing; +} + +/* Line graph widget */ + +.line-graph-widget-gutter { + position: absolute; + width: 10px; + height: 100%; + top: 0; + left: 0; + pointer-events: none; + border-inline-end: 1px solid; +} + +.theme-light .line-graph-widget-gutter { + background: rgba(255,255,255,0.75); + border-inline-end-color: rgba(255,255,255,0.25); +} + +.theme-dark .line-graph-widget-gutter { + background: rgba(0,0,0,0.5); + border-inline-end-color: rgba(0,0,0,0.25); +} + +.line-graph-widget-gutter-line { + position: absolute; + width: 100%; + border-top: 1px solid; +} + +.line-graph-widget-gutter-line[type=maximum] { + border-color: #2cbb0f; +} + +.line-graph-widget-gutter-line[type=minimum] { + border-color: #ed2655; +} + +.line-graph-widget-gutter-line[type=average] { + border-color: #d97e00; +} + +.line-graph-widget-tooltip { + position: absolute; + border-radius: 2px; + line-height: 15px; + padding-inline-start: 6px; + padding-inline-end: 6px; + transform: translateY(-50%); + font-size: 0.8rem !important; + z-index: 1; + pointer-events: none; +} + +.theme-light .line-graph-widget-tooltip { + background: rgba(255,255,255,0.75); +} + +.theme-dark .line-graph-widget-tooltip { + background: rgba(0,0,0,0.5); +} + +.line-graph-widget-tooltip[with-arrows=true]::before { + content: ""; + position: absolute; + border-top: 3px solid transparent; + border-bottom: 3px solid transparent; + top: calc(50% - 3px); +} + +.line-graph-widget-tooltip[arrow=start][with-arrows=true]::before { + border-inline-end: 3px solid; + left: -3px; +} + +.line-graph-widget-tooltip[arrow=end][with-arrows=true]::before { + border-inline-start: 3px solid; + right: -3px; +} + +.theme-light .line-graph-widget-tooltip[arrow=start][with-arrows=true]::before { + border-inline-end-color: rgba(255,255,255,0.75); +} + +.theme-dark .line-graph-widget-tooltip[arrow=start][with-arrows=true]::before { + border-inline-end-color: rgba(0,0,0,0.5); +} + +.theme-light .line-graph-widget-tooltip[arrow=end][with-arrows=true]::before { + border-inline-start-color: rgba(255,255,255,0.75); +} + +.theme-dark .line-graph-widget-tooltip[arrow=end][with-arrows=true]::before { + border-inline-start-color: rgba(0,0,0,0.5); +} + +.line-graph-widget-tooltip[type=maximum] { + left: 14px; +} + +.line-graph-widget-tooltip[type=minimum] { + left: 14px; +} + +.line-graph-widget-tooltip[type=average] { + right: 4px; +} + +.line-graph-widget-tooltip > [text=info] { + color: var(--theme-content-color1); +} + +.line-graph-widget-tooltip > [text=value] { + margin-inline-start: 3px; +} + +.line-graph-widget-tooltip > [text=metric] { + margin-inline-start: 1px; + color: var(--theme-content-color3); +} + +.theme-light .line-graph-widget-tooltip > [text=value], +.theme-light .line-graph-widget-tooltip > [text=metric] { + text-shadow: 1px 0px rgba(255,255,255,0.5), + -1px 0px rgba(255,255,255,0.5), + 0px -1px rgba(255,255,255,0.5), + 0px 1px rgba(255,255,255,0.5); +} + +.theme-dark .line-graph-widget-tooltip > [text=value], +.theme-dark .line-graph-widget-tooltip > [text=metric] { + text-shadow: 1px 0px rgba(0,0,0,0.5), + -1px 0px rgba(0,0,0,0.5), + 0px -1px rgba(0,0,0,0.5), + 0px 1px rgba(0,0,0,0.5); +} + +.line-graph-widget-tooltip[type=maximum] > [text=value] { + color: var(--theme-highlight-green); +} + +.line-graph-widget-tooltip[type=minimum] > [text=value] { + color: var(--theme-highlight-red); +} + +.line-graph-widget-tooltip[type=average] > [text=value] { + color: var(--theme-highlight-orange); +} + +/* Bar graph widget */ + +.bar-graph-widget-legend { + position: absolute; + top: 4px; + left: 8px; + color: #292e33; + font-size: 80%; + pointer-events: none; +} + +.bar-graph-widget-legend-item { + float: left; + margin-inline-end: 8px; +} + +.bar-graph-widget-legend-item > [view="color"], +.bar-graph-widget-legend-item > [view="label"] { + vertical-align: middle; +} + +.bar-graph-widget-legend-item > [view="color"] { + display: inline-block; + width: 8px; + height: 8px; + border: 1px solid #fff; + border-radius: 1px; + margin-inline-end: 4px; + pointer-events: all; + cursor: pointer; +} + +.bar-graph-widget-legend-item > [view="label"] { + text-shadow: 1px 0px rgba(255,255,255,0.8), + -1px 0px rgba(255,255,255,0.8), + 0px -1px rgba(255,255,255,0.8), + 0px 1px rgba(255,255,255,0.8); +} + +/* Charts */ + +.generic-chart-container { + /* Hack: force hardware acceleration */ + transform: translateZ(1px); +} + +.theme-dark .generic-chart-container { + color: var(--theme-selection-color); +} + +.theme-light .generic-chart-container { + color: var(--theme-body-color-alt); +} + +.chart-colored-blob { + fill: var(--theme-content-color2); + background: var(--theme-content-color2); +} + +/* Charts: Pie */ + +.pie-chart-slice { + stroke-width: 1px; + cursor: pointer; +} + +.theme-dark .pie-chart-slice { + stroke: rgba(0,0,0,0.2); +} + +.theme-light .pie-chart-slice { + stroke: rgba(255,255,255,0.8); +} + +.theme-dark .pie-chart-slice[largest] { + stroke-width: 2px; + stroke: #fff; +} + +.theme-light .pie-chart-slice[largest] { + stroke: #000; +} + +.pie-chart-label { + text-anchor: middle; + dominant-baseline: middle; + pointer-events: none; +} + +.theme-dark .pie-chart-label { + fill: #000; +} + +.theme-light .pie-chart-label { + fill: #fff; +} + +.pie-chart-container[slices="1"] > .pie-chart-slice { + stroke-width: 0px; +} + +.pie-chart-slice, +.pie-chart-label { + transition: all 0.1s ease-out; +} + +.pie-chart-slice:not(:hover):not([focused]), +.pie-chart-slice:not(:hover):not([focused]) + .pie-chart-label { + transform: none !important; +} + +/* Charts: Table */ + +.table-chart-title { + padding-bottom: 10px; + font-size: 120%; + font-weight: 600; +} + +.table-chart-row { + margin-top: 1px; + cursor: pointer; +} + +.table-chart-grid:hover > .table-chart-row { + transition: opacity 0.1s ease-in-out; +} + +.table-chart-grid:not(:hover) > .table-chart-row { + transition: opacity 0.2s ease-in-out; +} + +.generic-chart-container:hover > .table-chart-grid:hover > .table-chart-row:not(:hover), +.generic-chart-container:hover ~ .table-chart-container > .table-chart-grid > .table-chart-row:not([focused]) { + opacity: 0.4; +} + +.table-chart-row-box { + width: 8px; + height: 1.5em; + margin-inline-end: 10px; +} + +.table-chart-row-label { + width: 8em; + padding-inline-end: 6px; + cursor: inherit; +} + +.table-chart-totals { + margin-top: 8px; + padding-top: 6px; +} + +.table-chart-totals { + border-top: 1px solid var(--theme-body-color-alt); /* Grey foreground text */ +} + +.table-chart-summary-label { + font-weight: 600; + padding: 1px 0px; +} + +.theme-dark .table-chart-summary-label { + color: var(--theme-selection-color); +} + +.theme-light .table-chart-summary-label { + color: var(--theme-body-color); +} + +/* Table Widget */ + +/* Table body */ + +.table-widget-body > .devtools-side-splitter { + background-color: transparent; +} + +.table-widget-body { + overflow: auto; +} + +.table-widget-body, +.table-widget-empty-text { + background-color: var(--theme-body-background); +} + +/* Column Headers */ + +.table-widget-column-header, +.table-widget-cell { + border-inline-end: 1px solid var(--table-splitter-color) !important; +} + +/* Table widget column header colors are taken from netmonitor.inc.css to match + the look of both the tables. */ + +.table-widget-column-header { + position: sticky; + top: 0; + width: 100%; + margin: 0; + padding: 5px 0 0 !important; + color: inherit; + text-align: center; + font-weight: inherit !important; + border-image: linear-gradient(transparent 15%, + var(--theme-splitter-color) 15%, + var(--theme-splitter-color) 85%, + transparent 85%, + transparent calc(100% - 1px), + var(--theme-splitter-color) calc(100% - 1px)) 1 1; + background-repeat: no-repeat; +} + +.table-widget-column-header:not([sorted]):hover { + background-image: linear-gradient(rgba(0,0,0,0.1),rgba(0,0,0,0.1)); +} + +.table-widget-column-header[sorted] { + background-color: var(--theme-selection-background); + color: var(--theme-selection-color); + border-image: linear-gradient(var(--theme-splitter-color), var(--theme-splitter-color)) 1 1; + box-shadow: -0.5px -0.5px 0 0.5px var(--theme-splitter-color); + background-position: right 6px center; +} + +.table-widget-column-header[sorted]:-moz-locale-dir(rtl) { + background-position: 6px center; +} + +.table-widget-column-header[sorted=ascending] { + background-image: url("chrome://devtools/skin/images/sort-arrows.svg#ascending"); +} + +.table-widget-column-header[sorted=descending] { + background-image: url("chrome://devtools/skin/images/sort-arrows.svg#descending"); +} + +.theme-dark .table-widget-column[readonly] { + background-color: rgba(255,255,255,0.1); +} + +.theme-light .table-widget-column[readonly] { + background-color: rgba(0,0,0,0.1); +} + +.table-widget-body .devtools-side-splitter:last-of-type { + display: none; +} + +/* Firebug theme support for table widget */ + +.theme-firebug .devtools-toolbar.table-widget-column-header { + font-family: var(--proportional-font-family); + color: var(--theme-body-color); + + /* Make sure to override the default Firebug devtools-toolbar height */ + height: 19px !important; + + /* Make sure to override the dafault .table-widget-column-header font-weight and background */ + font-weight: bold !important; + background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.05)); + background-color: #C8D2DC !important; + + /* Vertically center header label */ + padding-top: 2px !important; +} + +.theme-firebug .devtools-toolbar.table-widget-column-header[sorted] { + background-color: #AAC3DC !important; +} + +.theme-firebug .devtools-toolbar.table-widget-column-header:hover:active { + background-image: linear-gradient(rgba(0, 0, 0, 0.1), + transparent); +} + +.theme-firebug .devtools-toolbar.table-widget-column-header[sorted=descending]:not(:active) { + background-image: url(chrome://devtools/skin/images/firebug/arrow-down.svg); +} + +.theme-firebug .devtools-toolbar.table-widget-column-header[sorted=ascending]:not(:active) { + background-image: url(chrome://devtools/skin/images/firebug/arrow-up.svg); +} + +/* Cells */ + +.table-widget-cell { + width: 100%; + padding: 3px 4px; + min-width: 100px; + -moz-user-focus: normal; + color: var(--theme-body-color); +} + +.table-widget-cell[hidden] { + display: none; +} + +.table-widget-cell.even:not(.theme-selected) { + background-color: var(--table-zebra-background); +} + +:root:not(.no-animate) .table-widget-cell.flash-out { + animation: flash-out 0.5s ease-in; +} + +@keyframes flash-out { + to { + background: var(--theme-contrast-background); + } +} + +/* Empty text and initial text */ + +.table-widget-empty-text { + display: none; + text-align: center; + font-size: large; + margin-top: -20px !important; +} + +.table-widget-body:empty + .table-widget-empty-text:not([value=""]), +.table-widget-body[empty] + .table-widget-empty-text:not([value=""]) { + display: block; +} + +/* Tree Widget */ + +.tree-widget-container { + padding: 0; + margin: 0; + width: 100%; + height: 100%; + list-style: none; + overflow: hidden; + margin-inline-end: 40px; +} + +.tree-widget-container:-moz-focusring, +.tree-widget-container *:-moz-focusring { + outline-style: none; +} + +.tree-widget-empty-text { + padding: 10px 20px; + font-size: medium; + background: transparent; + pointer-events: none; +} + +/* Tree Item */ + +.tree-widget-container .tree-widget-item { + padding: 2px 0px 4px; + /* OSX has line-height 14px by default, which causes weird alignment issues + * because of 20px high icons. thus making line-height consistent with that of + * windows. + */ + line-height: 17px !important; + display: inline-block; + width: 100%; + word-break: keep-all; /* To prevent long urls like http://foo.com/bar from + breaking in multiple lines */ +} + +.tree-widget-container .tree-widget-children { + margin: 0; + padding: 0; + list-style: none; +} + +.tree-widget-item[level="1"] { + font-weight: 700; +} + +/* Twisties */ +.tree-widget-item::before { + content: ""; + width: 14px; + height: 14px; + float: left; + margin: 3px 2px -3px; + background-repeat: no-repeat; + background-image: url("chrome://devtools/skin/images/controls.png"); + background-size: 56px 28px; + cursor: pointer; + background-position: -28px -14px; +} + +.tree-widget-item:-moz-locale-dir(rtl)::before { + float: right; + transform: scaleX(-1); +} + +.theme-light .tree-widget-item:not(.theme-selected)::before { + background-position: 0 -14px; +} + +.tree-widget-item[empty]::before { + background: transparent; +} + +.tree-widget-item[expanded]::before { + background-position: -42px -14px; +} + +.theme-light .tree-widget-item:not(.theme-selected)[expanded]:before { + background-position: -14px -14px; +} + +.tree-widget-item + ul { + overflow: hidden; + animation: collapse-tree-item 0.2s; + max-height: 0; +} + +.tree-widget-item[expanded] + ul { + animation: expand-tree-item 0.3s; + max-height: unset; +} + +@keyframes collapse-tree-item { + from { + max-height: 300px; + } + to { + max-height: 0; + } +} + +@keyframes expand-tree-item { + from { + max-height: 0; + } + to { + max-height: 500px; + } +} + +@media (min-resolution: 1.1dppx) { + .tree-widget-item:before { + background-image: url("chrome://devtools/skin/images/controls@2x.png"); + } +} + +/* Indentation of child items in the tree */ + +/* For level > 6 */ +.tree-widget-item[level] + ul > li > .tree-widget-item { + padding-inline-start: 98px; +} + +/* First level */ +.tree-widget-item[level="1"] + ul > li > .tree-widget-item { + padding-inline-start: 14px; +} + +/* Second level */ +.tree-widget-item[level="2"] + ul > li > .tree-widget-item { + padding-inline-start: 28px; +} + +/* Third level */ +.tree-widget-item[level="3"] + ul > li > .tree-widget-item { + padding-inline-start: 42px; +} + +/* Fourth level */ +.tree-widget-item[level="4"] + ul > li > .tree-widget-item { + padding-inline-start: 56px; +} + +/* Fifth level */ +.tree-widget-item[level="5"] + ul > li > .tree-widget-item { + padding-inline-start: 70px; +} + +/* Sixth level */ +.tree-widget-item[level="6"] + ul > li > .tree-widget-item { + padding-inline-start: 84px; +} + +/* Custom icons for certain tree items indicating the type of the item */ + +.tree-widget-item[type]::after { + content: ""; + float: left; + width: 16px; + height: 17px; + margin-inline-end: 4px; + background-repeat: no-repeat; + background-size: 20px auto; + background-position: 0 0; + background-size: auto 20px; + opacity: 0.75; +} + +.tree-widget-item.theme-selected[type]::after { + opacity: 1; +} + +.tree-widget-item:-moz-locale-dir(rtl)::after { + float: right; +} + +.theme-light .tree-widget-item.theme-selected[type]::after, +.theme-dark .tree-widget-item[type]::after { + filter: invert(1); +} + +.tree-widget-item[type="dir"]::after { + background-image: url(chrome://devtools/skin/images/filetypes/dir-close.svg); + background-position: 2px 0; + background-size: auto 16px; + width: 20px; +} + +.tree-widget-item[type="dir"][expanded]:not([empty])::after { + background-image: url(chrome://devtools/skin/images/filetypes/dir-open.svg); +} + +.tree-widget-item[type="url"]::after { + background-image: url(chrome://devtools/skin/images/filetypes/globe.svg); + background-size: auto 18px; + width: 18px; +} |