@tanstack/table-core 9.0.0-beta.7 → 9.0.0-beta.71
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/dist/core/cells/constructCell.d.ts +4 -6
- package/dist/core/cells/constructCell.js +4 -6
- package/dist/core/cells/coreCellsFeature.d.ts +1 -3
- package/dist/core/cells/coreCellsFeature.js +1 -2
- package/dist/core/cells/coreCellsFeature.types.d.ts +7 -9
- package/dist/core/cells/coreCellsFeature.utils.d.ts +5 -5
- package/dist/core/cells/coreCellsFeature.utils.js +1 -2
- package/dist/core/columns/constructColumn.d.ts +4 -6
- package/dist/core/columns/constructColumn.js +8 -9
- package/dist/core/columns/coreColumnsFeature.d.ts +1 -3
- package/dist/core/columns/coreColumnsFeature.js +13 -20
- package/dist/core/columns/coreColumnsFeature.types.d.ts +13 -15
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +10 -12
- package/dist/core/columns/coreColumnsFeature.utils.js +19 -20
- package/dist/core/coreFeatures.d.ts +3 -3
- package/dist/core/coreFeatures.js +1 -2
- package/dist/core/headers/buildHeaderGroups.d.ts +3 -5
- package/dist/core/headers/buildHeaderGroups.js +99 -85
- package/dist/core/headers/constructHeader.d.ts +3 -5
- package/dist/core/headers/constructHeader.js +4 -6
- package/dist/core/headers/coreHeadersFeature.d.ts +1 -3
- package/dist/core/headers/coreHeadersFeature.js +9 -13
- package/dist/core/headers/coreHeadersFeature.types.d.ts +21 -11
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +8 -8
- package/dist/core/headers/coreHeadersFeature.utils.js +14 -17
- package/dist/core/reactivity/coreReactivityFeature.types.d.ts +8 -3
- package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +1 -3
- package/dist/core/reactivity/coreReactivityFeature.utils.js +1 -2
- package/dist/core/reactivity/renderPhaseReactivity.d.ts +80 -0
- package/dist/core/reactivity/renderPhaseReactivity.js +95 -0
- package/dist/core/row-models/coreRowModelsFeature.d.ts +1 -3
- package/dist/core/row-models/coreRowModelsFeature.js +1 -2
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -17
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +17 -19
- package/dist/core/row-models/coreRowModelsFeature.utils.js +9 -28
- package/dist/core/row-models/createCoreRowModel.d.ts +3 -5
- package/dist/core/row-models/createCoreRowModel.js +27 -24
- package/dist/core/rows/constructRow.d.ts +3 -5
- package/dist/core/rows/constructRow.js +9 -13
- package/dist/core/rows/coreRowsFeature.d.ts +1 -3
- package/dist/core/rows/coreRowsFeature.js +20 -5
- package/dist/core/rows/coreRowsFeature.types.d.ts +42 -10
- package/dist/core/rows/coreRowsFeature.utils.d.ts +26 -9
- package/dist/core/rows/coreRowsFeature.utils.js +65 -14
- package/dist/core/table/constructTable.d.ts +2 -4
- package/dist/core/table/constructTable.js +52 -23
- package/dist/core/table/coreTablesFeature.d.ts +1 -3
- package/dist/core/table/coreTablesFeature.js +1 -2
- package/dist/core/table/coreTablesFeature.types.d.ts +56 -25
- package/dist/core/table/coreTablesFeature.utils.d.ts +34 -12
- package/dist/core/table/coreTablesFeature.utils.js +69 -24
- package/dist/experimental-worker-plugin.d.ts +5 -0
- package/dist/experimental-worker-plugin.js +6 -0
- package/dist/features/cell-selection/cellSelectionFeature.d.ts +8 -0
- package/dist/features/cell-selection/cellSelectionFeature.js +128 -0
- package/dist/features/cell-selection/cellSelectionFeature.types.d.ts +296 -0
- package/dist/features/cell-selection/cellSelectionFeature.utils.d.ts +306 -0
- package/dist/features/cell-selection/cellSelectionFeature.utils.js +873 -0
- package/dist/features/cell-selection/cellSelectionGeometry.js +121 -0
- package/dist/features/cell-spanning/cellSpanningFeature.d.ts +13 -0
- package/dist/features/cell-spanning/cellSpanningFeature.js +47 -0
- package/dist/features/cell-spanning/cellSpanningFeature.types.d.ts +150 -0
- package/dist/features/cell-spanning/cellSpanningFeature.utils.d.ts +74 -0
- package/dist/features/cell-spanning/cellSpanningFeature.utils.js +262 -0
- package/dist/features/column-faceting/columnFacetingFeature.d.ts +1 -3
- package/dist/features/column-faceting/columnFacetingFeature.js +13 -20
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -35
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +10 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +25 -14
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +2 -4
- package/dist/features/column-faceting/createFacetedMinMaxValues.js +9 -7
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +3 -5
- package/dist/features/column-faceting/createFacetedRowModel.js +12 -17
- package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +2 -4
- package/dist/features/column-faceting/createFacetedUniqueValues.js +12 -9
- package/dist/features/column-filtering/columnFilteringFeature.d.ts +1 -3
- package/dist/features/column-filtering/columnFilteringFeature.js +4 -5
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +85 -33
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +19 -17
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +33 -21
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -7
- package/dist/features/column-filtering/createFilteredRowModel.js +33 -29
- package/dist/features/column-filtering/filterFns.d.ts +208 -0
- package/dist/features/column-filtering/filterFns.js +374 -0
- package/dist/features/column-filtering/filterRowsUtils.js +4 -4
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +2 -4
- package/dist/features/column-grouping/columnGroupingFeature.js +7 -20
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -52
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -51
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -61
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +7 -7
- package/dist/features/column-grouping/createGroupedRowModel.js +69 -38
- package/dist/features/column-ordering/columnOrderingFeature.d.ts +1 -3
- package/dist/features/column-ordering/columnOrderingFeature.js +19 -24
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -5
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -16
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -18
- package/dist/features/column-pinning/columnPinningFeature.d.ts +7 -4
- package/dist/features/column-pinning/columnPinningFeature.js +126 -146
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +53 -44
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +100 -93
- package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -150
- package/dist/features/column-resizing/columnResizingFeature.d.ts +1 -3
- package/dist/features/column-resizing/columnResizingFeature.js +1 -2
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +2 -7
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +7 -9
- package/dist/features/column-resizing/columnResizingFeature.utils.js +86 -48
- package/dist/features/column-sizing/columnSizingFeature.d.ts +1 -3
- package/dist/features/column-sizing/columnSizingFeature.js +35 -70
- package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -11
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -27
- package/dist/features/column-sizing/columnSizingFeature.utils.js +95 -54
- package/dist/features/column-visibility/columnVisibilityFeature.d.ts +1 -3
- package/dist/features/column-visibility/columnVisibilityFeature.js +26 -38
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +4 -6
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +20 -20
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +32 -32
- package/dist/features/global-filtering/globalFilteringFeature.d.ts +1 -3
- package/dist/features/global-filtering/globalFilteringFeature.js +3 -4
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +4 -6
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -13
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +7 -8
- package/dist/features/row-aggregation/aggregationFns.d.ts +66 -0
- package/dist/features/row-aggregation/aggregationFns.js +279 -0
- package/dist/features/row-aggregation/rowAggregationFeature.d.ts +8 -0
- package/dist/features/row-aggregation/rowAggregationFeature.js +35 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +193 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.js +11 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +46 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.js +235 -0
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +3 -5
- package/dist/features/row-expanding/createExpandedRowModel.js +9 -13
- package/dist/features/row-expanding/rowExpandingFeature.d.ts +1 -3
- package/dist/features/row-expanding/rowExpandingFeature.js +1 -2
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +6 -17
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +11 -16
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +30 -33
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +3 -5
- package/dist/features/row-pagination/createPaginatedRowModel.js +7 -12
- package/dist/features/row-pagination/rowPaginationFeature.d.ts +1 -3
- package/dist/features/row-pagination/rowPaginationFeature.js +1 -2
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +5 -16
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +18 -20
- package/dist/features/row-pagination/rowPaginationFeature.utils.js +10 -17
- package/dist/features/row-pinning/rowPinningFeature.d.ts +1 -3
- package/dist/features/row-pinning/rowPinningFeature.js +5 -18
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +3 -5
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +8 -10
- package/dist/features/row-pinning/rowPinningFeature.utils.js +10 -16
- package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -3
- package/dist/features/row-selection/rowSelectionFeature.js +68 -25
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +51 -15
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +60 -35
- package/dist/features/row-selection/rowSelectionFeature.utils.js +142 -89
- package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -7
- package/dist/features/row-sorting/createSortedRowModel.js +71 -53
- package/dist/features/row-sorting/rowSortingFeature.d.ts +1 -3
- package/dist/features/row-sorting/rowSortingFeature.js +2 -2
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +61 -24
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +31 -22
- package/dist/features/row-sorting/rowSortingFeature.utils.js +51 -25
- package/dist/features/row-sorting/sortFns.d.ts +96 -0
- package/dist/features/row-sorting/sortFns.js +216 -0
- package/dist/features/stockFeatures.d.ts +7 -3
- package/dist/features/stockFeatures.js +7 -2
- package/dist/flex-render.d.ts +2 -4
- package/dist/flex-render.js +10 -3
- package/dist/helpers/columnHelper.d.ts +3 -5
- package/dist/helpers/columnHelper.js +1 -2
- package/dist/helpers/metaHelper.d.ts +25 -0
- package/dist/helpers/metaHelper.js +28 -0
- package/dist/helpers/tableFeatures.d.ts +35 -8
- package/dist/helpers/tableFeatures.js +33 -5
- package/dist/helpers/tableOptions.d.ts +1 -3
- package/dist/helpers/tableOptions.js +1 -2
- package/dist/index.d.ts +34 -27
- package/dist/index.js +10 -5
- package/dist/reactivity.d.ts +2 -1
- package/dist/reactivity.js +2 -1
- package/dist/static-functions.d.ts +12 -9
- package/dist/static-functions.js +12 -9
- package/dist/store-reactivity-bindings.d.ts +2 -4
- package/dist/store-reactivity-bindings.js +4 -5
- package/dist/types/Cell.d.ts +9 -5
- package/dist/types/Column.d.ts +13 -15
- package/dist/types/ColumnDef.d.ts +39 -21
- package/dist/types/Header.d.ts +3 -5
- package/dist/types/HeaderGroup.d.ts +3 -5
- package/dist/types/Row.d.ts +7 -7
- package/dist/types/RowModel.d.ts +11 -25
- package/dist/types/RowModelFns.d.ts +5 -7
- package/dist/types/Table.d.ts +29 -32
- package/dist/types/TableFeatures.d.ts +388 -24
- package/dist/types/TableOptions.d.ts +24 -14
- package/dist/types/TableState.d.ts +8 -8
- package/dist/types/type-utils.d.ts +10 -4
- package/dist/utils.d.ts +32 -26
- package/dist/utils.js +52 -32
- package/dist/worker/createTableWorker.d.ts +100 -0
- package/dist/worker/createTableWorker.js +185 -0
- package/dist/worker/createWorkerRowModel.d.ts +40 -0
- package/dist/worker/createWorkerRowModel.js +77 -0
- package/dist/worker/initTableWorker.d.ts +31 -0
- package/dist/worker/initTableWorker.js +99 -0
- package/dist/worker/rebuildRowModel.d.ts +11 -0
- package/dist/worker/rebuildRowModel.js +71 -0
- package/dist/worker/serializeRowModel.js +51 -0
- package/dist/worker/tableWorkerProtocol.d.ts +88 -0
- package/dist/worker/tableWorkerProtocol.js +26 -0
- package/package.json +12 -28
- package/skills/aggregation/SKILL.md +141 -0
- package/skills/api-not-found/SKILL.md +113 -0
- package/skills/cell-selection/SKILL.md +204 -0
- package/skills/cell-spanning/SKILL.md +162 -0
- package/skills/client-vs-server/SKILL.md +164 -0
- package/skills/column-faceting/SKILL.md +97 -0
- package/skills/column-filtering/SKILL.md +87 -0
- package/skills/column-ordering/SKILL.md +75 -0
- package/skills/column-pinning/SKILL.md +89 -0
- package/skills/column-resizing/SKILL.md +91 -0
- package/skills/column-sizing/SKILL.md +72 -0
- package/skills/column-visibility/SKILL.md +75 -0
- package/skills/core/SKILL.md +175 -0
- package/skills/custom-features/SKILL.md +235 -0
- package/skills/expanding/SKILL.md +80 -0
- package/skills/global-filtering/SKILL.md +84 -0
- package/skills/grouping/SKILL.md +51 -401
- package/skills/migrate-v8-to-v9/SKILL.md +275 -416
- package/skills/pagination/SKILL.md +37 -344
- package/skills/row-pinning/SKILL.md +47 -234
- package/skills/row-selection/SKILL.md +75 -302
- package/skills/sorting/SKILL.md +45 -303
- package/skills/table-features/SKILL.md +159 -0
- package/skills/typescript/SKILL.md +126 -0
- package/dist/core/cells/constructCell.cjs +0 -34
- package/dist/core/cells/constructCell.cjs.map +0 -1
- package/dist/core/cells/constructCell.d.cts +0 -17
- package/dist/core/cells/constructCell.js.map +0 -1
- package/dist/core/cells/coreCellsFeature.cjs +0 -21
- package/dist/core/cells/coreCellsFeature.cjs.map +0 -1
- package/dist/core/cells/coreCellsFeature.d.cts +0 -10
- package/dist/core/cells/coreCellsFeature.js.map +0 -1
- package/dist/core/cells/coreCellsFeature.types.d.cts +0 -57
- package/dist/core/cells/coreCellsFeature.utils.cjs +0 -57
- package/dist/core/cells/coreCellsFeature.utils.cjs.map +0 -1
- package/dist/core/cells/coreCellsFeature.utils.d.cts +0 -53
- package/dist/core/cells/coreCellsFeature.utils.js.map +0 -1
- package/dist/core/columns/constructColumn.cjs +0 -61
- package/dist/core/columns/constructColumn.cjs.map +0 -1
- package/dist/core/columns/constructColumn.d.cts +0 -16
- package/dist/core/columns/constructColumn.js.map +0 -1
- package/dist/core/columns/coreColumnsFeature.cjs +0 -70
- package/dist/core/columns/coreColumnsFeature.cjs.map +0 -1
- package/dist/core/columns/coreColumnsFeature.d.cts +0 -10
- package/dist/core/columns/coreColumnsFeature.js.map +0 -1
- package/dist/core/columns/coreColumnsFeature.types.d.cts +0 -94
- package/dist/core/columns/coreColumnsFeature.utils.cjs +0 -187
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +0 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +0 -119
- package/dist/core/columns/coreColumnsFeature.utils.js.map +0 -1
- package/dist/core/coreFeatures.cjs +0 -25
- package/dist/core/coreFeatures.cjs.map +0 -1
- package/dist/core/coreFeatures.d.cts +0 -26
- package/dist/core/coreFeatures.js.map +0 -1
- package/dist/core/headers/buildHeaderGroups.cjs +0 -103
- package/dist/core/headers/buildHeaderGroups.cjs.map +0 -1
- package/dist/core/headers/buildHeaderGroups.d.cts +0 -16
- package/dist/core/headers/buildHeaderGroups.js.map +0 -1
- package/dist/core/headers/constructHeader.cjs +0 -41
- package/dist/core/headers/constructHeader.cjs.map +0 -1
- package/dist/core/headers/constructHeader.d.cts +0 -22
- package/dist/core/headers/constructHeader.js.map +0 -1
- package/dist/core/headers/coreHeadersFeature.cjs +0 -55
- package/dist/core/headers/coreHeadersFeature.cjs.map +0 -1
- package/dist/core/headers/coreHeadersFeature.d.cts +0 -10
- package/dist/core/headers/coreHeadersFeature.js.map +0 -1
- package/dist/core/headers/coreHeadersFeature.types.d.cts +0 -106
- package/dist/core/headers/coreHeadersFeature.utils.cjs +0 -142
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +0 -1
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +0 -85
- package/dist/core/headers/coreHeadersFeature.utils.js.map +0 -1
- package/dist/core/reactivity/coreReactivityFeature.types.d.cts +0 -48
- package/dist/core/reactivity/coreReactivityFeature.utils.cjs +0 -24
- package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +0 -1
- package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +0 -24
- package/dist/core/reactivity/coreReactivityFeature.utils.js.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.cjs +0 -27
- package/dist/core/row-models/coreRowModelsFeature.cjs.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.d.cts +0 -10
- package/dist/core/row-models/coreRowModelsFeature.js.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +0 -41
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +0 -215
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +0 -153
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +0 -1
- package/dist/core/row-models/createCoreRowModel.cjs +0 -52
- package/dist/core/row-models/createCoreRowModel.cjs.map +0 -1
- package/dist/core/row-models/createCoreRowModel.d.cts +0 -15
- package/dist/core/row-models/createCoreRowModel.js.map +0 -1
- package/dist/core/rows/constructRow.cjs +0 -44
- package/dist/core/rows/constructRow.cjs.map +0 -1
- package/dist/core/rows/constructRow.d.cts +0 -15
- package/dist/core/rows/constructRow.js.map +0 -1
- package/dist/core/rows/coreRowsFeature.cjs +0 -37
- package/dist/core/rows/coreRowsFeature.cjs.map +0 -1
- package/dist/core/rows/coreRowsFeature.d.cts +0 -10
- package/dist/core/rows/coreRowsFeature.js.map +0 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +0 -99
- package/dist/core/rows/coreRowsFeature.utils.cjs +0 -192
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +0 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +0 -127
- package/dist/core/rows/coreRowsFeature.utils.js.map +0 -1
- package/dist/core/table/constructTable.cjs +0 -118
- package/dist/core/table/constructTable.cjs.map +0 -1
- package/dist/core/table/constructTable.d.cts +0 -22
- package/dist/core/table/constructTable.js.map +0 -1
- package/dist/core/table/coreTablesFeature.cjs +0 -17
- package/dist/core/table/coreTablesFeature.cjs.map +0 -1
- package/dist/core/table/coreTablesFeature.d.cts +0 -10
- package/dist/core/table/coreTablesFeature.js.map +0 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +0 -186
- package/dist/core/table/coreTablesFeature.utils.cjs +0 -96
- package/dist/core/table/coreTablesFeature.utils.cjs.map +0 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +0 -57
- package/dist/core/table/coreTablesFeature.utils.js.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.cjs +0 -61
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.d.cts +0 -10
- package/dist/features/column-faceting/columnFacetingFeature.js.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +0 -85
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +0 -103
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +0 -84
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +0 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +0 -44
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +0 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +0 -14
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +0 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs +0 -50
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +0 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +0 -15
- package/dist/features/column-faceting/createFacetedRowModel.js.map +0 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs +0 -41
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +0 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +0 -14
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.cjs +0 -50
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.d.cts +0 -10
- package/dist/features/column-filtering/columnFilteringFeature.js.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +0 -160
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +0 -212
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +0 -143
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +0 -110
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +0 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +0 -16
- package/dist/features/column-filtering/createFilteredRowModel.js.map +0 -1
- package/dist/features/column-filtering/filterRowsUtils.cjs +0 -81
- package/dist/features/column-filtering/filterRowsUtils.cjs.map +0 -1
- package/dist/features/column-filtering/filterRowsUtils.js.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.cjs +0 -67
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +0 -10
- package/dist/features/column-grouping/columnGroupingFeature.js.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +0 -165
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +0 -250
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +0 -190
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +0 -119
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +0 -1
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +0 -16
- package/dist/features/column-grouping/createGroupedRowModel.js.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +0 -58
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.d.cts +0 -10
- package/dist/features/column-ordering/columnOrderingFeature.js.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +0 -56
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +0 -172
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +0 -107
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.cjs +0 -221
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +0 -10
- package/dist/features/column-pinning/columnPinningFeature.js.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +0 -178
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +0 -585
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +0 -375
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.cjs +0 -41
- package/dist/features/column-resizing/columnResizingFeature.cjs.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.d.cts +0 -10
- package/dist/features/column-resizing/columnResizingFeature.js.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.types.d.cts +0 -81
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +0 -246
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +0 -109
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +0 -124
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.d.cts +0 -10
- package/dist/features/column-sizing/columnSizingFeature.js.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.types.d.cts +0 -96
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +0 -256
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +0 -182
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +0 -94
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.d.cts +0 -10
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +0 -97
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +0 -283
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +0 -189
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +0 -41
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.d.cts +0 -10
- package/dist/features/global-filtering/globalFilteringFeature.js.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +0 -71
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +0 -88
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +0 -74
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
- package/dist/features/row-expanding/createExpandedRowModel.cjs +0 -59
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +0 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +0 -21
- package/dist/features/row-expanding/createExpandedRowModel.js.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.cjs +0 -47
- package/dist/features/row-expanding/rowExpandingFeature.cjs.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.d.cts +0 -10
- package/dist/features/row-expanding/rowExpandingFeature.js.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +0 -127
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +0 -281
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +0 -191
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +0 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +0 -62
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +0 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +0 -15
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.cjs +0 -45
- package/dist/features/row-pagination/rowPaginationFeature.cjs.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.d.cts +0 -10
- package/dist/features/row-pagination/rowPaginationFeature.js.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +0 -135
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +0 -312
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +0 -218
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.cjs +0 -67
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.d.cts +0 -10
- package/dist/features/row-pinning/rowPinningFeature.js.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +0 -83
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +0 -229
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +0 -143
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +0 -75
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.d.cts +0 -10
- package/dist/features/row-selection/rowSelectionFeature.js.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +0 -136
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +0 -514
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +0 -318
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +0 -95
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +0 -1
- package/dist/features/row-sorting/createSortedRowModel.d.cts +0 -16
- package/dist/features/row-sorting/createSortedRowModel.js.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.cjs +0 -55
- package/dist/features/row-sorting/rowSortingFeature.cjs.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.d.cts +0 -10
- package/dist/features/row-sorting/rowSortingFeature.js.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +0 -188
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +0 -305
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +0 -193
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +0 -1
- package/dist/features/stockFeatures.cjs +0 -41
- package/dist/features/stockFeatures.cjs.map +0 -1
- package/dist/features/stockFeatures.d.cts +0 -41
- package/dist/features/stockFeatures.js.map +0 -1
- package/dist/flex-render.cjs +0 -29
- package/dist/flex-render.cjs.map +0 -1
- package/dist/flex-render.d.cts +0 -34
- package/dist/flex-render.js.map +0 -1
- package/dist/fns/aggregationFns.cjs +0 -161
- package/dist/fns/aggregationFns.cjs.map +0 -1
- package/dist/fns/aggregationFns.d.cts +0 -85
- package/dist/fns/aggregationFns.d.ts +0 -85
- package/dist/fns/aggregationFns.js +0 -151
- package/dist/fns/aggregationFns.js.map +0 -1
- package/dist/fns/filterFns.cjs +0 -201
- package/dist/fns/filterFns.cjs.map +0 -1
- package/dist/fns/filterFns.d.cts +0 -167
- package/dist/fns/filterFns.d.ts +0 -167
- package/dist/fns/filterFns.js +0 -185
- package/dist/fns/filterFns.js.map +0 -1
- package/dist/fns/sortFns.cjs +0 -130
- package/dist/fns/sortFns.cjs.map +0 -1
- package/dist/fns/sortFns.d.cts +0 -65
- package/dist/fns/sortFns.d.ts +0 -65
- package/dist/fns/sortFns.js +0 -122
- package/dist/fns/sortFns.js.map +0 -1
- package/dist/helpers/columnHelper.cjs +0 -41
- package/dist/helpers/columnHelper.cjs.map +0 -1
- package/dist/helpers/columnHelper.d.cts +0 -71
- package/dist/helpers/columnHelper.js.map +0 -1
- package/dist/helpers/tableFeatures.cjs +0 -20
- package/dist/helpers/tableFeatures.cjs.map +0 -1
- package/dist/helpers/tableFeatures.d.cts +0 -18
- package/dist/helpers/tableFeatures.js.map +0 -1
- package/dist/helpers/tableOptions.cjs +0 -15
- package/dist/helpers/tableOptions.cjs.map +0 -1
- package/dist/helpers/tableOptions.d.cts +0 -57
- package/dist/helpers/tableOptions.js.map +0 -1
- package/dist/index.cjs +0 -133
- package/dist/index.d.cts +0 -78
- package/dist/reactivity.cjs +0 -4
- package/dist/reactivity.d.cts +0 -3
- package/dist/static-functions.cjs +0 -263
- package/dist/static-functions.d.cts +0 -21
- package/dist/store-reactivity-bindings.cjs +0 -44
- package/dist/store-reactivity-bindings.cjs.map +0 -1
- package/dist/store-reactivity-bindings.d.cts +0 -22
- package/dist/store-reactivity-bindings.js.map +0 -1
- package/dist/types/Cell.d.cts +0 -14
- package/dist/types/Column.d.cts +0 -36
- package/dist/types/ColumnDef.d.cts +0 -109
- package/dist/types/Header.d.cts +0 -16
- package/dist/types/HeaderGroup.d.cts +0 -10
- package/dist/types/Row.d.cts +0 -26
- package/dist/types/RowModel.d.cts +0 -36
- package/dist/types/RowModelFns.d.cts +0 -18
- package/dist/types/Table.d.cts +0 -70
- package/dist/types/TableFeatures.d.cts +0 -53
- package/dist/types/TableOptions.d.cts +0 -69
- package/dist/types/TableState.d.cts +0 -48
- package/dist/types/type-utils.d.cts +0 -23
- package/dist/utils.cjs +0 -243
- package/dist/utils.cjs.map +0 -1
- package/dist/utils.d.cts +0 -114
- package/dist/utils.js.map +0 -1
- package/skills/column-definitions/SKILL.md +0 -333
- package/skills/column-layout/SKILL.md +0 -328
- package/skills/column-layout/references/subsystems.md +0 -220
- package/skills/customizing-feature-behavior/SKILL.md +0 -416
- package/skills/filtering/SKILL.md +0 -357
- package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
- package/skills/row-expanding/SKILL.md +0 -348
- package/skills/setup/SKILL.md +0 -400
- package/skills/state-management/SKILL.md +0 -388
- package/src/core/cells/constructCell.ts +0 -55
- package/src/core/cells/coreCellsFeature.ts +0 -27
- package/src/core/cells/coreCellsFeature.types.ts +0 -68
- package/src/core/cells/coreCellsFeature.utils.ts +0 -68
- package/src/core/columns/constructColumn.ts +0 -119
- package/src/core/columns/coreColumnsFeature.ts +0 -73
- package/src/core/columns/coreColumnsFeature.types.ts +0 -108
- package/src/core/columns/coreColumnsFeature.utils.ts +0 -275
- package/src/core/coreFeatures.ts +0 -31
- package/src/core/headers/buildHeaderGroups.ts +0 -182
- package/src/core/headers/constructHeader.ts +0 -67
- package/src/core/headers/coreHeadersFeature.ts +0 -56
- package/src/core/headers/coreHeadersFeature.types.ts +0 -125
- package/src/core/headers/coreHeadersFeature.utils.ts +0 -200
- package/src/core/reactivity/coreReactivityFeature.types.ts +0 -56
- package/src/core/reactivity/coreReactivityFeature.utils.ts +0 -44
- package/src/core/row-models/coreRowModelsFeature.ts +0 -62
- package/src/core/row-models/coreRowModelsFeature.types.ts +0 -64
- package/src/core/row-models/coreRowModelsFeature.utils.ts +0 -272
- package/src/core/row-models/createCoreRowModel.ts +0 -93
- package/src/core/rows/constructRow.ts +0 -66
- package/src/core/rows/coreRowsFeature.ts +0 -62
- package/src/core/rows/coreRowsFeature.types.ts +0 -117
- package/src/core/rows/coreRowsFeature.utils.ts +0 -264
- package/src/core/table/constructTable.ts +0 -172
- package/src/core/table/coreTablesFeature.ts +0 -19
- package/src/core/table/coreTablesFeature.types.ts +0 -216
- package/src/core/table/coreTablesFeature.utils.ts +0 -131
- package/src/features/column-faceting/columnFacetingFeature.ts +0 -89
- package/src/features/column-faceting/columnFacetingFeature.types.ts +0 -109
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +0 -145
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +0 -66
- package/src/features/column-faceting/createFacetedRowModel.ts +0 -85
- package/src/features/column-faceting/createFacetedUniqueValues.ts +0 -66
- package/src/features/column-filtering/columnFilteringFeature.ts +0 -86
- package/src/features/column-filtering/columnFilteringFeature.types.ts +0 -232
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +0 -331
- package/src/features/column-filtering/createFilteredRowModel.ts +0 -183
- package/src/features/column-filtering/filterRowsUtils.ts +0 -157
- package/src/features/column-grouping/columnGroupingFeature.ts +0 -115
- package/src/features/column-grouping/columnGroupingFeature.types.ts +0 -226
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +0 -354
- package/src/features/column-grouping/createGroupedRowModel.ts +0 -220
- package/src/features/column-ordering/columnOrderingFeature.ts +0 -73
- package/src/features/column-ordering/columnOrderingFeature.types.ts +0 -60
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +0 -241
- package/src/features/column-pinning/columnPinningFeature.ts +0 -316
- package/src/features/column-pinning/columnPinningFeature.types.ts +0 -192
- package/src/features/column-pinning/columnPinningFeature.utils.ts +0 -908
- package/src/features/column-resizing/columnResizingFeature.ts +0 -65
- package/src/features/column-resizing/columnResizingFeature.types.ts +0 -89
- package/src/features/column-resizing/columnResizingFeature.utils.ts +0 -364
- package/src/features/column-sizing/columnSizingFeature.ts +0 -145
- package/src/features/column-sizing/columnSizingFeature.types.ts +0 -102
- package/src/features/column-sizing/columnSizingFeature.utils.ts +0 -381
- package/src/features/column-visibility/columnVisibilityFeature.ts +0 -122
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +0 -112
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +0 -384
- package/src/features/global-filtering/globalFilteringFeature.ts +0 -65
- package/src/features/global-filtering/globalFilteringFeature.types.ts +0 -91
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +0 -118
- package/src/features/row-expanding/createExpandedRowModel.ts +0 -82
- package/src/features/row-expanding/rowExpandingFeature.ts +0 -94
- package/src/features/row-expanding/rowExpandingFeature.types.ts +0 -147
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +0 -374
- package/src/features/row-pagination/createPaginatedRowModel.ts +0 -83
- package/src/features/row-pagination/rowPaginationFeature.ts +0 -95
- package/src/features/row-pagination/rowPaginationFeature.types.ts +0 -152
- package/src/features/row-pagination/rowPaginationFeature.utils.ts +0 -400
- package/src/features/row-pinning/rowPinningFeature.ts +0 -97
- package/src/features/row-pinning/rowPinningFeature.types.ts +0 -95
- package/src/features/row-pinning/rowPinningFeature.utils.ts +0 -323
- package/src/features/row-selection/rowSelectionFeature.ts +0 -140
- package/src/features/row-selection/rowSelectionFeature.types.ts +0 -151
- package/src/features/row-selection/rowSelectionFeature.utils.ts +0 -745
- package/src/features/row-sorting/createSortedRowModel.ts +0 -157
- package/src/features/row-sorting/rowSortingFeature.ts +0 -103
- package/src/features/row-sorting/rowSortingFeature.types.ts +0 -235
- package/src/features/row-sorting/rowSortingFeature.utils.ts +0 -489
- package/src/features/stockFeatures.ts +0 -53
- package/src/flex-render.ts +0 -70
- package/src/fns/aggregationFns.ts +0 -245
- package/src/fns/filterFns.ts +0 -382
- package/src/fns/sortFns.ts +0 -240
- package/src/helpers/columnHelper.ts +0 -122
- package/src/helpers/tableFeatures.ts +0 -24
- package/src/helpers/tableOptions.ts +0 -117
- package/src/index.ts +0 -138
- package/src/process-env.d.ts +0 -6
- package/src/reactivity.ts +0 -2
- package/src/static-functions.ts +0 -31
- package/src/store-reactivity-bindings.ts +0 -47
- package/src/types/Cell.ts +0 -21
- package/src/types/Column.ts +0 -51
- package/src/types/ColumnDef.ts +0 -228
- package/src/types/Header.ts +0 -23
- package/src/types/HeaderGroup.ts +0 -13
- package/src/types/Row.ts +0 -34
- package/src/types/RowModel.ts +0 -98
- package/src/types/RowModelFns.ts +0 -32
- package/src/types/Table.ts +0 -91
- package/src/types/TableFeatures.ts +0 -101
- package/src/types/TableOptions.ts +0 -101
- package/src/types/TableState.ts +0 -47
- package/src/types/type-utils.ts +0 -84
- package/src/utils.ts +0 -441
|
@@ -1,495 +1,354 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: migrate-v8-to-v9
|
|
3
3
|
description: >
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
→ `createSortedRowModel(sortFns)`; same for filtered/paginated/grouped/expanded/
|
|
11
|
-
faceted), `table.getState()` → `table.store.state` / `table.atoms.<slice>.get()`,
|
|
12
|
-
sorting renames (`sortingFn` → `sortFn`, etc.), `enablePinning` split, column
|
|
13
|
-
sizing/resizing split, underscore-prefixed APIs becoming public, `RowData`
|
|
14
|
-
type tightening, TFeatures-first generics, the `useLegacyTable` React escape
|
|
15
|
-
hatch (deprecated, removed in v10), and the `stockFeatures` v8-style "everything
|
|
16
|
-
on" registry.
|
|
17
|
-
type: lifecycle
|
|
18
|
-
library: tanstack-table
|
|
19
|
-
library_version: '9.0.0-alpha.48'
|
|
20
|
-
requires:
|
|
21
|
-
- setup
|
|
22
|
-
- state-management
|
|
23
|
-
- column-definitions
|
|
4
|
+
Perform a complete TanStack Table v8-to-v9 migration audit: feature registration, row-model and function-registry slots, state/store changes, prototype methods, column pinning and resizing renames, sorting and selection semantics, removed internals, helpers, meta typing, and generic changes. Load this shared inventory before the installed framework adapter's migration skill.
|
|
5
|
+
metadata:
|
|
6
|
+
type: lifecycle
|
|
7
|
+
library: '@tanstack/table-core'
|
|
8
|
+
library_version: '9.0.0-beta.71'
|
|
9
|
+
requires: ['core', 'table-features', 'typescript']
|
|
24
10
|
sources:
|
|
25
|
-
- TanStack/table:docs/framework/
|
|
26
|
-
- TanStack/table:docs/framework/
|
|
27
|
-
- TanStack/table:
|
|
11
|
+
- 'TanStack/table:docs/framework/react/guide/migrating.md'
|
|
12
|
+
- 'TanStack/table:docs/framework/preact/guide/migrating.md'
|
|
13
|
+
- 'TanStack/table:docs/framework/solid/guide/migrating.md'
|
|
14
|
+
- 'TanStack/table:docs/framework/svelte/guide/migrating.md'
|
|
15
|
+
- 'TanStack/table:docs/framework/vue/guide/migrating.md'
|
|
16
|
+
- 'TanStack/table:docs/framework/angular/guide/migrating.md'
|
|
17
|
+
- 'TanStack/table:docs/framework/lit/guide/migrating.md'
|
|
18
|
+
- 'TanStack/table:packages/table-core/src/index.ts'
|
|
19
|
+
- 'TanStack/table:packages/table-core/src/types/TableFeatures.ts'
|
|
20
|
+
- 'TanStack/table:packages/table-core/src/features/column-pinning/columnPinningFeature.types.ts'
|
|
21
|
+
- 'TanStack/table:packages/table-core/src/features/column-resizing/columnResizingFeature.types.ts'
|
|
22
|
+
- 'TanStack/table:packages/react-table/src/legacy.ts'
|
|
28
23
|
---
|
|
29
24
|
|
|
30
|
-
|
|
25
|
+
Apply this complete shared inventory before loading the installed adapter's `migrate-v8-to-v9` skill. The adapter skill owns hook/controller construction, reactive inputs, rendering helpers, and framework subscription APIs.
|
|
31
26
|
|
|
32
|
-
|
|
27
|
+
## Migration strategy
|
|
33
28
|
|
|
34
|
-
1.
|
|
35
|
-
2.
|
|
36
|
-
3.
|
|
37
|
-
4.
|
|
38
|
-
5.
|
|
39
|
-
6.
|
|
40
|
-
7. **`enablePinning` split** into `enableColumnPinning` + `enableRowPinning` (table-level); per-column `enablePinning` stays.
|
|
41
|
-
8. **Column resizing split out** of column sizing. `columnSizingInfo` state → `columnResizing`. `onColumnSizingInfoChange` → `onColumnResizingChange`.
|
|
42
|
-
9. **Underscore-prefixed APIs are public now** — drop the `_` prefix (`row._getAllCellsByColumnId()` → `row.getAllCellsByColumnId()`, `table._getFacetedRowModel()` → public, etc.).
|
|
43
|
-
10. **Generics now lead with `TFeatures`** — `Column<TFeatures, TData, TValue>`, `Row<TFeatures, TData>`, `ColumnMeta<TFeatures, TData, TValue>`.
|
|
44
|
-
11. **`RowData` tightened** from `unknown | object | any[]` to `Record<string, any> | Array<any>`.
|
|
45
|
-
12. **`data` and `columns` are readonly** in v9 — flow changes through state, don't mutate.
|
|
29
|
+
1. Make the v8 table pass its existing tests before changing it.
|
|
30
|
+
2. Migrate construction and features while preserving behavior.
|
|
31
|
+
3. Let TypeScript expose missing features and stale names.
|
|
32
|
+
4. Migrate state ownership and rendering through the adapter skill.
|
|
33
|
+
5. Test every enabled client/server row-model stage and interaction.
|
|
34
|
+
6. Replace temporary `stockFeatures` usage with explicit features when practical.
|
|
46
35
|
|
|
47
|
-
|
|
36
|
+
Treat `useLegacyTable` as a deprecated, React-only emergency bridge. It bundles every feature, can exceed the v8 bundle, and must not become the target architecture. Import it only from `@tanstack/react-table/legacy` when an existing incremental migration requires it.
|
|
48
37
|
|
|
49
|
-
##
|
|
50
|
-
|
|
51
|
-
### Full v9 equivalent for the most common v8 shape
|
|
38
|
+
## Minimal v9 shape
|
|
52
39
|
|
|
53
40
|
```ts
|
|
54
|
-
// === v9 (correct) ===
|
|
55
41
|
import {
|
|
56
|
-
useTable,
|
|
57
|
-
tableFeatures,
|
|
58
|
-
rowSortingFeature,
|
|
59
|
-
rowPaginationFeature,
|
|
60
|
-
columnFilteringFeature,
|
|
61
|
-
columnSizingFeature,
|
|
62
|
-
columnResizingFeature,
|
|
63
|
-
createColumnHelper,
|
|
64
|
-
createSortedRowModel,
|
|
65
42
|
createFilteredRowModel,
|
|
66
|
-
|
|
67
|
-
sortFns,
|
|
68
|
-
filterFns,
|
|
69
|
-
} from '@tanstack/react-table'
|
|
70
|
-
import type { ColumnDef } from '@tanstack/react-table'
|
|
71
|
-
|
|
72
|
-
const features = tableFeatures({
|
|
73
|
-
rowSortingFeature,
|
|
74
|
-
rowPaginationFeature,
|
|
43
|
+
createSortedRowModel,
|
|
75
44
|
columnFilteringFeature,
|
|
76
|
-
|
|
77
|
-
columnResizingFeature, // explicit — formerly part of ColumnSizing
|
|
78
|
-
})
|
|
79
|
-
|
|
80
|
-
const columnHelper = createColumnHelper<typeof features, Person>()
|
|
81
|
-
|
|
82
|
-
const columns: ColumnDef<typeof features, Person>[] = columnHelper.columns([
|
|
83
|
-
columnHelper.accessor('name', {
|
|
84
|
-
header: 'Name',
|
|
85
|
-
sortFn: 'alphanumeric', // renamed from sortingFn
|
|
86
|
-
}),
|
|
87
|
-
])
|
|
88
|
-
|
|
89
|
-
const table = useTable({
|
|
90
|
-
features,
|
|
91
|
-
rowModels: {
|
|
92
|
-
sortedRowModel: createSortedRowModel(sortFns),
|
|
93
|
-
filteredRowModel: createFilteredRowModel(filterFns),
|
|
94
|
-
paginatedRowModel: createPaginatedRowModel(),
|
|
95
|
-
},
|
|
96
|
-
columns,
|
|
97
|
-
data,
|
|
98
|
-
enableColumnPinning: true, // split from enablePinning
|
|
99
|
-
enableRowPinning: true,
|
|
100
|
-
})
|
|
101
|
-
|
|
102
|
-
// State reads
|
|
103
|
-
const allState = table.store.state // full snapshot
|
|
104
|
-
const sorting = table.atoms.sorting.get() // per-slice atom
|
|
105
|
-
const cells = row.getAllCellsByColumnId() // no underscore
|
|
106
|
-
|
|
107
|
-
// Rendering
|
|
108
|
-
// <table.FlexRender header={header} />
|
|
109
|
-
// <table.FlexRender cell={cell} />
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
### v8 muscle-memory anti-shape
|
|
113
|
-
|
|
114
|
-
```ts
|
|
115
|
-
// === v8 muscle memory — every line is broken in v9. ===
|
|
116
|
-
import {
|
|
117
|
-
useReactTable, // (1) renamed → useTable
|
|
118
|
-
getCoreRowModel, // (2) no longer a root option
|
|
119
|
-
getFilteredRowModel, // move to rowModels as factories
|
|
120
|
-
getSortedRowModel, // createSortedRowModel(sortFns) etc.
|
|
121
|
-
getPaginationRowModel,
|
|
122
|
-
createColumnHelper, // (3) needs <TFeatures, TData> now
|
|
123
|
-
sortingFns, // (4) renamed → sortFns
|
|
124
|
-
filterFns,
|
|
125
|
-
flexRender, // still exists, prefer table.FlexRender
|
|
126
|
-
} from '@tanstack/react-table'
|
|
127
|
-
import type { ColumnDef, Row } from '@tanstack/react-table'
|
|
128
|
-
|
|
129
|
-
const columnHelper = createColumnHelper<Person>() // wrong arity
|
|
130
|
-
|
|
131
|
-
const columns: ColumnDef<Person>[] = [
|
|
132
|
-
// (5) ColumnDef<TFeatures, TData, TValue> now
|
|
133
|
-
{ accessorKey: 'name', header: 'Name', sortingFn: 'alphanumeric' }, // (6) renamed → sortFn
|
|
134
|
-
]
|
|
135
|
-
|
|
136
|
-
const table = useReactTable({
|
|
137
|
-
columns,
|
|
138
|
-
data,
|
|
139
|
-
getCoreRowModel: getCoreRowModel(), // (2) move into rowModels
|
|
140
|
-
getFilteredRowModel: getFilteredRowModel(),
|
|
141
|
-
getSortedRowModel: getSortedRowModel(),
|
|
142
|
-
getPaginationRowModel: getPaginationRowModel(),
|
|
143
|
-
filterFns, // (7) no longer a root option
|
|
144
|
-
sortingFns, // (4)+(7)
|
|
145
|
-
enablePinning: true, // (8) split → enableColumnPinning / enableRowPinning
|
|
146
|
-
onColumnSizingInfoChange: setInfo, // (9) renamed → onColumnResizingChange
|
|
147
|
-
})
|
|
148
|
-
|
|
149
|
-
const all = table.getState() // (10) → table.store.state
|
|
150
|
-
const cells = row._getAllCellsByColumnId() // underscore removed
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### Transitional `useLegacyTable` (React only)
|
|
154
|
-
|
|
155
|
-
```ts
|
|
156
|
-
import {
|
|
157
|
-
useLegacyTable,
|
|
158
|
-
getCoreRowModel,
|
|
159
|
-
legacyCreateColumnHelper,
|
|
160
|
-
} from '@tanstack/react-table/legacy'
|
|
161
|
-
|
|
162
|
-
const legacyHelper = legacyCreateColumnHelper<Person>()
|
|
163
|
-
const legacyTable = useLegacyTable({
|
|
164
|
-
columns,
|
|
165
|
-
data,
|
|
166
|
-
getCoreRowModel: getCoreRowModel(),
|
|
167
|
-
})
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
This accepts the v8 shape on top of the v9 engine. Deprecated, ships every feature, no `table.Subscribe`, no atoms. Removed in v10. Use to unblock incremental migration only — not as a long-term API. Angular has no `useLegacyTable` equivalent; Angular projects must migrate directly.
|
|
171
|
-
|
|
172
|
-
## Common Mistakes
|
|
173
|
-
|
|
174
|
-
### [CRITICAL] Hallucinating react-table v7 / pre-v9 API names
|
|
175
|
-
|
|
176
|
-
Wrong:
|
|
177
|
-
|
|
178
|
-
```ts
|
|
179
|
-
// v7
|
|
180
|
-
import { useTable, useSortBy } from 'react-table'
|
|
181
|
-
const table = useTable({ columns, data }, useSortBy)
|
|
182
|
-
|
|
183
|
-
// v8
|
|
184
|
-
import { useReactTable, getCoreRowModel } from '@tanstack/react-table'
|
|
185
|
-
const table = useReactTable({
|
|
186
|
-
columns,
|
|
187
|
-
data,
|
|
188
|
-
getCoreRowModel: getCoreRowModel(),
|
|
189
|
-
})
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
Correct:
|
|
193
|
-
|
|
194
|
-
```ts
|
|
195
|
-
import {
|
|
196
|
-
useTable,
|
|
197
|
-
tableFeatures,
|
|
45
|
+
filterFn_includesString,
|
|
198
46
|
rowSortingFeature,
|
|
199
|
-
|
|
200
|
-
sortFns,
|
|
201
|
-
} from '@tanstack/react-table'
|
|
202
|
-
|
|
203
|
-
const features = tableFeatures({ rowSortingFeature })
|
|
204
|
-
const table = useTable({
|
|
205
|
-
features,
|
|
206
|
-
rowModels: { sortedRowModel: createSortedRowModel(sortFns) },
|
|
207
|
-
columns,
|
|
208
|
-
data,
|
|
209
|
-
})
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
Every major release of TanStack Table has been a substantial upgrade. Agents trained on v7 or v8 will confidently emit shapes that no longer exist. This is the #2 AI failure (after reimplementing built-ins).
|
|
213
|
-
|
|
214
|
-
Source: maintainer interview (Phase 4, 2026-05-17)
|
|
215
|
-
|
|
216
|
-
### [CRITICAL] Importing pre-bundled `getCoreRowModel` / `getSortedRowModel` etc.
|
|
217
|
-
|
|
218
|
-
Wrong:
|
|
219
|
-
|
|
220
|
-
```ts
|
|
221
|
-
// v8 pattern — won't drive v9 row models
|
|
222
|
-
const table = useTable({
|
|
223
|
-
features,
|
|
224
|
-
data,
|
|
225
|
-
columns,
|
|
226
|
-
getCoreRowModel: getCoreRowModel(),
|
|
227
|
-
getSortedRowModel: getSortedRowModel(),
|
|
228
|
-
})
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
Correct:
|
|
232
|
-
|
|
233
|
-
```ts
|
|
234
|
-
import {
|
|
235
|
-
useTable,
|
|
47
|
+
sortFn_alphanumeric,
|
|
236
48
|
tableFeatures,
|
|
49
|
+
} from '@tanstack/table-core'
|
|
50
|
+
|
|
51
|
+
export const features = tableFeatures({
|
|
52
|
+
columnFilteringFeature,
|
|
237
53
|
rowSortingFeature,
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
const features = tableFeatures({ rowSortingFeature })
|
|
243
|
-
const table = useTable({
|
|
244
|
-
features,
|
|
245
|
-
rowModels: {
|
|
246
|
-
sortedRowModel: createSortedRowModel(sortFns), // factory takes sortFns argument
|
|
247
|
-
},
|
|
248
|
-
columns,
|
|
249
|
-
data,
|
|
54
|
+
filteredRowModel: createFilteredRowModel(),
|
|
55
|
+
sortedRowModel: createSortedRowModel(),
|
|
56
|
+
filterFns: { includesString: filterFn_includesString },
|
|
57
|
+
sortFns: { alphanumeric: sortFn_alphanumeric },
|
|
250
58
|
})
|
|
251
59
|
```
|
|
252
60
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
###
|
|
258
|
-
|
|
259
|
-
|
|
61
|
+
Pass `features` to the adapter's v9 table constructor. Define it statically outside render/setup work when possible.
|
|
62
|
+
|
|
63
|
+
## Complete shared breaking-change inventory
|
|
64
|
+
|
|
65
|
+
### 1. Register every non-core feature explicitly
|
|
66
|
+
|
|
67
|
+
V8 bundled all stock features. V9 exposes an API only when its feature is present in `tableFeatures({...})`.
|
|
68
|
+
|
|
69
|
+
| Capability | V9 feature |
|
|
70
|
+
| --------------------------- | ------------------------- |
|
|
71
|
+
| Aggregation | `rowAggregationFeature` |
|
|
72
|
+
| Cell selection | `cellSelectionFeature` |
|
|
73
|
+
| Column faceting | `columnFacetingFeature` |
|
|
74
|
+
| Column filtering | `columnFilteringFeature` |
|
|
75
|
+
| Column ordering | `columnOrderingFeature` |
|
|
76
|
+
| Column pinning | `columnPinningFeature` |
|
|
77
|
+
| Column sizes and offsets | `columnSizingFeature` |
|
|
78
|
+
| Column visibility | `columnVisibilityFeature` |
|
|
79
|
+
| Global filtering | `globalFilteringFeature` |
|
|
80
|
+
| Grouping | `columnGroupingFeature` |
|
|
81
|
+
| Interactive column resizing | `columnResizingFeature` |
|
|
82
|
+
| Pagination | `rowPaginationFeature` |
|
|
83
|
+
| Row expansion | `rowExpandingFeature` |
|
|
84
|
+
| Row pinning | `rowPinningFeature` |
|
|
85
|
+
| Row selection | `rowSelectionFeature` |
|
|
86
|
+
| Sorting | `rowSortingFeature` |
|
|
87
|
+
|
|
88
|
+
The core row model and core table/row/column/header/cell behavior are automatic. `stockFeatures` restores a v8-like all-features surface, but use it as an audit shortcut rather than the default production recommendation.
|
|
89
|
+
|
|
90
|
+
Honor feature prerequisites in the same `tableFeatures` call:
|
|
91
|
+
|
|
92
|
+
- `columnResizingFeature` requires `columnSizingFeature`.
|
|
93
|
+
- `globalFilteringFeature` requires `columnFilteringFeature`.
|
|
94
|
+
- Every row-model or function-registry slot requires its associated feature.
|
|
95
|
+
- `aggregationFns` requires `rowAggregationFeature`; grouped aggregation uses both `rowAggregationFeature` and `columnGroupingFeature`.
|
|
96
|
+
- Put prerequisite feature properties before dependent slots so inference and diagnostics remain clear.
|
|
97
|
+
|
|
98
|
+
### 2. Move row models into feature slots and rename factories
|
|
99
|
+
|
|
100
|
+
V8 `get*RowModel()` table options and the earlier-v9-beta `rowModels` object are gone. V9 `create*RowModel()` factories take no registry arguments and are registered as named feature slots.
|
|
101
|
+
|
|
102
|
+
| V8 table option | V9 `tableFeatures` slot | V9 factory |
|
|
103
|
+
| -------------------------------------------------- | -------------------------------------- | ---------------------------------------------- |
|
|
104
|
+
| `getCoreRowModel: getCoreRowModel()` | automatic; omit for the built-in model | built-in `createCoreRowModel()` is the default |
|
|
105
|
+
| `getFilteredRowModel: getFilteredRowModel()` | `filteredRowModel` | `createFilteredRowModel()` |
|
|
106
|
+
| `getSortedRowModel: getSortedRowModel()` | `sortedRowModel` | `createSortedRowModel()` |
|
|
107
|
+
| `getPaginationRowModel: getPaginationRowModel()` | `paginatedRowModel` | `createPaginatedRowModel()` |
|
|
108
|
+
| `getExpandedRowModel: getExpandedRowModel()` | `expandedRowModel` | `createExpandedRowModel()` |
|
|
109
|
+
| `getGroupedRowModel: getGroupedRowModel()` | `groupedRowModel` | `createGroupedRowModel()` |
|
|
110
|
+
| `getFacetedRowModel: getFacetedRowModel()` | `facetedRowModel` | `createFacetedRowModel()` |
|
|
111
|
+
| `getFacetedMinMaxValues: getFacetedMinMaxValues()` | `facetedMinMaxValues` | `createFacetedMinMaxValues()` |
|
|
112
|
+
| `getFacetedUniqueValues: getFacetedUniqueValues()` | `facetedUniqueValues` | `createFacetedUniqueValues()` |
|
|
113
|
+
|
|
114
|
+
For a custom core model, use the `coreRowModel` slot rather than restoring the v8 table option.
|
|
115
|
+
|
|
116
|
+
Move registries from table options or factory arguments into these feature slots:
|
|
117
|
+
|
|
118
|
+
| V8 | V9 |
|
|
119
|
+
| ---------------- | ---------------- |
|
|
120
|
+
| `sortingFns` | `sortFns` |
|
|
121
|
+
| `filterFns` | `filterFns` |
|
|
122
|
+
| `aggregationFns` | `aggregationFns` |
|
|
123
|
+
|
|
124
|
+
Register only the built-ins the table references by string name, importing each individually (`filterFn_includesString`, `sortFn_alphanumeric`, `aggregationFn_sum`, and so on) alongside any custom functions. The full registry objects (`filterFns`, `sortFns`, `aggregationFns` exports) still work but bundle every built-in. A slot's keys become the valid string names in column definitions, and `'auto'` resolves only registered functions.
|
|
125
|
+
|
|
126
|
+
Aggregation is independent from grouping. Add `rowAggregationFeature` for
|
|
127
|
+
`aggregationFn`, `aggregatedCell`, `column.getAggregationValue(options?)`, and
|
|
128
|
+
`cell.getIsAggregated`. A root total does not require grouping. Convert legacy
|
|
129
|
+
custom callables `(columnId, leafRows, childRows) => result` to
|
|
130
|
+
`constructAggregationFn({ aggregate: (context) => result, merge? })`
|
|
131
|
+
definitions. Replace `column.getAggregationFn()` with
|
|
132
|
+
`column.getAggregationFns()`; arrays in `aggregationFn` return keyed objects.
|
|
133
|
+
Replace the old `AggregationFn` and `CreatedAggregationFn` types with
|
|
134
|
+
`AggregationFnDef`. Aggregation row selection is shared across every definition
|
|
135
|
+
on a column: `maxAggregationDepth` defaults to `0`, while `1` selects direct
|
|
136
|
+
sub-rows and `Infinity` selects terminal rows. Explicit totals can override it
|
|
137
|
+
with the single object signature
|
|
138
|
+
`column.getAggregationValue({ rows, maxDepth })`; positional row and depth
|
|
139
|
+
arguments are not supported. All built-ins consume the same selected `rows`.
|
|
140
|
+
Custom definitions can inspect grouped `subRows`, and `merge` receives matching
|
|
141
|
+
`subRowResults`. Use `table.getMaxSubRowDepth()` when a depth should derive from
|
|
142
|
+
the deepest structural row in the core model.
|
|
143
|
+
|
|
144
|
+
### 3. Migrate state reads and whole-state observation
|
|
145
|
+
|
|
146
|
+
`table.getState()` and the top-level `onStateChange` option are removed. Individual `on[Slice]Change` callbacks remain.
|
|
147
|
+
|
|
148
|
+
| V8 need | V9 shared surface |
|
|
149
|
+
| ------------------------------- | --------------------------------------------------- |
|
|
150
|
+
| Full current snapshot | `table.store.state` |
|
|
151
|
+
| One current slice | `table.atoms.<slice>.get()` |
|
|
152
|
+
| Adapter-selected reactive state | `table.state` where the adapter exposes it |
|
|
153
|
+
| Observe all changes | `table.store.subscribe(...)` |
|
|
154
|
+
| Control one slice | `state.<slice>` plus `on<Slice>Change` |
|
|
155
|
+
| Externally own one slice | `atoms.<slice>` with a writable TanStack Store atom |
|
|
156
|
+
| Internal state | omit both `state.<slice>` and `atoms.<slice>` |
|
|
157
|
+
|
|
158
|
+
Load the adapter `table-state` skill before choosing reactive reads; adapters intentionally differ. When both an external atom and `state` provide a slice, the atom wins. Table writes go directly to that atom, and `table.reset()` does not reset externally owned atoms.
|
|
159
|
+
|
|
160
|
+
### 4. Keep instance methods bound
|
|
161
|
+
|
|
162
|
+
Row, cell, column, header, and related object methods moved to shared prototypes. Destructuring, passing a bare callback, spreading, `Object.keys`, and `JSON.stringify` no longer preserve or reveal those methods.
|
|
260
163
|
|
|
261
164
|
```ts
|
|
262
|
-
|
|
263
|
-
|
|
165
|
+
// v8 code that breaks
|
|
166
|
+
const { getValue } = row
|
|
167
|
+
rows.map(row.getVisibleCells)
|
|
264
168
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
const features = tableFeatures({ rowSortingFeature })
|
|
269
|
-
const columnHelper = createColumnHelper<typeof features, Person>()
|
|
169
|
+
// v9
|
|
170
|
+
const value = row.getValue('name')
|
|
171
|
+
rows.map((row) => row.getVisibleCells())
|
|
270
172
|
```
|
|
271
173
|
|
|
272
|
-
|
|
174
|
+
Audit all methods extracted from rows, cells, columns, headers, and header groups. Table-instance methods are not subject to this specific migration rule.
|
|
273
175
|
|
|
274
|
-
|
|
176
|
+
### 5. Replace physical column pinning with logical pinning
|
|
275
177
|
|
|
276
|
-
|
|
178
|
+
V9 beta.38 has no `left`/`right` aliases. Replace all state keys, return-value comparisons, arguments, and API families:
|
|
277
179
|
|
|
278
|
-
|
|
180
|
+
| V8 | V9 |
|
|
181
|
+
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------- |
|
|
182
|
+
| `columnPinning.left` / `.right` | `.start` / `.end` |
|
|
183
|
+
| `column.pin('left' \| 'right')` | `column.pin('start' \| 'end')` |
|
|
184
|
+
| `column.getIsPinned() === 'left' \| 'right'` | compare with `'start' \| 'end'` |
|
|
185
|
+
| `row.getLeftVisibleCells()` / `getRightVisibleCells()` | `getStartVisibleCells()` / `getEndVisibleCells()` |
|
|
186
|
+
| `table.getLeftHeaderGroups()` / `getRightHeaderGroups()` | `getStartHeaderGroups()` / `getEndHeaderGroups()` |
|
|
187
|
+
| `table.getLeftFooterGroups()` / `getRightFooterGroups()` | `getStartFooterGroups()` / `getEndFooterGroups()` |
|
|
188
|
+
| `table.getLeftFlatHeaders()` / `getRightFlatHeaders()` | `getStartFlatHeaders()` / `getEndFlatHeaders()` |
|
|
189
|
+
| `table.getLeftLeafHeaders()` / `getRightLeafHeaders()` | `getStartLeafHeaders()` / `getEndLeafHeaders()` |
|
|
190
|
+
| `table.getLeftLeafColumns()` / `getRightLeafColumns()` | `getStartLeafColumns()` / `getEndLeafColumns()` |
|
|
191
|
+
| `table.getLeftVisibleLeafColumns()` / `getRightVisibleLeafColumns()` | `getStartVisibleLeafColumns()` / `getEndVisibleLeafColumns()` |
|
|
192
|
+
| `table.getLeftTotalSize()` / `getRightTotalSize()` | `getStartTotalSize()` / `getEndTotalSize()` |
|
|
193
|
+
| `'left' \| 'right'` passed to `getStart`, `getAfter`, `getIndex`, or pinned-region helpers | `'start' \| 'end'` |
|
|
279
194
|
|
|
280
|
-
|
|
281
|
-
const all = table.getState()
|
|
282
|
-
```
|
|
195
|
+
This names logical regions; it does not automatically apply DOM direction or sticky CSS. Use logical CSS such as `inset-inline-start`/`insetInlineStart` and `inset-inline-end`/`insetInlineEnd`. `columnResizeDirection` remains `'ltr' | 'rtl'`.
|
|
283
196
|
|
|
284
|
-
|
|
197
|
+
### 6. Split column sizing from resizing
|
|
285
198
|
|
|
286
|
-
|
|
287
|
-
const all = table.store.state // flat snapshot, no subscription
|
|
288
|
-
const sorting = table.atoms.sorting.get() // per-slice
|
|
289
|
-
const selected = table.state // typed selector output (framework adapters)
|
|
290
|
-
```
|
|
199
|
+
V8's combined sizing feature became two tree-shakeable features:
|
|
291
200
|
|
|
292
|
-
`
|
|
201
|
+
- Register `columnSizingFeature` for sizes, offsets, and total-size APIs.
|
|
202
|
+
- Also register `columnResizingFeature` for drag handles and transient interaction state.
|
|
203
|
+
- `columnResizingFeature` cannot stand alone.
|
|
293
204
|
|
|
294
|
-
|
|
205
|
+
| V8 | V9 |
|
|
206
|
+
| -------------------------- | ------------------------ |
|
|
207
|
+
| `columnSizingInfo` state | `columnResizing` state |
|
|
208
|
+
| `setColumnSizingInfo(...)` | `setColumnResizing(...)` |
|
|
209
|
+
| `onColumnSizingInfoChange` | `onColumnResizingChange` |
|
|
295
210
|
|
|
296
|
-
|
|
211
|
+
The current source spelling is `setColumnResizing` with an uppercase `C`.
|
|
297
212
|
|
|
298
|
-
|
|
213
|
+
### 7. Rename sorting APIs
|
|
299
214
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
column.getSortingFn()
|
|
304
|
-
|
|
215
|
+
| V8 | V9 |
|
|
216
|
+
| --------------------------- | ------------------------ |
|
|
217
|
+
| column-def `sortingFn` | `sortFn` |
|
|
218
|
+
| `column.getSortingFn()` | `column.getSortFn()` |
|
|
219
|
+
| `column.getAutoSortingFn()` | `column.getAutoSortFn()` |
|
|
220
|
+
| `SortingFn` | `SortFn` |
|
|
221
|
+
| `SortingFns` | `SortFns` |
|
|
222
|
+
| built-in `sortingFns` | `sortFns` |
|
|
305
223
|
|
|
306
|
-
|
|
224
|
+
Also move the registry to `tableFeatures`, as described above.
|
|
307
225
|
|
|
308
|
-
|
|
309
|
-
columnHelper.accessor('age', { sortFn: 'alphanumeric' })
|
|
310
|
-
createSortedRowModel(sortFns) // pass registry to the factory
|
|
311
|
-
column.getSortFn()
|
|
312
|
-
```
|
|
226
|
+
### 8. Split the table-level pinning switch
|
|
313
227
|
|
|
314
|
-
|
|
228
|
+
Replace the v8 table option `enablePinning` with `enableColumnPinning` and/or `enableRowPinning`. Do not mechanically rename a column definition's `enablePinning`: that column-level option still exists.
|
|
315
229
|
|
|
316
|
-
|
|
230
|
+
### 9. Remove internal APIs and use public surfaces
|
|
317
231
|
|
|
318
|
-
|
|
232
|
+
All underscore-prefixed internals are unsupported and removed. Known migration points include:
|
|
319
233
|
|
|
320
|
-
|
|
234
|
+
| Removed v8 internal | V9 public direction |
|
|
235
|
+
| --------------------------------- | ------------------------------------------------------------- |
|
|
236
|
+
| `row._getAllCellsByColumnId()` | `row.getAllCellsByColumnId()` |
|
|
237
|
+
| `table._getPinnedRows()` | `table.getTopRows()`, `getCenterRows()`, or `getBottomRows()` |
|
|
238
|
+
| `table._getFacetedRowModel()` | public faceting APIs on the relevant column/table |
|
|
239
|
+
| `table._getFacetedMinMaxValues()` | `getFacetedMinMaxValues()` |
|
|
240
|
+
| `table._getFacetedUniqueValues()` | `getFacetedUniqueValues()` |
|
|
321
241
|
|
|
322
|
-
|
|
323
|
-
const table = useTable({
|
|
324
|
-
features: tableFeatures({ columnPinningFeature, rowPinningFeature }),
|
|
325
|
-
enablePinning: true, // ignored at table level in v9
|
|
326
|
-
})
|
|
327
|
-
```
|
|
328
|
-
|
|
329
|
-
Correct:
|
|
330
|
-
|
|
331
|
-
```ts
|
|
332
|
-
const table = useTable({
|
|
333
|
-
features: tableFeatures({ columnPinningFeature, rowPinningFeature }),
|
|
334
|
-
enableColumnPinning: true,
|
|
335
|
-
enableRowPinning: true,
|
|
336
|
-
})
|
|
337
|
-
|
|
338
|
-
// Per-column opt-out is still `enablePinning`:
|
|
339
|
-
columnHelper.accessor('id', { enablePinning: false })
|
|
340
|
-
```
|
|
341
|
-
|
|
342
|
-
v9 split `enablePinning` (table-level) into `enableColumnPinning` + `enableRowPinning`. The bare name now refers ONLY to per-column opt-out.
|
|
343
|
-
|
|
344
|
-
Source: packages/table-core/src/features/column-pinning/columnPinningFeature.types.ts
|
|
345
|
-
|
|
346
|
-
### [HIGH] Treating column resizing as part of column sizing
|
|
242
|
+
For any other `_` API, do not guess. Inspect the installed v9 package source for the public replacement or redesign the integration.
|
|
347
243
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
```ts
|
|
351
|
-
// v8 — ColumnSizing implied resizing too
|
|
352
|
-
const table = useTable({
|
|
353
|
-
features: tableFeatures({ columnSizingFeature }),
|
|
354
|
-
onColumnSizingInfoChange: setInfo, // v8 name
|
|
355
|
-
})
|
|
356
|
-
```
|
|
244
|
+
### 10. Update row-selection predicates
|
|
357
245
|
|
|
358
|
-
|
|
246
|
+
`getIsSomeRowsSelected()` and `getIsSomePageRowsSelected()` now mean **at least one**, including the all-selected case. They no longer mean “some but not all.” Build an indeterminate checkbox with both predicates:
|
|
359
247
|
|
|
360
248
|
```ts
|
|
361
|
-
const
|
|
362
|
-
|
|
363
|
-
columnSizingFeature,
|
|
364
|
-
columnResizingFeature, // explicit in v9
|
|
365
|
-
}),
|
|
366
|
-
onColumnResizingChange: setResizing, // renamed
|
|
367
|
-
// state key columnSizingInfo → columnResizing
|
|
368
|
-
})
|
|
249
|
+
const indeterminate =
|
|
250
|
+
table.getIsSomeRowsSelected() && !table.getIsAllRowsSelected()
|
|
369
251
|
```
|
|
370
252
|
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
Source: docs/framework/table-core/guide/migrating.md
|
|
374
|
-
|
|
375
|
-
### [MEDIUM] Calling underscore-prefixed APIs
|
|
253
|
+
For a page checkbox, use `table.getIsSomePageRowsSelected() && !table.getIsAllPageRowsSelected()`.
|
|
376
254
|
|
|
377
|
-
|
|
255
|
+
### 11. Update TypeScript feature generics and helpers
|
|
378
256
|
|
|
379
|
-
|
|
380
|
-
row._getAllCellsByColumnId()
|
|
381
|
-
table._getFacetedRowModel()
|
|
382
|
-
table._getFacetedMinMaxValues()
|
|
383
|
-
table._getFacetedUniqueValues()
|
|
384
|
-
table._getPinnedRows()
|
|
385
|
-
```
|
|
257
|
+
Most core types add `TFeatures` before their data/value parameters:
|
|
386
258
|
|
|
387
|
-
|
|
259
|
+
| V8 | V9 |
|
|
260
|
+
| ----------------------------- | ---------------------------------------- |
|
|
261
|
+
| `Column<TData>` | `Column<TFeatures, TData, TValue>` |
|
|
262
|
+
| `ColumnDef<TData>` | `ColumnDef<TFeatures, TData, TValue>` |
|
|
263
|
+
| `Table<TData>` | `Table<TFeatures, TData>` |
|
|
264
|
+
| `Row<TData>` | `Row<TFeatures, TData>` |
|
|
265
|
+
| `Cell<TData, TValue>` | `Cell<TFeatures, TData, TValue>` |
|
|
266
|
+
| `createColumnHelper<TData>()` | `createColumnHelper<TFeatures, TData>()` |
|
|
388
267
|
|
|
389
|
-
|
|
390
|
-
row.getAllCellsByColumnId()
|
|
391
|
-
table.getFacetedRowModel()
|
|
392
|
-
table.getFacetedMinMaxValues()
|
|
393
|
-
table.getFacetedUniqueValues()
|
|
394
|
-
table.getPinnedRows()
|
|
395
|
-
```
|
|
268
|
+
Prefer inference. Use `typeof features` only where an explicit type boundary is necessary; use `StockFeatures` when that is genuinely the selected feature set. Wrap column arrays with `columnHelper.columns([...])` to preserve individual and nested `TValue` inference.
|
|
396
269
|
|
|
397
|
-
|
|
270
|
+
`RowData` is now `Record<string, any> | Array<any>`, not `unknown`. Wrap primitive records in an object or array shape.
|
|
398
271
|
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
### [MEDIUM] Module augmentation with v8 generic arity
|
|
402
|
-
|
|
403
|
-
Wrong:
|
|
272
|
+
Global `TableMeta`/`ColumnMeta` declaration merging can remain, but add `TFeatures` as the first generic. Prefer per-table type-only slots where isolation helps:
|
|
404
273
|
|
|
405
274
|
```ts
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
275
|
+
const features = tableFeatures({
|
|
276
|
+
columnFilteringFeature,
|
|
277
|
+
tableMeta: metaHelper<MyTableMeta>(),
|
|
278
|
+
columnMeta: metaHelper<MyColumnMeta>(),
|
|
279
|
+
filterMeta: metaHelper<MyFilterMeta>(),
|
|
280
|
+
})
|
|
411
281
|
```
|
|
412
282
|
|
|
413
|
-
|
|
283
|
+
Replace global `FilterFns`, `SortFns`, and `AggregationFns` augmentation with the matching registry slots; their object keys supply the string-literal names. Replace `FilterMeta` augmentation with the `filterMeta` slot unless global behavior is intentional.
|
|
414
284
|
|
|
415
|
-
|
|
416
|
-
declare module '@tanstack/react-table' {
|
|
417
|
-
interface ColumnMeta<TFeatures, TData, TValue> {
|
|
418
|
-
customProp: string
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
```
|
|
285
|
+
### 12. Migrate adapter construction and rendering separately
|
|
422
286
|
|
|
423
|
-
|
|
287
|
+
The following are breaking but not shared core mappings: adapter hook/factory/controller names, Svelte 5 requirements, reactive getter rules, state-selection components/helpers, and `FlexRender` syntax. Load the installed adapter's migration skill and follow its exact source. Do not apply React names to Preact, Solid, Svelte, Vue, Angular, or Lit.
|
|
424
288
|
|
|
425
|
-
|
|
289
|
+
## Optional v9 adoption after parity
|
|
426
290
|
|
|
427
|
-
|
|
291
|
+
Do not confuse new capabilities with required breakages. After the table works, consider `tableOptions()` for reusable partial configuration, `createTableHook()` for app-level table conventions, per-slice atoms/subscriptions for narrower rendering, per-table meta slots, and explicit features for smaller bundles.
|
|
428
292
|
|
|
429
|
-
|
|
293
|
+
## Complete audit checklist
|
|
430
294
|
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
295
|
+
- [ ] Load the installed framework adapter's migration and table-state skills.
|
|
296
|
+
- [ ] Replace the v8 adapter constructor/hook/controller with its v9 entrypoint.
|
|
297
|
+
- [ ] Add a stable `features` object to every table.
|
|
298
|
+
- [ ] Inventory every feature API used by table, row, column, cell, and header code; register all 16 required stock features.
|
|
299
|
+
- [ ] Use `stockFeatures` only as a temporary parity aid and record an explicit-feature follow-up.
|
|
300
|
+
- [ ] Remove `getCoreRowModel()` unless supplying a deliberate custom `coreRowModel` slot.
|
|
301
|
+
- [ ] Move all remaining `get*RowModel()` options or earlier-beta `rowModels` entries to `create*RowModel()` feature slots.
|
|
302
|
+
- [ ] Register each dependent feature before its row-model slot.
|
|
303
|
+
- [ ] Move `filterFns`, `sortingFns`/`sortFns`, and `aggregationFns` into feature slots, registering individually imported built-ins; pass no registries to factories.
|
|
304
|
+
- [ ] Register `rowAggregationFeature` independently and migrate custom aggregation callables to context-based `AggregationFnDef` definitions.
|
|
305
|
+
- [ ] Register `columnFilteringFeature` before global filtering and filter/facet dependencies.
|
|
306
|
+
- [ ] Register `columnSizingFeature` before `columnResizingFeature`.
|
|
307
|
+
- [ ] Replace `table.getState()` and top-level `onStateChange` according to the adapter state guide.
|
|
308
|
+
- [ ] Verify every controlled slice has an update path; verify externally owned atoms are reset by their owner.
|
|
309
|
+
- [ ] Audit destructured, spread, serialized, or bare-callback instance methods.
|
|
310
|
+
- [ ] Replace every column-pinning `left`/`right` key, argument, comparison, method family, and sticky CSS declaration with logical start/end equivalents.
|
|
311
|
+
- [ ] Split table-level `enablePinning`; preserve column-def `enablePinning` where intended.
|
|
312
|
+
- [ ] Split sizing/resizing features and rename the resizing state, setter, and callback.
|
|
313
|
+
- [ ] Replace every `sortingFn`/`SortingFn`/`sortingFns` spelling with its v9 `sort*` spelling.
|
|
314
|
+
- [ ] Remove every consumed underscore-prefixed internal API.
|
|
315
|
+
- [ ] Recheck indeterminate selection logic against the new “at least one” semantics.
|
|
316
|
+
- [ ] Add `TFeatures` to unavoidable explicit core types, helpers, and retained meta augmentation; otherwise restore inference.
|
|
317
|
+
- [ ] Replace function-registry and filter-meta declaration merging with per-table slots where appropriate.
|
|
318
|
+
- [ ] Ensure every row is a record or array under the stricter `RowData` constraint.
|
|
319
|
+
- [ ] Migrate adapter-specific rendering, reactive data inputs, and subscription primitives.
|
|
320
|
+
- [ ] Type-check without `any`/casts added merely to suppress migration failures.
|
|
321
|
+
- [ ] Test sorting, filtering, faceting, grouping, expansion, pagination, selection, ordering, pinning, sizing, and resizing—only where enabled.
|
|
322
|
+
- [ ] Test client/server ownership for every row-model pipeline stage and ensure manual modes receive already-processed data.
|
|
323
|
+
- [ ] Test LTR and RTL layouts when column pinning or resizing is enabled.
|
|
324
|
+
- [ ] Remove `useLegacyTable` after the incremental migration step that required it.
|
|
439
325
|
|
|
440
|
-
|
|
326
|
+
## Common migration failures
|
|
441
327
|
|
|
442
|
-
|
|
443
|
-
const [data, setData] = useState<Person[]>([])
|
|
444
|
-
function addRow(row: Person) {
|
|
445
|
-
setData((prev) => [...prev, row])
|
|
446
|
-
}
|
|
447
|
-
```
|
|
328
|
+
### [CRITICAL] Silencing a missing API instead of registering its feature
|
|
448
329
|
|
|
449
|
-
|
|
330
|
+
If `table.nextPage`, `column.toggleSorting`, or a state slice disappears, add the associated feature. Do not cast the table to a broader type.
|
|
450
331
|
|
|
451
|
-
|
|
332
|
+
### [CRITICAL] Mixing v8, early-v9-beta, and beta.38 configuration
|
|
452
333
|
|
|
453
|
-
|
|
334
|
+
Do not combine v8 `get*RowModel` options, an earlier beta's `rowModels` object, or physical pinning names with the current `tableFeatures` slots.
|
|
454
335
|
|
|
455
|
-
|
|
336
|
+
### [HIGH] Treating `stockFeatures` or `useLegacyTable` as the finished migration
|
|
456
337
|
|
|
457
|
-
|
|
458
|
-
// Long-term use of the legacy shim
|
|
459
|
-
import { useLegacyTable, getCoreRowModel } from '@tanstack/react-table/legacy'
|
|
460
|
-
const table = useLegacyTable({
|
|
461
|
-
columns,
|
|
462
|
-
data,
|
|
463
|
-
getCoreRowModel: getCoreRowModel(),
|
|
464
|
-
})
|
|
465
|
-
```
|
|
338
|
+
Both obscure missing feature decisions; `useLegacyTable` is deprecated and React-only. Reach behavior parity, then complete the explicit v9 setup.
|
|
466
339
|
|
|
467
|
-
|
|
340
|
+
### [HIGH] Copying one adapter's state or rendering API into another
|
|
468
341
|
|
|
469
|
-
|
|
470
|
-
// Migrate to native v9 shape
|
|
471
|
-
import {
|
|
472
|
-
useTable,
|
|
473
|
-
tableFeatures,
|
|
474
|
-
rowSortingFeature,
|
|
475
|
-
createSortedRowModel,
|
|
476
|
-
sortFns,
|
|
477
|
-
} from '@tanstack/react-table'
|
|
478
|
-
const features = tableFeatures({ rowSortingFeature })
|
|
479
|
-
const table = useTable({
|
|
480
|
-
features,
|
|
481
|
-
rowModels: { sortedRowModel: createSortedRowModel(sortFns) },
|
|
482
|
-
columns,
|
|
483
|
-
data,
|
|
484
|
-
})
|
|
485
|
-
```
|
|
342
|
+
Core concepts are shared, but reactive reads, constructors, and rendering helpers are not. Load the package-local adapter skills.
|
|
486
343
|
|
|
487
|
-
|
|
344
|
+
## Installed API discovery
|
|
488
345
|
|
|
489
|
-
|
|
346
|
+
Use the installed version, not main-branch memory:
|
|
490
347
|
|
|
491
|
-
|
|
348
|
+
1. Inspect `node_modules/@tanstack/table-core/dist/index.d.ts` for exports.
|
|
349
|
+
2. Inspect `dist/types/TableFeatures.d.ts` for valid slots and prerequisites.
|
|
350
|
+
3. Inspect `dist/features/<feature>/*.types.d.ts` for current options, state, and APIs.
|
|
351
|
+
4. Inspect the installed adapter's `dist/index.d.ts` and its migration skill for entrypoints and rendering.
|
|
352
|
+
5. Inspect `dist/legacy.d.ts` only to remove an existing bridge, never to design new v9 code.
|
|
492
353
|
|
|
493
|
-
|
|
494
|
-
- `tanstack-table/state-management` — `table.store.state` / `table.atoms` / `table.state` ownership
|
|
495
|
-
- `tanstack-table/column-definitions` — `createColumnHelper<typeof features, TData>()` generic order
|
|
354
|
+
If package-manager layout prevents that exact path, resolve the installed package root first. Do not substitute APIs from a different v9 beta.
|