feat(tables): add tree support - #1338
Conversation
🦋 Changeset detectedLatest commit: bdcaf1a The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📦 NPM canary releaseDeployed canary version 0.0.0-canary-d05b057. |
🧪 Storybook is successfully deployed!
|
🏋️ Size limit report
Compared against main at 11e8319 — run 32383738012, 2026-08-20T15:02:21Z.To see which modules changed, download the size-limit-statoscope-report artifact from this run and open report.html. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 914c99b. Configure here.

Summary
Verification
Note
High Risk
Touches core table rendering, selection, virtualization, and keyboard/ARIA behavior. Hierarchy-aware sort, search, pagination, ranges, and cascade selection can regress existing grids if the new paths leak into flat tables.
Overview
Adds opt-in nested rows to
ItemTableandDataTableviagetRowChildren, with controlled/uncontrolled expansion, React Ariatreegridsemantics, disclosure chrome, and hierarchy keyboard navigation (including virtualized focus).Shared
table-treeoperations make sort, search, pagination, virtualization, cell ranges, and drops hierarchy-aware. ItemTable multiple selection can cascade (or stay independent); DataTable sorts recursively per sibling group. Column reordering is ignored in tree mode;dropOnRowrejects self/descendant cycles.DataTable also accepts nested column groups for multi-row pivot headers (
scope="colgroup"/colSpan). Leaf columns still sort and resize; drag reordering is disabled while groups exist.Both tables gain
isAutoHeight, which shrink-wraps the frame to rendered rows, wins over flex/height sizing, and turns virtualization off. Bundle budget rises 505→510 kB; Button-only tree-shaking is unchanged.Reviewed by Cursor Bugbot for commit bdcaf1a. Bugbot is set up for automated code reviews on this repo. Configure here.