Start
F

DevUI Design System

Die zentrale UI-Grundlage für deine Web-Apps: Design-Tokens, 14 Theme-Varianten (Hell/Dunkel), barrierearme Komponenten (React · Tailwind · Radix) und App-Vorlagen — alles in einem konsistenten App-Design.

14 Themes

Subtil, Neutral, Charakter — je Hell & Dunkel, live umschaltbar.

Komponenten

Primitives bis Datentabellen & App-Shell — token-basiert.

Wiederverwendbar

Paket im Monorepo, per Plugin/Skill in neue Projekte klonbar.

Getting Started

1. Abhängigkeit

"@devui/design-system": "*"   // Workspace oder Klon

2. Tailwind-Preset

import preset from '@devui/design-system/preset'
export default { presets: [preset], content: ['./src/**/*.{ts,tsx}'] }

3. Theme-CSS + Init (main.tsx)

import '@devui/design-system/styles/globals.theme.css'
import { initTheme } from '@devui/design-system'
initTheme()

4. Nutzung

import { Button, ThemeSwitcher, cn } from '@devui/design-system'

Foundations

Farb-Tokens

Typografie

Schrift · Überschriften font-heading

Schrift · Fließtext font-sans

Schrift · Code / IDs font-mono

Radius & Schatten

rounded-sm
rounded-md
rounded-lg
shadow-subtle
shadow-card

Icons (lucide-react)

Farbpaletten

14 Varianten in drei Gruppen, je Hell/Dunkel. Klick wendet das Theme live auf die ganze Plattform an. Vorschaufarben werden live aus globals.theme.css gelesen.

Meine Paletten

Kontrast-Matrix (aktives Theme)

Paletten erstellst, speicherst und verwaltest du im → Bibliothek.

Icons

Komplette lucide-Bibliothek nach Kategorie. Tippen filtert, Klick kopiert den Namen (z. B. data-lucide="search").

Kategorien

Theme-Generator

Vollständiger Token-Editor: Farben, High-End-Typografie (Skala, Rhythmus, OpenType/Variable), Radius & Schatten — live und als kompletter CSS-Export.

Theme-VerwaltungBearbeiten
Schnell-Stil (shadcn)

Ein-Klick-Steuerungen fuer den Generator-Entwurf. Wirken live auf die App, sobald oben „Generator-Entwurf“ als App-Theme gewaehlt ist. CSS unten exportierbar.

Style
Radius
Base Color
Theme (Akzent)
Chart Color
Icon Library
Heading
Font
Farben — Hell
Farben — Dunkel

Farbpaletten — High-End (OKLCH)

Perzeptueller Farbraum, Tonleitern (50–950 bzw. 12 Stufen), eine Markenfarbe erzeugt die komplette Palette. Hell/Dunkel perzeptuell abgeleitet (kein reines Invertieren: gedämpfte Sättigung, Elevation über Helligkeit, Off-White-Text). WCAG AA verbindlich, APCA als Qualitätshinweis, Farbsehschwäche-Vorschau.

Markenfarbe wählen → Palette wird angewandt.


        
Erweitert: Radius-Skala & Schatten

Typografie — Familien

Typografie — Presets

Typografie — Skala

Wirkungs-Check (live aufgelöste Tokens):

Typografie — Pro-Stufe (optisch, Industriestandard)

Jede Stufe erhält optisch abgestimmte Zeilenhöhe und Laufweite (größer = enger), wie in Material 3 / modernen Skalen. Werte überschreibbar; ↺ stellt die optische Vorgabe wieder her.

Typografie — Textrollen (Material 3)

Semantische Composite-Stile (Display/Headline/Title/Body/Label × L/M/S) aus Familie · Größe · Zeilenhöhe · Laufweite · Gewicht. Als CSS-Klassen .r-display-lg … exportierbar.



        

Typografie — Rhythmus & Gewichte

Erweitert: OpenType, Variable Fonts & Rendering

Schriftmuster (Specimen)

