Files
react/packages/react-devtools-shared/src/devtools/views/SuspenseTab/SuspenseTab.css
Sebastian Markbåge e2d19bf6a9 [DevTools] Use pretty icon with icon for unique suspenders toggle (#34625)
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"
/>
2025-09-28 19:13:15 -04:00

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;
}