Data and utilities · stable · MIT

Data Table

A generic typed table with filtering, sorting, paging, and selection.

Install editable source

Add Data Table

Base UI / canonicalnpx shadcn@latest add https://gummyui.dev/r/gummy-data-table.json

No package dependency beyond React. Shared Gummy material is resolved automatically.

Behavior contract

Semantics before surface

Semantics

Native table relationships, aria-sort, named checkboxes, and live result count.

Keyboard

Tab reaches filter, sortable headers, selection, and page controls.

System support

Light and dark themes, logical RTL layout, reduced motion, responsive content, and forwarded public refs.

Source-derived reference

Anatomy and public API

Exported anatomy

These public React parts are read directly from the canonical source during the documentation build.

  • GummyDataTable

Prop contracts

GummyDataTableProps

Composes Omit< React.HTMLAttributes<HTMLDivElement>, "children" | "onSelect" > & { rows: readonly Row[]; columns: readonly GummyDataTableColumn<Row>[]; getRowId: (row: Row) => string; caption: string; filterLabel?: string; filterPlaceholder?: string; pageSize?: number; initialSort?: GummyDataTableSort; selectable?: boolean; selectedRowIds?: readonly string[]; defaultSelectedRowIds?: readonly string[]; onSelectedRowIdsChange?: (rowIds: string[]) => void; getRowLabel?: (row: Row) => string; emptyMessage?: string; }

Troubleshooting

Check behavior before surface.

Live product source

Inspect the canonical states

The Component Lab exercises real source across default, focus, disabled, responsive, dark, reduced-motion, and RTL contexts.

Open the live Component Lab

Interactive inspection

Try Data Table in context

Resize the canvas, switch its theme, or reverse its reading direction without changing the rest of the page.

Width
Theme
Direction
3 rows
Release readiness
Status
BeaconReview
AtlasLive
Page 1 of 2

Data Table preview: fluid width, light theme, left to right.

Editable source

Read before you install

Canonical Base UI or native source

Loading editable source…