Table

Rows and columns of data with a themed header, row separators and cell padding, over native table semantics.

Preview#

Application permissions
ResourceAccess
Messages
Post and edit messages in joined channels.
Reminders
Read and complete reminder cards.
Changelog
Private to owners and admins.
import {
  Table,
  TableBody,
  TableCell,
  TableHead,
  TableHeader,
  TableRow,
} from "raft-ui";

<Table>
  <TableHeader>
    <TableRow>
      <TableHead />
    </TableRow>
  </TableHeader>
  <TableBody>
    <TableRow>
      <TableCell />
    </TableRow>
  </TableBody>
</Table>

Every table carries a name: a visible TableCaption, or the same caption hidden with sr-only when the design does not show one. Reach for aria-label only when a caption cannot exist at all.

Recent builds
BuildResult
2026.10.6Succeeded
2026.10.5Succeeded

Column widths stay the caller's business: the base writes no table-layout. Switch to table-fixed and declare the split with TableColgroup / TableColumn when content-driven sizing would make the columns jump.

Resource access
ResourceAccess
MessagesWritable
Audit logNo access

Long content#

Cell text wraps on any character, so identifier-like names without spaces still break inside a narrow column instead of pushing the table past its container.

Resources
ResourceAccess
repo:botiverse/raft_ui_identifier_without_spacesRead only

API#WIP

...props
useRender.ComponentProps<"table">
Native table root. The base writes no table-layout, so table-fixed stays available; pair it with TableColgroup when stable widths matter.
...props
useRender.ComponentProps<"thead">
Column-header row group.
...props
useRender.ComponentProps<"tbody">
Body rows. The last row drops its cell separators — scoped to tbody, so the header row keeps its line.
...props
useRender.ComponentProps<"tr">
One row; separators are painted by its cells.
scopedefault: "col"
ComponentProps<"th">["scope"]
Header cell. Row headers are allowed but not restyled in v1.
...props
useRender.ComponentProps<"th">
Native header cell attributes.
...props
useRender.ComponentProps<"td">
Body cell; wraps on any character and aligns to the top.
...props
useRender.ComponentProps<"caption">
The table's accessible name, rendered below the table. Hide it with sr-only when the design does not show one.
...props
useRender.ComponentProps<"colgroup">
Column-width declarations; pair with the table-fixed class on Table.
...props
useRender.ComponentProps<"col">
One column's width declaration (w-* utilities or an inline width).