Skip to content

In progress · v0.1

Tokens

Tokens are the contract between design and Flutter. They’re consumed via ThemeData and ThemeExtension; this site reads the same export, so the docs can never drift.

Tokens describe roles, never colours. brand/action, not brand/tangerine. If the name is a colour, it’s wrong: a role keeps its meaning when the mode swaps its value (yellow → lime in dark), so it never needs renaming. A colour name would lie the moment the mode changes.

scheme/ 22 tokens → ColorScheme M3 (incl. the inverse trio, Aug 2026)
brand/ 2 tokens → action, emphasis
feedback/ 16 tokens → error / success / warning / info
text/ 7 tokens
button/ 8 tokens
stroke/ 5 tokens
avatar/ 7 tokens → identity/1-6 + onIdentity
── 67 colour tokens in total
spacing/ 13 tokens → 0-96px scale, named by value
radius/ 7 tokens → none / sm / md / lg / xl / 2xl / full

Three modes: Light, Carbon, Navy.

Coming next. The per-token, per-mode tables on this page will be auto-generated at build time from the exports in tokens/ (Color _ Semantic.json, Spacing.json, Radius.json, Typography.json). Editing a token in Figma and re-exporting regenerates the tables on the next commit. No hand-maintained values.