Sort, search, filter, page and act in bulk on one set of records, with Data Table Header and Table Toolbar on the tray.
FreeWeb and MobileMotion
Preview
npx shadcn add @fetaui/data-tablePlayground
| Owner | Due | ||||
|---|---|---|---|---|---|
| Docs refresh | Marcus Johnson | Done | Sep 18 | 97 | |
| Aurora redesign | Emma Collins | In review | Oct 2 | 92 | |
| Billing migration | Noah Williams | On track | Oct 14 | 86 | |
| Mobile onboarding | Ari Singh | On track | Nov 6 | 78 | |
| Cinder analytics | Inez Park | At risk | Sep 28 | 64 |
Docs refresh97
DoneMarcus Johnson · Sep 18
Aurora redesign92
In reviewEmma Collins · Oct 2
Billing migration86
On trackNoah Williams · Oct 14
Mobile onboarding78
On trackAri Singh · Nov 6
Cinder analytics64
At riskInez Park · Sep 28
Sorted
| Owner | Due | ||||
|---|---|---|---|---|---|
| Docs refresh | Marcus Johnson | Done | Sep 18 | 97 | |
| Aurora redesign | Emma Collins | In review | Oct 2 | 92 | |
| Billing migration | Noah Williams | On track | Oct 14 | 86 | |
| Mobile onboarding | Ari Singh | On track | Nov 6 | 78 | |
| Cinder analytics | Inez Park | At risk | Sep 28 | 64 |
Docs refresh97
DoneMarcus Johnson · Sep 18
Aurora redesign92
In reviewEmma Collins · Oct 2
Billing migration86
On trackNoah Williams · Oct 14
Mobile onboarding78
On trackAri Singh · Nov 6
Cinder analytics64
At riskInez Park · Sep 28
Selected
2 selected
| Owner | Due | ||||
|---|---|---|---|---|---|
| Docs refresh | Marcus Johnson | Done | Sep 18 | 97 | |
| Aurora redesign | Emma Collins | In review | Oct 2 | 92 | |
| Billing migration | Noah Williams | On track | Oct 14 | 86 | |
| Mobile onboarding | Ari Singh | On track | Nov 6 | 78 | |
| Cinder analytics | Inez Park | At risk | Sep 28 | 64 |
Docs refresh97
DoneMarcus Johnson · Sep 18
Aurora redesign92
In reviewEmma Collins · Oct 2
Billing migration86
On trackNoah Williams · Oct 14
Mobile onboarding78
On trackAri Singh · Nov 6
Cinder analytics64
At riskInez Park · Sep 28
Loading
| Owner | Due | ||||
|---|---|---|---|---|---|
Empty
No projects match these filters
Remove a filter or search for something else.
No projects match these filters
Remove a filter or search for something else.
Filtered
| Owner | Due | ||||
|---|---|---|---|---|---|
| Billing migration | Noah Williams | On track | Oct 14 | 86 | |
| Mobile onboarding | Ari Singh | On track | Nov 6 | 78 |
Billing migration86
On trackNoah Williams · Oct 14
Mobile onboarding78
On trackAri Singh · Nov 6
Data Table Header
2 selected
Table Toolbar
Rows
Icons animation
Motion
Installation
Terminal· bash
npx shadcn add @fetaui/data-table
Accessibility
- Real table semantics, with aria-sort on the sorted header and aria-selected on rows.
- The bulk bar is a labelled toolbar.
- Mobile cards repeat the same checkboxes with the same names.
- Status is a label and a mark, never color alone.
Motion
- Sorting toggles asc, desc, off. Rows slide 300 ms by transform and jump past 200 rows.
- The header crossfades into bulk actions with a 4 px slide over 200 ms.
- Chips scale from 0.9 on a spring.
- Skeleton rows shimmer on a 1,200 ms loop that pauses offscreen.
- With reduced motion, rows reorder at once and the skeleton is static.
Responsive behavior
- Only the current page renders, so long lists stay fast.
- Under 520 px rows become stacked cards by container width.
- Search folds into an icon button and actions become round icon buttons.
Performance
- Only the current page renders, so long lists stay fast.
- Matching and sorting are memoized on their inputs.
Note for AI
Give your coding assistant the Markdown reference instead of screenshots.
- Import DataTable, DataTableHeader and TableToolbar. Required: title, columns, rows, getId.
- A column's value drives sort, search and filters, and render draws the cell. card places it on Mobile.
- Sorting and filtering run on the client, on the rows you pass. Server paging needs the header and Table pieces instead.
- actions run on selected ids through onSelect, and action is the one Primary. In the demo neither is connected.
Related
TableComponentNative table parts on one cell component, in Compact or Comfortable density and Plain or Grid style.Data GridComponentA spreadsheet grid for large data: pinned columns, range selection, editing, and live Sum and Avg.Tree TableComponentRows that roll up, with guides for depth. Selecting rows totals their spend in the footer.PaginationComponentSeven ways to move through pages. The current page lifts onto surface and slides to where you clicked.SearchComponentA search field and a command palette for finding anything and running commands.