Zum Hauptinhalt springen
Version: latest
Universell einsetzbar

Stepper funktioniert sowohl auf dem Server als auch im Browser. Nutze immer den Standard-Import (z. B. @prokodo/ui/stepper) — die Library erkennt die Umgebung automatisch.

Stepper

Stepper rendert eine mehrstufige Navigation für lineare oder nicht-lineare Prozesse mit Statusanzeige und Fortschrittskontext.


Übersicht

import { Stepper } from "@prokodo/ui/stepper"
;<Stepper
activeStep={step}
steps={[
{ label: "Personal info" },
{ label: "Address" },
{ label: "Confirm" },
]}
/>

Import

import { Stepper } from "@prokodo/ui/stepper"

CSS:

import "@prokodo/ui/stepper.css"

Props

PropTypStandardPflichtBeschreibung
stepsStepperStep[]Array von steps with label and optional description.
activeStepnumberIndex of the currently active step (0-based).
orientation"horizontal" | "vertical""horizontal"Layout direction.
nonLinearbooleanfalseAllow clicking any step regardless of completion.
classNamestringCSS-Klasse am Root-Element.

Siehe src/components/stepper/Stepper.model.ts für den vollständigen StepperProps-Typ.


Design-Tokens

Anpassungen über CSS-Custom-Properties auf :root oder einem eingeschränkten Vorfahren-Element.

TokenStandardBeschreibung
--pk-stepper-icon-mask-bgvar(--pk-color-surface)Masken-Isolationsfarbe für den Icon-Rahmen-Gradienten
--pk-stepper-label-colorvar(--pk-color-muted)Label-Textfarbe (inaktiv)
--pk-stepper-label-color-activevar(--pk-color-fg)Label-Textfarbe (aktiv)
--pk-stepper-shadowvar(--pk-shadow-sm)Box-Shadow des aktiven Icon-Containers
--pk-stepper-shadow-insetvar(--elevation-1--inset)Inset-Schatten des aktiven Icon-Containers
--pk-stepper-icon-mbvar(--pk-space-md)Unterer Abstand zwischen Icon und Label

AIC-Hinweis

Verwende im Anwendungscode immer den Standard-Importpfad:

import { Stepper } from "@prokodo/ui/stepper"

Eine separate Auswahl von /client oder /lazy ist im Consumer-Code nicht erforderlich.

AIC-Komponenten unterstützen außerdem ein priority-Flag für kritische Above-the-fold-Elemente. Am sichtbarsten ist das bei Image (natives Preloading via <link rel="preload"> für Above-the-fold-Inhalte).


WCAG-2.2-Status

KriteriumBezeichnungStatusHinweis
1.3.1Info und Beziehungen (A)✅ ErfülltSemantische Struktur (Überschriften, Listen, Labels, Landmarks) muss programmatisch via HTML oder ARIA vermittelt werden.
2.1.1Tastatur (A)✅ ErfülltAlle Funktionalität muss allein über Tastatur bedienbar sein, ohne Timing-Anforderungen.
2.4.3Fokusreihenfolge (A)🔍 Manuell prüfenDie Tastaturfokus-Reihenfolge muss im vollständigen seitenseitigen Integrationskontext Bedeutung und Bedienbarkeit erhalten.
2.4.7Fokus sichtbar (AA)🔍 Manuell prüfenAuf jedem interaktiven Element muss ein sichtbarer Tastaturfokus-Indikator vorhanden sein. Prüfung gegen das angewendete Produkt-Theme erforderlich.
4.1.2Name, Rolle, Wert (A)✅ ErfülltName, Rolle und Zustand aller interaktiven UI-Komponenten müssen via nativer HTML-Semantik oder ARIA programmatisch bestimmbar sein.
4.1.3Statusmeldungen (AA)✅ ErfülltStatusmeldungen (Laden, Erfolg, Fehler, Fortschritt) müssen assistiven Technologien ohne Fokusverschiebung mitgeteilt werden (aria-live oder role='status').

Testabdeckung: 3 jest-axe-Assertion(s) in 4 Testdatei(en) · 6 ARIA-Attribut-Vorkommen im Quellcode-Scan. Kriterien mit 🔍 erfordern manuelle Prüfung im finalen Integrations- und Theme-Kontext.

Storybook

👉 Stepper in Storybook öffnen


Quellcode

src/components/stepper/Stepper.model.ts