mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-01 09:47:56 +08:00
Previously, Elements tree rows had a transparent border-top to fix a bug where there was unclick-able deadspace in between rows. This patch removes the transparent border-top in favor of padding-top, since the `forced-colors` heuristic makes these borders visible in high-contrast mode. Before: https://i.imgur.com/AEb8sSM.png After: https://i.imgur.com/MAqFaxf.png Bug: 1048378 Change-Id: I5c077d344f18d5b3f81419562ed030f5d0f8a9fc Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2076623 Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Kalon Hinds <kahinds@microsoft.com>
348 lines
7.7 KiB
CSS
348 lines
7.7 KiB
CSS
/*
|
|
* Copyright (c) 2014 The Chromium Authors. All rights reserved.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
.elements-disclosure {
|
|
width: 100%;
|
|
display: inline-block;
|
|
line-height: normal;
|
|
}
|
|
|
|
.elements-disclosure li {
|
|
/** Keep margin-left & padding-left in sync with ElementsTreeElements.updateDecorators **/
|
|
padding: 1px 0 0 14px;
|
|
margin-left: -2px;
|
|
word-wrap: break-word;
|
|
position: relative;
|
|
min-height: 15px;
|
|
line-height: 1.36;
|
|
}
|
|
|
|
.elements-disclosure li.parent {
|
|
/** Keep it in sync with ElementsTreeElements.updateDecorators **/
|
|
margin-left: -13px;
|
|
}
|
|
|
|
.elements-disclosure li .selected-hint:before {
|
|
font-style: italic;
|
|
content: " == $0";
|
|
opacity: 0;
|
|
position: absolute;
|
|
white-space: pre;
|
|
}
|
|
|
|
.elements-disclosure .elements-tree-outline:not(.hide-selection-when-blurred) li.selected .selected-hint:before {
|
|
opacity: 0.6;
|
|
}
|
|
|
|
.elements-disclosure li.parent::before {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.elements-disclosure li.parent::before {
|
|
user-select: none;
|
|
-webkit-mask-image: url(Images/treeoutlineTriangles.svg);
|
|
-webkit-mask-size: 32px 24px;
|
|
content: '\00a0\00a0';
|
|
color: transparent;
|
|
text-shadow: none;
|
|
margin-right: -3px;
|
|
}
|
|
|
|
.elements-disclosure li.always-parent::before {
|
|
visibility: hidden;
|
|
}
|
|
|
|
.elements-disclosure li.parent::before {
|
|
-webkit-mask-position: 0 0;
|
|
background-color: #727272;
|
|
}
|
|
|
|
.elements-disclosure li .selection {
|
|
display: none;
|
|
z-index: -1;
|
|
}
|
|
|
|
.elements-disclosure li.hovered:not(.selected) .selection {
|
|
display: block;
|
|
left: 3px;
|
|
right: 3px;
|
|
background-color: var(--item-hover-color);
|
|
border-radius: 5px;
|
|
}
|
|
|
|
.elements-disclosure li.parent.expanded::before {
|
|
-webkit-mask-position: -16px 0;
|
|
}
|
|
|
|
.elements-disclosure li.selected .selection {
|
|
display: block;
|
|
}
|
|
|
|
.elements-disclosure .elements-tree-outline:not(.hide-selection-when-blurred) .selection {
|
|
background-color: var(--item-selection-inactive-bg-color);
|
|
}
|
|
|
|
.elements-disclosure .elements-tree-outline.hide-selection-when-blurred .selected:focus[data-keyboard-focus="true"] .highlight > * {
|
|
background: var(--focus-bg-color);
|
|
border-radius: 2px;
|
|
box-shadow: 0px 0px 0px 2px var(--focus-bg-color);
|
|
}
|
|
|
|
.elements-disclosure ol {
|
|
list-style-type: none;
|
|
/** Keep it in sync with ElementsTreeElements.updateDecorators **/
|
|
padding-inline-start: 12px;
|
|
margin: 0;
|
|
}
|
|
|
|
.elements-disclosure ol.children {
|
|
display: none;
|
|
}
|
|
|
|
.elements-disclosure ol.children.expanded {
|
|
display: block;
|
|
}
|
|
|
|
.elements-disclosure li .webkit-html-tag.close {
|
|
margin-left: -12px;
|
|
}
|
|
|
|
.elements-disclosure > ol {
|
|
position: relative;
|
|
margin: 0;
|
|
cursor: default;
|
|
min-width: 100%;
|
|
min-height: 100%;
|
|
padding-left: 2px;
|
|
}
|
|
|
|
.elements-disclosure .elements-tree-outline:not(.hide-selection-when-blurred) li.selected:focus .selection {
|
|
background-color: var(--item-selection-bg-color);
|
|
}
|
|
|
|
.elements-tree-outline ol.shadow-root-depth-4 {
|
|
background-color: rgba(0, 0, 0, 0.04);
|
|
}
|
|
|
|
.elements-tree-outline ol.shadow-root-depth-3 {
|
|
background-color: rgba(0, 0, 0, 0.03);
|
|
}
|
|
|
|
.elements-tree-outline ol.shadow-root-depth-2 {
|
|
background-color: rgba(0, 0, 0, 0.02);
|
|
}
|
|
|
|
.elements-tree-outline ol.shadow-root-depth-1 {
|
|
background-color: rgba(0, 0, 0, 0.01);
|
|
}
|
|
|
|
.elements-tree-outline ol.shadow-root-deep {
|
|
background-color: transparent;
|
|
}
|
|
|
|
.elements-tree-editor {
|
|
box-shadow: var(--drop-shadow);
|
|
margin-right: 4px;
|
|
}
|
|
|
|
.elements-disclosure li.elements-drag-over .selection {
|
|
display: block;
|
|
margin-top: -2px;
|
|
border-top: 2px solid var(--selection-bg-color);
|
|
}
|
|
|
|
.elements-disclosure li.in-clipboard .highlight {
|
|
outline: 1px dotted darkgrey;
|
|
}
|
|
|
|
.CodeMirror {
|
|
background-color: white;
|
|
height: 300px !important;
|
|
}
|
|
|
|
.CodeMirror-lines {
|
|
padding: 0;
|
|
}
|
|
|
|
.CodeMirror pre {
|
|
padding: 0;
|
|
}
|
|
|
|
button, input, select {
|
|
font-family: inherit;
|
|
font-size: inherit;
|
|
}
|
|
|
|
.editing {
|
|
box-shadow: var(--drop-shadow);
|
|
background-color: white;
|
|
text-overflow: clip !important;
|
|
padding-left: 2px;
|
|
margin-left: -2px;
|
|
padding-right: 2px;
|
|
margin-right: -2px;
|
|
margin-bottom: -1px;
|
|
padding-bottom: 1px;
|
|
opacity: 1.0 !important;
|
|
}
|
|
|
|
.editing,
|
|
.editing * {
|
|
color: #222 !important;
|
|
text-decoration: none !important;
|
|
}
|
|
|
|
.editing br {
|
|
display: none;
|
|
}
|
|
|
|
.elements-gutter-decoration {
|
|
position: absolute;
|
|
top: 3px;
|
|
left: 2px;
|
|
height: 9px;
|
|
width: 9px;
|
|
border-radius: 5px;
|
|
border: 1px solid orange;
|
|
background-color: orange;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.elements-gutter-decoration.elements-has-decorated-children {
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.add-attribute {
|
|
margin-left: 1px;
|
|
margin-right: 1px;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.elements-tree-nowrap, .elements-tree-nowrap .li {
|
|
white-space: pre !important;
|
|
}
|
|
|
|
.elements-disclosure .elements-tree-nowrap li {
|
|
word-wrap: normal;
|
|
}
|
|
|
|
/* DOM update highlight */
|
|
@-webkit-keyframes dom-update-highlight-animation {
|
|
from {
|
|
background-color: rgb(158, 54, 153);
|
|
color: white;
|
|
}
|
|
80% {
|
|
background-color: rgb(245, 219, 244);
|
|
color: inherit;
|
|
}
|
|
to {
|
|
background-color: inherit;
|
|
}
|
|
}
|
|
|
|
@-webkit-keyframes dom-update-highlight-animation-dark {
|
|
from {
|
|
background-color: rgb(158, 54, 153);
|
|
color: white;
|
|
}
|
|
80% {
|
|
background-color: #333;
|
|
color: inherit;
|
|
}
|
|
to {
|
|
background-color: inherit;
|
|
}
|
|
}
|
|
|
|
.dom-update-highlight {
|
|
-webkit-animation: dom-update-highlight-animation 1.4s 1 cubic-bezier(0, 0, 0.2, 1);
|
|
border-radius: 2px;
|
|
}
|
|
|
|
:host-context(.-theme-with-dark-background) .dom-update-highlight {
|
|
-webkit-animation: dom-update-highlight-animation-dark 1.4s 1 cubic-bezier(0, 0, 0.2, 1);
|
|
}
|
|
|
|
.elements-disclosure.single-node li {
|
|
padding-left: 2px;
|
|
}
|
|
|
|
.elements-tree-shortcut-title, .elements-tree-shortcut-link {
|
|
color: rgb(87, 87, 87);
|
|
}
|
|
|
|
.elements-disclosure .gutter-container {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
cursor: pointer;
|
|
width: 15px;
|
|
height: 15px;
|
|
}
|
|
|
|
.elements-hide-gutter .gutter-container {
|
|
display: none;
|
|
}
|
|
|
|
.gutter-menu-icon {
|
|
display: block;
|
|
visibility: hidden;
|
|
transform: rotate(-90deg) scale(0.8);
|
|
background-color: white;
|
|
position: relative;
|
|
left: -7px;
|
|
top: -3px;
|
|
}
|
|
|
|
.elements-disclosure li.selected .gutter-container:not(.has-decorations) .gutter-menu-icon {
|
|
visibility: visible;
|
|
}
|
|
|
|
/** Guide line */
|
|
li.selected {
|
|
z-index: 0;
|
|
}
|
|
|
|
li.hovered:not(.always-parent) + ol.children, .elements-tree-outline ol.shadow-root, li.selected:not(.always-parent) + ol.children {
|
|
margin-left: 5px;
|
|
padding-inline-start: 6px;
|
|
border-width: 1px;
|
|
border-left-style: solid;
|
|
}
|
|
|
|
li.hovered:not(.always-parent) + ol.children:not(.shadow-root) {
|
|
border-color: hsla(0,0%,0%,0.1);
|
|
}
|
|
|
|
.elements-tree-outline ol.shadow-root {
|
|
border-color: hsla(0,0%,80%,1);
|
|
}
|
|
|
|
li.selected:not(.always-parent) + ol.children {
|
|
border-color: hsla(216,68%,80%,1) !important;
|
|
}
|
|
|
|
@media (forced-colors: active) {
|
|
.elements-disclosure li.parent::before {
|
|
forced-color-adjust: none;
|
|
background-color: ButtonText !important;
|
|
}
|
|
.elements-disclosure .elements-tree-outline:not(.hide-selection-when-blurred) li.selected .selected-hint:before {
|
|
opacity: unset;
|
|
}
|
|
.elements-disclosure li.hovered:not(.selected) .selection,
|
|
.elements-disclosure .elements-tree-outline:not(.hide-selection-when-blurred) li.selected:focus .selection,
|
|
.elements-disclosure .elements-tree-outline:not(.hide-selection-when-blurred) .selection {
|
|
forced-color-adjust: none;
|
|
background: Canvas !important;
|
|
border: 1px solid Highlight !important;
|
|
}
|
|
.gutter-menu-icon {
|
|
forced-color-adjust: none;
|
|
}
|
|
}
|