Skip to content

Design-Tokens

Aura rendert alle Widgets über CSS-Variablen. Wer ein Dashboard optisch nachbauen (oder als Mockup entwerfen) will, nutzt diese Tokens statt fester Farben — dann trifft das Ergebnis Auras Look und folgt automatisch jedem Theme.

Die Werte unten stammen aus den beiden Basis-Themes Hell und Dark. Alle Doku-Screenshots verwenden das Theme Hell.

Basis-Tokens

Diese Variablen sind in jedem Theme gesetzt und bilden das Grundgerüst.

TokenBedeutungHellDark
--app-bgApp-Hintergrund#f9fafb#111827
--app-surfaceFlächen (Panels, Bars)#ffffff#1f2937
--app-borderTrennlinien, inaktive Flächen#e5e7eb#374151
--widget-bgWidget-Kartenfläche#ffffff#1f2937
--widget-borderWidget-Rahmen#e5e7eb#374151
--widget-border-widthRahmenbreite1px1px
--widget-radiusEckenradius der Karte0.75rem0.75rem
--widget-shadowKartenschatten0 1px 3px rgba(0,0,0,0.08)none
--text-primaryHaupttext, Werte#111827#ffffff
--text-secondarySekundärtext, Titel, Labels#6b7280#9ca3af
--accentPrimärakzent (blau)#3b82f6#3b82f6
--accent-greenStatus „an/ok" (grün)#16a34a#22c55e
--accent-yellowStatus „Warnung" (gelb)#ca8a04#eab308
--accent-redStatus „kritisch/heizen" (rot)#dc2626#ef4444

Element-Tokens (optionale Overrides)

Element-Tokens verfeinern einzelne Bauteile. Sie sind nicht pro Theme gesetzt — solange der Nutzer sie nicht überschreibt, erben sie über eine CSS-Fallback-Kette (var(--switch-bg, var(--accent-green))) vom angegebenen Basis-Token. Für Mockups genügt es, den Fallback zu verwenden.

Tokenerbt vonBauteil
--switch-bg--accent-greenSchalter „an"
--switch-off-bg--app-borderSchalter „aus"
--switch-thumb-color#ffffffSchalter-Knopf
--slider-track--app-borderRegler-Schiene
--slider-fill--accentRegler-Füllung
--slider-thumb--accentRegler-Knopf
--gauge-arc--accentGauge-Bogen
--gauge-track--app-borderGauge-Hintergrundbogen
--climate-heat--accent-redThermostat „heizen"
--climate-cool--accentThermostat „kühlen"
--blind-color--accentRollladen-Position
--button-bg / --button-text / --button-border--app-bg / --text-primary / --app-borderButton-Widget
--chip-bg / --chip-border / --chip-active--app-bg / --app-border / --accentChips
--badge-ok / --badge-warn / --badge-crit--accent-green / --accent-yellow / --accent-redStatus-Badges
--light-on / --light-off--accent-yellow / --text-secondaryLampen-Power-Button
--header-text / --header-accent--text-primary / --accentAbschnittstitel
--nav-bg / --nav-active--app-surface / --accentTab-Leiste, Bereichsleiste/-menü, Menü-Widget
--nav-text--text-secondaryBeschriftung eines inaktiven Eintrags
--nav-icon / --nav-active-icon--nav-text / --nav-activeIcons der Navigation (inaktiv / aktiv)
--nav-shadownoneSchatten unter Tab- und Bereichsleiste
--popup-bg / --popup-border--app-surface / --app-borderPopup-Fläche und -Rand

Eigene Themes

Nutzer können eigene Themes anlegen (Admin → Design → Meine Themes): ein mitgeliefertes Preset als Basis plus überschriebene Tokens. Sie tragen die id user-<n> und erscheinen überall dort, wo ein Theme gewählt wird. Ebenso lassen sich Tokens getrennt für helle und dunkle Designs setzen — ein Token kann auf derselben Installation also zwei Werte haben. Feste Farbwerte in Widget-Konfigurationen sind deshalb noch weniger haltbar als zuvor; immer var(--token) schreiben.

Farbe je Helligkeit

Jedes Farbfeld (Farbwähler-Popover) kennt drei Wege:

WahlGespeicherter WertWann
Theme-Farbenvar(--accent)Standardfall — folgt jedem Theme von allein
Einheitlich#3b82f6, #3b82f6cceine feste Farbe für beide Helligkeiten
Hell / Dunkellight-dark(#1e3a8a, #93c5fd)eine bestimmte Farbe je Design

light-dark(<hell>, <dunkel>) gilt für jede Farboption, auch in Zellen, Zeilen, Schwellenwerten und Diagramm-Serien. Die Hälften dürfen selbst Tokens sein (light-dark(var(--accent), #93c5fd)) und eigene Transparenz tragen (#rrggbbaa). Sind beide gleich, wird die einzelne Farbe gespeichert.

Der Wechsel zwischen Einheitlich und Hell / Dunkel merkt sich die Farben des jeweils anderen Modus, solange die Konfiguration offen bleibt.

Die Helligkeit ist die des gerade gerenderten Themes — ein Layout mit hellem Design auf einer dunklen Installation nimmt die helle Hälfte.

Raster

Widgets liegen auf einem feinen Grid. Die Zellgröße ist pro Layout konfigurierbar (gridRowHeight, gridSnapX, gridGap); in den Doku-Screenshots gilt gridRowHeight = 20, gridGap = 10. Widget-Größen (gridPos.w/gridPos.h) sind Vielfache dieser Zelleinheiten.