Zum Hauptinhalt springen
VelinStyle v1.2.0
⌂ Start
  1. Docs
  2. Customize
  3. Farbmodi

Farbmodi 1.2.0

Light / dark via data-velin-theme and prefers-color-scheme, plus 13 optional brand themes under dist/themes/. English version.

Reifegrad: In VelinStyle 1.2.0 als stabil dokumentiert. Studio and the complete Utility Engine remain planned — shipping utilities are hand-authored under @layer utilities, not a full variant generator.

Wann verwenden

Wann nicht

So funktioniert es

Core color tokens live in src/tokens/color.css as --velin-color-*. Theme files override the same names under [data-velin-theme="…"] or their root selectors.

Dreizehn integrierte Themes

Ship as minified CSS next to the core bundle. Point <velin-theme-toggle themes-base="…"> at the folder.

SlugFile
brutalistdist/themes/brutalist.min.css
corporatedist/themes/corporate.min.css
earthdist/themes/earth.min.css
forestdist/themes/forest.min.css
midnightdist/themes/midnight.min.css
neondist/themes/neon.min.css
nordicdist/themes/nordic.min.css
oceandist/themes/ocean.min.css
pasteldist/themes/pastel.min.css
retrodist/themes/retro.min.css
sharpdist/themes/sharp.min.css
softdist/themes/soft.min.css
sunsetdist/themes/sunset.min.css

<velin-theme-toggle>

Toggles data-velin-theme on a target (default <html>), persists under localStorage key velin-theme, and can list theme CSS from themes-base.

<html data-velin-themes-base="/dist/themes">
  <velin-theme-toggle themes-base="/dist/themes/"></velin-theme-toggle>
  <velin-theme-toggle themes-base="/dist/themes/" compact></velin-theme-toggle>
</html>
AttributeDefaultNotes
themes-basedist/themesBase URL for {slug}.min.css
targethtmlSelector receiving data-velin-theme
compactLight/dark only; hides theme picker

Event: velin-theme-change with detail.theme. API: velin-theme-toggle.md.

Manueller Toggle

const html = document.documentElement;
const next = html.getAttribute('data-velin-theme') === 'dark' ? 'light' : 'dark';
html.setAttribute('data-velin-theme', next);
localStorage.setItem('velin-theme', next);

Dark-Mode-Tokens (Auszug)

Real names from color.css — do not invent --velin-body-bg aliases in new code:

[data-velin-theme="dark"] {
  --velin-color-surface: oklch(15% 0.01 250);
  --velin-color-text: oklch(92% 0.005 250);
  --velin-color-text-muted: oklch(88% 0.005 250);
  --velin-color-border: oklch(30% 0.01 250);
  --velin-color-primary: oklch(48% 0.12 250);
  --velin-color-on-primary: oklch(98% 0 0);
}

Eigene Themes

Override the same --velin-color-* (and radius/shadow/font) tokens under your own slug, then set data-velin-theme:

[data-velin-theme="brand"] {
  --velin-color-primary: oklch(42% 0.16 250);
  --velin-color-surface: oklch(98% 0.005 250);
  --velin-color-text: oklch(12% 0.01 250);
}