Zum Hauptinhalt springen
Version: latest
Universell einsetzbar

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

Slider

Slider rendert ein mit prokodo Design-Tokens gestyltes <input type="range">. Unterstützt Single-Thumb- und Dual-Thumb-Bereichsmodi.


Übersicht

import { Slider } from "@prokodo/ui/slider"
;<Slider
name="volume"
label="Volume"
min={0}
max={100}
step={1}
value={volume}
onChange={setVolume}
/>

Import

import { Slider } from "@prokodo/ui/slider"

CSS:

import "@prokodo/ui/slider.css"

Props

PropTypStandardPflichtBeschreibung
idstringHTML-id für den Slider (für Barrierefreiheit erforderlich).
labelstringSlider-Beschriftungstext.
valuenumber | stringGesteuerter Slider-Wert.
defaultValuenumber | stringUnkontrollierter Ausgangswert.
minnumber0Mindestwert.
maxnumber100Maximalwert.
stepnumber1Schrittweite.
snapbooleanfalseWert auf Schrittweise einrasten.
marksboolean | SliderMark[]falseTick-Markierungen oder benutzerdefinierte Markierungen.
disabledbooleanfalseSlider deaktivieren.
requiredbooleanfalseFeld als Pflichtfeld markieren.
hideLabelbooleanfalseBeschriftung visuell ausblenden.
labelPropsLabelPropsProps für das Label-Element.
valueLabelPropsobjectProps für das Wert-Label-Tooltip.
colorVariantsFarbakzent-Variante.
errorTextstringFehlermeldung.
helperTextstringHilfetext unterhalb.
onChange(value: number) => voidWird bei Wertänderung aufgerufen.
classNamestringCSS-Klasse am Root-Element.

Siehe src/components/slider/Slider.model.ts für den vollständigen SliderProps-Typ.


Design-Tokens

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

TokenStandardBeschreibung
--pk-slider-track-height4pxTrack-Höhe
--pk-slider-track-bgvar(--pk-color-border)Ungefüllte Track-Farbe
--pk-slider-fill-fromvar(--pk-color-brand)Verlauf Start (Füllung)
--pk-slider-fill-tovar(--pk-color-accent)Verlauf Ende (Füllung)
--pk-slider-thumb-size24pxThumb-Durchmesser
--pk-slider-tooltip-bgvar(--pk-color-fg)Tooltip-Hintergrund
--pk-slider-tooltip-fgvar(--pk-color-surface)Tooltip-Textfarbe
--pk-slider-timing150msAnimationsdauer

AIC-Hinweis

Verwende im Anwendungscode immer den Standard-Importpfad:

import { Slider } from "@prokodo/ui/slider"

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.
1.4.1Verwendung von Farbe (A)🔍 Manuell prüfenFarbe darf nicht das einzige Mittel zur Informationsvermittlung sein (z. B. Fehlerhinweise, Pflichtfeldmarkierungen).
2.1.1Tastatur (A)🔍 Manuell prüfenAlle Funktionalität muss allein über Tastatur bedienbar sein, ohne Timing-Anforderungen.
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.
2.5.3Label im Namen (A)✅ ErfülltBei Komponenten mit sichtbarem Label muss der zugängliche Name den sichtbaren Labeltext enthalten oder diesem entsprechen.
3.3.2Bezeichnungen oder Anweisungen (A)✅ ErfülltJedes Formularfeld benötigt ein programmatisch verknüpftes Label oder eine sichtbare Anweisung.
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.

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

Storybook

👉 Slider in Storybook öffnen


Quellcode

src/components/slider/Slider.model.ts