Table

Data table with sortable columns, row selection, badge chips, avatar cells, and trend indicators.

import{ Table, TableBadgeChip, TableAvatarCell, TableTrendCell } from "@pepulux/ui"

Default

Name
Role
Status
Revenue
OR
Olivia Rhyeolivia@example.com
AdminActive
$12,400+12%
PB
Phoenix Bakerphoenix@example.com
MemberActive
$8,200+12%
LS
Lana Steinerlana@example.com
MemberInactive
$0+12%

With selection & alternating rows

Name
Role
Status
Revenue
OR
Olivia Rhyeolivia@example.com
AdminActive
$12,400+12%
PB
Phoenix Bakerphoenix@example.com
MemberActive
$8,200+12%
LS
Lana Steinerlana@example.com
MemberInactive
$0+12%

Props

PropTypeDefaultDescription
columns*TableColumn<T>[]Column definitions — { key, header, render, sortable?, align? }
data*T[]Row data array
getRowId(row: T) => stringReturns a unique ID per row (required for selection)
selectablebooleanfalseEnables checkbox row selection
selectedIdsstring[]Controlled selected row IDs
onSelectRow(id: string, checked: boolean) => voidCalled when a row checkbox changes
onSelectAll(checked: boolean) => voidCalled when header checkbox changes
onSort(key: string, dir: 'asc' | 'desc') => voidCalled when a sortable column header is clicked
size"sm" | "md""md"Row height
dividers"line" | "alternating""line"Row separator style