Zum Hauptinhalt springen
Version: latest
Universell einsetzbar

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

ProgressBar

ProgressBar rendert linearen Fortschritt in determinierten oder indeterminierten Modi mit klarer Statusvisualisierung.


Übersicht

import { ProgressBar } from "@prokodo/ui/progress-bar"
;<ProgressBar value={65} max={100} label="Upload progress" />

Import

import { ProgressBar } from "@prokodo/ui/progress-bar"

CSS:

import "@prokodo/ui/progress-bar.css"

Props

PropTypStandardPflichtBeschreibung
valuenumberCurrent progress value. Required for determinate mode.
maxnumber100Maximum progress value.
variant"determinate" | "indeterminate""determinate"Progress mode.
color"primary" | "secondary" | "success" | "error""primary"Track color.
labelstringAccessible ARIA label.
showLabelbooleanfalseDisplay a percentage label above the bar.
classNamestringCSS-Klasse am Root-Element.

Siehe src/components/progress-bar/ProgressBar.model.ts für den vollständigen ProgressBarProps-Typ.


Design-Tokens

Passe via CSS Custom Properties auf :root oder einem übergeordneten Element an.

TokenStandardBeschreibung
--pk-progressbar-track-bgvar(--pk-color-surface-raised)Track-Hintergrund
--pk-progressbar-radius0.75remTrack-Eckenradius
--pk-progressbar-height1remTrack-Höhe
--pk-progressbar-shadowvar(--elevation-2)Track-Box-Shadow
--pk-progressbar-label-size0.875remLabel-Schriftgröße

AIC-Hinweis

Verwende im Anwendungscode immer den Standard-Importpfad:

import { ProgressBar } from "@prokodo/ui/progress-bar"

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.
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) · 4 ARIA-Attribut-Vorkommen im Quellcode-Scan. Kriterien mit 🔍 erfordern manuelle Prüfung im finalen Integrations- und Theme-Kontext.

Storybook

👉 ProgressBar in Storybook öffnen


Quellcode

src/components/progress-bar/ProgressBar.model.ts