@tanstack/table-core 9.0.0-beta.5 → 9.0.0-beta.51
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/README.md +2 -0
- package/dist/core/cells/constructCell.cjs +1 -4
- package/dist/core/cells/constructCell.cjs.map +1 -1
- package/dist/core/cells/constructCell.d.cts +4 -4
- package/dist/core/cells/constructCell.d.ts +4 -4
- package/dist/core/cells/constructCell.js +1 -4
- package/dist/core/cells/constructCell.js.map +1 -1
- package/dist/core/cells/coreCellsFeature.types.d.cts +7 -7
- package/dist/core/cells/coreCellsFeature.types.d.ts +7 -7
- package/dist/core/cells/coreCellsFeature.utils.d.cts +4 -4
- package/dist/core/cells/coreCellsFeature.utils.d.ts +4 -4
- package/dist/core/columns/constructColumn.cjs +4 -5
- 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 +4 -5
- package/dist/core/columns/constructColumn.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.cjs +12 -18
- package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.js +12 -18
- 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 +4 -8
- 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 +5 -9
- 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 +1 -2
- 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 +1 -2
- package/dist/core/headers/buildHeaderGroups.js.map +1 -1
- package/dist/core/headers/constructHeader.cjs +1 -4
- package/dist/core/headers/constructHeader.cjs.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/constructHeader.js +1 -4
- package/dist/core/headers/constructHeader.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.cjs +8 -11
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.js +8 -11
- 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 +8 -10
- 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 +8 -10
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +7 -15
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -15
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +8 -26
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +16 -16
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +16 -16
- package/dist/core/row-models/coreRowModelsFeature.utils.js +8 -26
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
- package/dist/core/row-models/createCoreRowModel.cjs +4 -6
- 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 +5 -7
- package/dist/core/row-models/createCoreRowModel.js.map +1 -1
- package/dist/core/rows/constructRow.cjs +6 -10
- 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 +7 -10
- package/dist/core/rows/constructRow.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.cjs +18 -2
- package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.js +19 -3
- package/dist/core/rows/coreRowsFeature.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +41 -7
- package/dist/core/rows/coreRowsFeature.types.d.ts +41 -7
- package/dist/core/rows/coreRowsFeature.utils.cjs +62 -8
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +24 -5
- package/dist/core/rows/coreRowsFeature.utils.d.ts +24 -5
- package/dist/core/rows/coreRowsFeature.utils.js +61 -10
- package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
- package/dist/core/table/constructTable.cjs +24 -14
- 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 +24 -14
- package/dist/core/table/constructTable.js.map +1 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +32 -19
- package/dist/core/table/coreTablesFeature.types.d.ts +32 -19
- package/dist/core/table/coreTablesFeature.utils.cjs +38 -14
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +10 -7
- package/dist/core/table/coreTablesFeature.utils.d.ts +10 -7
- package/dist/core/table/coreTablesFeature.utils.js +38 -14
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
- package/dist/experimental-worker-plugin.cjs +14 -0
- package/dist/experimental-worker-plugin.d.cts +5 -0
- package/dist/experimental-worker-plugin.d.ts +5 -0
- package/dist/experimental-worker-plugin.js +6 -0
- package/dist/features/column-faceting/columnFacetingFeature.cjs +12 -18
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.js +12 -18
- package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +15 -33
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -33
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +23 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +9 -9
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +9 -9
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +24 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +7 -4
- 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 +8 -5
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs +10 -15
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +2 -2
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +2 -2
- package/dist/features/column-faceting/createFacetedRowModel.js +10 -15
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs +10 -6
- 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 +11 -7
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.cjs +2 -2
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.js +3 -3
- package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +83 -29
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +83 -29
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +23 -17
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +18 -14
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +18 -14
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +23 -17
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +29 -25
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +10 -4
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +10 -4
- package/dist/features/column-filtering/createFilteredRowModel.js +30 -26
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
- package/dist/features/column-filtering/filterFns.cjs +399 -0
- package/dist/features/column-filtering/filterFns.cjs.map +1 -0
- package/dist/features/column-filtering/filterFns.d.cts +210 -0
- package/dist/features/column-filtering/filterFns.d.ts +210 -0
- package/dist/features/column-filtering/filterFns.js +375 -0
- package/dist/features/column-filtering/filterFns.js.map +1 -0
- 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 +4 -16
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.js +6 -18
- package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +14 -50
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -50
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +6 -61
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +12 -49
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -49
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -60
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +37 -24
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -4
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -4
- package/dist/features/column-grouping/createGroupedRowModel.js +39 -26
- package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +17 -21
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.js +18 -22
- package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +28 -3
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -3
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +35 -15
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +26 -14
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -14
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -17
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.cjs +124 -143
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +6 -1
- package/dist/features/column-pinning/columnPinningFeature.d.ts +6 -1
- package/dist/features/column-pinning/columnPinningFeature.js +125 -144
- package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +52 -41
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +52 -41
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +161 -162
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +101 -92
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +101 -92
- package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -149
- package/dist/features/column-pinning/columnPinningFeature.utils.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 +84 -44
- 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 +85 -45
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +33 -67
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.js +34 -68
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.types.d.cts +52 -9
- package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -9
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +88 -45
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +43 -25
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -25
- package/dist/features/column-sizing/columnSizingFeature.utils.js +88 -46
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +25 -36
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.js +25 -36
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +3 -3
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +3 -3
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +30 -29
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +18 -18
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +18 -18
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +31 -30
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +1 -2
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.js +1 -2
- 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 +6 -6
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +8 -11
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +8 -11
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +6 -6
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
- package/dist/features/row-aggregation/aggregationFns.cjs +246 -0
- package/dist/features/row-aggregation/aggregationFns.cjs.map +1 -0
- package/dist/features/row-aggregation/aggregationFns.d.cts +68 -0
- package/dist/features/row-aggregation/aggregationFns.d.ts +68 -0
- package/dist/features/row-aggregation/aggregationFns.js +235 -0
- package/dist/features/row-aggregation/aggregationFns.js.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.cjs +39 -0
- package/dist/features/row-aggregation/rowAggregationFeature.cjs.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.d.cts +10 -0
- package/dist/features/row-aggregation/rowAggregationFeature.d.ts +10 -0
- package/dist/features/row-aggregation/rowAggregationFeature.js +39 -0
- package/dist/features/row-aggregation/rowAggregationFeature.js.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.cjs +13 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.cjs.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.d.cts +195 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +195 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.js +12 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.js.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs +212 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.d.cts +34 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +34 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.js +206 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.js.map +1 -0
- package/dist/features/row-expanding/createExpandedRowModel.cjs +6 -10
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +2 -2
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +2 -2
- package/dist/features/row-expanding/createExpandedRowModel.js +6 -10
- package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +6 -15
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +6 -15
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +28 -26
- 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 +29 -27
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +6 -10
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +2 -2
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +2 -2
- package/dist/features/row-pagination/createPaginatedRowModel.js +6 -10
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +5 -14
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +5 -14
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +9 -15
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
- 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-pagination/rowPaginationFeature.utils.js +9 -15
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.cjs +4 -16
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.js +4 -16
- 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 +9 -14
- 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 +9 -14
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +66 -22
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.js +67 -23
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +49 -11
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +49 -11
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +128 -72
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +57 -30
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +57 -30
- package/dist/features/row-selection/rowSelectionFeature.utils.js +129 -74
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +69 -50
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.d.cts +10 -4
- package/dist/features/row-sorting/createSortedRowModel.d.ts +10 -4
- package/dist/features/row-sorting/createSortedRowModel.js +70 -51
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +54 -22
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +54 -22
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +31 -17
- 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 +31 -17
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/sortFns.cjs +226 -0
- package/dist/features/row-sorting/sortFns.cjs.map +1 -0
- package/dist/features/row-sorting/sortFns.d.cts +98 -0
- package/dist/features/row-sorting/sortFns.d.ts +98 -0
- package/dist/features/row-sorting/sortFns.js +217 -0
- package/dist/features/row-sorting/sortFns.js.map +1 -0
- package/dist/features/stockFeatures.cjs +2 -0
- package/dist/features/stockFeatures.cjs.map +1 -1
- package/dist/features/stockFeatures.d.cts +2 -0
- package/dist/features/stockFeatures.d.ts +2 -0
- package/dist/features/stockFeatures.js +2 -0
- package/dist/features/stockFeatures.js.map +1 -1
- package/dist/flex-render.d.cts +1 -1
- package/dist/flex-render.d.ts +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 +32 -3
- package/dist/helpers/tableFeatures.cjs.map +1 -1
- package/dist/helpers/tableFeatures.d.cts +34 -5
- package/dist/helpers/tableFeatures.d.ts +34 -5
- package/dist/helpers/tableFeatures.js +32 -3
- package/dist/helpers/tableFeatures.js.map +1 -1
- package/dist/index.cjs +23 -3
- package/dist/index.d.cts +31 -28
- package/dist/index.d.ts +31 -28
- package/dist/index.js +8 -5
- package/dist/static-functions.cjs +30 -19
- package/dist/static-functions.d.cts +8 -7
- package/dist/static-functions.d.ts +8 -7
- package/dist/static-functions.js +8 -7
- package/dist/store-reactivity-bindings.cjs +3 -3
- 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 +3 -3
- package/dist/store-reactivity-bindings.js.map +1 -1
- package/dist/types/Cell.d.cts +4 -2
- package/dist/types/Cell.d.ts +4 -2
- package/dist/types/Column.d.cts +15 -15
- package/dist/types/Column.d.ts +15 -15
- package/dist/types/ColumnDef.d.cts +30 -14
- package/dist/types/ColumnDef.d.ts +30 -14
- package/dist/types/Header.d.cts +2 -2
- package/dist/types/Header.d.ts +2 -2
- package/dist/types/HeaderGroup.d.cts +2 -2
- package/dist/types/HeaderGroup.d.ts +2 -2
- package/dist/types/Row.d.cts +6 -4
- package/dist/types/Row.d.ts +6 -4
- package/dist/types/RowModel.d.cts +11 -23
- package/dist/types/RowModel.d.ts +11 -23
- package/dist/types/RowModelFns.d.cts +4 -4
- package/dist/types/RowModelFns.d.ts +4 -4
- package/dist/types/Table.d.cts +26 -31
- package/dist/types/Table.d.ts +26 -31
- package/dist/types/TableFeatures.d.cts +350 -22
- package/dist/types/TableFeatures.d.ts +350 -22
- package/dist/types/TableOptions.d.cts +22 -14
- package/dist/types/TableOptions.d.ts +22 -14
- package/dist/types/TableState.d.cts +6 -6
- package/dist/types/TableState.d.ts +6 -6
- package/dist/types/type-utils.d.cts +8 -1
- package/dist/types/type-utils.d.ts +8 -1
- package/dist/utils.cjs +51 -29
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +30 -8
- package/dist/utils.d.ts +30 -8
- package/dist/utils.js +49 -30
- package/dist/utils.js.map +1 -1
- package/dist/worker/createTableWorker.cjs +189 -0
- package/dist/worker/createTableWorker.cjs.map +1 -0
- package/dist/worker/createTableWorker.d.cts +102 -0
- package/dist/worker/createTableWorker.d.ts +102 -0
- package/dist/worker/createTableWorker.js +186 -0
- package/dist/worker/createTableWorker.js.map +1 -0
- package/dist/worker/createWorkerRowModel.cjs +78 -0
- package/dist/worker/createWorkerRowModel.cjs.map +1 -0
- package/dist/worker/createWorkerRowModel.d.cts +42 -0
- package/dist/worker/createWorkerRowModel.d.ts +42 -0
- package/dist/worker/createWorkerRowModel.js +78 -0
- package/dist/worker/createWorkerRowModel.js.map +1 -0
- package/dist/worker/initTableWorker.cjs +100 -0
- package/dist/worker/initTableWorker.cjs.map +1 -0
- package/dist/worker/initTableWorker.d.cts +33 -0
- package/dist/worker/initTableWorker.d.ts +33 -0
- package/dist/worker/initTableWorker.js +100 -0
- package/dist/worker/initTableWorker.js.map +1 -0
- package/dist/worker/rebuildRowModel.cjs +72 -0
- package/dist/worker/rebuildRowModel.cjs.map +1 -0
- package/dist/worker/rebuildRowModel.d.cts +9 -0
- package/dist/worker/rebuildRowModel.d.ts +9 -0
- package/dist/worker/rebuildRowModel.js +72 -0
- package/dist/worker/rebuildRowModel.js.map +1 -0
- package/dist/worker/serializeRowModel.cjs +53 -0
- package/dist/worker/serializeRowModel.cjs.map +1 -0
- package/dist/worker/serializeRowModel.js +52 -0
- package/dist/worker/serializeRowModel.js.map +1 -0
- package/dist/worker/tableWorkerProtocol.cjs +29 -0
- package/dist/worker/tableWorkerProtocol.cjs.map +1 -0
- package/dist/worker/tableWorkerProtocol.d.cts +88 -0
- package/dist/worker/tableWorkerProtocol.d.ts +88 -0
- package/dist/worker/tableWorkerProtocol.js +27 -0
- package/dist/worker/tableWorkerProtocol.js.map +1 -0
- package/package.json +8 -3
- package/skills/aggregation/SKILL.md +141 -0
- package/skills/api-not-found/SKILL.md +113 -0
- package/skills/client-vs-server/SKILL.md +164 -0
- package/skills/column-faceting/SKILL.md +97 -0
- package/skills/column-filtering/SKILL.md +87 -0
- package/skills/column-ordering/SKILL.md +75 -0
- package/skills/column-pinning/SKILL.md +89 -0
- package/skills/column-resizing/SKILL.md +91 -0
- package/skills/column-sizing/SKILL.md +72 -0
- package/skills/column-visibility/SKILL.md +75 -0
- package/skills/core/SKILL.md +175 -0
- package/skills/custom-features/SKILL.md +235 -0
- package/skills/expanding/SKILL.md +80 -0
- package/skills/global-filtering/SKILL.md +84 -0
- package/skills/grouping/SKILL.md +51 -401
- package/skills/migrate-v8-to-v9/SKILL.md +274 -416
- package/skills/pagination/SKILL.md +37 -344
- package/skills/row-pinning/SKILL.md +47 -234
- package/skills/row-selection/SKILL.md +75 -302
- package/skills/sorting/SKILL.md +45 -303
- package/skills/table-features/SKILL.md +159 -0
- package/skills/typescript/SKILL.md +126 -0
- package/src/core/cells/coreCellsFeature.types.ts +6 -6
- package/src/core/columns/constructColumn.ts +6 -0
- 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.types.ts +12 -12
- package/src/core/headers/coreHeadersFeature.utils.ts +7 -8
- package/src/core/row-models/coreRowModelsFeature.types.ts +6 -20
- package/src/core/row-models/coreRowModelsFeature.utils.ts +8 -8
- package/src/core/row-models/createCoreRowModel.ts +7 -6
- package/src/core/rows/constructRow.ts +4 -2
- package/src/core/rows/coreRowsFeature.ts +21 -0
- package/src/core/rows/coreRowsFeature.types.ts +45 -8
- package/src/core/rows/coreRowsFeature.utils.ts +93 -5
- package/src/core/table/constructTable.ts +44 -6
- package/src/core/table/coreTablesFeature.types.ts +45 -20
- package/src/core/table/coreTablesFeature.utils.ts +59 -19
- package/src/experimental-worker-plugin.ts +22 -0
- package/src/features/column-faceting/columnFacetingFeature.types.ts +17 -48
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +53 -18
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +33 -7
- package/src/features/column-faceting/createFacetedRowModel.ts +8 -1
- package/src/features/column-faceting/createFacetedUniqueValues.ts +41 -10
- package/src/features/column-filtering/columnFilteringFeature.ts +3 -2
- package/src/features/column-filtering/columnFilteringFeature.types.ts +117 -41
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +37 -23
- package/src/features/column-filtering/createFilteredRowModel.ts +28 -17
- package/src/features/column-filtering/filterFns.ts +533 -0
- package/src/features/column-filtering/filterRowsUtils.ts +3 -2
- package/src/features/column-grouping/columnGroupingFeature.ts +3 -21
- package/src/features/column-grouping/columnGroupingFeature.types.ts +21 -95
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +4 -87
- package/src/features/column-grouping/createGroupedRowModel.ts +46 -45
- package/src/features/column-ordering/columnOrderingFeature.ts +12 -7
- package/src/features/column-ordering/columnOrderingFeature.types.ts +29 -3
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +59 -8
- package/src/features/column-pinning/columnPinningFeature.ts +76 -59
- package/src/features/column-pinning/columnPinningFeature.types.ts +53 -42
- package/src/features/column-pinning/columnPinningFeature.utils.ts +184 -170
- package/src/features/column-resizing/columnResizingFeature.types.ts +1 -4
- package/src/features/column-resizing/columnResizingFeature.utils.ts +120 -52
- package/src/features/column-sizing/columnSizingFeature.ts +24 -24
- package/src/features/column-sizing/columnSizingFeature.types.ts +53 -8
- package/src/features/column-sizing/columnSizingFeature.utils.ts +143 -62
- package/src/features/column-visibility/columnVisibilityFeature.ts +4 -0
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +48 -30
- package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +13 -5
- package/src/features/row-aggregation/aggregationFns.ts +345 -0
- package/src/features/row-aggregation/rowAggregationFeature.ts +60 -0
- package/src/features/row-aggregation/rowAggregationFeature.types.ts +339 -0
- package/src/features/row-aggregation/rowAggregationFeature.utils.ts +430 -0
- package/src/features/row-expanding/rowExpandingFeature.types.ts +8 -23
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +38 -13
- package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
- package/src/features/row-pagination/rowPaginationFeature.types.ts +6 -21
- package/src/features/row-pagination/rowPaginationFeature.utils.ts +1 -1
- package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
- package/src/features/row-selection/rowSelectionFeature.ts +53 -3
- package/src/features/row-selection/rowSelectionFeature.types.ts +54 -10
- package/src/features/row-selection/rowSelectionFeature.utils.ts +273 -91
- package/src/features/row-sorting/createSortedRowModel.ts +107 -75
- package/src/features/row-sorting/rowSortingFeature.types.ts +87 -34
- package/src/features/row-sorting/rowSortingFeature.utils.ts +49 -23
- package/src/features/row-sorting/sortFns.ts +366 -0
- package/src/features/stockFeatures.ts +3 -0
- package/src/helpers/columnHelper.ts +4 -4
- package/src/helpers/metaHelper.ts +24 -0
- package/src/helpers/tableFeatures.ts +37 -5
- package/src/index.ts +8 -8
- package/src/static-functions.ts +1 -0
- package/src/store-reactivity-bindings.ts +1 -1
- package/src/types/Cell.ts +4 -2
- package/src/types/Column.ts +13 -9
- package/src/types/ColumnDef.ts +40 -10
- package/src/types/Header.ts +2 -2
- package/src/types/HeaderGroup.ts +6 -6
- package/src/types/Row.ts +6 -4
- package/src/types/RowModel.ts +19 -74
- package/src/types/RowModelFns.ts +10 -10
- package/src/types/Table.ts +52 -27
- package/src/types/TableFeatures.ts +392 -14
- package/src/types/TableOptions.ts +67 -14
- package/src/types/TableState.ts +15 -1
- package/src/types/type-utils.ts +8 -0
- package/src/utils.ts +60 -8
- package/src/worker/createTableWorker.ts +357 -0
- package/src/worker/createWorkerRowModel.ts +121 -0
- package/src/worker/initTableWorker.ts +164 -0
- package/src/worker/rebuildRowModel.ts +120 -0
- package/src/worker/serializeRowModel.ts +80 -0
- package/src/worker/tableWorkerProtocol.ts +105 -0
- package/dist/fns/aggregationFns.cjs +0 -161
- package/dist/fns/aggregationFns.cjs.map +0 -1
- package/dist/fns/aggregationFns.d.cts +0 -85
- package/dist/fns/aggregationFns.d.ts +0 -85
- package/dist/fns/aggregationFns.js +0 -151
- package/dist/fns/aggregationFns.js.map +0 -1
- package/dist/fns/filterFns.cjs +0 -201
- package/dist/fns/filterFns.cjs.map +0 -1
- package/dist/fns/filterFns.d.cts +0 -167
- package/dist/fns/filterFns.d.ts +0 -167
- package/dist/fns/filterFns.js +0 -185
- package/dist/fns/filterFns.js.map +0 -1
- package/dist/fns/sortFns.cjs +0 -118
- package/dist/fns/sortFns.cjs.map +0 -1
- package/dist/fns/sortFns.d.cts +0 -65
- package/dist/fns/sortFns.d.ts +0 -65
- package/dist/fns/sortFns.js +0 -110
- package/dist/fns/sortFns.js.map +0 -1
- package/skills/column-definitions/SKILL.md +0 -333
- package/skills/column-layout/SKILL.md +0 -328
- package/skills/column-layout/references/subsystems.md +0 -220
- package/skills/customizing-feature-behavior/SKILL.md +0 -416
- package/skills/filtering/SKILL.md +0 -357
- package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
- package/skills/row-expanding/SKILL.md +0 -348
- package/skills/setup/SKILL.md +0 -400
- package/skills/state-management/SKILL.md +0 -388
- package/src/fns/aggregationFns.ts +0 -245
- package/src/fns/filterFns.ts +0 -382
- package/src/fns/sortFns.ts +0 -217
package/dist/types/Table.d.cts
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { RowData } from "./type-utils.cjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { Table_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.cjs";
|
|
3
|
+
import { Table_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.cjs";
|
|
4
4
|
import { Table_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.cjs";
|
|
5
|
-
import { Table_Headers } from "../core/headers/coreHeadersFeature.types.cjs";
|
|
6
5
|
import { Table_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.cjs";
|
|
7
|
-
import {
|
|
8
|
-
import { Table_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.cjs";
|
|
6
|
+
import { Table_Headers } from "../core/headers/coreHeadersFeature.types.cjs";
|
|
9
7
|
import { Table_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.cjs";
|
|
10
|
-
import {
|
|
8
|
+
import { Table_RowSorting } from "../features/row-sorting/rowSortingFeature.types.cjs";
|
|
11
9
|
import { Table_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.cjs";
|
|
12
10
|
import { Table_RowExpanding } from "../features/row-expanding/rowExpandingFeature.types.cjs";
|
|
13
11
|
import { Table_RowPinning } from "../features/row-pinning/rowPinningFeature.types.cjs";
|
|
14
12
|
import { Table_RowSelection } from "../features/row-selection/rowSelectionFeature.types.cjs";
|
|
15
13
|
import { Table_Rows } from "../core/rows/coreRowsFeature.types.cjs";
|
|
16
|
-
import {
|
|
14
|
+
import { Table_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.cjs";
|
|
17
15
|
import { Table_RowPagination } from "../features/row-pagination/rowPaginationFeature.types.cjs";
|
|
18
|
-
import { CachedRowModel_All, CreateRowModels_All } from "./RowModel.cjs";
|
|
19
|
-
import { TableState_All } from "./TableState.cjs";
|
|
20
|
-
import { Atoms_All, BaseAtoms_All, ExternalAtoms_All, Table_Table } from "../core/table/coreTablesFeature.types.cjs";
|
|
21
|
-
import { TableOptions_All } from "./TableOptions.cjs";
|
|
22
|
-
import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.cjs";
|
|
23
|
-
import { Table_ColumnFaceting } from "../features/column-faceting/columnFacetingFeature.types.cjs";
|
|
24
16
|
import { Table_RowModels } from "../core/row-models/coreRowModelsFeature.types.cjs";
|
|
25
|
-
import {
|
|
17
|
+
import { Table_ColumnFaceting } from "../features/column-faceting/columnFacetingFeature.types.cjs";
|
|
18
|
+
import { Table_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.cjs";
|
|
19
|
+
import { CachedRowModel_All } from "./RowModel.cjs";
|
|
20
|
+
import { RowModelFns_All } from "./RowModelFns.cjs";
|
|
21
|
+
import { TableState, TableState_All } from "./TableState.cjs";
|
|
22
|
+
import { Table_Columns } from "../core/columns/coreColumnsFeature.types.cjs";
|
|
23
|
+
import { DebugOptions, TableOptions_All } from "./TableOptions.cjs";
|
|
24
|
+
import { Atoms, Atoms_All, BaseAtoms, BaseAtoms_All, ExternalAtoms_All, Table_Table } from "../core/table/coreTablesFeature.types.cjs";
|
|
25
|
+
import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.cjs";
|
|
26
26
|
import { ReadonlyStore } from "@tanstack/store";
|
|
27
27
|
|
|
28
28
|
//#region src/types/Table.d.ts
|
|
@@ -30,8 +30,8 @@ import { ReadonlyStore } from "@tanstack/store";
|
|
|
30
30
|
* The core table object that only includes the core table functionality such as column, header, row, and table APIS.
|
|
31
31
|
* No features are included.
|
|
32
32
|
*/
|
|
33
|
-
|
|
34
|
-
interface Table_FeatureMap<TFeatures extends TableFeatures, TData extends RowData> {
|
|
33
|
+
interface Table_Core<in out TFeatures extends TableFeatures, in out TData extends RowData> extends 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
35
|
columnFilteringFeature: Table_ColumnFiltering;
|
|
36
36
|
columnGroupingFeature: Table_ColumnGrouping<TFeatures, TData>;
|
|
37
37
|
columnOrderingFeature: Table_ColumnOrdering<TFeatures, TData>;
|
|
@@ -51,20 +51,15 @@ interface Table_FeatureMap<TFeatures extends TableFeatures, TData extends RowDat
|
|
|
51
51
|
* The table object that includes both the core table functionality and the features that are enabled via the `features` table option.
|
|
52
52
|
*/
|
|
53
53
|
type Table<TFeatures extends TableFeatures, TData extends RowData> = Table_Core<TFeatures, TData> & ExtractFeatureMapTypes<TFeatures, Table_FeatureMap<TFeatures, TData>>;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
initialState: TableState_All;
|
|
64
|
-
baseAtoms: BaseAtoms_All;
|
|
65
|
-
atoms: Atoms_All;
|
|
66
|
-
store: ReadonlyStore<TableState_All>;
|
|
67
|
-
};
|
|
54
|
+
/**
|
|
55
|
+
* `Table_Table` members that `Table` 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
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Internal broad table shape used by feature implementations.
|
|
62
|
+
*/
|
|
68
63
|
//#endregion
|
|
69
|
-
export { Table, Table_Core, Table_FeatureMap
|
|
64
|
+
export { Table, Table_Core, Table_FeatureMap };
|
|
70
65
|
//# sourceMappingURL=Table.d.cts.map
|
package/dist/types/Table.d.ts
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { RowData } from "./type-utils.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { Table_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
|
|
3
|
+
import { Table_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
|
|
4
4
|
import { Table_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
|
|
5
|
-
import { Table_Headers } from "../core/headers/coreHeadersFeature.types.js";
|
|
6
5
|
import { Table_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
|
|
7
|
-
import {
|
|
8
|
-
import { Table_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
|
|
6
|
+
import { Table_Headers } from "../core/headers/coreHeadersFeature.types.js";
|
|
9
7
|
import { Table_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.js";
|
|
10
|
-
import {
|
|
8
|
+
import { Table_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
|
|
11
9
|
import { Table_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
|
|
12
10
|
import { Table_RowExpanding } from "../features/row-expanding/rowExpandingFeature.types.js";
|
|
13
11
|
import { Table_RowPinning } from "../features/row-pinning/rowPinningFeature.types.js";
|
|
14
12
|
import { Table_RowSelection } from "../features/row-selection/rowSelectionFeature.types.js";
|
|
15
13
|
import { Table_Rows } from "../core/rows/coreRowsFeature.types.js";
|
|
16
|
-
import {
|
|
14
|
+
import { Table_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
|
|
17
15
|
import { Table_RowPagination } from "../features/row-pagination/rowPaginationFeature.types.js";
|
|
18
|
-
import { CachedRowModel_All, CreateRowModels_All } from "./RowModel.js";
|
|
19
|
-
import { TableState_All } from "./TableState.js";
|
|
20
|
-
import { Atoms_All, BaseAtoms_All, ExternalAtoms_All, Table_Table } from "../core/table/coreTablesFeature.types.js";
|
|
21
|
-
import { TableOptions_All } from "./TableOptions.js";
|
|
22
|
-
import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
|
|
23
|
-
import { Table_ColumnFaceting } from "../features/column-faceting/columnFacetingFeature.types.js";
|
|
24
16
|
import { Table_RowModels } from "../core/row-models/coreRowModelsFeature.types.js";
|
|
25
|
-
import {
|
|
17
|
+
import { Table_ColumnFaceting } from "../features/column-faceting/columnFacetingFeature.types.js";
|
|
18
|
+
import { Table_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
|
|
19
|
+
import { CachedRowModel_All } from "./RowModel.js";
|
|
20
|
+
import { RowModelFns_All } from "./RowModelFns.js";
|
|
21
|
+
import { TableState, TableState_All } from "./TableState.js";
|
|
22
|
+
import { Table_Columns } from "../core/columns/coreColumnsFeature.types.js";
|
|
23
|
+
import { DebugOptions, TableOptions_All } from "./TableOptions.js";
|
|
24
|
+
import { Atoms, Atoms_All, BaseAtoms, BaseAtoms_All, ExternalAtoms_All, Table_Table } from "../core/table/coreTablesFeature.types.js";
|
|
25
|
+
import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
|
|
26
26
|
import { ReadonlyStore } from "@tanstack/store";
|
|
27
27
|
|
|
28
28
|
//#region src/types/Table.d.ts
|
|
@@ -30,8 +30,8 @@ import { ReadonlyStore } from "@tanstack/store";
|
|
|
30
30
|
* The core table object that only includes the core table functionality such as column, header, row, and table APIS.
|
|
31
31
|
* No features are included.
|
|
32
32
|
*/
|
|
33
|
-
|
|
34
|
-
interface Table_FeatureMap<TFeatures extends TableFeatures, TData extends RowData> {
|
|
33
|
+
interface Table_Core<in out TFeatures extends TableFeatures, in out TData extends RowData> extends 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
35
|
columnFilteringFeature: Table_ColumnFiltering;
|
|
36
36
|
columnGroupingFeature: Table_ColumnGrouping<TFeatures, TData>;
|
|
37
37
|
columnOrderingFeature: Table_ColumnOrdering<TFeatures, TData>;
|
|
@@ -51,20 +51,15 @@ interface Table_FeatureMap<TFeatures extends TableFeatures, TData extends RowDat
|
|
|
51
51
|
* The table object that includes both the core table functionality and the features that are enabled via the `features` table option.
|
|
52
52
|
*/
|
|
53
53
|
type Table<TFeatures extends TableFeatures, TData extends RowData> = Table_Core<TFeatures, TData> & ExtractFeatureMapTypes<TFeatures, Table_FeatureMap<TFeatures, TData>>;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
initialState: TableState_All;
|
|
64
|
-
baseAtoms: BaseAtoms_All;
|
|
65
|
-
atoms: Atoms_All;
|
|
66
|
-
store: ReadonlyStore<TableState_All>;
|
|
67
|
-
};
|
|
54
|
+
/**
|
|
55
|
+
* `Table_Table` members that `Table` 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
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Internal broad table shape used by feature implementations.
|
|
62
|
+
*/
|
|
68
63
|
//#endregion
|
|
69
|
-
export { Table, Table_Core, Table_FeatureMap
|
|
64
|
+
export { Table, Table_Core, Table_FeatureMap };
|
|
70
65
|
//# sourceMappingURL=Table.d.ts.map
|
|
@@ -1,53 +1,381 @@
|
|
|
1
1
|
import { CellData, RowData, UnionToIntersection } from "./type-utils.cjs";
|
|
2
2
|
import { CoreFeatures } from "../core/coreFeatures.cjs";
|
|
3
|
-
import {
|
|
3
|
+
import { SortFn } from "../features/row-sorting/rowSortingFeature.types.cjs";
|
|
4
4
|
import { ColumnDefBase_All } from "./ColumnDef.cjs";
|
|
5
|
+
import { AggregationFnDef } from "../features/row-aggregation/rowAggregationFeature.types.cjs";
|
|
6
|
+
import { Row } from "./Row.cjs";
|
|
7
|
+
import { FilterFn } from "../features/column-filtering/columnFilteringFeature.types.cjs";
|
|
8
|
+
import { RowModel } from "../core/row-models/coreRowModelsFeature.types.cjs";
|
|
5
9
|
import { TableState_All } from "./TableState.cjs";
|
|
6
10
|
import { TableOptions_All } from "./TableOptions.cjs";
|
|
11
|
+
import { Table } from "./Table.cjs";
|
|
12
|
+
import { Column } from "./Column.cjs";
|
|
7
13
|
import { StockFeatures } from "../features/stockFeatures.cjs";
|
|
8
|
-
import { Table_Internal } from "./Table.cjs";
|
|
9
14
|
|
|
10
15
|
//#region src/types/TableFeatures.d.ts
|
|
16
|
+
/**
|
|
17
|
+
* Detects whether a type is `any`.
|
|
18
|
+
*
|
|
19
|
+
* Several feature-map helpers need a separate `any` path so broad generic
|
|
20
|
+
* usage still exposes all known feature APIs instead of narrowing to no keys.
|
|
21
|
+
*/
|
|
11
22
|
type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
23
|
+
/**
|
|
24
|
+
* Converts a union to an intersection, returning `{}` for `never`.
|
|
25
|
+
*
|
|
26
|
+
* This keeps empty feature-map lookups usable as an intersection member.
|
|
27
|
+
*/
|
|
12
28
|
type UnionToIntersectionOrEmpty<T> = [T] extends [never] ? {} : UnionToIntersection<T> & {};
|
|
29
|
+
/**
|
|
30
|
+
* Extracts the API/types contributed by the features present in `TFeatures`.
|
|
31
|
+
*
|
|
32
|
+
* `TFeatureMap` maps feature keys to the types they contribute. When
|
|
33
|
+
* `TFeatures` is `any`, all feature-map entries are included to preserve the
|
|
34
|
+
* permissive behavior expected by broad table types. Otherwise, only entries
|
|
35
|
+
* whose keys are present in `TFeatures` are intersected together.
|
|
36
|
+
*/
|
|
13
37
|
type ExtractFeatureMapTypes<TFeatures extends TableFeatures, TFeatureMap extends object> = IsAny<TFeatures> extends true ? UnionToIntersection<TFeatureMap[keyof TFeatureMap]> : UnionToIntersectionOrEmpty<TFeatureMap[Extract<keyof TFeatures, keyof TFeatureMap>]>;
|
|
38
|
+
/**
|
|
39
|
+
* Declaration-merge target for custom table features.
|
|
40
|
+
*
|
|
41
|
+
* Add custom feature keys here so `TableFeatures` can accept them in the
|
|
42
|
+
* `features` option and use the same feature-map extraction system as built-in
|
|
43
|
+
* features.
|
|
44
|
+
*/
|
|
14
45
|
interface Plugins {}
|
|
15
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Keys of the `features` option that are not table features themselves.
|
|
48
|
+
*
|
|
49
|
+
* These slots carry per-table types (`tableMeta`, `columnMeta`), row model
|
|
50
|
+
* factories, and row model function registries. They are stripped from the
|
|
51
|
+
* table's registered `_features` at runtime and excluded from feature-derived
|
|
52
|
+
* options such as the generated `debug*` keys.
|
|
53
|
+
*/
|
|
54
|
+
type NonFeatureKeys = 'aggregationFns' | 'columnMeta' | 'coreRowModel' | 'expandedRowModel' | 'facetedMinMaxValues' | 'facetedRowModel' | 'facetedUniqueValues' | 'filterFns' | 'filterMeta' | 'filteredRowModel' | 'groupedRowModel' | 'paginatedRowModel' | 'sortFns' | 'sortedRowModel' | 'tableMeta';
|
|
55
|
+
/**
|
|
56
|
+
* Maps each row model and fn registry slot to the feature(s) that must be
|
|
57
|
+
* registered alongside it in the same features object.
|
|
58
|
+
*
|
|
59
|
+
* Custom features can declaration-merge their own slot prerequisites into this
|
|
60
|
+
* interface to get the same validation from `tableFeatures()`.
|
|
61
|
+
*/
|
|
62
|
+
interface FeatureSlotPrereqs {
|
|
63
|
+
/**
|
|
64
|
+
* Named aggregation functions require the independent aggregation feature.
|
|
65
|
+
*/
|
|
66
|
+
aggregationFns: 'rowAggregationFeature';
|
|
67
|
+
/**
|
|
68
|
+
* Column resizing builds on the column sizing state and APIs.
|
|
69
|
+
*/
|
|
70
|
+
columnResizingFeature: 'columnSizingFeature';
|
|
71
|
+
/**
|
|
72
|
+
* Expanded row-model factories require row expanding APIs and state.
|
|
73
|
+
*/
|
|
74
|
+
expandedRowModel: 'rowExpandingFeature';
|
|
75
|
+
/**
|
|
76
|
+
* Faceted min/max factories require column faceting APIs.
|
|
77
|
+
*/
|
|
78
|
+
facetedMinMaxValues: 'columnFacetingFeature';
|
|
79
|
+
/**
|
|
80
|
+
* Faceted row-model factories require column faceting APIs.
|
|
81
|
+
*/
|
|
82
|
+
facetedRowModel: 'columnFacetingFeature';
|
|
83
|
+
/**
|
|
84
|
+
* Faceted unique-value factories require column faceting APIs.
|
|
85
|
+
*/
|
|
86
|
+
facetedUniqueValues: 'columnFacetingFeature';
|
|
87
|
+
/**
|
|
88
|
+
* Filtered row-model factories require column filtering APIs and state.
|
|
89
|
+
*/
|
|
90
|
+
filteredRowModel: 'columnFilteringFeature';
|
|
91
|
+
/**
|
|
92
|
+
* Named filter functions are only meaningful when column filtering is enabled.
|
|
93
|
+
*/
|
|
94
|
+
filterFns: 'columnFilteringFeature';
|
|
95
|
+
/**
|
|
96
|
+
* Filter metadata types are only read and written by filtering features.
|
|
97
|
+
*/
|
|
98
|
+
filterMeta: 'columnFilteringFeature';
|
|
99
|
+
/**
|
|
100
|
+
* Global filtering builds on column filtering state and filter functions.
|
|
101
|
+
*/
|
|
102
|
+
globalFilteringFeature: 'columnFilteringFeature';
|
|
103
|
+
/**
|
|
104
|
+
* Grouped row-model factories require column grouping APIs and state.
|
|
105
|
+
*/
|
|
106
|
+
groupedRowModel: 'columnGroupingFeature';
|
|
107
|
+
/**
|
|
108
|
+
* Paginated row-model factories require row pagination APIs and state.
|
|
109
|
+
*/
|
|
110
|
+
paginatedRowModel: 'rowPaginationFeature';
|
|
111
|
+
/**
|
|
112
|
+
* Sorted row-model factories require row sorting APIs and state.
|
|
113
|
+
*/
|
|
114
|
+
sortedRowModel: 'rowSortingFeature';
|
|
115
|
+
/**
|
|
116
|
+
* Named sorting functions are only meaningful when row sorting is enabled.
|
|
117
|
+
*/
|
|
118
|
+
sortFns: 'rowSortingFeature';
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Validates that every row model and fn registry slot in a features object is
|
|
122
|
+
* accompanied by its prerequisite feature.
|
|
123
|
+
*
|
|
124
|
+
* Slots whose prerequisite is missing have their type replaced with a literal
|
|
125
|
+
* error message, so the offending property fails to type-check with a message
|
|
126
|
+
* naming the feature that needs to be added.
|
|
127
|
+
*/
|
|
128
|
+
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 };
|
|
129
|
+
/**
|
|
130
|
+
* Complete feature registry for a table.
|
|
131
|
+
*
|
|
132
|
+
* This type combines core features, stock features, declaration-merged custom
|
|
133
|
+
* plugins, row-model factory slots, function registries, and type-only meta
|
|
134
|
+
* slots. The concrete `features` object passed to `tableFeatures()` determines
|
|
135
|
+
* which feature APIs are included throughout table, row, column, cell, header,
|
|
136
|
+
* options, and state types.
|
|
137
|
+
*/
|
|
138
|
+
interface TableFeatures extends Partial<CoreFeatures>, Partial<StockFeatures>, Partial<Plugins> {
|
|
139
|
+
/**
|
|
140
|
+
* Registry of aggregation functions available to this table by name.
|
|
141
|
+
*
|
|
142
|
+
* Keys registered here become the valid string values for `aggregationFn` on
|
|
143
|
+
* column definitions, with full inference. Import the built-in aggregation
|
|
144
|
+
* functions you use individually and register them by their conventional
|
|
145
|
+
* names: `aggregationFns: { sum: aggregationFn_sum, myCustomAggregationFn }`.
|
|
146
|
+
* Spreading the exported `aggregationFns` registry also works, but puts
|
|
147
|
+
* every built-in aggregation function in your bundle.
|
|
148
|
+
*/
|
|
149
|
+
aggregationFns?: Record<string, AggregationFnDef<any, any, any, any>>;
|
|
150
|
+
/**
|
|
151
|
+
* Type-only slot for declaring the type of `columnDef.meta` for all columns
|
|
152
|
+
* of this table.
|
|
153
|
+
*
|
|
154
|
+
* Pass a phantom value: `columnMeta: {} as MyColumnMeta`. The value itself is
|
|
155
|
+
* ignored and stripped from the table's registered features at runtime — only
|
|
156
|
+
* its type is used, inferred wherever `TFeatures` flows.
|
|
157
|
+
*
|
|
158
|
+
* When omitted, the global declaration-merged `ColumnMeta` interface applies.
|
|
159
|
+
*/
|
|
160
|
+
columnMeta?: object;
|
|
161
|
+
/**
|
|
162
|
+
* Factory for the table's core (unmodified) row model. Defaults to the
|
|
163
|
+
* built-in `createCoreRowModel()` when omitted.
|
|
164
|
+
*/
|
|
165
|
+
coreRowModel?: (table: any) => () => RowModel<any, any>;
|
|
166
|
+
/**
|
|
167
|
+
* Factory for the client-side expanded row model. Pass the exported
|
|
168
|
+
* `createExpandedRowModel()` or implement your own. Not needed for
|
|
169
|
+
* server-side expansion.
|
|
170
|
+
*/
|
|
171
|
+
expandedRowModel?: (table: any) => () => RowModel<any, any>;
|
|
172
|
+
/**
|
|
173
|
+
* Factory for per-column faceted min/max values. Pass the exported
|
|
174
|
+
* `createFacetedMinMaxValues()` or implement your own. Not needed for
|
|
175
|
+
* server-side faceting.
|
|
176
|
+
*/
|
|
177
|
+
facetedMinMaxValues?: (table: any, columnId: string) => () => [number, number] | undefined;
|
|
178
|
+
/**
|
|
179
|
+
* Factory for the per-column faceted row model. Pass the exported
|
|
180
|
+
* `createFacetedRowModel()` or implement your own. Not needed for
|
|
181
|
+
* server-side faceting.
|
|
182
|
+
*/
|
|
183
|
+
facetedRowModel?: (table: any, columnId: string) => () => RowModel<any, any>;
|
|
184
|
+
/**
|
|
185
|
+
* Factory for per-column faceted unique values. Pass the exported
|
|
186
|
+
* `createFacetedUniqueValues()` or implement your own. Not needed for
|
|
187
|
+
* server-side faceting.
|
|
188
|
+
*/
|
|
189
|
+
facetedUniqueValues?: (table: any, columnId: string) => () => Map<any, number>;
|
|
190
|
+
/**
|
|
191
|
+
* Factory for the client-side filtered row model. Pass the exported
|
|
192
|
+
* `createFilteredRowModel()` or implement your own. Not needed for
|
|
193
|
+
* server-side filtering.
|
|
194
|
+
*/
|
|
195
|
+
filteredRowModel?: (table: any) => () => RowModel<any, any>;
|
|
196
|
+
/**
|
|
197
|
+
* Registry of filter functions available to this table by name.
|
|
198
|
+
*
|
|
199
|
+
* Keys registered here become the valid string values for `filterFn` on
|
|
200
|
+
* column definitions and the `globalFilterFn` option, with full inference.
|
|
201
|
+
* Import the built-in filter functions you use individually and register
|
|
202
|
+
* them by their conventional names:
|
|
203
|
+
* `filterFns: { includesString: filterFn_includesString, myCustomFilterFn }`.
|
|
204
|
+
* Spreading the exported `filterFns` registry also works, but puts every
|
|
205
|
+
* built-in filter function in your bundle.
|
|
206
|
+
*/
|
|
207
|
+
filterFns?: Record<string, FilterFn<any, any>>;
|
|
208
|
+
/**
|
|
209
|
+
* Type-only slot for declaring the type of the filter meta that filter
|
|
210
|
+
* functions attach to rows via `addMeta` and that is read back from
|
|
211
|
+
* `row.columnFiltersMeta`.
|
|
212
|
+
*
|
|
213
|
+
* Pass a phantom value: `filterMeta: {} as MyFilterMeta` (or
|
|
214
|
+
* `metaHelper<MyFilterMeta>()`). The value itself is ignored and stripped
|
|
215
|
+
* from the table's registered features at runtime; only its type is used.
|
|
216
|
+
*
|
|
217
|
+
* When omitted, the global declaration-merged `FilterMeta` interface applies.
|
|
218
|
+
*/
|
|
219
|
+
filterMeta?: object;
|
|
220
|
+
/**
|
|
221
|
+
* Factory for the client-side grouped row model. Pass the exported
|
|
222
|
+
* `createGroupedRowModel()` or implement your own. Not needed for
|
|
223
|
+
* server-side grouping.
|
|
224
|
+
*/
|
|
225
|
+
groupedRowModel?: (table: any) => () => RowModel<any, any>;
|
|
226
|
+
/**
|
|
227
|
+
* Factory for the client-side paginated row model. Pass the exported
|
|
228
|
+
* `createPaginatedRowModel()` or implement your own. Not needed for
|
|
229
|
+
* server-side pagination.
|
|
230
|
+
*/
|
|
231
|
+
paginatedRowModel?: (table: any) => () => RowModel<any, any>;
|
|
232
|
+
/**
|
|
233
|
+
* Factory for the client-side sorted row model. Pass the exported
|
|
234
|
+
* `createSortedRowModel()` or implement your own. Not needed for
|
|
235
|
+
* server-side sorting.
|
|
236
|
+
*/
|
|
237
|
+
sortedRowModel?: (table: any) => () => RowModel<any, any>;
|
|
238
|
+
/**
|
|
239
|
+
* Registry of sorting functions available to this table by name.
|
|
240
|
+
*
|
|
241
|
+
* Keys registered here become the valid string values for `sortFn` on column
|
|
242
|
+
* definitions, with full inference. Import the built-in sorting functions
|
|
243
|
+
* you use individually and register them by their conventional names:
|
|
244
|
+
* `sortFns: { alphanumeric: sortFn_alphanumeric, myCustomSortFn }`. Spreading
|
|
245
|
+
* the exported `sortFns` registry also works, but puts every built-in
|
|
246
|
+
* sorting function in your bundle.
|
|
247
|
+
*/
|
|
248
|
+
sortFns?: Record<string, SortFn<any, any>>;
|
|
249
|
+
/**
|
|
250
|
+
* Type-only slot for declaring the type of this table's `options.meta`.
|
|
251
|
+
*
|
|
252
|
+
* Pass a phantom value: `tableMeta: {} as MyTableMeta`. The value itself is
|
|
253
|
+
* ignored and stripped from the table's registered features at runtime — only
|
|
254
|
+
* its type is used, inferred wherever `TFeatures` flows.
|
|
255
|
+
*
|
|
256
|
+
* When omitted, the global declaration-merged `TableMeta` interface applies.
|
|
257
|
+
*/
|
|
258
|
+
tableMeta?: object;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Lifecycle hooks and defaults contributed by a table feature.
|
|
262
|
+
*
|
|
263
|
+
* Feature objects are registered in the table's `features` option. They can
|
|
264
|
+
* contribute default state/options, default column definitions, table APIs,
|
|
265
|
+
* shared prototype APIs for rows/columns/headers/cells, and per-instance row
|
|
266
|
+
* or column data.
|
|
267
|
+
*/
|
|
16
268
|
interface TableFeature {
|
|
17
269
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
270
|
+
* Adds feature methods to the shared cell prototype for a table.
|
|
271
|
+
*
|
|
272
|
+
* This runs lazily the first time a cell is constructed for a table. Methods
|
|
273
|
+
* assigned here are shared by every cell instance created by that table, so
|
|
274
|
+
* this hook should be used for APIs and memoized methods rather than
|
|
275
|
+
* per-cell mutable data.
|
|
276
|
+
*/
|
|
277
|
+
assignCellPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table<TFeatures, TData>) => void;
|
|
278
|
+
/**
|
|
279
|
+
* Adds feature methods to the shared column prototype for a table.
|
|
280
|
+
*
|
|
281
|
+
* This runs lazily the first time a column is constructed for a table.
|
|
282
|
+
* Methods assigned here are shared by every column instance created by that
|
|
283
|
+
* table, so this hook should be used for APIs and memoized methods rather
|
|
284
|
+
* than per-column mutable data.
|
|
20
285
|
*/
|
|
21
|
-
|
|
286
|
+
assignColumnPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table<TFeatures, TData>) => void;
|
|
22
287
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
288
|
+
* Adds feature methods to the shared header prototype for a table.
|
|
289
|
+
*
|
|
290
|
+
* This runs lazily the first time a header is constructed for a table.
|
|
291
|
+
* Methods assigned here are shared by every header instance created by that
|
|
292
|
+
* table, so this hook should be used for APIs and memoized methods rather
|
|
293
|
+
* than per-header mutable data.
|
|
25
294
|
*/
|
|
26
|
-
|
|
295
|
+
assignHeaderPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table<TFeatures, TData>) => void;
|
|
27
296
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
297
|
+
* Adds feature methods to the shared row prototype for a table.
|
|
298
|
+
*
|
|
299
|
+
* This runs lazily the first time a row is constructed for a table. Methods
|
|
300
|
+
* assigned here are shared by every row instance created by that table, so
|
|
301
|
+
* this hook should be used for APIs and memoized methods rather than per-row
|
|
302
|
+
* mutable data.
|
|
30
303
|
*/
|
|
31
|
-
|
|
304
|
+
assignRowPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table<TFeatures, TData>) => void;
|
|
32
305
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
306
|
+
* Adds feature APIs directly to the table instance.
|
|
307
|
+
*
|
|
308
|
+
* The table is a singleton, unlike rows, columns, headers, and cells, so
|
|
309
|
+
* table APIs are assigned directly instead of through a shared prototype.
|
|
310
|
+
* This hook is exclusively for assigning table methods. It runs after
|
|
311
|
+
* options, state atoms, and the store have been created and after every
|
|
312
|
+
* feature's `initTableInstanceData` hook has completed.
|
|
35
313
|
*/
|
|
36
|
-
|
|
314
|
+
constructTableAPIs?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>) => void;
|
|
37
315
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
316
|
+
* Returns default column definition options contributed by this feature.
|
|
317
|
+
*
|
|
318
|
+
* These defaults are merged into the table's default column definition before
|
|
319
|
+
* `options.defaultColumn` and before each user-supplied column definition is
|
|
320
|
+
* resolved, so users can override values supplied here.
|
|
40
321
|
*/
|
|
41
|
-
constructTableAPIs?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>) => void;
|
|
42
322
|
getDefaultColumnDef?: <TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>() => ColumnDefBase_All<TFeatures, TData, TValue>;
|
|
43
|
-
|
|
323
|
+
/**
|
|
324
|
+
* Returns default table options contributed by this feature.
|
|
325
|
+
*
|
|
326
|
+
* This runs while table options are being resolved. Use it for option
|
|
327
|
+
* defaults such as feature enablement flags and default state-updater
|
|
328
|
+
* callbacks. User-supplied table options take precedence over values returned
|
|
329
|
+
* here.
|
|
330
|
+
*/
|
|
331
|
+
getDefaultTableOptions?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>) => Partial<TableOptions_All<TFeatures, TData>>;
|
|
332
|
+
/**
|
|
333
|
+
* Returns this feature's initial table state.
|
|
334
|
+
*
|
|
335
|
+
* The incoming `initialState` contains state accumulated from earlier
|
|
336
|
+
* features and user-provided initial state. Return a complete state object
|
|
337
|
+
* for this feature, preserving `initialState` so user-provided values can
|
|
338
|
+
* override feature defaults.
|
|
339
|
+
*/
|
|
44
340
|
getInitialState?: (initialState: Partial<TableState_All>) => TableState_All;
|
|
45
341
|
/**
|
|
46
|
-
* Initializes
|
|
47
|
-
*
|
|
342
|
+
* Initializes mutable, non-reactive data owned by this feature on the table
|
|
343
|
+
* instance.
|
|
344
|
+
*
|
|
345
|
+
* This runs once during table construction after options, state atoms, and
|
|
346
|
+
* the store are available, and before any feature's `constructTableAPIs`
|
|
347
|
+
* hook runs. Use `constructTableAPIs` exclusively for assigning table
|
|
348
|
+
* methods. Table resets do not rerun this hook; use
|
|
349
|
+
* `resetTableInstanceData` to clear transient instance data instead.
|
|
350
|
+
*/
|
|
351
|
+
initTableInstanceData?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>) => void;
|
|
352
|
+
/**
|
|
353
|
+
* Initializes instance-specific data on each column.
|
|
354
|
+
*
|
|
355
|
+
* This runs for every constructed column after core column fields such as
|
|
356
|
+
* `id`, `depth`, `parent`, `columnDef`, and `columns` have been assigned.
|
|
357
|
+
* Use this for per-column mutable data, caches, or annotations. Shared
|
|
358
|
+
* methods should be assigned via `assignColumnPrototype` instead.
|
|
359
|
+
*/
|
|
360
|
+
initColumnInstanceData?: <TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>) => void;
|
|
361
|
+
/**
|
|
362
|
+
* Initializes instance-specific data on each row.
|
|
363
|
+
*
|
|
364
|
+
* This runs for every constructed row after core row fields such as `id`,
|
|
365
|
+
* `index`, `depth`, `original`, `parentId`, and `subRows` have been assigned.
|
|
366
|
+
* Use this for per-row mutable data, caches, or annotations. Shared methods
|
|
367
|
+
* should be assigned via `assignRowPrototype` instead.
|
|
48
368
|
*/
|
|
49
369
|
initRowInstanceData?: <TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>) => void;
|
|
370
|
+
/**
|
|
371
|
+
* Resets mutable, non-reactive table-instance data owned by this feature.
|
|
372
|
+
*
|
|
373
|
+
* This runs after internally owned state atoms have been restored to
|
|
374
|
+
* `table.initialState` by `table.reset()`. It is intended for transient
|
|
375
|
+
* feature data, not table state slices or externally controlled state.
|
|
376
|
+
*/
|
|
377
|
+
resetTableInstanceData?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>) => void;
|
|
50
378
|
}
|
|
51
379
|
//#endregion
|
|
52
|
-
export { ExtractFeatureMapTypes, Plugins, TableFeature, TableFeatures };
|
|
380
|
+
export { ExtractFeatureMapTypes, FeatureSlotPrereqs, IsAny, NonFeatureKeys, Plugins, TableFeature, TableFeatures, ValidateFeatureSlots };
|
|
53
381
|
//# sourceMappingURL=TableFeatures.d.cts.map
|