feat(panels): render each panel's state classes from the store

A panel's collapsed, dock-pinned, dock-pinned-top, layout-auto-collapsed
and accordion-collapsed classes are drawn by its root's v-panel-state from
the gev-panel-chrome store. PanelChrome, its restore, the layout
controller, both rails and the side accordion present each panel's state
there instead of writing its classes; the rails call onCollapse(panel,
{collapsed, auto}). The directive applies a change in a synchronous
watcher, since the rails measure a panel in the task that opens or closes
it.

Destroying the chrome inside Cockpit now puts back the panels Cockpit's
entry closed while it can still present them. Without a shell, the voice
tools' set_panel_open reports that there is no panel to open. QA scripts
present the states they set instead of writing the classes.
This commit is contained in:
Sameh Khamis committed 2026-10-31 23:51:47 -07:00
1 parent dd3a2c87f9
commit 95523e09cd
37 files changed
+404 -135

No files matched your search

+10
View File
@@ -108,6 +108,16 @@
or `onChange`. `UiButton` joins the component kit with ui-vue's props
(samehkhamis).
- The panels' own state classes (`collapsed`, `dock-pinned`,
`dock-pinned-top`, `layout-auto-collapsed`, `accordion-collapsed`) render
from the `gev-panel-chrome` store: the shell, the rails and the accordion
present each panel's state there instead of writing its classes.
`layoutLeftPanelRail` and `layoutRightPanelRail` (`./ui/layout`) now call
`onCollapse(panel, {collapsed, auto})` and leave drawing it to the host. Without a
shell to own the panels, the voice tools' `set_panel_open` now reports
that there is no panel to open instead of writing its classes
(samehkhamis).
## [0.3.0] — 2026-10-27 — Street Level, On Your Phone, in Your Language
- Show a Street Level view facing 359.5° or more as 0°. The viewer caption