Components
Table
Rows and columns for structured data.
Default
| Weight | CSS | Slant |
|---|---|---|
| Thin | 100 | 0° |
| Regular | 400 | 0° |
| Bold | 700 | 0° |
| ExtraBold | 800 | 0° |
<Table>
<TableCaption>Buena Mono instances.</TableCaption>
<TableHeader>
<TableRow>
<TableHead>Weight</TableHead>
<TableHead>CSS</TableHead>
<TableHead>Slant</TableHead>
</TableRow>
</TableHeader>
<TableBody>
<TableRow>
<TableCell>Regular</TableCell>
<TableCell className="font-mono">400</TableCell>
<TableCell className="font-mono">0°</TableCell>
</TableRow>
</TableBody>
</Table> Footer & actions
| Note | Status | Actions |
|---|---|---|
| hello-world.md | Published | |
| draft.md | Draft | |
| Total | 2 notes | |
<Table>
<TableHeader>…</TableHeader>
<TableBody>
<TableRow>
<TableCell>hello-world.md</TableCell>
<TableCell>Published</TableCell>
<TableCell className="text-right">
<button aria-label="Edit">…</button>
</TableCell>
</TableRow>
</TableBody>
<TableFooter>
<TableRow>
<TableCell colSpan={2}>Total</TableCell>
<TableCell className="text-right font-mono">3 notes</TableCell>
</TableRow>
</TableFooter>
</Table> Striped & bordered
| Note | Words |
|---|---|
| ligatures.md | 812 |
| hello-world.md | 431 |
| mrkdwn.md | 1204 |
Striped — zebra body rows
| Note | Words |
|---|---|
| ligatures.md | 812 |
| hello-world.md | 431 |
| mrkdwn.md | 1204 |
Bordered — ruled cells
// striped: zebra body rows
<Table className="[&_tbody_tr:nth-child(even)]:bg-bg-surface">…</Table>
// bordered: ruled cells
<Table className="border border-separator [&_th]:border [&_td]:border [&_th]:border-separator [&_td]:border-separator">…</Table> Interactive
| Note | Status |
|---|---|
| ligatures.md | Published |
| hello-world.md | Published |
| draft.md | Draft |
Rows are hoverable and pointer-cursored; the middle row shows the data-state="selected" highlight.
<TableRow className="cursor-pointer">…</TableRow>
// selected row — data-state drives the highlight
<TableRow data-state="selected" className="cursor-pointer">…</TableRow> Full featured
| Note | Status | Words | Actions |
|---|---|---|---|
| ligatures.md | Published | 812 | |
| hello-world.md | Draft | 431 | |
| mrkdwn.md | Failed | 1204 | |
| Total | 2447 | ||
Everything at once — caption, striped body, selectable + hoverable rows, row actions and a footer total.
Virtualized
| Note | Words |
|---|---|
| note-001.md | 100 |
| note-002.md | 137 |
| note-003.md | 174 |
| note-004.md | 211 |
| note-005.md | 248 |
| note-006.md | 285 |
| note-007.md | 322 |
| note-008.md | 359 |
| note-009.md | 396 |
| note-010.md | 433 |
| note-011.md | 470 |
| note-012.md | 507 |
| note-013.md | 544 |
| note-014.md | 581 |
| note-015.md | 618 |
| note-016.md | 655 |
| note-017.md | 692 |
| note-018.md | 729 |
| note-019.md | 766 |
| note-020.md | 803 |
| note-021.md | 840 |
| note-022.md | 877 |
| note-023.md | 914 |
| note-024.md | 951 |
| note-025.md | 988 |
| note-026.md | 1025 |
| note-027.md | 1062 |
| note-028.md | 1099 |
| note-029.md | 1136 |
| note-030.md | 1173 |
| note-031.md | 1210 |
| note-032.md | 1247 |
| note-033.md | 1284 |
| note-034.md | 1321 |
| note-035.md | 1358 |
| note-036.md | 1395 |
| note-037.md | 1432 |
| note-038.md | 1469 |
| note-039.md | 1506 |
| note-040.md | 1543 |
Virtualized — a fixed-height scroll region over a large dataset (40 rows). In production a virtualizer renders only the visible rows.
Markdown for agents: /design/table.md · spec: /design.md