@tanstack/table-core 9.0.0-beta.7 → 9.0.0-beta.70
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 +25 -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 +1 -2
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +54 -24
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +19 -22
- package/dist/features/row-sorting/rowSortingFeature.utils.js +36 -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 +11 -8
- package/dist/static-functions.js +11 -8
- 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
|
@@ -3,101 +3,115 @@ import { column_getIsVisible } from "../../features/column-visibility/columnVisi
|
|
|
3
3
|
import { constructHeader } from "./constructHeader.js";
|
|
4
4
|
|
|
5
5
|
//#region src/core/headers/buildHeaderGroups.ts
|
|
6
|
+
function getMaxHeaderDepth(columns, depth = 1) {
|
|
7
|
+
let maxDepth = depth;
|
|
8
|
+
for (let i = 0; i < columns.length; i++) {
|
|
9
|
+
const column = columns[i];
|
|
10
|
+
if (callMemoOrStaticFn(column, "getIsVisible", column_getIsVisible) && column.columns.length) maxDepth = Math.max(maxDepth, getMaxHeaderDepth(column.columns, depth + 1));
|
|
11
|
+
}
|
|
12
|
+
return maxDepth;
|
|
13
|
+
}
|
|
14
|
+
function formatHeaderGroupId(headerFamily, depth) {
|
|
15
|
+
return headerFamily ? `${headerFamily}_${depth}` : String(depth);
|
|
16
|
+
}
|
|
17
|
+
function formatHeaderId(headerFamily, depth, columnId, childHeaderId) {
|
|
18
|
+
let id = headerFamily ?? "";
|
|
19
|
+
if (depth) id = id ? `${id}_${depth}` : String(depth);
|
|
20
|
+
if (columnId) id = id ? `${id}_${columnId}` : columnId;
|
|
21
|
+
if (childHeaderId) id = id ? `${id}_${childHeaderId}` : childHeaderId;
|
|
22
|
+
return id;
|
|
23
|
+
}
|
|
24
|
+
function countPendingHeadersForColumn(headers, column) {
|
|
25
|
+
let count = 0;
|
|
26
|
+
for (let i = 0; i < headers.length; i++) if (headers[i].column === column) count++;
|
|
27
|
+
return count;
|
|
28
|
+
}
|
|
29
|
+
function constructHeaderGroup(headersToGroup, depth, table, headerFamily, headerGroups, headerGroupInitFns) {
|
|
30
|
+
const headerGroup = {
|
|
31
|
+
depth,
|
|
32
|
+
id: formatHeaderGroupId(headerFamily, depth),
|
|
33
|
+
headers: []
|
|
34
|
+
};
|
|
35
|
+
const pendingParentHeaders = [];
|
|
36
|
+
for (let i = 0; i < headersToGroup.length; i++) {
|
|
37
|
+
if (!(i in headersToGroup)) continue;
|
|
38
|
+
const headerToGroup = headersToGroup[i];
|
|
39
|
+
const latestPendingParentHeader = pendingParentHeaders[pendingParentHeaders.length - 1];
|
|
40
|
+
const isLeafHeader = headerToGroup.column.depth === headerGroup.depth;
|
|
41
|
+
let column;
|
|
42
|
+
let isPlaceholder = false;
|
|
43
|
+
if (isLeafHeader && headerToGroup.column.parent) column = headerToGroup.column.parent;
|
|
44
|
+
else {
|
|
45
|
+
column = headerToGroup.column;
|
|
46
|
+
isPlaceholder = true;
|
|
47
|
+
}
|
|
48
|
+
if (latestPendingParentHeader && latestPendingParentHeader.column === column) latestPendingParentHeader.subHeaders.push(headerToGroup);
|
|
49
|
+
else {
|
|
50
|
+
const header = constructHeader(table, column, {
|
|
51
|
+
id: formatHeaderId(headerFamily, depth, column.id, headerToGroup.id),
|
|
52
|
+
isPlaceholder,
|
|
53
|
+
placeholderId: isPlaceholder ? String(countPendingHeadersForColumn(pendingParentHeaders, column)) : void 0,
|
|
54
|
+
depth,
|
|
55
|
+
index: pendingParentHeaders.length
|
|
56
|
+
});
|
|
57
|
+
header.subHeaders.push(headerToGroup);
|
|
58
|
+
pendingParentHeaders.push(header);
|
|
59
|
+
}
|
|
60
|
+
headerGroup.headers.push(headerToGroup);
|
|
61
|
+
headerToGroup.headerGroup = headerGroup;
|
|
62
|
+
}
|
|
63
|
+
for (let i = 0; i < headerGroupInitFns.length; i++) headerGroupInitFns[i](headerGroup);
|
|
64
|
+
headerGroups.push(headerGroup);
|
|
65
|
+
if (depth > 0) constructHeaderGroup(pendingParentHeaders, depth - 1, table, headerFamily, headerGroups, headerGroupInitFns);
|
|
66
|
+
}
|
|
67
|
+
function updateHeaderSpans(headers) {
|
|
68
|
+
for (let i = 0; i < headers.length; i++) {
|
|
69
|
+
const header = headers[i];
|
|
70
|
+
if (!callMemoOrStaticFn(header.column, "getIsVisible", column_getIsVisible)) continue;
|
|
71
|
+
let colSpan = 0;
|
|
72
|
+
if (header.subHeaders.length) {
|
|
73
|
+
updateHeaderSpans(header.subHeaders);
|
|
74
|
+
for (let j = 0; j < header.subHeaders.length; j++) {
|
|
75
|
+
const child = header.subHeaders[j];
|
|
76
|
+
if (!callMemoOrStaticFn(child.column, "getIsVisible", column_getIsVisible)) continue;
|
|
77
|
+
colSpan += child.colSpan;
|
|
78
|
+
}
|
|
79
|
+
} else colSpan = 1;
|
|
80
|
+
header.colSpan = colSpan;
|
|
81
|
+
if (header.isPlaceholder && header.subHeaders.length === 1 && header.subHeaders[0].column === header.column) {
|
|
82
|
+
let rowSpan = 1;
|
|
83
|
+
let chainChild = header.subHeaders[0];
|
|
84
|
+
while (chainChild) {
|
|
85
|
+
chainChild.rowSpan = 0;
|
|
86
|
+
rowSpan++;
|
|
87
|
+
chainChild = chainChild.subHeaders.length === 1 && chainChild.subHeaders[0].column === header.column ? chainChild.subHeaders[0] : void 0;
|
|
88
|
+
}
|
|
89
|
+
header.rowSpan = rowSpan;
|
|
90
|
+
} else header.rowSpan = 1;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
6
93
|
/**
|
|
7
94
|
* Builds the nested header group structure for a table.
|
|
8
95
|
*
|
|
9
96
|
* The result accounts for visible leaf columns, pinned column groups, and placeholder headers needed to render multi-level headers.
|
|
10
97
|
*/
|
|
11
98
|
function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
|
|
12
|
-
|
|
13
|
-
let maxDepth = 0;
|
|
14
|
-
const findMaxDepth = (columns, depth = 1) => {
|
|
15
|
-
maxDepth = Math.max(maxDepth, depth);
|
|
16
|
-
for (let i = 0; i < columns.length; i++) {
|
|
17
|
-
const column = columns[i];
|
|
18
|
-
if (callMemoOrStaticFn(column, "getIsVisible", column_getIsVisible)) {
|
|
19
|
-
if (column.columns.length) findMaxDepth(column.columns, depth + 1);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
findMaxDepth(allColumns);
|
|
99
|
+
const maxDepth = getMaxHeaderDepth(allColumns);
|
|
24
100
|
const headerGroups = [];
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
headersToGroup.forEach((headerToGroup) => {
|
|
33
|
-
const latestPendingParentHeader = pendingParentHeaders[pendingParentHeaders.length - 1];
|
|
34
|
-
const isLeafHeader = headerToGroup.column.depth === headerGroup.depth;
|
|
35
|
-
let column;
|
|
36
|
-
let isPlaceholder = false;
|
|
37
|
-
if (isLeafHeader && headerToGroup.column.parent) column = headerToGroup.column.parent;
|
|
38
|
-
else {
|
|
39
|
-
column = headerToGroup.column;
|
|
40
|
-
isPlaceholder = true;
|
|
41
|
-
}
|
|
42
|
-
if (latestPendingParentHeader && latestPendingParentHeader.column === column) latestPendingParentHeader.subHeaders.push(headerToGroup);
|
|
43
|
-
else {
|
|
44
|
-
const header = constructHeader(table, column, {
|
|
45
|
-
id: [
|
|
46
|
-
headerFamily,
|
|
47
|
-
depth,
|
|
48
|
-
column.id,
|
|
49
|
-
headerToGroup.id
|
|
50
|
-
].filter(Boolean).join("_"),
|
|
51
|
-
isPlaceholder,
|
|
52
|
-
placeholderId: isPlaceholder ? `${pendingParentHeaders.filter((d) => d.column === column).length}` : void 0,
|
|
53
|
-
depth,
|
|
54
|
-
index: pendingParentHeaders.length
|
|
55
|
-
});
|
|
56
|
-
header.subHeaders.push(headerToGroup);
|
|
57
|
-
pendingParentHeaders.push(header);
|
|
58
|
-
}
|
|
59
|
-
headerGroup.headers.push(headerToGroup);
|
|
60
|
-
headerToGroup.headerGroup = headerGroup;
|
|
101
|
+
const headerGroupInitFns = table._headerGroupInstanceInitFns;
|
|
102
|
+
const bottomHeaders = new Array(columnsToGroup.length);
|
|
103
|
+
for (let i = 0; i < columnsToGroup.length; i++) {
|
|
104
|
+
if (!(i in columnsToGroup)) continue;
|
|
105
|
+
bottomHeaders[i] = constructHeader(table, columnsToGroup[i], {
|
|
106
|
+
depth: maxDepth,
|
|
107
|
+
index: i
|
|
61
108
|
});
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
};
|
|
65
|
-
constructHeaderGroup(columnsToGroup.map((column, index) => constructHeader(table, column, {
|
|
66
|
-
depth: maxDepth,
|
|
67
|
-
index
|
|
68
|
-
})), maxDepth - 1);
|
|
109
|
+
}
|
|
110
|
+
constructHeaderGroup(bottomHeaders, maxDepth - 1, table, headerFamily, headerGroups, headerGroupInitFns);
|
|
69
111
|
headerGroups.reverse();
|
|
70
|
-
|
|
71
|
-
const results = [];
|
|
72
|
-
for (let i = 0; i < headers.length; i++) {
|
|
73
|
-
const header = headers[i];
|
|
74
|
-
if (!callMemoOrStaticFn(header.column, "getIsVisible", column_getIsVisible)) continue;
|
|
75
|
-
let colSpan = 0;
|
|
76
|
-
let minChildRowSpan = Infinity;
|
|
77
|
-
if (header.subHeaders.length) {
|
|
78
|
-
const childSpans = recurseHeadersForSpans(header.subHeaders);
|
|
79
|
-
for (let j = 0; j < childSpans.length; j++) {
|
|
80
|
-
const child = childSpans[j];
|
|
81
|
-
colSpan += child.colSpan;
|
|
82
|
-
if (child.rowSpan < minChildRowSpan) minChildRowSpan = child.rowSpan;
|
|
83
|
-
}
|
|
84
|
-
} else {
|
|
85
|
-
colSpan = 1;
|
|
86
|
-
minChildRowSpan = 0;
|
|
87
|
-
}
|
|
88
|
-
header.colSpan = colSpan;
|
|
89
|
-
header.rowSpan = minChildRowSpan;
|
|
90
|
-
results.push({
|
|
91
|
-
colSpan,
|
|
92
|
-
rowSpan: header.rowSpan
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
return results;
|
|
96
|
-
};
|
|
97
|
-
recurseHeadersForSpans(((_headerGroups$ = headerGroups[0]) === null || _headerGroups$ === void 0 ? void 0 : _headerGroups$.headers) ?? []);
|
|
112
|
+
updateHeaderSpans(headerGroups[0]?.headers ?? []);
|
|
98
113
|
return headerGroups;
|
|
99
114
|
}
|
|
100
115
|
|
|
101
116
|
//#endregion
|
|
102
|
-
export { buildHeaderGroups };
|
|
103
|
-
//# sourceMappingURL=buildHeaderGroups.js.map
|
|
117
|
+
export { buildHeaderGroups };
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { CellData, RowData } from "../../types/type-utils.js";
|
|
2
2
|
import { Header } from "../../types/Header.js";
|
|
3
3
|
import { Column } from "../../types/Column.js";
|
|
4
|
+
import { Table } from "../../types/Table.js";
|
|
4
5
|
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
5
|
-
import { Table_Internal } from "../../types/Table.js";
|
|
6
|
-
|
|
7
6
|
//#region src/core/headers/constructHeader.d.ts
|
|
8
7
|
/**
|
|
9
8
|
* Constructs a header instance from normalized table internals.
|
|
10
9
|
*
|
|
11
10
|
* This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.
|
|
12
11
|
*/
|
|
13
|
-
declare function constructHeader<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(table:
|
|
12
|
+
declare function constructHeader<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(table: Table<TFeatures, TData>, column: Column<TFeatures, TData, TValue>, options: {
|
|
14
13
|
id?: string;
|
|
15
14
|
isPlaceholder?: boolean;
|
|
16
15
|
placeholderId?: string;
|
|
@@ -18,5 +17,4 @@ declare function constructHeader<TFeatures extends TableFeatures, TData extends
|
|
|
18
17
|
depth: number;
|
|
19
18
|
}): Header<TFeatures, TData, TValue>;
|
|
20
19
|
//#endregion
|
|
21
|
-
export { constructHeader };
|
|
22
|
-
//# sourceMappingURL=constructHeader.d.ts.map
|
|
20
|
+
export { constructHeader };
|
|
@@ -7,10 +7,7 @@ function getHeaderPrototype(table) {
|
|
|
7
7
|
if (!table._headerPrototype) {
|
|
8
8
|
table._headerPrototype = { table };
|
|
9
9
|
const features = Object.values(table._features);
|
|
10
|
-
for (let i = 0; i < features.length; i++)
|
|
11
|
-
var _assignHeaderPrototyp, _ref;
|
|
12
|
-
(_assignHeaderPrototyp = (_ref = features[i]).assignHeaderPrototype) === null || _assignHeaderPrototyp === void 0 || _assignHeaderPrototyp.call(_ref, table._headerPrototype, table);
|
|
13
|
-
}
|
|
10
|
+
for (let i = 0; i < features.length; i++) features[i].assignHeaderPrototype?.(table._headerPrototype, table);
|
|
14
11
|
}
|
|
15
12
|
return table._headerPrototype;
|
|
16
13
|
}
|
|
@@ -32,9 +29,10 @@ function constructHeader(table, column, options) {
|
|
|
32
29
|
header.placeholderId = options.placeholderId;
|
|
33
30
|
header.rowSpan = 0;
|
|
34
31
|
header.subHeaders = [];
|
|
32
|
+
const initFns = table._headerInstanceInitFns;
|
|
33
|
+
for (let i = 0; i < initFns.length; i++) initFns[i](header);
|
|
35
34
|
return header;
|
|
36
35
|
}
|
|
37
36
|
|
|
38
37
|
//#endregion
|
|
39
|
-
export { constructHeader };
|
|
40
|
-
//# sourceMappingURL=constructHeader.js.map
|
|
38
|
+
export { constructHeader };
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { TableFeature } from "../../types/TableFeatures.js";
|
|
2
|
-
|
|
3
2
|
//#region src/core/headers/coreHeadersFeature.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* Core feature that builds header groups and exposes header context APIs.
|
|
6
5
|
*/
|
|
7
6
|
declare const coreHeadersFeature: TableFeature;
|
|
8
7
|
//#endregion
|
|
9
|
-
export { coreHeadersFeature };
|
|
10
|
-
//# sourceMappingURL=coreHeadersFeature.d.ts.map
|
|
8
|
+
export { coreHeadersFeature };
|
|
@@ -22,17 +22,14 @@ const coreHeadersFeature = {
|
|
|
22
22
|
assignTableAPIs("coreHeadersFeature", table, {
|
|
23
23
|
table_getHeaderGroups: {
|
|
24
24
|
fn: () => table_getHeaderGroups(table),
|
|
25
|
-
memoDeps: () =>
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
table.options.groupedColumnMode
|
|
34
|
-
];
|
|
35
|
-
}
|
|
25
|
+
memoDeps: () => [
|
|
26
|
+
table.options.columns,
|
|
27
|
+
table.atoms.columnOrder?.get(),
|
|
28
|
+
table.atoms.grouping?.get(),
|
|
29
|
+
table.atoms.columnPinning?.get(),
|
|
30
|
+
table.atoms.columnVisibility?.get(),
|
|
31
|
+
table.options.groupedColumnMode
|
|
32
|
+
]
|
|
36
33
|
},
|
|
37
34
|
table_getFooterGroups: {
|
|
38
35
|
fn: () => table_getFooterGroups(table),
|
|
@@ -51,5 +48,4 @@ const coreHeadersFeature = {
|
|
|
51
48
|
};
|
|
52
49
|
|
|
53
50
|
//#endregion
|
|
54
|
-
export { coreHeadersFeature };
|
|
55
|
-
//# sourceMappingURL=coreHeadersFeature.js.map
|
|
51
|
+
export { coreHeadersFeature };
|
|
@@ -2,11 +2,10 @@ import { CellData, RowData } from "../../types/type-utils.js";
|
|
|
2
2
|
import { HeaderGroup } from "../../types/HeaderGroup.js";
|
|
3
3
|
import { Header } from "../../types/Header.js";
|
|
4
4
|
import { Column } from "../../types/Column.js";
|
|
5
|
-
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
6
5
|
import { Table } from "../../types/Table.js";
|
|
7
|
-
|
|
6
|
+
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
8
7
|
//#region src/core/headers/coreHeadersFeature.types.d.ts
|
|
9
|
-
interface Table_Headers<TFeatures extends TableFeatures, TData extends RowData> {
|
|
8
|
+
interface Table_Headers<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
10
9
|
/**
|
|
11
10
|
* Builds the visible header groups for the current column tree, visibility,
|
|
12
11
|
* and pinning state.
|
|
@@ -26,7 +25,7 @@ interface Table_Headers<TFeatures extends TableFeatures, TData extends RowData>
|
|
|
26
25
|
*/
|
|
27
26
|
getLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
|
|
28
27
|
}
|
|
29
|
-
interface HeaderContext<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {
|
|
28
|
+
interface HeaderContext<in out TFeatures extends TableFeatures, in out TData extends RowData, TValue extends CellData = CellData> {
|
|
30
29
|
/**
|
|
31
30
|
* An instance of a column.
|
|
32
31
|
*/
|
|
@@ -40,7 +39,7 @@ interface HeaderContext<TFeatures extends TableFeatures, TData extends RowData,
|
|
|
40
39
|
*/
|
|
41
40
|
table: Table<TFeatures, TData>;
|
|
42
41
|
}
|
|
43
|
-
interface Header_CoreProperties<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {
|
|
42
|
+
interface Header_CoreProperties<in out TFeatures extends TableFeatures, in out TData extends RowData, TValue extends CellData = CellData> {
|
|
44
43
|
/**
|
|
45
44
|
* The col-span for the header.
|
|
46
45
|
*/
|
|
@@ -66,7 +65,11 @@ interface Header_CoreProperties<TFeatures extends TableFeatures, TData extends R
|
|
|
66
65
|
*/
|
|
67
66
|
index: number;
|
|
68
67
|
/**
|
|
69
|
-
* A boolean denoting if the header is a placeholder header.
|
|
68
|
+
* A boolean denoting if the header is a placeholder header. Placeholder
|
|
69
|
+
* headers fill the rows above a shallow leaf column's real header so that
|
|
70
|
+
* every header group row accounts for every visible column. Render them as
|
|
71
|
+
* empty cells, or use `header.rowSpan` to merge each chain of placeholders
|
|
72
|
+
* into one vertically spanning header cell.
|
|
70
73
|
*/
|
|
71
74
|
isPlaceholder: boolean;
|
|
72
75
|
/**
|
|
@@ -74,7 +77,15 @@ interface Header_CoreProperties<TFeatures extends TableFeatures, TData extends R
|
|
|
74
77
|
*/
|
|
75
78
|
placeholderId?: string;
|
|
76
79
|
/**
|
|
77
|
-
* The
|
|
80
|
+
* The number of header group rows the header should span when merging header
|
|
81
|
+
* cells vertically. A leaf column that is shallower than the deepest leaf
|
|
82
|
+
* column produces a chain of placeholder headers above its real header; the
|
|
83
|
+
* placeholder at the top of the chain reports the chain's full span, and
|
|
84
|
+
* every header it covers (including the real leaf header in the bottom row)
|
|
85
|
+
* reports 0. To merge vertically, skip headers with a rowSpan of 0 and
|
|
86
|
+
* render every other header with the `rowSpan` attribute and its column's
|
|
87
|
+
* header content, even when it is a placeholder. Headers in even column
|
|
88
|
+
* trees always report 1.
|
|
78
89
|
*/
|
|
79
90
|
rowSpan: number;
|
|
80
91
|
/**
|
|
@@ -86,7 +97,7 @@ interface Header_CoreProperties<TFeatures extends TableFeatures, TData extends R
|
|
|
86
97
|
*/
|
|
87
98
|
table: Table<TFeatures, TData>;
|
|
88
99
|
}
|
|
89
|
-
interface Header_Header<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> extends Header_CoreProperties<TFeatures, TData, TValue> {
|
|
100
|
+
interface Header_Header<in out TFeatures extends TableFeatures, in out TData extends RowData, TValue extends CellData = CellData> extends Header_CoreProperties<TFeatures, TData, TValue> {
|
|
90
101
|
/**
|
|
91
102
|
* Returns the rendering context (or props) for column-based components like headers, footers and filters.
|
|
92
103
|
*/
|
|
@@ -96,11 +107,10 @@ interface Header_Header<TFeatures extends TableFeatures, TData extends RowData,
|
|
|
96
107
|
*/
|
|
97
108
|
getLeafHeaders: () => Array<Header<TFeatures, TData, TValue>>;
|
|
98
109
|
}
|
|
99
|
-
interface HeaderGroup_Header<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {
|
|
110
|
+
interface HeaderGroup_Header<in out TFeatures extends TableFeatures, in out TData extends RowData, TValue extends CellData = CellData> {
|
|
100
111
|
depth: number;
|
|
101
112
|
headers: Array<Header<TFeatures, TData, TValue>>;
|
|
102
113
|
id: string;
|
|
103
114
|
}
|
|
104
115
|
//#endregion
|
|
105
|
-
export { HeaderContext, HeaderGroup_Header, Header_CoreProperties, Header_Header, Table_Headers };
|
|
106
|
-
//# sourceMappingURL=coreHeadersFeature.types.d.ts.map
|
|
116
|
+
export { HeaderContext, HeaderGroup_Header, Header_CoreProperties, Header_Header, Table_Headers };
|
|
@@ -2,8 +2,9 @@ import { RowData } from "../../types/type-utils.js";
|
|
|
2
2
|
import { HeaderGroup } from "../../types/HeaderGroup.js";
|
|
3
3
|
import { Header } from "../../types/Header.js";
|
|
4
4
|
import { Column } from "../../types/Column.js";
|
|
5
|
+
import { Table } from "../../types/Table.js";
|
|
5
6
|
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
6
|
-
import
|
|
7
|
+
import "../../index.js";
|
|
7
8
|
//#region src/core/headers/coreHeadersFeature.utils.d.ts
|
|
8
9
|
/**
|
|
9
10
|
* Walks a header tree and collects all descendant leaf headers.
|
|
@@ -30,7 +31,7 @@ declare function header_getLeafHeaders<TFeatures extends TableFeatures, TData ex
|
|
|
30
31
|
declare function header_getContext<TFeatures extends TableFeatures, TData extends RowData, TValue>(header: Header<TFeatures, TData, TValue>): {
|
|
31
32
|
column: Column<TFeatures, TData, TValue>;
|
|
32
33
|
header: Header<TFeatures, TData, TValue>;
|
|
33
|
-
table:
|
|
34
|
+
table: Table<TFeatures, TData>;
|
|
34
35
|
};
|
|
35
36
|
/**
|
|
36
37
|
* Builds visible header groups for the current column tree.
|
|
@@ -43,7 +44,7 @@ declare function header_getContext<TFeatures extends TableFeatures, TData extend
|
|
|
43
44
|
* const headerGroups = table_getHeaderGroups(table)
|
|
44
45
|
* ```
|
|
45
46
|
*/
|
|
46
|
-
declare function table_getHeaderGroups<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
47
|
+
declare function table_getHeaderGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): HeaderGroup<TFeatures, TData>[];
|
|
47
48
|
/**
|
|
48
49
|
* Builds footer groups by reversing the current header groups.
|
|
49
50
|
*
|
|
@@ -55,7 +56,7 @@ declare function table_getHeaderGroups<TFeatures extends TableFeatures, TData ex
|
|
|
55
56
|
* const footerGroups = table_getFooterGroups(table)
|
|
56
57
|
* ```
|
|
57
58
|
*/
|
|
58
|
-
declare function table_getFooterGroups<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
59
|
+
declare function table_getFooterGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): HeaderGroup<TFeatures, TData>[];
|
|
59
60
|
/**
|
|
60
61
|
* Flattens every header from every header group into one array.
|
|
61
62
|
*
|
|
@@ -67,7 +68,7 @@ declare function table_getFooterGroups<TFeatures extends TableFeatures, TData ex
|
|
|
67
68
|
* const flatHeaders = table_getFlatHeaders(table)
|
|
68
69
|
* ```
|
|
69
70
|
*/
|
|
70
|
-
declare function table_getFlatHeaders<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
71
|
+
declare function table_getFlatHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Header<TFeatures, TData, unknown>[];
|
|
71
72
|
/**
|
|
72
73
|
* Collects only the leaf headers from the current header tree.
|
|
73
74
|
*
|
|
@@ -79,7 +80,6 @@ declare function table_getFlatHeaders<TFeatures extends TableFeatures, TData ext
|
|
|
79
80
|
* const leafHeaders = table_getLeafHeaders(table)
|
|
80
81
|
* ```
|
|
81
82
|
*/
|
|
82
|
-
declare function table_getLeafHeaders<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
83
|
+
declare function table_getLeafHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Header<TFeatures, TData, unknown>[];
|
|
83
84
|
//#endregion
|
|
84
|
-
export { header_getContext, header_getLeafHeaders, table_getFlatHeaders, table_getFooterGroups, table_getHeaderGroups, table_getLeafHeaders };
|
|
85
|
-
//# sourceMappingURL=coreHeadersFeature.utils.d.ts.map
|
|
85
|
+
export { header_getContext, header_getLeafHeaders, table_getFlatHeaders, table_getFooterGroups, table_getHeaderGroups, table_getLeafHeaders };
|
|
@@ -4,6 +4,10 @@ import { buildHeaderGroups } from "./buildHeaderGroups.js";
|
|
|
4
4
|
import { getDefaultColumnPinningState } from "../../features/column-pinning/columnPinningFeature.utils.js";
|
|
5
5
|
|
|
6
6
|
//#region src/core/headers/coreHeadersFeature.utils.ts
|
|
7
|
+
function collectLeafHeaders(header, leafHeaders) {
|
|
8
|
+
for (let i = 0; i < header.subHeaders.length; i++) collectLeafHeaders(header.subHeaders[i], leafHeaders);
|
|
9
|
+
leafHeaders.push(header);
|
|
10
|
+
}
|
|
7
11
|
/**
|
|
8
12
|
* Walks a header tree and collects all descendant leaf headers.
|
|
9
13
|
*
|
|
@@ -17,11 +21,7 @@ import { getDefaultColumnPinningState } from "../../features/column-pinning/colu
|
|
|
17
21
|
*/
|
|
18
22
|
function header_getLeafHeaders(header) {
|
|
19
23
|
const leafHeaders = [];
|
|
20
|
-
|
|
21
|
-
if (h.subHeaders.length) h.subHeaders.map(recurseHeader);
|
|
22
|
-
leafHeaders.push(h);
|
|
23
|
-
};
|
|
24
|
-
recurseHeader(header);
|
|
24
|
+
collectLeafHeaders(header, leafHeaders);
|
|
25
25
|
return leafHeaders;
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
@@ -53,23 +53,22 @@ function header_getContext(header) {
|
|
|
53
53
|
* ```
|
|
54
54
|
*/
|
|
55
55
|
function table_getHeaderGroups(table) {
|
|
56
|
-
|
|
57
|
-
const { left, right } = ((_table$atoms$columnPi = table.atoms.columnPinning) === null || _table$atoms$columnPi === void 0 ? void 0 : _table$atoms$columnPi.get()) ?? getDefaultColumnPinningState();
|
|
56
|
+
const { start, end } = table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState();
|
|
58
57
|
const allColumns = table.getAllColumns();
|
|
59
58
|
const leafColumns = callMemoOrStaticFn(table, "getVisibleLeafColumns", table_getVisibleLeafColumns);
|
|
60
|
-
if (!
|
|
59
|
+
if (!start.length && !end.length) return buildHeaderGroups(allColumns, leafColumns, table);
|
|
61
60
|
const leafColumnsById = table.getAllLeafColumnsById();
|
|
62
61
|
const leftColumns = [];
|
|
63
|
-
for (let i = 0; i <
|
|
64
|
-
const column = leafColumnsById[
|
|
62
|
+
for (let i = 0; i < start.length; i++) {
|
|
63
|
+
const column = leafColumnsById[start[i]];
|
|
65
64
|
if (column && callMemoOrStaticFn(column, "getIsVisible", column_getIsVisible)) leftColumns.push(column);
|
|
66
65
|
}
|
|
67
66
|
const rightColumns = [];
|
|
68
|
-
for (let i = 0; i <
|
|
69
|
-
const column = leafColumnsById[
|
|
67
|
+
for (let i = 0; i < end.length; i++) {
|
|
68
|
+
const column = leafColumnsById[end[i]];
|
|
70
69
|
if (column && callMemoOrStaticFn(column, "getIsVisible", column_getIsVisible)) rightColumns.push(column);
|
|
71
70
|
}
|
|
72
|
-
const centerColumns = leafColumns.filter((column) => !
|
|
71
|
+
const centerColumns = leafColumns.filter((column) => !start.includes(column.id) && !end.includes(column.id));
|
|
73
72
|
return buildHeaderGroups(allColumns, [
|
|
74
73
|
...leftColumns,
|
|
75
74
|
...centerColumns,
|
|
@@ -122,8 +121,7 @@ function table_getFlatHeaders(table) {
|
|
|
122
121
|
* ```
|
|
123
122
|
*/
|
|
124
123
|
function table_getLeafHeaders(table) {
|
|
125
|
-
|
|
126
|
-
const topHeaders = ((_table$getHeaderGroup = table.getHeaderGroups()[0]) === null || _table$getHeaderGroup === void 0 ? void 0 : _table$getHeaderGroup.headers) ?? [];
|
|
124
|
+
const topHeaders = table.getHeaderGroups()[0]?.headers ?? [];
|
|
127
125
|
const result = [];
|
|
128
126
|
for (let i = 0; i < topHeaders.length; i++) {
|
|
129
127
|
const leafHeaders = topHeaders[i].getLeafHeaders();
|
|
@@ -133,5 +131,4 @@ function table_getLeafHeaders(table) {
|
|
|
133
131
|
}
|
|
134
132
|
|
|
135
133
|
//#endregion
|
|
136
|
-
export { header_getContext, header_getLeafHeaders, table_getFlatHeaders, table_getFooterGroups, table_getHeaderGroups, table_getLeafHeaders };
|
|
137
|
-
//# sourceMappingURL=coreHeadersFeature.utils.js.map
|
|
134
|
+
export { header_getContext, header_getLeafHeaders, table_getFlatHeaders, table_getFooterGroups, table_getHeaderGroups, table_getLeafHeaders };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Atom, AtomOptions, ReadonlyAtom, Subscription } from "@tanstack/store";
|
|
2
|
-
|
|
3
2
|
//#region src/core/reactivity/coreReactivityFeature.types.d.ts
|
|
4
3
|
interface TableAtomOptions<T> extends AtomOptions<T> {
|
|
5
4
|
/**
|
|
@@ -17,6 +16,13 @@ interface TableAtomOptions<T> extends AtomOptions<T> {
|
|
|
17
16
|
interface TableReactivityBindings {
|
|
18
17
|
createOptionsStore: boolean;
|
|
19
18
|
wrapExternalAtoms: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Invalidates readonly atoms whose compute reads non-reactive inputs (plain
|
|
21
|
+
* options). Render-phase adapters call this after publishing captured
|
|
22
|
+
* controlled state from a host commit, including when no base atom changed,
|
|
23
|
+
* so controlled ownership changes still reach subscribers.
|
|
24
|
+
*/
|
|
25
|
+
commit?: () => void;
|
|
20
26
|
addSubscription: (subscription: Subscription) => void;
|
|
21
27
|
/**
|
|
22
28
|
* Creates a writable atom with an initial value.
|
|
@@ -44,5 +50,4 @@ interface TableReactivityBindings {
|
|
|
44
50
|
unmount?: () => void;
|
|
45
51
|
}
|
|
46
52
|
//#endregion
|
|
47
|
-
export { TableAtomOptions, TableReactivityBindings };
|
|
48
|
-
//# sourceMappingURL=coreReactivityFeature.types.d.ts.map
|
|
53
|
+
export { TableAtomOptions, TableReactivityBindings };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Atom, ReadonlyAtom, ReadonlyStore, Store } from "@tanstack/store";
|
|
2
|
-
|
|
3
2
|
//#region src/core/reactivity/coreReactivityFeature.utils.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* Converts a writable atom to the store-compatible shape expected by core.
|
|
@@ -20,5 +19,4 @@ declare function atomToStore<T>(atom: Atom<T>): Store<T>;
|
|
|
20
19
|
*/
|
|
21
20
|
declare function atomToStore<T>(atom: ReadonlyAtom<T>): ReadonlyStore<T>;
|
|
22
21
|
//#endregion
|
|
23
|
-
export { atomToStore };
|
|
24
|
-
//# sourceMappingURL=coreReactivityFeature.utils.d.ts.map
|
|
22
|
+
export { atomToStore };
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { TableReactivityBindings } from "./coreReactivityFeature.types.js";
|
|
2
|
+
import { Atom, AtomOptions, ReadonlyAtom } from "@tanstack/store";
|
|
3
|
+
//#region src/core/reactivity/renderPhaseReactivity.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Reactivity bindings for adapters whose options are plain values synchronized
|
|
6
|
+
* during the host framework's render phase, with a guaranteed `commit` hook.
|
|
7
|
+
*/
|
|
8
|
+
interface RenderPhaseReactivityBindings extends TableReactivityBindings {
|
|
9
|
+
commit: () => void;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Store primitives supplied by the adapter.
|
|
13
|
+
*
|
|
14
|
+
* They MUST come from the adapter's own store package (e.g.
|
|
15
|
+
* `@tanstack/react-store`) rather than table-core's copy: dependency tracking
|
|
16
|
+
* and batching share module-global state, so atoms created here must live in
|
|
17
|
+
* the same store instance as user-provided external atoms and adapter
|
|
18
|
+
* subscriptions.
|
|
19
|
+
*/
|
|
20
|
+
interface RenderPhaseReactivityPrimitives {
|
|
21
|
+
createAtom: {
|
|
22
|
+
<T>(getValue: (prev?: T) => T, options?: AtomOptions<T>): ReadonlyAtom<T>;
|
|
23
|
+
<T>(initialValue: T, options?: AtomOptions<T>): Atom<T>;
|
|
24
|
+
};
|
|
25
|
+
batch: (fn: () => void) => void;
|
|
26
|
+
/**
|
|
27
|
+
* Overrides the deferred-scheduling primitive (defaults to
|
|
28
|
+
* `queueMicrotask`).
|
|
29
|
+
*/
|
|
30
|
+
schedule?: (fn: () => void) => void;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Creates reactivity bindings for render-phase adapters (React, Preact, Lit):
|
|
34
|
+
* frameworks with plain, non-reactive options that are re-synchronized during
|
|
35
|
+
* component render, where store notifications must not fire until the host
|
|
36
|
+
* commits.
|
|
37
|
+
*
|
|
38
|
+
* Readonly atoms are exposed as live facades. `get()` re-evaluates the
|
|
39
|
+
* resolver against the options of the render in progress — a normal computed
|
|
40
|
+
* cannot know that plain `options.state` changed — and caches the result
|
|
41
|
+
* through the configured comparator so external-store consumers (e.g. React's
|
|
42
|
+
* `useSyncExternalStore`) see referentially stable snapshots. `subscribe()`
|
|
43
|
+
* goes through a hidden computed that tracks the resolver's real atom
|
|
44
|
+
* dependencies plus a commit version, so subscribers are invalidated by
|
|
45
|
+
* actual reactive writes and by the adapter's post-commit publication.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```ts
|
|
49
|
+
* import { batch, createAtom } from '@tanstack/react-store'
|
|
50
|
+
*
|
|
51
|
+
* export const reactReactivity = () =>
|
|
52
|
+
* renderPhaseReactivity({ createAtom, batch })
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
declare function renderPhaseReactivity(primitives: RenderPhaseReactivityPrimitives): RenderPhaseReactivityBindings;
|
|
56
|
+
type SelectionSource<T> = {
|
|
57
|
+
get: () => T;
|
|
58
|
+
subscribe: (listener: (value: T) => void) => {
|
|
59
|
+
unsubscribe: () => void;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
interface RenderPhaseSource<T> extends SelectionSource<T> {
|
|
63
|
+
/**
|
|
64
|
+
* Records the snapshot observed by a render that actually committed.
|
|
65
|
+
*/
|
|
66
|
+
markCommitted: (snapshot: T) => void;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Creates a render-phase source with an explicit commit baseline.
|
|
70
|
+
*
|
|
71
|
+
* Render-phase adapters publish controlled state after the host framework
|
|
72
|
+
* commits so isolated subscribers update, but the component that owns the
|
|
73
|
+
* table already rendered that exact snapshot — forwarding the notification to
|
|
74
|
+
* its root subscription would produce a redundant render. Unlike a last-read
|
|
75
|
+
* filter, speculative reads do not change notification behavior: only
|
|
76
|
+
* `markCommitted()` advances the baseline.
|
|
77
|
+
*/
|
|
78
|
+
declare function createRenderPhaseSource<T>(source: SelectionSource<T>, compare?: (committed: T, published: T) => boolean): RenderPhaseSource<T>;
|
|
79
|
+
//#endregion
|
|
80
|
+
export { RenderPhaseReactivityBindings, RenderPhaseReactivityPrimitives, RenderPhaseSource, createRenderPhaseSource, renderPhaseReactivity };
|