Repository navigation
Conversation
The range selection change diverted every shift + key press away from normal handling, which broke shift + space row selection and shift + tab navigation even when enableRangeSelection was off. Only shift + arrow keys now extend the range, and only when range selection is enabled; the range mouse handlers are likewise only attached when it is enabled. Group rows no longer spread the range selection props onto their div (the TS2322 typecheck failure), and TreeDataGrid no longer leaks selectedCellsRange into group rows. The build toolchain floated to versions that no longer work: rolldown 1.x dropped cssEntryFileNames and CSS bundling, newer TanStack router rejects the route files, and newer rolldown-vite no longer pulls in esbuild for cssMinify. Pin rolldown and rolldown-plugin-dts exactly and commit a package-lock.json resolved as of 24 October 2025, so CI installs the toolchain the range selection change was written against. Also fix the ESLint warnings, keep Prettier off the generated lib/, add browser tests for the range selection keyboard behaviour and rebuild lib/.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CI has been red on
mainsince the range selection change (8ddaa7b). This gets every step passing again, and fixes a real keyboard regression along the way.Behaviour fix
handleKeyDownsent every shift + key press to the range selection branch, whether or notenableRangeSelectionwas set, so shift + space row selection and shift + tab navigation stopped working everywhere. Now only shift + arrow keys extend the range, and only when range selection is on; everything else goes through the normal navigation and input path. The range mouse handlers are also only attached when range selection is enabled.rangeSelectionModeand the capture handlers onto theirdiv(the TS2322 typecheck error), andTreeDataGridleakedselectedCellsRangeinto group rows. Both are fixed.test/browser/rangeSelection.test.tsxcovers shift + arrow with range selection both on and off. The existing keyboard navigation and shift + space tests pass unchanged.Toolchain
With no lockfile,
npm ihad drifted onto versions that no longer work: rolldown 1.x droppedcssEntryFileNamesand CSS bundling, newer TanStack router rejects the route files, and newer rolldown-vite no longer pulls in the esbuild thatcssMinify: 'esbuild'needs. I've pinnedrolldown(1.0.0-beta.35) androlldown-plugin-dts(0.16.12) exactly, and committed apackage-lock.jsonresolved withnpm install --before=2025-10-24. That locks CI to the toolchain the range selection change was written against, and stops it breaking again the next time something upstream moves./package-lock.jsoncomes out of.gitignoreas a result.lib/is rebuilt from the pinned toolchain, and a clean rebuild reproduces it byte for byte. Apart from the source changes, the only differences from the previouslib/are five/* @__PURE__ */comments inindex.jsand some deduplicatedreactimports inindex.d.ts. No published rolldown version reproduces the previous output exactly, and the upstream beta.58 tarball shows the same pattern.Smaller fixes
object-shorthandwarnings inDataGrid.tsxand theanyusage in the range selection demo./libis added to.prettierignore. It is generated output, and it used to be skipped only because it was gitignored.Known Firefox issue
resizable.test.tsx > should remeasure flex columns when resizing a columnfails locally in Firefox on sub-pixel column widths (101px 908.5pxagainst the hard-coded expected values). It fails the same way on upstream 12fb93e, so it is environmental rather than caused by this change. Everything else passes in both browsers.