Zum Hauptinhalt springen
Version: latest
Universell einsetzbar

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

Carousel

Carousel rendert eine horizontal gleitende Ansicht von Inhalten mit optionalem Autoplay, Loop, Navigationspfeilen und Pagination-Punkten.


Übersicht

import { Carousel } from "@prokodo/ui/carousel"
;<Carousel
items={[
{ key: "1", content: <img src="/slide1.jpg" alt="Slide 1" /> },
{ key: "2", content: <img src="/slide2.jpg" alt="Slide 2" /> },
]}
autoplay
/>

Import

import { Carousel } from "@prokodo/ui/carousel"

CSS:

import "@prokodo/ui/carousel.css"

Props

PropTypStandardPflichtBeschreibung
childrenReactNodeSlide-Elemente im Carousel.
autoplaynumberAutoplay-Intervall in ms (0 = deaktiviert).
enableControlbooleantrueVor-/Zurück-Buttons anzeigen.
enableDotsbooleantruePunkt-Indikatoren anzeigen.
translateXnumberManuelles Slide-Offset.
itemStyleReact.CSSPropertiesInline-Styles pro Slide.
itemsToShownumber1Gleichzeitig sichtbare Items.
responsiveCarouselResponsive[]Breakpoint-basierte itemsToShow-Werte.
classNamestringCSS-Klasse am Root-Element.

Siehe src/components/carousel/Carousel.model.ts für den vollständigen CarouselProps-Typ.


Design-Tokens

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

TokenStandardBeschreibung
--pk-carousel-overlay-bgcolor-mix(in srgb, var(--pk-palette-grey-900) 70%, transparent)Hintergrund des mobilen Tutorial-Überblendes
--pk-carousel-dot-active-bgvar(--pk-color-fg)Füllung des aktiven Pagination-Punktes
--pk-carousel-button-paddingvar(--pk-space-xs)Innenabstand der Vor-/Zurück-Schaltflächen
--pk-carousel-dots-mt0Oberer Abstand über der Punkt-Indikator-Reihe
--pk-carousel-controls-mtvar(--pk-space-lg)Oberer Abstand zwischen den Folien und der Steuerzeile (Zurück/Punkte/Vor)

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.2.2Pausieren, Beenden, Ausblenden (A)🔍 Manuell prüfenAnimationen oder automatisch rotierende Inhalte, die länger als 5 s laufen, müssen einen Pause-/Stopp-Schalter bieten.
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.

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

Storybook

👉 Carousel in Storybook öffnen


Quellcode

src/components/carousel/Carousel.model.ts