ComponentsTable

displaytexulinot agent-emittableapp

Table

table

A responsive data table with density, stacking and sticky header options.

Live examples

Striped sticky header

Striped sticky header

Loading demo…

Props

Public props for Table
NameKindRequiredDefaultDescription
variantenum (plain, striped, grid)no"plain"—
densityenum (compact, default, comfortable)no"default"—
stackenum (never, sm, md)no"never"Stack rows into labelled cards when the container is narrow
stickyHeaderbooleannofalse—
maxBlockSizestringno—CSS length capping height so the body scrolls
labelstringno—Accessible name for the scroll area
busybooleannofalse—
wrapperClassstringno——
classstringno——

Keyboard

Keyboard behavior for Table
KeyAction
—See accessibility notes for keyboard behavior.

Accessibility

  • Real table markup with caption or label for the scroll region
  • Stacked mode keeps labels associated with cells
  • busy sets aria-busy on the table

Evidence for table

Latest committed gates for table (as of 2026-10-23). Static snapshot — not live CI.

Behavior

n/ano behavior scenario

No dedicated behavior scenario for this catalog id (a styled or display surface, covered by its unit and axe tests).

Size (gzip)

texuli/table · budget 12.0 KiB

Budget from texuli.budgets.json; re-measure with `pnpm size --filter <entry>`.

Axe

documented

  • tests/e2e/site-component-pages.spec.ts
  • docs/quality (a11y-*)

Site component pages axe gate; package-level a11y docs under docs/quality when present.

Browsers

  • chromium
  • webkit
  • mobile

Playwright projects: Desktop Chrome, Desktop Safari, Pixel 7. Firefox is a known gap on this host.

When to use

Use when

  • Tabular comparison of many rows and columns

Don’t use when

Prefer another component

  • A single metric (use stat or kpi)
  • A free-form card layout