Theme: ← Übersicht Tokens

Tabelle

Datentabelle aus columns/rows-Props — gestreift, dicht, mobil horizontal scrollbar, Sticky-Kopf + Spalten-Pinning

Components v1.3.0 Daten WebsiteAppDesktopE-Mail component.table

Nutzt: ui.icon

Beispiele

Auftragsliste (gestreift, fehlender Wert → —)
AuftragKundeStatusSumme
A-4711Selig, Davidopen1.240,00 €
A-4712Muster GmbHversendet89,90 €
A-4713Beispiel AGbezahlt12.500,00 €
A-4714Test KG—430,10 €
Dicht (Desktop-Liste)
AuftragKundeStatusSumme
A-4711Selig, Davidopen1.240,00 €
A-4712Muster GmbHversendet89,90 €
A-4713Beispiel AGbezahlt12.500,00 €
A-4714Test KG—430,10 €
Sticky-Kopf + Pinning (Auftrag links, Aktion rechts fixiert — horizontal + vertikal scrollen)
AuftragKundeAnsprechpartnerStraßeOrtStatusSummeAktion
A-4711Selig, DavidKontakt 1Musterstraße 197110 Musterstadtoffen240,00 €Öffnen
A-4712Muster GmbHKontakt 2Musterstraße 297111 Musterstadtversendet555,00 €Öffnen
A-4713Beispiel AGKontakt 3Musterstraße 397112 Musterstadtbezahlt870,00 €Öffnen
A-4714Test KGKontakt 4Musterstraße 497113 Musterstadtoffen1.185,00 €Öffnen
A-4715Nord HandelKontakt 5Musterstraße 597114 Musterstadtversendet1.500,00 €Öffnen
A-4716Süd LogistikKontakt 6Musterstraße 697115 Musterstadtbezahlt1.815,00 €Öffnen
A-4717West MetallKontakt 7Musterstraße 797116 Musterstadtoffen2.130,00 €Öffnen
A-4718Ost PapierKontakt 8Musterstraße 897117 Musterstadtversendet2.445,00 €Öffnen
A-4719Berg & TalKontakt 9Musterstraße 997118 Musterstadtbezahlt2.760,00 €Öffnen
A-4720Fluss OHGKontakt 10Musterstraße 1097119 Musterstadtoffen3.075,00 €Öffnen
A-4721Hafen eGKontakt 11Musterstraße 1197110 Musterstadtversendet3.390,00 €Öffnen
A-4722Wald KGKontakt 12Musterstraße 1297111 Musterstadtbezahlt3.705,00 €Öffnen
Pinning + Auswahl (Auswahl-Spalte pinnt mit, Datenspalte rückt nach)
AuftragKundeAnsprechpartnerStraßeOrtStatusSummeAktion
A-4711Selig, DavidKontakt 1Musterstraße 197110 Musterstadtoffen240,00 €Öffnen
A-4712Muster GmbHKontakt 2Musterstraße 297111 Musterstadtversendet555,00 €Öffnen
A-4713Beispiel AGKontakt 3Musterstraße 397112 Musterstadtbezahlt870,00 €Öffnen
A-4714Test KGKontakt 4Musterstraße 497113 Musterstadtoffen1.185,00 €Öffnen
A-4715Nord HandelKontakt 5Musterstraße 597114 Musterstadtversendet1.500,00 €Öffnen
XSS in Zelle → escaped
Inhalt
<script>alert(1)</script>
Zeilen-Aktionen (Spalten-Typ actions)
AuftragKundeAktionen
A-4711Selig, David
A-4712Muster GmbH
A-4713Beispiel AG

Eigenschaften

PropTypDefaultBuilder-Label
columns *array—Spalten
rows *array—Zeilen
stripedbooleantrueGestreift
densebooleanfalseDicht (Desktop-Listen)
sortablebooleanfalseSpalten sortierbar (Klick auf Kopf)
selectablebooleanfalseZeilen auswählbar (Checkboxen)
stickyHeaderbooleanfalseKopfzeile fixieren (vertikaler Scroll-Container)

* Pflicht-Prop

Events & Slots

Events: ⚡ sort⚡ selection — im Surface per on: {<event>: {action, params}} verdrahtbar.

Stellschrauben (Komponenten-Tokens)

Ebene 3 — aus dem CSS generiert (Registry). Umverdrahtbar per Hüllen-Komposition, ohne Markup-Eingriff; künftige Regler-Quelle des Component Builders.

TokenDefault
--table-bordervar(--color-border-subtle)
--table-stripevar(--color-surface-sunken)
--table-padding-yvar(--size-2)
--table-max-height28rem
--table-select-widthvar(--size-10)

Genutzte Design-Tokens

border.emphasisborder.hairlinecolor.action.primarycolor.border.defaultcolor.border.subtlecolor.status.info-surfacecolor.surface.defaultcolor.surface.sunkencolor.text.defaultcolor.text.disabledcolor.text.mutedfont.family.defaultradius.controlradius.smsize.1size.10size.2size.3size.4size.6text.smtext.xstracking.wideweight.semibold

LLM-Notizen

component.table

Daten-Tabelle. columns = [{key, label, align?: start|end}], rows = Objekte mit passenden Keys (nur Skalare — alles wird escaped).

Wann nutzen

  • Listen mit gleichförmigen Datensätzen (Aufträge, Kunden). Für Kennzahlen-Kacheln component.metric-card, für Produkt-Raster section.product-grid.

Wichtige Props

  • sortable: Klick auf Spaltenkopf sortiert auf/ab (numerik-bewusst inkl. deutscher Zahlformate, aria-sort).
  • selectable: Checkbox-Spalte + Alle-Checkbox, gewählte Zeilen getönt; Events selection {count} und sort.
  • stickyHeader: Kopfzeile bleibt beim vertikalen Scrollen stehen; deckelt die Höhe auf --table-max-height (Stellschraube, Default 28rem).
  • Spalten-pin: start (links fixiert) oder end (rechts fixiert) beim horizontalen Scrollen — typisch Kennung links, Aktion rechts. EINE Spalte pro Seite (mehrere überlagern sich). Mit selectable pinnt die Auswahl-Spalte automatisch mit.
  • striped, dense.

Beispiel-Node


{
  "definition": "component.table",
  "props": {
    "columns": [{"key": "nr", "label": "Auftrag"}, {"key": "summe", "label": "Summe", "align": "end"}],
    "rows": [{"nr": "#4711", "summe": "1.240,00 €"}],
    "sortable": true, "selectable": true, "striped": true
  }
}