@tanstack/table-core 9.0.0-beta.5 → 9.0.0-beta.50
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/aggregation/aggregationFeature.cjs +39 -0
- package/dist/features/aggregation/aggregationFeature.cjs.map +1 -0
- package/dist/features/aggregation/aggregationFeature.d.cts +10 -0
- package/dist/features/aggregation/aggregationFeature.d.ts +10 -0
- package/dist/features/aggregation/aggregationFeature.js +39 -0
- package/dist/features/aggregation/aggregationFeature.js.map +1 -0
- package/dist/features/aggregation/aggregationFeature.types.cjs +13 -0
- package/dist/features/aggregation/aggregationFeature.types.cjs.map +1 -0
- package/dist/features/aggregation/aggregationFeature.types.d.cts +195 -0
- package/dist/features/aggregation/aggregationFeature.types.d.ts +195 -0
- package/dist/features/aggregation/aggregationFeature.types.js +12 -0
- package/dist/features/aggregation/aggregationFeature.types.js.map +1 -0
- package/dist/features/aggregation/aggregationFeature.utils.cjs +212 -0
- package/dist/features/aggregation/aggregationFeature.utils.cjs.map +1 -0
- package/dist/features/aggregation/aggregationFeature.utils.d.cts +34 -0
- package/dist/features/aggregation/aggregationFeature.utils.d.ts +34 -0
- package/dist/features/aggregation/aggregationFeature.utils.js +206 -0
- package/dist/features/aggregation/aggregationFeature.utils.js.map +1 -0
- package/dist/features/aggregation/aggregationFns.cjs +246 -0
- package/dist/features/aggregation/aggregationFns.cjs.map +1 -0
- package/dist/features/aggregation/aggregationFns.d.cts +68 -0
- package/dist/features/aggregation/aggregationFns.d.ts +68 -0
- package/dist/features/aggregation/aggregationFns.js +235 -0
- package/dist/features/aggregation/aggregationFns.js.map +1 -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-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/aggregation/aggregationFeature.ts +60 -0
- package/src/features/aggregation/aggregationFeature.types.ts +339 -0
- package/src/features/aggregation/aggregationFeature.utils.ts +430 -0
- package/src/features/aggregation/aggregationFns.ts +345 -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-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,4 +1,4 @@
|
|
|
1
|
-
import { cloneState } from "../../utils.js";
|
|
1
|
+
import { cloneState, makeObjectMap } from "../../utils.js";
|
|
2
2
|
import { column_getSize, header_getSize, table_setColumnSizing } from "../column-sizing/columnSizingFeature.utils.js";
|
|
3
3
|
|
|
4
4
|
//#region src/features/column-resizing/columnResizingFeature.utils.ts
|
|
@@ -48,8 +48,7 @@ function column_getCanResize(column) {
|
|
|
48
48
|
* ```
|
|
49
49
|
*/
|
|
50
50
|
function column_getIsResizing(column) {
|
|
51
|
-
|
|
52
|
-
return ((_column$table$atoms$c = column.table.atoms.columnResizing) === null || _column$table$atoms$c === void 0 || (_column$table$atoms$c = _column$table$atoms$c.get()) === null || _column$table$atoms$c === void 0 ? void 0 : _column$table$atoms$c.isResizingColumn) === column.id;
|
|
51
|
+
return column.table.atoms.columnResizing?.get()?.isResizingColumn === column.id;
|
|
53
52
|
}
|
|
54
53
|
/**
|
|
55
54
|
* Creates the pointer/touch start handler for resizing a header.
|
|
@@ -67,56 +66,90 @@ function header_getResizeHandler(header, _contextDocument) {
|
|
|
67
66
|
const column = header.table.getColumn(header.column.id);
|
|
68
67
|
const canResize = column_getCanResize(column);
|
|
69
68
|
return (event) => {
|
|
70
|
-
var _persist;
|
|
71
69
|
if (!canResize) return;
|
|
72
|
-
|
|
70
|
+
event.persist?.();
|
|
73
71
|
if (isTouchStartEvent(event)) {
|
|
74
72
|
if (event.touches.length > 1) return;
|
|
75
73
|
}
|
|
76
74
|
const startSize = header_getSize(header);
|
|
77
75
|
const columnSizingStart = header.getLeafHeaders().map((leafHeader) => [leafHeader.column.id, column_getSize(leafHeader.column)]);
|
|
78
76
|
const clientX = isTouchStartEvent(event) ? Math.round(event.touches[0].clientX) : event.clientX;
|
|
79
|
-
const newColumnSizing =
|
|
77
|
+
const newColumnSizing = makeObjectMap();
|
|
80
78
|
const updateOffset = (eventType, clientXPos) => {
|
|
81
79
|
if (typeof clientXPos !== "number") return;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
80
|
+
const table = column.table;
|
|
81
|
+
const isCommit = table.options.columnResizeMode === "onChange" || eventType === "end";
|
|
82
|
+
table._reactivity.batch(() => {
|
|
83
|
+
table_setColumnResizing(table, (old) => {
|
|
84
|
+
const deltaDirection = table.options.columnResizeDirection === "rtl" ? -1 : 1;
|
|
85
|
+
const deltaOffset = (clientXPos - (old.startOffset ?? 0)) * deltaDirection;
|
|
86
|
+
const startSize = old.startSize ?? 0;
|
|
87
|
+
const deltaPercentage = Math.max(startSize > 0 ? deltaOffset / startSize : 0, -.999999);
|
|
88
|
+
if (isCommit) {
|
|
89
|
+
const columnSizingStart = old.columnSizingStart;
|
|
90
|
+
for (let i = 0; i < columnSizingStart.length; i++) {
|
|
91
|
+
const entry = columnSizingStart[i];
|
|
92
|
+
const headerSize = entry[1];
|
|
93
|
+
newColumnSizing[entry[0]] = Math.round(Math.max(headerSize > 0 ? headerSize + headerSize * deltaPercentage : deltaOffset / columnSizingStart.length, 0) * 100) / 100;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
...old,
|
|
98
|
+
deltaOffset,
|
|
99
|
+
deltaPercentage
|
|
100
|
+
};
|
|
89
101
|
});
|
|
90
|
-
|
|
91
|
-
...old,
|
|
92
|
-
deltaOffset,
|
|
93
|
-
deltaPercentage
|
|
94
|
-
};
|
|
102
|
+
if (isCommit) table_setColumnSizing(table, (old) => Object.assign(makeObjectMap(), old, newColumnSizing));
|
|
95
103
|
});
|
|
96
|
-
if (column.table.options.columnResizeMode === "onChange" || eventType === "end") table_setColumnSizing(column.table, (old) => ({
|
|
97
|
-
...old,
|
|
98
|
-
...newColumnSizing
|
|
99
|
-
}));
|
|
100
104
|
};
|
|
101
|
-
|
|
105
|
+
let moveRafId = null;
|
|
106
|
+
let hasPendingMove = false;
|
|
107
|
+
let latestMoveX;
|
|
108
|
+
const flushMove = () => {
|
|
109
|
+
if (hasPendingMove) {
|
|
110
|
+
hasPendingMove = false;
|
|
111
|
+
updateOffset("move", latestMoveX);
|
|
112
|
+
moveRafId = requestAnimationFrame(flushMove);
|
|
113
|
+
} else moveRafId = null;
|
|
114
|
+
};
|
|
115
|
+
const onMove = (clientXPos) => {
|
|
116
|
+
latestMoveX = clientXPos;
|
|
117
|
+
if (typeof requestAnimationFrame !== "function") {
|
|
118
|
+
updateOffset("move", clientXPos);
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
if (moveRafId !== null) {
|
|
122
|
+
hasPendingMove = true;
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
updateOffset("move", clientXPos);
|
|
126
|
+
moveRafId = requestAnimationFrame(flushMove);
|
|
127
|
+
};
|
|
102
128
|
const onEnd = (clientXPos) => {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
129
|
+
if (moveRafId !== null) {
|
|
130
|
+
cancelAnimationFrame(moveRafId);
|
|
131
|
+
moveRafId = null;
|
|
132
|
+
hasPendingMove = false;
|
|
133
|
+
}
|
|
134
|
+
column.table._reactivity.batch(() => {
|
|
135
|
+
updateOffset("end", clientXPos ?? latestMoveX);
|
|
136
|
+
table_setColumnResizing(column.table, (old) => ({
|
|
137
|
+
...old,
|
|
138
|
+
isResizingColumn: false,
|
|
139
|
+
startOffset: null,
|
|
140
|
+
startSize: null,
|
|
141
|
+
deltaOffset: null,
|
|
142
|
+
deltaPercentage: null,
|
|
143
|
+
columnSizingStart: []
|
|
144
|
+
}));
|
|
145
|
+
});
|
|
113
146
|
};
|
|
114
147
|
const contextDocument = _contextDocument || typeof document !== "undefined" ? document : null;
|
|
115
148
|
const mouseEvents = {
|
|
116
149
|
moveHandler: (e) => onMove(e.clientX),
|
|
117
150
|
upHandler: (e) => {
|
|
118
|
-
contextDocument
|
|
119
|
-
contextDocument
|
|
151
|
+
contextDocument?.removeEventListener("mousemove", mouseEvents.moveHandler);
|
|
152
|
+
contextDocument?.removeEventListener("mouseup", mouseEvents.upHandler);
|
|
120
153
|
onEnd(e.clientX);
|
|
121
154
|
}
|
|
122
155
|
};
|
|
@@ -130,23 +163,31 @@ function header_getResizeHandler(header, _contextDocument) {
|
|
|
130
163
|
return false;
|
|
131
164
|
},
|
|
132
165
|
upHandler: (e) => {
|
|
133
|
-
|
|
134
|
-
contextDocument === null || contextDocument === void 0 || contextDocument.removeEventListener("touchmove", touchEvents.moveHandler);
|
|
135
|
-
contextDocument === null || contextDocument === void 0 || contextDocument.removeEventListener("touchend", touchEvents.upHandler);
|
|
166
|
+
removeTouchEvents();
|
|
136
167
|
if (e.cancelable) {
|
|
137
168
|
e.preventDefault();
|
|
138
169
|
e.stopPropagation();
|
|
139
170
|
}
|
|
140
|
-
onEnd(
|
|
171
|
+
onEnd(e.touches[0]?.clientX);
|
|
172
|
+
},
|
|
173
|
+
cancelHandler: () => {
|
|
174
|
+
removeTouchEvents();
|
|
175
|
+
onEnd();
|
|
141
176
|
}
|
|
142
177
|
};
|
|
178
|
+
const removeTouchEvents = () => {
|
|
179
|
+
contextDocument?.removeEventListener("touchmove", touchEvents.moveHandler);
|
|
180
|
+
contextDocument?.removeEventListener("touchend", touchEvents.upHandler);
|
|
181
|
+
contextDocument?.removeEventListener("touchcancel", touchEvents.cancelHandler);
|
|
182
|
+
};
|
|
143
183
|
const passiveIfSupported = passiveEventSupported() ? { passive: false } : false;
|
|
144
184
|
if (isTouchStartEvent(event)) {
|
|
145
|
-
contextDocument
|
|
146
|
-
contextDocument
|
|
185
|
+
contextDocument?.addEventListener("touchmove", touchEvents.moveHandler, passiveIfSupported);
|
|
186
|
+
contextDocument?.addEventListener("touchend", touchEvents.upHandler, passiveIfSupported);
|
|
187
|
+
contextDocument?.addEventListener("touchcancel", touchEvents.cancelHandler, passiveIfSupported);
|
|
147
188
|
} else {
|
|
148
|
-
contextDocument
|
|
149
|
-
contextDocument
|
|
189
|
+
contextDocument?.addEventListener("mousemove", mouseEvents.moveHandler, passiveIfSupported);
|
|
190
|
+
contextDocument?.addEventListener("mouseup", mouseEvents.upHandler, passiveIfSupported);
|
|
150
191
|
}
|
|
151
192
|
table_setColumnResizing(column.table, (old) => ({
|
|
152
193
|
...old,
|
|
@@ -171,8 +212,7 @@ function header_getResizeHandler(header, _contextDocument) {
|
|
|
171
212
|
* ```
|
|
172
213
|
*/
|
|
173
214
|
function table_setColumnResizing(table, updater) {
|
|
174
|
-
|
|
175
|
-
(_table$options$onColu = (_table$options = table.options).onColumnResizingChange) === null || _table$options$onColu === void 0 || _table$options$onColu.call(_table$options, updater);
|
|
215
|
+
table.options.onColumnResizingChange?.(updater);
|
|
176
216
|
}
|
|
177
217
|
/**
|
|
178
218
|
* Resets `columnResizing` to the configured initial state or feature default.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnResizingFeature.utils.js","names":[],"sources":["../../../src/features/column-resizing/columnResizingFeature.utils.ts"],"sourcesContent":["import {\n column_getSize,\n header_getSize,\n table_setColumnSizing,\n} from '../column-sizing/columnSizingFeature.utils'\nimport { cloneState } from '../../utils'\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 '../column-sizing/columnSizingFeature.types'\nimport type { columnResizingState } from './columnResizingFeature.types'\n\n/**\n * Creates the default transient column resizing state.\n *\n * The feature default represents no active drag interaction. Reset APIs use\n * this value when `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const resizeInfo = getDefaultColumnResizingState()\n * ```\n */\nexport function getDefaultColumnResizingState(): columnResizingState {\n return {\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n columnSizingStart: [],\n }\n}\n\n/**\n * Checks whether this column can start a resize interaction.\n *\n * Both `columnDef.enableResizing` and table `enableColumnResizing` default to\n * `true`.\n *\n * @example\n * ```ts\n * const canResize = column_getCanResize(column)\n * ```\n */\nexport function column_getCanResize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableResizing ?? true) &&\n (column.table.options.enableColumnResizing ?? true)\n )\n}\n\n/**\n * Checks whether this column is the active column resize target.\n *\n * The value is read from `state.columnResizing.isResizingColumn`.\n *\n * @example\n * ```ts\n * const isResizing = column_getIsResizing(column)\n * ```\n */\nexport function column_getIsResizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n column.table.atoms.columnResizing?.get()?.isResizingColumn === column.id\n )\n}\n\n/**\n * Creates the pointer/touch start handler for resizing a header.\n *\n * The handler records starting sizes for all leaf headers, tracks drag deltas,\n * writes transient resize info, and commits column sizes on change or drag end\n * depending on `columnResizeMode`.\n *\n * @example\n * ```ts\n * const onMouseDown = header_getResizeHandler(header)\n * ```\n */\nexport function header_getResizeHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(header: Header<TFeatures, TData, TValue>, _contextDocument?: Document) {\n const column = header.table.getColumn(header.column.id)!\n const canResize = column_getCanResize(column)\n\n return (event: unknown) => {\n if (!canResize) {\n return\n }\n\n ;(event as any).persist?.()\n\n if (isTouchStartEvent(event)) {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (event.touches.length > 1) {\n return\n }\n }\n\n const startSize = header_getSize(header)\n\n const columnSizingStart: Array<[string, number]> = header\n .getLeafHeaders()\n .map((leafHeader) => [\n leafHeader.column.id,\n column_getSize(leafHeader.column),\n ])\n\n const clientX = isTouchStartEvent(event)\n ? Math.round(event.touches[0]!.clientX)\n : (event as MouseEvent).clientX\n\n const newColumnSizing: ColumnSizingState = {}\n\n const updateOffset = (eventType: 'move' | 'end', clientXPos?: number) => {\n if (typeof clientXPos !== 'number') {\n return\n }\n\n table_setColumnResizing(column.table, (old) => {\n const deltaDirection =\n column.table.options.columnResizeDirection === 'rtl' ? -1 : 1\n const deltaOffset =\n (clientXPos - (old.startOffset ?? 0)) * deltaDirection\n const startSize = old.startSize ?? 0\n const deltaPercentage = Math.max(\n startSize > 0 ? deltaOffset / startSize : 0,\n -0.999999,\n )\n\n old.columnSizingStart.forEach(([columnId, headerSize]) => {\n newColumnSizing[columnId] =\n Math.round(\n Math.max(\n headerSize > 0\n ? headerSize + headerSize * deltaPercentage\n : deltaOffset / old.columnSizingStart.length,\n 0,\n ) * 100,\n ) / 100\n })\n\n return {\n ...old,\n deltaOffset,\n deltaPercentage,\n }\n })\n\n if (\n column.table.options.columnResizeMode === 'onChange' ||\n eventType === 'end'\n ) {\n table_setColumnSizing(column.table, (old) => ({\n ...old,\n ...newColumnSizing,\n }))\n }\n }\n\n const onMove = (clientXPos?: number) => updateOffset('move', clientXPos)\n\n const onEnd = (clientXPos?: number) => {\n updateOffset('end', clientXPos)\n\n table_setColumnResizing(column.table, (old) => ({\n ...old,\n isResizingColumn: false,\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n columnSizingStart: [],\n }))\n }\n\n const contextDocument =\n _contextDocument || typeof document !== 'undefined' ? document : null\n\n const mouseEvents = {\n moveHandler: (e: MouseEvent) => onMove(e.clientX),\n upHandler: (e: MouseEvent) => {\n contextDocument?.removeEventListener(\n 'mousemove',\n mouseEvents.moveHandler,\n )\n contextDocument?.removeEventListener('mouseup', mouseEvents.upHandler)\n onEnd(e.clientX)\n },\n }\n\n const touchEvents = {\n moveHandler: (touchEvent: TouchEvent) => {\n if (touchEvent.cancelable) {\n touchEvent.preventDefault()\n touchEvent.stopPropagation()\n }\n onMove(touchEvent.touches[0]!.clientX)\n return false\n },\n upHandler: (e: TouchEvent) => {\n contextDocument?.removeEventListener(\n 'touchmove',\n touchEvents.moveHandler,\n )\n contextDocument?.removeEventListener('touchend', touchEvents.upHandler)\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n onEnd(e.touches[0]?.clientX)\n },\n }\n\n const passiveIfSupported = passiveEventSupported()\n ? { passive: false }\n : false\n\n if (isTouchStartEvent(event)) {\n contextDocument?.addEventListener(\n 'touchmove',\n touchEvents.moveHandler,\n passiveIfSupported,\n )\n contextDocument?.addEventListener(\n 'touchend',\n touchEvents.upHandler,\n passiveIfSupported,\n )\n } else {\n contextDocument?.addEventListener(\n 'mousemove',\n mouseEvents.moveHandler,\n passiveIfSupported,\n )\n contextDocument?.addEventListener(\n 'mouseup',\n mouseEvents.upHandler,\n passiveIfSupported,\n )\n }\n\n table_setColumnResizing(column.table, (old) => ({\n ...old,\n startOffset: clientX,\n startSize,\n deltaOffset: 0,\n deltaPercentage: 0,\n columnSizingStart,\n isResizingColumn: column.id,\n }))\n }\n}\n\n/**\n * Routes a transient column resizing updater through the table's resize handler.\n *\n * This state tracks the active drag interaction; committed widths live in\n * `columnSizing`.\n *\n * @example\n * ```ts\n * table_setColumnResizing(table, (old) => ({ ...old, deltaOffset: 12 }))\n * ```\n */\nexport function table_setColumnResizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<columnResizingState>,\n) {\n table.options.onColumnResizingChange?.(updater)\n}\n\n/**\n * Resets `columnResizing` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnResizing` when\n * it exists. Passing `true` ignores initial state and resets to the no-drag\n * default state.\n *\n * @example\n * ```ts\n * table_resetHeaderSizeInfo(table)\n * table_resetHeaderSizeInfo(table, true)\n * ```\n */\nexport function table_resetHeaderSizeInfo<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnResizing(\n table,\n defaultState\n ? getDefaultColumnResizingState()\n : cloneState(\n table.initialState.columnResizing ?? getDefaultColumnResizingState(),\n ),\n )\n}\n\nlet passiveSupported: boolean | null = null\n/**\n * Detects whether the current environment supports passive event listeners.\n *\n * Column resizing uses this to register pointer and touch listeners with\n * `passive: false` only when the environment understands passive options.\n *\n * @example\n * ```ts\n * const canUsePassiveListeners = passiveEventSupported()\n * ```\n */\nexport function passiveEventSupported() {\n if (typeof passiveSupported === 'boolean') return passiveSupported\n\n let supported = false\n try {\n const options = {\n get passive() {\n supported = true\n return false\n },\n }\n\n const noop = () => {}\n\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop)\n } catch (err) {\n supported = false\n }\n passiveSupported = supported\n return passiveSupported\n}\n\n/**\n * Narrows an unknown event to a `touchstart` event.\n *\n * Column resizing uses this before reading touch coordinates and installing\n * touch-specific listeners.\n *\n * @example\n * ```ts\n * const isTouch = isTouchStartEvent(event)\n * ```\n */\nexport function isTouchStartEvent(e: unknown): e is TouchEvent {\n return (e as TouchEvent).type === 'touchstart'\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"columnResizingFeature.utils.js","names":[],"sources":["../../../src/features/column-resizing/columnResizingFeature.utils.ts"],"sourcesContent":["import {\n column_getSize,\n header_getSize,\n table_setColumnSizing,\n} from '../column-sizing/columnSizingFeature.utils'\nimport { cloneState, makeObjectMap } from '../../utils'\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 '../column-sizing/columnSizingFeature.types'\nimport type { columnResizingState } from './columnResizingFeature.types'\n\n/**\n * Creates the default transient column resizing state.\n *\n * The feature default represents no active drag interaction. Reset APIs use\n * this value when `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const resizeInfo = getDefaultColumnResizingState()\n * ```\n */\nexport function getDefaultColumnResizingState(): columnResizingState {\n return {\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n columnSizingStart: [],\n }\n}\n\n/**\n * Checks whether this column can start a resize interaction.\n *\n * Both `columnDef.enableResizing` and table `enableColumnResizing` default to\n * `true`.\n *\n * @example\n * ```ts\n * const canResize = column_getCanResize(column)\n * ```\n */\nexport function column_getCanResize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableResizing ?? true) &&\n (column.table.options.enableColumnResizing ?? true)\n )\n}\n\n/**\n * Checks whether this column is the active column resize target.\n *\n * The value is read from `state.columnResizing.isResizingColumn`.\n *\n * @example\n * ```ts\n * const isResizing = column_getIsResizing(column)\n * ```\n */\nexport function column_getIsResizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n column.table.atoms.columnResizing?.get()?.isResizingColumn === column.id\n )\n}\n\n/**\n * Creates the pointer/touch start handler for resizing a header.\n *\n * The handler records starting sizes for all leaf headers, tracks drag deltas,\n * writes transient resize info, and commits column sizes on change or drag end\n * depending on `columnResizeMode`.\n *\n * @example\n * ```ts\n * const onMouseDown = header_getResizeHandler(header)\n * ```\n */\nexport function header_getResizeHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(header: Header<TFeatures, TData, TValue>, _contextDocument?: Document) {\n const column = header.table.getColumn(header.column.id)!\n const canResize = column_getCanResize(column)\n\n return (event: unknown) => {\n if (!canResize) {\n return\n }\n\n ;(event as any).persist?.()\n\n if (isTouchStartEvent(event)) {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (event.touches.length > 1) {\n return\n }\n }\n\n const startSize = header_getSize(header)\n\n const columnSizingStart: Array<[string, number]> = header\n .getLeafHeaders()\n .map((leafHeader) => [\n leafHeader.column.id,\n column_getSize(leafHeader.column),\n ])\n\n const clientX = isTouchStartEvent(event)\n ? Math.round(event.touches[0]!.clientX)\n : (event as MouseEvent).clientX\n\n const newColumnSizing: ColumnSizingState = makeObjectMap()\n\n const updateOffset = (eventType: 'move' | 'end', clientXPos?: number) => {\n if (typeof clientXPos !== 'number') {\n return\n }\n\n const table = column.table\n const isCommit =\n table.options.columnResizeMode === 'onChange' || eventType === 'end'\n\n // one notification flush per tick instead of two\n table._reactivity.batch(() => {\n table_setColumnResizing(table, (old) => {\n const deltaDirection =\n table.options.columnResizeDirection === 'rtl' ? -1 : 1\n const deltaOffset =\n (clientXPos - (old.startOffset ?? 0)) * deltaDirection\n const startSize = old.startSize ?? 0\n const deltaPercentage = Math.max(\n startSize > 0 ? deltaOffset / startSize : 0,\n -0.999999,\n )\n\n // new sizes are only read at commit and are recomputed from\n // absolute positions each time, so skip them on onEnd-mode moves\n if (isCommit) {\n const columnSizingStart = old.columnSizingStart\n for (let i = 0; i < columnSizingStart.length; i++) {\n const entry = columnSizingStart[i]!\n const headerSize = entry[1]\n newColumnSizing[entry[0]] =\n Math.round(\n Math.max(\n headerSize > 0\n ? headerSize + headerSize * deltaPercentage\n : deltaOffset / columnSizingStart.length,\n 0,\n ) * 100,\n ) / 100\n }\n }\n\n return {\n ...old,\n deltaOffset,\n deltaPercentage,\n }\n })\n\n if (isCommit) {\n table_setColumnSizing(table, (old) =>\n Object.assign(makeObjectMap<number>(), old, newColumnSizing),\n )\n }\n })\n }\n\n // Pointer devices can report at several times the display refresh rate,\n // and every update between frames is overwritten by the next one. Apply\n // the first move of a frame immediately, then coalesce the rest into one\n // update per animation frame.\n let moveRafId: number | null = null\n let hasPendingMove = false\n let latestMoveX: number | undefined\n\n const flushMove = () => {\n if (hasPendingMove) {\n hasPendingMove = false\n updateOffset('move', latestMoveX)\n moveRafId = requestAnimationFrame(flushMove)\n } else {\n moveRafId = null\n }\n }\n\n const onMove = (clientXPos?: number) => {\n latestMoveX = clientXPos\n if (typeof requestAnimationFrame !== 'function') {\n updateOffset('move', clientXPos)\n return\n }\n if (moveRafId !== null) {\n hasPendingMove = true\n return\n }\n updateOffset('move', clientXPos)\n moveRafId = requestAnimationFrame(flushMove)\n }\n\n const onEnd = (clientXPos?: number) => {\n if (moveRafId !== null) {\n cancelAnimationFrame(moveRafId)\n moveRafId = null\n hasPendingMove = false\n }\n\n // batch the 'end' commit and the reset into one notification flush\n column.table._reactivity.batch(() => {\n // touchend events carry no touch position, so fall back to the last\n // observed move position for the final commit\n updateOffset('end', clientXPos ?? latestMoveX)\n\n table_setColumnResizing(column.table, (old) => ({\n ...old,\n isResizingColumn: false,\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n columnSizingStart: [],\n }))\n })\n }\n\n const contextDocument =\n _contextDocument || typeof document !== 'undefined' ? document : null\n\n const mouseEvents = {\n moveHandler: (e: MouseEvent) => onMove(e.clientX),\n upHandler: (e: MouseEvent) => {\n contextDocument?.removeEventListener(\n 'mousemove',\n mouseEvents.moveHandler,\n )\n contextDocument?.removeEventListener('mouseup', mouseEvents.upHandler)\n onEnd(e.clientX)\n },\n }\n\n const touchEvents = {\n moveHandler: (touchEvent: TouchEvent) => {\n if (touchEvent.cancelable) {\n touchEvent.preventDefault()\n touchEvent.stopPropagation()\n }\n onMove(touchEvent.touches[0]!.clientX)\n return false\n },\n upHandler: (e: TouchEvent) => {\n removeTouchEvents()\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n onEnd(e.touches[0]?.clientX)\n },\n // the browser fires touchcancel instead of touchend when it takes over\n // the gesture (system gesture, scroll takeover, tab switch); without\n // this the non-passive touchmove listener stays on the document forever\n cancelHandler: () => {\n removeTouchEvents()\n onEnd()\n },\n }\n\n const removeTouchEvents = () => {\n contextDocument?.removeEventListener('touchmove', touchEvents.moveHandler)\n contextDocument?.removeEventListener('touchend', touchEvents.upHandler)\n contextDocument?.removeEventListener(\n 'touchcancel',\n touchEvents.cancelHandler,\n )\n }\n\n const passiveIfSupported = passiveEventSupported()\n ? { passive: false }\n : false\n\n if (isTouchStartEvent(event)) {\n contextDocument?.addEventListener(\n 'touchmove',\n touchEvents.moveHandler,\n passiveIfSupported,\n )\n contextDocument?.addEventListener(\n 'touchend',\n touchEvents.upHandler,\n passiveIfSupported,\n )\n contextDocument?.addEventListener(\n 'touchcancel',\n touchEvents.cancelHandler,\n passiveIfSupported,\n )\n } else {\n contextDocument?.addEventListener(\n 'mousemove',\n mouseEvents.moveHandler,\n passiveIfSupported,\n )\n contextDocument?.addEventListener(\n 'mouseup',\n mouseEvents.upHandler,\n passiveIfSupported,\n )\n }\n\n table_setColumnResizing(column.table, (old) => ({\n ...old,\n startOffset: clientX,\n startSize,\n deltaOffset: 0,\n deltaPercentage: 0,\n columnSizingStart,\n isResizingColumn: column.id,\n }))\n }\n}\n\n/**\n * Routes a transient column resizing updater through the table's resize handler.\n *\n * This state tracks the active drag interaction; committed widths live in\n * `columnSizing`.\n *\n * @example\n * ```ts\n * table_setColumnResizing(table, (old) => ({ ...old, deltaOffset: 12 }))\n * ```\n */\nexport function table_setColumnResizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<columnResizingState>,\n) {\n table.options.onColumnResizingChange?.(updater)\n}\n\n/**\n * Resets `columnResizing` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnResizing` when\n * it exists. Passing `true` ignores initial state and resets to the no-drag\n * default state.\n *\n * @example\n * ```ts\n * table_resetHeaderSizeInfo(table)\n * table_resetHeaderSizeInfo(table, true)\n * ```\n */\nexport function table_resetHeaderSizeInfo<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnResizing(\n table,\n defaultState\n ? getDefaultColumnResizingState()\n : cloneState(\n table.initialState.columnResizing ?? getDefaultColumnResizingState(),\n ),\n )\n}\n\nlet passiveSupported: boolean | null = null\n/**\n * Detects whether the current environment supports passive event listeners.\n *\n * Column resizing uses this to register pointer and touch listeners with\n * `passive: false` only when the environment understands passive options.\n *\n * @example\n * ```ts\n * const canUsePassiveListeners = passiveEventSupported()\n * ```\n */\nexport function passiveEventSupported() {\n if (typeof passiveSupported === 'boolean') return passiveSupported\n\n let supported = false\n try {\n const options = {\n get passive() {\n supported = true\n return false\n },\n }\n\n const noop = () => {}\n\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop)\n } catch (err) {\n supported = false\n }\n passiveSupported = supported\n return passiveSupported\n}\n\n/**\n * Narrows an unknown event to a `touchstart` event.\n *\n * Column resizing uses this before reading touch coordinates and installing\n * touch-specific listeners.\n *\n * @example\n * ```ts\n * const isTouch = isTouchStartEvent(event)\n * ```\n */\nexport function isTouchStartEvent(e: unknown): e is TouchEvent {\n return (e as TouchEvent).type === 'touchstart'\n}\n"],"mappings":"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"}
|
|
@@ -22,39 +22,10 @@ const columnSizingFeature = {
|
|
|
22
22
|
require_utils.assignPrototypeAPIs("columnSizingFeature", prototype, table, {
|
|
23
23
|
column_getSize: {
|
|
24
24
|
fn: (column) => require_columnSizingFeature_utils.column_getSize(column),
|
|
25
|
-
memoDeps: (column) =>
|
|
26
|
-
var _table$atoms$columnSi;
|
|
27
|
-
return [table.options.columns, (_table$atoms$columnSi = table.atoms.columnSizing) === null || _table$atoms$columnSi === void 0 || (_table$atoms$columnSi = _table$atoms$columnSi.get()) === null || _table$atoms$columnSi === void 0 ? void 0 : _table$atoms$columnSi[column.id]];
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
column_getStart: {
|
|
31
|
-
fn: (column, position) => require_columnSizingFeature_utils.column_getStart(column, position),
|
|
32
|
-
memoDeps: (column, position) => {
|
|
33
|
-
var _table$atoms$columnSi2, _table$atoms$columnOr, _table$atoms$columnPi, _table$atoms$columnVi;
|
|
34
|
-
return [
|
|
35
|
-
position,
|
|
36
|
-
table.options.columns,
|
|
37
|
-
(_table$atoms$columnSi2 = table.atoms.columnSizing) === null || _table$atoms$columnSi2 === void 0 ? void 0 : _table$atoms$columnSi2.get(),
|
|
38
|
-
(_table$atoms$columnOr = table.atoms.columnOrder) === null || _table$atoms$columnOr === void 0 ? void 0 : _table$atoms$columnOr.get(),
|
|
39
|
-
(_table$atoms$columnPi = table.atoms.columnPinning) === null || _table$atoms$columnPi === void 0 ? void 0 : _table$atoms$columnPi.get(),
|
|
40
|
-
(_table$atoms$columnVi = table.atoms.columnVisibility) === null || _table$atoms$columnVi === void 0 ? void 0 : _table$atoms$columnVi.get()
|
|
41
|
-
];
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
column_getAfter: {
|
|
45
|
-
fn: (column, position) => require_columnSizingFeature_utils.column_getAfter(column, position),
|
|
46
|
-
memoDeps: (column, position) => {
|
|
47
|
-
var _table$atoms$columnSi3, _table$atoms$columnOr2, _table$atoms$columnPi2, _table$atoms$columnVi2;
|
|
48
|
-
return [
|
|
49
|
-
position,
|
|
50
|
-
table.options.columns,
|
|
51
|
-
(_table$atoms$columnSi3 = table.atoms.columnSizing) === null || _table$atoms$columnSi3 === void 0 ? void 0 : _table$atoms$columnSi3.get(),
|
|
52
|
-
(_table$atoms$columnOr2 = table.atoms.columnOrder) === null || _table$atoms$columnOr2 === void 0 ? void 0 : _table$atoms$columnOr2.get(),
|
|
53
|
-
(_table$atoms$columnPi2 = table.atoms.columnPinning) === null || _table$atoms$columnPi2 === void 0 ? void 0 : _table$atoms$columnPi2.get(),
|
|
54
|
-
(_table$atoms$columnVi2 = table.atoms.columnVisibility) === null || _table$atoms$columnVi2 === void 0 ? void 0 : _table$atoms$columnVi2.get()
|
|
55
|
-
];
|
|
56
|
-
}
|
|
25
|
+
memoDeps: (column) => [table.options.columns, table.atoms.columnSizing?.get()?.[column.id]]
|
|
57
26
|
},
|
|
27
|
+
column_getStart: { fn: (column, position) => require_columnSizingFeature_utils.column_getStart(column, position) },
|
|
28
|
+
column_getAfter: { fn: (column, position) => require_columnSizingFeature_utils.column_getAfter(column, position) },
|
|
58
29
|
column_resetSize: { fn: (column) => require_columnSizingFeature_utils.column_resetSize(column) }
|
|
59
30
|
});
|
|
60
31
|
},
|
|
@@ -62,58 +33,53 @@ const columnSizingFeature = {
|
|
|
62
33
|
require_utils.assignPrototypeAPIs("columnSizingFeature", prototype, table, {
|
|
63
34
|
header_getSize: {
|
|
64
35
|
fn: (header) => require_columnSizingFeature_utils.header_getSize(header),
|
|
65
|
-
memoDeps: (header) =>
|
|
66
|
-
var _table$atoms$columnSi4, _table$atoms$columnSi5;
|
|
67
|
-
return [table.options.columns, header.column.columns.length > 0 ? (_table$atoms$columnSi4 = table.atoms.columnSizing) === null || _table$atoms$columnSi4 === void 0 ? void 0 : _table$atoms$columnSi4.get() : (_table$atoms$columnSi5 = table.atoms.columnSizing) === null || _table$atoms$columnSi5 === void 0 || (_table$atoms$columnSi5 = _table$atoms$columnSi5.get()) === null || _table$atoms$columnSi5 === void 0 ? void 0 : _table$atoms$columnSi5[header.column.id]];
|
|
68
|
-
}
|
|
36
|
+
memoDeps: (header) => [table.options.columns, header.column.columns.length > 0 ? table.atoms.columnSizing?.get() : table.atoms.columnSizing?.get()?.[header.column.id]]
|
|
69
37
|
},
|
|
70
38
|
header_getStart: {
|
|
71
39
|
fn: (header) => require_columnSizingFeature_utils.header_getStart(header),
|
|
72
|
-
memoDeps: (
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
];
|
|
82
|
-
}
|
|
40
|
+
memoDeps: () => [
|
|
41
|
+
table.options.columns,
|
|
42
|
+
table.atoms.columnSizing?.get(),
|
|
43
|
+
table.atoms.columnOrder?.get(),
|
|
44
|
+
table.atoms.columnPinning?.get(),
|
|
45
|
+
table.atoms.columnVisibility?.get(),
|
|
46
|
+
table.atoms.grouping?.get(),
|
|
47
|
+
table.options.groupedColumnMode
|
|
48
|
+
]
|
|
83
49
|
}
|
|
84
50
|
});
|
|
85
51
|
},
|
|
86
52
|
constructTableAPIs: (table) => {
|
|
87
53
|
require_utils.assignTableAPIs("columnSizingFeature", table, {
|
|
54
|
+
table_getColumnOffsets: {
|
|
55
|
+
fn: () => require_columnSizingFeature_utils.table_getColumnOffsets(table),
|
|
56
|
+
memoDeps: () => [
|
|
57
|
+
table.options.columns,
|
|
58
|
+
table.atoms.columnSizing?.get(),
|
|
59
|
+
table.atoms.columnOrder?.get(),
|
|
60
|
+
table.atoms.columnPinning?.get(),
|
|
61
|
+
table.atoms.columnVisibility?.get(),
|
|
62
|
+
table.atoms.grouping?.get(),
|
|
63
|
+
table.options.groupedColumnMode
|
|
64
|
+
]
|
|
65
|
+
},
|
|
88
66
|
table_setColumnSizing: { fn: (updater) => require_columnSizingFeature_utils.table_setColumnSizing(table, updater) },
|
|
89
67
|
table_resetColumnSizing: { fn: (defaultState) => require_columnSizingFeature_utils.table_resetColumnSizing(table, defaultState) },
|
|
90
68
|
table_getTotalSize: {
|
|
91
69
|
fn: () => require_columnSizingFeature_utils.table_getTotalSize(table),
|
|
92
|
-
memoDeps: () =>
|
|
93
|
-
var _table$atoms$columnSi7;
|
|
94
|
-
return [(_table$atoms$columnSi7 = table.atoms.columnSizing) === null || _table$atoms$columnSi7 === void 0 ? void 0 : _table$atoms$columnSi7.get(), table.getHeaderGroups()];
|
|
95
|
-
}
|
|
70
|
+
memoDeps: () => [table.atoms.columnSizing?.get(), table.getHeaderGroups()]
|
|
96
71
|
},
|
|
97
|
-
|
|
98
|
-
fn: () => require_columnSizingFeature_utils.
|
|
99
|
-
memoDeps: () =>
|
|
100
|
-
var _table$atoms$columnSi8;
|
|
101
|
-
return [(_table$atoms$columnSi8 = table.atoms.columnSizing) === null || _table$atoms$columnSi8 === void 0 ? void 0 : _table$atoms$columnSi8.get(), table.getHeaderGroups()];
|
|
102
|
-
}
|
|
72
|
+
table_getStartTotalSize: {
|
|
73
|
+
fn: () => require_columnSizingFeature_utils.table_getStartTotalSize(table),
|
|
74
|
+
memoDeps: () => [table.atoms.columnSizing?.get(), table.getHeaderGroups()]
|
|
103
75
|
},
|
|
104
76
|
table_getCenterTotalSize: {
|
|
105
77
|
fn: () => require_columnSizingFeature_utils.table_getCenterTotalSize(table),
|
|
106
|
-
memoDeps: () =>
|
|
107
|
-
var _table$atoms$columnSi9;
|
|
108
|
-
return [(_table$atoms$columnSi9 = table.atoms.columnSizing) === null || _table$atoms$columnSi9 === void 0 ? void 0 : _table$atoms$columnSi9.get(), table.getHeaderGroups()];
|
|
109
|
-
}
|
|
78
|
+
memoDeps: () => [table.atoms.columnSizing?.get(), table.getHeaderGroups()]
|
|
110
79
|
},
|
|
111
|
-
|
|
112
|
-
fn: () => require_columnSizingFeature_utils.
|
|
113
|
-
memoDeps: () =>
|
|
114
|
-
var _table$atoms$columnSi10;
|
|
115
|
-
return [(_table$atoms$columnSi10 = table.atoms.columnSizing) === null || _table$atoms$columnSi10 === void 0 ? void 0 : _table$atoms$columnSi10.get(), table.getHeaderGroups()];
|
|
116
|
-
}
|
|
80
|
+
table_getEndTotalSize: {
|
|
81
|
+
fn: () => require_columnSizingFeature_utils.table_getEndTotalSize(table),
|
|
82
|
+
memoDeps: () => [table.atoms.columnSizing?.get(), table.getHeaderGroups()]
|
|
117
83
|
}
|
|
118
84
|
});
|
|
119
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnSizingFeature.cjs","names":["getDefaultColumnSizingState","getDefaultColumnSizingColumnDef","makeStateUpdater","column_getSize","column_getStart","column_getAfter","column_resetSize","header_getSize","header_getStart","table_setColumnSizing","table_resetColumnSizing","table_getTotalSize","
|
|
1
|
+
{"version":3,"file":"columnSizingFeature.cjs","names":["getDefaultColumnSizingState","getDefaultColumnSizingColumnDef","makeStateUpdater","column_getSize","column_getStart","column_getAfter","column_resetSize","header_getSize","header_getStart","table_getColumnOffsets","table_setColumnSizing","table_resetColumnSizing","table_getTotalSize","table_getStartTotalSize","table_getCenterTotalSize","table_getEndTotalSize"],"sources":["../../../src/features/column-sizing/columnSizingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getAfter,\n column_getSize,\n column_getStart,\n column_resetSize,\n getDefaultColumnSizingColumnDef,\n getDefaultColumnSizingState,\n header_getSize,\n header_getStart,\n table_getCenterTotalSize,\n table_getColumnOffsets,\n table_getEndTotalSize,\n table_getStartTotalSize,\n table_getTotalSize,\n table_resetColumnSizing,\n table_setColumnSizing,\n} from './columnSizingFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds column sizing state, defaults, and size measurement APIs.\n */\nexport const columnSizingFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n columnSizing: getDefaultColumnSizingState(),\n ...initialState,\n }\n },\n\n getDefaultColumnDef: () => {\n return getDefaultColumnSizingColumnDef()\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnSizingChange: makeStateUpdater('columnSizing', table),\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnSizingFeature', prototype, table, {\n column_getSize: {\n fn: (column) => column_getSize(column),\n memoDeps: (column) => [\n table.options.columns,\n table.atoms.columnSizing?.get()?.[column.id], // just this column's size state\n ],\n },\n // O(1) lookups into the memoized table-level offsets, so no per-column\n // memos here\n column_getStart: {\n fn: (column, position) => column_getStart(column, position),\n },\n column_getAfter: {\n fn: (column, position) => column_getAfter(column, position),\n },\n column_resetSize: {\n fn: (column) => column_resetSize(column),\n },\n })\n },\n\n assignHeaderPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnSizingFeature', prototype, table, {\n header_getSize: {\n fn: (header) => header_getSize(header),\n memoDeps: (header) => [\n table.options.columns,\n header.column.columns.length > 0\n ? table.atoms.columnSizing?.get() // must be all columns (sum child columns)\n : table.atoms.columnSizing?.get()?.[header.column.id], // can just check it's associated column size state\n ],\n },\n header_getStart: {\n fn: (header) => header_getStart(header),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnSizing?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n table.atoms.grouping?.get(),\n table.options.groupedColumnMode,\n ],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnSizingFeature', table, {\n table_getColumnOffsets: {\n fn: () => table_getColumnOffsets(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnSizing?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n table.atoms.grouping?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_setColumnSizing: {\n fn: (updater) => table_setColumnSizing(table, updater),\n },\n table_resetColumnSizing: {\n fn: (defaultState) => table_resetColumnSizing(table, defaultState),\n },\n table_getTotalSize: {\n fn: () => table_getTotalSize(table),\n memoDeps: () => [\n table.atoms.columnSizing?.get(),\n table.getHeaderGroups(),\n ],\n },\n table_getStartTotalSize: {\n fn: () => table_getStartTotalSize(table),\n memoDeps: () => [\n table.atoms.columnSizing?.get(),\n table.getHeaderGroups(),\n ],\n },\n table_getCenterTotalSize: {\n fn: () => table_getCenterTotalSize(table),\n memoDeps: () => [\n table.atoms.columnSizing?.get(),\n table.getHeaderGroups(),\n ],\n },\n table_getEndTotalSize: {\n fn: () => table_getEndTotalSize(table),\n memoDeps: () => [\n table.atoms.columnSizing?.get(),\n table.getHeaderGroups(),\n ],\n },\n })\n },\n}\n"],"mappings":";;;;;;;AA2BA,MAAa,sBAAoC;CAC/C,kBAAkB,iBAAiB;EACjC,OAAO;GACL,cAAcA,8DAA4B;GAC1C,GAAG;EACL;CACF;CAEA,2BAA2B;EACzB,OAAOC,kEAAgC;CACzC;CAEA,yBAAyB,UAAU;EACjC,OAAO,EACL,sBAAsBC,+BAAiB,gBAAgB,KAAK,EAC9D;CACF;CAEA,wBAAwB,WAAW,UAAU;EAC3C,kCAAoB,uBAAuB,WAAW,OAAO;GAC3D,gBAAgB;IACd,KAAK,WAAWC,iDAAe,MAAM;IACrC,WAAW,WAAW,CACpB,MAAM,QAAQ,SACd,MAAM,MAAM,cAAc,IAAI,CAAC,GAAG,OAAO,GAC3C;GACF;GAGA,iBAAiB,EACf,KAAK,QAAQ,aAAaC,kDAAgB,QAAQ,QAAQ,EAC5D;GACA,iBAAiB,EACf,KAAK,QAAQ,aAAaC,kDAAgB,QAAQ,QAAQ,EAC5D;GACA,kBAAkB,EAChB,KAAK,WAAWC,mDAAiB,MAAM,EACzC;EACF,CAAC;CACH;CAEA,wBAAwB,WAAW,UAAU;EAC3C,kCAAoB,uBAAuB,WAAW,OAAO;GAC3D,gBAAgB;IACd,KAAK,WAAWC,iDAAe,MAAM;IACrC,WAAW,WAAW,CACpB,MAAM,QAAQ,SACd,OAAO,OAAO,QAAQ,SAAS,IAC3B,MAAM,MAAM,cAAc,IAAI,IAC9B,MAAM,MAAM,cAAc,IAAI,CAAC,GAAG,OAAO,OAAO,GACtD;GACF;GACA,iBAAiB;IACf,KAAK,WAAWC,kDAAgB,MAAM;IACtC,gBAAgB;KACd,MAAM,QAAQ;KACd,MAAM,MAAM,cAAc,IAAI;KAC9B,MAAM,MAAM,aAAa,IAAI;KAC7B,MAAM,MAAM,eAAe,IAAI;KAC/B,MAAM,MAAM,kBAAkB,IAAI;KAClC,MAAM,MAAM,UAAU,IAAI;KAC1B,MAAM,QAAQ;IAChB;GACF;EACF,CAAC;CACH;CAEA,qBAAqB,UAAU;EAC7B,8BAAgB,uBAAuB,OAAO;GAC5C,wBAAwB;IACtB,UAAUC,yDAAuB,KAAK;IACtC,gBAAgB;KACd,MAAM,QAAQ;KACd,MAAM,MAAM,cAAc,IAAI;KAC9B,MAAM,MAAM,aAAa,IAAI;KAC7B,MAAM,MAAM,eAAe,IAAI;KAC/B,MAAM,MAAM,kBAAkB,IAAI;KAClC,MAAM,MAAM,UAAU,IAAI;KAC1B,MAAM,QAAQ;IAChB;GACF;GACA,uBAAuB,EACrB,KAAK,YAAYC,wDAAsB,OAAO,OAAO,EACvD;GACA,yBAAyB,EACvB,KAAK,iBAAiBC,0DAAwB,OAAO,YAAY,EACnE;GACA,oBAAoB;IAClB,UAAUC,qDAAmB,KAAK;IAClC,gBAAgB,CACd,MAAM,MAAM,cAAc,IAAI,GAC9B,MAAM,gBAAgB,CACxB;GACF;GACA,yBAAyB;IACvB,UAAUC,0DAAwB,KAAK;IACvC,gBAAgB,CACd,MAAM,MAAM,cAAc,IAAI,GAC9B,MAAM,gBAAgB,CACxB;GACF;GACA,0BAA0B;IACxB,UAAUC,2DAAyB,KAAK;IACxC,gBAAgB,CACd,MAAM,MAAM,cAAc,IAAI,GAC9B,MAAM,gBAAgB,CACxB;GACF;GACA,uBAAuB;IACrB,UAAUC,wDAAsB,KAAK;IACrC,gBAAgB,CACd,MAAM,MAAM,cAAc,IAAI,GAC9B,MAAM,gBAAgB,CACxB;GACF;EACF,CAAC;CACH;AACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { assignPrototypeAPIs, assignTableAPIs, makeStateUpdater } from "../../utils.js";
|
|
2
|
-
import { column_getAfter, column_getSize, column_getStart, column_resetSize, getDefaultColumnSizingColumnDef, getDefaultColumnSizingState, header_getSize, header_getStart, table_getCenterTotalSize,
|
|
2
|
+
import { 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 } from "./columnSizingFeature.utils.js";
|
|
3
3
|
|
|
4
4
|
//#region src/features/column-sizing/columnSizingFeature.ts
|
|
5
5
|
/**
|
|
@@ -22,39 +22,10 @@ const columnSizingFeature = {
|
|
|
22
22
|
assignPrototypeAPIs("columnSizingFeature", prototype, table, {
|
|
23
23
|
column_getSize: {
|
|
24
24
|
fn: (column) => column_getSize(column),
|
|
25
|
-
memoDeps: (column) =>
|
|
26
|
-
var _table$atoms$columnSi;
|
|
27
|
-
return [table.options.columns, (_table$atoms$columnSi = table.atoms.columnSizing) === null || _table$atoms$columnSi === void 0 || (_table$atoms$columnSi = _table$atoms$columnSi.get()) === null || _table$atoms$columnSi === void 0 ? void 0 : _table$atoms$columnSi[column.id]];
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
column_getStart: {
|
|
31
|
-
fn: (column, position) => column_getStart(column, position),
|
|
32
|
-
memoDeps: (column, position) => {
|
|
33
|
-
var _table$atoms$columnSi2, _table$atoms$columnOr, _table$atoms$columnPi, _table$atoms$columnVi;
|
|
34
|
-
return [
|
|
35
|
-
position,
|
|
36
|
-
table.options.columns,
|
|
37
|
-
(_table$atoms$columnSi2 = table.atoms.columnSizing) === null || _table$atoms$columnSi2 === void 0 ? void 0 : _table$atoms$columnSi2.get(),
|
|
38
|
-
(_table$atoms$columnOr = table.atoms.columnOrder) === null || _table$atoms$columnOr === void 0 ? void 0 : _table$atoms$columnOr.get(),
|
|
39
|
-
(_table$atoms$columnPi = table.atoms.columnPinning) === null || _table$atoms$columnPi === void 0 ? void 0 : _table$atoms$columnPi.get(),
|
|
40
|
-
(_table$atoms$columnVi = table.atoms.columnVisibility) === null || _table$atoms$columnVi === void 0 ? void 0 : _table$atoms$columnVi.get()
|
|
41
|
-
];
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
column_getAfter: {
|
|
45
|
-
fn: (column, position) => column_getAfter(column, position),
|
|
46
|
-
memoDeps: (column, position) => {
|
|
47
|
-
var _table$atoms$columnSi3, _table$atoms$columnOr2, _table$atoms$columnPi2, _table$atoms$columnVi2;
|
|
48
|
-
return [
|
|
49
|
-
position,
|
|
50
|
-
table.options.columns,
|
|
51
|
-
(_table$atoms$columnSi3 = table.atoms.columnSizing) === null || _table$atoms$columnSi3 === void 0 ? void 0 : _table$atoms$columnSi3.get(),
|
|
52
|
-
(_table$atoms$columnOr2 = table.atoms.columnOrder) === null || _table$atoms$columnOr2 === void 0 ? void 0 : _table$atoms$columnOr2.get(),
|
|
53
|
-
(_table$atoms$columnPi2 = table.atoms.columnPinning) === null || _table$atoms$columnPi2 === void 0 ? void 0 : _table$atoms$columnPi2.get(),
|
|
54
|
-
(_table$atoms$columnVi2 = table.atoms.columnVisibility) === null || _table$atoms$columnVi2 === void 0 ? void 0 : _table$atoms$columnVi2.get()
|
|
55
|
-
];
|
|
56
|
-
}
|
|
25
|
+
memoDeps: (column) => [table.options.columns, table.atoms.columnSizing?.get()?.[column.id]]
|
|
57
26
|
},
|
|
27
|
+
column_getStart: { fn: (column, position) => column_getStart(column, position) },
|
|
28
|
+
column_getAfter: { fn: (column, position) => column_getAfter(column, position) },
|
|
58
29
|
column_resetSize: { fn: (column) => column_resetSize(column) }
|
|
59
30
|
});
|
|
60
31
|
},
|
|
@@ -62,58 +33,53 @@ const columnSizingFeature = {
|
|
|
62
33
|
assignPrototypeAPIs("columnSizingFeature", prototype, table, {
|
|
63
34
|
header_getSize: {
|
|
64
35
|
fn: (header) => header_getSize(header),
|
|
65
|
-
memoDeps: (header) =>
|
|
66
|
-
var _table$atoms$columnSi4, _table$atoms$columnSi5;
|
|
67
|
-
return [table.options.columns, header.column.columns.length > 0 ? (_table$atoms$columnSi4 = table.atoms.columnSizing) === null || _table$atoms$columnSi4 === void 0 ? void 0 : _table$atoms$columnSi4.get() : (_table$atoms$columnSi5 = table.atoms.columnSizing) === null || _table$atoms$columnSi5 === void 0 || (_table$atoms$columnSi5 = _table$atoms$columnSi5.get()) === null || _table$atoms$columnSi5 === void 0 ? void 0 : _table$atoms$columnSi5[header.column.id]];
|
|
68
|
-
}
|
|
36
|
+
memoDeps: (header) => [table.options.columns, header.column.columns.length > 0 ? table.atoms.columnSizing?.get() : table.atoms.columnSizing?.get()?.[header.column.id]]
|
|
69
37
|
},
|
|
70
38
|
header_getStart: {
|
|
71
39
|
fn: (header) => header_getStart(header),
|
|
72
|
-
memoDeps: (
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
];
|
|
82
|
-
}
|
|
40
|
+
memoDeps: () => [
|
|
41
|
+
table.options.columns,
|
|
42
|
+
table.atoms.columnSizing?.get(),
|
|
43
|
+
table.atoms.columnOrder?.get(),
|
|
44
|
+
table.atoms.columnPinning?.get(),
|
|
45
|
+
table.atoms.columnVisibility?.get(),
|
|
46
|
+
table.atoms.grouping?.get(),
|
|
47
|
+
table.options.groupedColumnMode
|
|
48
|
+
]
|
|
83
49
|
}
|
|
84
50
|
});
|
|
85
51
|
},
|
|
86
52
|
constructTableAPIs: (table) => {
|
|
87
53
|
assignTableAPIs("columnSizingFeature", table, {
|
|
54
|
+
table_getColumnOffsets: {
|
|
55
|
+
fn: () => table_getColumnOffsets(table),
|
|
56
|
+
memoDeps: () => [
|
|
57
|
+
table.options.columns,
|
|
58
|
+
table.atoms.columnSizing?.get(),
|
|
59
|
+
table.atoms.columnOrder?.get(),
|
|
60
|
+
table.atoms.columnPinning?.get(),
|
|
61
|
+
table.atoms.columnVisibility?.get(),
|
|
62
|
+
table.atoms.grouping?.get(),
|
|
63
|
+
table.options.groupedColumnMode
|
|
64
|
+
]
|
|
65
|
+
},
|
|
88
66
|
table_setColumnSizing: { fn: (updater) => table_setColumnSizing(table, updater) },
|
|
89
67
|
table_resetColumnSizing: { fn: (defaultState) => table_resetColumnSizing(table, defaultState) },
|
|
90
68
|
table_getTotalSize: {
|
|
91
69
|
fn: () => table_getTotalSize(table),
|
|
92
|
-
memoDeps: () =>
|
|
93
|
-
var _table$atoms$columnSi7;
|
|
94
|
-
return [(_table$atoms$columnSi7 = table.atoms.columnSizing) === null || _table$atoms$columnSi7 === void 0 ? void 0 : _table$atoms$columnSi7.get(), table.getHeaderGroups()];
|
|
95
|
-
}
|
|
70
|
+
memoDeps: () => [table.atoms.columnSizing?.get(), table.getHeaderGroups()]
|
|
96
71
|
},
|
|
97
|
-
|
|
98
|
-
fn: () =>
|
|
99
|
-
memoDeps: () =>
|
|
100
|
-
var _table$atoms$columnSi8;
|
|
101
|
-
return [(_table$atoms$columnSi8 = table.atoms.columnSizing) === null || _table$atoms$columnSi8 === void 0 ? void 0 : _table$atoms$columnSi8.get(), table.getHeaderGroups()];
|
|
102
|
-
}
|
|
72
|
+
table_getStartTotalSize: {
|
|
73
|
+
fn: () => table_getStartTotalSize(table),
|
|
74
|
+
memoDeps: () => [table.atoms.columnSizing?.get(), table.getHeaderGroups()]
|
|
103
75
|
},
|
|
104
76
|
table_getCenterTotalSize: {
|
|
105
77
|
fn: () => table_getCenterTotalSize(table),
|
|
106
|
-
memoDeps: () =>
|
|
107
|
-
var _table$atoms$columnSi9;
|
|
108
|
-
return [(_table$atoms$columnSi9 = table.atoms.columnSizing) === null || _table$atoms$columnSi9 === void 0 ? void 0 : _table$atoms$columnSi9.get(), table.getHeaderGroups()];
|
|
109
|
-
}
|
|
78
|
+
memoDeps: () => [table.atoms.columnSizing?.get(), table.getHeaderGroups()]
|
|
110
79
|
},
|
|
111
|
-
|
|
112
|
-
fn: () =>
|
|
113
|
-
memoDeps: () =>
|
|
114
|
-
var _table$atoms$columnSi10;
|
|
115
|
-
return [(_table$atoms$columnSi10 = table.atoms.columnSizing) === null || _table$atoms$columnSi10 === void 0 ? void 0 : _table$atoms$columnSi10.get(), table.getHeaderGroups()];
|
|
116
|
-
}
|
|
80
|
+
table_getEndTotalSize: {
|
|
81
|
+
fn: () => table_getEndTotalSize(table),
|
|
82
|
+
memoDeps: () => [table.atoms.columnSizing?.get(), table.getHeaderGroups()]
|
|
117
83
|
}
|
|
118
84
|
});
|
|
119
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnSizingFeature.js","names":[],"sources":["../../../src/features/column-sizing/columnSizingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getAfter,\n column_getSize,\n column_getStart,\n column_resetSize,\n getDefaultColumnSizingColumnDef,\n getDefaultColumnSizingState,\n header_getSize,\n header_getStart,\n table_getCenterTotalSize,\n
|
|
1
|
+
{"version":3,"file":"columnSizingFeature.js","names":[],"sources":["../../../src/features/column-sizing/columnSizingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getAfter,\n column_getSize,\n column_getStart,\n column_resetSize,\n getDefaultColumnSizingColumnDef,\n getDefaultColumnSizingState,\n header_getSize,\n header_getStart,\n table_getCenterTotalSize,\n table_getColumnOffsets,\n table_getEndTotalSize,\n table_getStartTotalSize,\n table_getTotalSize,\n table_resetColumnSizing,\n table_setColumnSizing,\n} from './columnSizingFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds column sizing state, defaults, and size measurement APIs.\n */\nexport const columnSizingFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n columnSizing: getDefaultColumnSizingState(),\n ...initialState,\n }\n },\n\n getDefaultColumnDef: () => {\n return getDefaultColumnSizingColumnDef()\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnSizingChange: makeStateUpdater('columnSizing', table),\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnSizingFeature', prototype, table, {\n column_getSize: {\n fn: (column) => column_getSize(column),\n memoDeps: (column) => [\n table.options.columns,\n table.atoms.columnSizing?.get()?.[column.id], // just this column's size state\n ],\n },\n // O(1) lookups into the memoized table-level offsets, so no per-column\n // memos here\n column_getStart: {\n fn: (column, position) => column_getStart(column, position),\n },\n column_getAfter: {\n fn: (column, position) => column_getAfter(column, position),\n },\n column_resetSize: {\n fn: (column) => column_resetSize(column),\n },\n })\n },\n\n assignHeaderPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnSizingFeature', prototype, table, {\n header_getSize: {\n fn: (header) => header_getSize(header),\n memoDeps: (header) => [\n table.options.columns,\n header.column.columns.length > 0\n ? table.atoms.columnSizing?.get() // must be all columns (sum child columns)\n : table.atoms.columnSizing?.get()?.[header.column.id], // can just check it's associated column size state\n ],\n },\n header_getStart: {\n fn: (header) => header_getStart(header),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnSizing?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n table.atoms.grouping?.get(),\n table.options.groupedColumnMode,\n ],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnSizingFeature', table, {\n table_getColumnOffsets: {\n fn: () => table_getColumnOffsets(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnSizing?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n table.atoms.grouping?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_setColumnSizing: {\n fn: (updater) => table_setColumnSizing(table, updater),\n },\n table_resetColumnSizing: {\n fn: (defaultState) => table_resetColumnSizing(table, defaultState),\n },\n table_getTotalSize: {\n fn: () => table_getTotalSize(table),\n memoDeps: () => [\n table.atoms.columnSizing?.get(),\n table.getHeaderGroups(),\n ],\n },\n table_getStartTotalSize: {\n fn: () => table_getStartTotalSize(table),\n memoDeps: () => [\n table.atoms.columnSizing?.get(),\n table.getHeaderGroups(),\n ],\n },\n table_getCenterTotalSize: {\n fn: () => table_getCenterTotalSize(table),\n memoDeps: () => [\n table.atoms.columnSizing?.get(),\n table.getHeaderGroups(),\n ],\n },\n table_getEndTotalSize: {\n fn: () => table_getEndTotalSize(table),\n memoDeps: () => [\n table.atoms.columnSizing?.get(),\n table.getHeaderGroups(),\n ],\n },\n })\n },\n}\n"],"mappings":";;;;;;;AA2BA,MAAa,sBAAoC;CAC/C,kBAAkB,iBAAiB;EACjC,OAAO;GACL,cAAc,4BAA4B;GAC1C,GAAG;EACL;CACF;CAEA,2BAA2B;EACzB,OAAO,gCAAgC;CACzC;CAEA,yBAAyB,UAAU;EACjC,OAAO,EACL,sBAAsB,iBAAiB,gBAAgB,KAAK,EAC9D;CACF;CAEA,wBAAwB,WAAW,UAAU;EAC3C,oBAAoB,uBAAuB,WAAW,OAAO;GAC3D,gBAAgB;IACd,KAAK,WAAW,eAAe,MAAM;IACrC,WAAW,WAAW,CACpB,MAAM,QAAQ,SACd,MAAM,MAAM,cAAc,IAAI,CAAC,GAAG,OAAO,GAC3C;GACF;GAGA,iBAAiB,EACf,KAAK,QAAQ,aAAa,gBAAgB,QAAQ,QAAQ,EAC5D;GACA,iBAAiB,EACf,KAAK,QAAQ,aAAa,gBAAgB,QAAQ,QAAQ,EAC5D;GACA,kBAAkB,EAChB,KAAK,WAAW,iBAAiB,MAAM,EACzC;EACF,CAAC;CACH;CAEA,wBAAwB,WAAW,UAAU;EAC3C,oBAAoB,uBAAuB,WAAW,OAAO;GAC3D,gBAAgB;IACd,KAAK,WAAW,eAAe,MAAM;IACrC,WAAW,WAAW,CACpB,MAAM,QAAQ,SACd,OAAO,OAAO,QAAQ,SAAS,IAC3B,MAAM,MAAM,cAAc,IAAI,IAC9B,MAAM,MAAM,cAAc,IAAI,CAAC,GAAG,OAAO,OAAO,GACtD;GACF;GACA,iBAAiB;IACf,KAAK,WAAW,gBAAgB,MAAM;IACtC,gBAAgB;KACd,MAAM,QAAQ;KACd,MAAM,MAAM,cAAc,IAAI;KAC9B,MAAM,MAAM,aAAa,IAAI;KAC7B,MAAM,MAAM,eAAe,IAAI;KAC/B,MAAM,MAAM,kBAAkB,IAAI;KAClC,MAAM,MAAM,UAAU,IAAI;KAC1B,MAAM,QAAQ;IAChB;GACF;EACF,CAAC;CACH;CAEA,qBAAqB,UAAU;EAC7B,gBAAgB,uBAAuB,OAAO;GAC5C,wBAAwB;IACtB,UAAU,uBAAuB,KAAK;IACtC,gBAAgB;KACd,MAAM,QAAQ;KACd,MAAM,MAAM,cAAc,IAAI;KAC9B,MAAM,MAAM,aAAa,IAAI;KAC7B,MAAM,MAAM,eAAe,IAAI;KAC/B,MAAM,MAAM,kBAAkB,IAAI;KAClC,MAAM,MAAM,UAAU,IAAI;KAC1B,MAAM,QAAQ;IAChB;GACF;GACA,uBAAuB,EACrB,KAAK,YAAY,sBAAsB,OAAO,OAAO,EACvD;GACA,yBAAyB,EACvB,KAAK,iBAAiB,wBAAwB,OAAO,YAAY,EACnE;GACA,oBAAoB;IAClB,UAAU,mBAAmB,KAAK;IAClC,gBAAgB,CACd,MAAM,MAAM,cAAc,IAAI,GAC9B,MAAM,gBAAgB,CACxB;GACF;GACA,yBAAyB;IACvB,UAAU,wBAAwB,KAAK;IACvC,gBAAgB,CACd,MAAM,MAAM,cAAc,IAAI,GAC9B,MAAM,gBAAgB,CACxB;GACF;GACA,0BAA0B;IACxB,UAAU,yBAAyB,KAAK;IACxC,gBAAgB,CACd,MAAM,MAAM,cAAc,IAAI,GAC9B,MAAM,gBAAgB,CACxB;GACF;GACA,uBAAuB;IACrB,UAAU,sBAAsB,KAAK;IACrC,gBAAgB,CACd,MAAM,MAAM,cAAc,IAAI,GAC9B,MAAM,gBAAgB,CACxB;GACF;EACF,CAAC;CACH;AACF"}
|