Behavior-only editor shell module for design-tool layouts. Author provides the structural DOM — header (topbar), [data-editor-body] with pane-ui children ([data-left], [data-right]), [data-canvas] for the central surface, and a footer (statusbar). editor-shell wires select-ui[data-options] for JSON-parsed option lists.
Author supplies the structural DOM — header, body with pane-ui rails + canvas, footer. The shell binds toolbar select wiring + responsive pane collapse.
| Slot | Purpose |
|---|---|
icon | Leading glyph in <header> or <footer> — status dot, app icon, zoom badge. |
heading | Primary label inside chrome bars. |
description | Secondary metadata (document name, artboard size, zoom level). |
action | Trailing control cluster. First [slot="action"] child pushes itself + siblings to the end. |
action-leading | Leading control cluster (back, undo). Pairs with action for dual-cluster bars. |
| Affordance | Author markup | What the shell does |
|---|---|---|
| Editor body | [data-editor-body] wrapping pane-ui[data-left], [data-canvas], pane-ui[data-right] | Lays out the canvas + flanking panes; handles responsive collapse. |
| Toolbar selects | select-ui[data-options] with JSON in the attribute | Parses data-options JSON to populate option lists at connect. |
Per ADR-0023, future releases extend the bespoke-children family to the editor cluster. Planned children:
<editor-canvas> — replaces [data-canvas]; owns zoom/pan, viewport state<editor-toolbar> — replaces toolbar headers; owns select-ui wiring<editor-inspector> + <editor-tools> — replace pane-ui[data-left/right]; owns pane state attributes<editor-statusbar> — zoom level, artboard infoToday's data-* shape is fully supported and will continue to work alongside the bespoke vocabulary when it lands.