@svgrid/grid
v1.2.15
Published
SvGrid - a headless-first, Svelte 5-native data grid engine and render component.
Maintainers
Readme
A production-grade data grid built from the first line for Svelte 5 runes - not a React grid wrapped in a Svelte shim. Compose the headless engine yourself, or drop in the full <SvGrid /> render component and ship. The MIT core has zero feature gating: no license key, no watermark, no row-count cap.
Install
Scaffold a working Vite + Svelte 5 app with SvGrid wired up:
npm create @svgrid@latestOr add it to an existing app:
npm install @svgrid/gridQuick start
<script lang="ts">
import { SvGrid, type ColumnDef } from '@svgrid/grid'
const rows = [
{ firstName: 'Ada', age: 36, status: 'active' },
{ firstName: 'Linus', age: 54, status: 'active' },
{ firstName: 'Grace', age: 85, status: 'inactive' },
]
const columns: ColumnDef<{}, (typeof rows)[number]>[] = [
{ field: 'firstName', header: 'First name' },
{ field: 'age', header: 'Age' },
{ field: 'status', header: 'Status' },
]
</script>
<SvGrid data={rows} columns={columns} />That is a real, accessible grid. Sorting, filtering, virtualization, cell selection, and inline editing all wire up the moment you turn on the matching prop.
Capabilities
- Virtualization - row + column windowing; 100k x 100 stays smooth, with a 1M-row demo.
- Filtering - Excel-style filter menu, inline filter row, set / value-list filter, locale-aware matching, between operators.
- Editing - 14 built-in
editorTypes (text, number, date, datetime, time, select, rich-select with typeahead, textarea, color, checkbox, list, chips, rating, password) plus acellEditorsnippet slot for anything custom. - Selection - cell-range click+drag and Shift+arrows, copy/paste as TSV, Excel-style fill handle, row selection.
- Hierarchy - row grouping with aggregation, tree data, master/detail, full-width detail rows.
- Layout - row + column pinning, sticky header + first column, header drag-to-reorder, autosize, column sizing API, zebra rows.
- Data operations - find in grid (Ctrl+F), undo / redo, transaction API, optimistic updates, server-side row model with sort / filter / group pushdown.
- Accessibility - WAI-ARIA grid roles, full keyboard navigation, RTL, high-contrast theme.
- Engineered for production - first-class TypeScript types, CSP / Trusted-Types safe rendering, SSR-friendly, themeable via
--sg-*CSS tokens. - Lean - ~7.5 KB gzipped headless core, ~42 KB gzipped full render component; Svelte stays a peer dependency.
Headless or render-ready
SvGrid ships two layers from one package, so you can choose how much control you want:
import {
// Drop-in render component
SvGrid,
// Headless engine + row-model factories
createSvGrid,
createCoreRowModel,
createFilteredRowModel,
createSortedRowModel,
createGroupedRowModel,
createExpandedRowModel,
createPaginatedRowModel,
// Feature modules
tableFeatures,
rowSortingFeature,
columnFilteringFeature,
columnGroupingFeature,
rowExpandingFeature,
rowPaginationFeature,
rowSelectionFeature,
// Cell renderers
renderSnippet,
renderComponent,
type ColumnDef,
type SvGridApi,
} from '@svgrid/grid'- Headless - drive
createSvGridand the row-model factories, render your own markup.getGrid*A11yPropshelpers keep custom markup accessible. - Render-ready -
<SvGrid />is a complete, accessible, themeable grid you configure with props.
Compatibility aliases are provided for the framework-neutral names: createGrid, createGridState, subscribeGrid.
AI-native
SvGrid publishes an MCP server and llms.txt / llms-full.txt, so Claude, Cursor, and Zed answer with accurate, version-pinned APIs and all 150+ demo sources as context - not hallucinated methods.
Enterprise
The MIT core is free for any use, including commercial. The optional @svgrid/enterprise pack adds Excel / PDF / CSV / TSV / HTML export, paginated print, pivot tables with a drag-and-drop Designer, and AI helpers. OSS projects receive an Enterprise key free. See Pricing.
Documentation
- Getting started - end-to-end walkthrough.
- 150+ live demos - copy-paste recipes for every feature.
- Why headless? - when to compose vs. drop in.
- Theming - re-skin via
--sg-*tokens and dark mode.
Who's behind it
SvGrid is built by jQWidgets, shipping UI components since 2011 to 5,000+ companies including Samsung, Boeing, NVIDIA, Microsoft, Nokia, and Intel. SvGrid is our Svelte 5 native effort.
License & trademark
The source code is MIT-licensed - see LICENSE. It is free for commercial use. SvGrid™ and sv-grid™ are trademarks of jQWidgets Ltd; the license covers the code only, not the name or logo.
