Eunomia theme
Style sheet path:
node_modules/eunomia-elements/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss
Class names:
eunomia-eunomia-theme
eunomia-eunomia-theme--dark
Sass import:
@include eunomia-eunomia-theme();
@include eunomia-eunomia-dark-theme();
On this site, select "Eunomia" from the toolbar's theme
picker to preview it live: every swatch below is instead scoped to
this theme directly (via data-brand="eunomia"), so it
always shows Eunomia's real colors regardless of what's
active in the toolbar.
Primary & secondary
light
| 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 950 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Primary | #9ab4ff | #85a4ff | #6f94ff | #5480ff | #4978ff | #3d6fff | #3968f0 | #3662e0 | #2d52bd | #2646a1 | #203a85 |
| Secondary | #f6ddb4 | #f4d5a4 | #f2ce94 | #efc580 | #eec178 | #edbd6f | #dfb268 | #d1a662 | #af8c52 | #957746 | #7b623a |
dark
| 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 950 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Primary | #384c85 | #445ca1 | #506cbd | #5f80e0 | #6689f0 | #6c92ff | #7599ff | #7e9fff | #92aeff | #a2baff | #b3c6ff |
| Secondary | #7b623a | #957746 | #af8c52 | #d1a662 | #dfb268 | #edbd6f | #eec178 | #efc580 | #f2ce94 | #f4d5a4 | #f6ddb4 |
Grey scale
Shared shape across every theme; only the primary/secondary hue above actually changes per brand.
light
| 0 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 |
|---|---|---|---|---|---|---|---|---|---|
grey-0 | grey-100 | grey-200 | grey-300 | grey-400 | grey-500 | grey-600 | grey-700 | grey-800 | grey-900 |
dark
| 0 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 |
|---|---|---|---|---|---|---|---|---|---|
grey-0 | grey-100 | grey-200 | grey-300 | grey-400 | grey-500 | grey-600 | grey-700 | grey-800 | grey-900 |
Semantic states
Success/warning/critical/info: identical across every theme (they're
brand-independent), but not across modes. -100 is the opaque
anchor (computed separately per mode so it clears WCAG AA against
that mode's surface), and -90/-50/-30 are alpha overlays of the
light-mode anchor, reading correctly on both surfaces from the same
declaration. See
light
| 100 | 90 | 50 | 30 | |
|---|---|---|---|---|
| Success | ||||
| Warning | ||||
| Critical | ||||
| Info |
dark
| 100 | 90 | 50 | 30 | |
|---|---|---|---|---|
| Success | ||||
| Warning | ||||
| Critical | ||||
| Info |
Neutral tokens
Surface, text, and border tokens, also shared across every theme.
light
--eun-surface-color | |
--eun-text-color | |
--eun-text-secondary | |
--eun-border-color | |
--eun-disabled-color |
dark
--eun-surface-color | |
--eun-text-color | |
--eun-text-secondary | |
--eun-border-color | |
--eun-disabled-color |
Surface tint
Unlike the neutral tokens above, these mix a small amount of this
theme's own primary-500 into the surface/border/hover tokens — opt-in
for when a component wants to read as "Eunomia" rather than
neutral. See
light
--eun-surface-tint | |
--eun-border-tint | |
--eun-content-hover-tint | |
--eun-content-pressed-tint |
dark
--eun-surface-tint | |
--eun-border-tint | |
--eun-content-hover-tint | |
--eun-content-pressed-tint |
Decorative scales
Static accents (tags, charts, illustrations): 7 steps, brand-independent
but not mode-independent, each hue's dark variant inverts the light
scale's lightness curve so 100/700 stay usable as a
background/foreground pair on a dark surface. Full chart on
light
| 100 | 200 | 300 | 400 | 500 | 600 | 700 | |
|---|---|---|---|---|---|---|---|
| Red | |||||||
| Purple | |||||||
| Yellow | |||||||
| Blue | |||||||
| Green | |||||||
| Pink |
dark
| 100 | 200 | 300 | 400 | 500 | 600 | 700 | |
|---|---|---|---|---|---|---|---|
| Red | |||||||
| Purple | |||||||
| Yellow | |||||||
| Blue | |||||||
| Green | |||||||
| Pink |
All decorative/state/grey/neutral tables above render with this
theme's own compiled CSS (via data-brand="eunomia"),
not the toolbar's current selection. See