@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,82 +0,0 @@
|
|
|
1
|
-
import { tableMemo } from '../../utils'
|
|
2
|
-
import { row_getIsExpanded } from './rowExpandingFeature.utils'
|
|
3
|
-
import type { TableFeatures } from '../../types/TableFeatures'
|
|
4
|
-
import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
|
|
5
|
-
import type { Table, Table_Internal } from '../../types/Table'
|
|
6
|
-
import type { Row } from '../../types/Row'
|
|
7
|
-
import type { RowData } from '../../types/type-utils'
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Creates a memoized expanded row model factory.
|
|
11
|
-
*
|
|
12
|
-
* The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
|
|
13
|
-
*/
|
|
14
|
-
export function createExpandedRowModel<
|
|
15
|
-
TFeatures extends TableFeatures,
|
|
16
|
-
TData extends RowData = any,
|
|
17
|
-
>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {
|
|
18
|
-
return (_table) => {
|
|
19
|
-
const table = _table as unknown as Table_Internal<TFeatures, TData>
|
|
20
|
-
return tableMemo({
|
|
21
|
-
feature: 'rowExpandingFeature',
|
|
22
|
-
table,
|
|
23
|
-
fnName: 'table.getExpandedRowModel',
|
|
24
|
-
memoDeps: () => [
|
|
25
|
-
table.atoms.expanded?.get(),
|
|
26
|
-
table.getPreExpandedRowModel(),
|
|
27
|
-
table.options.paginateExpandedRows,
|
|
28
|
-
],
|
|
29
|
-
fn: () => _createExpandedRowModel(table),
|
|
30
|
-
})
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function _createExpandedRowModel<
|
|
35
|
-
TFeatures extends TableFeatures,
|
|
36
|
-
TData extends RowData = any,
|
|
37
|
-
>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {
|
|
38
|
-
const rowModel = table.getPreExpandedRowModel()
|
|
39
|
-
const expanded = table.atoms.expanded?.get()
|
|
40
|
-
|
|
41
|
-
if (
|
|
42
|
-
!rowModel.rows.length ||
|
|
43
|
-
(expanded !== true && !Object.keys(expanded ?? {}).length)
|
|
44
|
-
) {
|
|
45
|
-
return rowModel
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
if (!table.options.paginateExpandedRows) {
|
|
49
|
-
// Only expand rows at this point if they are being paginated
|
|
50
|
-
return rowModel
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return expandRows(rowModel)
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Expands a row model according to the current expanded row state.
|
|
58
|
-
*
|
|
59
|
-
* Expanded sub-rows are inserted into the flattened row order while preserving the original row hierarchy.
|
|
60
|
-
*/
|
|
61
|
-
export function expandRows<
|
|
62
|
-
TFeatures extends TableFeatures,
|
|
63
|
-
TData extends RowData = any,
|
|
64
|
-
>(rowModel: RowModel<TFeatures, TData>): RowModel<TFeatures, TData> {
|
|
65
|
-
const expandedRows: Array<Row<TFeatures, TData>> = []
|
|
66
|
-
|
|
67
|
-
const handleRow = (row: Row<TFeatures, TData>) => {
|
|
68
|
-
expandedRows.push(row)
|
|
69
|
-
|
|
70
|
-
if (row.subRows.length && row_getIsExpanded(row)) {
|
|
71
|
-
row.subRows.forEach(handleRow)
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
rowModel.rows.forEach(handleRow)
|
|
76
|
-
|
|
77
|
-
return {
|
|
78
|
-
rows: expandedRows,
|
|
79
|
-
flatRows: rowModel.flatRows,
|
|
80
|
-
rowsById: rowModel.rowsById,
|
|
81
|
-
}
|
|
82
|
-
}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
assignPrototypeAPIs,
|
|
3
|
-
assignTableAPIs,
|
|
4
|
-
makeStateUpdater,
|
|
5
|
-
} from '../../utils'
|
|
6
|
-
import {
|
|
7
|
-
getDefaultExpandedState,
|
|
8
|
-
row_getCanExpand,
|
|
9
|
-
row_getIsAllParentsExpanded,
|
|
10
|
-
row_getIsExpanded,
|
|
11
|
-
row_getToggleExpandedHandler,
|
|
12
|
-
row_toggleExpanded,
|
|
13
|
-
table_autoResetExpanded,
|
|
14
|
-
table_getCanSomeRowsExpand,
|
|
15
|
-
table_getExpandedDepth,
|
|
16
|
-
table_getIsAllRowsExpanded,
|
|
17
|
-
table_getIsSomeRowsExpanded,
|
|
18
|
-
table_getToggleAllRowsExpandedHandler,
|
|
19
|
-
table_resetExpanded,
|
|
20
|
-
table_setExpanded,
|
|
21
|
-
table_toggleAllRowsExpanded,
|
|
22
|
-
} from './rowExpandingFeature.utils'
|
|
23
|
-
import type { TableFeature } from '../../types/TableFeatures'
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Feature that adds row expansion state and APIs for expandable row trees.
|
|
27
|
-
*/
|
|
28
|
-
export const rowExpandingFeature: TableFeature = {
|
|
29
|
-
getInitialState: (initialState) => {
|
|
30
|
-
return {
|
|
31
|
-
expanded: getDefaultExpandedState(),
|
|
32
|
-
...initialState,
|
|
33
|
-
}
|
|
34
|
-
},
|
|
35
|
-
|
|
36
|
-
getDefaultTableOptions: (table) => {
|
|
37
|
-
return {
|
|
38
|
-
onExpandedChange: makeStateUpdater('expanded', table),
|
|
39
|
-
paginateExpandedRows: true,
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
assignRowPrototype: (prototype, table) => {
|
|
44
|
-
assignPrototypeAPIs('rowExpandingFeature', prototype, table, {
|
|
45
|
-
row_toggleExpanded: {
|
|
46
|
-
fn: (row, expanded) => row_toggleExpanded(row, expanded),
|
|
47
|
-
},
|
|
48
|
-
row_getIsExpanded: {
|
|
49
|
-
fn: (row) => row_getIsExpanded(row),
|
|
50
|
-
},
|
|
51
|
-
row_getCanExpand: {
|
|
52
|
-
fn: (row) => row_getCanExpand(row),
|
|
53
|
-
},
|
|
54
|
-
row_getIsAllParentsExpanded: {
|
|
55
|
-
fn: (row) => row_getIsAllParentsExpanded(row),
|
|
56
|
-
},
|
|
57
|
-
row_getToggleExpandedHandler: {
|
|
58
|
-
fn: (row) => row_getToggleExpandedHandler(row),
|
|
59
|
-
},
|
|
60
|
-
})
|
|
61
|
-
},
|
|
62
|
-
|
|
63
|
-
constructTableAPIs: (table) => {
|
|
64
|
-
assignTableAPIs('rowExpandingFeature', table, {
|
|
65
|
-
table_autoResetExpanded: {
|
|
66
|
-
fn: () => table_autoResetExpanded(table),
|
|
67
|
-
},
|
|
68
|
-
table_setExpanded: {
|
|
69
|
-
fn: (updater) => table_setExpanded(table, updater),
|
|
70
|
-
},
|
|
71
|
-
table_toggleAllRowsExpanded: {
|
|
72
|
-
fn: (expanded) => table_toggleAllRowsExpanded(table, expanded),
|
|
73
|
-
},
|
|
74
|
-
table_resetExpanded: {
|
|
75
|
-
fn: (defaultState) => table_resetExpanded(table, defaultState),
|
|
76
|
-
},
|
|
77
|
-
table_getCanSomeRowsExpand: {
|
|
78
|
-
fn: () => table_getCanSomeRowsExpand(table),
|
|
79
|
-
},
|
|
80
|
-
table_getToggleAllRowsExpandedHandler: {
|
|
81
|
-
fn: () => table_getToggleAllRowsExpandedHandler(table),
|
|
82
|
-
},
|
|
83
|
-
table_getIsSomeRowsExpanded: {
|
|
84
|
-
fn: () => table_getIsSomeRowsExpanded(table),
|
|
85
|
-
},
|
|
86
|
-
table_getIsAllRowsExpanded: {
|
|
87
|
-
fn: () => table_getIsAllRowsExpanded(table),
|
|
88
|
-
},
|
|
89
|
-
table_getExpandedDepth: {
|
|
90
|
-
fn: () => table_getExpandedDepth(table),
|
|
91
|
-
},
|
|
92
|
-
})
|
|
93
|
-
},
|
|
94
|
-
}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import type { Table } from '../../types/Table'
|
|
2
|
-
import type { OnChangeFn, RowData, Updater } from '../../types/type-utils'
|
|
3
|
-
import type { TableFeatures } from '../../types/TableFeatures'
|
|
4
|
-
import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
|
|
5
|
-
import type { Row } from '../../types/Row'
|
|
6
|
-
|
|
7
|
-
export type ExpandedStateList = Record<string, boolean>
|
|
8
|
-
export type ExpandedState = true | Record<string, boolean>
|
|
9
|
-
|
|
10
|
-
export interface TableState_RowExpanding {
|
|
11
|
-
expanded: ExpandedState
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export interface Row_RowExpanding {
|
|
15
|
-
/**
|
|
16
|
-
* Checks whether this row can be expanded.
|
|
17
|
-
*/
|
|
18
|
-
getCanExpand: () => boolean
|
|
19
|
-
/**
|
|
20
|
-
* Checks whether every ancestor of this row is expanded.
|
|
21
|
-
*/
|
|
22
|
-
getIsAllParentsExpanded: () => boolean
|
|
23
|
-
/**
|
|
24
|
-
* Checks whether this row is currently expanded.
|
|
25
|
-
*/
|
|
26
|
-
getIsExpanded: () => boolean
|
|
27
|
-
/**
|
|
28
|
-
* Creates a handler that toggles this row's expanded state.
|
|
29
|
-
*/
|
|
30
|
-
getToggleExpandedHandler: () => () => void
|
|
31
|
-
/**
|
|
32
|
-
* Toggles the expanded state (or sets it if `expanded` is provided) for the row.
|
|
33
|
-
*/
|
|
34
|
-
toggleExpanded: (expanded?: boolean) => void
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export interface TableOptions_RowExpanding<
|
|
38
|
-
TFeatures extends TableFeatures,
|
|
39
|
-
TData extends RowData,
|
|
40
|
-
> {
|
|
41
|
-
/**
|
|
42
|
-
* Enables automatic expanded-state resets when page-altering table state changes.
|
|
43
|
-
*/
|
|
44
|
-
autoResetExpanded?: boolean
|
|
45
|
-
/**
|
|
46
|
-
* Allows rows with subRows to be expanded.
|
|
47
|
-
*/
|
|
48
|
-
enableExpanding?: boolean
|
|
49
|
-
/**
|
|
50
|
-
* If provided, allows you to override the default behavior of determining whether a row is currently expanded.
|
|
51
|
-
*/
|
|
52
|
-
getIsRowExpanded?: (row: Row<TFeatures, TData>) => boolean
|
|
53
|
-
/**
|
|
54
|
-
* If provided, allows you to override the default behavior of determining whether a row can be expanded.
|
|
55
|
-
*/
|
|
56
|
-
getRowCanExpand?: (row: Row<TFeatures, TData>) => boolean
|
|
57
|
-
/**
|
|
58
|
-
* Enables manual row expansion. If this is set to `true`, `getExpandedRowModel` will not be used to expand rows and you would be expected to perform the expansion in your own data model. This is useful if you are doing server-side expansion.
|
|
59
|
-
*/
|
|
60
|
-
manualExpanding?: boolean
|
|
61
|
-
/**
|
|
62
|
-
* Called with an updater when expanded state changes. Pair this with
|
|
63
|
-
* `state.expanded` when using external state; external atoms can own the
|
|
64
|
-
* slice without this callback.
|
|
65
|
-
*/
|
|
66
|
-
onExpandedChange?: OnChangeFn<ExpandedState>
|
|
67
|
-
/**
|
|
68
|
-
* If `true` expanded rows will be paginated along with the rest of the table (which means expanded rows may span multiple pages). If `false` expanded rows will not be considered for pagination (which means expanded rows will always render on their parents page. This also means more rows will be rendered than the set page size)
|
|
69
|
-
*/
|
|
70
|
-
paginateExpandedRows?: boolean
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export interface Table_RowExpanding<
|
|
74
|
-
TFeatures extends TableFeatures,
|
|
75
|
-
TData extends RowData,
|
|
76
|
-
> {
|
|
77
|
-
autoResetExpanded: () => void
|
|
78
|
-
/**
|
|
79
|
-
* Checks whether at least one row can be expanded.
|
|
80
|
-
*/
|
|
81
|
-
getCanSomeRowsExpand: () => boolean
|
|
82
|
-
/**
|
|
83
|
-
* Computes the deepest expanded row id depth.
|
|
84
|
-
*/
|
|
85
|
-
getExpandedDepth: () => number
|
|
86
|
-
/**
|
|
87
|
-
* Checks whether all rows in the current row model are expanded.
|
|
88
|
-
*/
|
|
89
|
-
getIsAllRowsExpanded: () => boolean
|
|
90
|
-
/**
|
|
91
|
-
* Checks whether any row is currently expanded.
|
|
92
|
-
*/
|
|
93
|
-
getIsSomeRowsExpanded: () => boolean
|
|
94
|
-
/**
|
|
95
|
-
* Creates a handler that toggles all rows expanded.
|
|
96
|
-
*/
|
|
97
|
-
getToggleAllRowsExpandedHandler: () => (event: unknown) => void
|
|
98
|
-
/**
|
|
99
|
-
* Resets `expanded` to `initialState.expanded`.
|
|
100
|
-
*
|
|
101
|
-
* Pass `true` to ignore initial state and reset to `{}`.
|
|
102
|
-
*/
|
|
103
|
-
resetExpanded: (defaultState?: boolean) => void
|
|
104
|
-
/**
|
|
105
|
-
* Updates expanded state with `true`, a row-id map, or an updater function.
|
|
106
|
-
*/
|
|
107
|
-
setExpanded: (updater: Updater<ExpandedState>) => void
|
|
108
|
-
/**
|
|
109
|
-
* Toggles the expanded state for all rows.
|
|
110
|
-
*/
|
|
111
|
-
toggleAllRowsExpanded: (expanded?: boolean) => void
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
export interface Table_RowModels_Expanded<
|
|
115
|
-
TFeatures extends TableFeatures,
|
|
116
|
-
TData extends RowData,
|
|
117
|
-
> {
|
|
118
|
-
/**
|
|
119
|
-
* Resolves the row model after expanded rows have been flattened into view.
|
|
120
|
-
*/
|
|
121
|
-
getExpandedRowModel: () => RowModel<TFeatures, TData>
|
|
122
|
-
/**
|
|
123
|
-
* Reads the row model immediately before expansion.
|
|
124
|
-
*/
|
|
125
|
-
getPreExpandedRowModel: () => RowModel<TFeatures, TData>
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
export interface CreateRowModel_Expanded<
|
|
129
|
-
TFeatures extends TableFeatures,
|
|
130
|
-
TData extends RowData,
|
|
131
|
-
> {
|
|
132
|
-
/**
|
|
133
|
-
* Factory used to retrieve the expanded row model. If this function is not
|
|
134
|
-
* provided, the table will not expand rows. To use client-side expansion,
|
|
135
|
-
* pass `createExpandedRowModel()` or implement your own factory.
|
|
136
|
-
*/
|
|
137
|
-
expandedRowModel?: (
|
|
138
|
-
table: Table<TFeatures, TData>,
|
|
139
|
-
) => () => RowModel<TFeatures, TData>
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
export interface CachedRowModel_Expanded<
|
|
143
|
-
TFeatures extends TableFeatures,
|
|
144
|
-
TData extends RowData,
|
|
145
|
-
> {
|
|
146
|
-
expandedRowModel: () => RowModel<TFeatures, TData>
|
|
147
|
-
}
|
|
@@ -1,374 +0,0 @@
|
|
|
1
|
-
import { cloneState } from '../../utils'
|
|
2
|
-
import type { RowData, Updater } from '../../types/type-utils'
|
|
3
|
-
import type { TableFeatures } from '../../types/TableFeatures'
|
|
4
|
-
import type { Table_Internal } from '../../types/Table'
|
|
5
|
-
import type { Row } from '../../types/Row'
|
|
6
|
-
import type {
|
|
7
|
-
ExpandedState,
|
|
8
|
-
ExpandedStateList,
|
|
9
|
-
} from './rowExpandingFeature.types'
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Creates the default expanded state.
|
|
13
|
-
*
|
|
14
|
-
* The feature default is an empty map, meaning no rows are expanded. Reset APIs
|
|
15
|
-
* use this value when `defaultState` is `true`.
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* ```ts
|
|
19
|
-
* const expanded = getDefaultExpandedState()
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
export function getDefaultExpandedState(): ExpandedState {
|
|
23
|
-
return {}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Schedules an expanded-state reset after row-structure changes.
|
|
28
|
-
*
|
|
29
|
-
* The reset runs when `autoResetAll`, `autoResetExpanded`, or the default
|
|
30
|
-
* client-side expanding behavior allows it. Manual expanding opts out unless
|
|
31
|
-
* the reset options explicitly opt back in.
|
|
32
|
-
*
|
|
33
|
-
* @example
|
|
34
|
-
* ```ts
|
|
35
|
-
* table_autoResetExpanded(table)
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
export function table_autoResetExpanded<
|
|
39
|
-
TFeatures extends TableFeatures,
|
|
40
|
-
TData extends RowData,
|
|
41
|
-
>(table: Table_Internal<TFeatures, TData>) {
|
|
42
|
-
if (
|
|
43
|
-
table.options.autoResetAll ??
|
|
44
|
-
table.options.autoResetExpanded ??
|
|
45
|
-
!table.options.manualExpanding
|
|
46
|
-
) {
|
|
47
|
-
table._reactivity.schedule(() => table_resetExpanded(table))
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Routes an expanded-state updater through the table's expanded change handler.
|
|
53
|
-
*
|
|
54
|
-
* The updater may be `true`, a row-id map, or a function of the previous
|
|
55
|
-
* expanded state, matching the instance `table.setExpanded` behavior.
|
|
56
|
-
*
|
|
57
|
-
* @example
|
|
58
|
-
* ```ts
|
|
59
|
-
* table_setExpanded(table, (old) => ({ ...old, [rowId]: true }))
|
|
60
|
-
* ```
|
|
61
|
-
*/
|
|
62
|
-
export function table_setExpanded<
|
|
63
|
-
TFeatures extends TableFeatures,
|
|
64
|
-
TData extends RowData,
|
|
65
|
-
>(table: Table_Internal<TFeatures, TData>, updater: Updater<ExpandedState>) {
|
|
66
|
-
table.options.onExpandedChange?.(updater)
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Expands or collapses every row.
|
|
71
|
-
*
|
|
72
|
-
* Passing `true` stores the special expanded-all state. Passing `false` stores
|
|
73
|
-
* an empty map. Omitting the value toggles based on whether all rows are
|
|
74
|
-
* currently expanded.
|
|
75
|
-
*
|
|
76
|
-
* @example
|
|
77
|
-
* ```ts
|
|
78
|
-
* table_toggleAllRowsExpanded(table)
|
|
79
|
-
* ```
|
|
80
|
-
*/
|
|
81
|
-
export function table_toggleAllRowsExpanded<
|
|
82
|
-
TFeatures extends TableFeatures,
|
|
83
|
-
TData extends RowData,
|
|
84
|
-
>(table: Table_Internal<TFeatures, TData>, expanded?: boolean) {
|
|
85
|
-
if (expanded ?? !table_getIsAllRowsExpanded(table)) {
|
|
86
|
-
table_setExpanded(table, true)
|
|
87
|
-
} else {
|
|
88
|
-
table_setExpanded(table, {})
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Resets `expanded` to the configured initial state or feature default.
|
|
94
|
-
*
|
|
95
|
-
* With no argument, the reset clones `table.initialState.expanded` when it
|
|
96
|
-
* exists. Passing `true` ignores initial state and resets to `{}`.
|
|
97
|
-
*
|
|
98
|
-
* @example
|
|
99
|
-
* ```ts
|
|
100
|
-
* table_resetExpanded(table)
|
|
101
|
-
* table_resetExpanded(table, true)
|
|
102
|
-
* ```
|
|
103
|
-
*/
|
|
104
|
-
export function table_resetExpanded<
|
|
105
|
-
TFeatures extends TableFeatures,
|
|
106
|
-
TData extends RowData,
|
|
107
|
-
>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {
|
|
108
|
-
table_setExpanded(
|
|
109
|
-
table,
|
|
110
|
-
defaultState ? {} : cloneState(table.initialState.expanded ?? {}),
|
|
111
|
-
)
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Checks whether at least one pre-paginated row can expand.
|
|
116
|
-
*
|
|
117
|
-
* Pagination is intentionally ignored so controls can reflect expandable rows
|
|
118
|
-
* that may not be on the current page.
|
|
119
|
-
*
|
|
120
|
-
* @example
|
|
121
|
-
* ```ts
|
|
122
|
-
* const canExpand = table_getCanSomeRowsExpand(table)
|
|
123
|
-
* ```
|
|
124
|
-
*/
|
|
125
|
-
export function table_getCanSomeRowsExpand<
|
|
126
|
-
TFeatures extends TableFeatures,
|
|
127
|
-
TData extends RowData,
|
|
128
|
-
>(table: Table_Internal<TFeatures, TData>) {
|
|
129
|
-
return table
|
|
130
|
-
.getPrePaginatedRowModel()
|
|
131
|
-
.flatRows.some((row) => row_getCanExpand(row))
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Creates an event handler that toggles all rows expanded.
|
|
136
|
-
*
|
|
137
|
-
* React-style synthetic events are persisted when present before the table state
|
|
138
|
-
* is toggled.
|
|
139
|
-
*
|
|
140
|
-
* @example
|
|
141
|
-
* ```ts
|
|
142
|
-
* const onClick = table_getToggleAllRowsExpandedHandler(table)
|
|
143
|
-
* ```
|
|
144
|
-
*/
|
|
145
|
-
export function table_getToggleAllRowsExpandedHandler<
|
|
146
|
-
TFeatures extends TableFeatures,
|
|
147
|
-
TData extends RowData,
|
|
148
|
-
>(table: Table_Internal<TFeatures, TData>) {
|
|
149
|
-
return (e: unknown) => {
|
|
150
|
-
;(e as any).persist?.()
|
|
151
|
-
table_toggleAllRowsExpanded(table)
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Checks whether any row is expanded.
|
|
157
|
-
*
|
|
158
|
-
* The special expanded-all value `true` counts as some rows expanded.
|
|
159
|
-
*
|
|
160
|
-
* @example
|
|
161
|
-
* ```ts
|
|
162
|
-
* const someExpanded = table_getIsSomeRowsExpanded(table)
|
|
163
|
-
* ```
|
|
164
|
-
*/
|
|
165
|
-
export function table_getIsSomeRowsExpanded<
|
|
166
|
-
TFeatures extends TableFeatures,
|
|
167
|
-
TData extends RowData,
|
|
168
|
-
>(table: Table_Internal<TFeatures, TData>) {
|
|
169
|
-
const expanded = table.atoms.expanded?.get() ?? {}
|
|
170
|
-
return expanded === true || Object.values(expanded).some(Boolean)
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* Checks whether every row in the current row model is expanded.
|
|
175
|
-
*
|
|
176
|
-
* The special expanded-all value `true` returns true immediately. Empty
|
|
177
|
-
* expanded state returns false.
|
|
178
|
-
*
|
|
179
|
-
* @example
|
|
180
|
-
* ```ts
|
|
181
|
-
* const allExpanded = table_getIsAllRowsExpanded(table)
|
|
182
|
-
* ```
|
|
183
|
-
*/
|
|
184
|
-
export function table_getIsAllRowsExpanded<
|
|
185
|
-
TFeatures extends TableFeatures,
|
|
186
|
-
TData extends RowData,
|
|
187
|
-
>(table: Table_Internal<TFeatures, TData>) {
|
|
188
|
-
const expanded = table.atoms.expanded?.get() ?? {}
|
|
189
|
-
|
|
190
|
-
// If expanded is true, save some cycles and return true
|
|
191
|
-
if (expanded === true) {
|
|
192
|
-
return true
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
if (!Object.keys(expanded).length) {
|
|
196
|
-
return false
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
// If any row is not expanded, return false
|
|
200
|
-
if (table.getRowModel().flatRows.some((row) => !row_getIsExpanded(row))) {
|
|
201
|
-
return false
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
// They must all be expanded :shrug:
|
|
205
|
-
return true
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
/**
|
|
209
|
-
* Computes the deepest expanded row id depth.
|
|
210
|
-
*
|
|
211
|
-
* Row ids are split on `.`; expanded-all state scans the current row model,
|
|
212
|
-
* while explicit expanded state scans its expanded id keys.
|
|
213
|
-
*
|
|
214
|
-
* @example
|
|
215
|
-
* ```ts
|
|
216
|
-
* const depth = table_getExpandedDepth(table)
|
|
217
|
-
* ```
|
|
218
|
-
*/
|
|
219
|
-
export function table_getExpandedDepth<
|
|
220
|
-
TFeatures extends TableFeatures,
|
|
221
|
-
TData extends RowData,
|
|
222
|
-
>(table: Table_Internal<TFeatures, TData>) {
|
|
223
|
-
let maxDepth = 0
|
|
224
|
-
|
|
225
|
-
const rowIds =
|
|
226
|
-
table.atoms.expanded?.get() === true
|
|
227
|
-
? Object.keys(table.getRowModel().rowsById)
|
|
228
|
-
: Object.keys(table.atoms.expanded?.get() ?? {})
|
|
229
|
-
|
|
230
|
-
rowIds.forEach((id) => {
|
|
231
|
-
const splitId = id.split('.')
|
|
232
|
-
maxDepth = Math.max(maxDepth, splitId.length)
|
|
233
|
-
})
|
|
234
|
-
|
|
235
|
-
return maxDepth
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
/**
|
|
239
|
-
* Expands or collapses this row.
|
|
240
|
-
*
|
|
241
|
-
* Omitting `expanded` toggles the row. If the current state is expanded-all,
|
|
242
|
-
* the function first materializes that state into a row-id map before applying
|
|
243
|
-
* the row-specific change.
|
|
244
|
-
*
|
|
245
|
-
* @example
|
|
246
|
-
* ```ts
|
|
247
|
-
* row_toggleExpanded(row)
|
|
248
|
-
* ```
|
|
249
|
-
*/
|
|
250
|
-
export function row_toggleExpanded<
|
|
251
|
-
TFeatures extends TableFeatures,
|
|
252
|
-
TData extends RowData,
|
|
253
|
-
>(row: Row<TFeatures, TData>, expanded?: boolean) {
|
|
254
|
-
table_setExpanded(row.table, (old) => {
|
|
255
|
-
const exists = old === true ? true : !!old[row.id]
|
|
256
|
-
|
|
257
|
-
let oldExpanded: ExpandedStateList = {}
|
|
258
|
-
|
|
259
|
-
if (old === true) {
|
|
260
|
-
Object.keys(row.table.getRowModel().rowsById).forEach((rowId) => {
|
|
261
|
-
oldExpanded[rowId] = true
|
|
262
|
-
})
|
|
263
|
-
} else {
|
|
264
|
-
oldExpanded = old
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
expanded = expanded ?? !exists
|
|
268
|
-
|
|
269
|
-
if (!exists && expanded) {
|
|
270
|
-
return {
|
|
271
|
-
...oldExpanded,
|
|
272
|
-
[row.id]: true,
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
if (exists && !expanded) {
|
|
277
|
-
const { [row.id]: _, ...rest } = oldExpanded
|
|
278
|
-
return rest
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
return old
|
|
282
|
-
})
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
/**
|
|
286
|
-
* Checks whether this row is expanded.
|
|
287
|
-
*
|
|
288
|
-
* `options.getIsRowExpanded` can override state-derived behavior. Otherwise
|
|
289
|
-
* the row is expanded when expanded state is `true` or contains this row id.
|
|
290
|
-
*
|
|
291
|
-
* @example
|
|
292
|
-
* ```ts
|
|
293
|
-
* const expanded = row_getIsExpanded(row)
|
|
294
|
-
* ```
|
|
295
|
-
*/
|
|
296
|
-
export function row_getIsExpanded<
|
|
297
|
-
TFeatures extends TableFeatures,
|
|
298
|
-
TData extends RowData,
|
|
299
|
-
>(row: Row<TFeatures, TData>) {
|
|
300
|
-
const expanded: ExpandedState = row.table.atoms.expanded?.get() ?? {}
|
|
301
|
-
|
|
302
|
-
return !!(
|
|
303
|
-
row.table.options.getIsRowExpanded?.(row) ??
|
|
304
|
-
(expanded === true || expanded[row.id])
|
|
305
|
-
)
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
/**
|
|
309
|
-
* Checks whether this row can be expanded.
|
|
310
|
-
*
|
|
311
|
-
* `options.getRowCanExpand` wins when provided. Otherwise rows can expand when
|
|
312
|
-
* expanding is enabled and the row has subRows.
|
|
313
|
-
*
|
|
314
|
-
* @example
|
|
315
|
-
* ```ts
|
|
316
|
-
* const canExpand = row_getCanExpand(row)
|
|
317
|
-
* ```
|
|
318
|
-
*/
|
|
319
|
-
export function row_getCanExpand<
|
|
320
|
-
TFeatures extends TableFeatures,
|
|
321
|
-
TData extends RowData,
|
|
322
|
-
>(row: Row<TFeatures, TData>) {
|
|
323
|
-
return (
|
|
324
|
-
row.table.options.getRowCanExpand?.(row) ??
|
|
325
|
-
((row.table.options.enableExpanding ?? true) && !!row.subRows.length)
|
|
326
|
-
)
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
/**
|
|
330
|
-
* Checks whether every ancestor of this row is expanded.
|
|
331
|
-
*
|
|
332
|
-
* The current row is not considered; only its parent chain is walked.
|
|
333
|
-
*
|
|
334
|
-
* @example
|
|
335
|
-
* ```ts
|
|
336
|
-
* const parentsExpanded = row_getIsAllParentsExpanded(row)
|
|
337
|
-
* ```
|
|
338
|
-
*/
|
|
339
|
-
export function row_getIsAllParentsExpanded<
|
|
340
|
-
TFeatures extends TableFeatures,
|
|
341
|
-
TData extends RowData,
|
|
342
|
-
>(row: Row<TFeatures, TData>) {
|
|
343
|
-
let isFullyExpanded = true
|
|
344
|
-
let currentRow = row
|
|
345
|
-
|
|
346
|
-
while (isFullyExpanded && currentRow.parentId) {
|
|
347
|
-
currentRow = row.table.getRow(currentRow.parentId, true)
|
|
348
|
-
isFullyExpanded = row_getIsExpanded(currentRow)
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
return isFullyExpanded
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
/**
|
|
355
|
-
* Creates a row control handler that toggles this row's expanded state.
|
|
356
|
-
*
|
|
357
|
-
* The handler is a no-op when the row cannot expand.
|
|
358
|
-
*
|
|
359
|
-
* @example
|
|
360
|
-
* ```ts
|
|
361
|
-
* const onClick = row_getToggleExpandedHandler(row)
|
|
362
|
-
* ```
|
|
363
|
-
*/
|
|
364
|
-
export function row_getToggleExpandedHandler<
|
|
365
|
-
TFeatures extends TableFeatures,
|
|
366
|
-
TData extends RowData,
|
|
367
|
-
>(row: Row<TFeatures, TData>) {
|
|
368
|
-
const canExpand = row_getCanExpand(row)
|
|
369
|
-
|
|
370
|
-
return () => {
|
|
371
|
-
if (!canExpand) return
|
|
372
|
-
row_toggleExpanded(row)
|
|
373
|
-
}
|
|
374
|
-
}
|