Changelog
The release history below is generated automatically from commit messages by
release-please and lives next to the source at
libs/grid/CHANGELOG.md.
Changelog
2.6.0 (2026-05-02)
Features
- adapters: add 10 missing grid events to vue & angular + drift guard (c524fbf)
- grid/pinned-rows: unified slots[] API (issue #255) (#257) (8a84f0d)
Bug Fixes
- grid/pinned-rows: render top slot wrappers when .header is nested in .rows-body (d781366)
- grid: allow features.editing=false to suppress missing-plugin validation (1025e66)
- grid: preserve runtime column state when same gridConfig reference is re-assigned (9652cd5)
- grid: register column-visibility event; restore adapter props (30dd280)
2.5.0 (2026-04-29)
Features
Bug Fixes
- grid-react,grid/editing: scope releaseCell cleanup by DOM and dedupe knowledge entry (PR #249 review) (f3f784a)
- grid,grid-react,grid-vue,grid-angular: release renderers and flush editors on cell teardown (#250) (3121b5f)
- grid,grid-react: release cells on pool shrink + clear, harden portal prune (#250) (5c22293)
- grid/editing: keep arrow keys in editor while row is in edit mode (fd0a9eb)
2.4.1 (2026-04-26)
Bug Fixes
- grid: address PR #248 second QA round (2cade7c)
- grid: address PR review on aria + e2e (PR #248) (e268521)
- grid: close a11y docs/code drift (7de5b0b)
- grid: cross-window move coordination for row-drag-drop via BroadcastChannel (927a4b6)
Enhancements
- grid: add missing dragFrom config, row-clone drag image, and cross-window BroadcastChannel coordination (2879631)
Performance Improvements
- filtering: cache column-by-field lookup map (ee52f1a)
2.4.0 (2026-04-25)
Features
- grid: AbortSignal cancellation for ServerSide getRows + Angular fromObservable bridge (#244) (d3a861a)
- grid: add export plugin data accessors and ExportMode parameter (#245) (dae9d76)
- grid: RowDragDropPlugin — drag rows within and across grids (#225) (#246) (4a22beb)
Bug Fixes
- grid: apply column state immediately when initialized to avoid silent re-apply on next reset (8f9904a)
- grid: honor gridConfig.sortHandler in TreePlugin and ServerSidePlugin local sort (73282b7)
- grid: paint row-selection border above pinned (sticky) cells via z-index (5ac5dc8)
- grid: preserve source row identity in TreePlugin.processRows (#241) (8f165bd)
2.3.0 (2026-04-22)
Features
- grid-vue: column shorthand + columnDefaults + plugin dep validation; add adapter-conformance (#237) (1f84ecc)
- grid: add ColumnConfig.lockPosition to lock per-column reordering (b5bfe77)
- grid: promote meta.* column flags to first-class ColumnConfig properties (5f6fb95)
- grid: promote utility column flag to public API, hide utility columns from print and reorder (1b06458)
Bug Fixes
- grid: expose applyColumnState() as public method (133a8be), closes #237
- grid: trigger row re-render from MultiSortPlugin on sort-clear via applyColumnState (4181fb7)
2.2.0 (2026-04-20)
Features
- grid: add column.valueAccessor as single source of truth for cell value resolution (#230) (33c10e7)
- grid: add loadThreshold for ServerSidePlugin prefetch (d0f9135)
- grid: add sortMode and filterMode for local sort/filter (#231) (17af7b7)
- grid: expose tbw-scroll CustomEvent for scroll-driven consumer use cases (#234) (259171e)
Bug Fixes
- grid: correct row count display for server-side data in pinned-rows (afda185)
- grid: server-side sort/filter blanking + filter unique-value fallback (8509857)
- when sourceRows is empty, treat processed count as the total. Treat processed < source as a custom-pipeline filter signal; otherwise default filteredRows to totalRows so the panel correctly hides when no filter is applied. (afda185)
2.1.1 (2026-04-17)
Bug Fixes
- grid: pinned-rows filteredRows now reflects externally filtered data (d9e6e04)
- grid: sanitize renderer & light-DOM HTML to prevent XSS (36e396f)
- grid: skip blank cells in numeric aggregators and number filter inputs (abfe4bf)
2.1.0 (2026-04-16)
Features
- grid: add config-driven dataSource to ServerSideConfig (6fccbd2)
2.0.0 (2026-04-16)
⚠ BREAKING CHANGES
- grid: Remove async
groups()callback androws()callback from GroupingRowsConfig. GroupingRows now uses ServerSidePlugin for server-side data via the datasource event bus. - grid: Remove standalone TreeDataSource, TreeGetRowsParams, TreeGetRowsResult types and dataSource/pageSize config options. Tree now uses ServerSidePlugin for server-side data via the datasource event bus (datasource:data, datasource:children, datasource:viewport-mapping).
- grid: ServerSideDataSource params renamed: startRow→startNode, endRow→endNode, totalRowCount→totalNodeCount, lastRow→lastNode. getTotalRowCount()/isRowLoaded() deprecated in favor of getTotalNodeCount()/isNodeLoaded().
- Remove ~106 deprecated APIs across grid core and all framework adapters.
Features
- grid: accessibility hardening — axe-core, live announcements, A11yConfig (#189) (d722e77)
- grid: add datasource integration to MasterDetail plugin (a3ad4f8)
- grid: add pre-defined group mode for server-side row grouping (#187) (8ffe759)
- grid: integrate GroupingRows plugin with unified DataSource architecture (7cebae0)
- grid: integrate Tree plugin with unified DataSource architecture (48c811a)
- grid: styled Excel export with cell formatting (#188) (e7b78db)
- grid: support lazy-loading tree data via TreeDataSource (#216) (61c46e5)
- grid: tree lazy child loading + serverside infinite scroll (lastNode) (78f4be3)
- remove deprecated APIs for v2 (#186) (c1b4a95)
Bug Fixes
- grid: pass grid reference in CellRenderContext for all render paths (f8ec228)
- grid: prevent event emission when DataGridElement is not connected (88648b3)
- grid: re-render tool panel content after plugin re-initialization (3552c94)
- grid: sort group headers alphabetically instead of by data row encounter order (4481072)
- grid: use filterValue extractor for all filter operators (5e1ef3c)
Performance Improvements
- grid: add comprehensive benchmarks for plugins, pipelines, and E2E regression (0850cd8)
- grid: compact internal constants and deduplicate keyboard helpers (d236f94)
- grid: eliminate redundant O(n) work in row update and sort hot paths (4ccf6cb)
- grid: optimize for better performance (de3cb0e)
- grid: optimize hot paths in master-detail, pivot, pinned-columns, and aggregators (96cc014)
Code Refactoring
- grid: unified datasource architecture for ServerSidePlugin (Phase 1) (c49e492)
1.31.3 (2026-04-15)
Bug Fixes
- grid,grid-angular: tooltip anchor guard and overlay editor init (4c71a0a)
- grid,grid-react: thread gridEl for multi-grid portal resolution (f18e397)
- grid: delegate sorting to render scheduler when processRows plugins are active (#212) (03af9c4)
- grid: fix tree plugin with pinned columns (#214) (a38c893)
1.31.2 (2026-04-13)
Bug Fixes
- grid: preserve grid DOM during shell refresh to retain event listeners (c53a12e)
1.31.1 (2026-04-13)
Bug Fixes
- grid: anchor filter panel to filter button instead of header cell (c87b73b)
- grid: sort set filter values numerically for number columns (#205) (0f616a5)
1.31.0 (2026-04-11)
Features
Bug Fixes
- grid: added missing pivot column sorting via header click (#183) (#184) (7ec66c0)
- grid: apply value formatting in pivot rendering, fix grand total in row model (de0eb2e)
- grid: stabilize row height when entering edit mode (ccf2a5e)
Enhancements
- grid: enhance pivot plugin with events, custom aggregators, sorting, and formatting (a70304b)
Performance Improvements
- grid: eliminate collectRows post-pass in grouping-rows tree build (e215913)
1.30.3 (2026-04-11)
Bug Fixes
- grid: correct row count for multi-level group headers (#179) (#181) (0af8672)
- grid: eliminate socket.dev security warnings from published bundle (022b052)
1.30.2 (2026-04-09)
Bug Fixes
- grid: add missing filterType augmented column option (907ff39)
1.30.1 (2026-04-08)
Bug Fixes
- grid: capture abort signal eagerly to prevent listener leak in filter panel (e7d23a6)
1.30.0 (2026-04-08)
Features
- grid: split explicit column group headers at pin boundaries (252083f)
Bug Fixes
- grid: column reorder visual update and FLIP animation direction (c2e73e4)
- grid: sticky positioning and group-end adjustments for better cell rendering during scroll (d4f884b)
Performance Improvements
- grid: replace ES6+ loop patterns with indexed for loops in hot paths (7806c58)
- grid: revert NodeList/native C++ optimizations that hurt speed (e9cfe31)
1.29.0 (2026-04-05)
Features
- grid: add public sort() API for programmatic single-column sorting (a5a475c)
Bug Fixes
- grid-vue,grid-react: close adapter API parity gaps (3ff3e9a)
- grid: prevent stale velocity from causing scroll after touch hold (92dca5f)
- grid: prevent sticky hover highlight on touch devices during scroll (82256fe)
Performance Improvements
- grid, docs: fair benchmark methodology and forceLayout optimization (81ccda3)
- grid, docs: optimize filter/sort pipeline and improve benchmark methodology (6f6f574)
- grid: column resize O(1) fast path + multiSort in-place sort (7aeb192)
- grid: in-place sort for internal paths, eliminating O(n) array copy (8b87261)
- grid: optimize filtering hot path with compiled predicates (6b5287a)
1.28.2 (2026-03-29)
Bug Fixes
- grid: add type anchors to feature modules for bundler compatibility (721e610)
- grid: make FeatureConfig reject unknown feature keys via sentinel type (19e4428)
1.28.1 (2026-03-26)
Bug Fixes
- grid,grid-angular: release editor components before re-render to prevent overlay leaks (a7b1315)
- grid: release editor DOM in fastPatchRow standard path before overwriting cell content (a91dc30)
Enhancements
- grid: clipboard copy-what-you-see using column format and DOM text (4798cab)
1.28.0 (2026-03-26)
Features
- grid: add TooltipPlugin with popover-based overflow tooltips (61fc11c)
Bug Fixes
- grid: sanitize icon HTML to prevent XSS via innerHTML (7c5a8e8)
1.27.2 (2026-03-25)
Bug Fixes
- grid: recompute excludedValues for
infilters when source data changes (edf50e9)
Enhancements
- grid: add filtering UX helpers — stale detection, set helpers, data ranges, blank toggle (#166, #167, #168, #169) (b5452a8)
1.27.1 (2026-03-23)
Bug Fixes
- grid: fix custom elements manifest for webcomponents.org compatibility (194ed8f)
1.27.0 (2026-03-22)
Features
- grid: enable master-detail and row-grouping plugins to work together (ea5461d)
- grid: fragment column groups when columns are reordered across boundaries (4b91a77)
- grid: make PinnedColumnsPlugin and GroupingColumnsPlugin compatible (d6a30e4)
- grid: support overlay label in per-column aggregation rows (ea5e3b3)
Bug Fixes
- grid: declare incompatible plugin combinations for row-model and server-side plugins (c46bc30)
- grid: downgrade TBW021 optional dependency diagnostic to console.debug (ecef0cd)
- grid: fix aggregation cell alignment shift from sticky label grid placement (360a853)
- grid: pin column group headers and fix group-end borders at pin boundaries (437eb54)
- grid: pin column group headers with their pinned columns (4e3e7b1)
- grid: prevent data columns from being absorbed into adjacent group headers (dadbf56)
- grid: recalculate virtual scroll height when theme changes row height (e833ac4)
- grid: remove stale responsive/groupingRows incompatibility — variable row heights now supported (7e1c13f)
- grid: replace unreliable children[0] with querySelector in plugins (a4b6fff)
- grid: separate resize handle hit area from visual width and freeze columns during resize (a80088e)
- grid: support group header drag in grid and fragment-aware visibility panel (f1d2d1c)
1.26.2 (2026-03-20)
Bug Fixes
- grid: recalculate scroll height when entering CSS-only responsive card mode (8d9f9b2)
1.26.1 (2026-03-19)
Bug Fixes
- grid: apply per-row —tbw-row-height override for variable-height mode (4e595da)
- grid: clean up changedRowIds on revert when dirtyTracking is disabled (2ff51b3)
- grid: prefer click target when focusing in editor (3c956a0)
- grid: re-evaluate per-cell editability on row recycle in grid edit mode (5c55ddd)
- grid: rectify variable row height and editor non-primitive handling (66b780d)
- grid: skip non-primitive values in template editor auto-update (f8d6d5d)
- grid: skip wheel intercept when native select picker is open (1d35f3a)
Enhancements
- grid: sort filter panel items with selected first (933c746)
1.26.0 (2026-03-17)
Features
- grid: add conditional editing via editable function and rowEditable (a5c814e)
Bug Fixes
- grid: support Shift+keyboard selection in row mode (44f2da4)
1.25.2 (2026-03-17)
Bug Fixes
- grid,grid-react,grid-vue: plug memory leaks in adapters, cache, and global handlers (c69c86d)
- grid: inline diagnostics into plugin bundles and add doc cross-links to errors.mdx (348ecd5)
Performance Improvements
- grid: cache hook checks, eliminate allocations in hot paths, O(1) row lookup (7b3e2d8)
1.25.1 (2026-03-16)
Bug Fixes
- lint error (7afaf44)
Enhancements
- grid,grid-react,grid-vue,grid-angular: allow columnGroups and per-group renderer in plugin config (91960a9)
1.25.0 (2026-03-15)
Features
- grid: add async overloads to queryGrid for safe post-upgrade access (ad1de81)
- grid: add keyboard navigation to context menu plugin (a0a089a)
- grid: implement missing ARIA accessibility features (2de584e)
- grid: include grid element ID in validation error messages (4491460)
Bug Fixes
- grid: bundle core/internal utils into plugins instead of externalizing (2800011)
- grid: fix touch scroll + responsive card height alignment (b39b035)
- grid: narrow externalizeCore exclusion to core/internal/utils only (c57d52e)
- grid: normalize string returns in rowClass/cellClass callbacks (1057db8)
- grid: preserve API-registered header content across config rebuilds (754dc7b)
- grid: preserve open panel content across full shell re-renders (bbdec39)
- grid: prevent browser from hijacking touch scroll gestures on mobile (6db4262)
- grid: re-render shell when tool panel position changes (bb47b62)
- grid: restore tool panel content after shell refresh and fix z-index stacking (2d9bdc7)
- grid: use single chevron icon with CSS rotation for accordion animation (1713217)
Enhancements
- grid-angular: migrate addEventListener to .on() API (0592112)
- grid-react: migrate addEventListener to .on() API (24ff2b2)
- grid: add data-change event for row data notifications (b94c4bc)
1.24.2 (2026-03-14)
Bug Fixes
- grid: close context menu on scroll and ensure cross-grid exclusivity (135e20c)
- grid: fix column reorder FLIP animation with async row rendering (f106993)
- grid: implement groupHeaderRenderer config (was dead API surface) (0fa419c)
1.24.1 (2026-03-13)
Bug Fixes
- docs: fix responsive manual control demo — get plugin lazily in click handlers (1038d67)
- grid: fix row reorder drag handles blocked by mousedown preventDefault (177c075)
- grid: prevent row height oscillation from mixed-height content (24ac596)
1.24.0 (2026-03-12)
Features
- grid: add declarative features API for plugin configuration (94fa3b4)
1.23.4 (2026-03-11)
Bug Fixes
- docs: remove duplicate h1 headers from all pages (ae24f73)
- grid-angular: use getPluginByName in adapter features (acfb512)
- grid-react: use getPluginByName in adapter features (69d00bf)
- grid-vue: use getPluginByName in adapter features and composable (f51808b)
- grid: recommend getPluginByName over getPlugin in docs and examples (042b58b)
1.23.3 (2026-03-08)
Bug Fixes
- grid: column group header spans over interleaved utility columns (49c5b59)
- grid: hidden columns CSS specificity in responsive card mode (f759d32)
- grid: import FOCUSABLE_EDITOR_SELECTOR locally in editing plugin (007cfc2)
1.23.2 (2026-03-03)
Bug Fixes
- grid: Prevent focus recursion in editing plugin (3485802)
- grid: recognize grid edit mode in ensureCellVisible focus logic (23fad26)
- grid: revert cell value on Escape in grid editing mode (ce1fc3c)
- grid: support in operator in filter panel excludedValues (8641e92)
1.23.1 (2026-03-02)
Bug Fixes
- grid: make filter column-state integration consistent via trackColumnState (7d9e067)
1.23.0 (2026-02-27)
Features
- grid: add nullable column config for editing plugin (af1af5e)
- grid: add tbw-row-dirty/tbw-row-new CSS classes for dirty tracking (bb5f653)
- grid: add transaction API to UndoRedoPlugin for compound undo/redo (b9d4132)
- grid: auto-mark inserted rows as new in dirty tracking (7b9d130)
- grid: expose baseline API on EditingPlugin (hasBaseline, baselines-captured event) (d91a59f)
- grid: implement dirty tracking in EditingPlugin (ccb7756)
Bug Fixes
- grid, grid-angular: preserve focus on undo/redo and notify editors of external value changes (596442a)
- grid: mark adapter editors as managed when factory returns void (e900a2d)
- grid: prevent updateRow from re-sorting on insertRow (cf292a7)
- grid: undo/redo during active editing — preventDefault, suppress feedback, focus cell (3170b57)
- grid: use deep comparison for dirty tracking baselines (56eef98)
- grid: use updateRow in UndoRedoPlugin for active editor sync (1e2d537)
1.22.1 (2026-02-25)
Bug Fixes
- grid: click-outside commit regression from containsFocus check (addb4dc)
1.22.0 (2026-02-25)
Features
- grid: add external focus container registry and focusTrap option (66cb973)
- grid: make getPluginByName type-safe and preferred plugin access method (a69afef)
Bug Fixes
- grid,grid-angular: stabilize overlay editor lifecycle during resize-triggered re-renders (e1da999)
1.21.2 (2026-02-24)
Bug Fixes
- grid,grid-angular: flush managed editors before clearing edit state (#142) (52b74e6)
- grid: include blank rows in set-filter panel for all columns (a607259)
Enhancements
- grid: add optional valueTo parameter to applySetFilter for metadata passthrough (5980e7a)
- grid: offer
currentFilterproperty to custom filterPanelRenderers so that they can pre-set values to currently set filters (3b407b5)
Performance Improvements
- grid: switch to terser minification, strip CSS comment from bundle (89f1131)
1.21.1 (2026-02-24)
Bug Fixes
- grid: correct sideEffects paths to match published package structure (c62c2f7)
1.21.0 (2026-02-23)
Features
- grid: auto-animate insertRow/removeRow, return Promises from animateRow (19980c8)
Bug Fixes
- grid: clear stale core _sortState when MultiSortPlugin owns sorting (4022d79)
1.20.0 (2026-02-23)
Features
- grid: add suspendProcessing() API and restore core sort in rebuildRowModel (0fede1f)
Bug Fixes
- grid: use visible-column index when resolving columns from data-col (1034a8a)
1.19.3 (2026-02-22)
Bug Fixes
- grid,grid-angular,grid-react,grid-vue: add typesVersions for Jest/CommonJS type resolution (#137) (cfdf327)
1.19.2 (2026-02-21)
Bug Fixes
- grid: plug memory leaks in framework adapter lifecycle (0612c88)
Performance Improvements
- grid: avoid destroying framework renderers on rows-only updates (c233dc7)
1.19.1 (2026-02-20)
Enhancements
- grid: add multiSelect option to SelectionPlugin (3a684b5)
1.19.0 (2026-02-20)
Features
- grid, grid-angular, grid-react, grid-vue: add getSelectedRows() to SelectionPlugin (a0bb977)
1.18.0 (2026-02-20)
Features
- grid: add BLANK_FILTER_VALUE sentinel, selected map, and batch unique extraction (1a40c05)
- grid: add filterValue column extractor for complex cell filtering (5944a45)
Bug Fixes
- grid: harden EditingPlugin row resolution against stale indices (0208b15)
- grid: keep focus on grid element during keyboard navigation (2d3c44a)
Enhancements
- grid: add data-type attribute to header cells (b57b873)
- grid: use column format function in filter panel display values (d1f284c)
1.17.0 (2026-02-18)
Features
- grid: add closeOnClickOutside option for tool panel sidebar (20e3c59)
Bug Fixes
- grid: fix stale sort indicators by enriching click events with column object (b0a79a5)
1.16.1 (2026-02-17)
Bug Fixes
- grid: ensure grid retains DOM focus for keyboard shortcuts after cell clicks (ffba5a6)
1.16.0 (2026-02-16)
Features
- grid: render context menu shortcuts as kbd key combos (a223915)
- grid: support shortcut key combos in context menu items (c0342c9)
Bug Fixes
- grid: allow ArrowUp/Down to reach editors in grid edit mode (05fa7c4)
- grid: check onBeforeEditClose for Escape in grid edit mode (846ac39)
- grid: handle null values correctly in set filter operators (in/notIn) (12a34dd)
- grid: ignore modified Enter key in editing keyboard handler (fc2f0ab)
- grid: preserve editors in grid edit mode on row reference change (04d21dc)
- grid: prevent editor memory leak via releaseCell lifecycle hook (00d2ef5)
- grid: support string widths (%, fr) in column template (99357d9)
1.15.0 (2026-02-15)
Features
- grid: add F2 keyboard shortcut for single-cell editing (836dd15)
- grid: add group drag-and-drop in visibility panel (67db4f6)
- grid: add plugin-contributed header context menu items (229d7d8)
- grid: grouped visibility panel via plugin query collaboration (a13290b)
- grid: reorder columns to grid edges on pin/unpin with position restore (77aa826)
Bug Fixes
- grid: collapse duplicate context menu separators and align icon placeholders (b2e0465)
- grid: fix test failures and update docs to use pinned property (295a6c8)
- grid: preserve column order when toggling visibility (91889c5)
- grid: use part attribute selector for header context menu (7f92ee9)
1.14.1 (2026-02-12)
Bug Fixes
- grid: invalidate filter cache when upstream plugins change row order (c0bb985)
- grid: selection plugin should not react to ctrl+a when editing. (a9f5d57)
- grid: use real DOM elements for row loading spinner (7cd2e4a)
Enhancements
- grid: add “show only blank” option to date filter panel (f6603c4)
1.14.0 (2026-02-11)
Features
- grid: add fullWidth support to pinned rows plugin (1c78d13)
- grid: add onValueChange to editors for cascade reactivity (c2be2b3)
- grid: bridge filterPanelRenderer in framework adapters (a526b28)
- grid: expose programmatic copy API with column/row options and extract shared data-collection utility (b447d56)
- grid: support dynamic label function in fullWidth aggregation rows (fb57ab1)
- grid: sync context-menu selection with query system + tests + docs (800c344)
Bug Fixes
- grid: null-safe the row animations api (064467b)
- grid: selection plugin should not hijack Esc when editing is in progress. (2f7d568)
Enhancements
- grid: add more extensibility for css using varialbes (fdb0b45)
1.13.0 (2026-02-10)
Features
- grid: add multi-select for row mode with Shift/Ctrl click and checkbox column (0f2f572)
Bug Fixes
- grid,themes: render selection borders inside cell padding box and fix Bootstrap focus variables (3a04a86)
- grid: added missing events for editing (00e1ec4)
- grid: improved the material theme (44141b0)
- grid: merge contiguous row selections into minimal ranges (f7fcb49)
- grid: preserve newline characters on built-in text editors (31d5274)
- grid: preserve null on blur for built-in text editor (73461f3)
- grid: sync selection state to focus (99e467e)
- theme: improved the bootstrap theme (f9b28ca)
Performance Improvements
- grid: reduce core bundle via import hint generation and sanitize deduplication (87f2f58)
1.12.1 (2026-02-09)
Bug Fixes
- grid: apply group-end class via afterCellRender hook for scroll (6bd7f76)
- grid: enable variable heights when plugins are added after connectedCallback (7bf4a3b)
- grid: re-setup scroll listeners when scroll plugins added dynamically (5a8a98b)
- grid: target .tbw-grid-root in ContextMenuPlugin instead of children[0] (2ebee96)
Performance Improvements
- grid: optimize scroll rendering and fix master-detail height measurement (0f5865d)
1.12.0 (2026-02-07)
Features
- grid: implement grid editing mode via afterCellRender hook (8f1ee4e)
- grid: implement variable row height virtualization (#55) (#119) (5b4efb7)
Bug Fixes
- grid: Allow escaping editing mode for fully editable grids (524a56d)
- grid: ensure output dirs exist before parallel plugin builds (ed153c0)
- grid: handle empty arrays in min/max aggregators (53f304c)
- grid: preserve toolbar buttons across full re-renders (80a3496)
Performance Improvements
- grid: prevent scrollbar jumpiness by caching scroll height (60a47b6)
1.11.0 (2026-02-06)
Features
- grid,grid-angular,grid-react,grid-vue: add onBeforeEditClose callback for overlay support (6a83c02)
Bug Fixes
- grid-angular: looser typing for editor params allowing custom editors to have more flexibility (94993d9)
- grid-angular: return undefined from createEditor when no template exists (63866eb)
- grid-angular: sync FormArray content changes & pass Space to editors (963072f)
- grid: add missing exports (6f3086f)
- grid: block grid keyboard navigation when onBeforeEditClose returns false (97fb2ba)
- grid: ensure Tab navigation scrolls focused cell into view while editing (1d5ee61)
- grid: skip DOM input reading for framework-managed editors (88f6770)
1.10.1 (2026-02-04)
Bug Fixes
- grid: apply typeDefaults to columns at config merge time (ecb6324)
1.10.0 (2026-02-03)
Features
- grid: add cell validation and cancelable row-commit (d8cc9ac)
Bug Fixes
- grid: add missing typed addEventListener overloads for grid events (e7cd0cd)
- grid: animate row by comparing snapshot to current value on edit close (90615d6)
- grid: preserve numeric type for custom column types during edit commit (b7cadd8)
- grid: preserve string date type during edit to prevent false change detection (6fd28fd)
1.9.2 (2026-02-03)
Bug Fixes
- grid: column virtualization scrolling and add requestColumnsRender API (9b3c67b)
1.9.1 (2026-02-02)
Bug Fixes
- grid: clip resize handle on last column to prevent horizontal overflow (bbbd891)
1.9.0 (2026-02-01)
Features
Bug Fixes
- grid: apply typeDefaults format function correctly in cell rendering (70b0b50)
- grid: fix missing light DOM configuration support to ResponsivePlugin (82820aa)
1.8.0 (2026-02-01)
Features
- grid: #83 plugin event bus query system (#107) (881c296)
- grid: add grid-wide resizable toggle (483d0f8)
1.7.0 (2026-01-30)
Features
1.6.2 (2026-01-29)
Bug Fixes
- grid: remove duplicate header from number/date filter panels (24978a3)
1.6.1 (2026-01-28)
Bug Fixes
- grid: fix pivot collapse-all bug and add row reorder animation (b12b809)
Enhancements
- themes: enhance built-in themes with polish and modern styling (767229f)
1.6.0 (2026-01-28)
Features
- grid: add format to typeDefaults and filterPanelRenderer via plugin augmentation (2be087e)
- grid: add gridConfig.filterable and gridConfig.selectable toggles (8876b42)
Bug Fixes
- grid,grid-angular,grid-react: add sortable config and rename sorting to multiSort (4522bfc)
- grid: filterpanel should differentiate on column type (2f4f174)
- grid: respect
--tbw-filter-item-heightCSS variable in filtering panel (98cca15)
1.5.0 (2026-01-27)
Features
- grid-angular: DX add tree-shakeable feature inputs and event outputs (757f8de)
- grid-react: Improving DX for react framework bridge (#98) (19ab6ae)
- grid: add accordion mode and full-width aggregators to GroupingRowsPlugin (2cec469)
- grid: expand defaultExpanded to support index, key, or array of keys (bb37d21)
Bug Fixes
- grid: defaultExpanded option now works in GroupingRowsPlugin (0511b19)
1.4.0 (2026-01-26)
Features
- grid-angular: #80 angular reactive forms integration (#94) (487118f)
- grid: add gridAriaLabel and gridAriaDescribedBy config options (a0c47a4)
- grid: add PrintPlugin for print layout mode (#70) (#93) (963b699)
- grid: header renderers (#81) (#91) (7b713bd)
1.3.1 (2026-01-26)
Bug Fixes
1.3.0 (2026-01-25)
Features
- grid: add isSelectable callback for conditional selection (#54) (#77) (4f5a381)
- grid: add Row Animation API (change/insert/remove) #73 (#78) (bda69f6)
- grid: EditingPlugin uses row animation system for cell commits (b7b5c97)
Bug Fixes
- grid: respect editable property during clipboard paste (86d96ac)
1.2.0 (2026-01-24)
Features
- grid: add afterCellRender plugin hook for efficient cell-level modifications (48c0b62)
- grid: add afterRowRender plugin hook for row-level modifications (0dc27aa)
- grid: add missing methods to PublicGrid interface for better DX (d38f1b8)
- grid: add row-reorder plugin (#75) (123294a)
Bug Fixes
- grid: ensure column groups render after shell refresh (70943ed)
- grid: preserve tbw-grid-detail and tbw-grid-responsive-card in shell rebuild (70943ed)
1.1.2 (2026-01-23)
Bug Fixes
- demo: disable responsive plugin when row grouping is enabled (3f4ad4e)
- grid: clear cached measurements when exiting responsive mode (e849b9f)
- grid: prevent infinite loop when responsive + grouping plugins combined (e677356)
- grid: properly reset row element state when recycling between plugins (548ef9c)
Performance Improvements
- grid: eliminate duplicate afterRender calls during render cycle (605991d)
- grid: reduce render cycles during initialization and mode switches (24e8c3c)
1.1.1 (2026-01-22)
Bug Fixes
- grid: skip group rows in ResponsivePlugin cardRenderer (b69e774)
1.1.0 (2026-01-22)
Features
- grid: add plugin manifest system for declarative validation (#59) (31874ee)
- grid: add ResponsivePlugin for card layout mode (#56) (#62) (98d8057)
- grid: add triggerOn option to SelectionPlugin (#53) (#61) (733d12f)
1.0.0 (2026-01-21)
⚠ BREAKING CHANGES
- grid: remove all deprecated APIs for v1.0.0
- grid: move editOn from core to EditingPlugin ownership
Features
- grid-angular: support component classes in column config (9c0bb3b)
- grid: add cell-click and row-click events for consumers (0e8366f)
- grid: add editorParams for built-in editor configuration (#49) (ef73c16)
- grid: add row update api (#51) (c75010c)
- grid: add type-level default renderers and editors (b13421d)
- grid: add unified cell-activate event with trigger discriminator (723eaf6)
- grid: support @group tags in typedoc-to-mdx script (1a0512b)
Miscellaneous
- grid: remove all deprecated APIs for v1.0.0 (16bdefa)
Code Refactoring
- grid: move editOn from core to EditingPlugin ownership (01d5708)
0.6.0 (2026-01-19)
Features
- grid: add cellClass and rowClass callbacks for dynamic styling (5a5121c)
- grid: add createGrid/queryGrid factory functions (c00fba0)
Bug Fixes
Performance Improvements
- grid: delegate row click/dblclick events (923ba46)
0.5.0 (2026-01-18)
Features
- grid: add vertical resize indicator line on column resize hover (ce42745)
- grid: extend column group borders through all data rows (75d8c2c)
- grid: implement CSS Cascade Layers for styling architecture (b0c5067)
- grid: refactor CSS variables to use base tokens and relative units (6ac52f4)
- grid: removed shadowDom to allow for easier styling of the grid (#42) (da1c6d4)
- grid: use CSS Anchor Positioning for filter panel with JS fallback (22a51da)
Bug Fixes
- editing: fix editing plugin not rendering custom editors properly. (e67adeb)
- grid: accumulate plugin styles across multiple grid instances (25d093a)
- grid: align filter panel to header cell instead of filter icon (7378677)
- grid: correct context menu conditional items story to use disabled function (f7e38bd)
- grid: ensure numeric widths are used for column resizing (5cd4076)
- grid: respect caseSensitive in filter panel search (1048336)
- reorder: column-move event must be emitted before actual move in order to cancel it (55a4026)
- visibility: account for utility columns in reorder index (d26d1ae)
0.4.2 (2026-01-17)
Bug Fixes
Enhancements
- streamlined DX for plugin development (f69dd4d)
0.4.1 (2026-01-16)
Enhancements
0.4.0 (2026-01-16)
Features
- grid: Moved editing capabilities out of core. This is now an opt-in plugin instead. (4e1ee94)
- grid: moved to a centralized configuration manager (06286e7)
Bug Fixes
- docs: Examples for angular. (2b9fdca)
- rendering: plugins did not render correctly after refactor (4dd6d12)
Enhancements
- docs: improved documentation with the opt-in and good and bad practice. (605d951)
- grid: added a centralized rendering pipeline to prevent race conditions in rendering. (8981998)
- grid: added a non-intrusive debug log. (16dc37a)
- grid: increased typesafety and documentation (bd63078)
0.3.3 (2026-01-12)
Bug Fixes
- docs: update README files for grid-angular, grid-react, and grid with new features and sponsorship links (6b12d8a)
- shell: escape HTML in shell header title to prevent XSS vulnerabilities (6b12d8a)
0.3.2 (2026-01-12)
Bug Fixes
- resolve lint errors and improve package documentation (2847835)
Enhancements
- docs: Improved documentation coverage (39b5626)
- grid-angular: improved developer ergonomics in creating grids (2d77f07)
- grid: framework and aria support (a7266c8)
0.3.1 (2026-01-10)
Bug Fixes
- lint errors (e4b93a6)
0.3.0 (2026-01-10)
Features
- added angular support through a separate wrapper package for the grid (baaa1ee)
- grid: unified resizable tool panel with accordion sections (44e13b7)
Bug Fixes
- added storybook url to npm (0561b97)
- column: resize broke after refactor. (9f6ffae)
- docs: fix logo links and default initial page (279969f)
- grid: add version attribute for debugging (#12) (d3a15e8)
- grid: added animation support (66e056a)
- grid: all.ts re-exports full core API + document icons config (69c7501)
- grid: ARIA compliance, keyboard nav, editing lifecycle, and virtualization (7600fec)
- grid: bugfixes for plugins so that the controls in the docs work as expected (cb9ced0)
- grid: editOn should be allowed to disable editing by setting
false(31c0ea7) - grid: erroneous link (08d747e)
- grid: GridElement interface to include focusRow/focusCol properties (#2) (a12a43f)
- grid: linting error (ffc68ce)
- grid: Potential fix for code scanning alert no. 6: Prototype-polluting assignment (#9) (ca361ca)
- grid: scroll bug when in datasets with less than 24 rows (e49206f)
- grid: viewRenderer cells not updating on row data change (e5aefde)
- keyboard: Home/End key behavior with pinned columns (e3e716c)
- release please config (87b25a9)
- scrolling moves selection (db11353)
- selection follows data during scroll, touch scrolling, sticky column drag (e6aefa1)
- selection: keyboard range selection (aa1842b)
- selection: Should not select cells when shift+tab’ing through the cells (b87324f)
- test (59c89d1)
Enhancements
- docs: added a demo page showcasing more complex grid examples (0d1f147)
- docs: Enhanced demo page (e61b8b8)
- docs: Open stories in fullscreen (b18a847)
- grid: add rowHeight configuration for virtualization and improve cell focus handling (cdec8bb)
- grid: added momentum scroll for touch devices (9c9b994)
- grid: Cleaned up public facing api. Properly marked internal members (6f03459)
- grid: implement async sorting and filtering handlers for server-side operations (530a9b6)
- grid: Implement inter-plugin communication (876ae8f)
- groupingColumns: Added a new gridConfig property to group columns by. (e88d44e)
- keyboard: enhance keyboard navigation with CTRL+Home/End functionality (2ff50d4)
0.2.8 (2026-01-05)
Bug Fixes
- grid: scroll bug when in datasets with less than 24 rows (e49206f)
0.2.7 (2026-01-04)
Bug Fixes
- grid: added animation support (66e056a)
Enhancements
- docs: added svg logo and favicon (2e25aea)
- grid: implement async sorting and filtering handlers for server-side operations (530a9b6)
0.2.6 (2026-01-03)
Bug Fixes
- grid: bugfixes for plugins so that the controls in the docs work as expected (cb9ced0)
- selection: keyboard range selection (aa1842b)
Enhancements
- grid: added momentum scroll for touch devices (9c9b994)
0.2.5 (2026-01-03)
Bug Fixes
- column: resize broke after refactor. (9f6ffae)
- docs: fix logo links and default initial page (279969f)
Enhancements
0.2.4 (2026-01-02)
Enhancements
- grid: Cleaned up public facing api. Properly marked internal members (6f03459)
0.2.3 (2026-01-01)
Bug Fixes
Enhancements
- grid: add rowHeight configuration for virtualization and improve cell focus handling (cdec8bb)
- grid: Implement inter-plugin communication (876ae8f)
- keyboard: enhance keyboard navigation with CTRL+Home/End functionality (2ff50d4)
0.2.2 (2025-12-31)
Bug Fixes
- grid: add version attribute for debugging (#12) (d3a15e8)
- grid: Potential fix for code scanning alert no. 6: Prototype-polluting assignment (#9) (ca361ca)
0.2.1 (2025-12-31)
Bug Fixes
- ci: move npm publish to release-please, run tests on PRs only (bc9a6b9)
- ci: run tests on release-please branch for status checks (#6) (c93372c)
0.2.0 (2025-12-31)
Features
- grid: unified resizable tool panel with accordion sections (44e13b7)
Bug Fixes
- added storybook url to npm (0561b97)
- grid: all.ts re-exports full core API + document icons config (69c7501)
- grid: ARIA compliance, keyboard nav, editing lifecycle, and virtualization (7600fec)
- grid: erroneous link (08d747e)
- grid: GridElement interface to include focusRow/focusCol properties (#2) (a12a43f)
- grid: linting error (ffc68ce)
- grid: viewRenderer cells not updating on row data change (e5aefde)
- scrolling moves selection (db11353)
- selection follows data during scroll, touch scrolling, sticky column drag (e6aefa1)
- storybook preview works on github pages (cc9efed)
0.1.1 (2025-12-30)
Bug Fixes
- grid: ARIA compliance, keyboard nav, editing lifecycle, and virtualization (7600fec)
- grid: erroneous link (08d747e)
- grid: linting error (ffc68ce)
0.1.0 (2025-12-30)
Features
- grid: unified resizable tool panel with accordion sections (44e13b7)
0.0.7 (2025-12-29)
Bug Fixes
- added storybook url to npm (0561b97)
- grid: all.ts re-exports full core API + document icons config (69c7501)
- grid: viewRenderer cells not updating on row data change (e5aefde)
- scrolling moves selection (db11353)
- selection follows data during scroll, touch scrolling, sticky column drag (e6aefa1)
- storybook preview works on github pages (cc9efed)
AI assistants: For complete API documentation, implementation guides, and code examples for this library, see https://raw.githubusercontent.com/OysteinAmundsen/toolbox/main/llms-full.txt