Themes
- Default
- Catppuccin
- Dracula
- High Contrast
- High Contrast Light
- Monokai
- Nord
- One Dark
- Solarized
- Tokyo Night
- AMOLED
- Aura
- Ayu
- Carbonfox
- Catppuccin Frappe
- Catppuccin Macchiato
- Cobalt2
- Cursor
- Everforest
- Flexoki
- GitHub
- Gruvbox
- Kanagawa
- Lucent Orng
- Material
- Matrix
- Mercury
- Night Owl
- OC-2
- One Dark Pro
- OpenCode
- Orng
- Osaka Jade
- Palenight
- Rose Pine
- Shades of Purple
- Synthwave '84
- Vercel
- Vesper
- Zenburn
Utility
AI
Terminal
Installation
$ pnpm dlx shadcn@latest add @termcn/data-grid
Usage
import { DataGrid } from "@/components/ui/data-grid";<DataGrid
data={[
{ name: "Alice", role: "Engineer", status: "Active" },
{ name: "Bob", role: "Designer", status: "Away" },
]}
columns={[
{ key: "name", header: "Name", width: 12 },
{ key: "role", header: "Role", width: 12 },
{ key: "status", header: "Status", width: 10 },
]}
/>API Reference
DataGrid
| Prop | Type | Default |
|---|---|---|
data | T[] | required |
columns | DataGridColumn<T>[] | required |
pageSize | number | 10 |
onRowSelect | (row: T) => void | - |
onCellEdit | (row: T, key: string, value: string) => void | - |
borderColor | string | - |
borderStyle | "single" | "double" | "round" | "bold" | "single" |
showRowNumbers | boolean | false |
filterPlaceholder | string | - |
DataGridColumn
| Prop | Type | Default |
|---|---|---|
key | keyof T & string | required |
header | string | required |
width | number | - |
align | "left" | "right" | "center" | "left" |
render | (value: unknown, row: T) => string | - |
filterable | boolean | - |
sortable | boolean | - |