Content
Table
Tabular data container with consistent row and column styling.
Basic Table
Standard data table with clean typography.
| Name | Status | Role |
|---|---|---|
| Alice Johnson | Active | Designer |
| Bob Smith | Offline | Developer |
Variants & Styles
Support for hover states, zebra stripes, and borders.
| Hover & Striped | Value |
|---|---|
| Row 1 | 100 |
| Row 2 | 200 |
| Bordered & Compact | Value |
|---|---|
| Small Row | A |
| Small Row | B |
Data Table (High-level)
Advanced data management with built-in search, sorting, categorical filters, and pagination.
Product | Category | Price | Status |
|---|---|---|---|
Apple Watch | Wearables | $399 | In Stock |
iPhone 15 | Phones | $999 | Low Stock |
iPad Pro | Tablets | $799 | In Stock |
Toolbar Actions
Extend the table toolbar with custom buttons or actions using the rightAction slot.
Project | Status |
|---|---|
Project A | Active |
Project B | Paused |
Loading State
Use the isLoading prop to show a professional skeleton state while fetching data.
Name | Email | Role |
|---|---|---|
Server-side Pagination
Handle large datasets by fetching only the required page from your server. The table UI will automatically adapt to your external count and page state.
ID | Name | Price |
|---|---|---|
101 | Server Product 1 | $99 |
102 | Server Product 2 | $149 |
Properties
| Prop | Type | Default | Description |
|---|---|---|---|
children | React.ReactNode | — | Main descriptive text or overlay children layout |
hover | boolean | — | Adds hover state to rows |
striped | boolean | — | Alternating row colors |
bordered | boolean | — | Full borders between cells |
compact | boolean | — | Reduced padding for tight layouts |
responsive | boolean | — | Adds adaptive "stacked" behavior on mobile |
data | any[] | — | Array of data objects to display in the table grid |
columns | DataTableColumn[] | — | Column definitions mapping keys to header and cell renderers |
searchable | boolean | true | If true, reveals standard text search input inside the toolbar |
searchPlaceholder | string | "Search..." | Ghost text inside the search input |
paginated | boolean | true | If true, enables page splitting navigation controls at the bottom |
pageSize | number | 10 | Number of rows to render per active page viewport |
selectable | boolean | false | If true, enables checkbox selections on row items |
onRowClick | (item: any) => void | — | Callback event triggered when a row is clicked |
emptyState | React.ReactNode | — | Custom element rendered when data set is empty or filtered out |
filters | DataTableFilter[] | — | List of filters to display in the header select boxes |
rightAction | React.ReactNode | — | Custom header actions aligned to the far right toolbar edge |
isLoading | boolean | false | If true, activates animated grid skeleton layout block |
manualPagination | boolean | false | Enable server-side pagination instead of client-side filtering |
totalCount | number | — | Total row count across server for correct pagination pages |
currentPage | number | — | Current active page value for server-side page control |
onPageChange | (page: number) => void | — | Callback function triggered on navigation page transition |