Copy to clipboard
| Name | Status | Role |
|---|---|---|
| Alice | Active | Admin |
| Bob | Inactive | User |
<Table>
<TableHeader>
<TableRow>
<TableHead>Name</TableHead>
<TableHead>Status</TableHead>
<TableHead>Role</TableHead>
</TableRow>
</TableHeader>
<TableBody>
<TableRow>
<TableCell>Alice</TableCell>
<TableCell>Active</TableCell>
<TableCell>Admin</TableCell>
</TableRow>
<TableRow>
<TableCell>Bob</TableCell>
<TableCell>Inactive</TableCell>
<TableCell>User</TableCell>
</TableRow>
</TableBody>
</Table>
<Table>
<TableHeader>
<TableRow>
<TableHead>Name</TableHead>
<TableHead>Status</TableHead>
<TableHead>Role</TableHead>
</TableRow>
</TableHeader>
<TableBody>
<TableRow>
<TableCell>Alice</TableCell>
<TableCell>Active</TableCell>
<TableCell>Admin</TableCell>
</TableRow>
<TableRow>
<TableCell>Bob</TableCell>
<TableCell>Inactive</TableCell>
<TableCell>User</TableCell>
</TableRow>
</TableBody>
</Table> <Table>
<TableHeader>
<TableRow>
<TableHead>Name</TableHead>
<TableHead>Status</TableHead>
<TableHead>Role</TableHead>
</TableRow>
</TableHeader>
<TableBody>
<TableRow>
<TableCell>Alice</TableCell>
<TableCell>Active</TableCell>
<TableCell>Admin</TableCell>
</TableRow>
<TableRow>
<TableCell>Bob</TableCell>
<TableCell>Inactive</TableCell>
<TableCell>User</TableCell>
</TableRow>
</TableBody>
</Table>
Installation
Copy to clipboard
npx bearnie add table
npx bearnie add table npx bearnie add table
bunx bearnie add table
bunx bearnie add table bunx bearnie add table
pnpm dlx bearnie add table
pnpm dlx bearnie add table pnpm dlx bearnie add table
yarn dlx bearnie add table
yarn dlx bearnie add table yarn dlx bearnie add table
Usage
import {
Table,
TableHeader,
TableBody,
TableRow,
TableHead,
TableCell,
} from "@/components/bearnie/table"<Table>
<TableHeader>
<TableRow>
<TableHead>Column</TableHead>
</TableRow>
</TableHeader>
<TableBody>
<TableRow>
<TableCell>Data</TableCell>
</TableRow>
</TableBody>
</Table> Examples
With caption
Copy to clipboard
| Invoice | Status | Amount |
|---|---|---|
| INV001 | Paid | $250.00 |
| INV002 | Pending | $150.00 |
<Table>
<TableCaption>A list of recent invoices.</TableCaption>
<TableHeader>
<TableRow>
<TableHead>Invoice</TableHead>
<TableHead>Status</TableHead>
<TableHead class="text-right">Amount</TableHead>
</TableRow>
</TableHeader>
<TableBody>
<TableRow>
<TableCell class="font-medium">INV001</TableCell>
<TableCell>Paid</TableCell>
<TableCell class="text-right">$250.00</TableCell>
</TableRow>
<TableRow>
<TableCell class="font-medium">INV002</TableCell>
<TableCell>Pending</TableCell>
<TableCell class="text-right">$150.00</TableCell>
</TableRow>
</TableBody>
</Table>
<Table>
<TableCaption>A list of recent invoices.</TableCaption>
<TableHeader>
<TableRow>
<TableHead>Invoice</TableHead>
<TableHead>Status</TableHead>
<TableHead class="text-right">Amount</TableHead>
</TableRow>
</TableHeader>
<TableBody>
<TableRow>
<TableCell class="font-medium">INV001</TableCell>
<TableCell>Paid</TableCell>
<TableCell class="text-right">$250.00</TableCell>
</TableRow>
<TableRow>
<TableCell class="font-medium">INV002</TableCell>
<TableCell>Pending</TableCell>
<TableCell class="text-right">$150.00</TableCell>
</TableRow>
</TableBody>
</Table> <Table>
<TableCaption>A list of recent invoices.</TableCaption>
<TableHeader>
<TableRow>
<TableHead>Invoice</TableHead>
<TableHead>Status</TableHead>
<TableHead class="text-right">Amount</TableHead>
</TableRow>
</TableHeader>
<TableBody>
<TableRow>
<TableCell class="font-medium">INV001</TableCell>
<TableCell>Paid</TableCell>
<TableCell class="text-right">$250.00</TableCell>
</TableRow>
<TableRow>
<TableCell class="font-medium">INV002</TableCell>
<TableCell>Pending</TableCell>
<TableCell class="text-right">$150.00</TableCell>
</TableRow>
</TableBody>
</Table>
With footer
Copy to clipboard
| Item | Price |
|---|---|
| Product A | $100.00 |
| Product B | $50.00 |
| Total | $150.00 |
<Table>
<TableHeader>
<TableRow>
<TableHead>Item</TableHead>
<TableHead class="text-right">Price</TableHead>
</TableRow>
</TableHeader>
<TableBody>
<TableRow>
<TableCell>Product A</TableCell>
<TableCell class="text-right">$100.00</TableCell>
</TableRow>
<TableRow>
<TableCell>Product B</TableCell>
<TableCell class="text-right">$50.00</TableCell>
</TableRow>
</TableBody>
<TableFooter>
<TableRow>
<TableCell>Total</TableCell>
<TableCell class="text-right">$150.00</TableCell>
</TableRow>
</TableFooter>
</Table>
<Table>
<TableHeader>
<TableRow>
<TableHead>Item</TableHead>
<TableHead class="text-right">Price</TableHead>
</TableRow>
</TableHeader>
<TableBody>
<TableRow>
<TableCell>Product A</TableCell>
<TableCell class="text-right">$100.00</TableCell>
</TableRow>
<TableRow>
<TableCell>Product B</TableCell>
<TableCell class="text-right">$50.00</TableCell>
</TableRow>
</TableBody>
<TableFooter>
<TableRow>
<TableCell>Total</TableCell>
<TableCell class="text-right">$150.00</TableCell>
</TableRow>
</TableFooter>
</Table> <Table>
<TableHeader>
<TableRow>
<TableHead>Item</TableHead>
<TableHead class="text-right">Price</TableHead>
</TableRow>
</TableHeader>
<TableBody>
<TableRow>
<TableCell>Product A</TableCell>
<TableCell class="text-right">$100.00</TableCell>
</TableRow>
<TableRow>
<TableCell>Product B</TableCell>
<TableCell class="text-right">$50.00</TableCell>
</TableRow>
</TableBody>
<TableFooter>
<TableRow>
<TableCell>Total</TableCell>
<TableCell class="text-right">$150.00</TableCell>
</TableRow>
</TableFooter>
</Table>
With badges
Copy to clipboard
| Name | Status | Role |
|---|---|---|
| Alice Johnson | Active | Admin |
| Bob Smith | Inactive | User |
<Table>
<TableHeader>
<TableRow>
<TableHead>Name</TableHead>
<TableHead>Status</TableHead>
<TableHead>Role</TableHead>
</TableRow>
</TableHeader>
<TableBody>
<TableRow>
<TableCell class="font-medium">Alice Johnson</TableCell>
<TableCell><Badge variant="success">Active</Badge></TableCell>
<TableCell>Admin</TableCell>
</TableRow>
<TableRow>
<TableCell class="font-medium">Bob Smith</TableCell>
<TableCell><Badge variant="secondary">Inactive</Badge></TableCell>
<TableCell>User</TableCell>
</TableRow>
</TableBody>
</Table>
<Table>
<TableHeader>
<TableRow>
<TableHead>Name</TableHead>
<TableHead>Status</TableHead>
<TableHead>Role</TableHead>
</TableRow>
</TableHeader>
<TableBody>
<TableRow>
<TableCell class="font-medium">Alice Johnson</TableCell>
<TableCell><Badge variant="success">Active</Badge></TableCell>
<TableCell>Admin</TableCell>
</TableRow>
<TableRow>
<TableCell class="font-medium">Bob Smith</TableCell>
<TableCell><Badge variant="secondary">Inactive</Badge></TableCell>
<TableCell>User</TableCell>
</TableRow>
</TableBody>
</Table> <Table>
<TableHeader>
<TableRow>
<TableHead>Name</TableHead>
<TableHead>Status</TableHead>
<TableHead>Role</TableHead>
</TableRow>
</TableHeader>
<TableBody>
<TableRow>
<TableCell class="font-medium">Alice Johnson</TableCell>
<TableCell><Badge variant="success">Active</Badge></TableCell>
<TableCell>Admin</TableCell>
</TableRow>
<TableRow>
<TableCell class="font-medium">Bob Smith</TableCell>
<TableCell><Badge variant="secondary">Inactive</Badge></TableCell>
<TableCell>User</TableCell>
</TableRow>
</TableBody>
</Table>
Anatomy
Table- The root table elementTableHeader- Container for header rowsTableBody- Container for body rowsTableFooter- Container for footer rowsTableRow- A single table rowTableHead- Header cellTableCell- Body/footer cellTableCaption- Table caption text
Props
All Table components accept class for additional CSS classes. They are structural components wrapping native HTML table elements.