bolt-table
v0.1.44
Published
Virtualized React table with column drag & drop, pinning, resizing, sorting, filtering, and pagination.
Readme
bolt-table
A high-performance, zero-dependency* React table component. Only the rows visible in the viewport are ever in the DOM — making it fast for datasets of any size using TanStack Virtual.
Features
- Row & column virtualization
- Dynamic row heights
- Drag-to-reorder columns & rows
- Column pinning, resizing, hiding, picker & persistence
- Row pinning (sticky top/bottom)
- Global search & filter builder
- Sorting (multi-sort with Shift+click)
- Filtering (text, date range, number range)
- Pagination (client or server-side)
- Row selection (checkbox / radio)
- Expandable rows & master-detail
- Conditional formatting
- Row grouping with aggregations
- Tree data (hierarchical rows)
- Editable cells (text, number, select, date, toggle)
- Shimmer loading & infinite scroll
- AI mode (natural-language queries, insights, charts)
- Status bar, toolbar customization, custom icons
- Theme support (auto / light / dark)
- Mobile-friendly context menus (long-press)
- Nested / grouped columns
- Zero-config styling (inline CSS, no imports needed)
Installation
npm install bolt-table @tanstack/react-virtualQuick start
import { BoltTable, ColumnType } from 'bolt-table';
interface User {
id: string;
name: string;
email: string;
age: number;
}
const columns: ColumnType<User>[] = [
{ key: 'name', dataIndex: 'name', title: 'Name', width: 200 },
{ key: 'email', dataIndex: 'email', title: 'Email', width: 280 },
{ key: 'age', dataIndex: 'age', title: 'Age', width: 80 },
];
const data: User[] = [
{ id: '1', name: 'Alice', email: '[email protected]', age: 28 },
{ id: '2', name: 'Bob', email: '[email protected]', age: 34 },
{ id: '3', name: 'Charlie', email: '[email protected]', age: 22 },
];
export default function App() {
return (
<BoltTable<User>
columns={columns}
data={data}
rowKey="id"
/>
);
}Next.js (App Router)
'use client';
import { BoltTable } from 'bolt-table';Documentation
For the complete guide with interactive examples, props reference, and API docs visit bolt-table.vercel.app.
Type exports
import type {
ColumnType,
ColumnContextMenuItem,
CellContextMenuItem,
ColumnPersistenceConfig,
RowSelectionConfig,
RowPinningConfig,
ExpandableConfig,
PaginationType,
SortDirection,
DataRecord,
BoltTableIcons,
ConditionalFormatRule,
RowGroupingConfig,
AggregateFunction,
TreeDataConfig,
ClassNamesTypes,
StylesTypes,
AIResponse,
AIOperation,
BoltTableAIConfig,
BoltTableConfig,
} from 'bolt-table';License
MIT © Venkatesh Sirigineedi
