Skip to content

Track TanStack Table v9 compatibility for Data Grid #111

Description

@CarlosZiegler

Context

TanStack Table v9 has been released as latest for @tanstack/react-table (9.0.0). ReUI Data Grid currently targets the v8 API surface.

Relevant files inspected on main (c2f1dce):

  • package.json uses @tanstack/react-table: ^8.21.3
  • packages/registry/bases/base/components/data-grid/package.json uses ^8.21.3
  • packages/registry/bases/radix/components/data-grid/package.json uses ^8.21.3
  • content/docs/(components)/base/data-grid.mdx documents a React Compiler workaround specifically for TanStack Table v8 ("use no memo" around useReactTable)
  • registry-reui/bases/*/reui/data-grid/** imports v8 types/functions (Table<TData>, Column<TData>, flexRender, table.getState(), setColumnSizingInfo, column.pin("left"/"right"), etc.)
  • generated/public registry JSON currently lists @tanstack/react-table as an unversioned dependency in multiple Data Grid items

Why this matters

New shadcn registry installs can resolve unversioned @tanstack/react-table to v9, while ReUI's Data Grid source and examples still use v8 APIs. A full v9 migration is larger than a simple version bump:

  • useReactTable becomes useTable({ features, ... })
  • row models move into tableFeatures() slots
  • ColumnDef, Column, Table, Row, Cell, etc. get feature generics
  • pinning changes from physical left/right to logical start/end
  • columnSizingInfo becomes columnResizing
  • sorting/function registry names change (sortingFn/sortingFns -> sortFn/sortFns)
  • v8 React Compiler workaround docs likely need to be revisited once v9 is supported

Suggested path

Short-term compatibility fix:

  • Pin all registry dependencies for Data Grid and Filters entries to the supported v8 range, e.g. @tanstack/react-table@^8.21.3, so new installs do not accidentally pull v9.
  • Optionally add a docs note that Data Grid currently targets TanStack Table v8 until a v9-native migration lands.

Long-term migration:

  • Introduce explicit tableFeatures() definitions for the Data Grid feature set.
  • Replace v8-only APIs and type signatures across base/radix primitives and examples.
  • Rework pinning and sizing/resizing logic (left/right -> start/end, columnSizingInfo -> columnResizing).
  • Verify Data Grid examples covering sorting, filtering, pagination, selection, visibility, column resizing, pinning, row pinning, virtualization, DnD, infinite scroll, and tree rows.

I searched for existing issues mentioning TanStack Table v9 and did not find a duplicate.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions