@tanstack/table-core 9.0.0-beta.1 → 9.0.0-beta.11
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 +4 -4
- package/dist/core/cells/coreCellsFeature.types.d.ts +4 -4
- 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 +5 -5
- package/dist/core/columns/coreColumnsFeature.types.d.ts +5 -5
- 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 +6 -6
- package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -6
- 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 +5 -15
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +5 -15
- 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 +1 -2
- package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
- package/dist/core/row-models/createCoreRowModel.d.cts +2 -2
- package/dist/core/row-models/createCoreRowModel.d.ts +2 -2
- package/dist/core/row-models/createCoreRowModel.js +1 -2
- 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 +5 -5
- package/dist/core/rows/coreRowsFeature.types.d.ts +5 -5
- 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 +27 -15
- package/dist/core/table/coreTablesFeature.types.d.ts +27 -15
- 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 +8 -29
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +8 -29
- 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 +40 -26
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +40 -26
- 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 +23 -19
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +23 -19
- 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.types.d.cts +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +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.types.d.cts +2 -2
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +2 -2
- 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.types.d.cts +2 -2
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +2 -2
- 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 +3 -3
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +3 -3
- 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 +5 -14
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +5 -14
- 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 +4 -13
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +4 -13
- 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.types.d.cts +2 -2
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +2 -2
- 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.types.d.cts +2 -2
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +2 -2
- 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 +23 -20
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +23 -20
- 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 +8 -10
- package/dist/types/Cell.d.ts +8 -10
- package/dist/types/Column.d.cts +19 -12
- package/dist/types/Column.d.ts +19 -12
- package/dist/types/ColumnDef.d.cts +30 -11
- package/dist/types/ColumnDef.d.ts +30 -11
- package/dist/types/Header.d.cts +10 -11
- package/dist/types/Header.d.ts +10 -11
- package/dist/types/HeaderGroup.d.cts +4 -9
- package/dist/types/HeaderGroup.d.ts +4 -9
- package/dist/types/Row.d.cts +15 -11
- package/dist/types/Row.d.ts +15 -11
- 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 +52 -24
- package/dist/types/Table.d.ts +52 -24
- package/dist/types/TableFeatures.d.cts +178 -41
- package/dist/types/TableFeatures.d.ts +178 -41
- package/dist/types/TableOptions.d.cts +31 -10
- package/dist/types/TableOptions.d.ts +31 -10
- 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 +8 -3
- package/dist/utils.d.ts +8 -3
- 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/cells/coreCellsFeature.types.ts +6 -6
- package/src/core/columns/coreColumnsFeature.ts +56 -83
- package/src/core/columns/coreColumnsFeature.types.ts +8 -8
- 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.types.ts +10 -10
- 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 +7 -24
- package/src/core/row-models/coreRowModelsFeature.utils.ts +7 -7
- package/src/core/row-models/createCoreRowModel.ts +5 -4
- package/src/core/rows/coreRowsFeature.ts +45 -72
- package/src/core/rows/coreRowsFeature.types.ts +8 -8
- package/src/core/table/constructTable.ts +50 -13
- package/src/core/table/coreTablesFeature.ts +13 -35
- package/src/core/table/coreTablesFeature.types.ts +40 -17
- package/src/core/table/coreTablesFeature.utils.ts +10 -5
- package/src/features/column-faceting/columnFacetingFeature.ts +71 -102
- package/src/features/column-faceting/columnFacetingFeature.types.ts +11 -44
- 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 +55 -39
- 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 +32 -31
- package/src/features/column-grouping/createGroupedRowModel.ts +7 -11
- package/src/features/column-ordering/columnOrderingFeature.ts +52 -84
- package/src/features/column-ordering/columnOrderingFeature.types.ts +2 -2
- package/src/features/column-pinning/columnPinningFeature.ts +268 -304
- package/src/features/column-pinning/columnPinningFeature.types.ts +4 -4
- 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/column-visibility/columnVisibilityFeature.types.ts +4 -4
- package/src/features/global-filtering/globalFilteringFeature.ts +45 -79
- package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
- 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 +8 -22
- 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 +6 -20
- package/src/features/row-pinning/rowPinningFeature.ts +72 -104
- package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
- package/src/features/row-selection/rowSelectionFeature.ts +103 -135
- package/src/features/row-selection/rowSelectionFeature.types.ts +4 -4
- 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 +33 -32
- 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 +10 -30
- package/src/types/Column.ts +21 -56
- package/src/types/ColumnDef.ts +48 -49
- package/src/types/Header.ts +10 -32
- package/src/types/HeaderGroup.ts +4 -15
- package/src/types/Row.ts +18 -39
- package/src/types/RowModel.ts +24 -114
- package/src/types/RowModelFns.ts +12 -31
- package/src/types/Table.ts +85 -80
- package/src/types/TableFeatures.ts +253 -108
- package/src/types/TableOptions.ts +70 -60
- package/src/types/TableState.ts +20 -73
- package/src/utils.ts +16 -6
|
@@ -6,145 +6,290 @@ import type { Table_Internal } from './Table'
|
|
|
6
6
|
import type { TableOptions_All } from './TableOptions'
|
|
7
7
|
import type { TableState_All } from './TableState'
|
|
8
8
|
import type { StockFeatures } from '../features/stockFeatures'
|
|
9
|
+
import type { RowModel } from '../core/row-models/coreRowModelsFeature.types'
|
|
10
|
+
import type { FilterFn } from '../features/column-filtering/columnFilteringFeature.types'
|
|
11
|
+
import type { SortFn } from '../features/row-sorting/rowSortingFeature.types'
|
|
12
|
+
import type { AggregationFn } from '../features/column-grouping/columnGroupingFeature.types'
|
|
9
13
|
|
|
10
|
-
export type
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
>
|
|
14
|
-
{
|
|
15
|
-
[K in keyof TFeatures]: K extends 'coreReativityFeature'
|
|
16
|
-
? never
|
|
17
|
-
: TFeatures[K] extends TableFeature<infer FeatureConstructorOptions>
|
|
18
|
-
? TKey extends keyof FeatureConstructorOptions
|
|
19
|
-
? FeatureConstructorOptions[TKey]
|
|
20
|
-
: never
|
|
21
|
-
: any
|
|
22
|
-
}[keyof TFeatures]
|
|
23
|
-
>
|
|
24
|
-
|
|
25
|
-
export interface FeatureConstructors {
|
|
26
|
-
CachedRowModel?: any
|
|
27
|
-
Cell?: any
|
|
28
|
-
Column?: any
|
|
29
|
-
ColumnDef?: any
|
|
30
|
-
CreateRowModels?: any
|
|
31
|
-
Header?: any
|
|
32
|
-
HeaderGroup?: any
|
|
33
|
-
Row?: any
|
|
34
|
-
RowModelFns?: any
|
|
35
|
-
Table?: any
|
|
36
|
-
TableOptions?: any
|
|
37
|
-
TableState?: any
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export interface Plugins {}
|
|
41
|
-
|
|
42
|
-
export interface TableFeatures
|
|
43
|
-
extends Partial<CoreFeatures>, Partial<StockFeatures>, Partial<Plugins> {}
|
|
44
|
-
|
|
45
|
-
export type ConstructTableAPIs<TConstructors extends FeatureConstructors> = <
|
|
46
|
-
TFeatures extends TableFeatures,
|
|
47
|
-
TData extends RowData,
|
|
48
|
-
>(
|
|
49
|
-
table: Table_Internal<TFeatures, TData> &
|
|
50
|
-
Partial<TConstructors['Table']> & {
|
|
51
|
-
options: Partial<TConstructors['TableOptions']>
|
|
52
|
-
},
|
|
53
|
-
) => void
|
|
14
|
+
export type IsAny<T> = 0 extends 1 & T ? true : false
|
|
15
|
+
type UnionToIntersectionOrEmpty<T> = [T] extends [never]
|
|
16
|
+
? {}
|
|
17
|
+
: UnionToIntersection<T> & {}
|
|
54
18
|
|
|
55
|
-
export type
|
|
19
|
+
export type ExtractFeatureMapTypes<
|
|
56
20
|
TFeatures extends TableFeatures,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
table: Table_Internal<TFeatures, TData> & Partial<TConstructors['Table']>,
|
|
65
|
-
) => Partial<TableOptions_All<TFeatures, TData>> &
|
|
66
|
-
Partial<TConstructors['TableOptions']>
|
|
21
|
+
TFeatureMap extends object,
|
|
22
|
+
> =
|
|
23
|
+
IsAny<TFeatures> extends true
|
|
24
|
+
? UnionToIntersection<TFeatureMap[keyof TFeatureMap]>
|
|
25
|
+
: UnionToIntersectionOrEmpty<
|
|
26
|
+
TFeatureMap[Extract<keyof TFeatures, keyof TFeatureMap>]
|
|
27
|
+
>
|
|
67
28
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
export type GetDefaultStateSelector<TConstructors extends FeatureConstructors> =
|
|
73
|
-
(
|
|
74
|
-
state: TableState_All,
|
|
75
|
-
) => Partial<TableState_All> & Partial<TConstructors['TableState']>
|
|
76
|
-
|
|
77
|
-
export type AssignCellPrototype<TConstructors extends FeatureConstructors> = <
|
|
78
|
-
TFeatures extends TableFeatures,
|
|
79
|
-
TData extends RowData,
|
|
80
|
-
>(
|
|
81
|
-
prototype: Record<string, any>,
|
|
82
|
-
table: Table_Internal<TFeatures, TData>,
|
|
83
|
-
) => void
|
|
29
|
+
/**
|
|
30
|
+
* This is an interface that you can delcaration-merge into to allow for custom plugins to be added to the table.
|
|
31
|
+
*/
|
|
32
|
+
export interface Plugins {}
|
|
84
33
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
34
|
+
/**
|
|
35
|
+
* Keys of the `features` option that are not table features themselves.
|
|
36
|
+
*
|
|
37
|
+
* These slots carry per-table types (`tableMeta`, `columnMeta`), row model
|
|
38
|
+
* factories, and row model function registries. They are stripped from the
|
|
39
|
+
* table's registered `_features` at runtime and excluded from feature-derived
|
|
40
|
+
* options such as the generated `debug*` keys.
|
|
41
|
+
*/
|
|
42
|
+
export type NonFeatureKeys =
|
|
43
|
+
| 'aggregationFns'
|
|
44
|
+
| 'columnMeta'
|
|
45
|
+
| 'coreRowModel'
|
|
46
|
+
| 'expandedRowModel'
|
|
47
|
+
| 'facetedMinMaxValues'
|
|
48
|
+
| 'facetedRowModel'
|
|
49
|
+
| 'facetedUniqueValues'
|
|
50
|
+
| 'filterFns'
|
|
51
|
+
| 'filterMeta'
|
|
52
|
+
| 'filteredRowModel'
|
|
53
|
+
| 'groupedRowModel'
|
|
54
|
+
| 'paginatedRowModel'
|
|
55
|
+
| 'sortFns'
|
|
56
|
+
| 'sortedRowModel'
|
|
57
|
+
| 'tableMeta'
|
|
92
58
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Maps each row model and fn registry slot to the feature(s) that must be
|
|
61
|
+
* registered alongside it in the same features object.
|
|
62
|
+
*
|
|
63
|
+
* Custom features can declaration-merge their own slot prerequisites into this
|
|
64
|
+
* interface to get the same validation from `tableFeatures()`.
|
|
65
|
+
*/
|
|
66
|
+
export interface FeatureSlotPrereqs {
|
|
67
|
+
aggregationFns: 'columnGroupingFeature'
|
|
68
|
+
columnResizingFeature: 'columnSizingFeature' // columnSizingFeature is required for columnResizingFeature
|
|
69
|
+
expandedRowModel: 'rowExpandingFeature'
|
|
70
|
+
facetedMinMaxValues: 'columnFacetingFeature'
|
|
71
|
+
facetedRowModel: 'columnFacetingFeature'
|
|
72
|
+
facetedUniqueValues: 'columnFacetingFeature'
|
|
73
|
+
filteredRowModel: 'columnFilteringFeature'
|
|
74
|
+
filterFns: 'columnFilteringFeature'
|
|
75
|
+
filterMeta: 'columnFilteringFeature'
|
|
76
|
+
globalFilteringFeature: 'columnFilteringFeature' // columnFilteringFeature is required for globalFilteringFeature
|
|
77
|
+
groupedRowModel: 'columnGroupingFeature'
|
|
78
|
+
paginatedRowModel: 'rowPaginationFeature'
|
|
79
|
+
sortedRowModel: 'rowSortingFeature'
|
|
80
|
+
sortFns: 'rowSortingFeature'
|
|
81
|
+
}
|
|
100
82
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
83
|
+
/**
|
|
84
|
+
* Validates that every row model and fn registry slot in a features object is
|
|
85
|
+
* accompanied by its prerequisite feature.
|
|
86
|
+
*
|
|
87
|
+
* Slots whose prerequisite is missing have their type replaced with a literal
|
|
88
|
+
* error message, so the offending property fails to type-check with a message
|
|
89
|
+
* naming the feature that needs to be added.
|
|
90
|
+
*/
|
|
91
|
+
export type ValidateFeatureSlots<TFeatures extends TableFeatures> =
|
|
92
|
+
IsAny<TFeatures> extends true
|
|
93
|
+
? {}
|
|
94
|
+
: {
|
|
95
|
+
[K in keyof TFeatures as K extends keyof FeatureSlotPrereqs
|
|
96
|
+
? K
|
|
97
|
+
: never]: K extends keyof FeatureSlotPrereqs
|
|
98
|
+
? [Extract<FeatureSlotPrereqs[K], keyof TFeatures>] extends [never]
|
|
99
|
+
? `Error: '${K & string}' requires '${FeatureSlotPrereqs[K] &
|
|
100
|
+
string}' to be included in this table's features.`
|
|
101
|
+
: TFeatures[K]
|
|
102
|
+
: never
|
|
103
|
+
}
|
|
108
104
|
|
|
109
|
-
export
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
105
|
+
export interface TableFeatures
|
|
106
|
+
extends Partial<CoreFeatures>, Partial<StockFeatures>, Partial<Plugins> {
|
|
107
|
+
/**
|
|
108
|
+
* Registry of aggregation functions available to this table by name.
|
|
109
|
+
*
|
|
110
|
+
* Keys registered here become the valid string values for `aggregationFn` on
|
|
111
|
+
* column definitions, with full inference. Spread the exported
|
|
112
|
+
* `aggregationFns` to register the built-in aggregation functions:
|
|
113
|
+
* `aggregationFns: { ...aggregationFns, myCustomAggregationFn }`.
|
|
114
|
+
*/
|
|
115
|
+
aggregationFns?: Record<string, AggregationFn<any, any>>
|
|
116
|
+
/**
|
|
117
|
+
* Type-only slot for declaring the type of `columnDef.meta` for all columns
|
|
118
|
+
* of this table.
|
|
119
|
+
*
|
|
120
|
+
* Pass a phantom value: `columnMeta: {} as MyColumnMeta`. The value itself is
|
|
121
|
+
* ignored and stripped from the table's registered features at runtime — only
|
|
122
|
+
* its type is used, inferred wherever `TFeatures` flows.
|
|
123
|
+
*
|
|
124
|
+
* When omitted, the global declaration-merged `ColumnMeta` interface applies.
|
|
125
|
+
*/
|
|
126
|
+
columnMeta?: object
|
|
127
|
+
/**
|
|
128
|
+
* Factory for the table's core (unmodified) row model. Defaults to the
|
|
129
|
+
* built-in `createCoreRowModel()` when omitted.
|
|
130
|
+
*/
|
|
131
|
+
coreRowModel?: (table: any) => () => RowModel<any, any>
|
|
132
|
+
/**
|
|
133
|
+
* Factory for the client-side expanded row model. Pass the exported
|
|
134
|
+
* `createExpandedRowModel()` or implement your own. Not needed for
|
|
135
|
+
* server-side expansion.
|
|
136
|
+
*/
|
|
137
|
+
expandedRowModel?: (table: any) => () => RowModel<any, any>
|
|
138
|
+
/**
|
|
139
|
+
* Factory for per-column faceted min/max values. Pass the exported
|
|
140
|
+
* `createFacetedMinMaxValues()` or implement your own. Not needed for
|
|
141
|
+
* server-side faceting.
|
|
142
|
+
*/
|
|
143
|
+
facetedMinMaxValues?: (
|
|
144
|
+
table: any,
|
|
145
|
+
columnId: string,
|
|
146
|
+
) => () => [number, number] | undefined
|
|
147
|
+
/**
|
|
148
|
+
* Factory for the per-column faceted row model. Pass the exported
|
|
149
|
+
* `createFacetedRowModel()` or implement your own. Not needed for
|
|
150
|
+
* server-side faceting.
|
|
151
|
+
*/
|
|
152
|
+
facetedRowModel?: (table: any, columnId: string) => () => RowModel<any, any>
|
|
153
|
+
/**
|
|
154
|
+
* Factory for per-column faceted unique values. Pass the exported
|
|
155
|
+
* `createFacetedUniqueValues()` or implement your own. Not needed for
|
|
156
|
+
* server-side faceting.
|
|
157
|
+
*/
|
|
158
|
+
facetedUniqueValues?: (table: any, columnId: string) => () => Map<any, number>
|
|
159
|
+
/**
|
|
160
|
+
* Factory for the client-side filtered row model. Pass the exported
|
|
161
|
+
* `createFilteredRowModel()` or implement your own. Not needed for
|
|
162
|
+
* server-side filtering.
|
|
163
|
+
*/
|
|
164
|
+
filteredRowModel?: (table: any) => () => RowModel<any, any>
|
|
165
|
+
/**
|
|
166
|
+
* Registry of filter functions available to this table by name.
|
|
167
|
+
*
|
|
168
|
+
* Keys registered here become the valid string values for `filterFn` on
|
|
169
|
+
* column definitions and the `globalFilterFn` option, with full inference.
|
|
170
|
+
* Spread the exported `filterFns` to register the built-in filter functions:
|
|
171
|
+
* `filterFns: { ...filterFns, myCustomFilterFn }`.
|
|
172
|
+
*/
|
|
173
|
+
filterFns?: Record<string, FilterFn<any, any>>
|
|
174
|
+
/**
|
|
175
|
+
* Type-only slot for declaring the type of the filter meta that filter
|
|
176
|
+
* functions attach to rows via `addMeta` and that is read back from
|
|
177
|
+
* `row.columnFiltersMeta`.
|
|
178
|
+
*
|
|
179
|
+
* Pass a phantom value: `filterMeta: {} as MyFilterMeta` (or
|
|
180
|
+
* `metaHelper<MyFilterMeta>()`). The value itself is ignored and stripped
|
|
181
|
+
* from the table's registered features at runtime; only its type is used.
|
|
182
|
+
*
|
|
183
|
+
* When omitted, the global declaration-merged `FilterMeta` interface applies.
|
|
184
|
+
*/
|
|
185
|
+
filterMeta?: object
|
|
186
|
+
/**
|
|
187
|
+
* Factory for the client-side grouped row model. Pass the exported
|
|
188
|
+
* `createGroupedRowModel()` or implement your own. Not needed for
|
|
189
|
+
* server-side grouping.
|
|
190
|
+
*/
|
|
191
|
+
groupedRowModel?: (table: any) => () => RowModel<any, any>
|
|
192
|
+
/**
|
|
193
|
+
* Factory for the client-side paginated row model. Pass the exported
|
|
194
|
+
* `createPaginatedRowModel()` or implement your own. Not needed for
|
|
195
|
+
* server-side pagination.
|
|
196
|
+
*/
|
|
197
|
+
paginatedRowModel?: (table: any) => () => RowModel<any, any>
|
|
198
|
+
/**
|
|
199
|
+
* Factory for the client-side sorted row model. Pass the exported
|
|
200
|
+
* `createSortedRowModel()` or implement your own. Not needed for
|
|
201
|
+
* server-side sorting.
|
|
202
|
+
*/
|
|
203
|
+
sortedRowModel?: (table: any) => () => RowModel<any, any>
|
|
204
|
+
/**
|
|
205
|
+
* Registry of sorting functions available to this table by name.
|
|
206
|
+
*
|
|
207
|
+
* Keys registered here become the valid string values for `sortFn` on column
|
|
208
|
+
* definitions, with full inference. Spread the exported `sortFns` to register
|
|
209
|
+
* the built-in sorting functions: `sortFns: { ...sortFns, myCustomSortFn }`.
|
|
210
|
+
*/
|
|
211
|
+
sortFns?: Record<string, SortFn<any, any>>
|
|
212
|
+
/**
|
|
213
|
+
* Type-only slot for declaring the type of this table's `options.meta`.
|
|
214
|
+
*
|
|
215
|
+
* Pass a phantom value: `tableMeta: {} as MyTableMeta`. The value itself is
|
|
216
|
+
* ignored and stripped from the table's registered features at runtime — only
|
|
217
|
+
* its type is used, inferred wherever `TFeatures` flows.
|
|
218
|
+
*
|
|
219
|
+
* When omitted, the global declaration-merged `TableMeta` interface applies.
|
|
220
|
+
*/
|
|
221
|
+
tableMeta?: object
|
|
222
|
+
}
|
|
115
223
|
|
|
116
|
-
export interface TableFeature
|
|
224
|
+
export interface TableFeature {
|
|
117
225
|
/**
|
|
118
226
|
* Assigns Cell APIs to the cell prototype for memory-efficient method sharing.
|
|
119
227
|
* This is called once per table to build a shared prototype for all cells.
|
|
120
228
|
*/
|
|
121
|
-
assignCellPrototype?:
|
|
229
|
+
assignCellPrototype?: <
|
|
230
|
+
TFeatures extends TableFeatures,
|
|
231
|
+
TData extends RowData,
|
|
232
|
+
>(
|
|
233
|
+
prototype: Record<string, any>,
|
|
234
|
+
table: Table_Internal<TFeatures, TData>,
|
|
235
|
+
) => void
|
|
122
236
|
/**
|
|
123
237
|
* Assigns Column APIs to the column prototype for memory-efficient method sharing.
|
|
124
238
|
* This is called once per table to build a shared prototype for all columns.
|
|
125
239
|
*/
|
|
126
|
-
assignColumnPrototype?:
|
|
240
|
+
assignColumnPrototype?: <
|
|
241
|
+
TFeatures extends TableFeatures,
|
|
242
|
+
TData extends RowData,
|
|
243
|
+
>(
|
|
244
|
+
prototype: Record<string, any>,
|
|
245
|
+
table: Table_Internal<TFeatures, TData>,
|
|
246
|
+
) => void
|
|
127
247
|
/**
|
|
128
248
|
* Assigns Header APIs to the header prototype for memory-efficient method sharing.
|
|
129
249
|
* This is called once per table to build a shared prototype for all headers.
|
|
130
250
|
*/
|
|
131
|
-
assignHeaderPrototype?:
|
|
251
|
+
assignHeaderPrototype?: <
|
|
252
|
+
TFeatures extends TableFeatures,
|
|
253
|
+
TData extends RowData,
|
|
254
|
+
>(
|
|
255
|
+
prototype: Record<string, any>,
|
|
256
|
+
table: Table_Internal<TFeatures, TData>,
|
|
257
|
+
) => void
|
|
132
258
|
/**
|
|
133
259
|
* Assigns Row APIs to the row prototype for memory-efficient method sharing.
|
|
134
260
|
* This is called once per table to build a shared prototype for all rows.
|
|
135
261
|
*/
|
|
136
|
-
assignRowPrototype?:
|
|
262
|
+
assignRowPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(
|
|
263
|
+
prototype: Record<string, any>,
|
|
264
|
+
table: Table_Internal<TFeatures, TData>,
|
|
265
|
+
) => void
|
|
137
266
|
/**
|
|
138
267
|
* Assigns Table APIs to the table instance.
|
|
139
268
|
* Unlike row/cell/column/header, the table is a singleton so methods are assigned directly.
|
|
140
269
|
*/
|
|
141
|
-
constructTableAPIs?:
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
270
|
+
constructTableAPIs?: <TFeatures extends TableFeatures, TData extends RowData>(
|
|
271
|
+
table: Table_Internal<TFeatures, TData>,
|
|
272
|
+
) => void
|
|
273
|
+
getDefaultColumnDef?: <
|
|
274
|
+
TFeatures extends TableFeatures,
|
|
275
|
+
TData extends RowData,
|
|
276
|
+
TValue extends CellData = CellData,
|
|
277
|
+
>() => ColumnDefBase_All<TFeatures, TData, TValue>
|
|
278
|
+
getDefaultTableOptions?: <
|
|
279
|
+
TFeatures extends TableFeatures,
|
|
280
|
+
TData extends RowData,
|
|
281
|
+
>(
|
|
282
|
+
table: Table_Internal<TFeatures, TData>,
|
|
283
|
+
) => Partial<TableOptions_All<TFeatures, TData>>
|
|
284
|
+
getInitialState?: (initialState: Partial<TableState_All>) => TableState_All
|
|
145
285
|
/**
|
|
146
286
|
* Initializes instance-specific data on each row (e.g., caches).
|
|
147
287
|
* Methods should be assigned via assignRowPrototype instead.
|
|
148
288
|
*/
|
|
149
|
-
initRowInstanceData?:
|
|
289
|
+
initRowInstanceData?: <
|
|
290
|
+
TFeatures extends TableFeatures,
|
|
291
|
+
TData extends RowData,
|
|
292
|
+
>(
|
|
293
|
+
row: Row<TFeatures, TData>,
|
|
294
|
+
) => void
|
|
150
295
|
}
|
|
@@ -17,20 +17,19 @@ import type { TableOptions_RowPinning } from '../features/row-pinning/rowPinning
|
|
|
17
17
|
import type { TableOptions_RowSelection } from '../features/row-selection/rowSelectionFeature.types'
|
|
18
18
|
import type { TableOptions_RowSorting } from '../features/row-sorting/rowSortingFeature.types'
|
|
19
19
|
import type { RowData, UnionToIntersection } from './type-utils'
|
|
20
|
-
import type {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
> {}
|
|
20
|
+
import type {
|
|
21
|
+
ExtractFeatureMapTypes,
|
|
22
|
+
NonFeatureKeys,
|
|
23
|
+
TableFeatures,
|
|
24
|
+
} from './TableFeatures'
|
|
26
25
|
|
|
27
26
|
/**
|
|
28
27
|
* Core options that are always available on a table, before optional feature
|
|
29
28
|
* options are mixed in.
|
|
30
29
|
*/
|
|
31
30
|
export interface TableOptions_Core<
|
|
32
|
-
TFeatures extends TableFeatures,
|
|
33
|
-
TData extends RowData,
|
|
31
|
+
in out TFeatures extends TableFeatures,
|
|
32
|
+
in out TData extends RowData,
|
|
34
33
|
>
|
|
35
34
|
extends
|
|
36
35
|
TableOptions_Table<TFeatures, TData>,
|
|
@@ -39,7 +38,10 @@ export interface TableOptions_Core<
|
|
|
39
38
|
TableOptions_Rows<TFeatures, TData> {}
|
|
40
39
|
|
|
41
40
|
type DebugKeysFor<TFeatures extends TableFeatures> = {
|
|
42
|
-
[K in
|
|
41
|
+
[K in Exclude<
|
|
42
|
+
keyof TFeatures & string,
|
|
43
|
+
NonFeatureKeys // meta, row model, and fn registry slots, not real features
|
|
44
|
+
> as `debug${Capitalize<K>}`]?: boolean
|
|
43
45
|
}
|
|
44
46
|
|
|
45
47
|
export type DebugOptions<TFeatures extends TableFeatures> = {
|
|
@@ -52,6 +54,62 @@ export type DebugOptions<TFeatures extends TableFeatures> = {
|
|
|
52
54
|
debugTable?: boolean
|
|
53
55
|
} & DebugKeysFor<CoreFeatures & TFeatures>
|
|
54
56
|
|
|
57
|
+
export interface TableOptions_FeatureMap<
|
|
58
|
+
in out TFeatures extends TableFeatures,
|
|
59
|
+
in out TData extends RowData,
|
|
60
|
+
> {
|
|
61
|
+
columnFilteringFeature: TableOptions_ColumnFiltering<TFeatures, TData>
|
|
62
|
+
columnGroupingFeature: TableOptions_ColumnGrouping
|
|
63
|
+
columnOrderingFeature: TableOptions_ColumnOrdering
|
|
64
|
+
columnPinningFeature: TableOptions_ColumnPinning
|
|
65
|
+
columnResizingFeature: TableOptions_ColumnResizing
|
|
66
|
+
columnSizingFeature: TableOptions_ColumnSizing
|
|
67
|
+
columnVisibilityFeature: TableOptions_ColumnVisibility
|
|
68
|
+
globalFilteringFeature: TableOptions_GlobalFiltering<TFeatures, TData>
|
|
69
|
+
rowExpandingFeature: TableOptions_RowExpanding<TFeatures, TData>
|
|
70
|
+
rowPaginationFeature: TableOptions_RowPagination
|
|
71
|
+
rowPinningFeature: TableOptions_RowPinning<TFeatures, TData>
|
|
72
|
+
rowSelectionFeature: TableOptions_RowSelection<TFeatures, TData>
|
|
73
|
+
rowSortingFeature: TableOptions_RowSorting
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
type TableOptions_StockFeatureKeys =
|
|
77
|
+
| 'columnFilteringFeature'
|
|
78
|
+
| 'columnGroupingFeature'
|
|
79
|
+
| 'columnOrderingFeature'
|
|
80
|
+
| 'columnPinningFeature'
|
|
81
|
+
| 'columnResizingFeature'
|
|
82
|
+
| 'columnSizingFeature'
|
|
83
|
+
| 'columnVisibilityFeature'
|
|
84
|
+
| 'globalFilteringFeature'
|
|
85
|
+
| 'rowExpandingFeature'
|
|
86
|
+
| 'rowPaginationFeature'
|
|
87
|
+
| 'rowPinningFeature'
|
|
88
|
+
| 'rowSelectionFeature'
|
|
89
|
+
| 'rowSortingFeature'
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Plugin entries declaration-merged into `TableOptions_FeatureMap`, i.e. keys
|
|
93
|
+
* beyond the stock set. Resolves to `unknown` (an intersection no-op) when no
|
|
94
|
+
* plugins are merged so the common case skips the union-to-intersection work.
|
|
95
|
+
*/
|
|
96
|
+
type TableOptions_PluginFeatureMapTypes<
|
|
97
|
+
TFeatures extends TableFeatures,
|
|
98
|
+
TData extends RowData,
|
|
99
|
+
> = [
|
|
100
|
+
Exclude<
|
|
101
|
+
keyof TableOptions_FeatureMap<TFeatures, TData>,
|
|
102
|
+
TableOptions_StockFeatureKeys
|
|
103
|
+
>,
|
|
104
|
+
] extends [never]
|
|
105
|
+
? unknown
|
|
106
|
+
: UnionToIntersection<
|
|
107
|
+
TableOptions_FeatureMap<TFeatures, TData>[Exclude<
|
|
108
|
+
keyof TableOptions_FeatureMap<TFeatures, TData>,
|
|
109
|
+
TableOptions_StockFeatureKeys
|
|
110
|
+
>]
|
|
111
|
+
>
|
|
112
|
+
|
|
55
113
|
/**
|
|
56
114
|
* Complete table options for a specific feature set.
|
|
57
115
|
*
|
|
@@ -63,58 +121,9 @@ export type TableOptions<
|
|
|
63
121
|
TFeatures extends TableFeatures,
|
|
64
122
|
TData extends RowData,
|
|
65
123
|
> = TableOptions_Core<TFeatures, TData> &
|
|
66
|
-
|
|
67
|
-
| ('columnFilteringFeature' extends keyof TFeatures
|
|
68
|
-
? TableOptions_ColumnFiltering<TFeatures, TData>
|
|
69
|
-
: never)
|
|
70
|
-
| ('columnGroupingFeature' extends keyof TFeatures
|
|
71
|
-
? TableOptions_ColumnGrouping
|
|
72
|
-
: never)
|
|
73
|
-
| ('columnOrderingFeature' extends keyof TFeatures
|
|
74
|
-
? TableOptions_ColumnOrdering
|
|
75
|
-
: never)
|
|
76
|
-
| ('columnPinningFeature' extends keyof TFeatures
|
|
77
|
-
? TableOptions_ColumnPinning
|
|
78
|
-
: never)
|
|
79
|
-
| ('columnResizingFeature' extends keyof TFeatures
|
|
80
|
-
? TableOptions_ColumnResizing
|
|
81
|
-
: never)
|
|
82
|
-
| ('columnSizingFeature' extends keyof TFeatures
|
|
83
|
-
? TableOptions_ColumnSizing
|
|
84
|
-
: never)
|
|
85
|
-
| ('columnVisibilityFeature' extends keyof TFeatures
|
|
86
|
-
? TableOptions_ColumnVisibility
|
|
87
|
-
: never)
|
|
88
|
-
| ('globalFilteringFeature' extends keyof TFeatures
|
|
89
|
-
? TableOptions_GlobalFiltering<TFeatures, TData>
|
|
90
|
-
: never)
|
|
91
|
-
| ('rowExpandingFeature' extends keyof TFeatures
|
|
92
|
-
? TableOptions_RowExpanding<TFeatures, TData>
|
|
93
|
-
: never)
|
|
94
|
-
| ('rowPaginationFeature' extends keyof TFeatures
|
|
95
|
-
? TableOptions_RowPagination
|
|
96
|
-
: never)
|
|
97
|
-
| ('rowPinningFeature' extends keyof TFeatures
|
|
98
|
-
? TableOptions_RowPinning<TFeatures, TData>
|
|
99
|
-
: never)
|
|
100
|
-
| ('rowSelectionFeature' extends keyof TFeatures
|
|
101
|
-
? TableOptions_RowSelection<TFeatures, TData>
|
|
102
|
-
: never)
|
|
103
|
-
| ('rowSortingFeature' extends keyof TFeatures
|
|
104
|
-
? TableOptions_RowSorting
|
|
105
|
-
: never)
|
|
106
|
-
> &
|
|
107
|
-
ExtractFeatureTypes<'TableOptions', TFeatures> &
|
|
108
|
-
TableOptions_Plugins<TFeatures, TData> &
|
|
124
|
+
ExtractFeatureMapTypes<TFeatures, TableOptions_FeatureMap<TFeatures, TData>> &
|
|
109
125
|
DebugOptions<TFeatures>
|
|
110
126
|
|
|
111
|
-
// export type TableOptions<
|
|
112
|
-
// TFeatures extends TableFeatures,
|
|
113
|
-
// TData extends RowData,
|
|
114
|
-
// > = TableOptions_Core<TFeatures, TData> &
|
|
115
|
-
// ExtractFeatureTypes<'TableOptions', TFeatures> &
|
|
116
|
-
// TableOptions_Plugins<TFeatures, TData>
|
|
117
|
-
|
|
118
127
|
/**
|
|
119
128
|
* Internal broad option shape used where feature code may need to read options
|
|
120
129
|
* from features that are not present in the current generic feature set.
|
|
@@ -136,5 +145,6 @@ export type TableOptions_All<
|
|
|
136
145
|
TableOptions_RowPagination &
|
|
137
146
|
TableOptions_RowPinning<TFeatures, TData> &
|
|
138
147
|
TableOptions_RowSelection<TFeatures, TData> &
|
|
139
|
-
TableOptions_RowSorting
|
|
148
|
+
TableOptions_RowSorting &
|
|
149
|
+
TableOptions_PluginFeatureMapTypes<TFeatures, TData>
|
|
140
150
|
>
|
package/src/types/TableState.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { UnionToIntersection } from './type-utils'
|
|
2
1
|
import type { TableState_ColumnFiltering } from '../features/column-filtering/columnFilteringFeature.types'
|
|
3
2
|
import type { TableState_ColumnGrouping } from '../features/column-grouping/columnGroupingFeature.types'
|
|
4
3
|
import type { TableState_ColumnOrdering } from '../features/column-ordering/columnOrderingFeature.types'
|
|
@@ -12,13 +11,23 @@ import type { TableState_RowPagination } from '../features/row-pagination/rowPag
|
|
|
12
11
|
import type { TableState_RowPinning } from '../features/row-pinning/rowPinningFeature.types'
|
|
13
12
|
import type { TableState_RowSelection } from '../features/row-selection/rowSelectionFeature.types'
|
|
14
13
|
import type { TableState_RowSorting } from '../features/row-sorting/rowSortingFeature.types'
|
|
15
|
-
import type {
|
|
14
|
+
import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
|
|
16
15
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
export interface TableState_FeatureMap {
|
|
17
|
+
columnFilteringFeature: TableState_ColumnFiltering
|
|
18
|
+
columnGroupingFeature: TableState_ColumnGrouping
|
|
19
|
+
columnOrderingFeature: TableState_ColumnOrdering
|
|
20
|
+
columnPinningFeature: TableState_ColumnPinning
|
|
21
|
+
columnResizingFeature: TableState_ColumnResizing
|
|
22
|
+
columnSizingFeature: TableState_ColumnSizing
|
|
23
|
+
columnVisibilityFeature: TableState_ColumnVisibility
|
|
24
|
+
globalFilteringFeature: TableState_GlobalFiltering
|
|
25
|
+
rowExpandingFeature: TableState_RowExpanding
|
|
26
|
+
rowPaginationFeature: TableState_RowPagination
|
|
27
|
+
rowPinningFeature: TableState_RowPinning
|
|
28
|
+
rowSelectionFeature: TableState_RowSelection
|
|
29
|
+
rowSortingFeature: TableState_RowSorting
|
|
30
|
+
}
|
|
22
31
|
|
|
23
32
|
/**
|
|
24
33
|
* Complete table state for a specific feature set.
|
|
@@ -26,75 +35,13 @@ export interface TableState_Plugins<TFeatures extends TableFeatures> {}
|
|
|
26
35
|
* State slices are included only when their feature is present in `TFeatures`,
|
|
27
36
|
* then custom feature/plugin state is mixed in.
|
|
28
37
|
*/
|
|
29
|
-
export type TableState<TFeatures extends TableFeatures> =
|
|
30
|
-
|
|
31
|
-
? TableState_ColumnFiltering
|
|
32
|
-
: never)
|
|
33
|
-
| ('columnGroupingFeature' extends keyof TFeatures
|
|
34
|
-
? TableState_ColumnGrouping
|
|
35
|
-
: never)
|
|
36
|
-
| ('columnOrderingFeature' extends keyof TFeatures
|
|
37
|
-
? TableState_ColumnOrdering
|
|
38
|
-
: never)
|
|
39
|
-
| ('columnPinningFeature' extends keyof TFeatures
|
|
40
|
-
? TableState_ColumnPinning
|
|
41
|
-
: never)
|
|
42
|
-
| ('columnResizingFeature' extends keyof TFeatures
|
|
43
|
-
? TableState_ColumnResizing
|
|
44
|
-
: never)
|
|
45
|
-
| ('columnSizingFeature' extends keyof TFeatures
|
|
46
|
-
? TableState_ColumnSizing
|
|
47
|
-
: never)
|
|
48
|
-
| ('columnVisibilityFeature' extends keyof TFeatures
|
|
49
|
-
? TableState_ColumnVisibility
|
|
50
|
-
: never)
|
|
51
|
-
| ('globalFilteringFeature' extends keyof TFeatures
|
|
52
|
-
? TableState_GlobalFiltering
|
|
53
|
-
: never)
|
|
54
|
-
| ('rowExpandingFeature' extends keyof TFeatures
|
|
55
|
-
? TableState_RowExpanding
|
|
56
|
-
: never)
|
|
57
|
-
| ('rowPaginationFeature' extends keyof TFeatures
|
|
58
|
-
? TableState_RowPagination
|
|
59
|
-
: never)
|
|
60
|
-
| ('rowPinningFeature' extends keyof TFeatures
|
|
61
|
-
? TableState_RowPinning
|
|
62
|
-
: never)
|
|
63
|
-
| ('rowSelectionFeature' extends keyof TFeatures
|
|
64
|
-
? TableState_RowSelection
|
|
65
|
-
: never)
|
|
66
|
-
| ('rowSortingFeature' extends keyof TFeatures
|
|
67
|
-
? TableState_RowSorting
|
|
68
|
-
: never)
|
|
69
|
-
> &
|
|
70
|
-
ExtractFeatureTypes<'TableState', TFeatures> &
|
|
71
|
-
TableState_Plugins<TFeatures>
|
|
72
|
-
|
|
73
|
-
// export type TableState<TFeatures extends TableFeatures> = ExtractFeatureTypes<
|
|
74
|
-
// export type TableState<TFeatures extends TableFeatures> = ExtractFeatureTypes<
|
|
75
|
-
// 'TableState',
|
|
76
|
-
// TFeatures
|
|
77
|
-
// > &
|
|
78
|
-
// TableState_Plugins<TFeatures>
|
|
38
|
+
export type TableState<TFeatures extends TableFeatures> =
|
|
39
|
+
ExtractFeatureMapTypes<TFeatures, TableState_FeatureMap>
|
|
79
40
|
|
|
80
41
|
/**
|
|
81
|
-
* Internal broad state shape containing every
|
|
42
|
+
* Internal broad state shape containing every registered feature state slice.
|
|
82
43
|
*
|
|
83
44
|
* Feature internals use this when they may need to inspect optional slices owned
|
|
84
45
|
* by other features.
|
|
85
46
|
*/
|
|
86
|
-
export type TableState_All = Partial<
|
|
87
|
-
TableState_ColumnFiltering &
|
|
88
|
-
TableState_ColumnGrouping &
|
|
89
|
-
TableState_ColumnOrdering &
|
|
90
|
-
TableState_ColumnPinning &
|
|
91
|
-
TableState_ColumnResizing &
|
|
92
|
-
TableState_ColumnSizing &
|
|
93
|
-
TableState_ColumnVisibility &
|
|
94
|
-
TableState_GlobalFiltering &
|
|
95
|
-
TableState_RowExpanding &
|
|
96
|
-
TableState_RowPagination &
|
|
97
|
-
TableState_RowPinning &
|
|
98
|
-
TableState_RowSelection &
|
|
99
|
-
TableState_RowSorting
|
|
100
|
-
>
|
|
47
|
+
export type TableState_All = Partial<TableState<TableFeatures>>
|