mirror of
https://github.com/olehomelchenko/astrolabe.git
synced 2026-08-08 02:02:33 +00:00
Add pane show/hide toggle strip with persisted visibility (M6, §01A)
A persistent left-rail toolbar (APG toolbar + roving tabindex) toggles the library / editor / preview panes; a hidden pane frees its space and the rest redistribute proportionally to their remembered widths. Visibility persists to astrolabe:ux-prefs (separate key from widths, so a hidden pane keeps its width). Adds the positional pane-* glyph sub-family to Icon and a Datasets shortcut button in the strip.
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
* The pane toggle strip — a slim vertical rail at the left edge of the work area
|
||||
* (spec §01A). Always present (never hidden), so it's the way back when panes are
|
||||
* hidden. Visual look only; semantics live in PaneToggleStrip.tsx.
|
||||
*/
|
||||
.strip {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: var(--space-2);
|
||||
flex: 0 0 auto;
|
||||
padding: var(--space-3) var(--space-2);
|
||||
border-right: var(--border-width) solid var(--border);
|
||||
background: var(--layer-01);
|
||||
}
|
||||
|
||||
.button {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
padding: 0;
|
||||
border: var(--border-width) solid transparent;
|
||||
border-radius: var(--radius);
|
||||
background: transparent;
|
||||
/* Not-pressed (hidden pane) reads as muted; pressed (shown) lifts to full text. */
|
||||
color: var(--text-secondary);
|
||||
cursor: pointer;
|
||||
transition:
|
||||
background var(--dur-fast) var(--ease),
|
||||
color var(--dur-fast) var(--ease);
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
background: var(--layer-02);
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
.button:focus-visible {
|
||||
outline: 2px solid var(--focus);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
|
||||
/* Shown pane: the toggle is "on" — full-strength glyph on a filled chip. */
|
||||
.pressed {
|
||||
color: var(--text);
|
||||
background: var(--layer-02);
|
||||
border-color: var(--border-strong);
|
||||
}
|
||||
|
||||
.divider {
|
||||
width: 20px;
|
||||
height: var(--border-width);
|
||||
margin: var(--space-1) 0;
|
||||
background: var(--border);
|
||||
}
|
||||
Reference in New Issue
Block a user