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.

dowe
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 data

There 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 data

There 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.

dowe
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.