Zum Hauptinhalt springen
Version: latest
Universell einsetzbar

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

PostWidgetCarousel

PostWidgetCarousel rendert Beiträge als horizontalen Slider und kombiniert Post-Teaser mit Carousel-Navigation.


Übersicht

import { PostWidgetCarousel } from "@prokodo/ui/post-widget-carousel"
;<PostWidgetCarousel title="You might also like" posts={relatedPosts} />

Import

import { PostWidgetCarousel } from "@prokodo/ui/post-widget-carousel"

CSS:

import "@prokodo/ui/post-widget-carousel.css"

Props

PropTypStandardPflichtBeschreibung
itemsPostWidgetCarouselItem[]Array von Carousel-Items.
titlePostWidgetCarouselHeadlineAbschnitts-Überschrift: { content: string } & HeadlineProps.
autoplaynumberAutoplay-Intervall in ms (0 oder undefiniert deaktiviert).
colorVariantsAkzentfarbe (erweitert CardProps).
structuredDatabooleanfalseJSON-LD-Strukturdaten ausgeben.
classNamestringCSS-Klasse am Root-Element.

Siehe src/components/post-widget-carousel/PostWidgetCarousel.model.ts für den vollständigen PostWidgetCarouselProps-Typ.


Farbe

Das color-Prop überträgt eine einheitliche Akzentfarbe durch alle visuellen Ebenen des Karussells:

WertKarten-Rahmen / SchattenTitel-HeadlineEintrags-HeadlinesNav-Buttons
"primary"Marken-Blau (30 % Tönung + Glow)Marken-BlauMarken-BlauPrimary
"secondary"Akzent-Cyan (30 % Tönung + Glow)Akzent-CyanAkzent-CyanSecondary
"success"Grün-IndikatorGrünGrünSuccess
"warning"Bernstein-IndikatorBernsteinBernsteinWarning
"error"Rot-IndikatorRotRotError
"info"Neutraler VordergrundtonGedämpftGedämpftInfo
"white"Standard-Weißkarte, kein Schatteninherit (automatischer Kontrast)inheritPrimary Fallback

Wenn kein color übergeben wird, verwenden Headlines "inherit" und Nav-Buttons standardmäßig "primary".


Design-Tokens

PostWidgetCarousel definiert keine eigenen CSS Custom Properties. Passe das Erscheinungsbild an, indem du folgende globale Design-System-Tokens auf :root oder einem übergeordneten Element überschreibst:

TokenBeschreibung
--pk-space-smAbstand zwischen den Navigationsbuttons
--pk-space-mdUnterer Versatz der Navigationsbutton-Zeile
--pk-space-lgUnteres Padding des Karussell-Bereichs
--pk-space-xlOberer Abstand des Karussell-Bereichs
--pk-radius-mdEckenradius der Karussell-Bilder

AIC-Hinweis

Verwende im Anwendungscode immer den Standard-Importpfad:

import { PostWidgetCarousel } from "@prokodo/ui/post-widget-carousel"

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)🔍 Manuell prüfenAlle 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: 1 jest-axe-Assertion(s) in 4 Testdatei(en) · 1 ARIA-Attribut-Vorkommen im Quellcode-Scan. Kriterien mit 🔍 erfordern manuelle Prüfung im finalen Integrations- und Theme-Kontext.

Storybook

👉 PostWidgetCarousel in Storybook öffnen


Quellcode

src/components/post-widget-carousel/PostWidgetCarousel.model.ts