Overline · Eyebrow
Aa Überschrift Display
H2 — Abschnittstitel
H3 — Unterabschnitt
H4 — kleinere Ebene

The quick brown fox jumps over the lazy dog. Zwölf Boxkämpfer jagen Viktor quer über den großen Sylter Deich. Dieser Absatz zeigt Zeilenhöhe, Laufweite und die maximale Zeilenlänge (Measure) für angenehmes Lesen.

„Gute Typografie ist unsichtbar." — Specimen-Zitat
Caption / Bildunterschrift · 1234567890
Umsatz1.234.567,89
Kosten987.654,30
Saldo246.913,59
const total = items.reduce((a,b)=>a+b, 0) // tabular & mono

Hell / Dunkel — Live-Vergleich

Hell
Dunkel

Vorschau & Kontrast

Aa — Komponenten

Beispielkarte im aktuellen Theme.

Badge
const theme = "{{name}}"

Bibliothek — dauerhaft speichern & verwalten

Theme = Farben + Typografie + Form. Paletten & Typografie sind wiederverwendbare Bausteine.
Paletten
Typografie
Themes

Export

kopiert!

        

Enthält alle Token (Farben, Radius/Schatten, vollständige Typografie inkl. fluid clamp) sowie Schrift-<link> + Tailwind-fontFamily/fontSize/lineHeight/letterSpacing/fontWeight.

Komponenten

Links filtern & wählen, rechts die vollständige Doku: Varianten, Zustände, Props, Barrierefreiheit und Code.

Login-Vorlagen

Vollständige Seiten-Vorlagen (Start: Login/Authentifizierung) — alle untereinander. Reine Design-Demos, keine echte Anmeldung. Hell/Dunkel über den Umschalter oben rechts; „Neuer Tab“ öffnet die Vorlage als eigenständige Seite in einem neuen Browser-Tab.

Appshell-Vorlagen

Vollständige Anwendungs-Layouts für Enterprise-Apps — Shell, Navigation und Inhaltsbereich als Klick-Dummys. Hell/Dunkel über den Umschalter oben rechts; „Neuer Tab“ öffnet die Vorlage als eigenständige Seite in einem neuen Browser-Tab.

Aufbau & Seiten

