@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
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { RowData
|
|
1
|
+
import { RowData } from "./type-utils.js";
|
|
2
2
|
import { RowModelFns_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
|
|
3
3
|
import { RowModelFns_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
|
|
5
5
|
import { RowModelFns_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
|
|
6
6
|
|
|
7
7
|
//#region src/types/RowModelFns.d.ts
|
|
8
|
-
/**
|
|
9
|
-
* Use this interface as a target for declaration merging to add your own plugin properties.
|
|
10
|
-
* Note: This will affect the types of all tables in your project.
|
|
11
|
-
*/
|
|
12
|
-
interface RowModelFns_Plugins<TFeatures extends TableFeatures, TData extends RowData> {}
|
|
13
8
|
interface RowModelFns_Core {}
|
|
14
|
-
|
|
9
|
+
interface RowModelFns_FeatureMap<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
10
|
+
columnFilteringFeature: RowModelFns_ColumnFiltering<TFeatures, TData>;
|
|
11
|
+
columnGroupingFeature: RowModelFns_ColumnGrouping<TFeatures, TData>;
|
|
12
|
+
rowSortingFeature: RowModelFns_RowSorting<TFeatures, TData>;
|
|
13
|
+
}
|
|
14
|
+
type RowModelFns<TFeatures extends TableFeatures, TData extends RowData> = Partial<ExtractFeatureMapTypes<TFeatures, RowModelFns_FeatureMap<TFeatures, TData>>>;
|
|
15
15
|
type RowModelFns_All<TFeatures extends TableFeatures, TData extends RowData> = Partial<RowModelFns_ColumnFiltering<TFeatures, TData> & RowModelFns_ColumnGrouping<TFeatures, TData> & RowModelFns_RowSorting<TFeatures, TData>>;
|
|
16
16
|
//#endregion
|
|
17
|
-
export { RowModelFns, RowModelFns_All, RowModelFns_Core,
|
|
17
|
+
export { RowModelFns, RowModelFns_All, RowModelFns_Core, RowModelFns_FeatureMap };
|
|
18
18
|
//# sourceMappingURL=RowModelFns.d.ts.map
|
package/dist/types/Table.d.cts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { RowData
|
|
1
|
+
import { RowData } from "./type-utils.cjs";
|
|
2
|
+
import { Table_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.cjs";
|
|
2
3
|
import { Table_RowSorting } from "../features/row-sorting/rowSortingFeature.types.cjs";
|
|
3
|
-
import { Table_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.cjs";
|
|
4
4
|
import { Table_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.cjs";
|
|
5
5
|
import { Table_Headers } from "../core/headers/coreHeadersFeature.types.cjs";
|
|
6
|
-
import { Table_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.cjs";
|
|
7
6
|
import { Table_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.cjs";
|
|
8
7
|
import { Table_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.cjs";
|
|
9
8
|
import { Table_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.cjs";
|
|
@@ -13,47 +12,76 @@ import { Table_RowExpanding } from "../features/row-expanding/rowExpandingFeatur
|
|
|
13
12
|
import { Table_RowPinning } from "../features/row-pinning/rowPinningFeature.types.cjs";
|
|
14
13
|
import { Table_RowSelection } from "../features/row-selection/rowSelectionFeature.types.cjs";
|
|
15
14
|
import { Table_Rows } from "../core/rows/coreRowsFeature.types.cjs";
|
|
16
|
-
import {
|
|
15
|
+
import { Table_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.cjs";
|
|
17
16
|
import { Table_RowPagination } from "../features/row-pagination/rowPaginationFeature.types.cjs";
|
|
18
|
-
import { CachedRowModel_All
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import { TableOptions_All } from "./TableOptions.cjs";
|
|
22
|
-
import {
|
|
17
|
+
import { CachedRowModel_All } from "./RowModel.cjs";
|
|
18
|
+
import { RowModelFns_All } from "./RowModelFns.cjs";
|
|
19
|
+
import { TableState, TableState_All } from "./TableState.cjs";
|
|
20
|
+
import { DebugOptions, TableOptions_All } from "./TableOptions.cjs";
|
|
21
|
+
import { Atoms, Atoms_All, BaseAtoms, BaseAtoms_All, ExternalAtoms_All, Table_Table } from "../core/table/coreTablesFeature.types.cjs";
|
|
22
|
+
import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.cjs";
|
|
23
23
|
import { Table_ColumnFaceting } from "../features/column-faceting/columnFacetingFeature.types.cjs";
|
|
24
24
|
import { Table_RowModels } from "../core/row-models/coreRowModelsFeature.types.cjs";
|
|
25
25
|
import { Table_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.cjs";
|
|
26
26
|
import { ReadonlyStore } from "@tanstack/store";
|
|
27
27
|
|
|
28
28
|
//#region src/types/Table.d.ts
|
|
29
|
-
/**
|
|
30
|
-
* Use this interface as a target for declaration merging to add your own plugin properties.
|
|
31
|
-
* Note: This will affect the types of all tables in your project.
|
|
32
|
-
*/
|
|
33
|
-
interface Table_Plugins<TFeatures extends TableFeatures, TData extends RowData> {}
|
|
34
29
|
/**
|
|
35
30
|
* The core table object that only includes the core table functionality such as column, header, row, and table APIS.
|
|
36
31
|
* No features are included.
|
|
37
32
|
*/
|
|
38
33
|
type Table_Core<TFeatures extends TableFeatures, TData extends RowData> = Table_Table<TFeatures, TData> & Table_Columns<TFeatures, TData> & Table_Rows<TFeatures, TData> & Table_RowModels<TFeatures, TData> & Table_Headers<TFeatures, TData>;
|
|
34
|
+
interface Table_FeatureMap<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
35
|
+
columnFilteringFeature: Table_ColumnFiltering;
|
|
36
|
+
columnGroupingFeature: Table_ColumnGrouping<TFeatures, TData>;
|
|
37
|
+
columnOrderingFeature: Table_ColumnOrdering<TFeatures, TData>;
|
|
38
|
+
columnPinningFeature: Table_ColumnPinning<TFeatures, TData>;
|
|
39
|
+
columnResizingFeature: Table_ColumnResizing;
|
|
40
|
+
columnSizingFeature: Table_ColumnSizing;
|
|
41
|
+
columnVisibilityFeature: Table_ColumnVisibility<TFeatures, TData>;
|
|
42
|
+
columnFacetingFeature: Table_ColumnFaceting<TFeatures, TData>;
|
|
43
|
+
globalFilteringFeature: Table_GlobalFiltering<TFeatures, TData>;
|
|
44
|
+
rowExpandingFeature: Table_RowExpanding<TFeatures, TData>;
|
|
45
|
+
rowPaginationFeature: Table_RowPagination<TFeatures, TData>;
|
|
46
|
+
rowPinningFeature: Table_RowPinning<TFeatures, TData>;
|
|
47
|
+
rowSelectionFeature: Table_RowSelection<TFeatures, TData>;
|
|
48
|
+
rowSortingFeature: Table_RowSorting<TFeatures, TData>;
|
|
49
|
+
}
|
|
39
50
|
/**
|
|
40
51
|
* The table object that includes both the core table functionality and the features that are enabled via the `features` table option.
|
|
41
52
|
*/
|
|
42
|
-
type Table<TFeatures extends TableFeatures, TData extends RowData> = Table_Core<TFeatures, TData> &
|
|
43
|
-
|
|
53
|
+
type Table<TFeatures extends TableFeatures, TData extends RowData> = Table_Core<TFeatures, TData> & ExtractFeatureMapTypes<TFeatures, Table_FeatureMap<TFeatures, TData>>;
|
|
54
|
+
/**
|
|
55
|
+
* `Table_Table` members that `Table_Internal` re-declares with broadened
|
|
56
|
+
* (all-features) types so internal code can read any feature's slots and
|
|
57
|
+
* construction code can assign them.
|
|
58
|
+
*/
|
|
59
|
+
type Table_InternalBroadenedKeys = '_rowModels' | '_rowModelFns' | 'options' | 'initialState' | 'store';
|
|
60
|
+
/**
|
|
61
|
+
* Internal broad table shape used by feature implementations.
|
|
62
|
+
*
|
|
63
|
+
* Declared as an interface extending every stock feature's table API (rather
|
|
64
|
+
* than the feature-conditional `Table` intersection) so that the compiler can
|
|
65
|
+
* relate `Table_Internal` instantiations nominally instead of structurally
|
|
66
|
+
* re-expanding the feature-map conditional for every internal call site.
|
|
67
|
+
* Mirrors the `*_All` convention used for options, state, and row models.
|
|
68
|
+
* Type parameters are annotated `in out` (invariant) so the checker can relate
|
|
69
|
+
* instantiations by their type arguments without measuring variance or falling
|
|
70
|
+
* back to member-by-member structural comparison.
|
|
71
|
+
*/
|
|
72
|
+
interface Table_Internal<in out TFeatures extends TableFeatures, in out TData extends RowData = any> extends Omit<Table_Table<TFeatures, TData>, Table_InternalBroadenedKeys>, Table_Columns<TFeatures, TData>, Table_Rows<TFeatures, TData>, Table_RowModels<TFeatures, TData>, Table_Headers<TFeatures, TData>, Table_ColumnFiltering, Table_ColumnGrouping<TFeatures, TData>, Table_ColumnOrdering<TFeatures, TData>, Table_ColumnPinning<TFeatures, TData>, Table_ColumnResizing, Table_ColumnSizing, Table_ColumnVisibility<TFeatures, TData>, Table_ColumnFaceting<TFeatures, TData>, Table_GlobalFiltering<TFeatures, TData>, Table_RowExpanding<TFeatures, TData>, Table_RowPagination<TFeatures, TData>, Table_RowPinning<TFeatures, TData>, Table_RowSelection<TFeatures, TData>, Table_RowSorting<TFeatures, TData> {
|
|
44
73
|
_rowModels: CachedRowModel_All<TFeatures, TData>;
|
|
45
74
|
_rowModelFns: RowModelFns_All<TFeatures, TData>;
|
|
46
|
-
options: TableOptions_All<TFeatures, TData> & {
|
|
47
|
-
rowModels?: CreateRowModels_All<TFeatures, TData>;
|
|
75
|
+
options: DebugOptions<TableFeatures> & TableOptions_All<TFeatures, TData> & {
|
|
48
76
|
state?: TableState_All;
|
|
49
77
|
initialState?: TableState_All;
|
|
50
78
|
atoms?: ExternalAtoms_All;
|
|
51
79
|
};
|
|
52
|
-
initialState: TableState_All;
|
|
53
|
-
baseAtoms: BaseAtoms_All;
|
|
54
|
-
atoms: Atoms_All;
|
|
55
|
-
store: ReadonlyStore<TableState_All>;
|
|
56
|
-
}
|
|
80
|
+
initialState: TableState<TFeatures> & TableState_All;
|
|
81
|
+
baseAtoms: BaseAtoms<TFeatures> & BaseAtoms_All;
|
|
82
|
+
atoms: Atoms<TFeatures> & Atoms_All;
|
|
83
|
+
store: ReadonlyStore<TableState<TFeatures>> & ReadonlyStore<TableState_All>;
|
|
84
|
+
}
|
|
57
85
|
//#endregion
|
|
58
|
-
export { Table, Table_Core,
|
|
86
|
+
export { Table, Table_Core, Table_FeatureMap, Table_Internal };
|
|
59
87
|
//# sourceMappingURL=Table.d.cts.map
|
package/dist/types/Table.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { RowData
|
|
1
|
+
import { RowData } from "./type-utils.js";
|
|
2
|
+
import { Table_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
|
|
2
3
|
import { Table_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
|
|
3
|
-
import { Table_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
|
|
4
4
|
import { Table_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
|
|
5
5
|
import { Table_Headers } from "../core/headers/coreHeadersFeature.types.js";
|
|
6
|
-
import { Table_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
|
|
7
6
|
import { Table_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
|
|
8
7
|
import { Table_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
|
|
9
8
|
import { Table_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.js";
|
|
@@ -13,47 +12,76 @@ import { Table_RowExpanding } from "../features/row-expanding/rowExpandingFeatur
|
|
|
13
12
|
import { Table_RowPinning } from "../features/row-pinning/rowPinningFeature.types.js";
|
|
14
13
|
import { Table_RowSelection } from "../features/row-selection/rowSelectionFeature.types.js";
|
|
15
14
|
import { Table_Rows } from "../core/rows/coreRowsFeature.types.js";
|
|
16
|
-
import {
|
|
15
|
+
import { Table_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
|
|
17
16
|
import { Table_RowPagination } from "../features/row-pagination/rowPaginationFeature.types.js";
|
|
18
|
-
import { CachedRowModel_All
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import { TableOptions_All } from "./TableOptions.js";
|
|
22
|
-
import {
|
|
17
|
+
import { CachedRowModel_All } from "./RowModel.js";
|
|
18
|
+
import { RowModelFns_All } from "./RowModelFns.js";
|
|
19
|
+
import { TableState, TableState_All } from "./TableState.js";
|
|
20
|
+
import { DebugOptions, TableOptions_All } from "./TableOptions.js";
|
|
21
|
+
import { Atoms, Atoms_All, BaseAtoms, BaseAtoms_All, ExternalAtoms_All, Table_Table } from "../core/table/coreTablesFeature.types.js";
|
|
22
|
+
import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
|
|
23
23
|
import { Table_ColumnFaceting } from "../features/column-faceting/columnFacetingFeature.types.js";
|
|
24
24
|
import { Table_RowModels } from "../core/row-models/coreRowModelsFeature.types.js";
|
|
25
25
|
import { Table_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
|
|
26
26
|
import { ReadonlyStore } from "@tanstack/store";
|
|
27
27
|
|
|
28
28
|
//#region src/types/Table.d.ts
|
|
29
|
-
/**
|
|
30
|
-
* Use this interface as a target for declaration merging to add your own plugin properties.
|
|
31
|
-
* Note: This will affect the types of all tables in your project.
|
|
32
|
-
*/
|
|
33
|
-
interface Table_Plugins<TFeatures extends TableFeatures, TData extends RowData> {}
|
|
34
29
|
/**
|
|
35
30
|
* The core table object that only includes the core table functionality such as column, header, row, and table APIS.
|
|
36
31
|
* No features are included.
|
|
37
32
|
*/
|
|
38
33
|
type Table_Core<TFeatures extends TableFeatures, TData extends RowData> = Table_Table<TFeatures, TData> & Table_Columns<TFeatures, TData> & Table_Rows<TFeatures, TData> & Table_RowModels<TFeatures, TData> & Table_Headers<TFeatures, TData>;
|
|
34
|
+
interface Table_FeatureMap<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
35
|
+
columnFilteringFeature: Table_ColumnFiltering;
|
|
36
|
+
columnGroupingFeature: Table_ColumnGrouping<TFeatures, TData>;
|
|
37
|
+
columnOrderingFeature: Table_ColumnOrdering<TFeatures, TData>;
|
|
38
|
+
columnPinningFeature: Table_ColumnPinning<TFeatures, TData>;
|
|
39
|
+
columnResizingFeature: Table_ColumnResizing;
|
|
40
|
+
columnSizingFeature: Table_ColumnSizing;
|
|
41
|
+
columnVisibilityFeature: Table_ColumnVisibility<TFeatures, TData>;
|
|
42
|
+
columnFacetingFeature: Table_ColumnFaceting<TFeatures, TData>;
|
|
43
|
+
globalFilteringFeature: Table_GlobalFiltering<TFeatures, TData>;
|
|
44
|
+
rowExpandingFeature: Table_RowExpanding<TFeatures, TData>;
|
|
45
|
+
rowPaginationFeature: Table_RowPagination<TFeatures, TData>;
|
|
46
|
+
rowPinningFeature: Table_RowPinning<TFeatures, TData>;
|
|
47
|
+
rowSelectionFeature: Table_RowSelection<TFeatures, TData>;
|
|
48
|
+
rowSortingFeature: Table_RowSorting<TFeatures, TData>;
|
|
49
|
+
}
|
|
39
50
|
/**
|
|
40
51
|
* The table object that includes both the core table functionality and the features that are enabled via the `features` table option.
|
|
41
52
|
*/
|
|
42
|
-
type Table<TFeatures extends TableFeatures, TData extends RowData> = Table_Core<TFeatures, TData> &
|
|
43
|
-
|
|
53
|
+
type Table<TFeatures extends TableFeatures, TData extends RowData> = Table_Core<TFeatures, TData> & ExtractFeatureMapTypes<TFeatures, Table_FeatureMap<TFeatures, TData>>;
|
|
54
|
+
/**
|
|
55
|
+
* `Table_Table` members that `Table_Internal` re-declares with broadened
|
|
56
|
+
* (all-features) types so internal code can read any feature's slots and
|
|
57
|
+
* construction code can assign them.
|
|
58
|
+
*/
|
|
59
|
+
type Table_InternalBroadenedKeys = '_rowModels' | '_rowModelFns' | 'options' | 'initialState' | 'store';
|
|
60
|
+
/**
|
|
61
|
+
* Internal broad table shape used by feature implementations.
|
|
62
|
+
*
|
|
63
|
+
* Declared as an interface extending every stock feature's table API (rather
|
|
64
|
+
* than the feature-conditional `Table` intersection) so that the compiler can
|
|
65
|
+
* relate `Table_Internal` instantiations nominally instead of structurally
|
|
66
|
+
* re-expanding the feature-map conditional for every internal call site.
|
|
67
|
+
* Mirrors the `*_All` convention used for options, state, and row models.
|
|
68
|
+
* Type parameters are annotated `in out` (invariant) so the checker can relate
|
|
69
|
+
* instantiations by their type arguments without measuring variance or falling
|
|
70
|
+
* back to member-by-member structural comparison.
|
|
71
|
+
*/
|
|
72
|
+
interface Table_Internal<in out TFeatures extends TableFeatures, in out TData extends RowData = any> extends Omit<Table_Table<TFeatures, TData>, Table_InternalBroadenedKeys>, Table_Columns<TFeatures, TData>, Table_Rows<TFeatures, TData>, Table_RowModels<TFeatures, TData>, Table_Headers<TFeatures, TData>, Table_ColumnFiltering, Table_ColumnGrouping<TFeatures, TData>, Table_ColumnOrdering<TFeatures, TData>, Table_ColumnPinning<TFeatures, TData>, Table_ColumnResizing, Table_ColumnSizing, Table_ColumnVisibility<TFeatures, TData>, Table_ColumnFaceting<TFeatures, TData>, Table_GlobalFiltering<TFeatures, TData>, Table_RowExpanding<TFeatures, TData>, Table_RowPagination<TFeatures, TData>, Table_RowPinning<TFeatures, TData>, Table_RowSelection<TFeatures, TData>, Table_RowSorting<TFeatures, TData> {
|
|
44
73
|
_rowModels: CachedRowModel_All<TFeatures, TData>;
|
|
45
74
|
_rowModelFns: RowModelFns_All<TFeatures, TData>;
|
|
46
|
-
options: TableOptions_All<TFeatures, TData> & {
|
|
47
|
-
rowModels?: CreateRowModels_All<TFeatures, TData>;
|
|
75
|
+
options: DebugOptions<TableFeatures> & TableOptions_All<TFeatures, TData> & {
|
|
48
76
|
state?: TableState_All;
|
|
49
77
|
initialState?: TableState_All;
|
|
50
78
|
atoms?: ExternalAtoms_All;
|
|
51
79
|
};
|
|
52
|
-
initialState: TableState_All;
|
|
53
|
-
baseAtoms: BaseAtoms_All;
|
|
54
|
-
atoms: Atoms_All;
|
|
55
|
-
store: ReadonlyStore<TableState_All>;
|
|
56
|
-
}
|
|
80
|
+
initialState: TableState<TFeatures> & TableState_All;
|
|
81
|
+
baseAtoms: BaseAtoms<TFeatures> & BaseAtoms_All;
|
|
82
|
+
atoms: Atoms<TFeatures> & Atoms_All;
|
|
83
|
+
store: ReadonlyStore<TableState<TFeatures>> & ReadonlyStore<TableState_All>;
|
|
84
|
+
}
|
|
57
85
|
//#endregion
|
|
58
|
-
export { Table, Table_Core,
|
|
86
|
+
export { Table, Table_Core, Table_FeatureMap, Table_Internal };
|
|
59
87
|
//# sourceMappingURL=Table.d.ts.map
|
|
@@ -1,77 +1,214 @@
|
|
|
1
1
|
import { CellData, RowData, UnionToIntersection } from "./type-utils.cjs";
|
|
2
2
|
import { CoreFeatures } from "../core/coreFeatures.cjs";
|
|
3
|
+
import { SortFn } from "../features/row-sorting/rowSortingFeature.types.cjs";
|
|
3
4
|
import { Row } from "./Row.cjs";
|
|
4
|
-
import {
|
|
5
|
+
import { FilterFn } from "../features/column-filtering/columnFilteringFeature.types.cjs";
|
|
5
6
|
import { TableState_All } from "./TableState.cjs";
|
|
6
7
|
import { TableOptions_All } from "./TableOptions.cjs";
|
|
7
|
-
import { StockFeatures } from "../features/stockFeatures.cjs";
|
|
8
8
|
import { Table_Internal } from "./Table.cjs";
|
|
9
|
+
import { ColumnDefBase_All } from "./ColumnDef.cjs";
|
|
10
|
+
import { StockFeatures } from "../features/stockFeatures.cjs";
|
|
11
|
+
import { RowModel } from "../core/row-models/coreRowModelsFeature.types.cjs";
|
|
12
|
+
import { AggregationFn } from "../features/column-grouping/columnGroupingFeature.types.cjs";
|
|
9
13
|
|
|
10
14
|
//#region src/types/TableFeatures.d.ts
|
|
11
|
-
type
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
CreateRowModels?: any;
|
|
18
|
-
Header?: any;
|
|
19
|
-
HeaderGroup?: any;
|
|
20
|
-
Row?: any;
|
|
21
|
-
RowModelFns?: any;
|
|
22
|
-
Table?: any;
|
|
23
|
-
TableOptions?: any;
|
|
24
|
-
TableState?: any;
|
|
25
|
-
}
|
|
15
|
+
type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
16
|
+
type UnionToIntersectionOrEmpty<T> = [T] extends [never] ? {} : UnionToIntersection<T> & {};
|
|
17
|
+
type ExtractFeatureMapTypes<TFeatures extends TableFeatures, TFeatureMap extends object> = IsAny<TFeatures> extends true ? UnionToIntersection<TFeatureMap[keyof TFeatureMap]> : UnionToIntersectionOrEmpty<TFeatureMap[Extract<keyof TFeatures, keyof TFeatureMap>]>;
|
|
18
|
+
/**
|
|
19
|
+
* This is an interface that you can delcaration-merge into to allow for custom plugins to be added to the table.
|
|
20
|
+
*/
|
|
26
21
|
interface Plugins {}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
type
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Keys of the `features` option that are not table features themselves.
|
|
24
|
+
*
|
|
25
|
+
* These slots carry per-table types (`tableMeta`, `columnMeta`), row model
|
|
26
|
+
* factories, and row model function registries. They are stripped from the
|
|
27
|
+
* table's registered `_features` at runtime and excluded from feature-derived
|
|
28
|
+
* options such as the generated `debug*` keys.
|
|
29
|
+
*/
|
|
30
|
+
type NonFeatureKeys = 'aggregationFns' | 'columnMeta' | 'coreRowModel' | 'expandedRowModel' | 'facetedMinMaxValues' | 'facetedRowModel' | 'facetedUniqueValues' | 'filterFns' | 'filterMeta' | 'filteredRowModel' | 'groupedRowModel' | 'paginatedRowModel' | 'sortFns' | 'sortedRowModel' | 'tableMeta';
|
|
31
|
+
/**
|
|
32
|
+
* Maps each row model and fn registry slot to the feature(s) that must be
|
|
33
|
+
* registered alongside it in the same features object.
|
|
34
|
+
*
|
|
35
|
+
* Custom features can declaration-merge their own slot prerequisites into this
|
|
36
|
+
* interface to get the same validation from `tableFeatures()`.
|
|
37
|
+
*/
|
|
38
|
+
interface FeatureSlotPrereqs {
|
|
39
|
+
aggregationFns: 'columnGroupingFeature';
|
|
40
|
+
columnResizingFeature: 'columnSizingFeature';
|
|
41
|
+
expandedRowModel: 'rowExpandingFeature';
|
|
42
|
+
facetedMinMaxValues: 'columnFacetingFeature';
|
|
43
|
+
facetedRowModel: 'columnFacetingFeature';
|
|
44
|
+
facetedUniqueValues: 'columnFacetingFeature';
|
|
45
|
+
filteredRowModel: 'columnFilteringFeature';
|
|
46
|
+
filterFns: 'columnFilteringFeature';
|
|
47
|
+
filterMeta: 'columnFilteringFeature';
|
|
48
|
+
globalFilteringFeature: 'columnFilteringFeature';
|
|
49
|
+
groupedRowModel: 'columnGroupingFeature';
|
|
50
|
+
paginatedRowModel: 'rowPaginationFeature';
|
|
51
|
+
sortedRowModel: 'rowSortingFeature';
|
|
52
|
+
sortFns: 'rowSortingFeature';
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Validates that every row model and fn registry slot in a features object is
|
|
56
|
+
* accompanied by its prerequisite feature.
|
|
57
|
+
*
|
|
58
|
+
* Slots whose prerequisite is missing have their type replaced with a literal
|
|
59
|
+
* error message, so the offending property fails to type-check with a message
|
|
60
|
+
* naming the feature that needs to be added.
|
|
61
|
+
*/
|
|
62
|
+
type ValidateFeatureSlots<TFeatures extends TableFeatures> = IsAny<TFeatures> extends true ? {} : { [K in keyof TFeatures as K extends keyof FeatureSlotPrereqs ? K : never]: K extends keyof FeatureSlotPrereqs ? [Extract<FeatureSlotPrereqs[K], keyof TFeatures>] extends [never] ? `Error: '${K & string}' requires '${FeatureSlotPrereqs[K] & string}' to be included in this table's features.` : TFeatures[K] : never };
|
|
63
|
+
interface TableFeatures extends Partial<CoreFeatures>, Partial<StockFeatures>, Partial<Plugins> {
|
|
64
|
+
/**
|
|
65
|
+
* Registry of aggregation functions available to this table by name.
|
|
66
|
+
*
|
|
67
|
+
* Keys registered here become the valid string values for `aggregationFn` on
|
|
68
|
+
* column definitions, with full inference. Spread the exported
|
|
69
|
+
* `aggregationFns` to register the built-in aggregation functions:
|
|
70
|
+
* `aggregationFns: { ...aggregationFns, myCustomAggregationFn }`.
|
|
71
|
+
*/
|
|
72
|
+
aggregationFns?: Record<string, AggregationFn<any, any>>;
|
|
73
|
+
/**
|
|
74
|
+
* Type-only slot for declaring the type of `columnDef.meta` for all columns
|
|
75
|
+
* of this table.
|
|
76
|
+
*
|
|
77
|
+
* Pass a phantom value: `columnMeta: {} as MyColumnMeta`. The value itself is
|
|
78
|
+
* ignored and stripped from the table's registered features at runtime — only
|
|
79
|
+
* its type is used, inferred wherever `TFeatures` flows.
|
|
80
|
+
*
|
|
81
|
+
* When omitted, the global declaration-merged `ColumnMeta` interface applies.
|
|
82
|
+
*/
|
|
83
|
+
columnMeta?: object;
|
|
84
|
+
/**
|
|
85
|
+
* Factory for the table's core (unmodified) row model. Defaults to the
|
|
86
|
+
* built-in `createCoreRowModel()` when omitted.
|
|
87
|
+
*/
|
|
88
|
+
coreRowModel?: (table: any) => () => RowModel<any, any>;
|
|
89
|
+
/**
|
|
90
|
+
* Factory for the client-side expanded row model. Pass the exported
|
|
91
|
+
* `createExpandedRowModel()` or implement your own. Not needed for
|
|
92
|
+
* server-side expansion.
|
|
93
|
+
*/
|
|
94
|
+
expandedRowModel?: (table: any) => () => RowModel<any, any>;
|
|
95
|
+
/**
|
|
96
|
+
* Factory for per-column faceted min/max values. Pass the exported
|
|
97
|
+
* `createFacetedMinMaxValues()` or implement your own. Not needed for
|
|
98
|
+
* server-side faceting.
|
|
99
|
+
*/
|
|
100
|
+
facetedMinMaxValues?: (table: any, columnId: string) => () => [number, number] | undefined;
|
|
101
|
+
/**
|
|
102
|
+
* Factory for the per-column faceted row model. Pass the exported
|
|
103
|
+
* `createFacetedRowModel()` or implement your own. Not needed for
|
|
104
|
+
* server-side faceting.
|
|
105
|
+
*/
|
|
106
|
+
facetedRowModel?: (table: any, columnId: string) => () => RowModel<any, any>;
|
|
107
|
+
/**
|
|
108
|
+
* Factory for per-column faceted unique values. Pass the exported
|
|
109
|
+
* `createFacetedUniqueValues()` or implement your own. Not needed for
|
|
110
|
+
* server-side faceting.
|
|
111
|
+
*/
|
|
112
|
+
facetedUniqueValues?: (table: any, columnId: string) => () => Map<any, number>;
|
|
113
|
+
/**
|
|
114
|
+
* Factory for the client-side filtered row model. Pass the exported
|
|
115
|
+
* `createFilteredRowModel()` or implement your own. Not needed for
|
|
116
|
+
* server-side filtering.
|
|
117
|
+
*/
|
|
118
|
+
filteredRowModel?: (table: any) => () => RowModel<any, any>;
|
|
119
|
+
/**
|
|
120
|
+
* Registry of filter functions available to this table by name.
|
|
121
|
+
*
|
|
122
|
+
* Keys registered here become the valid string values for `filterFn` on
|
|
123
|
+
* column definitions and the `globalFilterFn` option, with full inference.
|
|
124
|
+
* Spread the exported `filterFns` to register the built-in filter functions:
|
|
125
|
+
* `filterFns: { ...filterFns, myCustomFilterFn }`.
|
|
126
|
+
*/
|
|
127
|
+
filterFns?: Record<string, FilterFn<any, any>>;
|
|
128
|
+
/**
|
|
129
|
+
* Type-only slot for declaring the type of the filter meta that filter
|
|
130
|
+
* functions attach to rows via `addMeta` and that is read back from
|
|
131
|
+
* `row.columnFiltersMeta`.
|
|
132
|
+
*
|
|
133
|
+
* Pass a phantom value: `filterMeta: {} as MyFilterMeta` (or
|
|
134
|
+
* `metaHelper<MyFilterMeta>()`). The value itself is ignored and stripped
|
|
135
|
+
* from the table's registered features at runtime; only its type is used.
|
|
136
|
+
*
|
|
137
|
+
* When omitted, the global declaration-merged `FilterMeta` interface applies.
|
|
138
|
+
*/
|
|
139
|
+
filterMeta?: object;
|
|
140
|
+
/**
|
|
141
|
+
* Factory for the client-side grouped row model. Pass the exported
|
|
142
|
+
* `createGroupedRowModel()` or implement your own. Not needed for
|
|
143
|
+
* server-side grouping.
|
|
144
|
+
*/
|
|
145
|
+
groupedRowModel?: (table: any) => () => RowModel<any, any>;
|
|
146
|
+
/**
|
|
147
|
+
* Factory for the client-side paginated row model. Pass the exported
|
|
148
|
+
* `createPaginatedRowModel()` or implement your own. Not needed for
|
|
149
|
+
* server-side pagination.
|
|
150
|
+
*/
|
|
151
|
+
paginatedRowModel?: (table: any) => () => RowModel<any, any>;
|
|
152
|
+
/**
|
|
153
|
+
* Factory for the client-side sorted row model. Pass the exported
|
|
154
|
+
* `createSortedRowModel()` or implement your own. Not needed for
|
|
155
|
+
* server-side sorting.
|
|
156
|
+
*/
|
|
157
|
+
sortedRowModel?: (table: any) => () => RowModel<any, any>;
|
|
158
|
+
/**
|
|
159
|
+
* Registry of sorting functions available to this table by name.
|
|
160
|
+
*
|
|
161
|
+
* Keys registered here become the valid string values for `sortFn` on column
|
|
162
|
+
* definitions, with full inference. Spread the exported `sortFns` to register
|
|
163
|
+
* the built-in sorting functions: `sortFns: { ...sortFns, myCustomSortFn }`.
|
|
164
|
+
*/
|
|
165
|
+
sortFns?: Record<string, SortFn<any, any>>;
|
|
166
|
+
/**
|
|
167
|
+
* Type-only slot for declaring the type of this table's `options.meta`.
|
|
168
|
+
*
|
|
169
|
+
* Pass a phantom value: `tableMeta: {} as MyTableMeta`. The value itself is
|
|
170
|
+
* ignored and stripped from the table's registered features at runtime — only
|
|
171
|
+
* its type is used, inferred wherever `TFeatures` flows.
|
|
172
|
+
*
|
|
173
|
+
* When omitted, the global declaration-merged `TableMeta` interface applies.
|
|
174
|
+
*/
|
|
175
|
+
tableMeta?: object;
|
|
176
|
+
}
|
|
177
|
+
interface TableFeature {
|
|
41
178
|
/**
|
|
42
179
|
* Assigns Cell APIs to the cell prototype for memory-efficient method sharing.
|
|
43
180
|
* This is called once per table to build a shared prototype for all cells.
|
|
44
181
|
*/
|
|
45
|
-
assignCellPrototype?:
|
|
182
|
+
assignCellPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>) => void;
|
|
46
183
|
/**
|
|
47
184
|
* Assigns Column APIs to the column prototype for memory-efficient method sharing.
|
|
48
185
|
* This is called once per table to build a shared prototype for all columns.
|
|
49
186
|
*/
|
|
50
|
-
assignColumnPrototype?:
|
|
187
|
+
assignColumnPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>) => void;
|
|
51
188
|
/**
|
|
52
189
|
* Assigns Header APIs to the header prototype for memory-efficient method sharing.
|
|
53
190
|
* This is called once per table to build a shared prototype for all headers.
|
|
54
191
|
*/
|
|
55
|
-
assignHeaderPrototype?:
|
|
192
|
+
assignHeaderPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>) => void;
|
|
56
193
|
/**
|
|
57
194
|
* Assigns Row APIs to the row prototype for memory-efficient method sharing.
|
|
58
195
|
* This is called once per table to build a shared prototype for all rows.
|
|
59
196
|
*/
|
|
60
|
-
assignRowPrototype?:
|
|
197
|
+
assignRowPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>) => void;
|
|
61
198
|
/**
|
|
62
199
|
* Assigns Table APIs to the table instance.
|
|
63
200
|
* Unlike row/cell/column/header, the table is a singleton so methods are assigned directly.
|
|
64
201
|
*/
|
|
65
|
-
constructTableAPIs?:
|
|
66
|
-
getDefaultColumnDef?:
|
|
67
|
-
getDefaultTableOptions?:
|
|
68
|
-
getInitialState?:
|
|
202
|
+
constructTableAPIs?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>) => void;
|
|
203
|
+
getDefaultColumnDef?: <TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>() => ColumnDefBase_All<TFeatures, TData, TValue>;
|
|
204
|
+
getDefaultTableOptions?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>) => Partial<TableOptions_All<TFeatures, TData>>;
|
|
205
|
+
getInitialState?: (initialState: Partial<TableState_All>) => TableState_All;
|
|
69
206
|
/**
|
|
70
207
|
* Initializes instance-specific data on each row (e.g., caches).
|
|
71
208
|
* Methods should be assigned via assignRowPrototype instead.
|
|
72
209
|
*/
|
|
73
|
-
initRowInstanceData?:
|
|
210
|
+
initRowInstanceData?: <TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>) => void;
|
|
74
211
|
}
|
|
75
212
|
//#endregion
|
|
76
|
-
export {
|
|
213
|
+
export { ExtractFeatureMapTypes, FeatureSlotPrereqs, IsAny, NonFeatureKeys, Plugins, TableFeature, TableFeatures, ValidateFeatureSlots };
|
|
77
214
|
//# sourceMappingURL=TableFeatures.d.cts.map
|