Theme: ← Übersicht Tokens

Theme-Umschalter

Segmentierter Umschalter Hell/Dunkel/System — setzt data-theme am Dokument, merkt sich die Wahl (localStorage) und folgt der Systemeinstellung

Components v1.0.1 Aktionen WebsiteAppDesktop component.theme-switcher

Nutzt: ui.icon

Beispiele

Icons (Hell / Dunkel / System — wirkt sofort auf die Seite)
Mit Beschriftungen

Eigenschaften

PropTypDefaultBuilder-Label
lightThemestring""data-theme für Hell (leer = Standard)
darkThemestring"demo-dark"data-theme für Dunkel
labelsbooleanfalseBeschriftungen zeigen

* Pflicht-Prop

Events & Slots

Events: ⚡ change — im Surface per on: {<event>: {action, params}} verdrahtbar.

Stellschrauben (Komponenten-Tokens)

Ebene 3 — aus dem CSS generiert (Registry). Umverdrahtbar per Hüllen-Komposition, ohne Markup-Eingriff; künftige Regler-Quelle des Component Builders.

TokenDefault
--theme-switcher-elevation-controlvar(--elevation-control)
--theme-switcher-focus-ring-colorvar(--focus-ring-color)
--theme-switcher-focus-ring-offsetvar(--focus-ring-offset)
--theme-switcher-focus-ring-widthvar(--focus-ring-width)
--theme-switcher-radius-fullvar(--radius-full)
--theme-switcher-surface-defaultvar(--color-surface-default)
--theme-switcher-surface-sunkenvar(--color-surface-sunken)
--theme-switcher-text-defaultvar(--color-text-default)
--theme-switcher-text-mutedvar(--color-text-muted)

Genutzte Design-Tokens

color.surface.defaultcolor.surface.sunkencolor.text.defaultcolor.text.mutedelevation.controlfocus.ring-colorfocus.ring-offsetfocus.ring-widthfont.family.defaultradius.fullsize.1size.3text.sm

LLM-Notizen

component.theme-switcher

Hell/Dunkel/System-Umschalter. Setzt data-theme am <html>, merkt die Wahl in localStorage und folgt im System-Modus der Betriebssystem-Einstellung.

Wichtige Props

  • darkTheme: welches Theme bei „Dunkel" gesetzt wird (Default demo-dark).
  • lightTheme: leer = Standard-Theme (kein data-theme-Attribut).
  • labels: Beschriftungen neben den Icons zeigen.

Beispiel-Node


{"definition": "component.theme-switcher", "props": {"darkTheme": "dev-portal-dark"}}

Hinweise

  • Themes müssen existieren (definitions/themes/theme.<name>.json → dataTheme).