@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
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
import { callMemoOrStaticFn } from '../../utils'
|
|
2
|
-
import { column_getIsVisible } from '../../features/column-visibility/columnVisibilityFeature.utils'
|
|
3
|
-
import { constructHeader } from './constructHeader'
|
|
4
|
-
import type { Table_Internal } from '../../types/Table'
|
|
5
|
-
import type { CellData, RowData } from '../../types/type-utils'
|
|
6
|
-
import type { TableFeatures } from '../../types/TableFeatures'
|
|
7
|
-
import type { Header } from '../../types/Header'
|
|
8
|
-
import type { HeaderGroup } from '../../types/HeaderGroup'
|
|
9
|
-
import type { Column } from '../../types/Column'
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Builds the nested header group structure for a table.
|
|
13
|
-
*
|
|
14
|
-
* The result accounts for visible leaf columns, pinned column groups, and placeholder headers needed to render multi-level headers.
|
|
15
|
-
*/
|
|
16
|
-
export function buildHeaderGroups<
|
|
17
|
-
TFeatures extends TableFeatures,
|
|
18
|
-
TData extends RowData,
|
|
19
|
-
TValue extends CellData = CellData,
|
|
20
|
-
>(
|
|
21
|
-
allColumns: Array<Column<TFeatures, TData, TValue>>,
|
|
22
|
-
columnsToGroup: Array<Column<TFeatures, TData, TValue>>,
|
|
23
|
-
table: Table_Internal<TFeatures, TData>,
|
|
24
|
-
headerFamily?: 'center' | 'left' | 'right',
|
|
25
|
-
) {
|
|
26
|
-
// Find the max depth of the columns:
|
|
27
|
-
// build the leaf column row
|
|
28
|
-
// build each buffer row going up
|
|
29
|
-
// placeholder for non-existent level
|
|
30
|
-
// real column for existing level
|
|
31
|
-
|
|
32
|
-
let maxDepth = 0
|
|
33
|
-
|
|
34
|
-
const findMaxDepth = (
|
|
35
|
-
columns: Array<Column<TFeatures, TData, TValue>>,
|
|
36
|
-
depth = 1,
|
|
37
|
-
) => {
|
|
38
|
-
maxDepth = Math.max(maxDepth, depth)
|
|
39
|
-
|
|
40
|
-
for (let i = 0; i < columns.length; i++) {
|
|
41
|
-
const column = columns[i]!
|
|
42
|
-
if (callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible)) {
|
|
43
|
-
if (column.columns.length) {
|
|
44
|
-
findMaxDepth(column.columns, depth + 1)
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
findMaxDepth(allColumns)
|
|
51
|
-
|
|
52
|
-
const headerGroups: Array<HeaderGroup<TFeatures, TData>> = []
|
|
53
|
-
|
|
54
|
-
const constructHeaderGroup = (
|
|
55
|
-
headersToGroup: Array<Header<TFeatures, TData, TValue>>,
|
|
56
|
-
depth: number,
|
|
57
|
-
) => {
|
|
58
|
-
// The header group we are creating
|
|
59
|
-
const headerGroup: HeaderGroup<TFeatures, TData> = {
|
|
60
|
-
depth,
|
|
61
|
-
id: [headerFamily, `${depth}`].filter(Boolean).join('_'),
|
|
62
|
-
headers: [],
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// The parent columns we're going to scan next
|
|
66
|
-
const pendingParentHeaders: Array<Header<TFeatures, TData, TValue>> = []
|
|
67
|
-
|
|
68
|
-
// Scan each column for parents
|
|
69
|
-
headersToGroup.forEach((headerToGroup) => {
|
|
70
|
-
// What is the latest (last) parent column?
|
|
71
|
-
|
|
72
|
-
const latestPendingParentHeader =
|
|
73
|
-
pendingParentHeaders[pendingParentHeaders.length - 1]
|
|
74
|
-
|
|
75
|
-
const isLeafHeader = headerToGroup.column.depth === headerGroup.depth
|
|
76
|
-
|
|
77
|
-
let column: Column<TFeatures, TData, TValue>
|
|
78
|
-
let isPlaceholder = false
|
|
79
|
-
|
|
80
|
-
if (isLeafHeader && headerToGroup.column.parent) {
|
|
81
|
-
// The parent header is new
|
|
82
|
-
column = headerToGroup.column.parent
|
|
83
|
-
} else {
|
|
84
|
-
// The parent header is repeated
|
|
85
|
-
column = headerToGroup.column
|
|
86
|
-
isPlaceholder = true
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
if (
|
|
90
|
-
latestPendingParentHeader &&
|
|
91
|
-
latestPendingParentHeader.column === column
|
|
92
|
-
) {
|
|
93
|
-
// This column is repeated. Add it as a sub header to the next batch
|
|
94
|
-
latestPendingParentHeader.subHeaders.push(headerToGroup)
|
|
95
|
-
} else {
|
|
96
|
-
// This is a new header. Let's create it
|
|
97
|
-
const header = constructHeader(table, column, {
|
|
98
|
-
id: [headerFamily, depth, column.id, headerToGroup.id]
|
|
99
|
-
.filter(Boolean)
|
|
100
|
-
.join('_'),
|
|
101
|
-
isPlaceholder,
|
|
102
|
-
placeholderId: isPlaceholder
|
|
103
|
-
? `${pendingParentHeaders.filter((d) => d.column === column).length}`
|
|
104
|
-
: undefined,
|
|
105
|
-
depth,
|
|
106
|
-
index: pendingParentHeaders.length,
|
|
107
|
-
})
|
|
108
|
-
|
|
109
|
-
// Add the headerToGroup as a subHeader of the new header
|
|
110
|
-
header.subHeaders.push(headerToGroup)
|
|
111
|
-
// Add the new header to the pendingParentHeaders to get grouped
|
|
112
|
-
// in the next batch
|
|
113
|
-
pendingParentHeaders.push(header)
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
headerGroup.headers.push(headerToGroup)
|
|
117
|
-
headerToGroup.headerGroup = headerGroup
|
|
118
|
-
})
|
|
119
|
-
|
|
120
|
-
headerGroups.push(headerGroup)
|
|
121
|
-
|
|
122
|
-
if (depth > 0) {
|
|
123
|
-
constructHeaderGroup(pendingParentHeaders, depth - 1)
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
const bottomHeaders = columnsToGroup.map((column, index) =>
|
|
128
|
-
constructHeader(table, column, {
|
|
129
|
-
depth: maxDepth,
|
|
130
|
-
index,
|
|
131
|
-
}),
|
|
132
|
-
)
|
|
133
|
-
|
|
134
|
-
constructHeaderGroup(bottomHeaders, maxDepth - 1)
|
|
135
|
-
|
|
136
|
-
headerGroups.reverse()
|
|
137
|
-
|
|
138
|
-
const recurseHeadersForSpans = (
|
|
139
|
-
headers: Array<Header<TFeatures, TData, TValue>>,
|
|
140
|
-
): Array<{ colSpan: number; rowSpan: number }> => {
|
|
141
|
-
const results: Array<{ colSpan: number; rowSpan: number }> = []
|
|
142
|
-
|
|
143
|
-
for (let i = 0; i < headers.length; i++) {
|
|
144
|
-
const header = headers[i]!
|
|
145
|
-
if (
|
|
146
|
-
!callMemoOrStaticFn(header.column, 'getIsVisible', column_getIsVisible)
|
|
147
|
-
) {
|
|
148
|
-
continue
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
let colSpan = 0
|
|
152
|
-
let minChildRowSpan = Infinity
|
|
153
|
-
|
|
154
|
-
if (header.subHeaders.length) {
|
|
155
|
-
const childSpans = recurseHeadersForSpans(header.subHeaders)
|
|
156
|
-
for (let j = 0; j < childSpans.length; j++) {
|
|
157
|
-
const child = childSpans[j]!
|
|
158
|
-
colSpan += child.colSpan
|
|
159
|
-
if (child.rowSpan < minChildRowSpan) {
|
|
160
|
-
minChildRowSpan = child.rowSpan
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
} else {
|
|
164
|
-
colSpan = 1
|
|
165
|
-
minChildRowSpan = 0
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
header.colSpan = colSpan
|
|
169
|
-
header.rowSpan = minChildRowSpan
|
|
170
|
-
|
|
171
|
-
results.push({ colSpan, rowSpan: header.rowSpan })
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
return results
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
recurseHeadersForSpans(
|
|
178
|
-
(headerGroups[0]?.headers ?? []) as Array<Header<TFeatures, TData, TValue>>,
|
|
179
|
-
)
|
|
180
|
-
|
|
181
|
-
return headerGroups
|
|
182
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import type { Table_Internal } from '../../types/Table'
|
|
2
|
-
import type { CellData, RowData } from '../../types/type-utils'
|
|
3
|
-
import type { TableFeatures } from '../../types/TableFeatures'
|
|
4
|
-
import type { Header } from '../../types/Header'
|
|
5
|
-
import type { Column } from '../../types/Column'
|
|
6
|
-
import type { Header_CoreProperties } from './coreHeadersFeature.types'
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Creates or retrieves the header prototype for a table.
|
|
10
|
-
* The prototype is cached on the table and shared by all header instances.
|
|
11
|
-
*/
|
|
12
|
-
function getHeaderPrototype<
|
|
13
|
-
TFeatures extends TableFeatures,
|
|
14
|
-
TData extends RowData,
|
|
15
|
-
>(table: Table_Internal<TFeatures, TData>): object {
|
|
16
|
-
if (!table._headerPrototype) {
|
|
17
|
-
table._headerPrototype = { table }
|
|
18
|
-
const features = Object.values(table._features)
|
|
19
|
-
for (let i = 0; i < features.length; i++) {
|
|
20
|
-
features[i]!.assignHeaderPrototype?.(table._headerPrototype, table)
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return table._headerPrototype
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Constructs a header instance from normalized table internals.
|
|
28
|
-
*
|
|
29
|
-
* This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.
|
|
30
|
-
*/
|
|
31
|
-
export function constructHeader<
|
|
32
|
-
TFeatures extends TableFeatures,
|
|
33
|
-
TData extends RowData,
|
|
34
|
-
TValue extends CellData = CellData,
|
|
35
|
-
>(
|
|
36
|
-
table: Table_Internal<TFeatures, TData>,
|
|
37
|
-
column: Column<TFeatures, TData, TValue>,
|
|
38
|
-
options: {
|
|
39
|
-
id?: string
|
|
40
|
-
isPlaceholder?: boolean
|
|
41
|
-
placeholderId?: string
|
|
42
|
-
index: number
|
|
43
|
-
depth: number
|
|
44
|
-
},
|
|
45
|
-
): Header<TFeatures, TData, TValue> {
|
|
46
|
-
// Create header with shared prototype for memory efficiency
|
|
47
|
-
const headerPrototype = getHeaderPrototype(table)
|
|
48
|
-
const header = Object.create(headerPrototype) as Header_CoreProperties<
|
|
49
|
-
TFeatures,
|
|
50
|
-
TData,
|
|
51
|
-
TValue
|
|
52
|
-
>
|
|
53
|
-
|
|
54
|
-
// Only assign instance-specific properties
|
|
55
|
-
header.colSpan = 0
|
|
56
|
-
header.column = column
|
|
57
|
-
header.depth = options.depth
|
|
58
|
-
header.headerGroup = null
|
|
59
|
-
header.id = options.id ?? column.id
|
|
60
|
-
header.index = options.index
|
|
61
|
-
header.isPlaceholder = !!options.isPlaceholder
|
|
62
|
-
header.placeholderId = options.placeholderId
|
|
63
|
-
header.rowSpan = 0
|
|
64
|
-
header.subHeaders = []
|
|
65
|
-
|
|
66
|
-
return header as Header<TFeatures, TData, TValue>
|
|
67
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { assignPrototypeAPIs, assignTableAPIs } from '../../utils'
|
|
2
|
-
import {
|
|
3
|
-
header_getContext,
|
|
4
|
-
header_getLeafHeaders,
|
|
5
|
-
table_getFlatHeaders,
|
|
6
|
-
table_getFooterGroups,
|
|
7
|
-
table_getHeaderGroups,
|
|
8
|
-
table_getLeafHeaders,
|
|
9
|
-
} from './coreHeadersFeature.utils'
|
|
10
|
-
import type { TableFeature } from '../../types/TableFeatures'
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Core feature that builds header groups and exposes header context APIs.
|
|
14
|
-
*/
|
|
15
|
-
export const coreHeadersFeature: TableFeature = {
|
|
16
|
-
assignHeaderPrototype: (prototype, table) => {
|
|
17
|
-
assignPrototypeAPIs('coreHeadersFeature', prototype, table, {
|
|
18
|
-
header_getLeafHeaders: {
|
|
19
|
-
fn: (header) => header_getLeafHeaders(header),
|
|
20
|
-
memoDeps: (header) => [header.column.table.options.columns],
|
|
21
|
-
},
|
|
22
|
-
header_getContext: {
|
|
23
|
-
fn: (header) => header_getContext(header),
|
|
24
|
-
memoDeps: (header) => [header.column.table.options.columns],
|
|
25
|
-
},
|
|
26
|
-
})
|
|
27
|
-
},
|
|
28
|
-
|
|
29
|
-
constructTableAPIs: (table) => {
|
|
30
|
-
assignTableAPIs('coreHeadersFeature', table, {
|
|
31
|
-
table_getHeaderGroups: {
|
|
32
|
-
fn: () => table_getHeaderGroups(table),
|
|
33
|
-
memoDeps: () => [
|
|
34
|
-
table.options.columns,
|
|
35
|
-
table.atoms.columnOrder?.get(),
|
|
36
|
-
table.atoms.grouping?.get(),
|
|
37
|
-
table.atoms.columnPinning?.get(),
|
|
38
|
-
table.atoms.columnVisibility?.get(),
|
|
39
|
-
table.options.groupedColumnMode,
|
|
40
|
-
],
|
|
41
|
-
},
|
|
42
|
-
table_getFooterGroups: {
|
|
43
|
-
fn: () => table_getFooterGroups(table),
|
|
44
|
-
memoDeps: () => [table.getHeaderGroups()],
|
|
45
|
-
},
|
|
46
|
-
table_getFlatHeaders: {
|
|
47
|
-
fn: () => table_getFlatHeaders(table),
|
|
48
|
-
memoDeps: () => [table.getHeaderGroups()],
|
|
49
|
-
},
|
|
50
|
-
table_getLeafHeaders: {
|
|
51
|
-
fn: () => table_getLeafHeaders(table),
|
|
52
|
-
memoDeps: () => [table.getHeaderGroups()],
|
|
53
|
-
},
|
|
54
|
-
})
|
|
55
|
-
},
|
|
56
|
-
}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import type { CellData, RowData } from '../../types/type-utils'
|
|
2
|
-
import type { TableFeatures } from '../../types/TableFeatures'
|
|
3
|
-
import type { Table } from '../../types/Table'
|
|
4
|
-
import type { Header } from '../../types/Header'
|
|
5
|
-
import type { HeaderGroup } from '../../types/HeaderGroup'
|
|
6
|
-
import type { Column } from '../../types/Column'
|
|
7
|
-
|
|
8
|
-
export interface Table_Headers<
|
|
9
|
-
TFeatures extends TableFeatures,
|
|
10
|
-
TData extends RowData,
|
|
11
|
-
> {
|
|
12
|
-
/**
|
|
13
|
-
* Builds the visible header groups for the current column tree, visibility,
|
|
14
|
-
* and pinning state.
|
|
15
|
-
*/
|
|
16
|
-
getHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>
|
|
17
|
-
/**
|
|
18
|
-
* Builds footer groups by reversing the current header group order.
|
|
19
|
-
*/
|
|
20
|
-
getFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>
|
|
21
|
-
/**
|
|
22
|
-
* Flattens every header from every header group, including parent and
|
|
23
|
-
* placeholder headers.
|
|
24
|
-
*/
|
|
25
|
-
getFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>
|
|
26
|
-
/**
|
|
27
|
-
* Collects only leaf headers, excluding parent/group headers.
|
|
28
|
-
*/
|
|
29
|
-
getLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export interface HeaderContext<
|
|
33
|
-
TFeatures extends TableFeatures,
|
|
34
|
-
TData extends RowData,
|
|
35
|
-
TValue extends CellData = CellData,
|
|
36
|
-
> {
|
|
37
|
-
/**
|
|
38
|
-
* An instance of a column.
|
|
39
|
-
*/
|
|
40
|
-
column: Column<TFeatures, TData, TValue>
|
|
41
|
-
/**
|
|
42
|
-
* An instance of a header.
|
|
43
|
-
*/
|
|
44
|
-
header: Header<TFeatures, TData, TValue>
|
|
45
|
-
/**
|
|
46
|
-
* The table instance.
|
|
47
|
-
*/
|
|
48
|
-
table: Table<TFeatures, TData>
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export interface Header_CoreProperties<
|
|
52
|
-
TFeatures extends TableFeatures,
|
|
53
|
-
TData extends RowData,
|
|
54
|
-
TValue extends CellData = CellData,
|
|
55
|
-
> {
|
|
56
|
-
/**
|
|
57
|
-
* The col-span for the header.
|
|
58
|
-
*/
|
|
59
|
-
colSpan: number
|
|
60
|
-
/**
|
|
61
|
-
* The header's associated column object.
|
|
62
|
-
*/
|
|
63
|
-
column: Column<TFeatures, TData, TValue>
|
|
64
|
-
/**
|
|
65
|
-
* The depth of the header, zero-indexed based.
|
|
66
|
-
*/
|
|
67
|
-
depth: number
|
|
68
|
-
/**
|
|
69
|
-
* The header's associated header group object.
|
|
70
|
-
*/
|
|
71
|
-
headerGroup: HeaderGroup<TFeatures, TData> | null
|
|
72
|
-
/**
|
|
73
|
-
* The unique identifier for the header.
|
|
74
|
-
*/
|
|
75
|
-
id: string
|
|
76
|
-
/**
|
|
77
|
-
* The index for the header within the header group.
|
|
78
|
-
*/
|
|
79
|
-
index: number
|
|
80
|
-
/**
|
|
81
|
-
* A boolean denoting if the header is a placeholder header.
|
|
82
|
-
*/
|
|
83
|
-
isPlaceholder: boolean
|
|
84
|
-
/**
|
|
85
|
-
* If the header is a placeholder header, this will be a unique header ID that does not conflict with any other headers across the table.
|
|
86
|
-
*/
|
|
87
|
-
placeholderId?: string
|
|
88
|
-
/**
|
|
89
|
-
* The row-span for the header.
|
|
90
|
-
*/
|
|
91
|
-
rowSpan: number
|
|
92
|
-
/**
|
|
93
|
-
* The header's hierarchical sub/child headers. Will be empty if the header's associated column is a leaf-column.
|
|
94
|
-
*/
|
|
95
|
-
subHeaders: Array<Header<TFeatures, TData, TValue>>
|
|
96
|
-
/**
|
|
97
|
-
* Reference to the parent table instance.
|
|
98
|
-
*/
|
|
99
|
-
table: Table<TFeatures, TData>
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
export interface Header_Header<
|
|
103
|
-
TFeatures extends TableFeatures,
|
|
104
|
-
TData extends RowData,
|
|
105
|
-
TValue extends CellData = CellData,
|
|
106
|
-
> extends Header_CoreProperties<TFeatures, TData, TValue> {
|
|
107
|
-
/**
|
|
108
|
-
* Returns the rendering context (or props) for column-based components like headers, footers and filters.
|
|
109
|
-
*/
|
|
110
|
-
getContext: () => HeaderContext<TFeatures, TData, TValue>
|
|
111
|
-
/**
|
|
112
|
-
* Returns the leaf headers hierarchically nested under this header.
|
|
113
|
-
*/
|
|
114
|
-
getLeafHeaders: () => Array<Header<TFeatures, TData, TValue>>
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
export interface HeaderGroup_Header<
|
|
118
|
-
TFeatures extends TableFeatures,
|
|
119
|
-
TData extends RowData,
|
|
120
|
-
TValue extends CellData = CellData,
|
|
121
|
-
> {
|
|
122
|
-
depth: number
|
|
123
|
-
headers: Array<Header<TFeatures, TData, TValue>>
|
|
124
|
-
id: string
|
|
125
|
-
}
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
import { getDefaultColumnPinningState } from '../../features/column-pinning/columnPinningFeature.utils'
|
|
2
|
-
import {
|
|
3
|
-
column_getIsVisible,
|
|
4
|
-
table_getVisibleLeafColumns,
|
|
5
|
-
} from '../../features/column-visibility/columnVisibilityFeature.utils'
|
|
6
|
-
import { callMemoOrStaticFn } from '../../utils'
|
|
7
|
-
import { buildHeaderGroups } from './buildHeaderGroups'
|
|
8
|
-
import type { Table_Internal } from '../../types/Table'
|
|
9
|
-
import type { Header } from '../../types/Header'
|
|
10
|
-
import type { RowData } from '../../types/type-utils'
|
|
11
|
-
import type { TableFeatures } from '../../types/TableFeatures'
|
|
12
|
-
import type { Header_Header } from './coreHeadersFeature.types'
|
|
13
|
-
import type { Column } from '../../types/Column'
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Walks a header tree and collects all descendant leaf headers.
|
|
17
|
-
*
|
|
18
|
-
* The header itself is included after its descendants, matching the recursive
|
|
19
|
-
* shape used by nested header groups.
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```ts
|
|
23
|
-
* const leafHeaders = header_getLeafHeaders(header)
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
export function header_getLeafHeaders<
|
|
27
|
-
TFeatures extends TableFeatures,
|
|
28
|
-
TData extends RowData,
|
|
29
|
-
TValue,
|
|
30
|
-
>(header: Header<TFeatures, TData, TValue>) {
|
|
31
|
-
const leafHeaders: Array<Header<TFeatures, TData, TValue>> = []
|
|
32
|
-
|
|
33
|
-
const recurseHeader = (h: Header_Header<TFeatures, TData, TValue>) => {
|
|
34
|
-
if (h.subHeaders.length) {
|
|
35
|
-
h.subHeaders.map(recurseHeader)
|
|
36
|
-
}
|
|
37
|
-
leafHeaders.push(h as Header<TFeatures, TData, TValue>)
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
recurseHeader(header)
|
|
41
|
-
|
|
42
|
-
return leafHeaders
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Builds the render context passed to a column's `header` or `footer` template.
|
|
47
|
-
*
|
|
48
|
-
* The context contains the header, its column, and the owning table instance.
|
|
49
|
-
*
|
|
50
|
-
* @example
|
|
51
|
-
* ```ts
|
|
52
|
-
* const context = header_getContext(header)
|
|
53
|
-
* ```
|
|
54
|
-
*/
|
|
55
|
-
export function header_getContext<
|
|
56
|
-
TFeatures extends TableFeatures,
|
|
57
|
-
TData extends RowData,
|
|
58
|
-
TValue,
|
|
59
|
-
>(header: Header<TFeatures, TData, TValue>) {
|
|
60
|
-
return {
|
|
61
|
-
column: header.column,
|
|
62
|
-
header,
|
|
63
|
-
table: header.column.table,
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Builds visible header groups for the current column tree.
|
|
69
|
-
*
|
|
70
|
-
* Column visibility and pinning are applied before groups are built. When no
|
|
71
|
-
* columns are pinned, the fast path skips pin partitioning.
|
|
72
|
-
*
|
|
73
|
-
* @example
|
|
74
|
-
* ```ts
|
|
75
|
-
* const headerGroups = table_getHeaderGroups(table)
|
|
76
|
-
* ```
|
|
77
|
-
*/
|
|
78
|
-
export function table_getHeaderGroups<
|
|
79
|
-
TFeatures extends TableFeatures,
|
|
80
|
-
TData extends RowData,
|
|
81
|
-
>(table: Table_Internal<TFeatures, TData>) {
|
|
82
|
-
const { left, right } =
|
|
83
|
-
table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()
|
|
84
|
-
const allColumns = table.getAllColumns()
|
|
85
|
-
const leafColumns = callMemoOrStaticFn(
|
|
86
|
-
table,
|
|
87
|
-
'getVisibleLeafColumns',
|
|
88
|
-
table_getVisibleLeafColumns,
|
|
89
|
-
)
|
|
90
|
-
|
|
91
|
-
// Fast path: no columns are pinned — skip per-side lookups, partition, and spread.
|
|
92
|
-
if (!left.length && !right.length) {
|
|
93
|
-
return buildHeaderGroups(allColumns, leafColumns, table)
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
const leafColumnsById = table.getAllLeafColumnsById()
|
|
97
|
-
|
|
98
|
-
const leftColumns: typeof leafColumns = []
|
|
99
|
-
for (let i = 0; i < left.length; i++) {
|
|
100
|
-
const column = leafColumnsById[left[i]!]
|
|
101
|
-
if (
|
|
102
|
-
column &&
|
|
103
|
-
callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible)
|
|
104
|
-
) {
|
|
105
|
-
leftColumns.push(column)
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
const rightColumns: typeof leafColumns = []
|
|
110
|
-
for (let i = 0; i < right.length; i++) {
|
|
111
|
-
const column = leafColumnsById[right[i]!]
|
|
112
|
-
if (
|
|
113
|
-
column &&
|
|
114
|
-
callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible)
|
|
115
|
-
) {
|
|
116
|
-
rightColumns.push(column)
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
const centerColumns = leafColumns.filter(
|
|
121
|
-
(column) => !left.includes(column.id) && !right.includes(column.id),
|
|
122
|
-
)
|
|
123
|
-
|
|
124
|
-
return buildHeaderGroups(
|
|
125
|
-
allColumns,
|
|
126
|
-
[...leftColumns, ...centerColumns, ...rightColumns],
|
|
127
|
-
table,
|
|
128
|
-
)
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Builds footer groups by reversing the current header groups.
|
|
133
|
-
*
|
|
134
|
-
* Footer rendering uses the same header objects and grouping structure, but
|
|
135
|
-
* renders them from leaf level back toward the root.
|
|
136
|
-
*
|
|
137
|
-
* @example
|
|
138
|
-
* ```ts
|
|
139
|
-
* const footerGroups = table_getFooterGroups(table)
|
|
140
|
-
* ```
|
|
141
|
-
*/
|
|
142
|
-
export function table_getFooterGroups<
|
|
143
|
-
TFeatures extends TableFeatures,
|
|
144
|
-
TData extends RowData,
|
|
145
|
-
>(table: Table_Internal<TFeatures, TData>) {
|
|
146
|
-
const headerGroups = table.getHeaderGroups()
|
|
147
|
-
return [...headerGroups].reverse()
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* Flattens every header from every header group into one array.
|
|
152
|
-
*
|
|
153
|
-
* The result includes parent headers and placeholder headers, in header-group
|
|
154
|
-
* order from top to bottom.
|
|
155
|
-
*
|
|
156
|
-
* @example
|
|
157
|
-
* ```ts
|
|
158
|
-
* const flatHeaders = table_getFlatHeaders(table)
|
|
159
|
-
* ```
|
|
160
|
-
*/
|
|
161
|
-
export function table_getFlatHeaders<
|
|
162
|
-
TFeatures extends TableFeatures,
|
|
163
|
-
TData extends RowData,
|
|
164
|
-
>(table: Table_Internal<TFeatures, TData>) {
|
|
165
|
-
const headerGroups = table.getHeaderGroups()
|
|
166
|
-
const result: Array<Header<TFeatures, TData, unknown>> = []
|
|
167
|
-
for (let i = 0; i < headerGroups.length; i++) {
|
|
168
|
-
const headers = headerGroups[i]!.headers
|
|
169
|
-
for (let j = 0; j < headers.length; j++) {
|
|
170
|
-
result.push(headers[j]!)
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
return result
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* Collects only the leaf headers from the current header tree.
|
|
178
|
-
*
|
|
179
|
-
* Parent/group headers are skipped, making the result suitable for rendering
|
|
180
|
-
* one header per visible leaf column.
|
|
181
|
-
*
|
|
182
|
-
* @example
|
|
183
|
-
* ```ts
|
|
184
|
-
* const leafHeaders = table_getLeafHeaders(table)
|
|
185
|
-
* ```
|
|
186
|
-
*/
|
|
187
|
-
export function table_getLeafHeaders<
|
|
188
|
-
TFeatures extends TableFeatures,
|
|
189
|
-
TData extends RowData,
|
|
190
|
-
>(table: Table_Internal<TFeatures, TData>) {
|
|
191
|
-
const topHeaders = table.getHeaderGroups()[0]?.headers ?? []
|
|
192
|
-
const result: Array<Header<TFeatures, TData, unknown>> = []
|
|
193
|
-
for (let i = 0; i < topHeaders.length; i++) {
|
|
194
|
-
const leafHeaders = topHeaders[i]!.getLeafHeaders()
|
|
195
|
-
for (let j = 0; j < leafHeaders.length; j++) {
|
|
196
|
-
result.push(leafHeaders[j]!)
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
return result
|
|
200
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
Atom,
|
|
3
|
-
AtomOptions,
|
|
4
|
-
ReadonlyAtom,
|
|
5
|
-
Subscription,
|
|
6
|
-
} from '@tanstack/store'
|
|
7
|
-
|
|
8
|
-
export interface TableAtomOptions<T> extends AtomOptions<T> {
|
|
9
|
-
/**
|
|
10
|
-
* A debug name for the atom, useful for debugging.
|
|
11
|
-
*/
|
|
12
|
-
debugName: string
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Framework reactivity bindings used by table-core.
|
|
17
|
-
*
|
|
18
|
-
* Adapters (React, Solid, Vue, etc.) provide concrete implementations so
|
|
19
|
-
* core features can create derived/writable atoms and integrate with their
|
|
20
|
-
* scheduling primitives.
|
|
21
|
-
*/
|
|
22
|
-
export interface TableReactivityBindings {
|
|
23
|
-
createOptionsStore: boolean
|
|
24
|
-
wrapExternalAtoms: boolean
|
|
25
|
-
addSubscription: (subscription: Subscription) => void
|
|
26
|
-
/**
|
|
27
|
-
* Creates a writable atom with an initial value.
|
|
28
|
-
*/
|
|
29
|
-
createWritableAtom: <T>(
|
|
30
|
-
initialValue: T,
|
|
31
|
-
options?: TableAtomOptions<T>,
|
|
32
|
-
) => Atom<T>
|
|
33
|
-
/**
|
|
34
|
-
* Creates a readonly/derived atom from a compute function.
|
|
35
|
-
*/
|
|
36
|
-
createReadonlyAtom: <T>(
|
|
37
|
-
fn: () => T,
|
|
38
|
-
options?: TableAtomOptions<T>,
|
|
39
|
-
) => ReadonlyAtom<T>
|
|
40
|
-
/**
|
|
41
|
-
* Evaluates a function without tracking reactive dependencies.
|
|
42
|
-
*/
|
|
43
|
-
untrack: <T>(fn: () => T) => T
|
|
44
|
-
/**
|
|
45
|
-
* Batches reactive updates to avoid intermediate recomputation.
|
|
46
|
-
*/
|
|
47
|
-
batch: (fn: () => void) => void
|
|
48
|
-
/**
|
|
49
|
-
* Schedules a function to run. This is used to defer updates after the current call stack (render, etc.) has finished
|
|
50
|
-
*/
|
|
51
|
-
schedule: (fn: () => void) => void
|
|
52
|
-
/**
|
|
53
|
-
* Unmounts the table, performing any necessary cleanup. This is called when the table is destroyed or unmounted in the framework adapter.
|
|
54
|
-
*/
|
|
55
|
-
unmount?: () => void
|
|
56
|
-
}
|