Mercurial
view design_system/wiki/TOKENS_AND_SIZING.md @ 266:efaf4c63cc94
fix clean production bundle staging
Recreate deployment staging before copying the Bazel bundle and verify required inference runtime paths before promoting it.
Co-authored-by: Copilot <[email protected]>
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Fri, 07 Aug 2026 12:52:30 -0700 |
| parents | 667156fcd3e3 |
| children |
line wrap: on
line source
# Tokens and sizing ## Three layers ```text --zenbu-ref-* available context-free values --zenbu-sys-* theme/density-aware semantic intent --zenbu-<component>-* local component aliases ``` Application CSS consumes semantic roles. Component CSS may define local aliases that fall back to semantic roles. Reference colors are restricted to token and theme definitions. Themes remap the standard semantic roles rather than creating parallel application palettes. Paper, Ink, Playful, and Cyberpunk all provide the same surface, text, border, action, status, and focus contracts, so components remain theme-agnostic. ## Five-step scale Controls, text, icons, gaps, and padding use: ```text xs sm md lg xl ``` Every sized control host exposes: ```css --zenbu-control-height --zenbu-control-padding-block --zenbu-control-padding-inline --zenbu-control-gap --zenbu-control-font-size --zenbu-control-line-height --zenbu-control-icon-size ``` Styled components consume these automatically. Plain components expose them to application CSS. ## Density Set density once at the application root: ```html <html data-zen-density="compact"> ``` Density remaps semantic control sizes and padding. It does not require component-specific selectors. ## Typography roles Prefer semantic type roles for page CSS and use `zen-text` / `zen-heading` where a reusable type contract is useful. Font sizes remain in `rem`; line heights remain unitless.