Skip to content

Table

A full-featured table component with sub-components for flexible layouts.

Installation

import {
Table,
TableHead,
TableBody,
TableRow,
TableHeaderCell,
TableCell,
TableEmptyRow,
TableLoadingRows
} from '@smc/darwin-ui';

Usage

import {
Table,
TableHead,
TableBody,
TableRow,
TableHeaderCell,
TableCell
} from '@smc/darwin-ui';
export function Example() {
return (
<Table>
<TableHead>
<TableRow>
<TableHeaderCell>Name</TableHeaderCell>
<TableHeaderCell>Status</TableHeaderCell>
<TableHeaderCell>Actions</TableHeaderCell>
</TableRow>
</TableHead>
<TableBody>
<TableRow>
<TableCell>Item 1</TableCell>
<TableCell>
<Badge variant="success">Active</Badge>
</TableCell>
<TableCell>
<Button size="sm">View</Button>
</TableCell>
</TableRow>
</TableBody>
</Table>
);
}

Components

ComponentDescription
TableMain wrapper
TableHeadHeader section
TableBodyBody section
TableRowTable row
TableHeaderCellHeader cell with bold text
TableCellStandard cell
TableEmptyRowEmpty state row
TableLoadingRowsLoading skeleton rows

Loading State

<Table>
<TableHead>
<TableRow>
<TableHeaderCell>Name</TableHeaderCell>
<TableHeaderCell>Status</TableHeaderCell>
</TableRow>
</TableHead>
<TableBody>
<TableLoadingRows columns={2} rows={5} />
</TableBody>
</Table>

Empty State

<Table>
<TableHead>
<TableRow>
<TableHeaderCell>Name</TableHeaderCell>
</TableRow>
</TableHead>
<TableBody>
<TableEmptyRow colSpan={1}>
No items found
</TableEmptyRow>
</TableBody>
</Table>

API Reference

TableLoadingRows Props

PropTypeDefaultDescription
columnsnumber-Number of columns
rowsnumber3Number of loading rows

TableEmptyRow Props

PropTypeDefaultDescription
colSpannumber-Columns to span
childrenReactNode-Empty message