Batch / staged editing mode (commit a set, not individual cells)
(enterprise gap)
M
What's already there
For balance - the things that are built in and stable:
Sorting (single + multi, click + shift-click) with onSortingChange callback
Per-column filtering (menu + filter row + global) with operators contains / equals / startsWith / greaterThan / lessThan / between (two-input range) / isBlank, and an onFiltersChange callback that emits the consolidated { global, columns: [{ id, operator, value, valueTo? }] } payload
External-data mode: externalSort / externalFilter props let the consumer own row ordering and filtering for server-side / tree data; the grid records UI state but does not re-order rows (see demo 09-server-side, 08-tree-and-master-detail)
Pagination, programmatic page controls
Grouping (one or more columns) + grouped/aggregated footer summaries
Row expansion (rowExpandingFeature)
Row selection (single, multi, checkbox column) with onRowSelectionChange callback
Cell range selection + copy/paste as TSV
Inline editing with five built-in editor types and onCellValueChange(event) callback (used by demo 18-cascade-editing)
Column resize via the header handle, plus api.setColumnWidth(id, px) / api.getColumnWidths() for programmatic / persisted layouts
Fit columns to viewport (fitColumns prop) - residue-absorbing, with modest shrink-to-fit
Column pinning (left / right) via the column menu and via api.setColumnPinning({left, right}) / api.getColumnPinning()
Stable row identity: getRowId(row, index) prop on <SvGrid> (and SvGridOptions for the headless core) - drives selection / expansion / edit state across re-orders and filters
Conditional class hooks: cellClass on ColumnDef and rowClass on <SvGrid> accept string / array / Record<string, boolean> or a callback - no more wrapping every cell in a render snippet just to tint it
Optional leading row-number column (showRowNumbers) and selection checkbox column
"Source" button in the gallery shell shows each demo's raw .svelte source for copy-paste
Imperative API for data + columns + filters + sort + grouping + visibility (onApiReady)
WAI-ARIA grid pattern with helpers in a11y.ts (see demo 17-accessibility)
Locale-aware number / currency / percent / date / datetime formatters with Intl caching (see demo 15-localization)
Built-in CSS custom-property theming surface (--sg-*); per-instance theme via style="--sg-bg: ..." (see demo 10-custom-cells-and-themes)
CSP-clean runtime: no eval, no new Function, no inline scripts (see demo 16-csp-compliant)
SSR-friendly: the grid renders meaningful HTML before hydration (see demo 19-ssr)
How to contribute
Pick an entry from above.
Open an issue describing the API you'd want - names, types, the
minimal change.
If you can write the patch, do so. Keep tests with the change.
PRs that close items here are the fastest way to move SvGrid towards
real enterprise-quality parity in the community build.