@tanstack/table-core 9.0.0-beta.7 → 9.0.0-beta.71
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 +5 -1
- package/dist/core/cells/constructCell.d.ts +4 -6
- package/dist/core/cells/constructCell.js +4 -6
- package/dist/core/cells/coreCellsFeature.d.ts +1 -3
- package/dist/core/cells/coreCellsFeature.js +1 -2
- package/dist/core/cells/coreCellsFeature.types.d.ts +7 -9
- package/dist/core/cells/coreCellsFeature.utils.d.ts +5 -5
- package/dist/core/cells/coreCellsFeature.utils.js +1 -2
- package/dist/core/columns/constructColumn.d.ts +4 -6
- package/dist/core/columns/constructColumn.js +8 -9
- package/dist/core/columns/coreColumnsFeature.d.ts +1 -3
- package/dist/core/columns/coreColumnsFeature.js +13 -20
- package/dist/core/columns/coreColumnsFeature.types.d.ts +13 -15
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +10 -12
- package/dist/core/columns/coreColumnsFeature.utils.js +19 -20
- package/dist/core/coreFeatures.d.ts +3 -3
- package/dist/core/coreFeatures.js +1 -2
- package/dist/core/headers/buildHeaderGroups.d.ts +3 -5
- package/dist/core/headers/buildHeaderGroups.js +99 -85
- package/dist/core/headers/constructHeader.d.ts +3 -5
- package/dist/core/headers/constructHeader.js +4 -6
- package/dist/core/headers/coreHeadersFeature.d.ts +1 -3
- package/dist/core/headers/coreHeadersFeature.js +9 -13
- package/dist/core/headers/coreHeadersFeature.types.d.ts +21 -11
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +8 -8
- package/dist/core/headers/coreHeadersFeature.utils.js +14 -17
- package/dist/core/reactivity/coreReactivityFeature.types.d.ts +8 -3
- package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +1 -3
- package/dist/core/reactivity/coreReactivityFeature.utils.js +1 -2
- package/dist/core/reactivity/renderPhaseReactivity.d.ts +80 -0
- package/dist/core/reactivity/renderPhaseReactivity.js +95 -0
- package/dist/core/row-models/coreRowModelsFeature.d.ts +1 -3
- package/dist/core/row-models/coreRowModelsFeature.js +1 -2
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -17
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +17 -19
- package/dist/core/row-models/coreRowModelsFeature.utils.js +9 -28
- package/dist/core/row-models/createCoreRowModel.d.ts +3 -5
- package/dist/core/row-models/createCoreRowModel.js +27 -24
- package/dist/core/rows/constructRow.d.ts +3 -5
- package/dist/core/rows/constructRow.js +9 -13
- package/dist/core/rows/coreRowsFeature.d.ts +1 -3
- package/dist/core/rows/coreRowsFeature.js +20 -5
- package/dist/core/rows/coreRowsFeature.types.d.ts +42 -10
- package/dist/core/rows/coreRowsFeature.utils.d.ts +26 -9
- package/dist/core/rows/coreRowsFeature.utils.js +65 -14
- package/dist/core/table/constructTable.d.ts +2 -4
- package/dist/core/table/constructTable.js +52 -23
- package/dist/core/table/coreTablesFeature.d.ts +1 -3
- package/dist/core/table/coreTablesFeature.js +1 -2
- package/dist/core/table/coreTablesFeature.types.d.ts +56 -25
- package/dist/core/table/coreTablesFeature.utils.d.ts +34 -12
- package/dist/core/table/coreTablesFeature.utils.js +69 -24
- package/dist/experimental-worker-plugin.d.ts +5 -0
- package/dist/experimental-worker-plugin.js +6 -0
- package/dist/features/cell-selection/cellSelectionFeature.d.ts +8 -0
- package/dist/features/cell-selection/cellSelectionFeature.js +128 -0
- package/dist/features/cell-selection/cellSelectionFeature.types.d.ts +296 -0
- package/dist/features/cell-selection/cellSelectionFeature.utils.d.ts +306 -0
- package/dist/features/cell-selection/cellSelectionFeature.utils.js +873 -0
- package/dist/features/cell-selection/cellSelectionGeometry.js +121 -0
- package/dist/features/cell-spanning/cellSpanningFeature.d.ts +13 -0
- package/dist/features/cell-spanning/cellSpanningFeature.js +47 -0
- package/dist/features/cell-spanning/cellSpanningFeature.types.d.ts +150 -0
- package/dist/features/cell-spanning/cellSpanningFeature.utils.d.ts +74 -0
- package/dist/features/cell-spanning/cellSpanningFeature.utils.js +262 -0
- package/dist/features/column-faceting/columnFacetingFeature.d.ts +1 -3
- package/dist/features/column-faceting/columnFacetingFeature.js +13 -20
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -35
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +10 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +25 -14
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +2 -4
- package/dist/features/column-faceting/createFacetedMinMaxValues.js +9 -7
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +3 -5
- package/dist/features/column-faceting/createFacetedRowModel.js +12 -17
- package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +2 -4
- package/dist/features/column-faceting/createFacetedUniqueValues.js +12 -9
- package/dist/features/column-filtering/columnFilteringFeature.d.ts +1 -3
- package/dist/features/column-filtering/columnFilteringFeature.js +4 -5
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +85 -33
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +19 -17
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +33 -21
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -7
- package/dist/features/column-filtering/createFilteredRowModel.js +33 -29
- package/dist/features/column-filtering/filterFns.d.ts +208 -0
- package/dist/features/column-filtering/filterFns.js +374 -0
- package/dist/features/column-filtering/filterRowsUtils.js +4 -4
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +2 -4
- package/dist/features/column-grouping/columnGroupingFeature.js +7 -20
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -52
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -51
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -61
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +7 -7
- package/dist/features/column-grouping/createGroupedRowModel.js +69 -38
- package/dist/features/column-ordering/columnOrderingFeature.d.ts +1 -3
- package/dist/features/column-ordering/columnOrderingFeature.js +19 -24
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -5
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -16
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -18
- package/dist/features/column-pinning/columnPinningFeature.d.ts +7 -4
- package/dist/features/column-pinning/columnPinningFeature.js +126 -146
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +53 -44
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +100 -93
- package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -150
- package/dist/features/column-resizing/columnResizingFeature.d.ts +1 -3
- package/dist/features/column-resizing/columnResizingFeature.js +1 -2
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +2 -7
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +7 -9
- package/dist/features/column-resizing/columnResizingFeature.utils.js +86 -48
- package/dist/features/column-sizing/columnSizingFeature.d.ts +1 -3
- package/dist/features/column-sizing/columnSizingFeature.js +35 -70
- package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -11
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -27
- package/dist/features/column-sizing/columnSizingFeature.utils.js +95 -54
- package/dist/features/column-visibility/columnVisibilityFeature.d.ts +1 -3
- package/dist/features/column-visibility/columnVisibilityFeature.js +26 -38
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +4 -6
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +20 -20
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +32 -32
- package/dist/features/global-filtering/globalFilteringFeature.d.ts +1 -3
- package/dist/features/global-filtering/globalFilteringFeature.js +3 -4
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +4 -6
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -13
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +7 -8
- package/dist/features/row-aggregation/aggregationFns.d.ts +66 -0
- package/dist/features/row-aggregation/aggregationFns.js +279 -0
- package/dist/features/row-aggregation/rowAggregationFeature.d.ts +8 -0
- package/dist/features/row-aggregation/rowAggregationFeature.js +35 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +193 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.js +11 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +46 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.js +235 -0
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +3 -5
- package/dist/features/row-expanding/createExpandedRowModel.js +9 -13
- package/dist/features/row-expanding/rowExpandingFeature.d.ts +1 -3
- package/dist/features/row-expanding/rowExpandingFeature.js +1 -2
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +6 -17
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +11 -16
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +30 -33
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +3 -5
- package/dist/features/row-pagination/createPaginatedRowModel.js +7 -12
- package/dist/features/row-pagination/rowPaginationFeature.d.ts +1 -3
- package/dist/features/row-pagination/rowPaginationFeature.js +1 -2
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +5 -16
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +18 -20
- package/dist/features/row-pagination/rowPaginationFeature.utils.js +10 -17
- package/dist/features/row-pinning/rowPinningFeature.d.ts +1 -3
- package/dist/features/row-pinning/rowPinningFeature.js +5 -18
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +3 -5
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +8 -10
- package/dist/features/row-pinning/rowPinningFeature.utils.js +10 -16
- package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -3
- package/dist/features/row-selection/rowSelectionFeature.js +68 -25
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +51 -15
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +60 -35
- package/dist/features/row-selection/rowSelectionFeature.utils.js +142 -89
- package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -7
- package/dist/features/row-sorting/createSortedRowModel.js +71 -53
- package/dist/features/row-sorting/rowSortingFeature.d.ts +1 -3
- package/dist/features/row-sorting/rowSortingFeature.js +2 -2
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +61 -24
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +31 -22
- package/dist/features/row-sorting/rowSortingFeature.utils.js +51 -25
- package/dist/features/row-sorting/sortFns.d.ts +96 -0
- package/dist/features/row-sorting/sortFns.js +216 -0
- package/dist/features/stockFeatures.d.ts +7 -3
- package/dist/features/stockFeatures.js +7 -2
- package/dist/flex-render.d.ts +2 -4
- package/dist/flex-render.js +10 -3
- package/dist/helpers/columnHelper.d.ts +3 -5
- package/dist/helpers/columnHelper.js +1 -2
- package/dist/helpers/metaHelper.d.ts +25 -0
- package/dist/helpers/metaHelper.js +28 -0
- package/dist/helpers/tableFeatures.d.ts +35 -8
- package/dist/helpers/tableFeatures.js +33 -5
- package/dist/helpers/tableOptions.d.ts +1 -3
- package/dist/helpers/tableOptions.js +1 -2
- package/dist/index.d.ts +34 -27
- package/dist/index.js +10 -5
- package/dist/reactivity.d.ts +2 -1
- package/dist/reactivity.js +2 -1
- package/dist/static-functions.d.ts +12 -9
- package/dist/static-functions.js +12 -9
- package/dist/store-reactivity-bindings.d.ts +2 -4
- package/dist/store-reactivity-bindings.js +4 -5
- package/dist/types/Cell.d.ts +9 -5
- package/dist/types/Column.d.ts +13 -15
- package/dist/types/ColumnDef.d.ts +39 -21
- package/dist/types/Header.d.ts +3 -5
- package/dist/types/HeaderGroup.d.ts +3 -5
- package/dist/types/Row.d.ts +7 -7
- package/dist/types/RowModel.d.ts +11 -25
- package/dist/types/RowModelFns.d.ts +5 -7
- package/dist/types/Table.d.ts +29 -32
- package/dist/types/TableFeatures.d.ts +388 -24
- package/dist/types/TableOptions.d.ts +24 -14
- package/dist/types/TableState.d.ts +8 -8
- package/dist/types/type-utils.d.ts +10 -4
- package/dist/utils.d.ts +32 -26
- package/dist/utils.js +52 -32
- package/dist/worker/createTableWorker.d.ts +100 -0
- package/dist/worker/createTableWorker.js +185 -0
- package/dist/worker/createWorkerRowModel.d.ts +40 -0
- package/dist/worker/createWorkerRowModel.js +77 -0
- package/dist/worker/initTableWorker.d.ts +31 -0
- package/dist/worker/initTableWorker.js +99 -0
- package/dist/worker/rebuildRowModel.d.ts +11 -0
- package/dist/worker/rebuildRowModel.js +71 -0
- package/dist/worker/serializeRowModel.js +51 -0
- package/dist/worker/tableWorkerProtocol.d.ts +88 -0
- package/dist/worker/tableWorkerProtocol.js +26 -0
- package/package.json +12 -28
- package/skills/aggregation/SKILL.md +141 -0
- package/skills/api-not-found/SKILL.md +113 -0
- package/skills/cell-selection/SKILL.md +204 -0
- package/skills/cell-spanning/SKILL.md +162 -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 +275 -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/dist/core/cells/constructCell.cjs +0 -34
- package/dist/core/cells/constructCell.cjs.map +0 -1
- package/dist/core/cells/constructCell.d.cts +0 -17
- package/dist/core/cells/constructCell.js.map +0 -1
- package/dist/core/cells/coreCellsFeature.cjs +0 -21
- package/dist/core/cells/coreCellsFeature.cjs.map +0 -1
- package/dist/core/cells/coreCellsFeature.d.cts +0 -10
- package/dist/core/cells/coreCellsFeature.js.map +0 -1
- package/dist/core/cells/coreCellsFeature.types.d.cts +0 -57
- package/dist/core/cells/coreCellsFeature.utils.cjs +0 -57
- package/dist/core/cells/coreCellsFeature.utils.cjs.map +0 -1
- package/dist/core/cells/coreCellsFeature.utils.d.cts +0 -53
- package/dist/core/cells/coreCellsFeature.utils.js.map +0 -1
- package/dist/core/columns/constructColumn.cjs +0 -61
- package/dist/core/columns/constructColumn.cjs.map +0 -1
- package/dist/core/columns/constructColumn.d.cts +0 -16
- package/dist/core/columns/constructColumn.js.map +0 -1
- package/dist/core/columns/coreColumnsFeature.cjs +0 -70
- package/dist/core/columns/coreColumnsFeature.cjs.map +0 -1
- package/dist/core/columns/coreColumnsFeature.d.cts +0 -10
- package/dist/core/columns/coreColumnsFeature.js.map +0 -1
- package/dist/core/columns/coreColumnsFeature.types.d.cts +0 -94
- package/dist/core/columns/coreColumnsFeature.utils.cjs +0 -187
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +0 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +0 -119
- package/dist/core/columns/coreColumnsFeature.utils.js.map +0 -1
- package/dist/core/coreFeatures.cjs +0 -25
- package/dist/core/coreFeatures.cjs.map +0 -1
- package/dist/core/coreFeatures.d.cts +0 -26
- package/dist/core/coreFeatures.js.map +0 -1
- package/dist/core/headers/buildHeaderGroups.cjs +0 -103
- package/dist/core/headers/buildHeaderGroups.cjs.map +0 -1
- package/dist/core/headers/buildHeaderGroups.d.cts +0 -16
- package/dist/core/headers/buildHeaderGroups.js.map +0 -1
- package/dist/core/headers/constructHeader.cjs +0 -41
- package/dist/core/headers/constructHeader.cjs.map +0 -1
- package/dist/core/headers/constructHeader.d.cts +0 -22
- package/dist/core/headers/constructHeader.js.map +0 -1
- package/dist/core/headers/coreHeadersFeature.cjs +0 -55
- package/dist/core/headers/coreHeadersFeature.cjs.map +0 -1
- package/dist/core/headers/coreHeadersFeature.d.cts +0 -10
- package/dist/core/headers/coreHeadersFeature.js.map +0 -1
- package/dist/core/headers/coreHeadersFeature.types.d.cts +0 -106
- package/dist/core/headers/coreHeadersFeature.utils.cjs +0 -142
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +0 -1
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +0 -85
- package/dist/core/headers/coreHeadersFeature.utils.js.map +0 -1
- package/dist/core/reactivity/coreReactivityFeature.types.d.cts +0 -48
- package/dist/core/reactivity/coreReactivityFeature.utils.cjs +0 -24
- package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +0 -1
- package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +0 -24
- package/dist/core/reactivity/coreReactivityFeature.utils.js.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.cjs +0 -27
- package/dist/core/row-models/coreRowModelsFeature.cjs.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.d.cts +0 -10
- package/dist/core/row-models/coreRowModelsFeature.js.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +0 -41
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +0 -215
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +0 -153
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +0 -1
- package/dist/core/row-models/createCoreRowModel.cjs +0 -52
- package/dist/core/row-models/createCoreRowModel.cjs.map +0 -1
- package/dist/core/row-models/createCoreRowModel.d.cts +0 -15
- package/dist/core/row-models/createCoreRowModel.js.map +0 -1
- package/dist/core/rows/constructRow.cjs +0 -44
- package/dist/core/rows/constructRow.cjs.map +0 -1
- package/dist/core/rows/constructRow.d.cts +0 -15
- package/dist/core/rows/constructRow.js.map +0 -1
- package/dist/core/rows/coreRowsFeature.cjs +0 -37
- package/dist/core/rows/coreRowsFeature.cjs.map +0 -1
- package/dist/core/rows/coreRowsFeature.d.cts +0 -10
- package/dist/core/rows/coreRowsFeature.js.map +0 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +0 -99
- package/dist/core/rows/coreRowsFeature.utils.cjs +0 -192
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +0 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +0 -127
- package/dist/core/rows/coreRowsFeature.utils.js.map +0 -1
- package/dist/core/table/constructTable.cjs +0 -118
- package/dist/core/table/constructTable.cjs.map +0 -1
- package/dist/core/table/constructTable.d.cts +0 -22
- package/dist/core/table/constructTable.js.map +0 -1
- package/dist/core/table/coreTablesFeature.cjs +0 -17
- package/dist/core/table/coreTablesFeature.cjs.map +0 -1
- package/dist/core/table/coreTablesFeature.d.cts +0 -10
- package/dist/core/table/coreTablesFeature.js.map +0 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +0 -186
- package/dist/core/table/coreTablesFeature.utils.cjs +0 -96
- package/dist/core/table/coreTablesFeature.utils.cjs.map +0 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +0 -57
- package/dist/core/table/coreTablesFeature.utils.js.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.cjs +0 -61
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.d.cts +0 -10
- package/dist/features/column-faceting/columnFacetingFeature.js.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +0 -85
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +0 -103
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +0 -84
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +0 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +0 -44
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +0 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +0 -14
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +0 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs +0 -50
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +0 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +0 -15
- package/dist/features/column-faceting/createFacetedRowModel.js.map +0 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs +0 -41
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +0 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +0 -14
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.cjs +0 -50
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.d.cts +0 -10
- package/dist/features/column-filtering/columnFilteringFeature.js.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +0 -160
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +0 -212
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +0 -143
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +0 -110
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +0 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +0 -16
- package/dist/features/column-filtering/createFilteredRowModel.js.map +0 -1
- package/dist/features/column-filtering/filterRowsUtils.cjs +0 -81
- package/dist/features/column-filtering/filterRowsUtils.cjs.map +0 -1
- package/dist/features/column-filtering/filterRowsUtils.js.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.cjs +0 -67
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +0 -10
- package/dist/features/column-grouping/columnGroupingFeature.js.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +0 -165
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +0 -250
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +0 -190
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +0 -119
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +0 -1
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +0 -16
- package/dist/features/column-grouping/createGroupedRowModel.js.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +0 -58
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.d.cts +0 -10
- package/dist/features/column-ordering/columnOrderingFeature.js.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +0 -56
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +0 -172
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +0 -107
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.cjs +0 -221
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +0 -10
- package/dist/features/column-pinning/columnPinningFeature.js.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +0 -178
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +0 -585
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +0 -375
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.cjs +0 -41
- package/dist/features/column-resizing/columnResizingFeature.cjs.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.d.cts +0 -10
- package/dist/features/column-resizing/columnResizingFeature.js.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.types.d.cts +0 -81
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +0 -246
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +0 -109
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +0 -124
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.d.cts +0 -10
- package/dist/features/column-sizing/columnSizingFeature.js.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.types.d.cts +0 -96
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +0 -256
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +0 -182
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +0 -94
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.d.cts +0 -10
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +0 -97
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +0 -283
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +0 -189
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +0 -41
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.d.cts +0 -10
- package/dist/features/global-filtering/globalFilteringFeature.js.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +0 -71
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +0 -88
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +0 -74
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
- package/dist/features/row-expanding/createExpandedRowModel.cjs +0 -59
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +0 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +0 -21
- package/dist/features/row-expanding/createExpandedRowModel.js.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.cjs +0 -47
- package/dist/features/row-expanding/rowExpandingFeature.cjs.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.d.cts +0 -10
- package/dist/features/row-expanding/rowExpandingFeature.js.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +0 -127
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +0 -281
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +0 -191
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +0 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +0 -62
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +0 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +0 -15
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.cjs +0 -45
- package/dist/features/row-pagination/rowPaginationFeature.cjs.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.d.cts +0 -10
- package/dist/features/row-pagination/rowPaginationFeature.js.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +0 -135
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +0 -312
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +0 -218
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.cjs +0 -67
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.d.cts +0 -10
- package/dist/features/row-pinning/rowPinningFeature.js.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +0 -83
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +0 -229
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +0 -143
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +0 -75
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.d.cts +0 -10
- package/dist/features/row-selection/rowSelectionFeature.js.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +0 -136
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +0 -514
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +0 -318
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +0 -95
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +0 -1
- package/dist/features/row-sorting/createSortedRowModel.d.cts +0 -16
- package/dist/features/row-sorting/createSortedRowModel.js.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.cjs +0 -55
- package/dist/features/row-sorting/rowSortingFeature.cjs.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.d.cts +0 -10
- package/dist/features/row-sorting/rowSortingFeature.js.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +0 -188
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +0 -305
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +0 -193
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +0 -1
- package/dist/features/stockFeatures.cjs +0 -41
- package/dist/features/stockFeatures.cjs.map +0 -1
- package/dist/features/stockFeatures.d.cts +0 -41
- package/dist/features/stockFeatures.js.map +0 -1
- package/dist/flex-render.cjs +0 -29
- package/dist/flex-render.cjs.map +0 -1
- package/dist/flex-render.d.cts +0 -34
- package/dist/flex-render.js.map +0 -1
- 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 -130
- 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 -122
- package/dist/fns/sortFns.js.map +0 -1
- package/dist/helpers/columnHelper.cjs +0 -41
- package/dist/helpers/columnHelper.cjs.map +0 -1
- package/dist/helpers/columnHelper.d.cts +0 -71
- package/dist/helpers/columnHelper.js.map +0 -1
- package/dist/helpers/tableFeatures.cjs +0 -20
- package/dist/helpers/tableFeatures.cjs.map +0 -1
- package/dist/helpers/tableFeatures.d.cts +0 -18
- package/dist/helpers/tableFeatures.js.map +0 -1
- package/dist/helpers/tableOptions.cjs +0 -15
- package/dist/helpers/tableOptions.cjs.map +0 -1
- package/dist/helpers/tableOptions.d.cts +0 -57
- package/dist/helpers/tableOptions.js.map +0 -1
- package/dist/index.cjs +0 -133
- package/dist/index.d.cts +0 -78
- package/dist/reactivity.cjs +0 -4
- package/dist/reactivity.d.cts +0 -3
- package/dist/static-functions.cjs +0 -263
- package/dist/static-functions.d.cts +0 -21
- package/dist/store-reactivity-bindings.cjs +0 -44
- package/dist/store-reactivity-bindings.cjs.map +0 -1
- package/dist/store-reactivity-bindings.d.cts +0 -22
- package/dist/store-reactivity-bindings.js.map +0 -1
- package/dist/types/Cell.d.cts +0 -14
- package/dist/types/Column.d.cts +0 -36
- package/dist/types/ColumnDef.d.cts +0 -109
- package/dist/types/Header.d.cts +0 -16
- package/dist/types/HeaderGroup.d.cts +0 -10
- package/dist/types/Row.d.cts +0 -26
- package/dist/types/RowModel.d.cts +0 -36
- package/dist/types/RowModelFns.d.cts +0 -18
- package/dist/types/Table.d.cts +0 -70
- package/dist/types/TableFeatures.d.cts +0 -53
- package/dist/types/TableOptions.d.cts +0 -69
- package/dist/types/TableState.d.cts +0 -48
- package/dist/types/type-utils.d.cts +0 -23
- package/dist/utils.cjs +0 -243
- package/dist/utils.cjs.map +0 -1
- package/dist/utils.d.cts +0 -114
- package/dist/utils.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/core/cells/constructCell.ts +0 -55
- package/src/core/cells/coreCellsFeature.ts +0 -27
- package/src/core/cells/coreCellsFeature.types.ts +0 -68
- package/src/core/cells/coreCellsFeature.utils.ts +0 -68
- package/src/core/columns/constructColumn.ts +0 -119
- package/src/core/columns/coreColumnsFeature.ts +0 -73
- package/src/core/columns/coreColumnsFeature.types.ts +0 -108
- package/src/core/columns/coreColumnsFeature.utils.ts +0 -275
- package/src/core/coreFeatures.ts +0 -31
- package/src/core/headers/buildHeaderGroups.ts +0 -182
- package/src/core/headers/constructHeader.ts +0 -67
- package/src/core/headers/coreHeadersFeature.ts +0 -56
- package/src/core/headers/coreHeadersFeature.types.ts +0 -125
- package/src/core/headers/coreHeadersFeature.utils.ts +0 -200
- package/src/core/reactivity/coreReactivityFeature.types.ts +0 -56
- package/src/core/reactivity/coreReactivityFeature.utils.ts +0 -44
- package/src/core/row-models/coreRowModelsFeature.ts +0 -62
- package/src/core/row-models/coreRowModelsFeature.types.ts +0 -64
- package/src/core/row-models/coreRowModelsFeature.utils.ts +0 -272
- package/src/core/row-models/createCoreRowModel.ts +0 -93
- package/src/core/rows/constructRow.ts +0 -66
- package/src/core/rows/coreRowsFeature.ts +0 -62
- package/src/core/rows/coreRowsFeature.types.ts +0 -117
- package/src/core/rows/coreRowsFeature.utils.ts +0 -264
- package/src/core/table/constructTable.ts +0 -172
- package/src/core/table/coreTablesFeature.ts +0 -19
- package/src/core/table/coreTablesFeature.types.ts +0 -216
- package/src/core/table/coreTablesFeature.utils.ts +0 -131
- package/src/features/column-faceting/columnFacetingFeature.ts +0 -89
- package/src/features/column-faceting/columnFacetingFeature.types.ts +0 -109
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +0 -145
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +0 -66
- package/src/features/column-faceting/createFacetedRowModel.ts +0 -85
- package/src/features/column-faceting/createFacetedUniqueValues.ts +0 -66
- package/src/features/column-filtering/columnFilteringFeature.ts +0 -86
- package/src/features/column-filtering/columnFilteringFeature.types.ts +0 -232
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +0 -331
- package/src/features/column-filtering/createFilteredRowModel.ts +0 -183
- package/src/features/column-filtering/filterRowsUtils.ts +0 -157
- package/src/features/column-grouping/columnGroupingFeature.ts +0 -115
- package/src/features/column-grouping/columnGroupingFeature.types.ts +0 -226
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +0 -354
- package/src/features/column-grouping/createGroupedRowModel.ts +0 -220
- package/src/features/column-ordering/columnOrderingFeature.ts +0 -73
- package/src/features/column-ordering/columnOrderingFeature.types.ts +0 -60
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +0 -241
- package/src/features/column-pinning/columnPinningFeature.ts +0 -316
- package/src/features/column-pinning/columnPinningFeature.types.ts +0 -192
- package/src/features/column-pinning/columnPinningFeature.utils.ts +0 -908
- package/src/features/column-resizing/columnResizingFeature.ts +0 -65
- package/src/features/column-resizing/columnResizingFeature.types.ts +0 -89
- package/src/features/column-resizing/columnResizingFeature.utils.ts +0 -364
- package/src/features/column-sizing/columnSizingFeature.ts +0 -145
- package/src/features/column-sizing/columnSizingFeature.types.ts +0 -102
- package/src/features/column-sizing/columnSizingFeature.utils.ts +0 -381
- package/src/features/column-visibility/columnVisibilityFeature.ts +0 -122
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +0 -112
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +0 -384
- package/src/features/global-filtering/globalFilteringFeature.ts +0 -65
- package/src/features/global-filtering/globalFilteringFeature.types.ts +0 -91
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +0 -118
- package/src/features/row-expanding/createExpandedRowModel.ts +0 -82
- package/src/features/row-expanding/rowExpandingFeature.ts +0 -94
- package/src/features/row-expanding/rowExpandingFeature.types.ts +0 -147
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +0 -374
- package/src/features/row-pagination/createPaginatedRowModel.ts +0 -83
- package/src/features/row-pagination/rowPaginationFeature.ts +0 -95
- package/src/features/row-pagination/rowPaginationFeature.types.ts +0 -152
- package/src/features/row-pagination/rowPaginationFeature.utils.ts +0 -400
- package/src/features/row-pinning/rowPinningFeature.ts +0 -97
- package/src/features/row-pinning/rowPinningFeature.types.ts +0 -95
- package/src/features/row-pinning/rowPinningFeature.utils.ts +0 -323
- package/src/features/row-selection/rowSelectionFeature.ts +0 -140
- package/src/features/row-selection/rowSelectionFeature.types.ts +0 -151
- package/src/features/row-selection/rowSelectionFeature.utils.ts +0 -745
- package/src/features/row-sorting/createSortedRowModel.ts +0 -157
- package/src/features/row-sorting/rowSortingFeature.ts +0 -103
- package/src/features/row-sorting/rowSortingFeature.types.ts +0 -235
- package/src/features/row-sorting/rowSortingFeature.utils.ts +0 -489
- package/src/features/stockFeatures.ts +0 -53
- package/src/flex-render.ts +0 -70
- package/src/fns/aggregationFns.ts +0 -245
- package/src/fns/filterFns.ts +0 -382
- package/src/fns/sortFns.ts +0 -240
- package/src/helpers/columnHelper.ts +0 -122
- package/src/helpers/tableFeatures.ts +0 -24
- package/src/helpers/tableOptions.ts +0 -117
- package/src/index.ts +0 -138
- package/src/process-env.d.ts +0 -6
- package/src/reactivity.ts +0 -2
- package/src/static-functions.ts +0 -31
- package/src/store-reactivity-bindings.ts +0 -47
- package/src/types/Cell.ts +0 -21
- package/src/types/Column.ts +0 -51
- package/src/types/ColumnDef.ts +0 -228
- package/src/types/Header.ts +0 -23
- package/src/types/HeaderGroup.ts +0 -13
- package/src/types/Row.ts +0 -34
- package/src/types/RowModel.ts +0 -98
- package/src/types/RowModelFns.ts +0 -32
- package/src/types/Table.ts +0 -91
- package/src/types/TableFeatures.ts +0 -101
- package/src/types/TableOptions.ts +0 -101
- package/src/types/TableState.ts +0 -47
- package/src/types/type-utils.ts +0 -84
- package/src/utils.ts +0 -441
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createGroupedRowModel.js","names":[],"sources":["../../../src/features/column-grouping/createGroupedRowModel.ts"],"sourcesContent":["import { flattenBy, tableMemo } from '../../utils'\nimport { constructRow } from '../../core/rows/constructRow'\nimport { table_getColumn } from '../../core/columns/coreColumnsFeature.utils'\nimport { table_autoResetExpanded } from '../row-expanding/rowExpandingFeature.utils'\nimport { table_autoResetPageIndex } from '../row-pagination/rowPaginationFeature.utils'\nimport {\n column_getAggregationFn,\n row_getGroupingValue,\n} from './columnGroupingFeature.utils'\nimport type { Column } from '../../types/Column'\nimport type {\n AggregationFn,\n AggregationFns,\n Row_ColumnGrouping,\n} from './columnGroupingFeature.types'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\n/**\n * Creates a memoized grouped row model factory.\n *\n * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.\n */\nexport function createGroupedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n aggregationFns: Record<keyof AggregationFns, AggregationFn<TFeatures, TData>>,\n): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table = _table as unknown as Table_Internal<TFeatures, TData>\n if (!table._rowModelFns.aggregationFns)\n table._rowModelFns.aggregationFns = aggregationFns\n return tableMemo({\n feature: 'columnGroupingFeature',\n table,\n fnName: 'table.getGroupedRowModel',\n memoDeps: () => [\n table.atoms.grouping?.get(),\n table.getPreGroupedRowModel(),\n ],\n fn: () => _createGroupedRowModel(table),\n onAfterUpdate: () => {\n table_autoResetExpanded(table)\n table_autoResetPageIndex(table)\n },\n })\n }\n}\n\nfunction _createGroupedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const rowModel = table.getPreGroupedRowModel()\n const grouping = table.atoms.grouping?.get()\n\n if (!rowModel.rows.length || !grouping?.length) {\n rowModel.rows.forEach((row) => {\n row.depth = 0\n row.parentId = undefined\n })\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter((columnId) =>\n table_getColumn(table, columnId),\n )\n\n const groupedFlatRows: Array<Row<TFeatures, TData>> &\n Partial<Row_ColumnGrouping> = []\n const groupedRowsById: Record<string, Row<TFeatures, TData>> = {}\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Array<Row<TFeatures, TData>>,\n depth = 0,\n parentId?: string,\n ) => {\n // Grouping depth has been been met\n // Stop grouping and simply rewrite thd depth and row relationships\n if (depth >= existingGrouping.length) {\n return rows.map((row) => {\n row.depth = depth\n\n groupedFlatRows.push(row)\n groupedRowsById[row.id] = row\n\n if (row.subRows.length) {\n row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id)\n }\n\n return row\n })\n }\n\n const columnId = existingGrouping[depth] as string\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Perform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n subRows.forEach((subRow) => {\n subRow.parentId = id\n })\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, (row) => row.subRows)\n : groupedRows\n\n const row = constructRow(\n table,\n id,\n leafRows[0]!.original,\n index,\n depth,\n undefined,\n parentId,\n ) as Row<TFeatures, TData> & Partial<Row_ColumnGrouping>\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: (colId: string) => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(colId)) {\n if (row._valuesCache.hasOwnProperty(colId)) {\n return row._valuesCache[colId]\n }\n\n if (groupedRows[0]) {\n row._valuesCache[colId] =\n groupedRows[0].getValue(colId) ?? undefined\n }\n\n return row._valuesCache[colId]\n }\n\n if (row._groupingValuesCache?.hasOwnProperty(colId)) {\n return row._groupingValuesCache[colId]\n }\n\n // Aggregate the values\n const column = table.getColumn(colId)\n const aggregateFn = column_getAggregationFn(\n column as Column<TFeatures, TData, unknown>,\n )\n\n if (!row._groupingValuesCache) row._groupingValuesCache = {}\n\n if (aggregateFn) {\n row._groupingValuesCache[colId] = aggregateFn(\n colId,\n leafRows,\n groupedRows,\n )\n\n return row._groupingValuesCache[colId]\n }\n },\n })\n\n subRows.forEach((subRow) => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n })\n\n return row\n },\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0)\n\n groupedRows.forEach((subRow) => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n}\n\nfunction groupBy<TFeatures extends TableFeatures, TData extends RowData = any>(\n rows: Array<Row<TFeatures, TData>>,\n columnId: string,\n) {\n const groupMap = new Map<any, Array<Row<TFeatures, TData>>>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row_getGroupingValue(row, columnId)}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n previous.push(row)\n }\n return map\n }, groupMap)\n}\n"],"mappings":";;;;;;;;;;;;;AA0BA,SAAgB,sBAId,gBACsE;CACtE,QAAQ,WAAW;EACjB,MAAM,QAAQ;EACd,IAAI,CAAC,MAAM,aAAa,gBACtB,MAAM,aAAa,iBAAiB;EACtC,OAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;qCACd,MAAM,MAAM,wFAAU,IAAI,GAC1B,MAAM,sBAAsB,CAC9B;;GACA,UAAU,uBAAuB,KAAK;GACtC,qBAAqB;IACnB,wBAAwB,KAAK;IAC7B,yBAAyB,KAAK;GAChC;EACF,CAAC;CACH;AACF;AAEA,SAAS,uBAGP,OAAqE;;CACrE,MAAM,WAAW,MAAM,sBAAsB;CAC7C,MAAM,qCAAW,MAAM,MAAM,0FAAU,IAAI;CAE3C,IAAI,CAAC,SAAS,KAAK,UAAU,sDAAC,SAAU,SAAQ;EAC9C,SAAS,KAAK,SAAS,QAAQ;GAC7B,IAAI,QAAQ;GACZ,IAAI,WAAW;EACjB,CAAC;EACD,OAAO;CACT;CAGA,MAAM,mBAAmB,SAAS,QAAQ,aACxC,gBAAgB,OAAO,QAAQ,CACjC;CAEA,MAAM,kBAC0B,CAAC;CACjC,MAAM,kBAAyD,CAAC;CAGhE,MAAM,sBACJ,MACA,QAAQ,GACR,aACG;EAGH,IAAI,SAAS,iBAAiB,QAC5B,OAAO,KAAK,KAAK,QAAQ;GACvB,IAAI,QAAQ;GAEZ,gBAAgB,KAAK,GAAG;GACxB,gBAAgB,IAAI,MAAM;GAE1B,IAAI,IAAI,QAAQ,QACd,IAAI,UAAU,mBAAmB,IAAI,SAAS,QAAQ,GAAG,IAAI,EAAE;GAGjE,OAAO;EACT,CAAC;EAGH,MAAM,WAAW,iBAAiB;EAGlC,MAAM,eAAe,QAAQ,MAAM,QAAQ;EAmF3C,OAhF8B,MAAM,KAAK,aAAa,QAAQ,CAAC,CAAC,CAAC,KAC9D,CAAC,eAAe,cAAc,UAAU;GACvC,IAAI,KAAK,GAAG,SAAS,GAAG;GACxB,KAAK,WAAW,GAAG,SAAS,GAAG,OAAO;GAGtC,MAAM,UAAU,mBAAmB,aAAa,QAAQ,GAAG,EAAE;GAE7D,QAAQ,SAAS,WAAW;IAC1B,OAAO,WAAW;GACpB,CAAC;GAGD,MAAM,WAAW,QACb,UAAU,cAAc,QAAQ,IAAI,OAAO,IAC3C;GAEJ,MAAM,MAAM,aACV,OACA,IACA,SAAS,EAAE,CAAE,UACb,OACA,OACA,QACA,QACF;GAEA,OAAO,OAAO,KAAK;IACjB,kBAAkB;IAClB;IACA;IACA;IACA,WAAW,UAAkB;;KAE3B,IAAI,iBAAiB,SAAS,KAAK,GAAG;MACpC,IAAI,IAAI,aAAa,eAAe,KAAK,GACvC,OAAO,IAAI,aAAa;MAG1B,IAAI,YAAY,IACd,IAAI,aAAa,SACf,YAAY,EAAE,CAAC,SAAS,KAAK,KAAK;MAGtC,OAAO,IAAI,aAAa;KAC1B;KAEA,6BAAI,IAAI,oGAAsB,eAAe,KAAK,GAChD,OAAO,IAAI,qBAAqB;KAKlC,MAAM,cAAc,wBADL,MAAM,UAAU,KAExB,CACP;KAEA,IAAI,CAAC,IAAI,sBAAsB,IAAI,uBAAuB,CAAC;KAE3D,IAAI,aAAa;MACf,IAAI,qBAAqB,SAAS,YAChC,OACA,UACA,WACF;MAEA,OAAO,IAAI,qBAAqB;KAClC;IACF;GACF,CAAC;GAED,QAAQ,SAAS,WAAW;IAC1B,gBAAgB,KAAK,MAAM;IAC3B,gBAAgB,OAAO,MAAM;GAC/B,CAAC;GAED,OAAO;EACT,CAGyB;CAC7B;CAEA,MAAM,cAAc,mBAAmB,SAAS,MAAM,CAAC;CAEvD,YAAY,SAAS,WAAW;EAC9B,gBAAgB,KAAK,MAAM;EAC3B,gBAAgB,OAAO,MAAM;CAC/B,CAAC;CAED,OAAO;EACL,MAAM;EACN,UAAU;EACV,UAAU;CACZ;AACF;AAEA,SAAS,QACP,MACA,UACA;CACA,MAAM,2BAAW,IAAI,IAAuC;CAE5D,OAAO,KAAK,QAAQ,KAAK,QAAQ;EAC/B,MAAM,SAAS,GAAG,qBAAqB,KAAK,QAAQ;EACpD,MAAM,WAAW,IAAI,IAAI,MAAM;EAC/B,IAAI,CAAC,UACH,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC;OAErB,SAAS,KAAK,GAAG;EAEnB,OAAO;CACT,GAAG,QAAQ;AACb"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
const require_utils = require('../../utils.cjs');
|
|
2
|
-
const require_columnOrderingFeature_utils = require('./columnOrderingFeature.utils.cjs');
|
|
3
|
-
|
|
4
|
-
//#region src/features/column-ordering/columnOrderingFeature.ts
|
|
5
|
-
/**
|
|
6
|
-
* Feature that adds column ordering state and APIs for ordering leaf columns.
|
|
7
|
-
*/
|
|
8
|
-
const columnOrderingFeature = {
|
|
9
|
-
getInitialState: (initialState) => {
|
|
10
|
-
return {
|
|
11
|
-
columnOrder: require_columnOrderingFeature_utils.getDefaultColumnOrderState(),
|
|
12
|
-
...initialState
|
|
13
|
-
};
|
|
14
|
-
},
|
|
15
|
-
getDefaultTableOptions: (table) => {
|
|
16
|
-
return { onColumnOrderChange: require_utils.makeStateUpdater("columnOrder", table) };
|
|
17
|
-
},
|
|
18
|
-
assignColumnPrototype: (prototype, table) => {
|
|
19
|
-
require_utils.assignPrototypeAPIs("columnOrderingFeature", prototype, table, {
|
|
20
|
-
column_getIndex: {
|
|
21
|
-
fn: (column, position) => require_columnOrderingFeature_utils.column_getIndex(column, position),
|
|
22
|
-
memoDeps: (column, position) => {
|
|
23
|
-
var _column$table$atoms$c, _column$table$atoms$c2, _column$table$atoms$g, _column$table$atoms$c3;
|
|
24
|
-
return [
|
|
25
|
-
position,
|
|
26
|
-
(_column$table$atoms$c = column.table.atoms.columnOrder) === null || _column$table$atoms$c === void 0 ? void 0 : _column$table$atoms$c.get(),
|
|
27
|
-
(_column$table$atoms$c2 = column.table.atoms.columnPinning) === null || _column$table$atoms$c2 === void 0 ? void 0 : _column$table$atoms$c2.get(),
|
|
28
|
-
(_column$table$atoms$g = column.table.atoms.grouping) === null || _column$table$atoms$g === void 0 ? void 0 : _column$table$atoms$g.get(),
|
|
29
|
-
(_column$table$atoms$c3 = column.table.atoms.columnVisibility) === null || _column$table$atoms$c3 === void 0 ? void 0 : _column$table$atoms$c3.get()
|
|
30
|
-
];
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
column_getIsFirstColumn: { fn: (column, position) => require_columnOrderingFeature_utils.column_getIsFirstColumn(column, position) },
|
|
34
|
-
column_getIsLastColumn: { fn: (column, position) => require_columnOrderingFeature_utils.column_getIsLastColumn(column, position) }
|
|
35
|
-
});
|
|
36
|
-
},
|
|
37
|
-
constructTableAPIs: (table) => {
|
|
38
|
-
require_utils.assignTableAPIs("columnOrderingFeature", table, {
|
|
39
|
-
table_setColumnOrder: { fn: (updater) => require_columnOrderingFeature_utils.table_setColumnOrder(table, updater) },
|
|
40
|
-
table_resetColumnOrder: { fn: (defaultState) => require_columnOrderingFeature_utils.table_resetColumnOrder(table, defaultState) },
|
|
41
|
-
table_getOrderColumnsFn: {
|
|
42
|
-
fn: () => require_columnOrderingFeature_utils.table_getOrderColumnsFn(table),
|
|
43
|
-
memoDeps: () => {
|
|
44
|
-
var _table$atoms$columnOr, _table$atoms$grouping;
|
|
45
|
-
return [
|
|
46
|
-
(_table$atoms$columnOr = table.atoms.columnOrder) === null || _table$atoms$columnOr === void 0 ? void 0 : _table$atoms$columnOr.get(),
|
|
47
|
-
(_table$atoms$grouping = table.atoms.grouping) === null || _table$atoms$grouping === void 0 ? void 0 : _table$atoms$grouping.get(),
|
|
48
|
-
table.options.groupedColumnMode
|
|
49
|
-
];
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
//#endregion
|
|
57
|
-
exports.columnOrderingFeature = columnOrderingFeature;
|
|
58
|
-
//# sourceMappingURL=columnOrderingFeature.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"columnOrderingFeature.cjs","names":["getDefaultColumnOrderState","makeStateUpdater","column_getIndex","column_getIsFirstColumn","column_getIsLastColumn","table_setColumnOrder","table_resetColumnOrder","table_getOrderColumnsFn"],"sources":["../../../src/features/column-ordering/columnOrderingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getIndex,\n column_getIsFirstColumn,\n column_getIsLastColumn,\n getDefaultColumnOrderState,\n table_getOrderColumnsFn,\n table_resetColumnOrder,\n table_setColumnOrder,\n} from './columnOrderingFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds column ordering state and APIs for ordering leaf columns.\n */\nexport const columnOrderingFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n columnOrder: getDefaultColumnOrderState(),\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnOrderChange: makeStateUpdater('columnOrder', table),\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnOrderingFeature', prototype, table, {\n column_getIndex: {\n fn: (column, position) => column_getIndex(column, position),\n memoDeps: (column, position) => [\n position,\n column.table.atoms.columnOrder?.get(),\n column.table.atoms.columnPinning?.get(),\n column.table.atoms.grouping?.get(),\n column.table.atoms.columnVisibility?.get(),\n ],\n },\n column_getIsFirstColumn: {\n fn: (column, position) => column_getIsFirstColumn(column, position),\n },\n column_getIsLastColumn: {\n fn: (column, position) => column_getIsLastColumn(column, position),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnOrderingFeature', table, {\n table_setColumnOrder: {\n fn: (updater) => table_setColumnOrder(table, updater),\n },\n table_resetColumnOrder: {\n fn: (defaultState) => table_resetColumnOrder(table, defaultState),\n },\n table_getOrderColumnsFn: {\n fn: () => table_getOrderColumnsFn(table),\n memoDeps: () => [\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.options.groupedColumnMode,\n ],\n },\n })\n },\n}\n"],"mappings":";;;;;;;AAmBA,MAAa,wBAAsC;CACjD,kBAAkB,iBAAiB;EACjC,OAAO;GACL,aAAaA,+DAA2B;GACxC,GAAG;EACL;CACF;CAEA,yBAAyB,UAAU;EACjC,OAAO,EACL,qBAAqBC,+BAAiB,eAAe,KAAK,EAC5D;CACF;CAEA,wBAAwB,WAAW,UAAU;EAC3C,kCAAoB,yBAAyB,WAAW,OAAO;GAC7D,iBAAiB;IACf,KAAK,QAAQ,aAAaC,oDAAgB,QAAQ,QAAQ;IAC1D,WAAW,QAAQ,aAAa;;;MAC9B;+BACA,OAAO,MAAM,MAAM,2FAAa,IAAI;gCACpC,OAAO,MAAM,MAAM,+FAAe,IAAI;+BACtC,OAAO,MAAM,MAAM,wFAAU,IAAI;gCACjC,OAAO,MAAM,MAAM,kGAAkB,IAAI;KAC3C;;GACF;GACA,yBAAyB,EACvB,KAAK,QAAQ,aAAaC,4DAAwB,QAAQ,QAAQ,EACpE;GACA,wBAAwB,EACtB,KAAK,QAAQ,aAAaC,2DAAuB,QAAQ,QAAQ,EACnE;EACF,CAAC;CACH;CAEA,qBAAqB,UAAU;EAC7B,8BAAgB,yBAAyB,OAAO;GAC9C,sBAAsB,EACpB,KAAK,YAAYC,yDAAqB,OAAO,OAAO,EACtD;GACA,wBAAwB,EACtB,KAAK,iBAAiBC,2DAAuB,OAAO,YAAY,EAClE;GACA,yBAAyB;IACvB,UAAUC,4DAAwB,KAAK;IACvC,gBAAgB;;;+BACd,MAAM,MAAM,2FAAa,IAAI;+BAC7B,MAAM,MAAM,wFAAU,IAAI;MAC1B,MAAM,QAAQ;KAChB;;GACF;EACF,CAAC;CACH;AACF"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { TableFeature } from "../../types/TableFeatures.cjs";
|
|
2
|
-
|
|
3
|
-
//#region src/features/column-ordering/columnOrderingFeature.d.ts
|
|
4
|
-
/**
|
|
5
|
-
* Feature that adds column ordering state and APIs for ordering leaf columns.
|
|
6
|
-
*/
|
|
7
|
-
declare const columnOrderingFeature: TableFeature;
|
|
8
|
-
//#endregion
|
|
9
|
-
export { columnOrderingFeature };
|
|
10
|
-
//# sourceMappingURL=columnOrderingFeature.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"columnOrderingFeature.js","names":[],"sources":["../../../src/features/column-ordering/columnOrderingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getIndex,\n column_getIsFirstColumn,\n column_getIsLastColumn,\n getDefaultColumnOrderState,\n table_getOrderColumnsFn,\n table_resetColumnOrder,\n table_setColumnOrder,\n} from './columnOrderingFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds column ordering state and APIs for ordering leaf columns.\n */\nexport const columnOrderingFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n columnOrder: getDefaultColumnOrderState(),\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnOrderChange: makeStateUpdater('columnOrder', table),\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnOrderingFeature', prototype, table, {\n column_getIndex: {\n fn: (column, position) => column_getIndex(column, position),\n memoDeps: (column, position) => [\n position,\n column.table.atoms.columnOrder?.get(),\n column.table.atoms.columnPinning?.get(),\n column.table.atoms.grouping?.get(),\n column.table.atoms.columnVisibility?.get(),\n ],\n },\n column_getIsFirstColumn: {\n fn: (column, position) => column_getIsFirstColumn(column, position),\n },\n column_getIsLastColumn: {\n fn: (column, position) => column_getIsLastColumn(column, position),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnOrderingFeature', table, {\n table_setColumnOrder: {\n fn: (updater) => table_setColumnOrder(table, updater),\n },\n table_resetColumnOrder: {\n fn: (defaultState) => table_resetColumnOrder(table, defaultState),\n },\n table_getOrderColumnsFn: {\n fn: () => table_getOrderColumnsFn(table),\n memoDeps: () => [\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.options.groupedColumnMode,\n ],\n },\n })\n },\n}\n"],"mappings":";;;;;;;AAmBA,MAAa,wBAAsC;CACjD,kBAAkB,iBAAiB;EACjC,OAAO;GACL,aAAa,2BAA2B;GACxC,GAAG;EACL;CACF;CAEA,yBAAyB,UAAU;EACjC,OAAO,EACL,qBAAqB,iBAAiB,eAAe,KAAK,EAC5D;CACF;CAEA,wBAAwB,WAAW,UAAU;EAC3C,oBAAoB,yBAAyB,WAAW,OAAO;GAC7D,iBAAiB;IACf,KAAK,QAAQ,aAAa,gBAAgB,QAAQ,QAAQ;IAC1D,WAAW,QAAQ,aAAa;;;MAC9B;+BACA,OAAO,MAAM,MAAM,2FAAa,IAAI;gCACpC,OAAO,MAAM,MAAM,+FAAe,IAAI;+BACtC,OAAO,MAAM,MAAM,wFAAU,IAAI;gCACjC,OAAO,MAAM,MAAM,kGAAkB,IAAI;KAC3C;;GACF;GACA,yBAAyB,EACvB,KAAK,QAAQ,aAAa,wBAAwB,QAAQ,QAAQ,EACpE;GACA,wBAAwB,EACtB,KAAK,QAAQ,aAAa,uBAAuB,QAAQ,QAAQ,EACnE;EACF,CAAC;CACH;CAEA,qBAAqB,UAAU;EAC7B,gBAAgB,yBAAyB,OAAO;GAC9C,sBAAsB,EACpB,KAAK,YAAY,qBAAqB,OAAO,OAAO,EACtD;GACA,wBAAwB,EACtB,KAAK,iBAAiB,uBAAuB,OAAO,YAAY,EAClE;GACA,yBAAyB;IACvB,UAAU,wBAAwB,KAAK;IACvC,gBAAgB;;;+BACd,MAAM,MAAM,2FAAa,IAAI;+BAC7B,MAAM,MAAM,wFAAU,IAAI;MAC1B,MAAM,QAAQ;KAChB;;GACF;EACF,CAAC;CACH;AACF"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { OnChangeFn, RowData, Updater } from "../../types/type-utils.cjs";
|
|
2
|
-
import { ColumnPinningPosition } from "../column-pinning/columnPinningFeature.types.cjs";
|
|
3
|
-
import { TableFeatures } from "../../types/TableFeatures.cjs";
|
|
4
|
-
|
|
5
|
-
//#region src/features/column-ordering/columnOrderingFeature.types.d.ts
|
|
6
|
-
type ColumnOrderState = Array<string>;
|
|
7
|
-
interface TableState_ColumnOrdering {
|
|
8
|
-
columnOrder: ColumnOrderState;
|
|
9
|
-
}
|
|
10
|
-
interface TableOptions_ColumnOrdering {
|
|
11
|
-
/**
|
|
12
|
-
* Called with an updater when column order state changes. Pair this with
|
|
13
|
-
* `state.columnOrder` when using external state; external atoms can own the
|
|
14
|
-
* slice without this callback.
|
|
15
|
-
*/
|
|
16
|
-
onColumnOrderChange?: OnChangeFn<ColumnOrderState>;
|
|
17
|
-
}
|
|
18
|
-
interface Column_ColumnOrdering {
|
|
19
|
-
/**
|
|
20
|
-
* Finds this column's zero-based index among visible columns.
|
|
21
|
-
*
|
|
22
|
-
* Pass `'left'`, `'center'`, or `'right'` to measure within that pinned
|
|
23
|
-
* region instead of the full visible leaf order.
|
|
24
|
-
*/
|
|
25
|
-
getIndex: (position?: ColumnPinningPosition | 'center') => number;
|
|
26
|
-
/**
|
|
27
|
-
* Checks whether this column is the first visible column.
|
|
28
|
-
*
|
|
29
|
-
* Pass a pinned region to check the first column within that region.
|
|
30
|
-
*/
|
|
31
|
-
getIsFirstColumn: (position?: ColumnPinningPosition | 'center') => boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Checks whether this column is the last visible column.
|
|
34
|
-
*
|
|
35
|
-
* Pass a pinned region to check the last column within that region.
|
|
36
|
-
*/
|
|
37
|
-
getIsLastColumn: (position?: ColumnPinningPosition | 'center') => boolean;
|
|
38
|
-
}
|
|
39
|
-
interface ColumnOrderDefaultOptions {
|
|
40
|
-
onColumnOrderChange: OnChangeFn<ColumnOrderState>;
|
|
41
|
-
}
|
|
42
|
-
interface Table_ColumnOrdering<TFeatures extends TableFeatures, TData extends RowData> {
|
|
43
|
-
/**
|
|
44
|
-
* Resets `columnOrder` to `initialState.columnOrder`.
|
|
45
|
-
*
|
|
46
|
-
* Pass `true` to ignore initial state and reset to `[]`.
|
|
47
|
-
*/
|
|
48
|
-
resetColumnOrder: (defaultState?: boolean) => void;
|
|
49
|
-
/**
|
|
50
|
-
* Updates column order state with a next ordered id array or updater function.
|
|
51
|
-
*/
|
|
52
|
-
setColumnOrder: (updater: Updater<ColumnOrderState>) => void;
|
|
53
|
-
}
|
|
54
|
-
//#endregion
|
|
55
|
-
export { ColumnOrderDefaultOptions, ColumnOrderState, Column_ColumnOrdering, TableOptions_ColumnOrdering, TableState_ColumnOrdering, Table_ColumnOrdering };
|
|
56
|
-
//# sourceMappingURL=columnOrderingFeature.types.d.cts.map
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
const require_utils = require('../../utils.cjs');
|
|
2
|
-
const require_columnPinningFeature_utils = require('../column-pinning/columnPinningFeature.utils.cjs');
|
|
3
|
-
|
|
4
|
-
//#region src/features/column-ordering/columnOrderingFeature.utils.ts
|
|
5
|
-
/**
|
|
6
|
-
* Creates the default column order state.
|
|
7
|
-
*
|
|
8
|
-
* The feature default is an empty array, meaning leaf columns keep their natural
|
|
9
|
-
* definition order. Reset APIs use this value when `defaultState` is `true`.
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```ts
|
|
13
|
-
* const order = getDefaultColumnOrderState()
|
|
14
|
-
* ```
|
|
15
|
-
*/
|
|
16
|
-
function getDefaultColumnOrderState() {
|
|
17
|
-
return [];
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Finds this column's index within a visible pinning region.
|
|
21
|
-
*
|
|
22
|
-
* Pass `'left'`, `'center'`, or `'right'` to search that region; omit the
|
|
23
|
-
* position to search the full visible leaf column list.
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```ts
|
|
27
|
-
* const index = column_getIndex(column, 'center')
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
function column_getIndex(column, position) {
|
|
31
|
-
return require_columnPinningFeature_utils.table_getPinnedVisibleLeafColumns(column.table, position).findIndex((d) => d.id === column.id);
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Checks whether this column is the first visible column in a pinning region.
|
|
35
|
-
*
|
|
36
|
-
* The same `position` semantics as `column_getIndex` apply.
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```ts
|
|
40
|
-
* const isFirst = column_getIsFirstColumn(column, 'left')
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
function column_getIsFirstColumn(column, position) {
|
|
44
|
-
var _columns$;
|
|
45
|
-
return ((_columns$ = require_columnPinningFeature_utils.table_getPinnedVisibleLeafColumns(column.table, position)[0]) === null || _columns$ === void 0 ? void 0 : _columns$.id) === column.id;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Checks whether this column is the last visible column in a pinning region.
|
|
49
|
-
*
|
|
50
|
-
* The same `position` semantics as `column_getIndex` apply.
|
|
51
|
-
*
|
|
52
|
-
* @example
|
|
53
|
-
* ```ts
|
|
54
|
-
* const isLast = column_getIsLastColumn(column, 'right')
|
|
55
|
-
* ```
|
|
56
|
-
*/
|
|
57
|
-
function column_getIsLastColumn(column, position) {
|
|
58
|
-
var _columns;
|
|
59
|
-
const columns = require_columnPinningFeature_utils.table_getPinnedVisibleLeafColumns(column.table, position);
|
|
60
|
-
return ((_columns = columns[columns.length - 1]) === null || _columns === void 0 ? void 0 : _columns.id) === column.id;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Routes a column order updater through the table's column-order change handler.
|
|
64
|
-
*
|
|
65
|
-
* The updater may be a next ordered id array or a function of the previous
|
|
66
|
-
* array, matching the instance `table.setColumnOrder` behavior.
|
|
67
|
-
*
|
|
68
|
-
* @example
|
|
69
|
-
* ```ts
|
|
70
|
-
* table_setColumnOrder(table, ['firstName', 'lastName', 'age'])
|
|
71
|
-
* ```
|
|
72
|
-
*/
|
|
73
|
-
function table_setColumnOrder(table, updater) {
|
|
74
|
-
var _table$options$onColu, _table$options;
|
|
75
|
-
(_table$options$onColu = (_table$options = table.options).onColumnOrderChange) === null || _table$options$onColu === void 0 || _table$options$onColu.call(_table$options, updater);
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Resets `columnOrder` to the configured initial state or feature default.
|
|
79
|
-
*
|
|
80
|
-
* With no argument, the reset clones `table.initialState.columnOrder` when it
|
|
81
|
-
* exists. Passing `true` ignores initial state and resets to `[]`.
|
|
82
|
-
*
|
|
83
|
-
* @example
|
|
84
|
-
* ```ts
|
|
85
|
-
* table_resetColumnOrder(table)
|
|
86
|
-
* table_resetColumnOrder(table, true)
|
|
87
|
-
* ```
|
|
88
|
-
*/
|
|
89
|
-
function table_resetColumnOrder(table, defaultState) {
|
|
90
|
-
table_setColumnOrder(table, defaultState ? [] : require_utils.cloneState(table.initialState.columnOrder ?? []));
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Creates the ordering function used to arrange leaf columns.
|
|
94
|
-
*
|
|
95
|
-
* The returned function applies `state.columnOrder`, preserves unspecified
|
|
96
|
-
* columns in their original order, then delegates to grouping rules.
|
|
97
|
-
*
|
|
98
|
-
* @example
|
|
99
|
-
* ```ts
|
|
100
|
-
* const orderColumnsForTable = table_getOrderColumnsFn(table)
|
|
101
|
-
* ```
|
|
102
|
-
*/
|
|
103
|
-
function table_getOrderColumnsFn(table) {
|
|
104
|
-
var _table$atoms$columnOr;
|
|
105
|
-
const columnOrder = (_table$atoms$columnOr = table.atoms.columnOrder) === null || _table$atoms$columnOr === void 0 ? void 0 : _table$atoms$columnOr.get();
|
|
106
|
-
return (columns) => {
|
|
107
|
-
let orderedColumns = [];
|
|
108
|
-
if (!(columnOrder === null || columnOrder === void 0 ? void 0 : columnOrder.length)) orderedColumns = columns;
|
|
109
|
-
else {
|
|
110
|
-
const remaining = /* @__PURE__ */ new Map();
|
|
111
|
-
for (let i = 0; i < columns.length; i++) {
|
|
112
|
-
const column = columns[i];
|
|
113
|
-
remaining.set(column.id, column);
|
|
114
|
-
}
|
|
115
|
-
for (let i = 0; i < columnOrder.length; i++) {
|
|
116
|
-
const id = columnOrder[i];
|
|
117
|
-
const column = remaining.get(id);
|
|
118
|
-
if (column) {
|
|
119
|
-
orderedColumns.push(column);
|
|
120
|
-
remaining.delete(id);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
for (let i = 0; i < columns.length; i++) {
|
|
124
|
-
const column = columns[i];
|
|
125
|
-
if (remaining.has(column.id)) orderedColumns.push(column);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
return orderColumns(table, orderedColumns);
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Applies grouped-column placement rules to an already ordered leaf-column list.
|
|
133
|
-
*
|
|
134
|
-
* `groupedColumnMode: 'remove'` drops grouped columns from the list.
|
|
135
|
-
* `groupedColumnMode: 'reorder'` moves grouped columns to the front in grouping
|
|
136
|
-
* state order.
|
|
137
|
-
*
|
|
138
|
-
* @example
|
|
139
|
-
* ```ts
|
|
140
|
-
* const orderedColumns = orderColumns(table, leafColumns)
|
|
141
|
-
* ```
|
|
142
|
-
*/
|
|
143
|
-
function orderColumns(table, leafColumns) {
|
|
144
|
-
var _table$atoms$grouping;
|
|
145
|
-
const grouping = ((_table$atoms$grouping = table.atoms.grouping) === null || _table$atoms$grouping === void 0 ? void 0 : _table$atoms$grouping.get()) ?? [];
|
|
146
|
-
const { groupedColumnMode } = table.options;
|
|
147
|
-
if (!grouping.length || !groupedColumnMode) return leafColumns;
|
|
148
|
-
const nonGroupingColumns = leafColumns.filter((col) => !grouping.includes(col.id));
|
|
149
|
-
if (groupedColumnMode === "remove") return nonGroupingColumns;
|
|
150
|
-
const leafColumnsById = /* @__PURE__ */ new Map();
|
|
151
|
-
for (let i = 0; i < leafColumns.length; i++) {
|
|
152
|
-
const col = leafColumns[i];
|
|
153
|
-
leafColumnsById.set(col.id, col);
|
|
154
|
-
}
|
|
155
|
-
const groupingColumns = [];
|
|
156
|
-
for (let i = 0; i < grouping.length; i++) {
|
|
157
|
-
const col = leafColumnsById.get(grouping[i]);
|
|
158
|
-
if (col) groupingColumns.push(col);
|
|
159
|
-
}
|
|
160
|
-
return [...groupingColumns, ...nonGroupingColumns];
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
//#endregion
|
|
164
|
-
exports.column_getIndex = column_getIndex;
|
|
165
|
-
exports.column_getIsFirstColumn = column_getIsFirstColumn;
|
|
166
|
-
exports.column_getIsLastColumn = column_getIsLastColumn;
|
|
167
|
-
exports.getDefaultColumnOrderState = getDefaultColumnOrderState;
|
|
168
|
-
exports.orderColumns = orderColumns;
|
|
169
|
-
exports.table_getOrderColumnsFn = table_getOrderColumnsFn;
|
|
170
|
-
exports.table_resetColumnOrder = table_resetColumnOrder;
|
|
171
|
-
exports.table_setColumnOrder = table_setColumnOrder;
|
|
172
|
-
//# sourceMappingURL=columnOrderingFeature.utils.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"columnOrderingFeature.utils.cjs","names":["table_getPinnedVisibleLeafColumns","cloneState"],"sources":["../../../src/features/column-ordering/columnOrderingFeature.utils.ts"],"sourcesContent":["import { table_getPinnedVisibleLeafColumns } from '../column-pinning/columnPinningFeature.utils'\nimport { cloneState } from '../../utils'\nimport type { GroupingState } from '../column-grouping/columnGroupingFeature.types'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types'\nimport type { ColumnOrderState } from './columnOrderingFeature.types'\n\n/**\n * Creates the default column order state.\n *\n * The feature default is an empty array, meaning leaf columns keep their natural\n * definition order. Reset APIs use this value when `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const order = getDefaultColumnOrderState()\n * ```\n */\nexport function getDefaultColumnOrderState(): ColumnOrderState {\n return []\n}\n\n/**\n * Finds this column's index within a visible pinning region.\n *\n * Pass `'left'`, `'center'`, or `'right'` to search that region; omit the\n * position to search the full visible leaf column list.\n *\n * @example\n * ```ts\n * const index = column_getIndex(column, 'center')\n * ```\n */\nexport function column_getIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns.findIndex((d) => d.id === column.id)\n}\n\n/**\n * Checks whether this column is the first visible column in a pinning region.\n *\n * The same `position` semantics as `column_getIndex` apply.\n *\n * @example\n * ```ts\n * const isFirst = column_getIsFirstColumn(column, 'left')\n * ```\n */\nexport function column_getIsFirstColumn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns[0]?.id === column.id\n}\n\n/**\n * Checks whether this column is the last visible column in a pinning region.\n *\n * The same `position` semantics as `column_getIndex` apply.\n *\n * @example\n * ```ts\n * const isLast = column_getIsLastColumn(column, 'right')\n * ```\n */\nexport function column_getIsLastColumn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns[columns.length - 1]?.id === column.id\n}\n\n/**\n * Routes a column order updater through the table's column-order change handler.\n *\n * The updater may be a next ordered id array or a function of the previous\n * array, matching the instance `table.setColumnOrder` behavior.\n *\n * @example\n * ```ts\n * table_setColumnOrder(table, ['firstName', 'lastName', 'age'])\n * ```\n */\nexport function table_setColumnOrder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnOrderState>) {\n table.options.onColumnOrderChange?.(updater)\n}\n\n/**\n * Resets `columnOrder` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnOrder` when it\n * exists. Passing `true` ignores initial state and resets to `[]`.\n *\n * @example\n * ```ts\n * table_resetColumnOrder(table)\n * table_resetColumnOrder(table, true)\n * ```\n */\nexport function table_resetColumnOrder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnOrder(\n table,\n defaultState ? [] : cloneState(table.initialState.columnOrder ?? []),\n )\n}\n\n/**\n * Creates the ordering function used to arrange leaf columns.\n *\n * The returned function applies `state.columnOrder`, preserves unspecified\n * columns in their original order, then delegates to grouping rules.\n *\n * @example\n * ```ts\n * const orderColumnsForTable = table_getOrderColumnsFn(table)\n * ```\n */\nexport function table_getOrderColumnsFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const columnOrder = table.atoms.columnOrder?.get()\n\n return (columns: Array<Column_Internal<TFeatures, TData, unknown>>) => {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n let orderedColumns: Array<Column_Internal<TFeatures, TData, unknown>> = []\n\n // If there is no order, return the normal columns\n if (!columnOrder?.length) {\n orderedColumns = columns\n } else {\n // Index columns by id for O(1) lookup\n const remaining = new Map<\n string,\n Column_Internal<TFeatures, TData, unknown>\n >()\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]!\n remaining.set(column.id, column)\n }\n\n // Place columns in the requested order, removing each as it's used\n // (handles duplicates and unknown ids in columnOrder)\n for (let i = 0; i < columnOrder.length; i++) {\n const id = columnOrder[i]!\n const column = remaining.get(id)\n if (column) {\n orderedColumns.push(column)\n remaining.delete(id)\n }\n }\n\n // Append leftover columns in their original order\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]!\n if (remaining.has(column.id)) orderedColumns.push(column)\n }\n }\n\n return orderColumns(table, orderedColumns)\n }\n}\n\n/**\n * Applies grouped-column placement rules to an already ordered leaf-column list.\n *\n * `groupedColumnMode: 'remove'` drops grouped columns from the list.\n * `groupedColumnMode: 'reorder'` moves grouped columns to the front in grouping\n * state order.\n *\n * @example\n * ```ts\n * const orderedColumns = orderColumns(table, leafColumns)\n * ```\n */\nexport function orderColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n leafColumns: Array<Column_Internal<TFeatures, TData, unknown>>,\n) {\n const grouping = table.atoms.grouping?.get() ?? ([] as GroupingState)\n const { groupedColumnMode } = table.options\n\n if (!grouping.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n (col) => !grouping.includes(col.id),\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const leafColumnsById = new Map<\n string,\n Column_Internal<TFeatures, TData, unknown>\n >()\n for (let i = 0; i < leafColumns.length; i++) {\n const col = leafColumns[i]!\n leafColumnsById.set(col.id, col)\n }\n\n const groupingColumns: Array<Column_Internal<TFeatures, TData, unknown>> = []\n for (let i = 0; i < grouping.length; i++) {\n const col = leafColumnsById.get(grouping[i]!)\n if (col) groupingColumns.push(col)\n }\n\n return [...groupingColumns, ...nonGroupingColumns]\n}\n"],"mappings":";;;;;;;;;;;;;;;AAqBA,SAAgB,6BAA+C;CAC7D,OAAO,CAAC;AACV;;;;;;;;;;;;AAaA,SAAgB,gBAKd,QACA,UACA;CAEA,OADgBA,qEAAkC,OAAO,OAAO,QACnD,CAAC,CAAC,WAAW,MAAM,EAAE,OAAO,OAAO,EAAE;AACpD;;;;;;;;;;;AAYA,SAAgB,wBAKd,QACA,UACA;;CAEA,qBADgBA,qEAAkC,OAAO,OAAO,QACnD,CAAC,CAAC,0DAAI,QAAO,OAAO;AACnC;;;;;;;;;;;AAYA,SAAgB,uBAKd,QACA,UACA;;CACA,MAAM,UAAUA,qEAAkC,OAAO,OAAO,QAAQ;CACxE,oBAAO,QAAQ,QAAQ,SAAS,wDAAI,QAAO,OAAO;AACpD;;;;;;;;;;;;AAaA,SAAgB,qBAGd,OAAyC,SAAoC;;CAC7E,iDAAM,SAAQ,gHAAsB,OAAO;AAC7C;;;;;;;;;;;;;AAcA,SAAgB,uBAGd,OAAyC,cAAwB;CACjE,qBACE,OACA,eAAe,CAAC,IAAIC,yBAAW,MAAM,aAAa,eAAe,CAAC,CAAC,CACrE;AACF;;;;;;;;;;;;AAaA,SAAgB,wBAGd,OAAyC;;CACzC,MAAM,uCAAc,MAAM,MAAM,2FAAa,IAAI;CAEjD,QAAQ,YAA+D;EAGrE,IAAI,iBAAoE,CAAC;EAGzE,IAAI,4DAAC,YAAa,SAChB,iBAAiB;OACZ;GAEL,MAAM,4BAAY,IAAI,IAGpB;GACF,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;IACvC,MAAM,SAAS,QAAQ;IACvB,UAAU,IAAI,OAAO,IAAI,MAAM;GACjC;GAIA,KAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;IAC3C,MAAM,KAAK,YAAY;IACvB,MAAM,SAAS,UAAU,IAAI,EAAE;IAC/B,IAAI,QAAQ;KACV,eAAe,KAAK,MAAM;KAC1B,UAAU,OAAO,EAAE;IACrB;GACF;GAGA,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;IACvC,MAAM,SAAS,QAAQ;IACvB,IAAI,UAAU,IAAI,OAAO,EAAE,GAAG,eAAe,KAAK,MAAM;GAC1D;EACF;EAEA,OAAO,aAAa,OAAO,cAAc;CAC3C;AACF;;;;;;;;;;;;;AAcA,SAAgB,aAId,OACA,aACA;;CACA,MAAM,qCAAW,MAAM,MAAM,wFAAU,IAAI,MAAM,CAAC;CAClD,MAAM,EAAE,sBAAsB,MAAM;CAEpC,IAAI,CAAC,SAAS,UAAU,CAAC,mBACvB,OAAO;CAGT,MAAM,qBAAqB,YAAY,QACpC,QAAQ,CAAC,SAAS,SAAS,IAAI,EAAE,CACpC;CAEA,IAAI,sBAAsB,UACxB,OAAO;CAGT,MAAM,kCAAkB,IAAI,IAG1B;CACF,KAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;EAC3C,MAAM,MAAM,YAAY;EACxB,gBAAgB,IAAI,IAAI,IAAI,GAAG;CACjC;CAEA,MAAM,kBAAqE,CAAC;CAC5E,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,MAAM,gBAAgB,IAAI,SAAS,EAAG;EAC5C,IAAI,KAAK,gBAAgB,KAAK,GAAG;CACnC;CAEA,OAAO,CAAC,GAAG,iBAAiB,GAAG,kBAAkB;AACnD"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { CellData, RowData, Updater } from "../../types/type-utils.cjs";
|
|
2
|
-
import { ColumnPinningPosition } from "../column-pinning/columnPinningFeature.types.cjs";
|
|
3
|
-
import { ColumnOrderState } from "./columnOrderingFeature.types.cjs";
|
|
4
|
-
import { Column_Internal } from "../../types/Column.cjs";
|
|
5
|
-
import { TableFeatures } from "../../types/TableFeatures.cjs";
|
|
6
|
-
import { Table_Internal } from "../../types/Table.cjs";
|
|
7
|
-
|
|
8
|
-
//#region src/features/column-ordering/columnOrderingFeature.utils.d.ts
|
|
9
|
-
/**
|
|
10
|
-
* Creates the default column order state.
|
|
11
|
-
*
|
|
12
|
-
* The feature default is an empty array, meaning leaf columns keep their natural
|
|
13
|
-
* definition order. Reset APIs use this value when `defaultState` is `true`.
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```ts
|
|
17
|
-
* const order = getDefaultColumnOrderState()
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
declare function getDefaultColumnOrderState(): ColumnOrderState;
|
|
21
|
-
/**
|
|
22
|
-
* Finds this column's index within a visible pinning region.
|
|
23
|
-
*
|
|
24
|
-
* Pass `'left'`, `'center'`, or `'right'` to search that region; omit the
|
|
25
|
-
* position to search the full visible leaf column list.
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* ```ts
|
|
29
|
-
* const index = column_getIndex(column, 'center')
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
declare function column_getIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): number;
|
|
33
|
-
/**
|
|
34
|
-
* Checks whether this column is the first visible column in a pinning region.
|
|
35
|
-
*
|
|
36
|
-
* The same `position` semantics as `column_getIndex` apply.
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```ts
|
|
40
|
-
* const isFirst = column_getIsFirstColumn(column, 'left')
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
declare function column_getIsFirstColumn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Checks whether this column is the last visible column in a pinning region.
|
|
46
|
-
*
|
|
47
|
-
* The same `position` semantics as `column_getIndex` apply.
|
|
48
|
-
*
|
|
49
|
-
* @example
|
|
50
|
-
* ```ts
|
|
51
|
-
* const isLast = column_getIsLastColumn(column, 'right')
|
|
52
|
-
* ```
|
|
53
|
-
*/
|
|
54
|
-
declare function column_getIsLastColumn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): boolean;
|
|
55
|
-
/**
|
|
56
|
-
* Routes a column order updater through the table's column-order change handler.
|
|
57
|
-
*
|
|
58
|
-
* The updater may be a next ordered id array or a function of the previous
|
|
59
|
-
* array, matching the instance `table.setColumnOrder` behavior.
|
|
60
|
-
*
|
|
61
|
-
* @example
|
|
62
|
-
* ```ts
|
|
63
|
-
* table_setColumnOrder(table, ['firstName', 'lastName', 'age'])
|
|
64
|
-
* ```
|
|
65
|
-
*/
|
|
66
|
-
declare function table_setColumnOrder<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnOrderState>): void;
|
|
67
|
-
/**
|
|
68
|
-
* Resets `columnOrder` to the configured initial state or feature default.
|
|
69
|
-
*
|
|
70
|
-
* With no argument, the reset clones `table.initialState.columnOrder` when it
|
|
71
|
-
* exists. Passing `true` ignores initial state and resets to `[]`.
|
|
72
|
-
*
|
|
73
|
-
* @example
|
|
74
|
-
* ```ts
|
|
75
|
-
* table_resetColumnOrder(table)
|
|
76
|
-
* table_resetColumnOrder(table, true)
|
|
77
|
-
* ```
|
|
78
|
-
*/
|
|
79
|
-
declare function table_resetColumnOrder<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
|
|
80
|
-
/**
|
|
81
|
-
* Creates the ordering function used to arrange leaf columns.
|
|
82
|
-
*
|
|
83
|
-
* The returned function applies `state.columnOrder`, preserves unspecified
|
|
84
|
-
* columns in their original order, then delegates to grouping rules.
|
|
85
|
-
*
|
|
86
|
-
* @example
|
|
87
|
-
* ```ts
|
|
88
|
-
* const orderColumnsForTable = table_getOrderColumnsFn(table)
|
|
89
|
-
* ```
|
|
90
|
-
*/
|
|
91
|
-
declare function table_getOrderColumnsFn<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): (columns: Array<Column_Internal<TFeatures, TData, unknown>>) => Column_Internal<TFeatures, TData, unknown>[];
|
|
92
|
-
/**
|
|
93
|
-
* Applies grouped-column placement rules to an already ordered leaf-column list.
|
|
94
|
-
*
|
|
95
|
-
* `groupedColumnMode: 'remove'` drops grouped columns from the list.
|
|
96
|
-
* `groupedColumnMode: 'reorder'` moves grouped columns to the front in grouping
|
|
97
|
-
* state order.
|
|
98
|
-
*
|
|
99
|
-
* @example
|
|
100
|
-
* ```ts
|
|
101
|
-
* const orderedColumns = orderColumns(table, leafColumns)
|
|
102
|
-
* ```
|
|
103
|
-
*/
|
|
104
|
-
declare function orderColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, leafColumns: Array<Column_Internal<TFeatures, TData, unknown>>): Column_Internal<TFeatures, TData, unknown>[];
|
|
105
|
-
//#endregion
|
|
106
|
-
export { column_getIndex, column_getIsFirstColumn, column_getIsLastColumn, getDefaultColumnOrderState, orderColumns, table_getOrderColumnsFn, table_resetColumnOrder, table_setColumnOrder };
|
|
107
|
-
//# sourceMappingURL=columnOrderingFeature.utils.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"columnOrderingFeature.utils.js","names":[],"sources":["../../../src/features/column-ordering/columnOrderingFeature.utils.ts"],"sourcesContent":["import { table_getPinnedVisibleLeafColumns } from '../column-pinning/columnPinningFeature.utils'\nimport { cloneState } from '../../utils'\nimport type { GroupingState } from '../column-grouping/columnGroupingFeature.types'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types'\nimport type { ColumnOrderState } from './columnOrderingFeature.types'\n\n/**\n * Creates the default column order state.\n *\n * The feature default is an empty array, meaning leaf columns keep their natural\n * definition order. Reset APIs use this value when `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const order = getDefaultColumnOrderState()\n * ```\n */\nexport function getDefaultColumnOrderState(): ColumnOrderState {\n return []\n}\n\n/**\n * Finds this column's index within a visible pinning region.\n *\n * Pass `'left'`, `'center'`, or `'right'` to search that region; omit the\n * position to search the full visible leaf column list.\n *\n * @example\n * ```ts\n * const index = column_getIndex(column, 'center')\n * ```\n */\nexport function column_getIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns.findIndex((d) => d.id === column.id)\n}\n\n/**\n * Checks whether this column is the first visible column in a pinning region.\n *\n * The same `position` semantics as `column_getIndex` apply.\n *\n * @example\n * ```ts\n * const isFirst = column_getIsFirstColumn(column, 'left')\n * ```\n */\nexport function column_getIsFirstColumn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns[0]?.id === column.id\n}\n\n/**\n * Checks whether this column is the last visible column in a pinning region.\n *\n * The same `position` semantics as `column_getIndex` apply.\n *\n * @example\n * ```ts\n * const isLast = column_getIsLastColumn(column, 'right')\n * ```\n */\nexport function column_getIsLastColumn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns[columns.length - 1]?.id === column.id\n}\n\n/**\n * Routes a column order updater through the table's column-order change handler.\n *\n * The updater may be a next ordered id array or a function of the previous\n * array, matching the instance `table.setColumnOrder` behavior.\n *\n * @example\n * ```ts\n * table_setColumnOrder(table, ['firstName', 'lastName', 'age'])\n * ```\n */\nexport function table_setColumnOrder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnOrderState>) {\n table.options.onColumnOrderChange?.(updater)\n}\n\n/**\n * Resets `columnOrder` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnOrder` when it\n * exists. Passing `true` ignores initial state and resets to `[]`.\n *\n * @example\n * ```ts\n * table_resetColumnOrder(table)\n * table_resetColumnOrder(table, true)\n * ```\n */\nexport function table_resetColumnOrder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnOrder(\n table,\n defaultState ? [] : cloneState(table.initialState.columnOrder ?? []),\n )\n}\n\n/**\n * Creates the ordering function used to arrange leaf columns.\n *\n * The returned function applies `state.columnOrder`, preserves unspecified\n * columns in their original order, then delegates to grouping rules.\n *\n * @example\n * ```ts\n * const orderColumnsForTable = table_getOrderColumnsFn(table)\n * ```\n */\nexport function table_getOrderColumnsFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const columnOrder = table.atoms.columnOrder?.get()\n\n return (columns: Array<Column_Internal<TFeatures, TData, unknown>>) => {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n let orderedColumns: Array<Column_Internal<TFeatures, TData, unknown>> = []\n\n // If there is no order, return the normal columns\n if (!columnOrder?.length) {\n orderedColumns = columns\n } else {\n // Index columns by id for O(1) lookup\n const remaining = new Map<\n string,\n Column_Internal<TFeatures, TData, unknown>\n >()\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]!\n remaining.set(column.id, column)\n }\n\n // Place columns in the requested order, removing each as it's used\n // (handles duplicates and unknown ids in columnOrder)\n for (let i = 0; i < columnOrder.length; i++) {\n const id = columnOrder[i]!\n const column = remaining.get(id)\n if (column) {\n orderedColumns.push(column)\n remaining.delete(id)\n }\n }\n\n // Append leftover columns in their original order\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]!\n if (remaining.has(column.id)) orderedColumns.push(column)\n }\n }\n\n return orderColumns(table, orderedColumns)\n }\n}\n\n/**\n * Applies grouped-column placement rules to an already ordered leaf-column list.\n *\n * `groupedColumnMode: 'remove'` drops grouped columns from the list.\n * `groupedColumnMode: 'reorder'` moves grouped columns to the front in grouping\n * state order.\n *\n * @example\n * ```ts\n * const orderedColumns = orderColumns(table, leafColumns)\n * ```\n */\nexport function orderColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n leafColumns: Array<Column_Internal<TFeatures, TData, unknown>>,\n) {\n const grouping = table.atoms.grouping?.get() ?? ([] as GroupingState)\n const { groupedColumnMode } = table.options\n\n if (!grouping.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n (col) => !grouping.includes(col.id),\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const leafColumnsById = new Map<\n string,\n Column_Internal<TFeatures, TData, unknown>\n >()\n for (let i = 0; i < leafColumns.length; i++) {\n const col = leafColumns[i]!\n leafColumnsById.set(col.id, col)\n }\n\n const groupingColumns: Array<Column_Internal<TFeatures, TData, unknown>> = []\n for (let i = 0; i < grouping.length; i++) {\n const col = leafColumnsById.get(grouping[i]!)\n if (col) groupingColumns.push(col)\n }\n\n return [...groupingColumns, ...nonGroupingColumns]\n}\n"],"mappings":";;;;;;;;;;;;;;;AAqBA,SAAgB,6BAA+C;CAC7D,OAAO,CAAC;AACV;;;;;;;;;;;;AAaA,SAAgB,gBAKd,QACA,UACA;CAEA,OADgB,kCAAkC,OAAO,OAAO,QACnD,CAAC,CAAC,WAAW,MAAM,EAAE,OAAO,OAAO,EAAE;AACpD;;;;;;;;;;;AAYA,SAAgB,wBAKd,QACA,UACA;;CAEA,qBADgB,kCAAkC,OAAO,OAAO,QACnD,CAAC,CAAC,0DAAI,QAAO,OAAO;AACnC;;;;;;;;;;;AAYA,SAAgB,uBAKd,QACA,UACA;;CACA,MAAM,UAAU,kCAAkC,OAAO,OAAO,QAAQ;CACxE,oBAAO,QAAQ,QAAQ,SAAS,wDAAI,QAAO,OAAO;AACpD;;;;;;;;;;;;AAaA,SAAgB,qBAGd,OAAyC,SAAoC;;CAC7E,iDAAM,SAAQ,gHAAsB,OAAO;AAC7C;;;;;;;;;;;;;AAcA,SAAgB,uBAGd,OAAyC,cAAwB;CACjE,qBACE,OACA,eAAe,CAAC,IAAI,WAAW,MAAM,aAAa,eAAe,CAAC,CAAC,CACrE;AACF;;;;;;;;;;;;AAaA,SAAgB,wBAGd,OAAyC;;CACzC,MAAM,uCAAc,MAAM,MAAM,2FAAa,IAAI;CAEjD,QAAQ,YAA+D;EAGrE,IAAI,iBAAoE,CAAC;EAGzE,IAAI,4DAAC,YAAa,SAChB,iBAAiB;OACZ;GAEL,MAAM,4BAAY,IAAI,IAGpB;GACF,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;IACvC,MAAM,SAAS,QAAQ;IACvB,UAAU,IAAI,OAAO,IAAI,MAAM;GACjC;GAIA,KAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;IAC3C,MAAM,KAAK,YAAY;IACvB,MAAM,SAAS,UAAU,IAAI,EAAE;IAC/B,IAAI,QAAQ;KACV,eAAe,KAAK,MAAM;KAC1B,UAAU,OAAO,EAAE;IACrB;GACF;GAGA,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;IACvC,MAAM,SAAS,QAAQ;IACvB,IAAI,UAAU,IAAI,OAAO,EAAE,GAAG,eAAe,KAAK,MAAM;GAC1D;EACF;EAEA,OAAO,aAAa,OAAO,cAAc;CAC3C;AACF;;;;;;;;;;;;;AAcA,SAAgB,aAId,OACA,aACA;;CACA,MAAM,qCAAW,MAAM,MAAM,wFAAU,IAAI,MAAM,CAAC;CAClD,MAAM,EAAE,sBAAsB,MAAM;CAEpC,IAAI,CAAC,SAAS,UAAU,CAAC,mBACvB,OAAO;CAGT,MAAM,qBAAqB,YAAY,QACpC,QAAQ,CAAC,SAAS,SAAS,IAAI,EAAE,CACpC;CAEA,IAAI,sBAAsB,UACxB,OAAO;CAGT,MAAM,kCAAkB,IAAI,IAG1B;CACF,KAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;EAC3C,MAAM,MAAM,YAAY;EACxB,gBAAgB,IAAI,IAAI,IAAI,GAAG;CACjC;CAEA,MAAM,kBAAqE,CAAC;CAC5E,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,MAAM,gBAAgB,IAAI,SAAS,EAAG;EAC5C,IAAI,KAAK,gBAAgB,KAAK,GAAG;CACnC;CAEA,OAAO,CAAC,GAAG,iBAAiB,GAAG,kBAAkB;AACnD"}
|