Zum Hauptinhalt springen
Version: latest
Universell einsetzbar

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

Chip

Chip rendert ein kompaktes Inline-Label. Häufige Einsatzzwecke sind Tags, Status-Badges, Filter-Pills und ausgewählte Werte in Formular-Komponenten.


Übersicht

import { Chip } from '@prokodo/ui/chip'

<Chip label="Published" color="success" variant="outlined" />
<Chip label="Draft" color="warning" onDelete={() => handleDelete()} />

Import

import { Chip } from "@prokodo/ui/chip"

CSS:

import "@prokodo/ui/chip.css"

Props

PropTypStandardPflichtBeschreibung
labelReactNodeChip-Beschriftung (Text oder React-Node).
variant"filled" | "outlined""filled"Visuelle Variante.
colorVariants"primary"Farbakzent.
iconReactNodeIcon-Element im Chip.
onDelete(e: MouseEvent<HTMLButtonElement>) => voidLöschen-Button-Handler; zeigt Löschen-Icon an.
onClick(e: MouseEvent<HTMLDivElement>) => voidKlick-Handler (macht Chip interaktiv).
onKeyDown(e: KeyboardEvent<HTMLDivElement>) => voidTastatur-Handler am Chip-Container.
classNamestringCSS-Klasse am Root-Element.

Siehe src/components/chip/Chip.model.ts für den vollständigen ChipProps-Typ.


Design-Tokens

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

TokenStandardBeschreibung
--pk-chip-radiusvar(--pk-radius-pill)Eckenradius des Chips
--pk-chip-bginheritRuhezustand-Hintergrundfarbe
--pk-chip-fgvar(--pk-color-fg)Ruhezustand-Textfarbe (adaptiv — weiß im Dark Mode)
--pk-space-xsVertikales Padding
--pk-space-smAbstand zwischen Label und Icon
--pk-space-mdHorizontales Padding
--pk-color-borderRahmen im neutralen Outlined-Zustand
--pk-timing-normalÜbergangsdauer für Farbe und Schatten
--pk-color-surface-raisedHintergrund des Löschen-Buttons

Dark Mode: Die Basis-Textfarbe ist jetzt var(--pk-color-fg), sodass color="inherit"-Chips auf hellen und dunklen Flächen lesbar sind.
Klickbare Chips (onClick / onKeyDown) erhalten einen farbigen Umgebungsschatten passend zum color-Prop; der Schatten blendet beim Hover aus — analog zum Button-Schatten-Pattern.


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)✅ ErfülltAlle 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.8Zielgröße (Minimum) (AA)🔍 Manuell prüfenInteraktive Zielbereiche müssen mindestens 24 × 24 CSS-Pixel groß sein. Prüfung in der integrierten Produkt-UI 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: 3 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

👉 Chip in Storybook öffnen


Quellcode

src/components/chip/Chip.model.ts