@tanstack/table-core 9.0.0-alpha.46 → 9.0.0-alpha.48
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 +10 -0
- package/dist/core/cells/constructCell.cjs +4 -3
- package/dist/core/cells/constructCell.cjs.map +1 -1
- package/dist/core/cells/constructCell.js +4 -3
- package/dist/core/cells/constructCell.js.map +1 -1
- package/dist/core/cells/coreCellsFeature.utils.cjs +11 -8
- package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -1
- package/dist/core/cells/coreCellsFeature.utils.d.cts +11 -8
- package/dist/core/cells/coreCellsFeature.utils.d.ts +11 -8
- package/dist/core/cells/coreCellsFeature.utils.js +11 -8
- package/dist/core/cells/coreCellsFeature.utils.js.map +1 -1
- package/dist/core/columns/constructColumn.cjs +6 -4
- package/dist/core/columns/constructColumn.cjs.map +1 -1
- package/dist/core/columns/constructColumn.js +6 -4
- package/dist/core/columns/constructColumn.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -6
- package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -6
- package/dist/core/columns/coreColumnsFeature.utils.cjs +47 -29
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +37 -27
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +37 -27
- package/dist/core/columns/coreColumnsFeature.utils.js +47 -29
- package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
- package/dist/core/headers/buildHeaderGroups.cjs +27 -19
- package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
- package/dist/core/headers/buildHeaderGroups.js +27 -19
- package/dist/core/headers/buildHeaderGroups.js.map +1 -1
- package/dist/core/headers/constructHeader.cjs +4 -3
- package/dist/core/headers/constructHeader.cjs.map +1 -1
- package/dist/core/headers/constructHeader.js +4 -3
- package/dist/core/headers/constructHeader.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.cjs +1 -6
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.js +2 -7
- package/dist/core/headers/coreHeadersFeature.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -4
- package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -4
- package/dist/core/headers/coreHeadersFeature.utils.cjs +43 -36
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +24 -19
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +24 -19
- package/dist/core/headers/coreHeadersFeature.utils.js +44 -37
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
- package/dist/core/reactivity/coreReactivityFeature.types.d.cts +4 -0
- package/dist/core/reactivity/coreReactivityFeature.types.d.ts +4 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +48 -36
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +48 -36
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +48 -36
- package/dist/core/row-models/coreRowModelsFeature.utils.js +48 -36
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
- package/dist/core/rows/constructRow.cjs +8 -6
- package/dist/core/rows/constructRow.cjs.map +1 -1
- package/dist/core/rows/constructRow.js +8 -6
- package/dist/core/rows/constructRow.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +4 -4
- package/dist/core/rows/coreRowsFeature.types.d.ts +4 -4
- package/dist/core/rows/coreRowsFeature.utils.cjs +43 -32
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +34 -28
- package/dist/core/rows/coreRowsFeature.utils.d.ts +34 -28
- package/dist/core/rows/coreRowsFeature.utils.js +43 -32
- package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
- package/dist/core/table/constructTable.cjs +9 -5
- package/dist/core/table/constructTable.cjs.map +1 -1
- package/dist/core/table/constructTable.js +9 -5
- package/dist/core/table/constructTable.js.map +1 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +6 -2
- package/dist/core/table/coreTablesFeature.types.d.ts +6 -2
- package/dist/core/table/coreTablesFeature.utils.cjs +7 -3
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +2 -2
- package/dist/core/table/coreTablesFeature.utils.d.ts +2 -2
- package/dist/core/table/coreTablesFeature.utils.js +7 -3
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +16 -10
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +16 -10
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +26 -18
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +26 -18
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +26 -18
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +26 -18
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +8 -5
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +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 +8 -3
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.js +8 -3
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs +7 -4
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.js +7 -4
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +21 -11
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +21 -11
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +39 -28
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +39 -28
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +39 -28
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +39 -28
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +11 -5
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.js +11 -5
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +18 -14
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +18 -14
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +55 -43
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +55 -43
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +55 -43
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +55 -43
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +14 -5
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +14 -5
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +46 -29
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +30 -23
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +30 -23
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +46 -29
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +43 -31
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +43 -31
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +152 -115
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +116 -95
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +116 -95
- package/dist/features/column-pinning/columnPinningFeature.utils.js +153 -116
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.types.d.cts +9 -9
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +9 -9
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +28 -19
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +28 -19
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +28 -19
- package/dist/features/column-resizing/columnResizingFeature.utils.js +28 -19
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +28 -4
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.js +28 -4
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.types.d.cts +19 -12
- package/dist/features/column-sizing/columnSizingFeature.types.d.ts +19 -12
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +52 -41
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +52 -41
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +52 -41
- package/dist/features/column-sizing/columnSizingFeature.utils.js +52 -41
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +23 -14
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.js +24 -15
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +19 -12
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +19 -12
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +91 -52
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +63 -40
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +63 -40
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +91 -53
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +10 -5
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +10 -5
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +20 -14
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +20 -14
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +20 -14
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +20 -14
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +16 -15
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +16 -15
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +58 -43
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +56 -41
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +56 -41
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +58 -43
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +19 -12
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +19 -12
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +49 -32
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +49 -32
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +49 -32
- package/dist/features/row-pagination/rowPaginationFeature.utils.js +49 -32
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +12 -8
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +12 -8
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +52 -36
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +39 -29
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +39 -29
- package/dist/features/row-pinning/rowPinningFeature.utils.js +52 -36
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +30 -24
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +30 -24
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +95 -72
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +89 -69
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +89 -69
- package/dist/features/row-selection/rowSelectionFeature.utils.js +95 -72
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +13 -8
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.js +13 -8
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +10 -8
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +10 -8
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +63 -46
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +61 -44
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +61 -44
- package/dist/features/row-sorting/rowSortingFeature.utils.js +63 -46
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
- package/dist/fns/aggregationFns.cjs +47 -16
- package/dist/fns/aggregationFns.cjs.map +1 -1
- package/dist/fns/aggregationFns.d.cts +33 -9
- package/dist/fns/aggregationFns.d.ts +33 -9
- package/dist/fns/aggregationFns.js +47 -17
- package/dist/fns/aggregationFns.js.map +1 -1
- package/dist/fns/filterFns.cjs +48 -17
- package/dist/fns/filterFns.cjs.map +1 -1
- package/dist/fns/filterFns.d.cts +42 -15
- package/dist/fns/filterFns.d.ts +42 -15
- package/dist/fns/filterFns.js +48 -17
- package/dist/fns/filterFns.js.map +1 -1
- package/dist/helpers/columnHelper.cjs +9 -4
- package/dist/helpers/columnHelper.cjs.map +1 -1
- package/dist/helpers/columnHelper.d.cts +9 -4
- package/dist/helpers/columnHelper.d.ts +9 -4
- package/dist/helpers/columnHelper.js +9 -4
- package/dist/helpers/columnHelper.js.map +1 -1
- package/dist/helpers/tableOptions.cjs.map +1 -1
- package/dist/helpers/tableOptions.d.cts +12 -9
- package/dist/helpers/tableOptions.d.ts +12 -9
- package/dist/helpers/tableOptions.js.map +1 -1
- package/dist/index.cjs +0 -4
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/static-functions.cjs +1 -0
- package/dist/static-functions.d.cts +2 -2
- package/dist/static-functions.d.ts +2 -2
- package/dist/static-functions.js +2 -2
- package/dist/store-reactivity-bindings.cjs +1 -0
- package/dist/store-reactivity-bindings.cjs.map +1 -1
- package/dist/store-reactivity-bindings.js +1 -0
- package/dist/store-reactivity-bindings.js.map +1 -1
- package/dist/types/ColumnDef.d.cts +38 -0
- package/dist/types/ColumnDef.d.ts +38 -0
- package/dist/types/TableOptions.d.cts +15 -0
- package/dist/types/TableOptions.d.ts +15 -0
- package/dist/types/TableState.d.cts +12 -0
- package/dist/types/TableState.d.ts +12 -0
- package/dist/utils.cjs +18 -39
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +1 -23
- package/dist/utils.d.ts +1 -23
- package/dist/utils.js +19 -36
- package/dist/utils.js.map +1 -1
- package/package.json +5 -3
- package/skills/column-definitions/SKILL.md +333 -0
- package/skills/column-layout/SKILL.md +328 -0
- package/skills/column-layout/references/subsystems.md +220 -0
- package/skills/customizing-feature-behavior/SKILL.md +416 -0
- package/skills/filtering/SKILL.md +357 -0
- package/skills/filtering/references/faceting-and-fuzzy.md +191 -0
- package/skills/grouping/SKILL.md +448 -0
- package/skills/migrate-v8-to-v9/SKILL.md +495 -0
- package/skills/pagination/SKILL.md +385 -0
- package/skills/row-expanding/SKILL.md +348 -0
- package/skills/row-pinning/SKILL.md +269 -0
- package/skills/row-selection/SKILL.md +391 -0
- package/skills/setup/SKILL.md +400 -0
- package/skills/sorting/SKILL.md +344 -0
- package/skills/state-management/SKILL.md +388 -0
- package/src/core/cells/constructCell.ts +3 -2
- package/src/core/cells/coreCellsFeature.utils.ts +11 -8
- package/src/core/columns/constructColumn.ts +5 -3
- package/src/core/columns/coreColumnsFeature.types.ts +7 -6
- package/src/core/columns/coreColumnsFeature.utils.ts +43 -29
- package/src/core/headers/buildHeaderGroups.ts +29 -30
- package/src/core/headers/constructHeader.ts +3 -2
- package/src/core/headers/coreHeadersFeature.ts +2 -27
- package/src/core/headers/coreHeadersFeature.types.ts +6 -4
- package/src/core/headers/coreHeadersFeature.utils.ts +52 -61
- package/src/core/reactivity/coreReactivityFeature.types.ts +4 -0
- package/src/core/row-models/coreRowModelsFeature.utils.ts +48 -36
- package/src/core/rows/constructRow.ts +6 -4
- package/src/core/rows/coreRowsFeature.types.ts +4 -4
- package/src/core/rows/coreRowsFeature.utils.ts +45 -32
- package/src/core/table/constructTable.ts +6 -4
- package/src/core/table/coreTablesFeature.types.ts +6 -2
- package/src/core/table/coreTablesFeature.utils.ts +5 -3
- package/src/features/column-faceting/columnFacetingFeature.types.ts +16 -10
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +26 -18
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +8 -10
- package/src/features/column-faceting/createFacetedRowModel.ts +10 -6
- package/src/features/column-faceting/createFacetedUniqueValues.ts +4 -3
- package/src/features/column-filtering/columnFilteringFeature.types.ts +21 -11
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +39 -28
- package/src/features/column-filtering/createFilteredRowModel.ts +14 -8
- package/src/features/column-grouping/columnGroupingFeature.types.ts +18 -14
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +55 -43
- package/src/features/column-ordering/columnOrderingFeature.types.ts +14 -5
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +44 -29
- package/src/features/column-pinning/columnPinningFeature.types.ts +43 -31
- package/src/features/column-pinning/columnPinningFeature.utils.ts +164 -128
- package/src/features/column-resizing/columnResizingFeature.types.ts +9 -9
- package/src/features/column-resizing/columnResizingFeature.utils.ts +28 -19
- package/src/features/column-sizing/columnSizingFeature.ts +16 -0
- package/src/features/column-sizing/columnSizingFeature.types.ts +19 -12
- package/src/features/column-sizing/columnSizingFeature.utils.ts +52 -41
- package/src/features/column-visibility/columnVisibilityFeature.ts +8 -0
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +22 -12
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +101 -56
- package/src/features/global-filtering/globalFilteringFeature.types.ts +10 -5
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +20 -14
- package/src/features/row-expanding/rowExpandingFeature.types.ts +16 -15
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +58 -43
- package/src/features/row-pagination/rowPaginationFeature.types.ts +19 -12
- package/src/features/row-pagination/rowPaginationFeature.utils.ts +49 -32
- package/src/features/row-pinning/rowPinningFeature.types.ts +12 -8
- package/src/features/row-pinning/rowPinningFeature.utils.ts +59 -47
- package/src/features/row-selection/rowSelectionFeature.types.ts +30 -24
- package/src/features/row-selection/rowSelectionFeature.utils.ts +109 -88
- package/src/features/row-sorting/createSortedRowModel.ts +16 -13
- package/src/features/row-sorting/rowSortingFeature.types.ts +10 -8
- package/src/features/row-sorting/rowSortingFeature.utils.ts +63 -46
- package/src/fns/aggregationFns.ts +53 -17
- package/src/fns/filterFns.ts +48 -17
- package/src/helpers/columnHelper.ts +9 -4
- package/src/helpers/tableOptions.ts +12 -9
- package/src/store-reactivity-bindings.ts +1 -0
- package/src/types/ColumnDef.ts +38 -0
- package/src/types/TableOptions.ts +15 -0
- package/src/types/TableState.ts +12 -0
- package/src/utils.ts +19 -46
|
@@ -7,42 +7,46 @@ import { Table_Internal } from "../../types/Table.js";
|
|
|
7
7
|
|
|
8
8
|
//#region src/features/column-resizing/columnResizingFeature.utils.d.ts
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Creates the default transient column resizing state.
|
|
11
11
|
*
|
|
12
|
-
*
|
|
12
|
+
* The feature default represents no active drag interaction. Reset APIs use
|
|
13
|
+
* this value when `defaultState` is `true`.
|
|
13
14
|
*
|
|
14
15
|
* @example
|
|
15
16
|
* ```ts
|
|
16
|
-
* const
|
|
17
|
+
* const resizeInfo = getDefaultColumnResizingState()
|
|
17
18
|
* ```
|
|
18
19
|
*/
|
|
19
20
|
declare function getDefaultColumnResizingState(): columnResizingState;
|
|
20
21
|
/**
|
|
21
|
-
*
|
|
22
|
+
* Checks whether this column can start a resize interaction.
|
|
22
23
|
*
|
|
23
|
-
*
|
|
24
|
+
* Both `columnDef.enableResizing` and table `enableColumnResizing` default to
|
|
25
|
+
* `true`.
|
|
24
26
|
*
|
|
25
27
|
* @example
|
|
26
28
|
* ```ts
|
|
27
|
-
* const
|
|
29
|
+
* const canResize = column_getCanResize(column)
|
|
28
30
|
* ```
|
|
29
31
|
*/
|
|
30
32
|
declare function column_getCanResize<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
|
|
31
33
|
/**
|
|
32
|
-
*
|
|
34
|
+
* Checks whether this column is the active column resize target.
|
|
33
35
|
*
|
|
34
|
-
*
|
|
36
|
+
* The value is read from `state.columnResizing.isResizingColumn`.
|
|
35
37
|
*
|
|
36
38
|
* @example
|
|
37
39
|
* ```ts
|
|
38
|
-
* const
|
|
40
|
+
* const isResizing = column_getIsResizing(column)
|
|
39
41
|
* ```
|
|
40
42
|
*/
|
|
41
43
|
declare function column_getIsResizing<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
|
|
42
44
|
/**
|
|
43
|
-
*
|
|
45
|
+
* Creates the pointer/touch start handler for resizing a header.
|
|
44
46
|
*
|
|
45
|
-
*
|
|
47
|
+
* The handler records starting sizes for all leaf headers, tracks drag deltas,
|
|
48
|
+
* writes transient resize info, and commits column sizes on change or drag end
|
|
49
|
+
* depending on `columnResizeMode`.
|
|
46
50
|
*
|
|
47
51
|
* @example
|
|
48
52
|
* ```ts
|
|
@@ -51,20 +55,23 @@ declare function column_getIsResizing<TFeatures extends TableFeatures, TData ext
|
|
|
51
55
|
*/
|
|
52
56
|
declare function header_getResizeHandler<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(header: Header<TFeatures, TData, TValue>, _contextDocument?: Document): (event: unknown) => void;
|
|
53
57
|
/**
|
|
54
|
-
*
|
|
58
|
+
* Routes a transient column resizing updater through the table's resize handler.
|
|
55
59
|
*
|
|
56
|
-
*
|
|
60
|
+
* This state tracks the active drag interaction; committed widths live in
|
|
61
|
+
* `columnSizing`.
|
|
57
62
|
*
|
|
58
63
|
* @example
|
|
59
64
|
* ```ts
|
|
60
|
-
* table_setColumnResizing(table, (old) => old)
|
|
65
|
+
* table_setColumnResizing(table, (old) => ({ ...old, deltaOffset: 12 }))
|
|
61
66
|
* ```
|
|
62
67
|
*/
|
|
63
68
|
declare function table_setColumnResizing<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<columnResizingState>): void;
|
|
64
69
|
/**
|
|
65
|
-
* Resets
|
|
70
|
+
* Resets `columnResizing` to the configured initial state or feature default.
|
|
66
71
|
*
|
|
67
|
-
*
|
|
72
|
+
* With no argument, the reset clones `table.initialState.columnResizing` when
|
|
73
|
+
* it exists. Passing `true` ignores initial state and resets to the no-drag
|
|
74
|
+
* default state.
|
|
68
75
|
*
|
|
69
76
|
* @example
|
|
70
77
|
* ```ts
|
|
@@ -76,7 +83,8 @@ declare function table_resetHeaderSizeInfo<TFeatures extends TableFeatures, TDat
|
|
|
76
83
|
/**
|
|
77
84
|
* Detects whether the current environment supports passive event listeners.
|
|
78
85
|
*
|
|
79
|
-
* Column resizing uses this to register pointer and touch listeners with
|
|
86
|
+
* Column resizing uses this to register pointer and touch listeners with
|
|
87
|
+
* `passive: false` only when the environment understands passive options.
|
|
80
88
|
*
|
|
81
89
|
* @example
|
|
82
90
|
* ```ts
|
|
@@ -85,9 +93,10 @@ declare function table_resetHeaderSizeInfo<TFeatures extends TableFeatures, TDat
|
|
|
85
93
|
*/
|
|
86
94
|
declare function passiveEventSupported(): boolean;
|
|
87
95
|
/**
|
|
88
|
-
*
|
|
96
|
+
* Narrows an unknown event to a `touchstart` event.
|
|
89
97
|
*
|
|
90
|
-
* Column resizing uses this
|
|
98
|
+
* Column resizing uses this before reading touch coordinates and installing
|
|
99
|
+
* touch-specific listeners.
|
|
91
100
|
*
|
|
92
101
|
* @example
|
|
93
102
|
* ```ts
|
|
@@ -4,13 +4,14 @@ import { column_getSize, header_getSize, table_setColumnSizing } from "../column
|
|
|
4
4
|
|
|
5
5
|
//#region src/features/column-resizing/columnResizingFeature.utils.ts
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Creates the default transient column resizing state.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
9
|
+
* The feature default represents no active drag interaction. Reset APIs use
|
|
10
|
+
* this value when `defaultState` is `true`.
|
|
10
11
|
*
|
|
11
12
|
* @example
|
|
12
13
|
* ```ts
|
|
13
|
-
* const
|
|
14
|
+
* const resizeInfo = getDefaultColumnResizingState()
|
|
14
15
|
* ```
|
|
15
16
|
*/
|
|
16
17
|
function getDefaultColumnResizingState() {
|
|
@@ -24,26 +25,27 @@ function getDefaultColumnResizingState() {
|
|
|
24
25
|
};
|
|
25
26
|
}
|
|
26
27
|
/**
|
|
27
|
-
*
|
|
28
|
+
* Checks whether this column can start a resize interaction.
|
|
28
29
|
*
|
|
29
|
-
*
|
|
30
|
+
* Both `columnDef.enableResizing` and table `enableColumnResizing` default to
|
|
31
|
+
* `true`.
|
|
30
32
|
*
|
|
31
33
|
* @example
|
|
32
34
|
* ```ts
|
|
33
|
-
* const
|
|
35
|
+
* const canResize = column_getCanResize(column)
|
|
34
36
|
* ```
|
|
35
37
|
*/
|
|
36
38
|
function column_getCanResize(column) {
|
|
37
39
|
return (column.columnDef.enableResizing ?? true) && (column.table.options.enableColumnResizing ?? true);
|
|
38
40
|
}
|
|
39
41
|
/**
|
|
40
|
-
*
|
|
42
|
+
* Checks whether this column is the active column resize target.
|
|
41
43
|
*
|
|
42
|
-
*
|
|
44
|
+
* The value is read from `state.columnResizing.isResizingColumn`.
|
|
43
45
|
*
|
|
44
46
|
* @example
|
|
45
47
|
* ```ts
|
|
46
|
-
* const
|
|
48
|
+
* const isResizing = column_getIsResizing(column)
|
|
47
49
|
* ```
|
|
48
50
|
*/
|
|
49
51
|
function column_getIsResizing(column) {
|
|
@@ -51,9 +53,11 @@ function column_getIsResizing(column) {
|
|
|
51
53
|
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;
|
|
52
54
|
}
|
|
53
55
|
/**
|
|
54
|
-
*
|
|
56
|
+
* Creates the pointer/touch start handler for resizing a header.
|
|
55
57
|
*
|
|
56
|
-
*
|
|
58
|
+
* The handler records starting sizes for all leaf headers, tracks drag deltas,
|
|
59
|
+
* writes transient resize info, and commits column sizes on change or drag end
|
|
60
|
+
* depending on `columnResizeMode`.
|
|
57
61
|
*
|
|
58
62
|
* @example
|
|
59
63
|
* ```ts
|
|
@@ -157,13 +161,14 @@ function header_getResizeHandler(header, _contextDocument) {
|
|
|
157
161
|
};
|
|
158
162
|
}
|
|
159
163
|
/**
|
|
160
|
-
*
|
|
164
|
+
* Routes a transient column resizing updater through the table's resize handler.
|
|
161
165
|
*
|
|
162
|
-
*
|
|
166
|
+
* This state tracks the active drag interaction; committed widths live in
|
|
167
|
+
* `columnSizing`.
|
|
163
168
|
*
|
|
164
169
|
* @example
|
|
165
170
|
* ```ts
|
|
166
|
-
* table_setColumnResizing(table, (old) => old)
|
|
171
|
+
* table_setColumnResizing(table, (old) => ({ ...old, deltaOffset: 12 }))
|
|
167
172
|
* ```
|
|
168
173
|
*/
|
|
169
174
|
function table_setColumnResizing(table, updater) {
|
|
@@ -171,9 +176,11 @@ function table_setColumnResizing(table, updater) {
|
|
|
171
176
|
(_table$options$onColu = (_table$options = table.options).onColumnResizingChange) === null || _table$options$onColu === void 0 || _table$options$onColu.call(_table$options, updater);
|
|
172
177
|
}
|
|
173
178
|
/**
|
|
174
|
-
* Resets
|
|
179
|
+
* Resets `columnResizing` to the configured initial state or feature default.
|
|
175
180
|
*
|
|
176
|
-
*
|
|
181
|
+
* With no argument, the reset clones `table.initialState.columnResizing` when
|
|
182
|
+
* it exists. Passing `true` ignores initial state and resets to the no-drag
|
|
183
|
+
* default state.
|
|
177
184
|
*
|
|
178
185
|
* @example
|
|
179
186
|
* ```ts
|
|
@@ -187,7 +194,8 @@ function table_resetHeaderSizeInfo(table, defaultState) {
|
|
|
187
194
|
/**
|
|
188
195
|
* Detects whether the current environment supports passive event listeners.
|
|
189
196
|
*
|
|
190
|
-
* Column resizing uses this to register pointer and touch listeners with
|
|
197
|
+
* Column resizing uses this to register pointer and touch listeners with
|
|
198
|
+
* `passive: false` only when the environment understands passive options.
|
|
191
199
|
*
|
|
192
200
|
* @example
|
|
193
201
|
* ```ts
|
|
@@ -213,9 +221,10 @@ function passiveEventSupported() {
|
|
|
213
221
|
return passiveSupported;
|
|
214
222
|
}
|
|
215
223
|
/**
|
|
216
|
-
*
|
|
224
|
+
* Narrows an unknown event to a `touchstart` event.
|
|
217
225
|
*
|
|
218
|
-
* Column resizing uses this
|
|
226
|
+
* Column resizing uses this before reading touch coordinates and installing
|
|
227
|
+
* touch-specific listeners.
|
|
219
228
|
*
|
|
220
229
|
* @example
|
|
221
230
|
* ```ts
|
|
@@ -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 { table_getColumn } from '../../core/columns/coreColumnsFeature.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 * Returns the default column resizing state.\n *\n * Feature constructors use this value to initialize the table state or option defaults when no user value is provided.\n *\n * @example\n * ```ts\n * const initialValue = 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 * Returns whether a column can use resize.\n *\n * This combines column options, table options, and any required accessor or feature state for the capability.\n *\n * @example\n * ```ts\n * const value = 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 * Returns is resizing for a column.\n *\n * This derives the value from the column definition, table options, and the feature state atoms registered on the table.\n *\n * @example\n * ```ts\n * const value = 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 * Returns resize handler for a header.\n *\n * This is the static implementation behind the matching header instance API and can account for nested header groups.\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 = table_getColumn(header.column.table, 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 * Updates the table's column resizing state slice.\n *\n * The updater follows TanStack Table updater semantics and is routed through the corresponding `on*Change` option or backing atom.\n *\n * @example\n * ```ts\n * table_setColumnResizing(table, (old) => old)\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 the table's header size info state slice.\n *\n * By default the reset uses `table.initialState`; when supported, a blank/default reset bypasses the saved initial value.\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\n/**\n * Detects whether the current environment supports passive event listeners.\n *\n * Column resizing uses this to register pointer and touch listeners with the safest available options.\n *\n * @example\n * ```ts\n * const canUsePassiveListeners = passiveEventSupported()\n * ```\n */\nexport function passiveEventSupported() {\n let passiveSupported: boolean | null = null\n\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 * Returns whether an event is a touch-start event.\n *\n * Column resizing uses this to normalize mouse and touch resize interactions.\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 { table_getColumn } from '../../core/columns/coreColumnsFeature.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 = table_getColumn(header.column.table, 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\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 let passiveSupported: boolean | null = null\n\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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"}
|
|
@@ -90,10 +90,34 @@ function constructColumnSizingFeature() {
|
|
|
90
90
|
require_utils.assignTableAPIs("columnSizingFeature", table, {
|
|
91
91
|
table_setColumnSizing: { fn: (updater) => require_columnSizingFeature_utils.table_setColumnSizing(table, updater) },
|
|
92
92
|
table_resetColumnSizing: { fn: (defaultState) => require_columnSizingFeature_utils.table_resetColumnSizing(table, defaultState) },
|
|
93
|
-
table_getTotalSize: {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
93
|
+
table_getTotalSize: {
|
|
94
|
+
fn: () => require_columnSizingFeature_utils.table_getTotalSize(table),
|
|
95
|
+
memoDeps: () => {
|
|
96
|
+
var _table$atoms$columnSi7;
|
|
97
|
+
return [(_table$atoms$columnSi7 = table.atoms.columnSizing) === null || _table$atoms$columnSi7 === void 0 ? void 0 : _table$atoms$columnSi7.get(), table.getHeaderGroups()];
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
table_getLeftTotalSize: {
|
|
101
|
+
fn: () => require_columnSizingFeature_utils.table_getLeftTotalSize(table),
|
|
102
|
+
memoDeps: () => {
|
|
103
|
+
var _table$atoms$columnSi8;
|
|
104
|
+
return [(_table$atoms$columnSi8 = table.atoms.columnSizing) === null || _table$atoms$columnSi8 === void 0 ? void 0 : _table$atoms$columnSi8.get(), table.getHeaderGroups()];
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
table_getCenterTotalSize: {
|
|
108
|
+
fn: () => require_columnSizingFeature_utils.table_getCenterTotalSize(table),
|
|
109
|
+
memoDeps: () => {
|
|
110
|
+
var _table$atoms$columnSi9;
|
|
111
|
+
return [(_table$atoms$columnSi9 = table.atoms.columnSizing) === null || _table$atoms$columnSi9 === void 0 ? void 0 : _table$atoms$columnSi9.get(), table.getHeaderGroups()];
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
table_getRightTotalSize: {
|
|
115
|
+
fn: () => require_columnSizingFeature_utils.table_getRightTotalSize(table),
|
|
116
|
+
memoDeps: () => {
|
|
117
|
+
var _table$atoms$columnSi10;
|
|
118
|
+
return [(_table$atoms$columnSi10 = table.atoms.columnSizing) === null || _table$atoms$columnSi10 === void 0 ? void 0 : _table$atoms$columnSi10.get(), table.getHeaderGroups()];
|
|
119
|
+
}
|
|
120
|
+
}
|
|
97
121
|
});
|
|
98
122
|
}
|
|
99
123
|
};
|
|
@@ -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","table_getLeftTotalSize","table_getCenterTotalSize","table_getRightTotalSize"],"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_getLeftTotalSize,\n table_getRightTotalSize,\n table_getTotalSize,\n table_resetColumnSizing,\n table_setColumnSizing,\n} from './columnSizingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// ColumnDef_ColumnSizing,\n// Column_ColumnSizing,\n// Header_ColumnSizing,\n// TableOptions_ColumnSizing,\n// TableState_ColumnSizing,\n// Table_ColumnSizing,\n// } from './columnSizingFeature.types'\n\nexport interface ColumnSizingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // ColumnDef: ColumnDef_ColumnSizing\n // Column: Column_ColumnSizing\n // Header: Header_ColumnSizing\n // Table: Table_ColumnSizing\n // TableOptions: TableOptions_ColumnSizing\n // TableState: TableState_ColumnSizing\n}\n\n/**\n * Creates the stock column sizing feature.\n *\n * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.\n */\nexport function constructColumnSizingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnSizingFeatureConstructors<TFeatures, TData>> {\n return {\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 column_getStart: {\n fn: (column, position) => column_getStart(column, position),\n memoDeps: (column, position) => [\n position,\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 ],\n },\n column_getAfter: {\n fn: (column, position) => column_getAfter(column, position),\n memoDeps: (column, position) => [\n position,\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 ],\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: (header, position) => [\n position,\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 ],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnSizingFeature', table, {\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 },\n table_getLeftTotalSize: {\n fn: () => table_getLeftTotalSize(table),\n },\n table_getCenterTotalSize: {\n fn: () => table_getCenterTotalSize(table),\n },\n table_getRightTotalSize: {\n fn: () => table_getRightTotalSize(table),\n },\n })\n },\n }\n}\n\n/**\n * The stock column sizing feature.\n *\n * Register this feature to add column width state and table, header, and column\n * APIs for reading and resetting sizes. Column drag resizing lives in\n * `columnResizingFeature`.\n */\nexport const columnSizingFeature = constructColumnSizingFeature()\n"],"mappings":";;;;;;;;;AAiDA,SAAgB,+BAGqD;CACnE,OAAO;EACL,kBAAkB,iBAAiB;GACjC,OAAO;IACL,cAAcA,+DAA6B;IAC3C,GAAG;IACJ;;EAGH,2BAA2B;GACzB,OAAOC,mEAAiC;;EAG1C,yBAAyB,UAAU;GACjC,OAAO,EACL,sBAAsBC,+BAAiB,gBAAgB,MAAM,EAC9D;;EAGH,wBAAwB,WAAW,UAAU;GAC3C,kCAAoB,uBAAuB,WAAW,OAAO;IAC3D,gBAAgB;KACd,KAAK,WAAWC,iDAAe,OAAO;KACtC,WAAW,WAAW;;cACpB,MAAM,QAAQ,kCACd,MAAM,MAAM,6GAAc,KAAK,gFAAG,OAAO,IAC1C;;KACF;IACD,iBAAiB;KACf,KAAK,QAAQ,aAAaC,kDAAgB,QAAQ,SAAS;KAC3D,WAAW,QAAQ,aAAa;;;OAC9B;OACA,MAAM,QAAQ;iCACd,MAAM,MAAM,8FAAc,KAAK;gCAC/B,MAAM,MAAM,2FAAa,KAAK;gCAC9B,MAAM,MAAM,6FAAe,KAAK;gCAChC,MAAM,MAAM,gGAAkB,KAAK;OACpC;;KACF;IACD,iBAAiB;KACf,KAAK,QAAQ,aAAaC,kDAAgB,QAAQ,SAAS;KAC3D,WAAW,QAAQ,aAAa;;;OAC9B;OACA,MAAM,QAAQ;iCACd,MAAM,MAAM,8FAAc,KAAK;iCAC/B,MAAM,MAAM,6FAAa,KAAK;iCAC9B,MAAM,MAAM,+FAAe,KAAK;iCAChC,MAAM,MAAM,kGAAkB,KAAK;OACpC;;KACF;IACD,kBAAkB,EAChB,KAAK,WAAWC,mDAAiB,OAAO,EACzC;IACF,CAAC;;EAGJ,wBAAwB,WAAW,UAAU;GAC3C,kCAAoB,uBAAuB,WAAW,OAAO;IAC3D,gBAAgB;KACd,KAAK,WAAWC,iDAAe,OAAO;KACtC,WAAW,WAAW;;cACpB,MAAM,QAAQ,SACd,OAAO,OAAO,QAAQ,SAAS,8BAC3B,MAAM,MAAM,8FAAc,KAAK,6BAC/B,MAAM,MAAM,gHAAc,KAAK,kFAAG,OAAO,OAAO,IACrD;;KACF;IACD,iBAAiB;KACf,KAAK,WAAWC,kDAAgB,OAAO;KACvC,WAAW,QAAQ,aAAa;;;OAC9B;OACA,MAAM,QAAQ;iCACd,MAAM,MAAM,8FAAc,KAAK;iCAC/B,MAAM,MAAM,6FAAa,KAAK;iCAC9B,MAAM,MAAM,+FAAe,KAAK;iCAChC,MAAM,MAAM,kGAAkB,KAAK;OACpC;;KACF;IACF,CAAC;;EAGJ,qBAAqB,UAAU;GAC7B,8BAAgB,uBAAuB,OAAO;IAC5C,uBAAuB,EACrB,KAAK,YAAYC,wDAAsB,OAAO,QAAQ,EACvD;IACD,yBAAyB,EACvB,KAAK,iBAAiBC,0DAAwB,OAAO,aAAa,EACnE;IACD,oBAAoB,
|
|
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","table_getLeftTotalSize","table_getCenterTotalSize","table_getRightTotalSize"],"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_getLeftTotalSize,\n table_getRightTotalSize,\n table_getTotalSize,\n table_resetColumnSizing,\n table_setColumnSizing,\n} from './columnSizingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// ColumnDef_ColumnSizing,\n// Column_ColumnSizing,\n// Header_ColumnSizing,\n// TableOptions_ColumnSizing,\n// TableState_ColumnSizing,\n// Table_ColumnSizing,\n// } from './columnSizingFeature.types'\n\nexport interface ColumnSizingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // ColumnDef: ColumnDef_ColumnSizing\n // Column: Column_ColumnSizing\n // Header: Header_ColumnSizing\n // Table: Table_ColumnSizing\n // TableOptions: TableOptions_ColumnSizing\n // TableState: TableState_ColumnSizing\n}\n\n/**\n * Creates the stock column sizing feature.\n *\n * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.\n */\nexport function constructColumnSizingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnSizingFeatureConstructors<TFeatures, TData>> {\n return {\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 column_getStart: {\n fn: (column, position) => column_getStart(column, position),\n memoDeps: (column, position) => [\n position,\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 ],\n },\n column_getAfter: {\n fn: (column, position) => column_getAfter(column, position),\n memoDeps: (column, position) => [\n position,\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 ],\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: (header, position) => [\n position,\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 ],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnSizingFeature', table, {\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_getLeftTotalSize: {\n fn: () => table_getLeftTotalSize(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_getRightTotalSize: {\n fn: () => table_getRightTotalSize(table),\n memoDeps: () => [\n table.atoms.columnSizing?.get(),\n table.getHeaderGroups(),\n ],\n },\n })\n },\n }\n}\n\n/**\n * The stock column sizing feature.\n *\n * Register this feature to add column width state and table, header, and column\n * APIs for reading and resetting sizes. Column drag resizing lives in\n * `columnResizingFeature`.\n */\nexport const columnSizingFeature = constructColumnSizingFeature()\n"],"mappings":";;;;;;;;;AAiDA,SAAgB,+BAGqD;CACnE,OAAO;EACL,kBAAkB,iBAAiB;GACjC,OAAO;IACL,cAAcA,+DAA6B;IAC3C,GAAG;IACJ;;EAGH,2BAA2B;GACzB,OAAOC,mEAAiC;;EAG1C,yBAAyB,UAAU;GACjC,OAAO,EACL,sBAAsBC,+BAAiB,gBAAgB,MAAM,EAC9D;;EAGH,wBAAwB,WAAW,UAAU;GAC3C,kCAAoB,uBAAuB,WAAW,OAAO;IAC3D,gBAAgB;KACd,KAAK,WAAWC,iDAAe,OAAO;KACtC,WAAW,WAAW;;cACpB,MAAM,QAAQ,kCACd,MAAM,MAAM,6GAAc,KAAK,gFAAG,OAAO,IAC1C;;KACF;IACD,iBAAiB;KACf,KAAK,QAAQ,aAAaC,kDAAgB,QAAQ,SAAS;KAC3D,WAAW,QAAQ,aAAa;;;OAC9B;OACA,MAAM,QAAQ;iCACd,MAAM,MAAM,8FAAc,KAAK;gCAC/B,MAAM,MAAM,2FAAa,KAAK;gCAC9B,MAAM,MAAM,6FAAe,KAAK;gCAChC,MAAM,MAAM,gGAAkB,KAAK;OACpC;;KACF;IACD,iBAAiB;KACf,KAAK,QAAQ,aAAaC,kDAAgB,QAAQ,SAAS;KAC3D,WAAW,QAAQ,aAAa;;;OAC9B;OACA,MAAM,QAAQ;iCACd,MAAM,MAAM,8FAAc,KAAK;iCAC/B,MAAM,MAAM,6FAAa,KAAK;iCAC9B,MAAM,MAAM,+FAAe,KAAK;iCAChC,MAAM,MAAM,kGAAkB,KAAK;OACpC;;KACF;IACD,kBAAkB,EAChB,KAAK,WAAWC,mDAAiB,OAAO,EACzC;IACF,CAAC;;EAGJ,wBAAwB,WAAW,UAAU;GAC3C,kCAAoB,uBAAuB,WAAW,OAAO;IAC3D,gBAAgB;KACd,KAAK,WAAWC,iDAAe,OAAO;KACtC,WAAW,WAAW;;cACpB,MAAM,QAAQ,SACd,OAAO,OAAO,QAAQ,SAAS,8BAC3B,MAAM,MAAM,8FAAc,KAAK,6BAC/B,MAAM,MAAM,gHAAc,KAAK,kFAAG,OAAO,OAAO,IACrD;;KACF;IACD,iBAAiB;KACf,KAAK,WAAWC,kDAAgB,OAAO;KACvC,WAAW,QAAQ,aAAa;;;OAC9B;OACA,MAAM,QAAQ;iCACd,MAAM,MAAM,8FAAc,KAAK;iCAC/B,MAAM,MAAM,6FAAa,KAAK;iCAC9B,MAAM,MAAM,+FAAe,KAAK;iCAChC,MAAM,MAAM,kGAAkB,KAAK;OACpC;;KACF;IACF,CAAC;;EAGJ,qBAAqB,UAAU;GAC7B,8BAAgB,uBAAuB,OAAO;IAC5C,uBAAuB,EACrB,KAAK,YAAYC,wDAAsB,OAAO,QAAQ,EACvD;IACD,yBAAyB,EACvB,KAAK,iBAAiBC,0DAAwB,OAAO,aAAa,EACnE;IACD,oBAAoB;KAClB,UAAUC,qDAAmB,MAAM;KACnC,gBAAgB;;wCACd,MAAM,MAAM,8FAAc,KAAK,EAC/B,MAAM,iBAAiB,CACxB;;KACF;IACD,wBAAwB;KACtB,UAAUC,yDAAuB,MAAM;KACvC,gBAAgB;;wCACd,MAAM,MAAM,8FAAc,KAAK,EAC/B,MAAM,iBAAiB,CACxB;;KACF;IACD,0BAA0B;KACxB,UAAUC,2DAAyB,MAAM;KACzC,gBAAgB;;wCACd,MAAM,MAAM,8FAAc,KAAK,EAC/B,MAAM,iBAAiB,CACxB;;KACF;IACD,yBAAyB;KACvB,UAAUC,0DAAwB,MAAM;KACxC,gBAAgB;;yCACd,MAAM,MAAM,gGAAc,KAAK,EAC/B,MAAM,iBAAiB,CACxB;;KACF;IACF,CAAC;;EAEL;;;;;;;;;AAUH,MAAa,sBAAsB,8BAA8B"}
|
|
@@ -90,10 +90,34 @@ function constructColumnSizingFeature() {
|
|
|
90
90
|
assignTableAPIs("columnSizingFeature", table, {
|
|
91
91
|
table_setColumnSizing: { fn: (updater) => table_setColumnSizing(table, updater) },
|
|
92
92
|
table_resetColumnSizing: { fn: (defaultState) => table_resetColumnSizing(table, defaultState) },
|
|
93
|
-
table_getTotalSize: {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
93
|
+
table_getTotalSize: {
|
|
94
|
+
fn: () => table_getTotalSize(table),
|
|
95
|
+
memoDeps: () => {
|
|
96
|
+
var _table$atoms$columnSi7;
|
|
97
|
+
return [(_table$atoms$columnSi7 = table.atoms.columnSizing) === null || _table$atoms$columnSi7 === void 0 ? void 0 : _table$atoms$columnSi7.get(), table.getHeaderGroups()];
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
table_getLeftTotalSize: {
|
|
101
|
+
fn: () => table_getLeftTotalSize(table),
|
|
102
|
+
memoDeps: () => {
|
|
103
|
+
var _table$atoms$columnSi8;
|
|
104
|
+
return [(_table$atoms$columnSi8 = table.atoms.columnSizing) === null || _table$atoms$columnSi8 === void 0 ? void 0 : _table$atoms$columnSi8.get(), table.getHeaderGroups()];
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
table_getCenterTotalSize: {
|
|
108
|
+
fn: () => table_getCenterTotalSize(table),
|
|
109
|
+
memoDeps: () => {
|
|
110
|
+
var _table$atoms$columnSi9;
|
|
111
|
+
return [(_table$atoms$columnSi9 = table.atoms.columnSizing) === null || _table$atoms$columnSi9 === void 0 ? void 0 : _table$atoms$columnSi9.get(), table.getHeaderGroups()];
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
table_getRightTotalSize: {
|
|
115
|
+
fn: () => table_getRightTotalSize(table),
|
|
116
|
+
memoDeps: () => {
|
|
117
|
+
var _table$atoms$columnSi10;
|
|
118
|
+
return [(_table$atoms$columnSi10 = table.atoms.columnSizing) === null || _table$atoms$columnSi10 === void 0 ? void 0 : _table$atoms$columnSi10.get(), table.getHeaderGroups()];
|
|
119
|
+
}
|
|
120
|
+
}
|
|
97
121
|
});
|
|
98
122
|
}
|
|
99
123
|
};
|
|
@@ -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 table_getLeftTotalSize,\n table_getRightTotalSize,\n table_getTotalSize,\n table_resetColumnSizing,\n table_setColumnSizing,\n} from './columnSizingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// ColumnDef_ColumnSizing,\n// Column_ColumnSizing,\n// Header_ColumnSizing,\n// TableOptions_ColumnSizing,\n// TableState_ColumnSizing,\n// Table_ColumnSizing,\n// } from './columnSizingFeature.types'\n\nexport interface ColumnSizingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // ColumnDef: ColumnDef_ColumnSizing\n // Column: Column_ColumnSizing\n // Header: Header_ColumnSizing\n // Table: Table_ColumnSizing\n // TableOptions: TableOptions_ColumnSizing\n // TableState: TableState_ColumnSizing\n}\n\n/**\n * Creates the stock column sizing feature.\n *\n * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.\n */\nexport function constructColumnSizingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnSizingFeatureConstructors<TFeatures, TData>> {\n return {\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 column_getStart: {\n fn: (column, position) => column_getStart(column, position),\n memoDeps: (column, position) => [\n position,\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 ],\n },\n column_getAfter: {\n fn: (column, position) => column_getAfter(column, position),\n memoDeps: (column, position) => [\n position,\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 ],\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: (header, position) => [\n position,\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 ],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnSizingFeature', table, {\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 },\n table_getLeftTotalSize: {\n fn: () => table_getLeftTotalSize(table),\n },\n table_getCenterTotalSize: {\n fn: () => table_getCenterTotalSize(table),\n },\n table_getRightTotalSize: {\n fn: () => table_getRightTotalSize(table),\n },\n })\n },\n }\n}\n\n/**\n * The stock column sizing feature.\n *\n * Register this feature to add column width state and table, header, and column\n * APIs for reading and resetting sizes. Column drag resizing lives in\n * `columnResizingFeature`.\n */\nexport const columnSizingFeature = constructColumnSizingFeature()\n"],"mappings":";;;;;;;;;AAiDA,SAAgB,+BAGqD;CACnE,OAAO;EACL,kBAAkB,iBAAiB;GACjC,OAAO;IACL,cAAc,6BAA6B;IAC3C,GAAG;IACJ;;EAGH,2BAA2B;GACzB,OAAO,iCAAiC;;EAG1C,yBAAyB,UAAU;GACjC,OAAO,EACL,sBAAsB,iBAAiB,gBAAgB,MAAM,EAC9D;;EAGH,wBAAwB,WAAW,UAAU;GAC3C,oBAAoB,uBAAuB,WAAW,OAAO;IAC3D,gBAAgB;KACd,KAAK,WAAW,eAAe,OAAO;KACtC,WAAW,WAAW;;cACpB,MAAM,QAAQ,kCACd,MAAM,MAAM,6GAAc,KAAK,gFAAG,OAAO,IAC1C;;KACF;IACD,iBAAiB;KACf,KAAK,QAAQ,aAAa,gBAAgB,QAAQ,SAAS;KAC3D,WAAW,QAAQ,aAAa;;;OAC9B;OACA,MAAM,QAAQ;iCACd,MAAM,MAAM,8FAAc,KAAK;gCAC/B,MAAM,MAAM,2FAAa,KAAK;gCAC9B,MAAM,MAAM,6FAAe,KAAK;gCAChC,MAAM,MAAM,gGAAkB,KAAK;OACpC;;KACF;IACD,iBAAiB;KACf,KAAK,QAAQ,aAAa,gBAAgB,QAAQ,SAAS;KAC3D,WAAW,QAAQ,aAAa;;;OAC9B;OACA,MAAM,QAAQ;iCACd,MAAM,MAAM,8FAAc,KAAK;iCAC/B,MAAM,MAAM,6FAAa,KAAK;iCAC9B,MAAM,MAAM,+FAAe,KAAK;iCAChC,MAAM,MAAM,kGAAkB,KAAK;OACpC;;KACF;IACD,kBAAkB,EAChB,KAAK,WAAW,iBAAiB,OAAO,EACzC;IACF,CAAC;;EAGJ,wBAAwB,WAAW,UAAU;GAC3C,oBAAoB,uBAAuB,WAAW,OAAO;IAC3D,gBAAgB;KACd,KAAK,WAAW,eAAe,OAAO;KACtC,WAAW,WAAW;;cACpB,MAAM,QAAQ,SACd,OAAO,OAAO,QAAQ,SAAS,8BAC3B,MAAM,MAAM,8FAAc,KAAK,6BAC/B,MAAM,MAAM,gHAAc,KAAK,kFAAG,OAAO,OAAO,IACrD;;KACF;IACD,iBAAiB;KACf,KAAK,WAAW,gBAAgB,OAAO;KACvC,WAAW,QAAQ,aAAa;;;OAC9B;OACA,MAAM,QAAQ;iCACd,MAAM,MAAM,8FAAc,KAAK;iCAC/B,MAAM,MAAM,6FAAa,KAAK;iCAC9B,MAAM,MAAM,+FAAe,KAAK;iCAChC,MAAM,MAAM,kGAAkB,KAAK;OACpC;;KACF;IACF,CAAC;;EAGJ,qBAAqB,UAAU;GAC7B,gBAAgB,uBAAuB,OAAO;IAC5C,uBAAuB,EACrB,KAAK,YAAY,sBAAsB,OAAO,QAAQ,EACvD;IACD,yBAAyB,EACvB,KAAK,iBAAiB,wBAAwB,OAAO,aAAa,EACnE;IACD,oBAAoB,
|
|
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_getLeftTotalSize,\n table_getRightTotalSize,\n table_getTotalSize,\n table_resetColumnSizing,\n table_setColumnSizing,\n} from './columnSizingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// ColumnDef_ColumnSizing,\n// Column_ColumnSizing,\n// Header_ColumnSizing,\n// TableOptions_ColumnSizing,\n// TableState_ColumnSizing,\n// Table_ColumnSizing,\n// } from './columnSizingFeature.types'\n\nexport interface ColumnSizingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // ColumnDef: ColumnDef_ColumnSizing\n // Column: Column_ColumnSizing\n // Header: Header_ColumnSizing\n // Table: Table_ColumnSizing\n // TableOptions: TableOptions_ColumnSizing\n // TableState: TableState_ColumnSizing\n}\n\n/**\n * Creates the stock column sizing feature.\n *\n * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.\n */\nexport function constructColumnSizingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnSizingFeatureConstructors<TFeatures, TData>> {\n return {\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 column_getStart: {\n fn: (column, position) => column_getStart(column, position),\n memoDeps: (column, position) => [\n position,\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 ],\n },\n column_getAfter: {\n fn: (column, position) => column_getAfter(column, position),\n memoDeps: (column, position) => [\n position,\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 ],\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: (header, position) => [\n position,\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 ],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnSizingFeature', table, {\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_getLeftTotalSize: {\n fn: () => table_getLeftTotalSize(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_getRightTotalSize: {\n fn: () => table_getRightTotalSize(table),\n memoDeps: () => [\n table.atoms.columnSizing?.get(),\n table.getHeaderGroups(),\n ],\n },\n })\n },\n }\n}\n\n/**\n * The stock column sizing feature.\n *\n * Register this feature to add column width state and table, header, and column\n * APIs for reading and resetting sizes. Column drag resizing lives in\n * `columnResizingFeature`.\n */\nexport const columnSizingFeature = constructColumnSizingFeature()\n"],"mappings":";;;;;;;;;AAiDA,SAAgB,+BAGqD;CACnE,OAAO;EACL,kBAAkB,iBAAiB;GACjC,OAAO;IACL,cAAc,6BAA6B;IAC3C,GAAG;IACJ;;EAGH,2BAA2B;GACzB,OAAO,iCAAiC;;EAG1C,yBAAyB,UAAU;GACjC,OAAO,EACL,sBAAsB,iBAAiB,gBAAgB,MAAM,EAC9D;;EAGH,wBAAwB,WAAW,UAAU;GAC3C,oBAAoB,uBAAuB,WAAW,OAAO;IAC3D,gBAAgB;KACd,KAAK,WAAW,eAAe,OAAO;KACtC,WAAW,WAAW;;cACpB,MAAM,QAAQ,kCACd,MAAM,MAAM,6GAAc,KAAK,gFAAG,OAAO,IAC1C;;KACF;IACD,iBAAiB;KACf,KAAK,QAAQ,aAAa,gBAAgB,QAAQ,SAAS;KAC3D,WAAW,QAAQ,aAAa;;;OAC9B;OACA,MAAM,QAAQ;iCACd,MAAM,MAAM,8FAAc,KAAK;gCAC/B,MAAM,MAAM,2FAAa,KAAK;gCAC9B,MAAM,MAAM,6FAAe,KAAK;gCAChC,MAAM,MAAM,gGAAkB,KAAK;OACpC;;KACF;IACD,iBAAiB;KACf,KAAK,QAAQ,aAAa,gBAAgB,QAAQ,SAAS;KAC3D,WAAW,QAAQ,aAAa;;;OAC9B;OACA,MAAM,QAAQ;iCACd,MAAM,MAAM,8FAAc,KAAK;iCAC/B,MAAM,MAAM,6FAAa,KAAK;iCAC9B,MAAM,MAAM,+FAAe,KAAK;iCAChC,MAAM,MAAM,kGAAkB,KAAK;OACpC;;KACF;IACD,kBAAkB,EAChB,KAAK,WAAW,iBAAiB,OAAO,EACzC;IACF,CAAC;;EAGJ,wBAAwB,WAAW,UAAU;GAC3C,oBAAoB,uBAAuB,WAAW,OAAO;IAC3D,gBAAgB;KACd,KAAK,WAAW,eAAe,OAAO;KACtC,WAAW,WAAW;;cACpB,MAAM,QAAQ,SACd,OAAO,OAAO,QAAQ,SAAS,8BAC3B,MAAM,MAAM,8FAAc,KAAK,6BAC/B,MAAM,MAAM,gHAAc,KAAK,kFAAG,OAAO,OAAO,IACrD;;KACF;IACD,iBAAiB;KACf,KAAK,WAAW,gBAAgB,OAAO;KACvC,WAAW,QAAQ,aAAa;;;OAC9B;OACA,MAAM,QAAQ;iCACd,MAAM,MAAM,8FAAc,KAAK;iCAC/B,MAAM,MAAM,6FAAa,KAAK;iCAC9B,MAAM,MAAM,+FAAe,KAAK;iCAChC,MAAM,MAAM,kGAAkB,KAAK;OACpC;;KACF;IACF,CAAC;;EAGJ,qBAAqB,UAAU;GAC7B,gBAAgB,uBAAuB,OAAO;IAC5C,uBAAuB,EACrB,KAAK,YAAY,sBAAsB,OAAO,QAAQ,EACvD;IACD,yBAAyB,EACvB,KAAK,iBAAiB,wBAAwB,OAAO,aAAa,EACnE;IACD,oBAAoB;KAClB,UAAU,mBAAmB,MAAM;KACnC,gBAAgB;;wCACd,MAAM,MAAM,8FAAc,KAAK,EAC/B,MAAM,iBAAiB,CACxB;;KACF;IACD,wBAAwB;KACtB,UAAU,uBAAuB,MAAM;KACvC,gBAAgB;;wCACd,MAAM,MAAM,8FAAc,KAAK,EAC/B,MAAM,iBAAiB,CACxB;;KACF;IACD,0BAA0B;KACxB,UAAU,yBAAyB,MAAM;KACzC,gBAAgB;;wCACd,MAAM,MAAM,8FAAc,KAAK,EAC/B,MAAM,iBAAiB,CACxB;;KACF;IACD,yBAAyB;KACvB,UAAU,wBAAwB,MAAM;KACxC,gBAAgB;;yCACd,MAAM,MAAM,gGAAc,KAAK,EAC/B,MAAM,iBAAiB,CACxB;;KACF;IACF,CAAC;;EAEL;;;;;;;;;AAUH,MAAa,sBAAsB,8BAA8B"}
|
|
@@ -17,19 +17,19 @@ interface TableOptions_ColumnSizing {
|
|
|
17
17
|
type ColumnSizingDefaultOptions = Pick<TableOptions_ColumnSizing, 'onColumnSizingChange'>;
|
|
18
18
|
interface Table_ColumnSizing {
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Sums the current sizes of visible center-region leaf columns.
|
|
21
21
|
*/
|
|
22
22
|
getCenterTotalSize: () => number;
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Sums the current sizes of visible left-pinned leaf columns.
|
|
25
25
|
*/
|
|
26
26
|
getLeftTotalSize: () => number;
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* Sums the current sizes of visible right-pinned leaf columns.
|
|
29
29
|
*/
|
|
30
30
|
getRightTotalSize: () => number;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Sums the current sizes of all visible leaf columns.
|
|
33
33
|
*/
|
|
34
34
|
getTotalSize: () => number;
|
|
35
35
|
/**
|
|
@@ -38,35 +38,42 @@ interface Table_ColumnSizing {
|
|
|
38
38
|
*/
|
|
39
39
|
resetColumnSizing: (defaultState?: boolean) => void;
|
|
40
40
|
/**
|
|
41
|
-
*
|
|
41
|
+
* Updates committed column sizing state with a next map or updater function.
|
|
42
42
|
*/
|
|
43
43
|
setColumnSizing: (updater: Updater<ColumnSizingState>) => void;
|
|
44
44
|
}
|
|
45
45
|
interface ColumnDef_ColumnSizing {
|
|
46
46
|
/**
|
|
47
|
-
*
|
|
47
|
+
* Upper bound used when resolving this column's size.
|
|
48
48
|
*/
|
|
49
49
|
maxSize?: number;
|
|
50
50
|
/**
|
|
51
|
-
*
|
|
51
|
+
* Lower bound used when resolving this column's size.
|
|
52
52
|
*/
|
|
53
53
|
minSize?: number;
|
|
54
54
|
/**
|
|
55
|
-
*
|
|
55
|
+
* Initial size used before column sizing state overrides it.
|
|
56
56
|
*/
|
|
57
57
|
size?: number;
|
|
58
58
|
}
|
|
59
59
|
interface Column_ColumnSizing {
|
|
60
60
|
/**
|
|
61
|
-
*
|
|
61
|
+
* Measures the offset from this column's end edge to the end of its region.
|
|
62
|
+
*
|
|
63
|
+
* Pass a pinned region to measure within that region. The value is the sum
|
|
64
|
+
* of visible leaf column sizes after this column.
|
|
62
65
|
*/
|
|
63
66
|
getAfter: (position?: ColumnPinningPosition | 'center') => number;
|
|
64
67
|
/**
|
|
65
|
-
*
|
|
68
|
+
* Resolves the column's current size after state and min/max constraints.
|
|
66
69
|
*/
|
|
67
70
|
getSize: () => number;
|
|
68
71
|
/**
|
|
69
|
-
*
|
|
72
|
+
* Measures the offset from the start of this column's region to its start
|
|
73
|
+
* edge.
|
|
74
|
+
*
|
|
75
|
+
* Pass a pinned region to measure within that region. The value is the sum
|
|
76
|
+
* of visible leaf column sizes before this column.
|
|
70
77
|
*/
|
|
71
78
|
getStart: (position?: ColumnPinningPosition | 'center') => number;
|
|
72
79
|
/**
|
|
@@ -76,7 +83,7 @@ interface Column_ColumnSizing {
|
|
|
76
83
|
}
|
|
77
84
|
interface Header_ColumnSizing {
|
|
78
85
|
/**
|
|
79
|
-
*
|
|
86
|
+
* Computes this header's rendered size from its leaf columns.
|
|
80
87
|
*/
|
|
81
88
|
getSize: () => number;
|
|
82
89
|
/**
|
|
@@ -17,19 +17,19 @@ interface TableOptions_ColumnSizing {
|
|
|
17
17
|
type ColumnSizingDefaultOptions = Pick<TableOptions_ColumnSizing, 'onColumnSizingChange'>;
|
|
18
18
|
interface Table_ColumnSizing {
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Sums the current sizes of visible center-region leaf columns.
|
|
21
21
|
*/
|
|
22
22
|
getCenterTotalSize: () => number;
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Sums the current sizes of visible left-pinned leaf columns.
|
|
25
25
|
*/
|
|
26
26
|
getLeftTotalSize: () => number;
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* Sums the current sizes of visible right-pinned leaf columns.
|
|
29
29
|
*/
|
|
30
30
|
getRightTotalSize: () => number;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Sums the current sizes of all visible leaf columns.
|
|
33
33
|
*/
|
|
34
34
|
getTotalSize: () => number;
|
|
35
35
|
/**
|
|
@@ -38,35 +38,42 @@ interface Table_ColumnSizing {
|
|
|
38
38
|
*/
|
|
39
39
|
resetColumnSizing: (defaultState?: boolean) => void;
|
|
40
40
|
/**
|
|
41
|
-
*
|
|
41
|
+
* Updates committed column sizing state with a next map or updater function.
|
|
42
42
|
*/
|
|
43
43
|
setColumnSizing: (updater: Updater<ColumnSizingState>) => void;
|
|
44
44
|
}
|
|
45
45
|
interface ColumnDef_ColumnSizing {
|
|
46
46
|
/**
|
|
47
|
-
*
|
|
47
|
+
* Upper bound used when resolving this column's size.
|
|
48
48
|
*/
|
|
49
49
|
maxSize?: number;
|
|
50
50
|
/**
|
|
51
|
-
*
|
|
51
|
+
* Lower bound used when resolving this column's size.
|
|
52
52
|
*/
|
|
53
53
|
minSize?: number;
|
|
54
54
|
/**
|
|
55
|
-
*
|
|
55
|
+
* Initial size used before column sizing state overrides it.
|
|
56
56
|
*/
|
|
57
57
|
size?: number;
|
|
58
58
|
}
|
|
59
59
|
interface Column_ColumnSizing {
|
|
60
60
|
/**
|
|
61
|
-
*
|
|
61
|
+
* Measures the offset from this column's end edge to the end of its region.
|
|
62
|
+
*
|
|
63
|
+
* Pass a pinned region to measure within that region. The value is the sum
|
|
64
|
+
* of visible leaf column sizes after this column.
|
|
62
65
|
*/
|
|
63
66
|
getAfter: (position?: ColumnPinningPosition | 'center') => number;
|
|
64
67
|
/**
|
|
65
|
-
*
|
|
68
|
+
* Resolves the column's current size after state and min/max constraints.
|
|
66
69
|
*/
|
|
67
70
|
getSize: () => number;
|
|
68
71
|
/**
|
|
69
|
-
*
|
|
72
|
+
* Measures the offset from the start of this column's region to its start
|
|
73
|
+
* edge.
|
|
74
|
+
*
|
|
75
|
+
* Pass a pinned region to measure within that region. The value is the sum
|
|
76
|
+
* of visible leaf column sizes before this column.
|
|
70
77
|
*/
|
|
71
78
|
getStart: (position?: ColumnPinningPosition | 'center') => number;
|
|
72
79
|
/**
|
|
@@ -76,7 +83,7 @@ interface Column_ColumnSizing {
|
|
|
76
83
|
}
|
|
77
84
|
interface Header_ColumnSizing {
|
|
78
85
|
/**
|
|
79
|
-
*
|
|
86
|
+
* Computes this header's rendered size from its leaf columns.
|
|
80
87
|
*/
|
|
81
88
|
getSize: () => number;
|
|
82
89
|
/**
|