PRECEDENCE
Explicit props win
Defaults fill omitted values only.
THEME.DOWE
Component defaults
Move repeated visual decisions into design slots while keeping intentional one-off differences on component instances.
PRECEDENCE
Explicit props win
Defaults fill omitted values only.
CONFIGURATION
Declare reusable visual policy under design
Component defaults are siblings of named themes. They are project-wide normalized values, not declarations of view nodes.
theme
fonts default:"manrope" install:["manrope" "syne"]
design defaultTheme:"light"
Button variant:"outlined"
Input
Card rounded:"lg"
Avatar variant:"soft" scheme:"secondary" rounded:"full" size:"md"
Chip variant:"soft" scheme:"secondary" rounded:"full" size:"sm"
Ui variant:"outlined" scheme:"surface" rounded:"md" size:"md"
Text font:"manrope"
Title font:"syne"
theme name:"light"STATIC VALUES
No Signals or responsive maps
Theme defaults are quoted static values or the supported border integer.
ONE SLOT
Declare each slot once
Duplicate defaults for the same slot and prop are rejected instead of silently replacing one another.
TARGET NEUTRAL
Normalized before generation
Web, desktop, Android, and iOS consume the same resolved component values.
SLOTS
Dedicated component defaults
Dedicated slots cover controls, fields, surfaces, bars, overlays, and page structure. Ui remains available for shared policy, while Text and Title stay independent typography slots.
Slot | Applies to | Accepted defaults |
|---|---|---|
No dataThere are no records to display | ||
VALUES
Accepted default props
A slot accepts only supported design props. Component-specific content, layout, navigation, data, state, and action props stay in views.
Prop | Accepted values | Behavior |
|---|---|---|
No dataThere are no records to display | ||
PRECEDENCE
Defaults fill gaps without erasing intent
Resolution happens per prop. One explicit value does not disable the remaining values from the slot.
1 · INSTANCE
Explicit component prop
Card scheme:"success" changes only this Card and has the highest priority.
2 · THEME.DOWE
Applicable design slot
The Card slot still supplies its omitted variant, rounded, and shadow values.
3 · BUILT IN
Deterministic component fallback
Any value omitted by both the instance and slot follows that component's documented default.
theme
design defaultTheme:"light"
Card variant:"outlined" shadow:"xs"
theme name:"light"
Card scheme:"success"
Text
"Uses success with the Card slot's outlined, md, and xs defaults."BOUNDARIES
Keep themes semantic and views structural
Named themes own colors
A named theme changes semantic color values. It does not declare radius, size, shadow, border, or component variant.
Defaults do not add props
theme.dowe cannot create components or expand their catalogs. Unsupported slot and prop combinations fail validation.
Local differences stay local
Keep an explicit prop when a single instance intentionally differs from project policy.