Files
astrolabe/src/core/theme.ts
T

11 lines
482 B
TypeScript

/**
* Theme identity — portable core. No browser APIs, no React.
*
* `UiTheme` is the app-wide theme token. It lives in `src/core/` (not in a
* store) because pure core logic needs it too: the Vega chart-config mapping
* (`chartConfigFor`, see docs/architecture/05) keys off the same union, and core
* must never import from `src/app/`. The store and the document `data-theme`
* mirror this value; this is its single definition.
*/
export type UiTheme = 'light' | 'dark';