The MIT-licensed Handsontable. Excel-grade editing, modern DX, built for millions of rows.
| Package | Description | npm |
|---|---|---|
@gridsmith/core |
Headless core — state, editing engine, virtualization | |
@gridsmith/react |
React adapter | |
@gridsmith/ui |
Preset UI components | planned for 1.x |
pnpm add @gridsmith/reactimport { Grid } from '@gridsmith/react';
<Grid
data={rows}
columns={[
{ id: 'name', header: 'Name', editor: 'text' },
{ id: 'price', header: 'Price', editor: 'number' },
]}
/>;| Capability | Status |
|---|---|
| Cell editing (text / number / select / checkbox / date + custom editors) | ✅ |
| Range selection (single + multi-range, row, column) | ✅ |
| Excel-compatible clipboard (TSV + HTML copy / paste / cut) | ✅ |
| Fill handle with pattern detection (numbers, dates, sequences) | ✅ |
| Undo / redo (Command pattern with batch grouping) | ✅ |
| Sync + async cell validation | ✅ |
| Sort / filter (controlled or uncontrolled) | ✅ |
| Column resize, reorder, and left/right pinning | ✅ |
| Top / bottom row pinning | ✅ |
| Multi-level group headers | ✅ |
| Async data source + infinite scroll | ✅ |
| Change tracking (dirty cells, batch commit / revert) | ✅ |
| Full keyboard nav with IME-safe composition | ✅ |
| WAI-ARIA 1.2 grid pattern + screen-reader announcements | ✅ |
| Row + column virtualization (1M-row scrolling) | ✅ |
| MIT licensed — no Pro tier, ever | ✅ |
# Install dependencies
pnpm install
# Build all packages
pnpm turbo build
# Run tests
pnpm turbo test
# Start playground
pnpm playground:devFramework Adapters (@gridsmith/react)
Presets / UI Kit (@gridsmith/ui)
Editing Engine (selection, clipboard, fill, undo, validate)
Headless Core (state, columns, rows, sort, filter)
Renderer (DOM v1, Canvas v2)
Virtualization (rows + columns)
Data Source (sync, async)
See CONTRIBUTING.md for development setup and guidelines.