Architecture
WebBlocks UI is intentionally layered so that tokens, structure, visible building blocks, and full-screen compositions do not blur together.
The current layer model
Build order matters
The package build order is intentional. Later layers rely on earlier layers already being present.
- foundation
- utilities
- layout
- primitives
- patterns
- icons
Do not flatten the layer model
If a class primarily defines page structure, keep it in layout or patterns. If it is an atomic control, keep it in primitives. If it is a framed content region, treat it as a surface. If it only nudges spacing or text alignment, keep it in utilities.
What this site is not doing
No custom classes
Every class used in docs/ comes from the shipped package CSS.
No style scripts
Layout, spacing, and presentation are left to CSS. No JavaScript is added to fake CSS concerns.
No behavior CSS
Overlays, tabs, drawers, dropdowns, and theme switching rely on shipped JavaScript hooks instead of CSS hacks.