mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-09-30 17:27:22 +08:00
https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible :focus-visible is basically the exact same functionality as the custom data-keyboard-focus attribute that devtools maintains. This CL converts all of our uses of data-keyboard-focus in CSS to use :focus-visible. This has no intended behaviour change although it's possible there are small differences in our implementation vs. the web platform one, so this might cause some regression with focus styles for keyboard interaction. I tested a few of these manually to verify they still do the same thing. The CSS linter was unhappy about the ordering of some rules due to specificity-ordering checks, so there is some re-ordering too. A follow-up CL will remove our implementation of data-keyboard-focus. Change-Id: Ifc273f7d82e16ea07e24ed2d1faa6f794a12501d Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2352236 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Jack Franklin <jacktfranklin@chromium.org> Reviewed-by: Kalon Hinds <kahinds@microsoft.com> Reviewed-by: Jack Lynch <jalyn@microsoft.com> Reviewed-by: Brandon Goddard <brgoddar@microsoft.com>
239 lines
4.5 KiB
CSS
239 lines
4.5 KiB
CSS
/*
|
|
* Copyright 2017 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.
|
|
*/
|
|
|
|
.network-timing-table {
|
|
width: 380px;
|
|
border-spacing: 0;
|
|
padding-left: 10px;
|
|
padding-right: 10px;
|
|
line-height: initial;
|
|
table-layout: fixed;
|
|
}
|
|
|
|
.network-timing-start {
|
|
border-top: 5px solid transparent;
|
|
}
|
|
|
|
.network-timing-start th span.network-timing-hidden-header {
|
|
height: 1px;
|
|
width: 1px;
|
|
position: absolute;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.network-timing-table-header td,
|
|
.network-timing-footer td {
|
|
border-top: 10px solid transparent;
|
|
}
|
|
|
|
.network-timing-table-header td {
|
|
color: #737373;
|
|
}
|
|
|
|
.network-timing-table td {
|
|
padding: 4px 0;
|
|
}
|
|
|
|
.network-timing-table-header td:last-child {
|
|
text-align: right;
|
|
}
|
|
|
|
.network-timing-footer td:last-child {
|
|
font-weight: bold;
|
|
text-align: right;
|
|
}
|
|
|
|
table.network-timing-table > tr:not(.network-timing-table-header):not(.network-timing-footer) > td:first-child {
|
|
padding-left: 12px;
|
|
}
|
|
|
|
.network-timing-table col.labels {
|
|
width: 156px;
|
|
}
|
|
|
|
.network-timing-table col.duration {
|
|
width: 80px;
|
|
}
|
|
|
|
.network-timing-table td.caution {
|
|
font-weight: bold;
|
|
color: rgb(255 128 0);
|
|
padding: 2px 0;
|
|
}
|
|
|
|
.network-timing-table hr.break {
|
|
border: 0;
|
|
height: 1px;
|
|
background-image: linear-gradient(to right, #eee, #bbb, #eee);
|
|
}
|
|
|
|
.network-timing-row {
|
|
position: relative;
|
|
height: 15px;
|
|
}
|
|
|
|
.network-timing-bar {
|
|
position: absolute;
|
|
min-width: 1px;
|
|
top: 0;
|
|
bottom: 0;
|
|
}
|
|
|
|
.network-timing-bar-title {
|
|
color: #222;
|
|
white-space: nowrap;
|
|
text-align: right;
|
|
}
|
|
|
|
.network-timing-bar.queueing,
|
|
.network-timing-bar.total {
|
|
border: 1px solid rgb(0 0 0 / 10%);
|
|
}
|
|
|
|
.network-timing-bar.blocking,
|
|
.-theme-preserve {
|
|
background-color: #aaa;
|
|
}
|
|
|
|
.network-timing-bar.proxy,
|
|
.-theme-preserve {
|
|
background-color: #a1887f;
|
|
}
|
|
|
|
.network-timing-bar.dns,
|
|
.-theme-preserve {
|
|
background-color: #009688;
|
|
}
|
|
|
|
.network-timing-bar.connecting,
|
|
.network-timing-bar.serviceworker,
|
|
.network-timing-bar.serviceworker-preparation,
|
|
.-theme-preserve {
|
|
background-color: #ff9800;
|
|
}
|
|
|
|
.network-timing-bar.ssl,
|
|
.-theme-preserve {
|
|
background-color: #9c27b0;
|
|
}
|
|
|
|
.network-timing-bar.serviceworker-respondwith,
|
|
.-theme-preserve {
|
|
background-color: #a8a3ff;
|
|
}
|
|
|
|
.network-fetch-timing-bar-clickable::before {
|
|
user-select: none;
|
|
-webkit-mask-image: url(Images/treeoutlineTriangles.svg);
|
|
-webkit-mask-position: 0 0;
|
|
-webkit-mask-size: 32px 24px;
|
|
float: left;
|
|
width: 8px;
|
|
height: 12px;
|
|
margin-right: 2px;
|
|
content: "";
|
|
position: relative;
|
|
top: 3px;
|
|
background-color: rgb(110 110 110);
|
|
}
|
|
|
|
.network-fetch-timing-bar-clickable {
|
|
position: relative;
|
|
left: -12px;
|
|
}
|
|
|
|
.network-fetch-timing-bar-clickable:focus-visible {
|
|
background-color: var(--toolbar-bg-color);
|
|
}
|
|
|
|
.network-fetch-timing-bar-clickable[aria-checked="true"]::before {
|
|
-webkit-mask-position: -16px 0;
|
|
}
|
|
|
|
.network-fetch-timing-bar-details-collapsed {
|
|
display: none;
|
|
}
|
|
|
|
.network-fetch-timing-bar-details-expanded {
|
|
display: block;
|
|
}
|
|
|
|
.network-fetch-timing-bar-details {
|
|
padding-left: 11px;
|
|
width: fit-content;
|
|
}
|
|
|
|
.network-fetch-details-treeitem {
|
|
width: max-content;
|
|
}
|
|
|
|
.network-timing-bar.sending,
|
|
.-theme-preserve {
|
|
background-color: #b0bec5;
|
|
}
|
|
|
|
.network-timing-bar.waiting,
|
|
.-theme-preserve {
|
|
background-color: #00c853;
|
|
}
|
|
|
|
.network-timing-bar.receiving,
|
|
.network-timing-bar.receiving-push,
|
|
.-theme-preserve {
|
|
background-color: #03a9f4;
|
|
}
|
|
|
|
.network-timing-bar.push,
|
|
.-theme-preserve {
|
|
background-color: #8cdbff;
|
|
}
|
|
|
|
.network-timing-bar.server-timing,
|
|
.-theme-preserve {
|
|
background-color: #ddd;
|
|
}
|
|
|
|
.network-timing-table td.network-timing-metric {
|
|
white-space: nowrap;
|
|
max-width: 150px;
|
|
overflow-x: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.network-timing-bar.proxy,
|
|
.network-timing-bar.dns,
|
|
.network-timing-bar.ssl,
|
|
.network-timing-bar.connecting,
|
|
.network-timing-bar.blocking {
|
|
height: 10px;
|
|
margin: auto;
|
|
}
|
|
|
|
@media (forced-colors: active) {
|
|
.network-timing-bar.blocking,
|
|
.network-timing-bar.proxy,
|
|
.network-timing-bar.dns,
|
|
.network-timing-bar.connecting,
|
|
.network-timing-bar.serviceworker,
|
|
.network-timing-bar.serviceworker-preparation,
|
|
.network-timing-bar.ssl,
|
|
.network-timing-bar.sending,
|
|
.network-timing-bar.waiting,
|
|
.network-timing-bar.receiving,
|
|
.network-timing-bar.receiving-push,
|
|
.network-timing-bar.push,
|
|
.network-timing-bar.server-timing,
|
|
.-theme-preserve {
|
|
forced-color-adjust: none;
|
|
}
|
|
|
|
.network-timing-table-header td,
|
|
.network-timing-footer td {
|
|
forced-color-adjust: none;
|
|
color: ButtonText;
|
|
}
|
|
}
|