A modern, reusable, open source React Table component with TypeScript support. tablethingy is designed for flexibility, developer happiness, and beautiful defaults. No client-specific code or dependencies—just a powerful, easy-to-use table for your next project.
- Zero dependencies (except React)
- TypeScript-first: generics, type safety, and intellisense
- Modern features: sorting, selection, pagination, expandable rows, conditional row styling, custom cell rendering
- Minimal, beautiful styling out of the box, but easy to override
- No vendor lock-in: bring your own data, bring your own style
- Tiny bundle size
- Open source and MIT licensed
- TypeScript generics for flexible data typing
- Sorting, selection, pagination, expandable rows
- Conditional row styling and custom cell rendering
- Minimal, beautiful styling (customize as needed)
- No external UI dependencies
- Easy to use: just pass columns and data
npm install tablethingy
# or
yarn add tablethingy
# or
pnpm add tablethingyimport Table, { Column } from 'tablethingy';
const columns: Column<MyDataType>[] = [
{ header: 'Name', accessor: 'name', key: 'name' },
{ header: 'Age', accessor: 'age', key: 'age', sortable: true },
// ...
];
<Table columns={columns} data={myDataArray} />Run the interactive examples locally:
pnpm install
pnpm dev:examplesThen open http://localhost:5173/examples/index.html in your browser.
- Basic Table: Simple static data
- Custom Render Table: Custom cell rendering
- Complex Table: Sorting, selection, pagination, expandable subrows
- Conditional Row Styling: Multiple row highlight conditions, cell click handlers
See the GitHub repo for full API docs, advanced usage, and more examples.
pnpm installpnpm build
MIT