Documentation / Guides

Reference

QUICK REFERENCE / 02

Reference

These are browser-facing contracts. Action bindings, permissions and transport configuration belong to the consuming application.

All surfaces support unmodified arrow-key focus navigation and macOS Ctrl+n / Ctrl+p for next / previous focus; other platforms can opt in per host. List, group, grid and tree surfaces also support Home/End. Alt + arrows stage moves, where supported, without changing focus until the morph.

Keyboard attributes

Every host accepts space-separated data-key-<intent> bindings; an empty attribute disables that intent. Focus intents are focus-next, focus-previous,focus-left, focus-right, focus-first and focus-last; movement uses move-up/down/left/right and cancel. Each surface uses only its applicable directions. Bento also accepts resize-up/down/left/right andgrid-previous/next. The shared defaults are in core/keyboard.ts.

Kanban also accepts the original data-key-select-* aliases below; a corresponding data-key-focus-* takes precedence.

AttributeDefaultPurpose
data-key-select-next↓ / jFocus next card
data-key-select-previous↑ / kFocus previous card
data-key-select-left← / hFocus card in previous lane
data-key-select-right→ / lFocus card in next lane
data-key-move-upAlt + ↑ / kMove above previous card
data-key-move-downAlt + ↓ / jMove below next card
data-key-move-leftAlt + ← / hMove to previous lane
data-key-move-rightAlt + → / lMove to next lane
data-key-cancelEscClear target marks

Override a slot with space-separated key tokens, e.g. data-key-select-next="ArrowDown j". Kanban compatibility defaults come from contracts/kanban.ts.

DOM and events

Events bubble and cross the custom-element boundary. before: "" means append. Keep IDs stable across renders so morph and FLIP can match items.