@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
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { CellData, RowData, Updater } from "../../types/type-utils.cjs";
|
|
2
|
-
import { ColumnSizingState } from "./columnSizingFeature.types.cjs";
|
|
3
|
-
import { Header } from "../../types/Header.cjs";
|
|
4
2
|
import { ColumnPinningPosition } from "../column-pinning/columnPinningFeature.types.cjs";
|
|
5
|
-
import {
|
|
3
|
+
import { ColumnOffsetsByPosition, ColumnSizingState } from "./columnSizingFeature.types.cjs";
|
|
4
|
+
import { Header } from "../../types/Header.cjs";
|
|
5
|
+
import { Table } from "../../types/Table.cjs";
|
|
6
|
+
import { Column } from "../../types/Column.cjs";
|
|
6
7
|
import { TableFeatures } from "../../types/TableFeatures.cjs";
|
|
7
|
-
import { Table_Internal } from "../../types/Table.cjs";
|
|
8
8
|
|
|
9
9
|
//#region src/features/column-sizing/columnSizingFeature.utils.d.ts
|
|
10
10
|
/**
|
|
@@ -47,19 +47,37 @@ declare function getDefaultColumnSizingColumnDef(): {
|
|
|
47
47
|
* const width = column_getSize(column)
|
|
48
48
|
* ```
|
|
49
49
|
*/
|
|
50
|
-
declare function column_getSize<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
50
|
+
declare function column_getSize<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): number;
|
|
51
|
+
/**
|
|
52
|
+
* Builds start and after offset maps for every visible leaf column, computed
|
|
53
|
+
* once per pinning region plus the full visible list.
|
|
54
|
+
*
|
|
55
|
+
* A single table-level memo of this result backs all `column.getStart()` and
|
|
56
|
+
* `column.getAfter()` calls with O(1) lookups.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```ts
|
|
60
|
+
* const offsets = table_getColumnOffsets(table)
|
|
61
|
+
* const startOffset = offsets.start.starts[column.id]
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
declare function table_getColumnOffsets<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): ColumnOffsetsByPosition;
|
|
51
65
|
/**
|
|
52
66
|
* Computes the offset from the start edge of a pinning region to this column.
|
|
53
67
|
*
|
|
54
68
|
* The value is the sum of all previous visible leaf column sizes in the
|
|
55
|
-
* requested `'
|
|
69
|
+
* requested `'start'`, `'center'`, or `'end'` region.
|
|
70
|
+
*
|
|
71
|
+
* `start` and `end` are logical positions. In LTR languages/layouts, `start`
|
|
72
|
+
* usually corresponds to left and `end` to right. In RTL languages/layouts,
|
|
73
|
+
* `start` usually corresponds to right and `end` to left.
|
|
56
74
|
*
|
|
57
75
|
* @example
|
|
58
76
|
* ```ts
|
|
59
|
-
* const
|
|
77
|
+
* const startOffset = column_getStart(column, 'start')
|
|
60
78
|
* ```
|
|
61
79
|
*/
|
|
62
|
-
declare function column_getStart<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
80
|
+
declare function column_getStart<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): number;
|
|
63
81
|
/**
|
|
64
82
|
* Computes the offset from the end edge of a pinning region after this column.
|
|
65
83
|
*
|
|
@@ -68,10 +86,10 @@ declare function column_getStart<TFeatures extends TableFeatures, TData extends
|
|
|
68
86
|
*
|
|
69
87
|
* @example
|
|
70
88
|
* ```ts
|
|
71
|
-
* const
|
|
89
|
+
* const endOffset = column_getAfter(column, 'end')
|
|
72
90
|
* ```
|
|
73
91
|
*/
|
|
74
|
-
declare function column_getAfter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
92
|
+
declare function column_getAfter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): number;
|
|
75
93
|
/**
|
|
76
94
|
* Removes this column's committed size override.
|
|
77
95
|
*
|
|
@@ -83,7 +101,7 @@ declare function column_getAfter<TFeatures extends TableFeatures, TData extends
|
|
|
83
101
|
* column_resetSize(column)
|
|
84
102
|
* ```
|
|
85
103
|
*/
|
|
86
|
-
declare function column_resetSize<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
104
|
+
declare function column_resetSize<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): void;
|
|
87
105
|
/**
|
|
88
106
|
* Computes a header's rendered size from its leaf headers.
|
|
89
107
|
*
|
|
@@ -119,7 +137,7 @@ declare function header_getStart<TFeatures extends TableFeatures, TData extends
|
|
|
119
137
|
* table_setColumnSizing(table, (old) => ({ ...old, age: 96 }))
|
|
120
138
|
* ```
|
|
121
139
|
*/
|
|
122
|
-
declare function table_setColumnSizing<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
140
|
+
declare function table_setColumnSizing<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, updater: Updater<ColumnSizingState>): void;
|
|
123
141
|
/**
|
|
124
142
|
* Resets `columnSizing` to the configured initial state or feature default.
|
|
125
143
|
*
|
|
@@ -132,29 +150,29 @@ declare function table_setColumnSizing<TFeatures extends TableFeatures, TData ex
|
|
|
132
150
|
* table_resetColumnSizing(table, true)
|
|
133
151
|
* ```
|
|
134
152
|
*/
|
|
135
|
-
declare function table_resetColumnSizing<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
153
|
+
declare function table_resetColumnSizing<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, defaultState?: boolean): void;
|
|
136
154
|
/**
|
|
137
155
|
* Sums the rendered size of the full table header row.
|
|
138
156
|
*
|
|
139
|
-
* This includes
|
|
157
|
+
* This includes start, center, and end columns in the main header group.
|
|
140
158
|
*
|
|
141
159
|
* @example
|
|
142
160
|
* ```ts
|
|
143
161
|
* const width = table_getTotalSize(table)
|
|
144
162
|
* ```
|
|
145
163
|
*/
|
|
146
|
-
declare function table_getTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
164
|
+
declare function table_getTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
|
|
147
165
|
/**
|
|
148
|
-
* Sums the rendered size of the
|
|
166
|
+
* Sums the rendered size of the logical start pinned header region.
|
|
149
167
|
*
|
|
150
|
-
* An empty
|
|
168
|
+
* An empty start pinning region returns `0`.
|
|
151
169
|
*
|
|
152
170
|
* @example
|
|
153
171
|
* ```ts
|
|
154
|
-
* const width =
|
|
172
|
+
* const width = table_getStartTotalSize(table)
|
|
155
173
|
* ```
|
|
156
174
|
*/
|
|
157
|
-
declare function
|
|
175
|
+
declare function table_getStartTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
|
|
158
176
|
/**
|
|
159
177
|
* Sums the rendered size of the center, unpinned header region.
|
|
160
178
|
*
|
|
@@ -165,18 +183,18 @@ declare function table_getLeftTotalSize<TFeatures extends TableFeatures, TData e
|
|
|
165
183
|
* const width = table_getCenterTotalSize(table)
|
|
166
184
|
* ```
|
|
167
185
|
*/
|
|
168
|
-
declare function table_getCenterTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
186
|
+
declare function table_getCenterTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
|
|
169
187
|
/**
|
|
170
|
-
* Sums the rendered size of the
|
|
188
|
+
* Sums the rendered size of the logical end pinned header region.
|
|
171
189
|
*
|
|
172
|
-
* An empty
|
|
190
|
+
* An empty end pinning region returns `0`.
|
|
173
191
|
*
|
|
174
192
|
* @example
|
|
175
193
|
* ```ts
|
|
176
|
-
* const width =
|
|
194
|
+
* const width = table_getEndTotalSize(table)
|
|
177
195
|
* ```
|
|
178
196
|
*/
|
|
179
|
-
declare function
|
|
197
|
+
declare function table_getEndTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
|
|
180
198
|
//#endregion
|
|
181
|
-
export { column_getAfter, column_getSize, column_getStart, column_resetSize, getDefaultColumnSizingColumnDef, getDefaultColumnSizingState, header_getSize, header_getStart, table_getCenterTotalSize,
|
|
199
|
+
export { column_getAfter, column_getSize, column_getStart, column_resetSize, getDefaultColumnSizingColumnDef, getDefaultColumnSizingState, header_getSize, header_getStart, table_getCenterTotalSize, table_getColumnOffsets, table_getEndTotalSize, table_getStartTotalSize, table_getTotalSize, table_resetColumnSizing, table_setColumnSizing };
|
|
182
200
|
//# sourceMappingURL=columnSizingFeature.utils.d.cts.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { CellData, RowData, Updater } from "../../types/type-utils.js";
|
|
2
|
-
import { ColumnSizingState } from "./columnSizingFeature.types.js";
|
|
3
|
-
import { Header } from "../../types/Header.js";
|
|
4
2
|
import { ColumnPinningPosition } from "../column-pinning/columnPinningFeature.types.js";
|
|
5
|
-
import {
|
|
3
|
+
import { ColumnOffsetsByPosition, ColumnSizingState } from "./columnSizingFeature.types.js";
|
|
4
|
+
import { Header } from "../../types/Header.js";
|
|
5
|
+
import { Table } from "../../types/Table.js";
|
|
6
|
+
import { Column } from "../../types/Column.js";
|
|
6
7
|
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
7
|
-
import { Table_Internal } from "../../types/Table.js";
|
|
8
8
|
|
|
9
9
|
//#region src/features/column-sizing/columnSizingFeature.utils.d.ts
|
|
10
10
|
/**
|
|
@@ -47,19 +47,37 @@ declare function getDefaultColumnSizingColumnDef(): {
|
|
|
47
47
|
* const width = column_getSize(column)
|
|
48
48
|
* ```
|
|
49
49
|
*/
|
|
50
|
-
declare function column_getSize<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
50
|
+
declare function column_getSize<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): number;
|
|
51
|
+
/**
|
|
52
|
+
* Builds start and after offset maps for every visible leaf column, computed
|
|
53
|
+
* once per pinning region plus the full visible list.
|
|
54
|
+
*
|
|
55
|
+
* A single table-level memo of this result backs all `column.getStart()` and
|
|
56
|
+
* `column.getAfter()` calls with O(1) lookups.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```ts
|
|
60
|
+
* const offsets = table_getColumnOffsets(table)
|
|
61
|
+
* const startOffset = offsets.start.starts[column.id]
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
declare function table_getColumnOffsets<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): ColumnOffsetsByPosition;
|
|
51
65
|
/**
|
|
52
66
|
* Computes the offset from the start edge of a pinning region to this column.
|
|
53
67
|
*
|
|
54
68
|
* The value is the sum of all previous visible leaf column sizes in the
|
|
55
|
-
* requested `'
|
|
69
|
+
* requested `'start'`, `'center'`, or `'end'` region.
|
|
70
|
+
*
|
|
71
|
+
* `start` and `end` are logical positions. In LTR languages/layouts, `start`
|
|
72
|
+
* usually corresponds to left and `end` to right. In RTL languages/layouts,
|
|
73
|
+
* `start` usually corresponds to right and `end` to left.
|
|
56
74
|
*
|
|
57
75
|
* @example
|
|
58
76
|
* ```ts
|
|
59
|
-
* const
|
|
77
|
+
* const startOffset = column_getStart(column, 'start')
|
|
60
78
|
* ```
|
|
61
79
|
*/
|
|
62
|
-
declare function column_getStart<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
80
|
+
declare function column_getStart<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): number;
|
|
63
81
|
/**
|
|
64
82
|
* Computes the offset from the end edge of a pinning region after this column.
|
|
65
83
|
*
|
|
@@ -68,10 +86,10 @@ declare function column_getStart<TFeatures extends TableFeatures, TData extends
|
|
|
68
86
|
*
|
|
69
87
|
* @example
|
|
70
88
|
* ```ts
|
|
71
|
-
* const
|
|
89
|
+
* const endOffset = column_getAfter(column, 'end')
|
|
72
90
|
* ```
|
|
73
91
|
*/
|
|
74
|
-
declare function column_getAfter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
92
|
+
declare function column_getAfter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): number;
|
|
75
93
|
/**
|
|
76
94
|
* Removes this column's committed size override.
|
|
77
95
|
*
|
|
@@ -83,7 +101,7 @@ declare function column_getAfter<TFeatures extends TableFeatures, TData extends
|
|
|
83
101
|
* column_resetSize(column)
|
|
84
102
|
* ```
|
|
85
103
|
*/
|
|
86
|
-
declare function column_resetSize<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
104
|
+
declare function column_resetSize<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): void;
|
|
87
105
|
/**
|
|
88
106
|
* Computes a header's rendered size from its leaf headers.
|
|
89
107
|
*
|
|
@@ -119,7 +137,7 @@ declare function header_getStart<TFeatures extends TableFeatures, TData extends
|
|
|
119
137
|
* table_setColumnSizing(table, (old) => ({ ...old, age: 96 }))
|
|
120
138
|
* ```
|
|
121
139
|
*/
|
|
122
|
-
declare function table_setColumnSizing<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
140
|
+
declare function table_setColumnSizing<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, updater: Updater<ColumnSizingState>): void;
|
|
123
141
|
/**
|
|
124
142
|
* Resets `columnSizing` to the configured initial state or feature default.
|
|
125
143
|
*
|
|
@@ -132,29 +150,29 @@ declare function table_setColumnSizing<TFeatures extends TableFeatures, TData ex
|
|
|
132
150
|
* table_resetColumnSizing(table, true)
|
|
133
151
|
* ```
|
|
134
152
|
*/
|
|
135
|
-
declare function table_resetColumnSizing<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
153
|
+
declare function table_resetColumnSizing<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, defaultState?: boolean): void;
|
|
136
154
|
/**
|
|
137
155
|
* Sums the rendered size of the full table header row.
|
|
138
156
|
*
|
|
139
|
-
* This includes
|
|
157
|
+
* This includes start, center, and end columns in the main header group.
|
|
140
158
|
*
|
|
141
159
|
* @example
|
|
142
160
|
* ```ts
|
|
143
161
|
* const width = table_getTotalSize(table)
|
|
144
162
|
* ```
|
|
145
163
|
*/
|
|
146
|
-
declare function table_getTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
164
|
+
declare function table_getTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
|
|
147
165
|
/**
|
|
148
|
-
* Sums the rendered size of the
|
|
166
|
+
* Sums the rendered size of the logical start pinned header region.
|
|
149
167
|
*
|
|
150
|
-
* An empty
|
|
168
|
+
* An empty start pinning region returns `0`.
|
|
151
169
|
*
|
|
152
170
|
* @example
|
|
153
171
|
* ```ts
|
|
154
|
-
* const width =
|
|
172
|
+
* const width = table_getStartTotalSize(table)
|
|
155
173
|
* ```
|
|
156
174
|
*/
|
|
157
|
-
declare function
|
|
175
|
+
declare function table_getStartTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
|
|
158
176
|
/**
|
|
159
177
|
* Sums the rendered size of the center, unpinned header region.
|
|
160
178
|
*
|
|
@@ -165,18 +183,18 @@ declare function table_getLeftTotalSize<TFeatures extends TableFeatures, TData e
|
|
|
165
183
|
* const width = table_getCenterTotalSize(table)
|
|
166
184
|
* ```
|
|
167
185
|
*/
|
|
168
|
-
declare function table_getCenterTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
186
|
+
declare function table_getCenterTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
|
|
169
187
|
/**
|
|
170
|
-
* Sums the rendered size of the
|
|
188
|
+
* Sums the rendered size of the logical end pinned header region.
|
|
171
189
|
*
|
|
172
|
-
* An empty
|
|
190
|
+
* An empty end pinning region returns `0`.
|
|
173
191
|
*
|
|
174
192
|
* @example
|
|
175
193
|
* ```ts
|
|
176
|
-
* const width =
|
|
194
|
+
* const width = table_getEndTotalSize(table)
|
|
177
195
|
* ```
|
|
178
196
|
*/
|
|
179
|
-
declare function
|
|
197
|
+
declare function table_getEndTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
|
|
180
198
|
//#endregion
|
|
181
|
-
export { column_getAfter, column_getSize, column_getStart, column_resetSize, getDefaultColumnSizingColumnDef, getDefaultColumnSizingState, header_getSize, header_getStart, table_getCenterTotalSize,
|
|
199
|
+
export { column_getAfter, column_getSize, column_getStart, column_resetSize, getDefaultColumnSizingColumnDef, getDefaultColumnSizingState, header_getSize, header_getStart, table_getCenterTotalSize, table_getColumnOffsets, table_getEndTotalSize, table_getStartTotalSize, table_getTotalSize, table_resetColumnSizing, table_setColumnSizing };
|
|
182
200
|
//# sourceMappingURL=columnSizingFeature.utils.d.ts.map
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { callMemoOrStaticFn, cloneState } from "../../utils.js";
|
|
2
|
-
import { table_getCenterHeaderGroups,
|
|
3
|
-
import { column_getIndex } from "../column-ordering/columnOrderingFeature.utils.js";
|
|
1
|
+
import { callMemoOrStaticFn, cloneState, hasOwn, makeObjectMap } from "../../utils.js";
|
|
2
|
+
import { table_getCenterHeaderGroups, table_getEndHeaderGroups, table_getPinnedVisibleLeafColumns, table_getStartHeaderGroups } from "../column-pinning/columnPinningFeature.utils.js";
|
|
4
3
|
|
|
5
4
|
//#region src/features/column-sizing/columnSizingFeature.utils.ts
|
|
6
5
|
/**
|
|
@@ -15,7 +14,7 @@ import { column_getIndex } from "../column-ordering/columnOrderingFeature.utils.
|
|
|
15
14
|
* ```
|
|
16
15
|
*/
|
|
17
16
|
function getDefaultColumnSizingState() {
|
|
18
|
-
return
|
|
17
|
+
return makeObjectMap();
|
|
19
18
|
}
|
|
20
19
|
/**
|
|
21
20
|
* Creates the built-in sizing defaults for column definitions.
|
|
@@ -48,27 +47,74 @@ function getDefaultColumnSizingColumnDef() {
|
|
|
48
47
|
* ```
|
|
49
48
|
*/
|
|
50
49
|
function column_getSize(column) {
|
|
51
|
-
var _column$table$atoms$c;
|
|
52
50
|
const defaultSizes = getDefaultColumnSizingColumnDef();
|
|
53
|
-
const
|
|
51
|
+
const columnSizing = column.table.atoms.columnSizing?.get();
|
|
52
|
+
const columnSize = columnSizing && hasOwn(columnSizing, column.id) ? columnSizing[column.id] : void 0;
|
|
54
53
|
return Math.min(Math.max(column.columnDef.minSize ?? defaultSizes.minSize, columnSize ?? column.columnDef.size ?? defaultSizes.size), column.columnDef.maxSize ?? defaultSizes.maxSize);
|
|
55
54
|
}
|
|
55
|
+
function buildColumnOffsets(columns) {
|
|
56
|
+
const starts = makeObjectMap();
|
|
57
|
+
const afters = makeObjectMap();
|
|
58
|
+
const sizes = new Array(columns.length);
|
|
59
|
+
let start = 0;
|
|
60
|
+
for (let i = 0; i < columns.length; i++) {
|
|
61
|
+
const column = columns[i];
|
|
62
|
+
const size = callMemoOrStaticFn(column, "getSize", column_getSize);
|
|
63
|
+
sizes[i] = size;
|
|
64
|
+
starts[column.id] = start;
|
|
65
|
+
start += size;
|
|
66
|
+
}
|
|
67
|
+
let after = 0;
|
|
68
|
+
for (let i = columns.length - 1; i >= 0; i--) {
|
|
69
|
+
afters[columns[i].id] = after;
|
|
70
|
+
after += sizes[i];
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
starts,
|
|
74
|
+
afters
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Builds start and after offset maps for every visible leaf column, computed
|
|
79
|
+
* once per pinning region plus the full visible list.
|
|
80
|
+
*
|
|
81
|
+
* A single table-level memo of this result backs all `column.getStart()` and
|
|
82
|
+
* `column.getAfter()` calls with O(1) lookups.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```ts
|
|
86
|
+
* const offsets = table_getColumnOffsets(table)
|
|
87
|
+
* const startOffset = offsets.start.starts[column.id]
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
function table_getColumnOffsets(table) {
|
|
91
|
+
return {
|
|
92
|
+
all: buildColumnOffsets(table_getPinnedVisibleLeafColumns(table)),
|
|
93
|
+
center: buildColumnOffsets(table_getPinnedVisibleLeafColumns(table, "center")),
|
|
94
|
+
start: buildColumnOffsets(table_getPinnedVisibleLeafColumns(table, "start")),
|
|
95
|
+
end: buildColumnOffsets(table_getPinnedVisibleLeafColumns(table, "end"))
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
function toOffsetsKey(position) {
|
|
99
|
+
return position === "start" ? "start" : position === "end" ? "end" : position === "center" ? "center" : "all";
|
|
100
|
+
}
|
|
56
101
|
/**
|
|
57
102
|
* Computes the offset from the start edge of a pinning region to this column.
|
|
58
103
|
*
|
|
59
104
|
* The value is the sum of all previous visible leaf column sizes in the
|
|
60
|
-
* requested `'
|
|
105
|
+
* requested `'start'`, `'center'`, or `'end'` region.
|
|
106
|
+
*
|
|
107
|
+
* `start` and `end` are logical positions. In LTR languages/layouts, `start`
|
|
108
|
+
* usually corresponds to left and `end` to right. In RTL languages/layouts,
|
|
109
|
+
* `start` usually corresponds to right and `end` to left.
|
|
61
110
|
*
|
|
62
111
|
* @example
|
|
63
112
|
* ```ts
|
|
64
|
-
* const
|
|
113
|
+
* const startOffset = column_getStart(column, 'start')
|
|
65
114
|
* ```
|
|
66
115
|
*/
|
|
67
116
|
function column_getStart(column, position) {
|
|
68
|
-
|
|
69
|
-
if (index <= 0) return 0;
|
|
70
|
-
const prevColumn = callMemoOrStaticFn(column.table, "getPinnedVisibleLeafColumns", table_getPinnedVisibleLeafColumns, position)[index - 1];
|
|
71
|
-
return callMemoOrStaticFn(prevColumn, "getStart", column_getStart, position) + callMemoOrStaticFn(prevColumn, "getSize", column_getSize);
|
|
117
|
+
return callMemoOrStaticFn(column.table, "getColumnOffsets", table_getColumnOffsets)[toOffsetsKey(position)].starts[column.id] ?? 0;
|
|
72
118
|
}
|
|
73
119
|
/**
|
|
74
120
|
* Computes the offset from the end edge of a pinning region after this column.
|
|
@@ -78,15 +124,11 @@ function column_getStart(column, position) {
|
|
|
78
124
|
*
|
|
79
125
|
* @example
|
|
80
126
|
* ```ts
|
|
81
|
-
* const
|
|
127
|
+
* const endOffset = column_getAfter(column, 'end')
|
|
82
128
|
* ```
|
|
83
129
|
*/
|
|
84
130
|
function column_getAfter(column, position) {
|
|
85
|
-
|
|
86
|
-
const index = callMemoOrStaticFn(column, "getIndex", column_getIndex, position);
|
|
87
|
-
if (index < 0 || index >= visibleLeafColumns.length - 1) return 0;
|
|
88
|
-
const nextColumn = visibleLeafColumns[index + 1];
|
|
89
|
-
return callMemoOrStaticFn(nextColumn, "getSize", column_getSize) + callMemoOrStaticFn(nextColumn, "getAfter", column_getAfter, position);
|
|
131
|
+
return callMemoOrStaticFn(column.table, "getColumnOffsets", table_getColumnOffsets)[toOffsetsKey(position)].afters[column.id] ?? 0;
|
|
90
132
|
}
|
|
91
133
|
/**
|
|
92
134
|
* Removes this column's committed size override.
|
|
@@ -100,7 +142,13 @@ function column_getAfter(column, position) {
|
|
|
100
142
|
* ```
|
|
101
143
|
*/
|
|
102
144
|
function column_resetSize(column) {
|
|
103
|
-
table_setColumnSizing(column.table, (
|
|
145
|
+
table_setColumnSizing(column.table, (old) => {
|
|
146
|
+
const rest = makeObjectMap();
|
|
147
|
+
const columnIds = Object.keys(old);
|
|
148
|
+
for (let i = 0; i < columnIds.length; i++) {
|
|
149
|
+
const columnId = columnIds[i];
|
|
150
|
+
if (columnId !== column.id) rest[columnId] = old[columnId];
|
|
151
|
+
}
|
|
104
152
|
return rest;
|
|
105
153
|
});
|
|
106
154
|
}
|
|
@@ -137,8 +185,7 @@ function header_getSize(header) {
|
|
|
137
185
|
*/
|
|
138
186
|
function header_getStart(header) {
|
|
139
187
|
if (header.index > 0) {
|
|
140
|
-
|
|
141
|
-
const prevSiblingHeader = (_header$headerGroup = header.headerGroup) === null || _header$headerGroup === void 0 ? void 0 : _header$headerGroup.headers[header.index - 1];
|
|
188
|
+
const prevSiblingHeader = header.headerGroup?.headers[header.index - 1];
|
|
142
189
|
if (prevSiblingHeader) return callMemoOrStaticFn(prevSiblingHeader, "getStart", header_getStart) + callMemoOrStaticFn(prevSiblingHeader, "getSize", header_getSize);
|
|
143
190
|
}
|
|
144
191
|
return 0;
|
|
@@ -155,8 +202,7 @@ function header_getStart(header) {
|
|
|
155
202
|
* ```
|
|
156
203
|
*/
|
|
157
204
|
function table_setColumnSizing(table, updater) {
|
|
158
|
-
|
|
159
|
-
(_table$options$onColu = (_table$options = table.options).onColumnSizingChange) === null || _table$options$onColu === void 0 || _table$options$onColu.call(_table$options, updater);
|
|
205
|
+
table.options.onColumnSizingChange?.(updater);
|
|
160
206
|
}
|
|
161
207
|
/**
|
|
162
208
|
* Resets `columnSizing` to the configured initial state or feature default.
|
|
@@ -171,12 +217,12 @@ function table_setColumnSizing(table, updater) {
|
|
|
171
217
|
* ```
|
|
172
218
|
*/
|
|
173
219
|
function table_resetColumnSizing(table, defaultState) {
|
|
174
|
-
table_setColumnSizing(table, defaultState ?
|
|
220
|
+
table_setColumnSizing(table, defaultState ? makeObjectMap() : Object.assign(makeObjectMap(), cloneState(table.initialState.columnSizing ?? {})));
|
|
175
221
|
}
|
|
176
222
|
/**
|
|
177
223
|
* Sums the rendered size of the full table header row.
|
|
178
224
|
*
|
|
179
|
-
* This includes
|
|
225
|
+
* This includes start, center, and end columns in the main header group.
|
|
180
226
|
*
|
|
181
227
|
* @example
|
|
182
228
|
* ```ts
|
|
@@ -184,26 +230,24 @@ function table_resetColumnSizing(table, defaultState) {
|
|
|
184
230
|
* ```
|
|
185
231
|
*/
|
|
186
232
|
function table_getTotalSize(table) {
|
|
187
|
-
|
|
188
|
-
return ((_table$getHeaderGroup = table.getHeaderGroups()[0]) === null || _table$getHeaderGroup === void 0 ? void 0 : _table$getHeaderGroup.headers.reduce((sum, header) => {
|
|
233
|
+
return table.getHeaderGroups()[0]?.headers.reduce((sum, header) => {
|
|
189
234
|
return sum + header_getSize(header);
|
|
190
|
-
}, 0)
|
|
235
|
+
}, 0) ?? 0;
|
|
191
236
|
}
|
|
192
237
|
/**
|
|
193
|
-
* Sums the rendered size of the
|
|
238
|
+
* Sums the rendered size of the logical start pinned header region.
|
|
194
239
|
*
|
|
195
|
-
* An empty
|
|
240
|
+
* An empty start pinning region returns `0`.
|
|
196
241
|
*
|
|
197
242
|
* @example
|
|
198
243
|
* ```ts
|
|
199
|
-
* const width =
|
|
244
|
+
* const width = table_getStartTotalSize(table)
|
|
200
245
|
* ```
|
|
201
246
|
*/
|
|
202
|
-
function
|
|
203
|
-
|
|
204
|
-
return ((_callMemoOrStaticFn$ = callMemoOrStaticFn(table, "getLeftHeaderGroups", table_getLeftHeaderGroups)[0]) === null || _callMemoOrStaticFn$ === void 0 ? void 0 : _callMemoOrStaticFn$.headers.reduce((sum, header) => {
|
|
247
|
+
function table_getStartTotalSize(table) {
|
|
248
|
+
return callMemoOrStaticFn(table, "getStartHeaderGroups", table_getStartHeaderGroups)[0]?.headers.reduce((sum, header) => {
|
|
205
249
|
return sum + header_getSize(header);
|
|
206
|
-
}, 0)
|
|
250
|
+
}, 0) ?? 0;
|
|
207
251
|
}
|
|
208
252
|
/**
|
|
209
253
|
* Sums the rendered size of the center, unpinned header region.
|
|
@@ -216,28 +260,26 @@ function table_getLeftTotalSize(table) {
|
|
|
216
260
|
* ```
|
|
217
261
|
*/
|
|
218
262
|
function table_getCenterTotalSize(table) {
|
|
219
|
-
|
|
220
|
-
return ((_callMemoOrStaticFn$2 = callMemoOrStaticFn(table, "getCenterHeaderGroups", table_getCenterHeaderGroups)[0]) === null || _callMemoOrStaticFn$2 === void 0 ? void 0 : _callMemoOrStaticFn$2.headers.reduce((sum, header) => {
|
|
263
|
+
return callMemoOrStaticFn(table, "getCenterHeaderGroups", table_getCenterHeaderGroups)[0]?.headers.reduce((sum, header) => {
|
|
221
264
|
return sum + header_getSize(header);
|
|
222
|
-
}, 0)
|
|
265
|
+
}, 0) ?? 0;
|
|
223
266
|
}
|
|
224
267
|
/**
|
|
225
|
-
* Sums the rendered size of the
|
|
268
|
+
* Sums the rendered size of the logical end pinned header region.
|
|
226
269
|
*
|
|
227
|
-
* An empty
|
|
270
|
+
* An empty end pinning region returns `0`.
|
|
228
271
|
*
|
|
229
272
|
* @example
|
|
230
273
|
* ```ts
|
|
231
|
-
* const width =
|
|
274
|
+
* const width = table_getEndTotalSize(table)
|
|
232
275
|
* ```
|
|
233
276
|
*/
|
|
234
|
-
function
|
|
235
|
-
|
|
236
|
-
return ((_callMemoOrStaticFn$3 = callMemoOrStaticFn(table, "getRightHeaderGroups", table_getRightHeaderGroups)[0]) === null || _callMemoOrStaticFn$3 === void 0 ? void 0 : _callMemoOrStaticFn$3.headers.reduce((sum, header) => {
|
|
277
|
+
function table_getEndTotalSize(table) {
|
|
278
|
+
return callMemoOrStaticFn(table, "getEndHeaderGroups", table_getEndHeaderGroups)[0]?.headers.reduce((sum, header) => {
|
|
237
279
|
return sum + header_getSize(header);
|
|
238
|
-
}, 0)
|
|
280
|
+
}, 0) ?? 0;
|
|
239
281
|
}
|
|
240
282
|
|
|
241
283
|
//#endregion
|
|
242
|
-
export { column_getAfter, column_getSize, column_getStart, column_resetSize, getDefaultColumnSizingColumnDef, getDefaultColumnSizingState, header_getSize, header_getStart, table_getCenterTotalSize,
|
|
284
|
+
export { column_getAfter, column_getSize, column_getStart, column_resetSize, getDefaultColumnSizingColumnDef, getDefaultColumnSizingState, header_getSize, header_getStart, table_getCenterTotalSize, table_getColumnOffsets, table_getEndTotalSize, table_getStartTotalSize, table_getTotalSize, table_resetColumnSizing, table_setColumnSizing };
|
|
243
285
|
//# sourceMappingURL=columnSizingFeature.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnSizingFeature.utils.js","names":[],"sources":["../../../src/features/column-sizing/columnSizingFeature.utils.ts"],"sourcesContent":["import {\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getPinnedVisibleLeafColumns,\n table_getRightHeaderGroups,\n} from '../column-pinning/columnPinningFeature.utils'\nimport { column_getIndex } from '../column-ordering/columnOrderingFeature.utils'\nimport { callMemoOrStaticFn, cloneState } from '../../utils'\nimport type { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Header } from '../../types/Header'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnSizingState } from './columnSizingFeature.types'\n\n/**\n * Creates the default committed column sizing state.\n *\n * The feature default is an empty map, so columns fall back to their column def\n * size or the built-in sizing defaults.\n *\n * @example\n * ```ts\n * const sizing = getDefaultColumnSizingState()\n * ```\n */\nexport function getDefaultColumnSizingState(): ColumnSizingState {\n return {}\n}\n\n/**\n * Creates the built-in sizing defaults for column definitions.\n *\n * Columns default to `size: 150`, `minSize: 20`, and\n * `maxSize: Number.MAX_SAFE_INTEGER` unless overridden by column definitions or\n * table defaults.\n *\n * @example\n * ```ts\n * const defaults = getDefaultColumnSizingColumnDef()\n * ```\n */\nexport function getDefaultColumnSizingColumnDef() {\n return {\n size: 150,\n minSize: 20,\n maxSize: Number.MAX_SAFE_INTEGER,\n }\n}\n\n/**\n * Resolves a column's current pixel size.\n *\n * Committed `state.columnSizing[column.id]` wins over `columnDef.size`, then the\n * built-in default size. The result is clamped between min and max size.\n *\n * @example\n * ```ts\n * const width = column_getSize(column)\n * ```\n */\nexport function column_getSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n const defaultSizes = getDefaultColumnSizingColumnDef()\n const columnSize = column.table.atoms.columnSizing?.get()?.[column.id]\n\n return Math.min(\n Math.max(\n column.columnDef.minSize ?? defaultSizes.minSize,\n columnSize ?? column.columnDef.size ?? defaultSizes.size,\n ),\n column.columnDef.maxSize ?? defaultSizes.maxSize,\n )\n}\n\n/**\n * Computes the offset from the start edge of a pinning region to this column.\n *\n * The value is the sum of all previous visible leaf column sizes in the\n * requested `'left'`, `'center'`, or `'right'` region.\n *\n * @example\n * ```ts\n * const leftOffset = column_getStart(column, 'left')\n * ```\n */\nexport function column_getStart<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position: ColumnPinningPosition | 'center',\n): number {\n const index = callMemoOrStaticFn(\n column,\n 'getIndex',\n column_getIndex,\n position,\n )\n if (index <= 0) return 0\n\n const visibleLeafColumns = callMemoOrStaticFn(\n column.table,\n 'getPinnedVisibleLeafColumns',\n table_getPinnedVisibleLeafColumns,\n position,\n )\n\n const prevColumn = visibleLeafColumns[index - 1]!\n return (\n callMemoOrStaticFn(prevColumn, 'getStart', column_getStart, position) +\n callMemoOrStaticFn(prevColumn, 'getSize', column_getSize)\n )\n}\n\n/**\n * Computes the offset from the end edge of a pinning region after this column.\n *\n * The value is the sum of all following visible leaf column sizes in the\n * requested region.\n *\n * @example\n * ```ts\n * const rightOffset = column_getAfter(column, 'right')\n * ```\n */\nexport function column_getAfter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position: ColumnPinningPosition | 'center',\n): number {\n const visibleLeafColumns = callMemoOrStaticFn(\n column.table,\n 'getPinnedVisibleLeafColumns',\n table_getPinnedVisibleLeafColumns,\n position,\n )\n const index = callMemoOrStaticFn(\n column,\n 'getIndex',\n column_getIndex,\n position,\n )\n if (index < 0 || index >= visibleLeafColumns.length - 1) return 0\n\n const nextColumn = visibleLeafColumns[index + 1]!\n return (\n callMemoOrStaticFn(nextColumn, 'getSize', column_getSize) +\n callMemoOrStaticFn(nextColumn, 'getAfter', column_getAfter, position)\n )\n}\n\n/**\n * Removes this column's committed size override.\n *\n * After reset, the column resolves size from `columnDef.size` or built-in\n * defaults again.\n *\n * @example\n * ```ts\n * column_resetSize(column)\n * ```\n */\nexport function column_resetSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n table_setColumnSizing(column.table, ({ [column.id]: _, ...rest }) => {\n return rest\n })\n}\n\n/**\n * Computes a header's rendered size from its leaf headers.\n *\n * Group headers sum the sizes of all descendant leaf columns. Leaf headers use\n * their column's current size.\n *\n * @example\n * ```ts\n * const width = header_getSize(header)\n * ```\n */\nexport function header_getSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(header: Header<TFeatures, TData, TValue>) {\n let sum = 0\n\n const recurse = (h: Header<TFeatures, TData, TValue>) => {\n if (h.subHeaders.length) {\n h.subHeaders.forEach(recurse)\n } else {\n sum += column_getSize(h.column)\n }\n }\n\n recurse(header)\n\n return sum\n}\n\n/**\n * Computes a header's offset from the start of its header group.\n *\n * The offset is the previous sibling header's start plus size, or `0` for the\n * first header in the group.\n *\n * @example\n * ```ts\n * const offset = header_getStart(header)\n * ```\n */\nexport function header_getStart<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(header: Header<TFeatures, TData, TValue>): number {\n if (header.index > 0) {\n const prevSiblingHeader = header.headerGroup?.headers[header.index - 1]\n if (prevSiblingHeader) {\n return (\n callMemoOrStaticFn(prevSiblingHeader, 'getStart', header_getStart) +\n callMemoOrStaticFn(prevSiblingHeader, 'getSize', header_getSize)\n )\n }\n }\n\n return 0\n}\n\n// Table APIs\n\n/**\n * Routes a committed column sizing updater through the table's sizing handler.\n *\n * The updater may be a next size map or a function of the previous map,\n * matching the instance `table.setColumnSizing` behavior.\n *\n * @example\n * ```ts\n * table_setColumnSizing(table, (old) => ({ ...old, age: 96 }))\n * ```\n */\nexport function table_setColumnSizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnSizingState>,\n) {\n table.options.onColumnSizingChange?.(updater)\n}\n\n/**\n * Resets `columnSizing` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnSizing` when it\n * exists. Passing `true` ignores initial state and resets to `{}`.\n *\n * @example\n * ```ts\n * table_resetColumnSizing(table)\n * table_resetColumnSizing(table, true)\n * ```\n */\nexport function table_resetColumnSizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnSizing(\n table,\n defaultState ? {} : cloneState(table.initialState.columnSizing ?? {}),\n )\n}\n\n/**\n * Sums the rendered size of the full table header row.\n *\n * This includes left, center, and right columns in the main header group.\n *\n * @example\n * ```ts\n * const width = table_getTotalSize(table)\n * ```\n */\nexport function table_getTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n table.getHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\n/**\n * Sums the rendered size of the left pinned header region.\n *\n * An empty left pinning region returns `0`.\n *\n * @example\n * ```ts\n * const width = table_getLeftTotalSize(table)\n * ```\n */\nexport function table_getLeftTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\n/**\n * Sums the rendered size of the center, unpinned header region.\n *\n * An empty center region returns `0`.\n *\n * @example\n * ```ts\n * const width = table_getCenterTotalSize(table)\n * ```\n */\nexport function table_getCenterTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\n/**\n * Sums the rendered size of the right pinned header region.\n *\n * An empty right pinning region returns `0`.\n *\n * @example\n * ```ts\n * const width = table_getRightTotalSize(table)\n * ```\n */\nexport function table_getRightTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"columnSizingFeature.utils.js","names":[],"sources":["../../../src/features/column-sizing/columnSizingFeature.utils.ts"],"sourcesContent":["import {\n table_getCenterHeaderGroups,\n table_getEndHeaderGroups,\n table_getPinnedVisibleLeafColumns,\n table_getStartHeaderGroups,\n} from '../column-pinning/columnPinningFeature.utils'\nimport {\n callMemoOrStaticFn,\n cloneState,\n hasOwn,\n makeObjectMap,\n} from '../../utils'\nimport type { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Header } from '../../types/Header'\nimport type { Column_Internal } from '../../types/Column'\nimport type {\n ColumnOffsets,\n ColumnOffsetsByPosition,\n ColumnSizingState,\n} from './columnSizingFeature.types'\n\n/**\n * Creates the default committed column sizing state.\n *\n * The feature default is an empty map, so columns fall back to their column def\n * size or the built-in sizing defaults.\n *\n * @example\n * ```ts\n * const sizing = getDefaultColumnSizingState()\n * ```\n */\nexport function getDefaultColumnSizingState(): ColumnSizingState {\n return makeObjectMap()\n}\n\n/**\n * Creates the built-in sizing defaults for column definitions.\n *\n * Columns default to `size: 150`, `minSize: 20`, and\n * `maxSize: Number.MAX_SAFE_INTEGER` unless overridden by column definitions or\n * table defaults.\n *\n * @example\n * ```ts\n * const defaults = getDefaultColumnSizingColumnDef()\n * ```\n */\nexport function getDefaultColumnSizingColumnDef() {\n return {\n size: 150,\n minSize: 20,\n maxSize: Number.MAX_SAFE_INTEGER,\n }\n}\n\n/**\n * Resolves a column's current pixel size.\n *\n * Committed `state.columnSizing[column.id]` wins over `columnDef.size`, then the\n * built-in default size. The result is clamped between min and max size.\n *\n * @example\n * ```ts\n * const width = column_getSize(column)\n * ```\n */\nexport function column_getSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n const defaultSizes = getDefaultColumnSizingColumnDef()\n const columnSizing = column.table.atoms.columnSizing?.get()\n const columnSize =\n columnSizing && hasOwn(columnSizing, column.id)\n ? columnSizing[column.id]\n : undefined\n\n return Math.min(\n Math.max(\n column.columnDef.minSize ?? defaultSizes.minSize,\n columnSize ?? column.columnDef.size ?? defaultSizes.size,\n ),\n column.columnDef.maxSize ?? defaultSizes.maxSize,\n )\n}\n\nfunction buildColumnOffsets<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(columns: Array<Column_Internal<TFeatures, TData, unknown>>): ColumnOffsets {\n const starts = makeObjectMap<number>()\n const afters = makeObjectMap<number>()\n const sizes = new Array<number>(columns.length)\n\n let start = 0\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]!\n const size = callMemoOrStaticFn(column, 'getSize', column_getSize)\n sizes[i] = size\n starts[column.id] = start\n start += size\n }\n\n let after = 0\n for (let i = columns.length - 1; i >= 0; i--) {\n afters[columns[i]!.id] = after\n after += sizes[i]!\n }\n\n return { starts, afters }\n}\n\n/**\n * Builds start and after offset maps for every visible leaf column, computed\n * once per pinning region plus the full visible list.\n *\n * A single table-level memo of this result backs all `column.getStart()` and\n * `column.getAfter()` calls with O(1) lookups.\n *\n * @example\n * ```ts\n * const offsets = table_getColumnOffsets(table)\n * const startOffset = offsets.start.starts[column.id]\n * ```\n */\nexport function table_getColumnOffsets<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): ColumnOffsetsByPosition {\n return {\n all: buildColumnOffsets(\n table_getPinnedVisibleLeafColumns(table) as Array<\n Column_Internal<TFeatures, TData, unknown>\n >,\n ),\n center: buildColumnOffsets(\n table_getPinnedVisibleLeafColumns(table, 'center') as Array<\n Column_Internal<TFeatures, TData, unknown>\n >,\n ),\n start: buildColumnOffsets(\n table_getPinnedVisibleLeafColumns(table, 'start') as Array<\n Column_Internal<TFeatures, TData, unknown>\n >,\n ),\n end: buildColumnOffsets(\n table_getPinnedVisibleLeafColumns(table, 'end') as Array<\n Column_Internal<TFeatures, TData, unknown>\n >,\n ),\n }\n}\n\nfunction toOffsetsKey(\n position: ColumnPinningPosition | 'center' | undefined,\n): keyof ColumnOffsetsByPosition {\n return position === 'start'\n ? 'start'\n : position === 'end'\n ? 'end'\n : position === 'center'\n ? 'center'\n : 'all' // undefined | false use the full visible list\n}\n\n/**\n * Computes the offset from the start edge of a pinning region to this column.\n *\n * The value is the sum of all previous visible leaf column sizes in the\n * requested `'start'`, `'center'`, or `'end'` region.\n *\n * `start` and `end` are logical positions. In LTR languages/layouts, `start`\n * usually corresponds to left and `end` to right. In RTL languages/layouts,\n * `start` usually corresponds to right and `end` to left.\n *\n * @example\n * ```ts\n * const startOffset = column_getStart(column, 'start')\n * ```\n */\nexport function column_getStart<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n): number {\n const offsets = callMemoOrStaticFn(\n column.table,\n 'getColumnOffsets',\n table_getColumnOffsets,\n )\n return offsets[toOffsetsKey(position)].starts[column.id] ?? 0\n}\n\n/**\n * Computes the offset from the end edge of a pinning region after this column.\n *\n * The value is the sum of all following visible leaf column sizes in the\n * requested region.\n *\n * @example\n * ```ts\n * const endOffset = column_getAfter(column, 'end')\n * ```\n */\nexport function column_getAfter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n): number {\n const offsets = callMemoOrStaticFn(\n column.table,\n 'getColumnOffsets',\n table_getColumnOffsets,\n )\n return offsets[toOffsetsKey(position)].afters[column.id] ?? 0\n}\n\n/**\n * Removes this column's committed size override.\n *\n * After reset, the column resolves size from `columnDef.size` or built-in\n * defaults again.\n *\n * @example\n * ```ts\n * column_resetSize(column)\n * ```\n */\nexport function column_resetSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n table_setColumnSizing(column.table, (old) => {\n const rest = makeObjectMap<number>()\n const columnIds = Object.keys(old)\n for (let i = 0; i < columnIds.length; i++) {\n const columnId = columnIds[i]!\n if (columnId !== column.id) {\n rest[columnId] = old[columnId]!\n }\n }\n return rest\n })\n}\n\n/**\n * Computes a header's rendered size from its leaf headers.\n *\n * Group headers sum the sizes of all descendant leaf columns. Leaf headers use\n * their column's current size.\n *\n * @example\n * ```ts\n * const width = header_getSize(header)\n * ```\n */\nexport function header_getSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(header: Header<TFeatures, TData, TValue>) {\n let sum = 0\n\n const recurse = (h: Header<TFeatures, TData, TValue>) => {\n if (h.subHeaders.length) {\n h.subHeaders.forEach(recurse)\n } else {\n sum += column_getSize(h.column)\n }\n }\n\n recurse(header)\n\n return sum\n}\n\n/**\n * Computes a header's offset from the start of its header group.\n *\n * The offset is the previous sibling header's start plus size, or `0` for the\n * first header in the group.\n *\n * @example\n * ```ts\n * const offset = header_getStart(header)\n * ```\n */\nexport function header_getStart<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(header: Header<TFeatures, TData, TValue>): number {\n if (header.index > 0) {\n const prevSiblingHeader = header.headerGroup?.headers[header.index - 1]\n if (prevSiblingHeader) {\n return (\n callMemoOrStaticFn(prevSiblingHeader, 'getStart', header_getStart) +\n callMemoOrStaticFn(prevSiblingHeader, 'getSize', header_getSize)\n )\n }\n }\n\n return 0\n}\n\n// Table APIs\n\n/**\n * Routes a committed column sizing updater through the table's sizing handler.\n *\n * The updater may be a next size map or a function of the previous map,\n * matching the instance `table.setColumnSizing` behavior.\n *\n * @example\n * ```ts\n * table_setColumnSizing(table, (old) => ({ ...old, age: 96 }))\n * ```\n */\nexport function table_setColumnSizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnSizingState>,\n) {\n table.options.onColumnSizingChange?.(updater)\n}\n\n/**\n * Resets `columnSizing` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnSizing` when it\n * exists. Passing `true` ignores initial state and resets to `{}`.\n *\n * @example\n * ```ts\n * table_resetColumnSizing(table)\n * table_resetColumnSizing(table, true)\n * ```\n */\nexport function table_resetColumnSizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnSizing(\n table,\n defaultState\n ? makeObjectMap()\n : Object.assign(\n makeObjectMap<number>(),\n cloneState(table.initialState.columnSizing ?? {}),\n ),\n )\n}\n\n/**\n * Sums the rendered size of the full table header row.\n *\n * This includes start, center, and end columns in the main header group.\n *\n * @example\n * ```ts\n * const width = table_getTotalSize(table)\n * ```\n */\nexport function table_getTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n table.getHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\n/**\n * Sums the rendered size of the logical start pinned header region.\n *\n * An empty start pinning region returns `0`.\n *\n * @example\n * ```ts\n * const width = table_getStartTotalSize(table)\n * ```\n */\nexport function table_getStartTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getStartHeaderGroups',\n table_getStartHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\n/**\n * Sums the rendered size of the center, unpinned header region.\n *\n * An empty center region returns `0`.\n *\n * @example\n * ```ts\n * const width = table_getCenterTotalSize(table)\n * ```\n */\nexport function table_getCenterTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\n/**\n * Sums the rendered size of the logical end pinned header region.\n *\n * An empty end pinning region returns `0`.\n *\n * @example\n * ```ts\n * const width = table_getEndTotalSize(table)\n * ```\n */\nexport function table_getEndTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getEndHeaderGroups',\n table_getEndHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n"],"mappings":"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"}
|