Add resizable panes with drag handles, min widths, and persistence

This commit is contained in:
2026-06-05 10:46:07 +03:00
parent 411bfbc6c2
commit c50f141d57
11 changed files with 482 additions and 25 deletions
+8 -12
View File
@@ -40,28 +40,24 @@
min-height: 0;
}
/*
* Side panes (library, preview) carry an explicit width (set inline from the
* PanesStore) and don't grow or shrink — the drag handles change that width.
* The editor between them flexes to fill the remainder, so a drag leaves the
* opposite side pane untouched (spec §01A). Panes are separated by the
* ResizeHandle, so no inter-pane borders here.
*/
.pane {
flex: 1 1 0;
flex: 0 0 auto;
min-width: 0;
overflow: auto;
border-right: var(--border-width) solid var(--border);
background: var(--bg);
}
/* Library is a fixed-ish sidebar; editor + preview share the rest. */
.panes > .pane:first-child {
flex: 0 0 280px;
}
/* Editor pane: Monaco manages its own scroll/layout, so no padding. */
.paneEditor {
flex: 1 1 0;
min-width: 0;
overflow: hidden;
border-right: var(--border-width) solid var(--border);
background: var(--bg);
}
.pane:last-child {
border-right: none;
}