Wie eine typische Enterprise-Anwendung mit DevUI grundsätzlich aufgebaut ist: die App-Shell, die Inhalts-Modi, die wiederkehrenden Seitenmuster („Floorplans"), das Seiteninventar und die Designsprache. Belegt aus apps/web/src (TanStack Router, dateibasiert).

1App-Shell (Grundgerüst)

Klassische Enterprise-Workspace-Shell (nah an SAP Fiori / Notion): durchgehende, in der Breite ziehbare Sidebar links, fixe Kopfzeile oben, darunter die Arbeitsfläche mit dem Router-Outlet. Definiert als flex h-screen in routes/__root.tsx.

DevUI
Start
Ablage
Aufgaben
Vorgänge
v1.5 · Stammdaten
Globale Suche · Cmd/Ctrl+K
F
<Outlet /> · Seiteninhalt
Sidebar

Ziehbar 180–500 px (Default 224). Breite & Eingeklappt-Zustand persistiert. Eigene Sidebar-Tokens.

Header

h-16, sticky. Globale Suche (Cmd/Ctrl+K), Schnellzugriff, Konto-Menü (Portal).

Content

<main id="content"> mit Outlet; Vollbild-Modus blendet Sidebar + Header aus.

Beleg: apps/web/src/routes/__root.tsx (AppShell) · Sidebar-Bäume in components/layout/ (CustomSidebar, Ablage-/Workspace-Tree).

2Zwei Inhalts-Modi

Eine zentrale Entscheidung der Shell: Seiten rendern entweder randlos (Full-Bleed) und bringen ihr eigenes Layout/Scrolling mit, oder sie bekommen einen einheitlichen gepolsterten Standard-Container. Gesteuert über das FULL_BLEED-Set im Root.

Full-Bleed
randlos · Seite steuert Layout selbst

Routen: / · /ablage · /aufgaben · /kalender · /wiedervorlagen · /workflows · /vorgaenge · /kontakte

Standard-Container
gepolstert · overflow-auto px-8 py-6

Alle übrigen Seiten (Explorer, Taxonomy, Admin, Detailseiten …) — einheitlicher Rand & Scroll.

3Seitenmuster (Floorplans)

Wiederkehrende Anordnungen, aus denen die Seiten gebaut sind. Drei dominieren.

Master-Detail

Liste + ziehbares Detail-Panel (360–1200 px, persistiert, einklappbar). ListDetailLayout.tsx — Aufgaben, Wiedervorlagen, Vorgänge, Kontakte.

Objekt-/Detailseite

Kopf + Tabs/Abschnitte zu einem Objekt. EntityDetailShell — Entity, Taxonomy, Ontology, Vorgang.

Admin / Tabellen-CRUD

Verwaltungstabellen mit Aktionen. routes/admin/* — Users, Groups, Roles, Permissions, Logs …

Hinzu kommt die Auth-Seite (routes/login.tsx) als eigenständiges Vollbild-Layout ohne Shell.

4Seiteninventar (~28 Routen)

Arbeitsbereiche
//ablage/aufgaben/wiedervorlagen/kalender/kontakte/vorgaenge/vorgang/$id/workflows
Wissen & Daten
/explorer/facets/taxonomy/taxonomy/$id/ontology/$id/entity/$id/search/upload
Administration
/admin/admin/dashboard/admin/users/admin/groups/admin/roles/admin/permissions/admin/organizations/admin/ldap/admin/logs/api-keys
Auth
/login

Dynamische Parameter über $ ($entityId, $vorgangId, $taxonomyId), typisiert per validateSearch.

5Designsprache

Durchgängig token-getrieben, inklusive eigener Sidebar-Tokens. 14 Themes plus Hell/Dunkel/System, einheitliche Höhen und Dichte, sichtbarer Fokusring.

Sidebar-Tokens
sidebar
sidebar-muted
sidebar-border

Plus sidebar-foreground / -active für Text/aktiven Eintrag.

Maße & Verhalten
  • Header h-16, Buttons h-9, Radius rounded-md.
  • Hover über hover:bg-accent, Fokus über ring-ring.
  • 14 Themes · Hell/Dunkel/System über data-theme + .dark.

6Bedienung & persistenter UI-State

Ziehbare Panels

Sidebar-Breite und Detail-Breite per Ziehgriff, Werte persistiert (uiState / localStorage).

Einklappen

Sidebar und Listenspalte einklappbar; Zustand wird gemerkt.

Vollbild

useFullscreen blendet Sidebar + Header aus — Fokus auf den Inhalt.

Schnellsuche

Cmd/Ctrl+K fokussiert die globale Kopfzeilen-Suche.

Konto-Menü

Avatar öffnet ein Portal-Menü (Name, E-Mail, Abmelden).

Eigene Sidebar

Konfigurierbare Sektionen, Bäume, Tags, gespeicherte Filter.

7Beobachtungen zur Konsistenz

Stark
  • Eine konsistente Shell über alle Bereiche.
  • Wenige, klar wiederverwendete Floorplans.
  • Token- und Theme-treue inkl. Sidebar-Tokens.
  • Persistente, ziehbare Layout-Zustände.
Aufräum-Kandidaten
  • Status-/Prioritätsfarben teils hartkodiert (bg-blue-100, bg-green-100 … in aufgaben.tsx) — auf semantische Status-Tokens umstellen (dark-mode-fest).
  • Sehr große Seiten (facets.tsx ~1355, vorgang.$id ~1303, taxonomy/$id ~991 Zeilen) — in Sub-Komponenten/Hooks zerlegen (Richtwert < 300).

Verbindliche Regeln dazu: siehe FRONTEND.md. Quelle der Strukturangaben: apps/web/src/routes/ & components/layout/.