@tanstack/table-core 9.0.0-beta.2 → 9.0.0-beta.20
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 +3 -3
- package/dist/core/cells/constructCell.d.ts +3 -3
- 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 +6 -6
- package/dist/core/cells/coreCellsFeature.types.d.ts +6 -6
- package/dist/core/cells/coreCellsFeature.utils.d.cts +3 -3
- package/dist/core/cells/coreCellsFeature.utils.d.ts +3 -3
- package/dist/core/columns/constructColumn.cjs +5 -0
- package/dist/core/columns/constructColumn.cjs.map +1 -1
- package/dist/core/columns/constructColumn.d.cts +3 -3
- package/dist/core/columns/constructColumn.d.ts +3 -3
- package/dist/core/columns/constructColumn.js +5 -0
- package/dist/core/columns/constructColumn.js.map +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 +7 -7
- package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -7
- package/dist/core/columns/coreColumnsFeature.utils.cjs +2 -2
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +9 -9
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +9 -9
- package/dist/core/columns/coreColumnsFeature.utils.js +3 -3
- package/dist/core/columns/coreColumnsFeature.utils.js.map +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 +2 -2
- package/dist/core/headers/buildHeaderGroups.d.ts +2 -2
- package/dist/core/headers/buildHeaderGroups.js.map +1 -1
- package/dist/core/headers/constructHeader.d.cts +2 -2
- package/dist/core/headers/constructHeader.d.ts +2 -2
- 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 +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +6 -6
- 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 +6 -16
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +6 -16
- 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 +14 -14
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +14 -14
- 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 +2 -3
- package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
- package/dist/core/row-models/createCoreRowModel.d.cts +1 -1
- package/dist/core/row-models/createCoreRowModel.d.ts +1 -1
- package/dist/core/row-models/createCoreRowModel.js +3 -4
- package/dist/core/row-models/createCoreRowModel.js.map +1 -1
- package/dist/core/rows/constructRow.cjs +3 -2
- package/dist/core/rows/constructRow.cjs.map +1 -1
- package/dist/core/rows/constructRow.d.cts +2 -2
- package/dist/core/rows/constructRow.d.ts +2 -2
- package/dist/core/rows/constructRow.js +4 -2
- package/dist/core/rows/constructRow.js.map +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 +6 -6
- package/dist/core/rows/coreRowsFeature.types.d.ts +6 -6
- package/dist/core/rows/coreRowsFeature.utils.cjs +3 -3
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +3 -3
- package/dist/core/rows/coreRowsFeature.utils.d.ts +3 -3
- package/dist/core/rows/coreRowsFeature.utils.js +4 -4
- package/dist/core/rows/coreRowsFeature.utils.js.map +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 +28 -16
- package/dist/core/table/coreTablesFeature.types.d.ts +28 -16
- package/dist/core/table/coreTablesFeature.utils.cjs +33 -12
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +8 -6
- package/dist/core/table/coreTablesFeature.utils.d.ts +8 -6
- package/dist/core/table/coreTablesFeature.utils.js +33 -12
- 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 +8 -8
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +8 -8
- 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 +42 -54
- 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 +12 -12
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +12 -12
- 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 +12 -7
- 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 +13 -8
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
- package/dist/features/column-filtering/filterRowsUtils.cjs +3 -2
- package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
- package/dist/features/column-filtering/filterRowsUtils.js +3 -2
- package/dist/features/column-filtering/filterRowsUtils.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 +59 -70
- 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.cjs +3 -3
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +11 -11
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +11 -11
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +4 -4
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +9 -7
- 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 +10 -8
- 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 +9 -9
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +9 -9
- 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 +31 -30
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +31 -30
- 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.types.d.cts +1 -4
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +1 -4
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +2 -5
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +6 -6
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +6 -6
- package/dist/features/column-resizing/columnResizingFeature.utils.js +3 -6
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +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.cjs +11 -4
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +12 -12
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +12 -12
- package/dist/features/column-sizing/columnSizingFeature.utils.js +12 -5
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
- 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.cjs +12 -9
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +14 -14
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +14 -14
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +13 -10
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +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 +2 -2
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +2 -2
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +10 -8
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -8
- 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.cjs +21 -12
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +10 -10
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +10 -10
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +22 -13
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +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 +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 +17 -17
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +17 -17
- 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.cjs +2 -2
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +7 -7
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +7 -7
- package/dist/features/row-pinning/rowPinningFeature.utils.js +2 -2
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +108 -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 +110 -78
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +13 -5
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +13 -5
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +76 -60
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +48 -23
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +48 -23
- package/dist/features/row-selection/rowSelectionFeature.utils.js +77 -62
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +5 -3
- 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 +6 -4
- 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 +24 -21
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +24 -21
- 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 +16 -16
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +16 -16
- 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/columnHelper.cjs.map +1 -1
- package/dist/helpers/columnHelper.d.cts +2 -2
- package/dist/helpers/columnHelper.d.ts +2 -2
- package/dist/helpers/columnHelper.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 +4 -20
- package/dist/index.d.cts +50 -49
- package/dist/index.d.ts +50 -49
- package/dist/index.js +23 -22
- package/dist/static-functions.cjs +1 -0
- package/dist/static-functions.d.cts +2 -2
- package/dist/static-functions.d.ts +2 -2
- package/dist/static-functions.js +2 -2
- 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 +4 -9
- package/dist/types/Cell.d.ts +4 -9
- package/dist/types/Column.d.cts +11 -18
- package/dist/types/Column.d.ts +11 -18
- package/dist/types/ColumnDef.d.cts +23 -14
- package/dist/types/ColumnDef.d.ts +23 -14
- package/dist/types/Header.d.cts +5 -10
- package/dist/types/Header.d.ts +5 -10
- package/dist/types/HeaderGroup.d.cts +4 -9
- package/dist/types/HeaderGroup.d.ts +4 -9
- package/dist/types/Row.d.cts +7 -12
- package/dist/types/Row.d.ts +7 -12
- package/dist/types/RowModel.d.cts +12 -28
- package/dist/types/RowModel.d.ts +12 -28
- package/dist/types/RowModelFns.d.cts +6 -11
- package/dist/types/RowModelFns.d.ts +6 -11
- package/dist/types/Table.d.cts +26 -36
- package/dist/types/Table.d.ts +26 -36
- package/dist/types/TableFeatures.d.cts +328 -54
- package/dist/types/TableFeatures.d.ts +328 -54
- package/dist/types/TableOptions.d.cts +22 -17
- package/dist/types/TableOptions.d.ts +22 -17
- package/dist/types/TableState.d.cts +11 -16
- package/dist/types/TableState.d.ts +11 -16
- package/dist/utils.cjs +24 -2
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +23 -7
- package/dist/utils.d.ts +23 -7
- package/dist/utils.js +23 -3
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- 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/constructColumn.ts +6 -0
- package/src/core/columns/coreColumnsFeature.ts +56 -83
- package/src/core/columns/coreColumnsFeature.types.ts +8 -8
- package/src/core/columns/coreColumnsFeature.utils.ts +4 -4
- package/src/core/coreFeatures.ts +1 -1
- package/src/core/headers/buildHeaderGroups.ts +4 -2
- package/src/core/headers/coreHeadersFeature.ts +42 -64
- package/src/core/headers/coreHeadersFeature.types.ts +12 -12
- 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 +7 -6
- package/src/core/rows/constructRow.ts +3 -2
- package/src/core/rows/coreRowsFeature.ts +45 -72
- package/src/core/rows/coreRowsFeature.types.ts +8 -8
- package/src/core/rows/coreRowsFeature.utils.ts +4 -4
- 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 +52 -18
- 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 +61 -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 +18 -17
- package/src/features/column-filtering/filterRowsUtils.ts +3 -2
- package/src/features/column-grouping/columnGroupingFeature.ts +83 -126
- package/src/features/column-grouping/columnGroupingFeature.types.ts +32 -31
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +2 -2
- package/src/features/column-grouping/createGroupedRowModel.ts +17 -16
- 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 +11 -19
- package/src/features/column-resizing/columnResizingFeature.ts +44 -78
- package/src/features/column-resizing/columnResizingFeature.types.ts +1 -4
- package/src/features/column-resizing/columnResizingFeature.utils.ts +5 -6
- package/src/features/column-sizing/columnSizingFeature.ts +115 -152
- package/src/features/column-sizing/columnSizingFeature.utils.ts +27 -5
- package/src/features/column-visibility/columnVisibilityFeature.ts +92 -129
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +31 -15
- 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 +5 -3
- 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-expanding/rowExpandingFeature.utils.ts +38 -13
- package/src/features/row-pagination/createPaginatedRowModel.ts +2 -2
- 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 +125 -135
- package/src/features/row-selection/rowSelectionFeature.types.ts +17 -7
- package/src/features/row-selection/rowSelectionFeature.utils.ts +144 -66
- package/src/features/row-sorting/createSortedRowModel.ts +12 -15
- 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 +237 -264
- package/src/fns/sortFns.ts +51 -29
- package/src/helpers/columnHelper.ts +4 -4
- 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 +5 -21
- package/src/types/Column.ts +12 -26
- package/src/types/ColumnDef.ts +28 -18
- package/src/types/Header.ts +4 -20
- package/src/types/HeaderGroup.ts +7 -18
- package/src/types/Row.ts +6 -21
- package/src/types/RowModel.ts +15 -88
- package/src/types/RowModelFns.ts +9 -24
- package/src/types/Table.ts +54 -44
- package/src/types/TableFeatures.ts +402 -123
- package/src/types/TableOptions.ts +59 -21
- package/src/types/TableState.ts +5 -17
- package/src/utils.ts +40 -8
|
@@ -7,7 +7,7 @@ import type { RowModel } from './coreRowModelsFeature.types'
|
|
|
7
7
|
/**
|
|
8
8
|
* Resolves the table's unmodified core row model.
|
|
9
9
|
*
|
|
10
|
-
* The factory is created once per table, either from `
|
|
10
|
+
* The factory is created once per table, either from the `coreRowModel` slot on the `features` option
|
|
11
11
|
* or the built-in `createCoreRowModel()`, then reused for later calls.
|
|
12
12
|
*
|
|
13
13
|
* @example
|
|
@@ -21,7 +21,7 @@ export function table_getCoreRowModel<
|
|
|
21
21
|
>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {
|
|
22
22
|
if (!table._rowModels.coreRowModel) {
|
|
23
23
|
table._rowModels.coreRowModel =
|
|
24
|
-
table.options.
|
|
24
|
+
table.options.features.coreRowModel?.(table) ??
|
|
25
25
|
createCoreRowModel<TFeatures, TData>()(table)
|
|
26
26
|
}
|
|
27
27
|
|
|
@@ -64,7 +64,7 @@ export function table_getFilteredRowModel<
|
|
|
64
64
|
>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {
|
|
65
65
|
if (!table._rowModels.filteredRowModel) {
|
|
66
66
|
table._rowModels.filteredRowModel =
|
|
67
|
-
table.options.
|
|
67
|
+
table.options.features.filteredRowModel?.(table)
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
if (table.options.manualFiltering || !table._rowModels.filteredRowModel) {
|
|
@@ -108,7 +108,7 @@ export function table_getGroupedRowModel<
|
|
|
108
108
|
>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {
|
|
109
109
|
if (!table._rowModels.groupedRowModel) {
|
|
110
110
|
table._rowModels.groupedRowModel =
|
|
111
|
-
table.options.
|
|
111
|
+
table.options.features.groupedRowModel?.(table)
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
if (table.options.manualGrouping || !table._rowModels.groupedRowModel) {
|
|
@@ -153,7 +153,7 @@ export function table_getSortedRowModel<
|
|
|
153
153
|
>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {
|
|
154
154
|
if (!table._rowModels.sortedRowModel) {
|
|
155
155
|
table._rowModels.sortedRowModel =
|
|
156
|
-
table.options.
|
|
156
|
+
table.options.features.sortedRowModel?.(table)
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
if (table.options.manualSorting || !table._rowModels.sortedRowModel) {
|
|
@@ -197,7 +197,7 @@ export function table_getExpandedRowModel<
|
|
|
197
197
|
>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {
|
|
198
198
|
if (!table._rowModels.expandedRowModel) {
|
|
199
199
|
table._rowModels.expandedRowModel =
|
|
200
|
-
table.options.
|
|
200
|
+
table.options.features.expandedRowModel?.(table)
|
|
201
201
|
}
|
|
202
202
|
|
|
203
203
|
if (table.options.manualExpanding || !table._rowModels.expandedRowModel) {
|
|
@@ -243,7 +243,7 @@ export function table_getPaginatedRowModel<
|
|
|
243
243
|
>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {
|
|
244
244
|
if (!table._rowModels.paginatedRowModel) {
|
|
245
245
|
table._rowModels.paginatedRowModel =
|
|
246
|
-
table.options.
|
|
246
|
+
table.options.features.paginatedRowModel?.(table)
|
|
247
247
|
}
|
|
248
248
|
|
|
249
249
|
if (table.options.manualPagination || !table._rowModels.paginatedRowModel) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { constructRow } from '../rows/constructRow'
|
|
2
|
-
import { tableMemo } from '../../utils'
|
|
2
|
+
import { makeObjectMap, tableMemo } from '../../utils'
|
|
3
3
|
import { table_autoResetPageIndex } from '../../features/row-pagination/rowPaginationFeature.utils'
|
|
4
|
-
import type {
|
|
4
|
+
import type { Table_Internal } from '../../types/Table'
|
|
5
5
|
import type { RowModel } from './coreRowModelsFeature.types'
|
|
6
6
|
import type { TableFeatures } from '../../types/TableFeatures'
|
|
7
7
|
import type { Row } from '../../types/Row'
|
|
@@ -15,9 +15,10 @@ import type { RowData } from '../../types/type-utils'
|
|
|
15
15
|
export function createCoreRowModel<
|
|
16
16
|
TFeatures extends TableFeatures,
|
|
17
17
|
TData extends RowData,
|
|
18
|
-
>(): (
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
>(): (
|
|
19
|
+
table: Table_Internal<TFeatures, TData>,
|
|
20
|
+
) => () => RowModel<TFeatures, TData> {
|
|
21
|
+
return (table) => {
|
|
21
22
|
return tableMemo({
|
|
22
23
|
feature: 'coreRowModelsFeature',
|
|
23
24
|
table,
|
|
@@ -43,7 +44,7 @@ function _createCoreRowModel<
|
|
|
43
44
|
const rowModel: RowModel<TFeatures, TData> = {
|
|
44
45
|
rows: [],
|
|
45
46
|
flatRows: [],
|
|
46
|
-
rowsById:
|
|
47
|
+
rowsById: makeObjectMap(),
|
|
47
48
|
}
|
|
48
49
|
|
|
49
50
|
const accessRows = (
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { makeObjectMap } from '../../utils'
|
|
1
2
|
import type { Table_Internal } from '../../types/Table'
|
|
2
3
|
import type { RowData } from '../../types/type-utils'
|
|
3
4
|
import type { TableFeatures } from '../../types/TableFeatures'
|
|
@@ -47,8 +48,8 @@ export const constructRow = <
|
|
|
47
48
|
>
|
|
48
49
|
|
|
49
50
|
// Only assign instance-specific properties
|
|
50
|
-
row._uniqueValuesCache =
|
|
51
|
-
row._valuesCache =
|
|
51
|
+
row._uniqueValuesCache = makeObjectMap()
|
|
52
|
+
row._valuesCache = makeObjectMap()
|
|
52
53
|
row.depth = depth
|
|
53
54
|
row.id = id
|
|
54
55
|
row.index = rowIndex
|
|
@@ -11,79 +11,52 @@ import {
|
|
|
11
11
|
table_getRow,
|
|
12
12
|
table_getRowId,
|
|
13
13
|
} from './coreRowsFeature.utils'
|
|
14
|
-
import type {
|
|
15
|
-
import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
|
|
16
|
-
// import type {
|
|
17
|
-
// Row_Row,
|
|
18
|
-
// TableOptions_Rows,
|
|
19
|
-
// Table_Rows,
|
|
20
|
-
// } from './coreRowsFeature.types'
|
|
21
|
-
|
|
22
|
-
export interface CoreRowsFeatureConstructors<
|
|
23
|
-
TFeatures extends TableFeatures,
|
|
24
|
-
TData extends RowData,
|
|
25
|
-
> {
|
|
26
|
-
// Row: Row_Row<TFeatures, TData>
|
|
27
|
-
// TableOptions: TableOptions_Rows<TFeatures, TData>
|
|
28
|
-
// Table: Table_Rows<TFeatures, TData>
|
|
29
|
-
}
|
|
14
|
+
import type { TableFeature } from '../../types/TableFeatures'
|
|
30
15
|
|
|
31
16
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
|
|
17
|
+
* Core feature that creates row APIs for values, cells, and tree traversal.
|
|
35
18
|
*/
|
|
36
|
-
export
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
table_getRow(table, id, searchAll),
|
|
80
|
-
},
|
|
81
|
-
})
|
|
82
|
-
},
|
|
83
|
-
}
|
|
19
|
+
export const coreRowsFeature: TableFeature = {
|
|
20
|
+
assignRowPrototype: (prototype, table) => {
|
|
21
|
+
assignPrototypeAPIs('coreRowsFeature', prototype, table, {
|
|
22
|
+
row_getAllCellsByColumnId: {
|
|
23
|
+
fn: (row) => row_getAllCellsByColumnId(row),
|
|
24
|
+
memoDeps: (row) => [row.getAllCells()],
|
|
25
|
+
},
|
|
26
|
+
row_getAllCells: {
|
|
27
|
+
fn: (row) => row_getAllCells(row),
|
|
28
|
+
memoDeps: (row) => [row.table.getAllLeafColumns()],
|
|
29
|
+
},
|
|
30
|
+
row_getLeafRows: {
|
|
31
|
+
fn: (row) => row_getLeafRows(row),
|
|
32
|
+
},
|
|
33
|
+
row_getParentRow: {
|
|
34
|
+
fn: (row) => row_getParentRow(row),
|
|
35
|
+
},
|
|
36
|
+
row_getParentRows: {
|
|
37
|
+
fn: (row) => row_getParentRows(row),
|
|
38
|
+
},
|
|
39
|
+
row_getUniqueValues: {
|
|
40
|
+
fn: (row, columnId) => row_getUniqueValues(row, columnId),
|
|
41
|
+
},
|
|
42
|
+
row_getValue: {
|
|
43
|
+
fn: (row, columnId) => row_getValue(row, columnId),
|
|
44
|
+
},
|
|
45
|
+
row_renderValue: {
|
|
46
|
+
fn: (row, columnId) => row_renderValue(row, columnId),
|
|
47
|
+
},
|
|
48
|
+
})
|
|
49
|
+
},
|
|
50
|
+
constructTableAPIs: (table) => {
|
|
51
|
+
assignTableAPIs('coreRowsFeature', table, {
|
|
52
|
+
table_getRowId: {
|
|
53
|
+
fn: (originalRow, index, parent) =>
|
|
54
|
+
table_getRowId(originalRow, table, index, parent),
|
|
55
|
+
},
|
|
56
|
+
table_getRow: {
|
|
57
|
+
fn: (id: string, searchAll?: boolean) =>
|
|
58
|
+
table_getRow(table, id, searchAll),
|
|
59
|
+
},
|
|
60
|
+
})
|
|
61
|
+
},
|
|
84
62
|
}
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* The Core Rows feature provides the core row functionality.
|
|
88
|
-
*/
|
|
89
|
-
export const coreRowsFeature = constructCoreRowsFeature()
|
|
@@ -5,8 +5,8 @@ import type { Row } from '../../types/Row'
|
|
|
5
5
|
import type { Cell } from '../../types/Cell'
|
|
6
6
|
|
|
7
7
|
export interface Row_CoreProperties<
|
|
8
|
-
TFeatures extends TableFeatures,
|
|
9
|
-
TData extends RowData,
|
|
8
|
+
in out TFeatures extends TableFeatures,
|
|
9
|
+
in out TData extends RowData,
|
|
10
10
|
> {
|
|
11
11
|
_uniqueValuesCache: Record<string, unknown>
|
|
12
12
|
_valuesCache: Record<string, unknown>
|
|
@@ -45,8 +45,8 @@ export interface Row_CoreProperties<
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
export interface Row_Row<
|
|
48
|
-
TFeatures extends TableFeatures,
|
|
49
|
-
TData extends RowData,
|
|
48
|
+
in out TFeatures extends TableFeatures,
|
|
49
|
+
in out TData extends RowData,
|
|
50
50
|
> extends Row_CoreProperties<TFeatures, TData> {
|
|
51
51
|
/**
|
|
52
52
|
* Builds a lookup of this row's cells keyed by leaf column id.
|
|
@@ -83,8 +83,8 @@ export interface Row_Row<
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
export interface TableOptions_Rows<
|
|
86
|
-
TFeatures extends TableFeatures,
|
|
87
|
-
TData extends RowData,
|
|
86
|
+
in out TFeatures extends TableFeatures,
|
|
87
|
+
in out TData extends RowData,
|
|
88
88
|
> {
|
|
89
89
|
/**
|
|
90
90
|
* This optional function is used to derive a unique ID for any given row. If not provided the rows index is used (nested rows join together with `.` using their grandparents' index eg. `index.index.index`). If you need to identify individual rows that are originating from any server-side operations, it's suggested you use this function to return an ID that makes sense regardless of network IO/ambiguity eg. a userId, taskId, database ID field, etc.
|
|
@@ -106,8 +106,8 @@ export interface TableOptions_Rows<
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
export interface Table_Rows<
|
|
109
|
-
TFeatures extends TableFeatures,
|
|
110
|
-
TData extends RowData,
|
|
109
|
+
in out TFeatures extends TableFeatures,
|
|
110
|
+
in out TData extends RowData,
|
|
111
111
|
> {
|
|
112
112
|
getRowId: (_: TData, index: number, parent?: Row<TFeatures, TData>) => string
|
|
113
113
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { flattenBy } from '../../utils'
|
|
1
|
+
import { flattenBy, hasOwn, makeObjectMap } from '../../utils'
|
|
2
2
|
import { constructCell } from '../cells/constructCell'
|
|
3
3
|
import type { Table_Internal } from '../../types/Table'
|
|
4
4
|
import type { RowData } from '../../types/type-utils'
|
|
@@ -21,7 +21,7 @@ export function row_getValue<
|
|
|
21
21
|
TFeatures extends TableFeatures,
|
|
22
22
|
TData extends RowData,
|
|
23
23
|
>(row: Row<TFeatures, TData>, columnId: string) {
|
|
24
|
-
if (row._valuesCache
|
|
24
|
+
if (hasOwn(row._valuesCache, columnId)) {
|
|
25
25
|
return row._valuesCache[columnId]
|
|
26
26
|
}
|
|
27
27
|
|
|
@@ -51,7 +51,7 @@ export function row_getUniqueValues<
|
|
|
51
51
|
TFeatures extends TableFeatures,
|
|
52
52
|
TData extends RowData,
|
|
53
53
|
>(row: Row<TFeatures, TData>, columnId: string) {
|
|
54
|
-
if (row._uniqueValuesCache
|
|
54
|
+
if (hasOwn(row._uniqueValuesCache, columnId)) {
|
|
55
55
|
return row._uniqueValuesCache[columnId]
|
|
56
56
|
}
|
|
57
57
|
|
|
@@ -192,7 +192,7 @@ export function row_getAllCellsByColumnId<
|
|
|
192
192
|
TFeatures extends TableFeatures,
|
|
193
193
|
TData extends RowData,
|
|
194
194
|
>(row: Row<TFeatures, TData>) {
|
|
195
|
-
const result
|
|
195
|
+
const result = makeObjectMap<Cell<TFeatures, TData, unknown>>()
|
|
196
196
|
const cells = row.getAllCells()
|
|
197
197
|
for (let i = 0; i < cells.length; i++) {
|
|
198
198
|
const cell = cells[i]!
|
|
@@ -7,7 +7,7 @@ import type { RowData } from '../../types/type-utils'
|
|
|
7
7
|
import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
|
|
8
8
|
import type { Table, Table_Internal } from '../../types/Table'
|
|
9
9
|
import type { TableOptions } from '../../types/TableOptions'
|
|
10
|
-
import type { TableState } from '../../types/TableState'
|
|
10
|
+
import type { TableState, TableState_All } from '../../types/TableState'
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Builds the initial table state from registered features and user initial state.
|
|
@@ -33,18 +33,40 @@ export function constructTable<
|
|
|
33
33
|
TFeatures extends TableFeatures,
|
|
34
34
|
TData extends RowData,
|
|
35
35
|
>(tableOptions: TableOptions<TFeatures, TData>): Table<TFeatures, TData> {
|
|
36
|
-
const _reactivity = tableOptions.features.
|
|
36
|
+
const _reactivity = tableOptions.features.coreReactivityFeature!
|
|
37
|
+
|
|
38
|
+
// Strip the non-feature slots: type-only meta slots, row model factories,
|
|
39
|
+
// and row model fn registries all live on the `features` option but are not
|
|
40
|
+
// table features themselves.
|
|
41
|
+
const {
|
|
42
|
+
aggregationFns,
|
|
43
|
+
columnMeta: _columnMeta,
|
|
44
|
+
coreRowModel,
|
|
45
|
+
expandedRowModel,
|
|
46
|
+
facetedMinMaxValues,
|
|
47
|
+
facetedRowModel,
|
|
48
|
+
facetedUniqueValues,
|
|
49
|
+
filterFns,
|
|
50
|
+
filterMeta: _filterMeta,
|
|
51
|
+
filteredRowModel,
|
|
52
|
+
groupedRowModel,
|
|
53
|
+
paginatedRowModel,
|
|
54
|
+
sortFns,
|
|
55
|
+
sortedRowModel,
|
|
56
|
+
tableMeta: _tableMeta,
|
|
57
|
+
...features
|
|
58
|
+
} = tableOptions.features
|
|
37
59
|
|
|
38
60
|
const table = {
|
|
39
61
|
_reactivity,
|
|
40
|
-
_features: { ...coreFeatures, ...
|
|
62
|
+
_features: { ...coreFeatures, ...features },
|
|
41
63
|
_rowModels: {},
|
|
42
|
-
_rowModelFns: {},
|
|
64
|
+
_rowModelFns: { aggregationFns, filterFns, sortFns },
|
|
43
65
|
baseAtoms: {},
|
|
44
66
|
atoms: {},
|
|
45
|
-
} as Table_Internal<TFeatures, TData>
|
|
67
|
+
} as unknown as Table_Internal<TFeatures, TData>
|
|
46
68
|
|
|
47
|
-
const featuresList: Array<TableFeature
|
|
69
|
+
const featuresList: Array<TableFeature> = Object.values(table._features)
|
|
48
70
|
|
|
49
71
|
const defaultOptions = featuresList.reduce((obj, feature) => {
|
|
50
72
|
return Object.assign(obj, feature.getDefaultTableOptions?.(table))
|
|
@@ -100,7 +122,7 @@ export function constructTable<
|
|
|
100
122
|
)
|
|
101
123
|
|
|
102
124
|
const stateKeys = Object.keys(table.initialState) as Array<
|
|
103
|
-
string & keyof
|
|
125
|
+
string & keyof TableState_All
|
|
104
126
|
>
|
|
105
127
|
|
|
106
128
|
for (let i = 0; i < stateKeys.length; i++) {
|
|
@@ -115,11 +137,14 @@ export function constructTable<
|
|
|
115
137
|
// create readonly derived atom: on each get(), read either external atom or base atom
|
|
116
138
|
;(table.atoms as any)[key] = _reactivity.createReadonlyAtom(
|
|
117
139
|
() => {
|
|
118
|
-
const
|
|
140
|
+
const externalAtoms = table.options.atoms as
|
|
141
|
+
| Partial<Record<keyof TableState_All, Atom<unknown>>>
|
|
142
|
+
| undefined
|
|
143
|
+
const externalAtom = externalAtoms?.[key]
|
|
119
144
|
if (externalAtom) {
|
|
120
145
|
return externalAtom.get()
|
|
121
146
|
}
|
|
122
|
-
return table.baseAtoms[key]
|
|
147
|
+
return table.baseAtoms[key]!.get()
|
|
123
148
|
},
|
|
124
149
|
{ debugName: `table/atoms/${key}` },
|
|
125
150
|
)
|
|
@@ -130,10 +155,10 @@ export function constructTable<
|
|
|
130
155
|
table.store = atomToStore(
|
|
131
156
|
_reactivity.createReadonlyAtom(
|
|
132
157
|
() => {
|
|
133
|
-
const snapshot = {} as TableState<TFeatures>
|
|
158
|
+
const snapshot = {} as TableState<TFeatures> & TableState_All
|
|
134
159
|
for (let i = 0; i < stateKeys.length; i++) {
|
|
135
160
|
const key = stateKeys[i]!
|
|
136
|
-
;(snapshot as Record<string, unknown>)[key] = table.atoms[key]
|
|
161
|
+
;(snapshot as Record<string, unknown>)[key] = table.atoms[key]!.get()
|
|
137
162
|
}
|
|
138
163
|
return snapshot
|
|
139
164
|
},
|
|
@@ -146,7 +171,19 @@ export function constructTable<
|
|
|
146
171
|
(tableOptions.debugAll || tableOptions.debugTable)
|
|
147
172
|
) {
|
|
148
173
|
const features = Object.keys(table._features)
|
|
149
|
-
const rowModels = Object.
|
|
174
|
+
const rowModels = Object.entries({
|
|
175
|
+
coreRowModel,
|
|
176
|
+
filteredRowModel,
|
|
177
|
+
groupedRowModel,
|
|
178
|
+
sortedRowModel,
|
|
179
|
+
expandedRowModel,
|
|
180
|
+
paginatedRowModel,
|
|
181
|
+
facetedRowModel,
|
|
182
|
+
facetedMinMaxValues,
|
|
183
|
+
facetedUniqueValues,
|
|
184
|
+
})
|
|
185
|
+
.filter(([, factory]) => factory)
|
|
186
|
+
.map(([key]) => key)
|
|
150
187
|
const states = Object.keys(table.initialState)
|
|
151
188
|
|
|
152
189
|
console.log(
|
|
@@ -165,5 +202,5 @@ export function constructTable<
|
|
|
165
202
|
featuresList[i]!.constructTableAPIs?.(table)
|
|
166
203
|
}
|
|
167
204
|
|
|
168
|
-
return table
|
|
205
|
+
return table as unknown as Table<TFeatures, TData>
|
|
169
206
|
}
|
|
@@ -1,41 +1,19 @@
|
|
|
1
1
|
import { assignTableAPIs } from '../../utils'
|
|
2
2
|
import { table_reset, table_setOptions } from './coreTablesFeature.utils'
|
|
3
|
-
import type {
|
|
4
|
-
import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
|
|
5
|
-
// import type { TableOptions_Table, Table_Table } from './coreTablesFeature.types'
|
|
6
|
-
|
|
7
|
-
export interface CoreTablesFeatureConstructors<
|
|
8
|
-
TFeatures extends TableFeatures,
|
|
9
|
-
TData extends RowData,
|
|
10
|
-
> {
|
|
11
|
-
// Table: Table_Table<TFeatures, TData>
|
|
12
|
-
// TableOptions: TableOptions_Table<TFeatures, TData>
|
|
13
|
-
}
|
|
3
|
+
import type { TableFeature } from '../../types/TableFeatures'
|
|
14
4
|
|
|
15
5
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
|
|
6
|
+
* Core feature that adds base table instance APIs such as reset and setOptions.
|
|
19
7
|
*/
|
|
20
|
-
export
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
fn: (updater) => table_setOptions(table, updater),
|
|
32
|
-
},
|
|
33
|
-
})
|
|
34
|
-
},
|
|
35
|
-
}
|
|
8
|
+
export const coreTablesFeature: TableFeature = {
|
|
9
|
+
constructTableAPIs: (table) => {
|
|
10
|
+
assignTableAPIs('coreTablesFeature', table, {
|
|
11
|
+
table_reset: {
|
|
12
|
+
fn: () => table_reset(table),
|
|
13
|
+
},
|
|
14
|
+
table_setOptions: {
|
|
15
|
+
fn: (updater) => table_setOptions(table, updater),
|
|
16
|
+
},
|
|
17
|
+
})
|
|
18
|
+
},
|
|
36
19
|
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* The Core Tables feature provides the core table functionality for handling state and options.
|
|
40
|
-
*/
|
|
41
|
-
export const coreTablesFeature = constructCoreTablesFeature()
|
|
@@ -3,15 +3,37 @@ import type { Atom, ReadonlyAtom, ReadonlyStore } from '@tanstack/store'
|
|
|
3
3
|
import type { CoreFeatures } from '../coreFeatures'
|
|
4
4
|
import type { RowModelFns } from '../../types/RowModelFns'
|
|
5
5
|
import type { RowData, Updater } from '../../types/type-utils'
|
|
6
|
-
import type {
|
|
7
|
-
|
|
6
|
+
import type {
|
|
7
|
+
IsAny,
|
|
8
|
+
TableFeatures,
|
|
9
|
+
ValidateFeatureSlots,
|
|
10
|
+
} from '../../types/TableFeatures'
|
|
11
|
+
import type { CachedRowModels } from '../../types/RowModel'
|
|
8
12
|
import type { TableOptions } from '../../types/TableOptions'
|
|
9
13
|
import type { TableState, TableState_All } from '../../types/TableState'
|
|
10
14
|
|
|
11
15
|
export interface TableMeta<
|
|
16
|
+
in out TFeatures extends TableFeatures,
|
|
17
|
+
in out TData extends RowData,
|
|
18
|
+
> {}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Resolves the type of `options.meta` for a feature set.
|
|
22
|
+
*
|
|
23
|
+
* When the features object declares a `tableMeta` type-only slot
|
|
24
|
+
* (`tableFeatures({ ..., tableMeta: {} as MyTableMeta })`), that type wins.
|
|
25
|
+
* Otherwise this falls back to the global declaration-merged `TableMeta`
|
|
26
|
+
* interface.
|
|
27
|
+
*/
|
|
28
|
+
export type ExtractTableMeta<
|
|
12
29
|
TFeatures extends TableFeatures,
|
|
13
30
|
TData extends RowData,
|
|
14
|
-
>
|
|
31
|
+
> =
|
|
32
|
+
IsAny<TFeatures> extends true
|
|
33
|
+
? TableMeta<TFeatures, TData>
|
|
34
|
+
: TFeatures extends { tableMeta: infer TMeta extends object }
|
|
35
|
+
? TMeta
|
|
36
|
+
: TableMeta<TFeatures, TData>
|
|
15
37
|
|
|
16
38
|
/**
|
|
17
39
|
* A map of writable atoms, one per `TableState` slice. These are the internal
|
|
@@ -62,21 +84,19 @@ export type ExternalAtoms_All = Partial<{
|
|
|
62
84
|
}>
|
|
63
85
|
|
|
64
86
|
export interface TableOptions_Table<
|
|
65
|
-
TFeatures extends TableFeatures,
|
|
66
|
-
TData extends RowData,
|
|
87
|
+
in out TFeatures extends TableFeatures,
|
|
88
|
+
in out TData extends RowData,
|
|
67
89
|
> {
|
|
68
90
|
/**
|
|
69
91
|
* The feature modules registered on this table instance.
|
|
70
92
|
*
|
|
71
93
|
* Feature registration controls which state slices, options, and prototype
|
|
72
|
-
* APIs are available.
|
|
94
|
+
* APIs are available. This object also carries the table's row model
|
|
95
|
+
* factories (`sortedRowModel`, `filteredRowModel`, etc.), row model function
|
|
96
|
+
* registries (`sortFns`, `filterFns`, `aggregationFns`), and type-only meta
|
|
97
|
+
* slots (`tableMeta`, `columnMeta`).
|
|
73
98
|
*/
|
|
74
|
-
readonly features: TFeatures
|
|
75
|
-
/**
|
|
76
|
-
* Row model factories used by features such as filtering, grouping, sorting,
|
|
77
|
-
* expansion, and pagination.
|
|
78
|
-
*/
|
|
79
|
-
readonly rowModels?: CreateRowModels_All<TFeatures, TData>
|
|
99
|
+
readonly features: TFeatures & ValidateFeatureSlots<TFeatures>
|
|
80
100
|
/**
|
|
81
101
|
* Optionally, provide your own external writable atoms for individual state slices.
|
|
82
102
|
* When an atom is provided for a given slice, it takes precedence over `options.state[key]`
|
|
@@ -116,8 +136,11 @@ export interface TableOptions_Table<
|
|
|
116
136
|
) => TableOptions<TFeatures, TData>
|
|
117
137
|
/**
|
|
118
138
|
* You can pass any object to `options.meta` and access it anywhere the `table` is available via `table.options.meta`.
|
|
139
|
+
*
|
|
140
|
+
* Declare its type per-table via the `tableMeta` type-only slot on the
|
|
141
|
+
* `features` option, or globally via declaration merging on `TableMeta`.
|
|
119
142
|
*/
|
|
120
|
-
readonly meta?:
|
|
143
|
+
readonly meta?: ExtractTableMeta<TFeatures, TData>
|
|
121
144
|
/**
|
|
122
145
|
* Optionally provide externally managed values for individual state slices.
|
|
123
146
|
*
|
|
@@ -129,8 +152,8 @@ export interface TableOptions_Table<
|
|
|
129
152
|
}
|
|
130
153
|
|
|
131
154
|
export interface Table_CoreProperties<
|
|
132
|
-
TFeatures extends TableFeatures,
|
|
133
|
-
TData extends RowData,
|
|
155
|
+
in out TFeatures extends TableFeatures,
|
|
156
|
+
in out TData extends RowData,
|
|
134
157
|
> {
|
|
135
158
|
/**
|
|
136
159
|
* Table reactivity bindings for interacting with TanStack Store.
|
|
@@ -197,8 +220,8 @@ export interface Table_CoreProperties<
|
|
|
197
220
|
}
|
|
198
221
|
|
|
199
222
|
export interface Table_Table<
|
|
200
|
-
TFeatures extends TableFeatures,
|
|
201
|
-
TData extends RowData,
|
|
223
|
+
in out TFeatures extends TableFeatures,
|
|
224
|
+
in out TData extends RowData,
|
|
202
225
|
> extends Table_CoreProperties<TFeatures, TData> {
|
|
203
226
|
/**
|
|
204
227
|
* Resets the table's internal base atoms to `table.initialState`.
|