Framework
Theme Setup
Themes werden als CSS-Dateien eingebunden. In der Doku kann zwischen Shield und Horizon direkt umgeschaltet werden.
<link id="theme-link" rel="stylesheet" href="@shield/tokens/shield-theme.css" /> Installation
Installiere fuer das Theme Setup das Tokens-Paket:
pnpm add @shield/tokens npm i @shield/tokens Theme Switching
Theme-Wechsel sollte ohne Reload funktionieren und den aktuellen Zustand in Local Storage speichern.
Mode Switch (Light/Dark)
Der Mode wird ueber data-mode am Root-Element gesteuert. In der Docs-App wird der Wert als
demo-mode in Local Storage gespeichert und beim Laden wieder angewendet.
CSS-Selector fuer Dark Mode: [data-mode='dark']. Damit koennen Dark-Overrides zentral gesetzt
werden.
[data-mode='dark'] {
--docs-code-bg: color-mix(in srgb, var(--shield-ui-bg) 50%, black 50%);
--docs-code-text: var(--shield-ui-text);
--docs-code-border: var(--shield-ui-border);
} const root = document.documentElement;
function applyMode(mode) {
const nextMode = mode === 'dark' ? 'dark' : 'light';
root.dataset.mode = nextMode;
root.style.colorScheme = nextMode;
localStorage.setItem('demo-mode', nextMode);
}
const savedMode = localStorage.getItem('demo-mode') || 'light';
applyMode(savedMode);