sidebar: + menu always reachable on empty panes, unified default width (content-area half), expand/collapse animation
- An empty pane (fresh split, or last tab dragged out) now keeps the tab strip with its + menu mounted, so a new tab can always be created or dragged in; the placeholder body still explains the state. - Default width unified: new sessions open at half the CONTENT area (viewport minus the left sidebar), so the panel never swallows half the whole window and old/new sessions no longer disagree (previously old persisted widths ~1/4 vs fresh sessions 1/2). Fullscreen restore targets the same content-half width. - Expand/collapse now animates: the panel stays mounted and slides off-screen (translateX + visibility after the slide); fullscreen width changes animate too, and drag-resizing disables the transition.
This commit is contained in:
@@ -57,6 +57,27 @@
|
||||
background: var(--dsw-alias-bg-layer-1);
|
||||
border-left: 1px solid var(--dsw-alias-border-l2);
|
||||
box-shadow: var(--dsw-shadow-lv2);
|
||||
/* Expand/collapse slides the panel; fullscreen animates the width. */
|
||||
transition:
|
||||
transform var(--ds-transition-duration-slow) var(--ds-ease-in-out),
|
||||
width var(--ds-transition-duration-slow) var(--ds-ease-in-out);
|
||||
}
|
||||
|
||||
/* Collapsed: slid off-screen, interactive nothing, hidden after the slide. */
|
||||
.panelHidden {
|
||||
transform: translateX(102%);
|
||||
pointer-events: none;
|
||||
box-shadow: none;
|
||||
visibility: hidden;
|
||||
transition:
|
||||
transform var(--ds-transition-duration-slow) var(--ds-ease-in-out),
|
||||
width var(--ds-transition-duration-slow) var(--ds-ease-in-out),
|
||||
visibility 0s linear var(--ds-transition-duration-slow);
|
||||
}
|
||||
|
||||
/* Width drags write at pointer cadence; easing would detach the edge. */
|
||||
.panel[data-dragging] {
|
||||
transition: none;
|
||||
}
|
||||
|
||||
.panelResize {
|
||||
|
||||
Reference in New Issue
Block a user