Table: HextaUI and shadcn/ui
The HextaUI Table keeps the shadcn/ui names and theme tokens and installs with the same CLI. This page lists what differs, read from the source of both. The shadcn/ui side is its base-vega registry as of 2026-10-16.
At a glance
| Measure | HextaUI | shadcn/ui |
|---|---|---|
| Exported parts | 8 | 8 |
| Props the wrapper handles | 13 | 0 |
| Lines of source | 298 | 115 |
| npm dependencies | class-variance-authoritycn | cn |
| Built from | theme | – |
More source is not better on its own. Most of the extra lines in HextaUI handle states, motion and edge cases that you would otherwise write yourself.
Props HextaUI adds
Props the HextaUI wrapper handles itself that the shadcn/ui wrapper does not. Props passed straight through to Base UI or the underlying library are left out, because both versions accept them.
| Prop | What it does |
|---|---|
wrapTable | Let cell text wrap and align rows to the top. |
scrollFadeTable | Fade the edges that have more content to scroll to. Skipped when columns are pinned. |
stickyHeaderTable | Keep the header in view. Give the container a max height through containerClassName. |
containerClassNameTable | Classes for the scroll container. |
containerRefTable | Ref to the scroll container. |
alignTableHead | end also switches to tabular numbers so digits line up. |
pinnedTableHead | Keep the column in view while the table scrolls sideways. Set the same value on its header and every cell. |
pinnedEdgeTableHead | Draw a soft shadow on the inner edge of the last pinned column while content is hidden behind it. |
alignTableCell | end also switches to tabular numbers so digits line up. |
pinnedTableCell | Keep the column in view while the table scrolls sideways. Set the same value on its header and every cell. |
pinnedEdgeTableCell | Draw a soft shadow on the inner edge of the last pinned column while content is hidden behind it. |
Variants
| Prop | In both | Only HextaUI | Only shadcn/ui |
|---|---|---|---|
variantTable | – | defaultsurface | – |
sizeTable | – | smdefault | – |
The HextaUI version
| Invoice | Client | Status | Amount |
|---|---|---|---|
| INV-0418 | Northwind | $2,400.00 | |
| INV-0419 | Globex | $860.00 | |
| INV-0420 | Initech | $1,320.50 | |
| INV-0421 | Umbrella | $415.00 | |
| Total | $4,995.50 | ||
Every state, the keyboard map and the API reference are on the component page.
7 of its examples also have a page of their own.
Switch one component
Run the add command with --overwrite to replace the shadcn/ui file in @/components/ui, then review the diff in git before you keep it. Imports stay the same, and components you don’t replace keep working.
pnpm dlx shadcn@latest add https://hextaui.com/r/table.json --overwrite- Every prop in the table above is an addition, so call sites written for shadcn/ui don’t pass it yet.
- Check any part or variant listed only for shadcn/ui before you switch, and map it to the closest HextaUI one.