Core Host Icon Controls
Icon, geometry, state, and association contract.
HEAD a63778e- Resolve core Host icons through
HOST_ICONOLOGY. - Compose text actions with
Buttonand icon-only actions withIconButton. Express state throughactive,pressed,open, andsubordinateprops. - Icon controls are 32 by 32 pixels with 16 pixel icons. Text controls are 32 pixels high.
- Idle is transparent and muted; persistent state strength is
active > pressed > open > hover; focus uses the shared 2 pixel ring. - Core controls are borderless, shadowless, padding-free, and use the 6px control radius unless compound geometry joins controls.
- A subordinate control uses the shared
subordinatebehavior and never owns local opacity state classes. - Pair icon-only controls with an accessible name and the shared
Tooltip. Control groups share one handle and popup; nativetitletooltips are prohibited. - Surface and elevation selection belongs to the Visual system.
Authority and evidence
- Recipes:
packages/ui/src/recipes.ts - Semantic icon keys:
iconology.test.ts - Rendered geometry, state, association, and focus:
apps/canvas/e2e/host-control-states.spec.ts