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