0.1.0 - 2026-09-08
First public release of JH Grid - a high-performance Canvas-based data grid built for large datasets. Renders millions of rows and columns with near-zero DOM overhead.
Highlights
Performance
- 2D virtual scrolling - only visible cells are ever drawn, smooth even at 1,000,000+ rows
- Rendering synced to your display’s native refresh rate (60Hz/120Hz/144Hz) via
requestAnimationFrame+ Canvas 2D, not capped at 60fps - Chunk-based async data loading with prefetch & LRU cache
- HiDPI / Retina display support
Editing & Interaction
- Cell / range selection, drag-fill, row selection (single/multi) with select-all header checkbox
- Double-click to edit, per-column editable/readonly control
- Copy/paste (Ctrl+C/V, TSV format), undo/redo (Ctrl+Z/Y)
- Row drag reorder, row/column CRUD with diff-friendly accessors
- Date / rich-text / image cell types, plus a pluggable
CellEditors/CellRenderersregistry for custom types - Declarative column validation (required/pattern/min/max/length/custom) with inline error display
- In-cell action buttons (
type: 'button')
Filtering, Sorting & Layout
- Per-column set filter + global quick filter
- Single-column sort
- Multi-level header groups, frozen columns (left/right)
- Column hide/show, resize, auto-fit
Theming & Accessibility
- Fully themeable via a single
themeobject +--jhg-*CSS custom properties - ARIA labeling, keyboard-navigable header/row focus, automatic high-contrast (
forced-colors) support - Built-in localization (
KO_I18N/JA_I18N/ZH_I18N) with per-key overrides and locale-aware number/date/currency formatting
Other
getState()/setState()for saving and restoring grid state- CSV export + print preview
- Zero dependencies
Browser Support
Chrome/Edge 92+, Firefox 90+, Safari 15.4+. No IE, no legacy Edge, no transpilation or polyfills. See docs/browser-support.md.
Installation
npm package coming soon - for now, use the static ES module or CDN build. See the README for both options.
```html