DEFAULT THEME
Controls the first render
The normalized default is active in initial HTML and native output before a stored theme preference is applied.
THEME.DOWE
Named themes
Define semantic color systems once, inherit complete palettes safely, and generate the same active theme model for every target.
ROOT STRUCTURE
Select one default and declare every name
design.defaultTheme must match a declared theme. light and dark can reuse Dowe's integrated palettes, while project themes can extend either base and override only the roles that differ.
theme
fonts default:"inter" install:["inter"]
design defaultTheme:"light"
theme name:"light"
colors:
primary color:"#1F3A5F" text:"#FFFFFF" title:"#FFFFFE"
happy color:"#176C75" text:"#FFFFFE" title:"#FFFFFE"
softHappy color:"#D9F3F1" text:"#124D53" title:"#124D53"
background color:"#FFFFFF" text:"#17263A" title:"#17263E"
surface color:"#F7F9FC" text:"#17263A" title:"#17263E"
softPrimary color:"#CCFBF3" text:"#073B35" title:"#073B35"
theme name:"dark"
colors:
primary color:"#6BC670" text:"#0E2513" title:"#0E2513"
background color:"#0F1721" text:"#F4F7FB" title:"#F4F7FB"
surface color:"#182331" text:"#F4F7FB" title:"#F4F7FB"
theme name:"brand" extends:"light"
colors:
primary color:"#007565" text:"#FFFFFF" title:"#FFFFFF"
softPrimary color:"#CCFBF3" text:"#073B35" title:"#073B35"DEFAULT THEME
Controls the first render
The normalized default is active in initial HTML and native output before a stored theme preference is applied.
NAMED CATALOG
Available to every target
Every resolved name is emitted deterministically and becomes an option for SelectTheme.
INHERITANCE
Override a focused subset
extends resolves the parent first. Missing roles come from the parent instead of target-specific fallbacks.
SEMANTIC COLORS
Thirty-six required color roles
A resolved theme is complete before generation. Use hexadecimal #RGB, #RRGGBB, or #RRGGBBAA values in theme.dowe and semantic families in views.
Group | Tokens |
|---|---|
No dataThere are no records to display | |
BASE + ON
Strong semantic surfaces
solid uses primary for the fill, primaryText for ordinary content, and primaryTitle for Title or semantic headers.
SOFT CONTENT ROLES
Lower visual emphasis
soft uses softPrimary with softPrimaryText for content and softPrimaryTitle for titles.
CUSTOM FAMILY
Project-defined semantics
Card scheme happy resolves happy, happyText, and happyTitle from theme.dowe.
OPTIONAL SOFT FAMILY
Declared, never derived
variant soft uses softHappy only when that complete family is declared.
RESOLUTION
Themes change color, not component geometry
Named themes own semantic colors. Radius, border, shadow, size, and variant defaults belong to component slots directly under design.
Views stay semantic
Use scheme:"primary", bg:"surface", or color:"muted" instead of copying hexadecimal values into pages.
Parents resolve first
Dowe rejects missing parents and inheritance cycles before any target artifacts are generated.
Every result is complete
A custom base without extends must provide every required role; inherited themes may remain focused.
RUNTIME CONTROLS
Expose the normalized catalog
SelectTheme lists every resolved name. ToggleTheme is intentionally limited to light and dark. Both persist one shared theme preference.
VALIDATION
Invalid theme graphs stop compilation
Names and defaults
Names start with a lowercase letter and use lowercase letters, numbers, and hyphens. Names must be unique, and defaultTheme must resolve.
Colors
Unknown roles, non-hex values, and incomplete resolved themes are rejected with source locations.
Inheritance
A missing parent or an inheritance cycle is reported before web, desktop, Android, or iOS generation.