Table

Component

Full-featured data table component with sorting, striping, and responsive design.

Installation & Usage

Basic Usage
import { 
  Table, 
  TableHeader, 
  TableBody, 
  TableRow, 
  TableHead, 
  TableCell 
} from 'dotti'

<Table>
  <TableHeader>
    <TableRow>
      <TableHead>Name</TableHead>
      <TableHead>Role</TableHead>
    </TableRow>
  </TableHeader>
  <TableBody>
    <TableRow>
      <TableCell>John Doe</TableCell>
      <TableCell>Developer</TableCell>
    </TableRow>
  </TableBody>
</Table>

Examples

Basic Table

Simple table with headers and data rows.

NameRoleStatusActions
John DoeDeveloperActive
Jane SmithDesignerPending
Bob JohnsonManagerInactive
Code
<Table>
  <TableHeader>
    <TableRow>
      <TableHead>Name</TableHead>
      <TableHead>Role</TableHead>
      <TableHead>Status</TableHead>
    </TableRow>
  </TableHeader>
  <TableBody>
    <TableRow>
      <TableCell>John Doe</TableCell>
      <TableCell>Developer</TableCell>
      <TableCell>Active</TableCell>
    </TableRow>
    <TableRow>
      <TableCell>Jane Smith</TableCell>
      <TableCell>Designer</TableCell>
      <TableCell>Pending</TableCell>
    </TableRow>
  </TableBody>
</Table>

Striped Table

Table with alternating row colors for better readability.

IDProductPriceStockCategory
001Laptop Pro$1,29915Electronics
002Wireless Mouse$2950Accessories
003USB-C Cable$15100Cables
004Monitor Stand$8925Accessories
Code
<Table variant="striped">
  <TableHeader>
    <TableRow>
      <TableHead>ID</TableHead>
      <TableHead>Product</TableHead>
      <TableHead>Price</TableHead>
      <TableHead>Stock</TableHead>
    </TableRow>
  </TableHeader>
  <TableBody>
    <TableRow>
      <TableCell>001</TableCell>
      <TableCell>Laptop Pro</TableCell>
      <TableCell>$1,299</TableCell>
      <TableCell>15</TableCell>
    </TableRow>
    {/* More rows... */}
  </TableBody>
</Table>

Sortable Table

Table with sortable columns and hover states.

Name
Email
Join Date
Actions
Alice Cooper
alice@example.com2024-01-15
Bob Wilson
bob@example.com2024-02-20
Carol Davis
carol@example.com2024-03-10
Code
<Table variant="hover">
  <TableHeader>
    <TableRow>
      <TableHead sortable>Name</TableHead>
      <TableHead sortable>Email</TableHead>
      <TableHead sortable>Join Date</TableHead>
      <TableHead>Actions</TableHead>
    </TableRow>
  </TableHeader>
  <TableBody>
    <TableRow>
      <TableCell>
        <div className="flex items-center space-x-3">
          <Avatar size="sm" src="" alt="User" />
          <span>Alice Cooper</span>
        </div>
      </TableCell>
      <TableCell>alice@example.com</TableCell>
      <TableCell>2024-01-15</TableCell>
      <TableCell>
        <Button size="sm" variant="ghost">View</Button>
      </TableCell>
    </TableRow>
  </TableBody>
</Table>

Compact Table

Dense table layout for displaying more data in less space.

Recent Transactions

24 items
DateDescriptionAmountType
Dec 15Online Purchase-$49.99Debit
Dec 14Salary Deposit+$3,200.00Credit
Dec 13Coffee Shop-$4.50Debit
Dec 12Refund+$25.00Credit
Code
<Table size="sm" variant="bordered">
  <TableHeader>
    <TableRow>
      <TableHead>Date</TableHead>
      <TableHead>Description</TableHead>
      <TableHead>Amount</TableHead>
      <TableHead>Type</TableHead>
    </TableRow>
  </TableHeader>
  <TableBody>
    <TableRow>
      <TableCell>Dec 15</TableCell>
      <TableCell>Online Purchase</TableCell>
      <TableCell>-$49.99</TableCell>
      <TableCell>
        <Badge variant="default" size="sm">Debit</Badge>
      </TableCell>
    </TableRow>
  </TableBody>
</Table>

Props