Skip to content

Table

HTML table with consistent styling

Default

Usage

tsx
import { Table, TableHeader, TableBody, TableFooter, TableRow, TableHead, TableCell, TableCaption } from '@tryvienna/ui'

<div className="w-[600px]">
  <Table>
    <TableCaption>A list of recent invoices.</TableCaption>
    <TableHeader>
      <TableRow>
        <TableHead>Invoice</TableHead>
        <TableHead>Status</TableHead>
        <TableHead>Method</TableHead>
        <TableHead className="text-right">Amount</TableHead>
      </TableRow>
    </TableHeader>
    <TableBody>
      {invoices.map((inv) => (
        <TableRow key={inv.id}>
          <TableCell className="font-medium">{inv.id}</TableCell>
          <TableCell>{inv.status}</TableCell>
          <TableCell>{inv.method}</TableCell>
          <TableCell className="text-right">{inv.amount}</TableCell>
        </TableRow>
      ))}
    </TableBody>
    <TableFooter>
      <TableRow>
        <TableCell colSpan={3}>Total</TableCell>
        <TableCell className="text-right">$1,750.00</TableCell>
      </TableRow>
    </TableFooter>
  </Table>
</div>

Examples

Default

Default
tsx
<div className="w-[600px]">
  <Table>
    <TableCaption>A list of recent invoices.</TableCaption>
    <TableHeader>
      <TableRow>
        <TableHead>Invoice</TableHead>
        <TableHead>Status</TableHead>
        <TableHead>Method</TableHead>
        <TableHead className="text-right">Amount</TableHead>
      </TableRow>
    </TableHeader>
    <TableBody>
      {invoices.map((inv) => (
        <TableRow key={inv.id}>
          <TableCell className="font-medium">{inv.id}</TableCell>
          <TableCell>{inv.status}</TableCell>
          <TableCell>{inv.method}</TableCell>
          <TableCell className="text-right">{inv.amount}</TableCell>
        </TableRow>
      ))}
    </TableBody>
    <TableFooter>
      <TableRow>
        <TableCell colSpan={3}>Total</TableCell>
        <TableCell className="text-right">$1,750.00</TableCell>
      </TableRow>
    </TableFooter>
  </Table>
</div>

Simple

Simple
tsx
<div className="w-96">
  <Table>
    <TableHeader>
      <TableRow>
        <TableHead>Name</TableHead>
        <TableHead className="text-right">Value</TableHead>
      </TableRow>
    </TableHeader>
    <TableBody>
      <TableRow>
        <TableCell>Temperature</TableCell>
        <TableCell className="text-right">0.7</TableCell>
      </TableRow>
      <TableRow>
        <TableCell>Max Tokens</TableCell>
        <TableCell className="text-right">4096</TableCell>
      </TableRow>
      <TableRow>
        <TableCell>Top P</TableCell>
        <TableCell className="text-right">0.9</TableCell>
      </TableRow>
    </TableBody>
  </Table>
</div>

API Reference

Table

Also accepts all props from table.

TableHeader

Also accepts all props from thead.

TableBody

Also accepts all props from tbody.

TableFooter

Also accepts all props from tfoot.

TableRow

Also accepts all props from tr.

TableHead

Also accepts all props from th.

TableCell

Also accepts all props from td.

TableCaption

Also accepts all props from caption.

Data Attributes

Componentdata-slot
Table"table"
TableHeader"table-header"
TableBody"table-body"
TableFooter"table-footer"
TableRow"table-row"
TableHead"table-head"
TableCell"table-cell"
TableCaption"table-caption"