Layout and paint through Box/FlexBox props and enum props on shipped components
Do not override @prepared911/ui styles; request gaps via find-pattern
bem() is not an export of @prepared911/ui
Design System First
Always check if Box/FlexBox props can handle the styling:
className and CSS modules
Legacy BEM and plain SCSS in consumer code are out of scope for new work. To migrate existing call sites, follow Migrating to @prepared911/ui.bem() and prefixClass() are not exports of @prepared911/ui. Consumers do not pass className to any @prepared911/ui part. Layout and paint go through Box/FlexBox props and shipped parts; gaps use find-pattern (ADR 0002 consumer call-site rules).
Design Tokens
For spacing and paint in consumer screens, use Box and FlexBox props as in the example above. Token names and semantics live on the Tokens page; consumer stylesheets stay token-only and must not repeat layout in CSS modules.
When to Use Each Approach
Use Box/FlexBox props when:
✅ Layout (flex, grid, spacing, alignment)
✅ Typography (font size, weight, color)
✅ Spacing (margin, padding, gap)
✅ Design system values exist
When props and shipped parts do not cover a state such as :hover, file a find-pattern request.Escalate to UX Guild when: