Skip to content
Pebble Pro is here at $49 one timeSee what’s included ↗
Pebble
ComponentsDocsMCPPricing
⌕ Find a component↗Log in
All components 673

Categories

Core inputs & forms46Buttons & actions33Navigation36Overlays & feedback49Data display33Charts & data viz40Cards & layout43Marketing blocks38App shells & pages37AI interfaces40Text & typography effects33Backgrounds & visual effects38Motion & transitions32Numbers & counters32Media34E-commerce333D & interactive36Themed sets40
Start with the essentials.Installation guide ↗Connect your agent ↗
← All componentsData display

Data table

A table on our Table with sortable headers, text and faceted filters, row selection with a floating bulk bar, column visibility, row actions and pagination, without TanStack.

Preview

DeploymentActions
Cache invoice PDFs at the edgedpl-4f21·main
ProductionBuildingPRPriya Raman2m ago
Fix timezone drift in weekly digestdpl-4f1e·fix/digest-tz
PreviewReadyMHMalik Haddad9m ago
Add usage meter to billing pagedpl-4f1a·feat/usage-meter
PreviewFailedIOInes Okafor18m ago
Bump image optimizer to 4.2dpl-4f17·main
ProductionReadyTFTomás Ferreira34m ago
Queue retries for webhook fan-outdpl-4f12·feat/webhook-retry
PreviewQueuedNLNoor Lindqvist37m ago
Tighten CSP for embed widgetdpl-4f0d·main
ProductionReadyPRPriya Raman1h ago
2 of 14 selected
Page 1 of 3
2 selected

Deployment
No scheduled deploymentsSchedule a release from any ready preview.
0 results

Install

Pro source requires Pebble Pro. Try the full preview above.

Props

PropTypeDefaultDescription
dataT[]—Rows to show.
columnsDataTableColumn<T>[]—{ id, header, accessor?, cell?, sortable?, hideable?, defaultHidden?, align?, className? }. accessor feeds sort, search and facets.
getRowId(row: T) => string—Stable id for keys and selection.
labelstring—Accessible name of the table.
searchColumnsstring[]—Column ids the search box matches. Omitted: no search box.
searchPlaceholderstring"Search…"Placeholder for the search box.
facet{ columnId, title, options }—Faceted filter popover with live counts for one column.
selectablebooleanfalseAdds row checkboxes and a select-page header checkbox.
defaultSelectedIdsstring[][]Rows selected on first render (ids from getRowId).
bulkActions(selected: T[], clear: () => void) => ReactNode—Content of the floating bar shown while rows are selected. Use DataTableBulkButton.
rowActions{ label, onSelect, shortcut?, variant?, separated? }[]—Menu behind a “…” button at the end of each row.
getRowLabel(row: T) => stringgetRowIdNames rows in “Select …” and “Actions for …” labels.
pageSizenumber8Rows per page; pagination hides with one page.
defaultSort{ id: string; desc: boolean } | nullnullInitial sort.
emptyStateReactNode—Shown when data is empty (no-results has its own state).

Pro component

Try the full preview above. Editable source and build guides require Pebble Pro.

Buy Pebble Pro — $49How source access works ↗
Pebble

Small details.
Better interfaces.

React components to explore, make your own, and build on.

Library

  • Components
  • Installation
  • Pricing

Resources

  • For agents
  • About
  • Support

Legal

  • License
  • Terms
  • Privacy
  • Final sale

Built by Pebble

A product of Praxys Solutions LLC ↗

Pebble Pro is live

$49 one time, lifetime updates ↗