xPulse
🇩🇪 DE

8. Live Token Editor

Live Token Editor

Diese Demo setzt :root-Variablen direkt im Browser und speichert sie lokal. Ideal, um Farben, Breiten und Radius live zu prüfen, bevor du sie in dein eigenes Theme schreibst.

:root {
  /* no live overrides */
}

Der Live Token Editor ist ein interaktives Widget, das direkt im Browser das aktive Theme veränderbar macht. Er setzt CSS-Custom-Properties auf dem :root-Element, speichert die Overrides im localStorage und zeigt den resultierenden CSS-Block zum Kopieren an.

Verwendung

Das Widget wird per Template-Methode eingebunden:

{% themeTokenEditor() %}

Die Methode rendert einen fertigen <div data-xpulse-theme-editor>-Block. Das JavaScript in theme.js erkennt das Attribut automatisch und hydratisiert das Widget.

Bearbeitbare Tokens

CSS-Variable Label Format
--xpulse-bg Page Background Farbe
--xpulse-surface Surface Farbe
--xpulse-text Text Farbe
--xpulse-accent Accent Farbe
--xpulse-warning Warning Farbe
--xpulse-danger Danger Farbe
--xpulse-content-width Content Width Länge (px, rem, …)
--xpulse-sidebar-width Sidebar Width Länge
--xpulse-font-size-lead Lead Size Länge
--xpulse-button-radius Button Radius Länge

Beim Öffnen liest das Widget die aktuell berechneten Werte des aktiven Themes und befüllt die Felder damit. Farbfelder nutzen <input type="color">, Längenfelder <input type="text">.

Verhalten

Events

Event Payload Wann
xpulse:theme:tokens:changed { token, value } Token-Wert geändert
xpulse:theme:tokens:changed { reset: true } Reset ausgelöst
document.addEventListener('xpulse:theme:tokens:changed', (e) => {
console.log(e.detail); // { token: '--xpulse-accent', value: '#ff0000' }
});

Programmatischer Zugriff

Über die globale xpulseTheme-API lässt sich ein einzelner Token direkt setzen:

xpulseTheme.applyToken('--xpulse-accent', '#e74c3c');

Workflow: Override → Theme

Der empfohlene Workflow, um ein neues Theme zu entwickeln:

  1. Editor öffnen, Farben und Längen live einstellen.
  2. Den angezeigten :root { … }-Block aus dem Preview kopieren.
  3. In ein eigenes Theme-CSS einfügen (z. B. src/themes/my-theme.css).
  4. Reset klicken — das Widget zeigt jetzt wieder die Defaults.

CSS-Klassen des Widgets

Klasse Element
.xpulse-theme-editor Äußerer Container ([data-xpulse-theme-editor])
.xpulse-theme-editor__intro Titel und Beschreibung
.xpulse-theme-editor__grid Grid der Eingabefelder
.xpulse-theme-editor__field Einzelnes <label>-Feld
.xpulse-theme-editor__actions Reset-Button-Zeile
.xpulse-theme-editor__preview :root-CSS-Vorschau
de/styleguide/08-token-editor.md 2026-04-17