Eddie supports multiple themes via CSS classes on the <html> element. Each theme remaps semantic (Tier 2) tokens to different primitive (Tier 1) values.
| Theme | Class | Description |
|---|---|---|
| BFW | bfw |
Default light theme for Brad Frost Web |
| BFW Dark | bfw-dark |
Dark variant of BFW |
| BFW V9 | bfw-v9 |
Legacy version 9 styling |
| Wowee Zowee | wowee-zowee |
Playful, colorful theme |
| We Are Here | we-are-here |
Theme for the we are here. community |
Add the theme class to your <html> element:
Import the corresponding token CSS and fonts:
Raw color values, font stacks, and spacing units. Never referenced directly in components.
Purpose-driven tokens that map primitives to contexts: --ed-theme-color-background-default, --ed-theme-color-content-accent-1.
Component-specific overrides: --ed-c-button-background. These allow per-component customization without affecting other components.
Each theme provides 8 accent colors with two contrast variants:
accent-N — The accent color itself (use for text/borders ON default backgrounds)on-accent-N — Contrasting color for text/borders ON accent backgroundsThis ensures accessibility regardless of theme.
packages/eddie-design-tokens/npm run eddie-design-tokens:buildThe complete theming guide is maintained in the monorepo's docs/THEMING.md and rendered in Storybook: