Akzent

UI-Kit

Master · alle Komponentenpxcrft/ui
Diese Übersicht lädt automatisch jeden Abschnitt aus demo/sections/ — je eine Datei pro Komponente. Jede generische Kit-Komponente muss hier erscheinen; bin/check-demo.php erzwingt das. Akzentfarbe und Hell/Dunkel oben rechts.

Buttons

Varianten und Zustände. Fokus per Tab-Taste sichtbar (Ring), Hover/Aktiv über die Maus, deaktivierte Buttons ausgegraut.

Varianten (Ruhe)
Zustände
Ruhe
Fokus (Tab-Taste)
Deaktiviert
Ghost deaktiviert
Grössen & Icon-Buttons
Halten zum Bestätigen

Für destruktive Aktionen ohne Dialog — gedrückt halten füllt den Balken; erst dann feuert px:hold-complete.

Formulare

Jedes Feld hat ein Label. Fehler werden nicht nur farblich, sondern mit Icon und Text ausgewiesen. Zustände: Ruhe, Fokus (Ring), deaktiviert, Fehler.

Max. 70 Zeichen (QR-Limit).
Mindestens 8 Zeichen.
CHF/Mt.
Kit-Darstellung; das native <select> bleibt verborgener Wertträger (name/value).
Auswahlfeld (px-select) — Zustände
Land ist erforderlich.
Tippen springt zum Eintrag; Pos1/Ende, Pfeiltasten, Enter wählt, Esc schliesst.
Zweispaltiges Raster (px-form-grid)
Checkbox, Radio, Switch & Dropdown
Radio-Gruppe (px-radio · Ui::radio())
Automatische Freigabe
Nur unveränderte Positionen.
Deaktiviert
Dropdown (präsentativ)
Native-freie Eingaben — Datum, Zeit, Datei, Schieber, Stepper

Sichtbar ist stets eine Kit-Darstellung; das native Element (Kalender, Zeitrad, Datei-Dialog, Range, Zahlenfeld) bleibt verborgener Wertträger für name/value. Ohne JavaScript greift die native Fallback-Bedienung.

Kit-Liste (30-Min-Schritte); Tippen springt zur Uhrzeit.
Keine Datei gewählt
20%
Native Spinner-Pfeile unterdrückt; Kit-Knöpfe schreiben in dasselbe Feld.

Karten & Kennzahlen

Generische Oberflächen-Karte (.px-card, optional --link mit Hover) im Kartenraster (.px-cards) und Kennzahl-Kachel (.px-stat) — für Detailpanels und Dashboards.

Pro Domain

Alle
Randlos (--flush)
Karte ohne Innenabstand für eigene Inhalte (z.B. eine Liste bis an die Kante).
Randlos mit gepolstertem Body (--flush > .px-card__body)

.px-card__body ist der semantische Inhalts-Wrapper; in einer normalen Karte ohne eigenes Padding, in einer randlosen Karte polstert er den Inhalt selbst.

Randlose Karte, deren Body eigenes Padding trägt — nützlich, wenn direkt darüber/darunter noch randlose Elemente sitzen.

Ergebnis-Panel (Figure)

Weiches, gerundetes Panel für eine hervorgehobene Kennzahl: Label + grosser Mono-Wert, optional Icon, Hinweis, Zweitwert und ein Fuss für ein kleines Steuerelement. Ton über Varianten (--accent / --success / --critical / neutral), rein aus Kit-Tokens. Abgrenzung zu .px-stat: die Kennzahl-Kachel ist die kleine KPI im Raster, .px-figure das einzelne, betonte Ergebnis mit Ton und optionalem Fuss-Control.

Übertrag Haushalt DE
Ergebnis: Einnahmen − gebunden
1'234.00 CHF
≈ 1'150.00 EUR
EUR-Puffer (live)
312.00 EUR
EUR-Puffer (live)
Ausgaben übersteigen die Einnahmen
−84.00 EUR
Gebundene Ausgaben
Summe aller fixen Posten
2'480.00 CHF

Zugangsdaten-Panel

Kopierbares Feld-Panel für Schnellzugriff auf Postfach-Zugangsdaten: je Zeile ein Wert (.px-cred__value, ganze Fläche kopiert), plus maskierte Passwortzeile mit Aufdecken- und Kopieren-Knopf. Das Raster (.px-cred-grid) füllt automatisch; eine Karte ist .px-cred. Copy-/Reveal-Logik liefert das konsumierende Tool — hier zur Vorschau minimal verdrahtet.

Posteingang (IMAP)
Postausgang (SMTP)
Benutzername
Passwort
Posteingang (IMAP)
Benutzername
Passwort

Toolbar & Filter

Suche links, Ansichts-Umschalter und Ergebniszähler rechts. Filter-Chips mit Zähler; aktive Chips tragen die Akzentfläche.

128 Einträge
Suche leer
Segmented (Icons)
Titel + Aktionsgruppe

Toolbar mit .px-toolbar__title links und mehreren Aktions-<form>s in .px-toolbar__actions rechts — die Aktionen bleiben in einer Zeile, statt zu stapeln.

DNS-Einträge

Tabs & Subnav

Horizontale Tabs für gleichrangige Unteransichten (aktiv = Akzent-Unterlinie, Punkt = Handlungsbedarf); vertikale Subnav für Einstellungsbereiche (klebt beim Scrollen, aktiv hebt sich als Kachel ab).

Inhalt des aktiven Eintrags.

Datentabelle

Zwei Ausprägungen: die klassische Tabelle (in einer Card, sortierbar, fixierbare Kopfzeile) und die schwebende Tabelle (.px-ftable), die ohne Rahmen ruhig auf dem Hintergrund liegt und erst beim Hover als Kachel abhebt. Beträge rechtsbündig mit Tabellenziffern.

Klassisch — in Card, fixierbare Kopfzeile (scrollbar)
Schwebend (ohne Card, ohne Rahmen)
1–3 von 128

Beschreibungsliste

Feld/Wert-Paare für Detailansichten: Label links, Wert rechts, dünne Trennlinien.

Kunde
Kundennummer
1042
Typ
Firma
Sprache
Deutsch
Währung
CHF
Zahlungsziel
14 Tage
Status
Aktiv
Rechnungsadresse
Empfänger
PixelCraft Services
Strasse
Musterweg 12
PLZ / Ort
9000 St. Gallen
Land
CH
Verbrauch (BEM-Spans)

Gleiche Optik ohne dt/dd: .px-dl__row mit .px-dl__key / .px-dl__val.

Postfächer8 / 25
Speicher3.2 / 10 GB
StatusAktiv

Badges & Status

Auf Basis des verallgemeinerten Zustandsvokabulars: neutral · active · success · waiting · critical. Jedes Tool bildet seine Fachzustände darauf ab.

Status (Dot + Text)
Neutral Aktiv Erfolg Wartet Kritisch
Badges (Fläche), Pille & Zähler
Entwurf Aktiv Bezahlt Offen Überfällig Klein Rolle Admin 3
Zähl-Pille (Anzahl neben Titeln)

Grössere, zentrierte Zähl-Pille für das „OFFEN 11"-Muster — Anzahl neben einer Überschrift. Einstellig rund, mehrstellig als Pille; vertical-align:middle richtet sie an grossem Titeltext aus (nicht „tiefgestellt"). Weiche Töne oder --solid (kräftig, weisser Text).

Offen 11

Erledigt 128

3 7 128 9 11 3 7 11 2 42
Callouts / Inline-Meldungen
Verträge starten stets am Monatsersten.
Zahlung erfolgreich zugeordnet.
Diese Adresse hat keinen QR-tauglichen Eintrag.
Der Verrechnungslauf ist fehlgeschlagen.

Empty State

Wenn nichts da ist — mit Aktion oder kompakt (in Card/Liste).

Noch keine Rechnungen
Sobald der erste Verrechnungslauf gelaufen ist, erscheinen die Rechnungen hier.
Keine Treffer
Für „Redbench 2027" wurde nichts gefunden.
Kompakt in einer Karte (--inline)

.px-empty--inline für kleine Hinweise innerhalb einer Karte oder Liste — deutlich weniger Höhe als der Seiten-Empty-State.

Kundenzuordnung
Noch kein Kunde zugeordnet
Verknüpfe diese Domain mit einem Kunden.

Overlays

Modals sind zentral und standardmässig grosszügig breit (920px). Escape und Abbrechen schliessen immer; ein Hintergrundklick schliesst nur bei data-px-dismiss, sonst ist das Modal gelockt (gut für Formulare). Toast unten mit Fortschrittsbalken (Hover pausiert) und Copy-Icon. Beim Öffnen setzt das JS body.px-modal-open (sperrt das Scrollen des Hintergrunds).

Toast (statische Vorschau)
Gespeichert.

App-Shell

Schwebende Sidebar (Brand, Nav mit aktivem/Hover-Zustand, User-Menü, Einklappen) und Content mit Seiten-Header. Die Demo-Seite selbst nutzt genau diese Shell; hier als eingerahmte Vorschau.

Dashboard

Übersicht128 Kunden
Inhaltsbereich.

Auth / Login

Split-Screen: links Marketing-Panel mit schräger Trennung, rechts das Formular mit Fehlermeldung, „Angemeldet bleiben" und Alt-Link. Eigene Seite: auth.php.

Anmelden

Willkommen zurück.

E-Mail oder Passwort ist falsch.
Vergessen?
Noch kein Konto? Konto anfragen

Druck-Grundlage

Generisches A4-Blatt (.px-sheet) als Basis für spätere Rechnungsausgabe. Im Druck blendet das Kit die App-Chrome aus; .px-no-print versteckt Elemente im Druck, .px-print-only zeigt sie nur dort, .px-print-color erzwingt Farben. Unten verkleinerte Vorschau.

pxcrft/ui
Musterweg 12 · 9000 St. Gallen
Rechnung
RE-10428
PositionMengeBetrag
Hosting Basis1CHF480.00
Wartung1CHF160.00
TotalCHF640.00

Nur im Druck sichtbar (px-print-only).

Im Druck ausgeblendet (px-no-print).