Components
HeroUI v3 Table — data table with sorting, selection, custom cells, expandable rows, pagination, column resizing, empty state and async loading.
npx @21st-dev/cli@beta add hero_ui/heroui-tableLoading preview...
import { Table } from "@/components/ui/heroui-table"
export default function SecondaryVariant() {
return (
<div className="w-full p-8">
<Table variant="secondary">
<Table.ScrollContainer>
<Table.Content aria-label="Team members" className="min-w-[600px]">
<Table.Header>
<Table.Column isRowHeader>Name</Table.Column>
<Table.Column>Role</Table.Column>
<Table.Column>Status</Table.Column>
<Table.Column>Email</Table.Column>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>Kate Moore</Table.Cell>
<Table.Cell>CEO</Table.Cell>
<Table.Cell>Active</Table.Cell>
<Table.Cell>kate@acme.com</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>John Smith</Table.Cell>
<Table.Cell>CTO</Table.Cell>
<Table.Cell>Active</Table.Cell>
<Table.Cell>john@acme.com</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>Sara Johnson</Table.Cell>
<Table.Cell>CMO</Table.Cell>
<Table.Cell>On Leave</Table.Cell>
<Table.Cell>sara@acme.com</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>Michael Brown</Table.Cell>
<Table.Cell>CFO</Table.Cell>
<Table.Cell>Active</Table.Cell>
<Table.Cell>michael@acme.com</Table.Cell>
</Table.Row>
</Table.Body>
</Table.Content>
</Table.ScrollContainer>
</Table>
</div>
)
}
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...