mirror of
https://github.com/facebook/react.git
synced 2026-02-22 03:42:05 +00:00
Stacked on #34624. <img width="638" height="170" alt="Screenshot 2025-09-27 at 12 57 10 PM" src="https://github.com/user-attachments/assets/f67023b1-e7be-4252-93ab-6302bc63ac26" /> <img width="641" height="250" alt="Screenshot 2025-09-27 at 12 57 21 PM" src="https://github.com/user-attachments/assets/f96a9b48-c6f4-406f-a0ea-b3da288411b5" />
142 lines
2.7 KiB
CSS
142 lines
2.7 KiB
CSS
.SuspenseTab {
|
|
position: relative;
|
|
width: 100%;
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: row;
|
|
background-color: var(--color-background);
|
|
color: var(--color-text);
|
|
font-family: var(--font-family-sans);
|
|
}
|
|
|
|
.SuspenseTab, .SuspenseTab * {
|
|
box-sizing: border-box;
|
|
-webkit-font-smoothing: var(--font-smoothing);
|
|
}
|
|
|
|
.VRule {
|
|
height: 20px;
|
|
width: 1px;
|
|
flex: 0 0 1px;
|
|
margin: 0 0.5rem;
|
|
background-color: var(--color-border);
|
|
}
|
|
|
|
.TreeWrapper {
|
|
border-top: 1px solid var(--color-border);
|
|
flex: 1 1 65%;
|
|
display: flex;
|
|
flex-direction: row;
|
|
height: 100%;
|
|
overflow: auto;
|
|
}
|
|
|
|
.InspectedElementWrapper {
|
|
flex: 0 0 calc(100% - var(--horizontal-resize-tree-percentage));
|
|
overflow-x: hidden;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.ResizeBarWrapper {
|
|
flex: 0 0 0px;
|
|
position: relative;
|
|
}
|
|
|
|
.ResizeBar {
|
|
position: absolute;
|
|
/*
|
|
* moving the bar out of its bounding box might cause its hitbox to overlap
|
|
* with another scrollbar creating disorienting UX where you both resize and scroll
|
|
* at the same time.
|
|
* If you adjust this value, double check that starting resize right on this edge
|
|
* doesn't also cause scroll
|
|
*/
|
|
left: 1px;
|
|
width: 5px;
|
|
height: 100%;
|
|
cursor: ew-resize;
|
|
}
|
|
|
|
@container devtools (width < 600px) {
|
|
.SuspenseTab {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.TreeWrapper {
|
|
border-top: 1px solid var(--color-border);
|
|
flex: 1 1 50%;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.InspectedElementWrapper {
|
|
flex: 0 0 calc(100% - var(--vertical-resize-tree-percentage));
|
|
}
|
|
|
|
.TreeWrapper + .ResizeBarWrapper .ResizeBar {
|
|
top: 1px;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 5px;
|
|
cursor: ns-resize;
|
|
}
|
|
|
|
.ToggleInspectedElement[data-orientation="horizontal"] {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
@container devtools (width >= 600px) {
|
|
.ToggleInspectedElement[data-orientation="vertical"] {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.TreeList {
|
|
flex: 0 0 var(--horizontal-resize-tree-list-percentage);
|
|
border-right: 1px solid var(--color-border);
|
|
padding: 0.25rem;
|
|
overflow: auto;
|
|
}
|
|
|
|
.TreeView {
|
|
flex: 1 1 35%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
overflow: auto;
|
|
}
|
|
|
|
.Rects {
|
|
padding: 0.25rem;
|
|
flex-grow: 1;
|
|
overflow: auto;
|
|
}
|
|
|
|
.SuspenseTreeViewHeader {
|
|
flex: 0 0 42px;
|
|
padding: 0.5rem;
|
|
display: flex;
|
|
align-items: center;
|
|
border-bottom: 1px solid var(--color-border);
|
|
}
|
|
|
|
.SuspenseBreadcrumbs {
|
|
flex: 1;
|
|
/**
|
|
* TODO: Switch to single item view on overflow like OwnerStack does.
|
|
* OwnerStack has more constraints that make it easier so it won't be a 1:1 port.
|
|
*/
|
|
overflow-x: auto;
|
|
}
|
|
|
|
.SuspenseTreeViewFooter {
|
|
flex: 0 0 42px;
|
|
display: flex;
|
|
justify-content: end;
|
|
border-top: 1px solid var(--color-border);
|
|
padding: 0.5rem;
|
|
display: grid;
|
|
grid-template-columns: 1fr auto;
|
|
align-items: center;
|
|
}
|