@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
|
@@ -7,7 +7,7 @@ import type { RowData } from '../../types/type-utils'
|
|
|
7
7
|
import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
|
|
8
8
|
import type { Table, Table_Internal } from '../../types/Table'
|
|
9
9
|
import type { TableOptions } from '../../types/TableOptions'
|
|
10
|
-
import type { TableState } from '../../types/TableState'
|
|
10
|
+
import type { TableState, TableState_All } from '../../types/TableState'
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Builds the initial table state from registered features and user initial state.
|
|
@@ -33,18 +33,40 @@ export function constructTable<
|
|
|
33
33
|
TFeatures extends TableFeatures,
|
|
34
34
|
TData extends RowData,
|
|
35
35
|
>(tableOptions: TableOptions<TFeatures, TData>): Table<TFeatures, TData> {
|
|
36
|
-
const _reactivity = tableOptions.features.
|
|
36
|
+
const _reactivity = tableOptions.features.coreReactivityFeature!
|
|
37
|
+
|
|
38
|
+
// Strip the non-feature slots: type-only meta slots, row model factories,
|
|
39
|
+
// and row model fn registries all live on the `features` option but are not
|
|
40
|
+
// table features themselves.
|
|
41
|
+
const {
|
|
42
|
+
aggregationFns,
|
|
43
|
+
columnMeta: _columnMeta,
|
|
44
|
+
coreRowModel,
|
|
45
|
+
expandedRowModel,
|
|
46
|
+
facetedMinMaxValues,
|
|
47
|
+
facetedRowModel,
|
|
48
|
+
facetedUniqueValues,
|
|
49
|
+
filterFns,
|
|
50
|
+
filterMeta: _filterMeta,
|
|
51
|
+
filteredRowModel,
|
|
52
|
+
groupedRowModel,
|
|
53
|
+
paginatedRowModel,
|
|
54
|
+
sortFns,
|
|
55
|
+
sortedRowModel,
|
|
56
|
+
tableMeta: _tableMeta,
|
|
57
|
+
...features
|
|
58
|
+
} = tableOptions.features
|
|
37
59
|
|
|
38
60
|
const table = {
|
|
39
61
|
_reactivity,
|
|
40
|
-
_features: { ...coreFeatures, ...
|
|
62
|
+
_features: { ...coreFeatures, ...features },
|
|
41
63
|
_rowModels: {},
|
|
42
|
-
_rowModelFns: {},
|
|
64
|
+
_rowModelFns: { aggregationFns, filterFns, sortFns },
|
|
43
65
|
baseAtoms: {},
|
|
44
66
|
atoms: {},
|
|
45
|
-
} as Table_Internal<TFeatures, TData>
|
|
67
|
+
} as unknown as Table_Internal<TFeatures, TData>
|
|
46
68
|
|
|
47
|
-
const featuresList: Array<TableFeature
|
|
69
|
+
const featuresList: Array<TableFeature> = Object.values(table._features)
|
|
48
70
|
|
|
49
71
|
const defaultOptions = featuresList.reduce((obj, feature) => {
|
|
50
72
|
return Object.assign(obj, feature.getDefaultTableOptions?.(table))
|
|
@@ -100,7 +122,7 @@ export function constructTable<
|
|
|
100
122
|
)
|
|
101
123
|
|
|
102
124
|
const stateKeys = Object.keys(table.initialState) as Array<
|
|
103
|
-
string & keyof
|
|
125
|
+
string & keyof TableState_All
|
|
104
126
|
>
|
|
105
127
|
|
|
106
128
|
for (let i = 0; i < stateKeys.length; i++) {
|
|
@@ -115,11 +137,14 @@ export function constructTable<
|
|
|
115
137
|
// create readonly derived atom: on each get(), read either external atom or base atom
|
|
116
138
|
;(table.atoms as any)[key] = _reactivity.createReadonlyAtom(
|
|
117
139
|
() => {
|
|
118
|
-
const
|
|
140
|
+
const externalAtoms = table.options.atoms as
|
|
141
|
+
| Partial<Record<keyof TableState_All, Atom<unknown>>>
|
|
142
|
+
| undefined
|
|
143
|
+
const externalAtom = externalAtoms?.[key]
|
|
119
144
|
if (externalAtom) {
|
|
120
145
|
return externalAtom.get()
|
|
121
146
|
}
|
|
122
|
-
return table.baseAtoms[key]
|
|
147
|
+
return table.baseAtoms[key]!.get()
|
|
123
148
|
},
|
|
124
149
|
{ debugName: `table/atoms/${key}` },
|
|
125
150
|
)
|
|
@@ -130,10 +155,10 @@ export function constructTable<
|
|
|
130
155
|
table.store = atomToStore(
|
|
131
156
|
_reactivity.createReadonlyAtom(
|
|
132
157
|
() => {
|
|
133
|
-
const snapshot = {} as TableState<TFeatures>
|
|
158
|
+
const snapshot = {} as TableState<TFeatures> & TableState_All
|
|
134
159
|
for (let i = 0; i < stateKeys.length; i++) {
|
|
135
160
|
const key = stateKeys[i]!
|
|
136
|
-
snapshot[key] = table.atoms[key]
|
|
161
|
+
;(snapshot as Record<string, unknown>)[key] = table.atoms[key]!.get()
|
|
137
162
|
}
|
|
138
163
|
return snapshot
|
|
139
164
|
},
|
|
@@ -146,7 +171,19 @@ export function constructTable<
|
|
|
146
171
|
(tableOptions.debugAll || tableOptions.debugTable)
|
|
147
172
|
) {
|
|
148
173
|
const features = Object.keys(table._features)
|
|
149
|
-
const rowModels = Object.
|
|
174
|
+
const rowModels = Object.entries({
|
|
175
|
+
coreRowModel,
|
|
176
|
+
filteredRowModel,
|
|
177
|
+
groupedRowModel,
|
|
178
|
+
sortedRowModel,
|
|
179
|
+
expandedRowModel,
|
|
180
|
+
paginatedRowModel,
|
|
181
|
+
facetedRowModel,
|
|
182
|
+
facetedMinMaxValues,
|
|
183
|
+
facetedUniqueValues,
|
|
184
|
+
})
|
|
185
|
+
.filter(([, factory]) => factory)
|
|
186
|
+
.map(([key]) => key)
|
|
150
187
|
const states = Object.keys(table.initialState)
|
|
151
188
|
|
|
152
189
|
console.log(
|
|
@@ -1,41 +1,19 @@
|
|
|
1
1
|
import { assignTableAPIs } from '../../utils'
|
|
2
2
|
import { table_reset, table_setOptions } from './coreTablesFeature.utils'
|
|
3
|
-
import type {
|
|
4
|
-
import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
|
|
5
|
-
// import type { TableOptions_Table, Table_Table } from './coreTablesFeature.types'
|
|
6
|
-
|
|
7
|
-
export interface CoreTablesFeatureConstructors<
|
|
8
|
-
TFeatures extends TableFeatures,
|
|
9
|
-
TData extends RowData,
|
|
10
|
-
> {
|
|
11
|
-
// Table: Table_Table<TFeatures, TData>
|
|
12
|
-
// TableOptions: TableOptions_Table<TFeatures, TData>
|
|
13
|
-
}
|
|
3
|
+
import type { TableFeature } from '../../types/TableFeatures'
|
|
14
4
|
|
|
15
5
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
|
|
6
|
+
* Core feature that adds base table instance APIs such as reset and setOptions.
|
|
19
7
|
*/
|
|
20
|
-
export
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
fn: (updater) => table_setOptions(table, updater),
|
|
32
|
-
},
|
|
33
|
-
})
|
|
34
|
-
},
|
|
35
|
-
}
|
|
8
|
+
export const coreTablesFeature: TableFeature = {
|
|
9
|
+
constructTableAPIs: (table) => {
|
|
10
|
+
assignTableAPIs('coreTablesFeature', table, {
|
|
11
|
+
table_reset: {
|
|
12
|
+
fn: () => table_reset(table),
|
|
13
|
+
},
|
|
14
|
+
table_setOptions: {
|
|
15
|
+
fn: (updater) => table_setOptions(table, updater),
|
|
16
|
+
},
|
|
17
|
+
})
|
|
18
|
+
},
|
|
36
19
|
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* The Core Tables feature provides the core table functionality for handling state and options.
|
|
40
|
-
*/
|
|
41
|
-
export const coreTablesFeature = constructCoreTablesFeature()
|
|
@@ -3,8 +3,12 @@ import type { Atom, ReadonlyAtom, ReadonlyStore } from '@tanstack/store'
|
|
|
3
3
|
import type { CoreFeatures } from '../coreFeatures'
|
|
4
4
|
import type { RowModelFns } from '../../types/RowModelFns'
|
|
5
5
|
import type { RowData, Updater } from '../../types/type-utils'
|
|
6
|
-
import type {
|
|
7
|
-
|
|
6
|
+
import type {
|
|
7
|
+
IsAny,
|
|
8
|
+
TableFeatures,
|
|
9
|
+
ValidateFeatureSlots,
|
|
10
|
+
} from '../../types/TableFeatures'
|
|
11
|
+
import type { CachedRowModels } from '../../types/RowModel'
|
|
8
12
|
import type { TableOptions } from '../../types/TableOptions'
|
|
9
13
|
import type { TableState, TableState_All } from '../../types/TableState'
|
|
10
14
|
|
|
@@ -13,6 +17,24 @@ export interface TableMeta<
|
|
|
13
17
|
TData extends RowData,
|
|
14
18
|
> {}
|
|
15
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Resolves the type of `options.meta` for a feature set.
|
|
22
|
+
*
|
|
23
|
+
* When the features object declares a `tableMeta` type-only slot
|
|
24
|
+
* (`tableFeatures({ ..., tableMeta: {} as MyTableMeta })`), that type wins.
|
|
25
|
+
* Otherwise this falls back to the global declaration-merged `TableMeta`
|
|
26
|
+
* interface.
|
|
27
|
+
*/
|
|
28
|
+
export type ExtractTableMeta<
|
|
29
|
+
TFeatures extends TableFeatures,
|
|
30
|
+
TData extends RowData,
|
|
31
|
+
> =
|
|
32
|
+
IsAny<TFeatures> extends true
|
|
33
|
+
? TableMeta<TFeatures, TData>
|
|
34
|
+
: TFeatures extends { tableMeta: infer TMeta extends object }
|
|
35
|
+
? TMeta
|
|
36
|
+
: TableMeta<TFeatures, TData>
|
|
37
|
+
|
|
16
38
|
/**
|
|
17
39
|
* A map of writable atoms, one per `TableState` slice. These are the internal
|
|
18
40
|
* writable atoms that the library always writes to via `makeStateUpdater`.
|
|
@@ -69,14 +91,12 @@ export interface TableOptions_Table<
|
|
|
69
91
|
* The feature modules registered on this table instance.
|
|
70
92
|
*
|
|
71
93
|
* Feature registration controls which state slices, options, and prototype
|
|
72
|
-
* APIs are available.
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
* Row model factories used by features such as filtering, grouping, sorting,
|
|
77
|
-
* expansion, and pagination.
|
|
94
|
+
* APIs are available. This object also carries the table's row model
|
|
95
|
+
* factories (`sortedRowModel`, `filteredRowModel`, etc.), row model function
|
|
96
|
+
* registries (`sortFns`, `filterFns`, `aggregationFns`), and type-only meta
|
|
97
|
+
* slots (`tableMeta`, `columnMeta`).
|
|
78
98
|
*/
|
|
79
|
-
readonly
|
|
99
|
+
readonly features: TFeatures & ValidateFeatureSlots<TFeatures>
|
|
80
100
|
/**
|
|
81
101
|
* Optionally, provide your own external writable atoms for individual state slices.
|
|
82
102
|
* When an atom is provided for a given slice, it takes precedence over `options.state[key]`
|
|
@@ -116,8 +136,11 @@ export interface TableOptions_Table<
|
|
|
116
136
|
) => TableOptions<TFeatures, TData>
|
|
117
137
|
/**
|
|
118
138
|
* You can pass any object to `options.meta` and access it anywhere the `table` is available via `table.options.meta`.
|
|
139
|
+
*
|
|
140
|
+
* Declare its type per-table via the `tableMeta` type-only slot on the
|
|
141
|
+
* `features` option, or globally via declaration merging on `TableMeta`.
|
|
119
142
|
*/
|
|
120
|
-
readonly meta?:
|
|
143
|
+
readonly meta?: ExtractTableMeta<TFeatures, TData>
|
|
121
144
|
/**
|
|
122
145
|
* Optionally provide externally managed values for individual state slices.
|
|
123
146
|
*
|
|
@@ -59,7 +59,7 @@ export function table_reset<
|
|
|
59
59
|
const keys = Object.keys(snap) as Array<keyof typeof snap>
|
|
60
60
|
for (let i = 0; i < keys.length; i++) {
|
|
61
61
|
const key = keys[i]!
|
|
62
|
-
;(table.baseAtoms as any)[key].set(snap[key]
|
|
62
|
+
;(table.baseAtoms as any)[key].set(snap[key])
|
|
63
63
|
}
|
|
64
64
|
})
|
|
65
65
|
}
|
|
@@ -112,11 +112,10 @@ export function table_setOptions<
|
|
|
112
112
|
): void {
|
|
113
113
|
const newOptions = functionalUpdate(updater, table.options)
|
|
114
114
|
// table static options that should never change after initialization
|
|
115
|
-
const {
|
|
115
|
+
const { features, atoms, initialState } = table.options
|
|
116
116
|
const mergedOptions = Object.assign(table_mergeOptions(table, newOptions), {
|
|
117
117
|
// Once the table instance is created those properties should never change after initialization,
|
|
118
118
|
// so we assign them back preserving the `table_mergeOptions` object reference
|
|
119
|
-
rowModels,
|
|
120
119
|
features,
|
|
121
120
|
atoms,
|
|
122
121
|
initialState,
|
|
@@ -11,110 +11,79 @@ import {
|
|
|
11
11
|
table_getGlobalFacetedRowModel,
|
|
12
12
|
table_getGlobalFacetedUniqueValues,
|
|
13
13
|
} from './columnFacetingFeature.utils'
|
|
14
|
-
import type {
|
|
15
|
-
import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
|
|
16
|
-
import type { Column_Internal } from '../../types/Column'
|
|
17
|
-
// import type {
|
|
18
|
-
// CachedRowModel_Faceted,
|
|
19
|
-
// Column_ColumnFaceting,
|
|
20
|
-
// CreateRowModel_Faceted,
|
|
21
|
-
// } from './columnFacetingFeature.types'
|
|
22
|
-
|
|
23
|
-
export interface ColumnFacetingFeatureConstructors<
|
|
24
|
-
TFeatures extends TableFeatures,
|
|
25
|
-
TData extends RowData,
|
|
26
|
-
> {
|
|
27
|
-
// CachedRowModel: CachedRowModel_Faceted<TFeatures, TData>
|
|
28
|
-
// Column: Column_ColumnFaceting<TFeatures, TData>
|
|
29
|
-
// CreateRowModels: CreateRowModel_Faceted<TFeatures, TData>
|
|
30
|
-
}
|
|
14
|
+
import type { TableFeature } from '../../types/TableFeatures'
|
|
31
15
|
|
|
32
16
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
|
|
17
|
+
* Feature that derives faceted row models, unique values, and min/max values for filters.
|
|
36
18
|
*/
|
|
37
|
-
export
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
fn: (column) => column_getFacetedUniqueValues(column, column.table),
|
|
74
|
-
},
|
|
75
|
-
})
|
|
76
|
-
},
|
|
19
|
+
export const columnFacetingFeature: TableFeature = {
|
|
20
|
+
assignColumnPrototype: (prototype, table) => {
|
|
21
|
+
assignPrototypeAPIs('columnFacetingFeature', prototype, table, {
|
|
22
|
+
column_getFacetedRowModel: {
|
|
23
|
+
memoDeps: () => [
|
|
24
|
+
table.getPreFilteredRowModel().rows,
|
|
25
|
+
table.atoms.columnFilters?.get(),
|
|
26
|
+
table.atoms.globalFilter?.get(),
|
|
27
|
+
table.getFilteredRowModel().rows,
|
|
28
|
+
],
|
|
29
|
+
fn: (column) => column_getFacetedRowModel(column, column.table),
|
|
30
|
+
},
|
|
31
|
+
column_getFacetedMinMaxValues: {
|
|
32
|
+
memoDeps: (column) => [
|
|
33
|
+
callMemoOrStaticFn(
|
|
34
|
+
column,
|
|
35
|
+
'getFacetedRowModel',
|
|
36
|
+
column_getFacetedRowModel,
|
|
37
|
+
column.table,
|
|
38
|
+
).flatRows,
|
|
39
|
+
],
|
|
40
|
+
fn: (column) => column_getFacetedMinMaxValues(column, column.table),
|
|
41
|
+
},
|
|
42
|
+
column_getFacetedUniqueValues: {
|
|
43
|
+
memoDeps: (column) => [
|
|
44
|
+
callMemoOrStaticFn(
|
|
45
|
+
column,
|
|
46
|
+
'getFacetedRowModel',
|
|
47
|
+
column_getFacetedRowModel,
|
|
48
|
+
column.table,
|
|
49
|
+
).flatRows,
|
|
50
|
+
],
|
|
51
|
+
fn: (column) => column_getFacetedUniqueValues(column, column.table),
|
|
52
|
+
},
|
|
53
|
+
})
|
|
54
|
+
},
|
|
77
55
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
}
|
|
56
|
+
constructTableAPIs: (table) => {
|
|
57
|
+
assignTableAPIs('columnFacetingFeature', table, {
|
|
58
|
+
table_getGlobalFacetedRowModel: {
|
|
59
|
+
memoDeps: () => [
|
|
60
|
+
table.getPreFilteredRowModel().rows,
|
|
61
|
+
table.atoms.columnFilters?.get(),
|
|
62
|
+
table.atoms.globalFilter?.get(),
|
|
63
|
+
table.getFilteredRowModel().rows,
|
|
64
|
+
],
|
|
65
|
+
fn: () => table_getGlobalFacetedRowModel(table),
|
|
66
|
+
},
|
|
67
|
+
table_getGlobalFacetedMinMaxValues: {
|
|
68
|
+
memoDeps: () => [
|
|
69
|
+
callMemoOrStaticFn(
|
|
70
|
+
table,
|
|
71
|
+
'getGlobalFacetedRowModel',
|
|
72
|
+
table_getGlobalFacetedRowModel,
|
|
73
|
+
).flatRows,
|
|
74
|
+
],
|
|
75
|
+
fn: () => table_getGlobalFacetedMinMaxValues(table),
|
|
76
|
+
},
|
|
77
|
+
table_getGlobalFacetedUniqueValues: {
|
|
78
|
+
memoDeps: () => [
|
|
79
|
+
callMemoOrStaticFn(
|
|
80
|
+
table,
|
|
81
|
+
'getGlobalFacetedRowModel',
|
|
82
|
+
table_getGlobalFacetedRowModel,
|
|
83
|
+
).flatRows,
|
|
84
|
+
],
|
|
85
|
+
fn: () => table_getGlobalFacetedUniqueValues(table),
|
|
86
|
+
},
|
|
87
|
+
})
|
|
88
|
+
},
|
|
112
89
|
}
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* The stock column faceting feature.
|
|
116
|
-
*
|
|
117
|
-
* Register this feature to add faceted row model, unique value, and min/max
|
|
118
|
-
* helpers for column and global filter UIs.
|
|
119
|
-
*/
|
|
120
|
-
export const columnFacetingFeature = constructColumnFacetingFeature()
|
|
@@ -31,56 +31,23 @@ export interface Table_RowModels_Faceted<
|
|
|
31
31
|
/**
|
|
32
32
|
* Computes min/max numeric facet values for the active faceting context.
|
|
33
33
|
*
|
|
34
|
-
* Requires a `facetedMinMaxValues` row-model factory
|
|
34
|
+
* Requires a `facetedMinMaxValues` row-model factory on the `features` option.
|
|
35
35
|
*/
|
|
36
36
|
getFacetedMinMaxValues: () => undefined | [number, number]
|
|
37
37
|
/**
|
|
38
38
|
* Computes the row model used to derive facet values.
|
|
39
39
|
*
|
|
40
|
-
* Requires a `facetedRowModel` row-model factory
|
|
40
|
+
* Requires a `facetedRowModel` row-model factory on the `features` option.
|
|
41
41
|
*/
|
|
42
42
|
getFacetedRowModel: () => RowModel<TFeatures, TData>
|
|
43
43
|
/**
|
|
44
44
|
* Computes unique facet values and occurrence counts.
|
|
45
45
|
*
|
|
46
|
-
* Requires a `facetedUniqueValues` row-model factory
|
|
46
|
+
* Requires a `facetedUniqueValues` row-model factory on the `features` option.
|
|
47
47
|
*/
|
|
48
48
|
getFacetedUniqueValues: () => Map<any, number>
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
export interface CreateRowModel_Faceted<
|
|
52
|
-
TFeatures extends TableFeatures,
|
|
53
|
-
TData extends RowData,
|
|
54
|
-
> {
|
|
55
|
-
/**
|
|
56
|
-
* Factory used to retrieve faceted min/max values. If using server-side
|
|
57
|
-
* faceting, this is not required. To use client-side faceting, pass
|
|
58
|
-
* `createFacetedMinMaxValues()` or implement your own factory.
|
|
59
|
-
*/
|
|
60
|
-
facetedMinMaxValues?: (
|
|
61
|
-
table: Table<TFeatures, TData>,
|
|
62
|
-
columnId: string,
|
|
63
|
-
) => () => [number, number] | undefined
|
|
64
|
-
/**
|
|
65
|
-
* Factory used to retrieve the faceted row model. If using server-side
|
|
66
|
-
* faceting, this is not required. To use client-side faceting, pass
|
|
67
|
-
* `createFacetedRowModel()` or implement your own factory.
|
|
68
|
-
*/
|
|
69
|
-
facetedRowModel?: (
|
|
70
|
-
table: Table<TFeatures, TData>,
|
|
71
|
-
columnId: string,
|
|
72
|
-
) => () => RowModel<TFeatures, TData>
|
|
73
|
-
/**
|
|
74
|
-
* Factory used to retrieve faceted unique values. If using server-side
|
|
75
|
-
* faceting, this is not required. To use client-side faceting, pass
|
|
76
|
-
* `createFacetedUniqueValues()` or implement your own factory.
|
|
77
|
-
*/
|
|
78
|
-
facetedUniqueValues?: (
|
|
79
|
-
table: Table<TFeatures, TData>,
|
|
80
|
-
columnId: string,
|
|
81
|
-
) => () => Map<any, number>
|
|
82
|
-
}
|
|
83
|
-
|
|
84
51
|
export interface CachedRowModel_Faceted<
|
|
85
52
|
TFeatures extends TableFeatures,
|
|
86
53
|
TData extends RowData,
|
|
@@ -24,7 +24,7 @@ export function column_getFacetedMinMaxValues<
|
|
|
24
24
|
table: Table_Internal<TFeatures, TData>,
|
|
25
25
|
): [number, number] | undefined {
|
|
26
26
|
const facetedMinMaxValuesFn =
|
|
27
|
-
table.options.
|
|
27
|
+
table.options.features.facetedMinMaxValues?.(table, column.id) ??
|
|
28
28
|
(() => undefined)
|
|
29
29
|
return facetedMinMaxValuesFn()
|
|
30
30
|
}
|
|
@@ -50,7 +50,7 @@ export function column_getFacetedRowModel<
|
|
|
50
50
|
table: Table_Internal<TFeatures, TData>,
|
|
51
51
|
): RowModel<TFeatures, TData> {
|
|
52
52
|
const facetedRowModelFn =
|
|
53
|
-
table.options.
|
|
53
|
+
table.options.features.facetedRowModel?.(table, column?.id ?? '') ??
|
|
54
54
|
(() => table.getPreFilteredRowModel())
|
|
55
55
|
return facetedRowModelFn()
|
|
56
56
|
}
|
|
@@ -75,7 +75,7 @@ export function column_getFacetedUniqueValues<
|
|
|
75
75
|
table: Table_Internal<TFeatures, TData>,
|
|
76
76
|
): Map<any, number> {
|
|
77
77
|
const facetedUniqueValuesFn =
|
|
78
|
-
table.options.
|
|
78
|
+
table.options.features.facetedUniqueValues?.(table, column.id) ??
|
|
79
79
|
(() => new Map<any, number>())
|
|
80
80
|
return facetedUniqueValuesFn()
|
|
81
81
|
}
|
|
@@ -96,7 +96,7 @@ export function table_getGlobalFacetedMinMaxValues<
|
|
|
96
96
|
TData extends RowData,
|
|
97
97
|
>(table: Table_Internal<TFeatures, TData>): undefined | [number, number] {
|
|
98
98
|
const facetedMinMaxValuesFn =
|
|
99
|
-
table.options.
|
|
99
|
+
table.options.features.facetedMinMaxValues?.(table, '__global__') ??
|
|
100
100
|
(() => undefined)
|
|
101
101
|
return facetedMinMaxValuesFn()
|
|
102
102
|
}
|
|
@@ -118,7 +118,7 @@ export function table_getGlobalFacetedRowModel<
|
|
|
118
118
|
TData extends RowData,
|
|
119
119
|
>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {
|
|
120
120
|
const facetedRowModelFn =
|
|
121
|
-
table.options.
|
|
121
|
+
table.options.features.facetedRowModel?.(table, '__global__') ??
|
|
122
122
|
(() => table.getPreFilteredRowModel())
|
|
123
123
|
return facetedRowModelFn()
|
|
124
124
|
}
|
|
@@ -139,7 +139,7 @@ export function table_getGlobalFacetedUniqueValues<
|
|
|
139
139
|
TData extends RowData,
|
|
140
140
|
>(table: Table_Internal<TFeatures, TData>): Map<any, number> {
|
|
141
141
|
const facetedUniqueValuesFn =
|
|
142
|
-
table.options.
|
|
142
|
+
table.options.features.facetedUniqueValues?.(table, '__global__') ??
|
|
143
143
|
(() => new Map())
|
|
144
144
|
return facetedUniqueValuesFn()
|
|
145
145
|
}
|
|
@@ -18,7 +18,7 @@ export function createFacetedMinMaxValues<
|
|
|
18
18
|
columnId: string,
|
|
19
19
|
) => () => undefined | [number, number] {
|
|
20
20
|
return (_table, columnId) => {
|
|
21
|
-
const table
|
|
21
|
+
const table = _table as unknown as Table_Internal<TFeatures, TData>
|
|
22
22
|
return tableMemo({
|
|
23
23
|
feature: 'columnFacetingFeature',
|
|
24
24
|
fn: (flatRows) => _createFacetedMinMaxValues(columnId, flatRows),
|
|
@@ -23,7 +23,7 @@ export function createFacetedRowModel<
|
|
|
23
23
|
columnId: string,
|
|
24
24
|
) => () => RowModel<TFeatures, TData> {
|
|
25
25
|
return (_table, columnId) => {
|
|
26
|
-
const table
|
|
26
|
+
const table = _table as unknown as Table_Internal<TFeatures, TData>
|
|
27
27
|
return tableMemo({
|
|
28
28
|
feature: 'columnFacetingFeature',
|
|
29
29
|
table,
|
|
@@ -18,7 +18,7 @@ export function createFacetedUniqueValues<
|
|
|
18
18
|
columnId: string,
|
|
19
19
|
) => () => Map<any, number> {
|
|
20
20
|
return (_table, columnId) => {
|
|
21
|
-
const table
|
|
21
|
+
const table = _table as unknown as Table_Internal<TFeatures, TData>
|
|
22
22
|
return tableMemo({
|
|
23
23
|
feature: 'columnFacetingFeature',
|
|
24
24
|
table,
|