@tanstack/table-core 9.0.0-beta.1 → 9.0.0-beta.10
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/dist/core/cells/constructCell.d.cts +1 -1
- package/dist/core/cells/constructCell.d.ts +1 -1
- package/dist/core/cells/coreCellsFeature.cjs +11 -20
- package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
- package/dist/core/cells/coreCellsFeature.d.cts +4 -12
- package/dist/core/cells/coreCellsFeature.d.ts +4 -12
- package/dist/core/cells/coreCellsFeature.js +12 -20
- package/dist/core/cells/coreCellsFeature.js.map +1 -1
- package/dist/core/cells/coreCellsFeature.types.d.cts +1 -1
- package/dist/core/cells/coreCellsFeature.types.d.ts +1 -1
- package/dist/core/cells/coreCellsFeature.utils.d.cts +1 -1
- package/dist/core/cells/coreCellsFeature.utils.d.ts +1 -1
- package/dist/core/columns/constructColumn.d.cts +1 -1
- package/dist/core/columns/constructColumn.d.ts +1 -1
- package/dist/core/columns/coreColumnsFeature.cjs +59 -68
- package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.d.cts +4 -12
- package/dist/core/columns/coreColumnsFeature.d.ts +4 -12
- package/dist/core/columns/coreColumnsFeature.js +60 -68
- package/dist/core/columns/coreColumnsFeature.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.types.d.cts +1 -1
- package/dist/core/columns/coreColumnsFeature.types.d.ts +1 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +1 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +1 -1
- package/dist/core/coreFeatures.cjs.map +1 -1
- package/dist/core/coreFeatures.d.cts +1 -1
- package/dist/core/coreFeatures.d.ts +1 -1
- package/dist/core/coreFeatures.js.map +1 -1
- package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
- package/dist/core/headers/buildHeaderGroups.d.cts +1 -1
- package/dist/core/headers/buildHeaderGroups.d.ts +1 -1
- package/dist/core/headers/buildHeaderGroups.js.map +1 -1
- package/dist/core/headers/constructHeader.d.cts +1 -1
- package/dist/core/headers/constructHeader.d.ts +1 -1
- package/dist/core/headers/coreHeadersFeature.cjs +44 -53
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.d.cts +4 -12
- package/dist/core/headers/coreHeadersFeature.d.ts +4 -12
- package/dist/core/headers/coreHeadersFeature.js +45 -53
- package/dist/core/headers/coreHeadersFeature.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.types.d.cts +1 -1
- package/dist/core/headers/coreHeadersFeature.types.d.ts +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.cjs +17 -26
- package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.d.cts +4 -12
- package/dist/core/row-models/coreRowModelsFeature.d.ts +4 -12
- package/dist/core/row-models/coreRowModelsFeature.js +18 -26
- package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +3 -13
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +3 -13
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +13 -13
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +2 -2
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +2 -2
- package/dist/core/row-models/coreRowModelsFeature.utils.js +13 -13
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
- package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
- package/dist/core/row-models/createCoreRowModel.d.cts +1 -1
- package/dist/core/row-models/createCoreRowModel.d.ts +1 -1
- package/dist/core/row-models/createCoreRowModel.js.map +1 -1
- package/dist/core/rows/constructRow.d.cts +1 -1
- package/dist/core/rows/constructRow.d.ts +1 -1
- package/dist/core/rows/coreRowsFeature.cjs +27 -36
- package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.d.cts +4 -12
- package/dist/core/rows/coreRowsFeature.d.ts +4 -12
- package/dist/core/rows/coreRowsFeature.js +28 -36
- package/dist/core/rows/coreRowsFeature.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +1 -1
- package/dist/core/rows/coreRowsFeature.types.d.ts +1 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +1 -1
- package/dist/core/rows/coreRowsFeature.utils.d.ts +1 -1
- package/dist/core/table/constructTable.cjs +21 -6
- package/dist/core/table/constructTable.cjs.map +1 -1
- package/dist/core/table/constructTable.d.cts +1 -1
- package/dist/core/table/constructTable.d.ts +1 -1
- package/dist/core/table/constructTable.js +21 -6
- package/dist/core/table/constructTable.js.map +1 -1
- package/dist/core/table/coreTablesFeature.cjs +7 -16
- package/dist/core/table/coreTablesFeature.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.d.cts +4 -12
- package/dist/core/table/coreTablesFeature.d.ts +4 -12
- package/dist/core/table/coreTablesFeature.js +8 -16
- package/dist/core/table/coreTablesFeature.js.map +1 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +23 -11
- package/dist/core/table/coreTablesFeature.types.d.ts +23 -11
- package/dist/core/table/coreTablesFeature.utils.cjs +1 -2
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +1 -1
- package/dist/core/table/coreTablesFeature.utils.d.ts +1 -1
- package/dist/core/table/coreTablesFeature.utils.js +1 -2
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.cjs +49 -61
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.d.cts +4 -15
- package/dist/features/column-faceting/columnFacetingFeature.d.ts +4 -15
- package/dist/features/column-faceting/columnFacetingFeature.js +50 -61
- package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +4 -25
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +4 -25
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +12 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +12 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.cjs +40 -53
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.d.cts +4 -16
- package/dist/features/column-filtering/columnFilteringFeature.d.ts +4 -16
- package/dist/features/column-filtering/columnFilteringFeature.js +41 -53
- package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +31 -17
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +31 -17
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +2 -2
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +2 -2
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +4 -2
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +5 -3
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +5 -3
- package/dist/features/column-filtering/createFilteredRowModel.js +4 -2
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.cjs +57 -69
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +4 -15
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +4 -15
- package/dist/features/column-grouping/columnGroupingFeature.js +58 -69
- package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +17 -13
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +17 -13
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +5 -2
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -3
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -3
- package/dist/features/column-grouping/createGroupedRowModel.js +5 -2
- package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +47 -59
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.d.cts +4 -15
- package/dist/features/column-ordering/columnOrderingFeature.d.ts +4 -15
- package/dist/features/column-ordering/columnOrderingFeature.js +48 -59
- package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +1 -1
- package/dist/features/column-pinning/columnPinningFeature.cjs +209 -221
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +4 -15
- package/dist/features/column-pinning/columnPinningFeature.d.ts +4 -15
- package/dist/features/column-pinning/columnPinningFeature.js +210 -221
- package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +13 -13
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +13 -13
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.cjs +31 -43
- package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.d.cts +4 -15
- package/dist/features/column-resizing/columnResizingFeature.d.ts +4 -15
- package/dist/features/column-resizing/columnResizingFeature.js +32 -43
- package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +1 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +1 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +112 -125
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.d.cts +4 -16
- package/dist/features/column-sizing/columnSizingFeature.d.ts +4 -16
- package/dist/features/column-sizing/columnSizingFeature.js +113 -125
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +4 -4
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +4 -4
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +83 -95
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.d.cts +4 -15
- package/dist/features/column-visibility/columnVisibilityFeature.d.ts +4 -15
- package/dist/features/column-visibility/columnVisibilityFeature.js +84 -95
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +31 -43
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.d.cts +4 -15
- package/dist/features/global-filtering/globalFilteringFeature.d.ts +4 -15
- package/dist/features/global-filtering/globalFilteringFeature.js +32 -43
- package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +7 -5
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +7 -5
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.cjs +37 -49
- package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.d.cts +4 -15
- package/dist/features/row-expanding/rowExpandingFeature.d.ts +4 -15
- package/dist/features/row-expanding/rowExpandingFeature.js +38 -49
- package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +1 -10
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +1 -10
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.cjs +35 -47
- package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.d.cts +4 -15
- package/dist/features/row-pagination/rowPaginationFeature.d.ts +4 -15
- package/dist/features/row-pagination/rowPaginationFeature.js +36 -47
- package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +1 -10
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +1 -10
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +1 -1
- package/dist/features/row-pinning/rowPinningFeature.cjs +55 -67
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.d.cts +4 -15
- package/dist/features/row-pinning/rowPinningFeature.d.ts +4 -15
- package/dist/features/row-pinning/rowPinningFeature.js +56 -67
- package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +1 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +1 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +65 -77
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.d.cts +4 -15
- package/dist/features/row-selection/rowSelectionFeature.d.ts +4 -15
- package/dist/features/row-selection/rowSelectionFeature.js +66 -77
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +10 -6
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.js +10 -6
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +4 -2
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.d.cts +5 -3
- package/dist/features/row-sorting/createSortedRowModel.d.ts +5 -3
- package/dist/features/row-sorting/createSortedRowModel.js +4 -2
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.cjs +45 -57
- package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.d.cts +4 -15
- package/dist/features/row-sorting/rowSortingFeature.d.ts +4 -15
- package/dist/features/row-sorting/rowSortingFeature.js +46 -57
- package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +16 -13
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +16 -13
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +8 -5
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +1 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +1 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.js +8 -5
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
- package/dist/fns/aggregationFns.cjs +18 -18
- package/dist/fns/aggregationFns.cjs.map +1 -1
- package/dist/fns/aggregationFns.d.cts +21 -19
- package/dist/fns/aggregationFns.d.ts +21 -19
- package/dist/fns/aggregationFns.js +18 -18
- package/dist/fns/aggregationFns.js.map +1 -1
- package/dist/fns/filterFns.cjs +51 -65
- package/dist/fns/filterFns.cjs.map +1 -1
- package/dist/fns/filterFns.d.cts +82 -28
- package/dist/fns/filterFns.d.ts +82 -28
- package/dist/fns/filterFns.js +51 -65
- package/dist/fns/filterFns.js.map +1 -1
- package/dist/fns/sortFns.cjs +18 -6
- package/dist/fns/sortFns.cjs.map +1 -1
- package/dist/fns/sortFns.d.cts +15 -13
- package/dist/fns/sortFns.d.ts +15 -13
- package/dist/fns/sortFns.js +18 -6
- package/dist/fns/sortFns.js.map +1 -1
- package/dist/helpers/metaHelper.cjs +30 -0
- package/dist/helpers/metaHelper.cjs.map +1 -0
- package/dist/helpers/metaHelper.d.cts +26 -0
- package/dist/helpers/metaHelper.d.ts +26 -0
- package/dist/helpers/metaHelper.js +29 -0
- package/dist/helpers/metaHelper.js.map +1 -0
- package/dist/helpers/tableFeatures.cjs +31 -3
- package/dist/helpers/tableFeatures.cjs.map +1 -1
- package/dist/helpers/tableFeatures.d.cts +33 -5
- package/dist/helpers/tableFeatures.d.ts +33 -5
- package/dist/helpers/tableFeatures.js +31 -3
- package/dist/helpers/tableFeatures.js.map +1 -1
- package/dist/index.cjs +2 -20
- package/dist/index.d.cts +44 -43
- package/dist/index.d.ts +44 -43
- package/dist/index.js +22 -21
- package/dist/store-reactivity-bindings.cjs +1 -1
- package/dist/store-reactivity-bindings.cjs.map +1 -1
- package/dist/store-reactivity-bindings.d.cts +1 -1
- package/dist/store-reactivity-bindings.d.ts +1 -1
- package/dist/store-reactivity-bindings.js +1 -1
- package/dist/store-reactivity-bindings.js.map +1 -1
- package/dist/types/Cell.d.cts +7 -9
- package/dist/types/Cell.d.ts +7 -9
- package/dist/types/Column.d.cts +18 -11
- package/dist/types/Column.d.ts +18 -11
- package/dist/types/ColumnDef.d.cts +29 -10
- package/dist/types/ColumnDef.d.ts +29 -10
- package/dist/types/Header.d.cts +9 -10
- package/dist/types/Header.d.ts +9 -10
- package/dist/types/HeaderGroup.d.cts +3 -8
- package/dist/types/HeaderGroup.d.ts +3 -8
- package/dist/types/Row.d.cts +14 -10
- package/dist/types/Row.d.ts +14 -10
- package/dist/types/RowModel.d.cts +19 -19
- package/dist/types/RowModel.d.ts +19 -19
- package/dist/types/RowModelFns.d.cts +9 -9
- package/dist/types/RowModelFns.d.ts +9 -9
- package/dist/types/Table.d.cts +25 -15
- package/dist/types/Table.d.ts +25 -15
- package/dist/types/TableFeatures.d.cts +178 -41
- package/dist/types/TableFeatures.d.ts +178 -41
- package/dist/types/TableOptions.d.cts +24 -9
- package/dist/types/TableOptions.d.ts +24 -9
- package/dist/types/TableState.d.cts +22 -13
- package/dist/types/TableState.d.ts +22 -13
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +2 -2
- package/dist/utils.d.ts +2 -2
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/skills/column-definitions/SKILL.md +3 -6
- package/skills/column-layout/SKILL.md +0 -2
- package/skills/customizing-feature-behavior/SKILL.md +63 -56
- package/skills/filtering/SKILL.md +60 -42
- package/skills/filtering/references/faceting-and-fuzzy.md +59 -32
- package/skills/grouping/SKILL.md +49 -54
- package/skills/migrate-v8-to-v9/SKILL.md +30 -33
- package/skills/pagination/SKILL.md +22 -20
- package/skills/row-expanding/SKILL.md +33 -25
- package/skills/row-pinning/SKILL.md +11 -7
- package/skills/row-selection/SKILL.md +0 -3
- package/skills/setup/SKILL.md +55 -65
- package/skills/sorting/SKILL.md +21 -21
- package/skills/state-management/SKILL.md +40 -25
- package/src/core/cells/coreCellsFeature.ts +17 -39
- package/src/core/columns/coreColumnsFeature.ts +56 -83
- package/src/core/coreFeatures.ts +1 -1
- package/src/core/headers/buildHeaderGroups.ts +1 -1
- package/src/core/headers/coreHeadersFeature.ts +42 -64
- package/src/core/headers/coreHeadersFeature.utils.ts +1 -1
- package/src/core/row-models/coreRowModelsFeature.ts +43 -64
- package/src/core/row-models/coreRowModelsFeature.types.ts +1 -18
- package/src/core/row-models/coreRowModelsFeature.utils.ts +7 -7
- package/src/core/row-models/createCoreRowModel.ts +1 -1
- package/src/core/rows/coreRowsFeature.ts +45 -72
- package/src/core/table/constructTable.ts +49 -12
- package/src/core/table/coreTablesFeature.ts +13 -35
- package/src/core/table/coreTablesFeature.types.ts +33 -10
- package/src/core/table/coreTablesFeature.utils.ts +2 -3
- package/src/features/column-faceting/columnFacetingFeature.ts +71 -102
- package/src/features/column-faceting/columnFacetingFeature.types.ts +3 -36
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +6 -6
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +1 -1
- package/src/features/column-faceting/createFacetedRowModel.ts +1 -1
- package/src/features/column-faceting/createFacetedUniqueValues.ts +1 -1
- package/src/features/column-filtering/columnFilteringFeature.ts +60 -103
- package/src/features/column-filtering/columnFilteringFeature.types.ts +37 -21
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +2 -2
- package/src/features/column-filtering/createFilteredRowModel.ts +5 -7
- package/src/features/column-grouping/columnGroupingFeature.ts +82 -126
- package/src/features/column-grouping/columnGroupingFeature.types.ts +20 -19
- package/src/features/column-grouping/createGroupedRowModel.ts +7 -11
- package/src/features/column-ordering/columnOrderingFeature.ts +52 -84
- package/src/features/column-pinning/columnPinningFeature.ts +268 -304
- package/src/features/column-pinning/columnPinningFeature.utils.ts +5 -5
- package/src/features/column-resizing/columnResizingFeature.ts +44 -78
- package/src/features/column-sizing/columnSizingFeature.ts +115 -152
- package/src/features/column-visibility/columnVisibilityFeature.ts +92 -129
- package/src/features/global-filtering/globalFilteringFeature.ts +45 -79
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +4 -2
- package/src/features/row-expanding/createExpandedRowModel.ts +1 -1
- package/src/features/row-expanding/rowExpandingFeature.ts +65 -101
- package/src/features/row-expanding/rowExpandingFeature.types.ts +0 -14
- package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
- package/src/features/row-pagination/rowPaginationFeature.ts +69 -103
- package/src/features/row-pagination/rowPaginationFeature.types.ts +0 -14
- package/src/features/row-pinning/rowPinningFeature.ts +72 -104
- package/src/features/row-selection/rowSelectionFeature.ts +103 -135
- package/src/features/row-selection/rowSelectionFeature.utils.ts +12 -7
- package/src/features/row-sorting/createSortedRowModel.ts +6 -6
- package/src/features/row-sorting/rowSortingFeature.ts +73 -114
- package/src/features/row-sorting/rowSortingFeature.types.ts +19 -18
- package/src/features/row-sorting/rowSortingFeature.utils.ts +8 -6
- package/src/fns/aggregationFns.ts +26 -42
- package/src/fns/filterFns.ts +231 -264
- package/src/fns/sortFns.ts +51 -29
- package/src/helpers/metaHelper.ts +24 -0
- package/src/helpers/tableFeatures.ts +36 -5
- package/src/index.ts +1 -0
- package/src/store-reactivity-bindings.ts +1 -1
- package/src/types/Cell.ts +8 -28
- package/src/types/Column.ts +18 -53
- package/src/types/ColumnDef.ts +44 -45
- package/src/types/Header.ts +8 -30
- package/src/types/HeaderGroup.ts +2 -13
- package/src/types/Row.ts +15 -36
- package/src/types/RowModel.ts +21 -111
- package/src/types/RowModelFns.ts +11 -30
- package/src/types/Table.ts +24 -66
- package/src/types/TableFeatures.ts +253 -108
- package/src/types/TableOptions.ts +40 -72
- package/src/types/TableState.ts +20 -73
- package/src/utils.ts +5 -4
package/skills/grouping/SKILL.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: grouping
|
|
3
3
|
description: >
|
|
4
4
|
Group rows by column values in TanStack Table v9 with the `groupedRowModel`
|
|
5
|
-
stage. Covers `columnGroupingFeature` + `createGroupedRowModel(aggregationFns)
|
|
5
|
+
stage. Covers `columnGroupingFeature` + `createGroupedRowModel()` (registered on `features` with `aggregationFns` slot),
|
|
6
6
|
`state.grouping` (GroupingState = Array<string>), `onGroupingChange`,
|
|
7
7
|
`columnDef.aggregationFn` ('auto'|name|fn) — distinct signature
|
|
8
8
|
`(columnId, leafRows, childRows)` — `columnDef.aggregatedCell`,
|
|
@@ -49,6 +49,10 @@ const features = tableFeatures({
|
|
|
49
49
|
columnGroupingFeature,
|
|
50
50
|
rowExpandingFeature,
|
|
51
51
|
rowPaginationFeature,
|
|
52
|
+
groupedRowModel: createGroupedRowModel(),
|
|
53
|
+
expandedRowModel: createExpandedRowModel(),
|
|
54
|
+
paginatedRowModel: createPaginatedRowModel(),
|
|
55
|
+
aggregationFns,
|
|
52
56
|
})
|
|
53
57
|
|
|
54
58
|
const columnHelper = createColumnHelper<typeof features, Person>()
|
|
@@ -66,11 +70,6 @@ const columns = columnHelper.columns([
|
|
|
66
70
|
|
|
67
71
|
const table = constructTable({
|
|
68
72
|
features,
|
|
69
|
-
rowModels: {
|
|
70
|
-
groupedRowModel: createGroupedRowModel(aggregationFns),
|
|
71
|
-
expandedRowModel: createExpandedRowModel(),
|
|
72
|
-
paginatedRowModel: createPaginatedRowModel(),
|
|
73
|
-
},
|
|
74
73
|
columns,
|
|
75
74
|
data,
|
|
76
75
|
initialState: { grouping: [] satisfies GroupingState },
|
|
@@ -144,15 +143,16 @@ const weightedAverage: AggregationFn<typeof features, Person> = (
|
|
|
144
143
|
return totalWeight === 0 ? 0 : weightedSum / totalWeight
|
|
145
144
|
}
|
|
146
145
|
|
|
146
|
+
const customFeatures = tableFeatures({
|
|
147
|
+
columnGroupingFeature,
|
|
148
|
+
rowExpandingFeature,
|
|
149
|
+
groupedRowModel: createGroupedRowModel(),
|
|
150
|
+
expandedRowModel: createExpandedRowModel(),
|
|
151
|
+
aggregationFns: { ...aggregationFns, weightedAverage },
|
|
152
|
+
})
|
|
153
|
+
|
|
147
154
|
const table = constructTable({
|
|
148
|
-
features,
|
|
149
|
-
rowModels: {
|
|
150
|
-
groupedRowModel: createGroupedRowModel({
|
|
151
|
-
...aggregationFns,
|
|
152
|
-
weightedAverage,
|
|
153
|
-
}),
|
|
154
|
-
expandedRowModel: createExpandedRowModel(),
|
|
155
|
-
},
|
|
155
|
+
features: customFeatures,
|
|
156
156
|
columns: columnHelper.columns([
|
|
157
157
|
columnHelper.accessor('progress', {
|
|
158
158
|
aggregationFn: 'weightedAverage',
|
|
@@ -177,10 +177,6 @@ columnHelper.accessor('firstName', {
|
|
|
177
177
|
```ts
|
|
178
178
|
const table = constructTable({
|
|
179
179
|
features,
|
|
180
|
-
rowModels: {
|
|
181
|
-
groupedRowModel: createGroupedRowModel(aggregationFns),
|
|
182
|
-
expandedRowModel: createExpandedRowModel(),
|
|
183
|
-
},
|
|
184
180
|
columns,
|
|
185
181
|
data,
|
|
186
182
|
groupedColumnMode: 'reorder', // default — grouped columns lead
|
|
@@ -197,13 +193,12 @@ Wrong:
|
|
|
197
193
|
|
|
198
194
|
```ts
|
|
199
195
|
// grouped rows show aggregates but can't be expanded
|
|
200
|
-
const features = tableFeatures({
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
columns,
|
|
205
|
-
data,
|
|
196
|
+
const features = tableFeatures({
|
|
197
|
+
columnGroupingFeature,
|
|
198
|
+
groupedRowModel: createGroupedRowModel(),
|
|
199
|
+
aggregationFns,
|
|
206
200
|
})
|
|
201
|
+
const table = useTable({ features, columns, data })
|
|
207
202
|
// row.getToggleExpandedHandler() → TS error or undefined
|
|
208
203
|
```
|
|
209
204
|
|
|
@@ -221,16 +216,12 @@ import {
|
|
|
221
216
|
const features = tableFeatures({
|
|
222
217
|
columnGroupingFeature,
|
|
223
218
|
rowExpandingFeature,
|
|
219
|
+
groupedRowModel: createGroupedRowModel(),
|
|
220
|
+
expandedRowModel: createExpandedRowModel(),
|
|
221
|
+
aggregationFns,
|
|
224
222
|
})
|
|
225
223
|
|
|
226
|
-
const table = useTable({
|
|
227
|
-
features,
|
|
228
|
-
rowModels: {
|
|
229
|
-
groupedRowModel: createGroupedRowModel(aggregationFns),
|
|
230
|
-
expandedRowModel: createExpandedRowModel(),
|
|
231
|
-
},
|
|
232
|
-
columns, data,
|
|
233
|
-
})
|
|
224
|
+
const table = useTable({ features, columns, data })
|
|
234
225
|
|
|
235
226
|
// In cell renderer:
|
|
236
227
|
{cell.getIsGrouped() && (
|
|
@@ -250,8 +241,11 @@ Wrong:
|
|
|
250
241
|
|
|
251
242
|
```ts
|
|
252
243
|
const table = useTable({
|
|
253
|
-
features: tableFeatures({
|
|
254
|
-
|
|
244
|
+
features: tableFeatures({
|
|
245
|
+
columnGroupingFeature,
|
|
246
|
+
groupedRowModel: createGroupedRowModel(),
|
|
247
|
+
aggregationFns,
|
|
248
|
+
}),
|
|
255
249
|
columns, data,
|
|
256
250
|
// @ts-ignore - this property doesn't exist on v9 TableOptions
|
|
257
251
|
aggregationFns: {
|
|
@@ -265,26 +259,26 @@ Correct:
|
|
|
265
259
|
```ts
|
|
266
260
|
import { aggregationFns, createGroupedRowModel } from '@tanstack/react-table'
|
|
267
261
|
|
|
268
|
-
const
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
262
|
+
const features = tableFeatures({
|
|
263
|
+
columnGroupingFeature,
|
|
264
|
+
rowExpandingFeature,
|
|
265
|
+
groupedRowModel: createGroupedRowModel(),
|
|
266
|
+
expandedRowModel: createExpandedRowModel(),
|
|
267
|
+
aggregationFns: {
|
|
268
|
+
...aggregationFns,
|
|
269
|
+
myCustomAggregation: (columnId, leafRows, childRows) => {
|
|
270
|
+
return /* aggregated value */
|
|
271
|
+
},
|
|
278
272
|
},
|
|
279
|
-
columns,
|
|
280
|
-
data,
|
|
281
273
|
})
|
|
282
274
|
|
|
275
|
+
const table = useTable({ features, columns, data })
|
|
276
|
+
|
|
283
277
|
// Then on a column:
|
|
284
278
|
columnHelper.accessor('sales', { aggregationFn: 'myCustomAggregation' })
|
|
285
279
|
```
|
|
286
280
|
|
|
287
|
-
In v9, the aggregation registry is the
|
|
281
|
+
In v9, the aggregation registry is the `aggregationFns` slot on `features`. There is no top-level `tableOptions.aggregationFns`.
|
|
288
282
|
|
|
289
283
|
Source: packages/table-core/src/features/column-grouping/createGroupedRowModel.ts
|
|
290
284
|
|
|
@@ -345,7 +339,6 @@ Wrong:
|
|
|
345
339
|
```ts
|
|
346
340
|
const table = useTable({
|
|
347
341
|
features,
|
|
348
|
-
rowModels: { groupedRowModel: createGroupedRowModel(aggregationFns) },
|
|
349
342
|
columns,
|
|
350
343
|
data,
|
|
351
344
|
initialState: {
|
|
@@ -361,7 +354,6 @@ Correct:
|
|
|
361
354
|
```ts
|
|
362
355
|
const table = useTable({
|
|
363
356
|
features,
|
|
364
|
-
rowModels: { groupedRowModel: createGroupedRowModel(aggregationFns) },
|
|
365
357
|
columns,
|
|
366
358
|
data,
|
|
367
359
|
initialState: {
|
|
@@ -424,12 +416,15 @@ const grouped = useMemo(() => {
|
|
|
424
416
|
Correct:
|
|
425
417
|
|
|
426
418
|
```ts
|
|
419
|
+
const features = tableFeatures({
|
|
420
|
+
columnGroupingFeature,
|
|
421
|
+
rowExpandingFeature,
|
|
422
|
+
groupedRowModel: createGroupedRowModel(),
|
|
423
|
+
expandedRowModel: createExpandedRowModel(),
|
|
424
|
+
aggregationFns,
|
|
425
|
+
})
|
|
427
426
|
const table = useTable({
|
|
428
|
-
features
|
|
429
|
-
rowModels: {
|
|
430
|
-
groupedRowModel: createGroupedRowModel(aggregationFns),
|
|
431
|
-
expandedRowModel: createExpandedRowModel(),
|
|
432
|
-
},
|
|
427
|
+
features,
|
|
433
428
|
columns: columnHelper.columns([
|
|
434
429
|
columnHelper.accessor('status', { enableGrouping: true }),
|
|
435
430
|
columnHelper.accessor('age', { aggregationFn: 'mean' }),
|
|
@@ -4,11 +4,12 @@ description: >
|
|
|
4
4
|
Mechanical breaking-change migration from TanStack Table v8 to v9 at the
|
|
5
5
|
`@tanstack/table-core` level. Covers hook/entry rename
|
|
6
6
|
(`useReactTable`/`createSolidTable`/… → `useTable`/`injectTable`/`createTable`/
|
|
7
|
-
`constructTable`), the new required `features`
|
|
7
|
+
`constructTable`), the new required `features` option (which now carries row
|
|
8
|
+
model factories and fn registries — `rowModels` option is removed),
|
|
8
9
|
`createColumnHelper<TData>()` → `createColumnHelper<typeof features, TData>()`,
|
|
9
10
|
row-model factory rename (`getCoreRowModel()` → automatic; `getSortedRowModel()`
|
|
10
|
-
→ `createSortedRowModel(
|
|
11
|
-
faceted), `table.getState()` → `table.store.state` / `table.atoms.<slice>.get()`,
|
|
11
|
+
→ `createSortedRowModel()` as a slot on `tableFeatures({...})` with `sortFns` also
|
|
12
|
+
a slot; same for filtered/paginated/grouped/expanded/faceted), `table.getState()` → `table.store.state` / `table.atoms.<slice>.get()`,
|
|
12
13
|
sorting renames (`sortingFn` → `sortFn`, etc.), `enablePinning` split, column
|
|
13
14
|
sizing/resizing split, underscore-prefixed APIs becoming public, `RowData`
|
|
14
15
|
type tightening, TFeatures-first generics, the `useLegacyTable` React escape
|
|
@@ -32,9 +33,9 @@ sources:
|
|
|
32
33
|
v9 is a substantial reshape, not a tweak. The breaking changes group into:
|
|
33
34
|
|
|
34
35
|
1. **Hook/entry rename** per adapter.
|
|
35
|
-
2. **`features`
|
|
36
|
+
2. **`features` is required** — features are tree-shaken. Row model factories and fn registries (`sortFns`, `filterFns`, `aggregationFns`) now live as slots on the `features` object; the `rowModels` option is gone.
|
|
36
37
|
3. **Column helper generic order** — `<TFeatures, TData>` not `<TData>`.
|
|
37
|
-
4. **Row-model factories** moved out of root options
|
|
38
|
+
4. **Row-model factories** moved out of root options and into `tableFeatures({...})` as named slots; factory args for `*Fns` are replaced by dedicated fn-registry slots on `features`.
|
|
38
39
|
5. **State surface renamed** — `table.getState()` → `table.store.state` / `table.atoms.<slice>.get()` / `table.state` (selector).
|
|
39
40
|
6. **Sorting names**: `sortingFn` → `sortFn`, `sortingFns` → `sortFns`, `getSortingFn()` → `getSortFn()`, type `SortingFn` → `SortFn`.
|
|
40
41
|
7. **`enablePinning` split** into `enableColumnPinning` + `enableRowPinning` (table-level); per-column `enablePinning` stays.
|
|
@@ -75,6 +76,12 @@ const features = tableFeatures({
|
|
|
75
76
|
columnFilteringFeature,
|
|
76
77
|
columnSizingFeature,
|
|
77
78
|
columnResizingFeature, // explicit — formerly part of ColumnSizing
|
|
79
|
+
// Row model factories and fn registries are slots on features, not rowModels.
|
|
80
|
+
sortedRowModel: createSortedRowModel(),
|
|
81
|
+
filteredRowModel: createFilteredRowModel(),
|
|
82
|
+
paginatedRowModel: createPaginatedRowModel(),
|
|
83
|
+
sortFns,
|
|
84
|
+
filterFns,
|
|
78
85
|
})
|
|
79
86
|
|
|
80
87
|
const columnHelper = createColumnHelper<typeof features, Person>()
|
|
@@ -88,11 +95,6 @@ const columns: ColumnDef<typeof features, Person>[] = columnHelper.columns([
|
|
|
88
95
|
|
|
89
96
|
const table = useTable({
|
|
90
97
|
features,
|
|
91
|
-
rowModels: {
|
|
92
|
-
sortedRowModel: createSortedRowModel(sortFns),
|
|
93
|
-
filteredRowModel: createFilteredRowModel(filterFns),
|
|
94
|
-
paginatedRowModel: createPaginatedRowModel(),
|
|
95
|
-
},
|
|
96
98
|
columns,
|
|
97
99
|
data,
|
|
98
100
|
enableColumnPinning: true, // split from enablePinning
|
|
@@ -200,13 +202,12 @@ import {
|
|
|
200
202
|
sortFns,
|
|
201
203
|
} from '@tanstack/react-table'
|
|
202
204
|
|
|
203
|
-
const features = tableFeatures({
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
columns,
|
|
208
|
-
data,
|
|
205
|
+
const features = tableFeatures({
|
|
206
|
+
rowSortingFeature,
|
|
207
|
+
sortedRowModel: createSortedRowModel(),
|
|
208
|
+
sortFns,
|
|
209
209
|
})
|
|
210
|
+
const table = useTable({ features, columns, data })
|
|
210
211
|
```
|
|
211
212
|
|
|
212
213
|
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).
|
|
@@ -239,18 +240,15 @@ import {
|
|
|
239
240
|
sortFns,
|
|
240
241
|
} from '@tanstack/react-table'
|
|
241
242
|
|
|
242
|
-
const features = tableFeatures({
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
sortedRowModel: createSortedRowModel(sortFns), // factory takes sortFns argument
|
|
247
|
-
},
|
|
248
|
-
columns,
|
|
249
|
-
data,
|
|
243
|
+
const features = tableFeatures({
|
|
244
|
+
rowSortingFeature,
|
|
245
|
+
sortedRowModel: createSortedRowModel(),
|
|
246
|
+
sortFns,
|
|
250
247
|
})
|
|
248
|
+
const table = useTable({ features, columns, data })
|
|
251
249
|
```
|
|
252
250
|
|
|
253
|
-
In v9, row
|
|
251
|
+
In v9, row model factories are slots on `features`: `filteredRowModel: createFilteredRowModel()`, `sortedRowModel: createSortedRowModel()`, `groupedRowModel: createGroupedRowModel()`. The fn registries move too: `filterFns`, `sortFns`, `aggregationFns` are named slots on `features`. Core is automatic.
|
|
254
252
|
|
|
255
253
|
Source: PR #6234 (atoms refactor); packages/table-core/src/index.ts
|
|
256
254
|
|
|
@@ -307,11 +305,11 @@ Correct:
|
|
|
307
305
|
|
|
308
306
|
```ts
|
|
309
307
|
columnHelper.accessor('age', { sortFn: 'alphanumeric' })
|
|
310
|
-
|
|
308
|
+
// sortFns is a slot on features: tableFeatures({ rowSortingFeature, sortedRowModel: createSortedRowModel(), sortFns })
|
|
311
309
|
column.getSortFn()
|
|
312
310
|
```
|
|
313
311
|
|
|
314
|
-
v9 renamed every sorting API: `sortingFn` → `sortFn`, `sortingFns` → `sortFns
|
|
312
|
+
v9 renamed every sorting API: `sortingFn` → `sortFn`, `sortingFns` → `sortFns` (now a features slot, not a factory arg), type `SortingFn` → `SortFn`, `getSortingFn()` → `getSortFn()`. TypeScript surfaces these but agents try v8 names first.
|
|
315
313
|
|
|
316
314
|
Source: packages/table-core/src/features/row-sorting/rowSortingFeature.types.ts
|
|
317
315
|
|
|
@@ -475,13 +473,12 @@ import {
|
|
|
475
473
|
createSortedRowModel,
|
|
476
474
|
sortFns,
|
|
477
475
|
} from '@tanstack/react-table'
|
|
478
|
-
const features = tableFeatures({
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
columns,
|
|
483
|
-
data,
|
|
476
|
+
const features = tableFeatures({
|
|
477
|
+
rowSortingFeature,
|
|
478
|
+
sortedRowModel: createSortedRowModel(),
|
|
479
|
+
sortFns,
|
|
484
480
|
})
|
|
481
|
+
const table = useTable({ features, columns, data })
|
|
485
482
|
```
|
|
486
483
|
|
|
487
484
|
`useLegacyTable` is React-only, deprecated, bundles every feature, doesn't support `table.Subscribe`, and is removed in v10. It exists to unblock incremental migration — not as a long-term API.
|
|
@@ -34,13 +34,13 @@ import {
|
|
|
34
34
|
} from '@tanstack/table-core'
|
|
35
35
|
import type { PaginationState } from '@tanstack/table-core'
|
|
36
36
|
|
|
37
|
-
const features = tableFeatures({
|
|
37
|
+
const features = tableFeatures({
|
|
38
|
+
rowPaginationFeature,
|
|
39
|
+
paginatedRowModel: createPaginatedRowModel(),
|
|
40
|
+
})
|
|
38
41
|
|
|
39
42
|
const table = constructTable({
|
|
40
43
|
features,
|
|
41
|
-
rowModels: {
|
|
42
|
-
paginatedRowModel: createPaginatedRowModel(),
|
|
43
|
-
},
|
|
44
44
|
columns,
|
|
45
45
|
data,
|
|
46
46
|
initialState: {
|
|
@@ -126,7 +126,7 @@ const { data: dataQuery } = useQuery({
|
|
|
126
126
|
|
|
127
127
|
const table = useTable({
|
|
128
128
|
features: tableFeatures({ rowPaginationFeature }),
|
|
129
|
-
|
|
129
|
+
// no paginatedRowModel registered — server paginates
|
|
130
130
|
data: dataQuery?.rows ?? EMPTY,
|
|
131
131
|
columns,
|
|
132
132
|
manualPagination: true,
|
|
@@ -141,12 +141,15 @@ const table = useTable({
|
|
|
141
141
|
### Disable auto page reset when filters change
|
|
142
142
|
|
|
143
143
|
```ts
|
|
144
|
+
const features = tableFeatures({
|
|
145
|
+
rowPaginationFeature,
|
|
146
|
+
columnFilteringFeature,
|
|
147
|
+
paginatedRowModel: createPaginatedRowModel(),
|
|
148
|
+
filteredRowModel: createFilteredRowModel(),
|
|
149
|
+
filterFns,
|
|
150
|
+
})
|
|
144
151
|
const table = constructTable({
|
|
145
|
-
features
|
|
146
|
-
rowModels: {
|
|
147
|
-
paginatedRowModel: createPaginatedRowModel(),
|
|
148
|
-
filteredRowModel: createFilteredRowModel(filterFns),
|
|
149
|
-
},
|
|
152
|
+
features,
|
|
150
153
|
columns,
|
|
151
154
|
data,
|
|
152
155
|
autoResetPageIndex: false, // keep current page while user types in a filter
|
|
@@ -174,7 +177,6 @@ Wrong:
|
|
|
174
177
|
// getPageCount() returns 1, next/prev buttons are disabled
|
|
175
178
|
const table = useTable({
|
|
176
179
|
features: tableFeatures({ rowPaginationFeature }),
|
|
177
|
-
rowModels: {},
|
|
178
180
|
data, // only 10 rows for the current page
|
|
179
181
|
columns,
|
|
180
182
|
manualPagination: true,
|
|
@@ -189,7 +191,6 @@ Correct:
|
|
|
189
191
|
```tsx
|
|
190
192
|
const table = useTable({
|
|
191
193
|
features: tableFeatures({ rowPaginationFeature }),
|
|
192
|
-
rowModels: {},
|
|
193
194
|
data: dataQuery.rows,
|
|
194
195
|
columns,
|
|
195
196
|
manualPagination: true,
|
|
@@ -223,8 +224,10 @@ Correct:
|
|
|
223
224
|
```tsx
|
|
224
225
|
const [pagination, setPagination] = useState({ pageIndex: 0, pageSize: 25 })
|
|
225
226
|
const table = useTable({
|
|
226
|
-
features: tableFeatures({
|
|
227
|
-
|
|
227
|
+
features: tableFeatures({
|
|
228
|
+
rowPaginationFeature,
|
|
229
|
+
paginatedRowModel: createPaginatedRowModel(),
|
|
230
|
+
}),
|
|
228
231
|
columns,
|
|
229
232
|
data,
|
|
230
233
|
state: { pagination },
|
|
@@ -241,12 +244,9 @@ Source: docs/guide/pagination.md
|
|
|
241
244
|
Wrong:
|
|
242
245
|
|
|
243
246
|
```ts
|
|
247
|
+
// features already has paginatedRowModel + filteredRowModel registered
|
|
244
248
|
const table = useTable({
|
|
245
249
|
features,
|
|
246
|
-
rowModels: {
|
|
247
|
-
paginatedRowModel: createPaginatedRowModel(),
|
|
248
|
-
filteredRowModel: createFilteredRowModel(filterFns),
|
|
249
|
-
},
|
|
250
250
|
columns,
|
|
251
251
|
data,
|
|
252
252
|
autoResetPageIndex: false, // user on page 5, then filters down to 2 pages
|
|
@@ -366,8 +366,10 @@ Correct:
|
|
|
366
366
|
|
|
367
367
|
```ts
|
|
368
368
|
const table = useTable({
|
|
369
|
-
features: tableFeatures({
|
|
370
|
-
|
|
369
|
+
features: tableFeatures({
|
|
370
|
+
rowPaginationFeature,
|
|
371
|
+
paginatedRowModel: createPaginatedRowModel(),
|
|
372
|
+
}),
|
|
371
373
|
columns,
|
|
372
374
|
data,
|
|
373
375
|
})
|
|
@@ -35,12 +35,14 @@ import {
|
|
|
35
35
|
} from '@tanstack/table-core'
|
|
36
36
|
import type { ExpandedState } from '@tanstack/table-core'
|
|
37
37
|
|
|
38
|
-
const features = tableFeatures({
|
|
38
|
+
const features = tableFeatures({
|
|
39
|
+
rowExpandingFeature,
|
|
40
|
+
expandedRowModel: createExpandedRowModel(),
|
|
41
|
+
})
|
|
39
42
|
|
|
40
43
|
// Tree mode — data has nested subRows
|
|
41
44
|
const table = constructTable({
|
|
42
45
|
features,
|
|
43
|
-
rowModels: { expandedRowModel: createExpandedRowModel() },
|
|
44
46
|
columns,
|
|
45
47
|
data,
|
|
46
48
|
getSubRows: (row) => row.subRows,
|
|
@@ -50,7 +52,6 @@ const table = constructTable({
|
|
|
50
52
|
// Or detail-panel mode — every row can expand to a sub-component
|
|
51
53
|
const detailTable = constructTable({
|
|
52
54
|
features,
|
|
53
|
-
rowModels: { expandedRowModel: createExpandedRowModel() },
|
|
54
55
|
columns,
|
|
55
56
|
data,
|
|
56
57
|
getRowCanExpand: () => true,
|
|
@@ -120,11 +121,12 @@ const detailTable = constructTable({
|
|
|
120
121
|
|
|
121
122
|
```ts
|
|
122
123
|
const table = constructTable({
|
|
123
|
-
features: tableFeatures({
|
|
124
|
-
|
|
124
|
+
features: tableFeatures({
|
|
125
|
+
rowExpandingFeature,
|
|
126
|
+
rowPaginationFeature,
|
|
125
127
|
expandedRowModel: createExpandedRowModel(),
|
|
126
128
|
paginatedRowModel: createPaginatedRowModel(),
|
|
127
|
-
},
|
|
129
|
+
}),
|
|
128
130
|
columns,
|
|
129
131
|
data,
|
|
130
132
|
getSubRows: (r) => r.subRows,
|
|
@@ -138,11 +140,13 @@ const table = constructTable({
|
|
|
138
140
|
|
|
139
141
|
```ts
|
|
140
142
|
const table = constructTable({
|
|
141
|
-
features: tableFeatures({
|
|
142
|
-
|
|
143
|
+
features: tableFeatures({
|
|
144
|
+
rowExpandingFeature,
|
|
145
|
+
columnFilteringFeature,
|
|
143
146
|
expandedRowModel: createExpandedRowModel(),
|
|
144
|
-
filteredRowModel: createFilteredRowModel(
|
|
145
|
-
|
|
147
|
+
filteredRowModel: createFilteredRowModel(),
|
|
148
|
+
filterFns,
|
|
149
|
+
}),
|
|
146
150
|
columns,
|
|
147
151
|
data,
|
|
148
152
|
getSubRows: (r) => r.subRows,
|
|
@@ -171,7 +175,6 @@ Correct:
|
|
|
171
175
|
// For pure tree data, omit getRowCanExpand and let it auto-detect:
|
|
172
176
|
const table = useTable({
|
|
173
177
|
features,
|
|
174
|
-
rowModels: { expandedRowModel: createExpandedRowModel() },
|
|
175
178
|
columns,
|
|
176
179
|
data,
|
|
177
180
|
getSubRows: (row) => row.subRows,
|
|
@@ -180,8 +183,10 @@ const table = useTable({
|
|
|
180
183
|
|
|
181
184
|
// For pure detail panels, override and skip getSubRows:
|
|
182
185
|
const table = useTable({
|
|
183
|
-
features: tableFeatures({
|
|
184
|
-
|
|
186
|
+
features: tableFeatures({
|
|
187
|
+
rowExpandingFeature,
|
|
188
|
+
expandedRowModel: createExpandedRowModel(),
|
|
189
|
+
}),
|
|
185
190
|
columns,
|
|
186
191
|
data,
|
|
187
192
|
getRowCanExpand: () => true,
|
|
@@ -210,10 +215,6 @@ Correct:
|
|
|
210
215
|
// Default behavior — children flow through pagination, pageSize is enforced:
|
|
211
216
|
const table = useTable({
|
|
212
217
|
features,
|
|
213
|
-
rowModels: {
|
|
214
|
-
expandedRowModel: createExpandedRowModel(),
|
|
215
|
-
paginatedRowModel: createPaginatedRowModel(),
|
|
216
|
-
},
|
|
217
218
|
columns,
|
|
218
219
|
data,
|
|
219
220
|
getSubRows: (r) => r.subRows,
|
|
@@ -268,8 +269,10 @@ Wrong:
|
|
|
268
269
|
```ts
|
|
269
270
|
// manualExpanding bypasses the expanded row model; sub-rows are never flattened
|
|
270
271
|
const table = useTable({
|
|
271
|
-
features: tableFeatures({
|
|
272
|
-
|
|
272
|
+
features: tableFeatures({
|
|
273
|
+
rowExpandingFeature,
|
|
274
|
+
expandedRowModel: createExpandedRowModel(), // ignored when manualExpanding: true
|
|
275
|
+
}),
|
|
273
276
|
columns,
|
|
274
277
|
data,
|
|
275
278
|
getSubRows: (r) => r.subRows,
|
|
@@ -284,7 +287,7 @@ Correct:
|
|
|
284
287
|
// a pre-flattened view based on which rows are expanded.
|
|
285
288
|
const table = useTable({
|
|
286
289
|
features: tableFeatures({ rowExpandingFeature }),
|
|
287
|
-
|
|
290
|
+
// no expandedRowModel registered for manual mode
|
|
288
291
|
columns,
|
|
289
292
|
data: dataQuery.data, // server returns flattened rows when expanded
|
|
290
293
|
manualExpanding: true,
|
|
@@ -294,8 +297,10 @@ const table = useTable({
|
|
|
294
297
|
|
|
295
298
|
// For client-side tree, omit manualExpanding:
|
|
296
299
|
const clientTable = useTable({
|
|
297
|
-
features: tableFeatures({
|
|
298
|
-
|
|
300
|
+
features: tableFeatures({
|
|
301
|
+
rowExpandingFeature,
|
|
302
|
+
expandedRowModel: createExpandedRowModel(),
|
|
303
|
+
}),
|
|
299
304
|
columns,
|
|
300
305
|
data,
|
|
301
306
|
getSubRows: (r) => r.subRows,
|
|
@@ -329,9 +334,12 @@ Correct:
|
|
|
329
334
|
|
|
330
335
|
```ts
|
|
331
336
|
const table = useTable({
|
|
332
|
-
features: tableFeatures({
|
|
333
|
-
|
|
334
|
-
|
|
337
|
+
features: tableFeatures({
|
|
338
|
+
rowExpandingFeature,
|
|
339
|
+
expandedRowModel: createExpandedRowModel(),
|
|
340
|
+
}),
|
|
341
|
+
columns,
|
|
342
|
+
data,
|
|
335
343
|
getSubRows: (r) => r.subRows,
|
|
336
344
|
})
|
|
337
345
|
|
|
@@ -35,13 +35,14 @@ import {
|
|
|
35
35
|
} from '@tanstack/table-core'
|
|
36
36
|
import type { RowPinningState } from '@tanstack/table-core'
|
|
37
37
|
|
|
38
|
-
const features = tableFeatures({
|
|
38
|
+
const features = tableFeatures({
|
|
39
|
+
rowPinningFeature,
|
|
40
|
+
rowPaginationFeature,
|
|
41
|
+
paginatedRowModel: createPaginatedRowModel(),
|
|
42
|
+
})
|
|
39
43
|
|
|
40
44
|
const table = constructTable({
|
|
41
45
|
features,
|
|
42
|
-
rowModels: {
|
|
43
|
-
paginatedRowModel: createPaginatedRowModel(),
|
|
44
|
-
},
|
|
45
46
|
columns,
|
|
46
47
|
data,
|
|
47
48
|
getRowId: (row) => row.userId, // ← essentially mandatory
|
|
@@ -97,8 +98,12 @@ row.pin('top', /* includeLeafRows */ true, /* includeParentRows */ false)
|
|
|
97
98
|
|
|
98
99
|
```ts
|
|
99
100
|
const table = constructTable({
|
|
100
|
-
features: tableFeatures({
|
|
101
|
-
|
|
101
|
+
features: tableFeatures({
|
|
102
|
+
rowPinningFeature,
|
|
103
|
+
columnFilteringFeature,
|
|
104
|
+
filteredRowModel: createFilteredRowModel(),
|
|
105
|
+
filterFns,
|
|
106
|
+
}),
|
|
102
107
|
columns,
|
|
103
108
|
data,
|
|
104
109
|
getRowId: (row) => row.id,
|
|
@@ -247,7 +252,6 @@ Correct:
|
|
|
247
252
|
```ts
|
|
248
253
|
const table = useTable({
|
|
249
254
|
features: tableFeatures({ rowPinningFeature }),
|
|
250
|
-
rowModels: {},
|
|
251
255
|
columns,
|
|
252
256
|
data,
|
|
253
257
|
getRowId: (row) => row.id,
|
|
@@ -40,7 +40,6 @@ const features = tableFeatures({ rowSelectionFeature })
|
|
|
40
40
|
|
|
41
41
|
const table = constructTable({
|
|
42
42
|
features,
|
|
43
|
-
rowModels: {},
|
|
44
43
|
columns,
|
|
45
44
|
data,
|
|
46
45
|
getRowId: (row) => row.id, // ← essentially mandatory
|
|
@@ -80,7 +79,6 @@ columnHelper.display({
|
|
|
80
79
|
```tsx
|
|
81
80
|
const table = useTable({
|
|
82
81
|
features: tableFeatures({ rowSelectionFeature }),
|
|
83
|
-
rowModels: {},
|
|
84
82
|
columns,
|
|
85
83
|
data,
|
|
86
84
|
getRowId: (row) => row.id,
|
|
@@ -370,7 +368,6 @@ Correct:
|
|
|
370
368
|
```ts
|
|
371
369
|
const table = useTable({
|
|
372
370
|
features: tableFeatures({ rowSelectionFeature }),
|
|
373
|
-
rowModels: {},
|
|
374
371
|
columns,
|
|
375
372
|
data,
|
|
376
373
|
getRowId: (row) => row.id,
|