@tanstack/table-core 9.0.0-beta.51 → 9.0.0-beta.53
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/dist/core/cells/constructCell.d.ts +1 -2
- package/dist/core/cells/constructCell.js +1 -2
- package/dist/core/cells/coreCellsFeature.d.ts +1 -2
- package/dist/core/cells/coreCellsFeature.js +1 -2
- package/dist/core/cells/coreCellsFeature.types.d.ts +1 -2
- package/dist/core/cells/coreCellsFeature.utils.d.ts +1 -2
- package/dist/core/cells/coreCellsFeature.utils.js +1 -2
- package/dist/core/columns/constructColumn.d.ts +1 -2
- package/dist/core/columns/constructColumn.js +1 -2
- package/dist/core/columns/coreColumnsFeature.d.ts +1 -2
- package/dist/core/columns/coreColumnsFeature.js +1 -2
- package/dist/core/columns/coreColumnsFeature.types.d.ts +1 -2
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +1 -2
- package/dist/core/columns/coreColumnsFeature.utils.js +1 -2
- package/dist/core/coreFeatures.d.ts +1 -2
- package/dist/core/coreFeatures.js +1 -2
- package/dist/core/headers/buildHeaderGroups.d.ts +1 -2
- package/dist/core/headers/buildHeaderGroups.js +1 -2
- package/dist/core/headers/constructHeader.d.ts +1 -2
- package/dist/core/headers/constructHeader.js +1 -2
- package/dist/core/headers/coreHeadersFeature.d.ts +1 -2
- package/dist/core/headers/coreHeadersFeature.js +1 -2
- package/dist/core/headers/coreHeadersFeature.types.d.ts +1 -2
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +1 -2
- package/dist/core/headers/coreHeadersFeature.utils.js +1 -2
- package/dist/core/reactivity/coreReactivityFeature.types.d.ts +1 -2
- package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +1 -2
- package/dist/core/reactivity/coreReactivityFeature.utils.js +1 -2
- package/dist/core/row-models/coreRowModelsFeature.d.ts +1 -2
- package/dist/core/row-models/coreRowModelsFeature.js +1 -2
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +1 -2
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +1 -2
- package/dist/core/row-models/coreRowModelsFeature.utils.js +1 -2
- package/dist/core/row-models/createCoreRowModel.d.ts +1 -2
- package/dist/core/row-models/createCoreRowModel.js +1 -2
- package/dist/core/rows/constructRow.d.ts +1 -2
- package/dist/core/rows/constructRow.js +1 -2
- package/dist/core/rows/coreRowsFeature.d.ts +1 -2
- package/dist/core/rows/coreRowsFeature.js +1 -2
- package/dist/core/rows/coreRowsFeature.types.d.ts +1 -2
- package/dist/core/rows/coreRowsFeature.utils.d.ts +1 -2
- package/dist/core/rows/coreRowsFeature.utils.js +1 -2
- package/dist/core/table/constructTable.d.ts +1 -2
- package/dist/core/table/constructTable.js +1 -2
- package/dist/core/table/coreTablesFeature.d.ts +1 -2
- package/dist/core/table/coreTablesFeature.js +1 -2
- package/dist/core/table/coreTablesFeature.types.d.ts +1 -2
- package/dist/core/table/coreTablesFeature.utils.d.ts +1 -2
- package/dist/core/table/coreTablesFeature.utils.js +1 -2
- package/dist/features/column-faceting/columnFacetingFeature.d.ts +1 -2
- package/dist/features/column-faceting/columnFacetingFeature.js +1 -2
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +1 -2
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +1 -2
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +1 -2
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -2
- package/dist/features/column-faceting/createFacetedMinMaxValues.js +1 -2
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +1 -2
- package/dist/features/column-faceting/createFacetedRowModel.js +1 -2
- package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -2
- package/dist/features/column-faceting/createFacetedUniqueValues.js +1 -2
- package/dist/features/column-filtering/columnFilteringFeature.d.ts +1 -2
- package/dist/features/column-filtering/columnFilteringFeature.js +1 -2
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +1 -2
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +1 -2
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +1 -2
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +1 -2
- package/dist/features/column-filtering/createFilteredRowModel.js +1 -2
- package/dist/features/column-filtering/filterFns.d.ts +1 -2
- package/dist/features/column-filtering/filterFns.js +1 -2
- package/dist/features/column-filtering/filterRowsUtils.js +1 -2
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +1 -2
- package/dist/features/column-grouping/columnGroupingFeature.js +1 -2
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +1 -2
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +1 -2
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +1 -2
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +1 -2
- package/dist/features/column-grouping/createGroupedRowModel.js +21 -14
- package/dist/features/column-ordering/columnOrderingFeature.d.ts +1 -2
- package/dist/features/column-ordering/columnOrderingFeature.js +1 -2
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +1 -2
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +1 -2
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +1 -2
- package/dist/features/column-pinning/columnPinningFeature.d.ts +1 -2
- package/dist/features/column-pinning/columnPinningFeature.js +1 -2
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +1 -2
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +1 -2
- package/dist/features/column-pinning/columnPinningFeature.utils.js +1 -2
- package/dist/features/column-resizing/columnResizingFeature.d.ts +1 -2
- package/dist/features/column-resizing/columnResizingFeature.js +1 -2
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +1 -2
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +1 -2
- package/dist/features/column-resizing/columnResizingFeature.utils.js +1 -2
- package/dist/features/column-sizing/columnSizingFeature.d.ts +1 -2
- package/dist/features/column-sizing/columnSizingFeature.js +1 -2
- package/dist/features/column-sizing/columnSizingFeature.types.d.ts +1 -2
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +1 -2
- package/dist/features/column-sizing/columnSizingFeature.utils.js +1 -2
- package/dist/features/column-visibility/columnVisibilityFeature.d.ts +1 -2
- package/dist/features/column-visibility/columnVisibilityFeature.js +1 -2
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +1 -2
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +1 -2
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +1 -2
- package/dist/features/global-filtering/globalFilteringFeature.d.ts +1 -2
- package/dist/features/global-filtering/globalFilteringFeature.js +1 -2
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +1 -2
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +1 -2
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +1 -2
- package/dist/features/row-aggregation/aggregationFns.d.ts +1 -2
- package/dist/features/row-aggregation/aggregationFns.js +81 -37
- package/dist/features/row-aggregation/rowAggregationFeature.d.ts +1 -2
- package/dist/features/row-aggregation/rowAggregationFeature.js +2 -6
- package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +3 -4
- package/dist/features/row-aggregation/rowAggregationFeature.types.js +1 -2
- package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +15 -2
- package/dist/features/row-aggregation/rowAggregationFeature.utils.js +35 -6
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +1 -2
- package/dist/features/row-expanding/createExpandedRowModel.js +1 -2
- package/dist/features/row-expanding/rowExpandingFeature.d.ts +1 -2
- package/dist/features/row-expanding/rowExpandingFeature.js +1 -2
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +1 -2
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +1 -2
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +1 -2
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +1 -2
- package/dist/features/row-pagination/createPaginatedRowModel.js +1 -2
- package/dist/features/row-pagination/rowPaginationFeature.d.ts +1 -2
- package/dist/features/row-pagination/rowPaginationFeature.js +1 -2
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +1 -2
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +1 -2
- package/dist/features/row-pagination/rowPaginationFeature.utils.js +1 -2
- package/dist/features/row-pinning/rowPinningFeature.d.ts +1 -2
- package/dist/features/row-pinning/rowPinningFeature.js +1 -2
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +1 -2
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +1 -2
- package/dist/features/row-pinning/rowPinningFeature.utils.js +1 -2
- package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -2
- package/dist/features/row-selection/rowSelectionFeature.js +1 -2
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +1 -2
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +1 -2
- package/dist/features/row-selection/rowSelectionFeature.utils.js +1 -2
- package/dist/features/row-sorting/createSortedRowModel.d.ts +1 -2
- package/dist/features/row-sorting/createSortedRowModel.js +1 -2
- package/dist/features/row-sorting/rowSortingFeature.d.ts +1 -2
- package/dist/features/row-sorting/rowSortingFeature.js +1 -2
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +1 -2
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +1 -2
- package/dist/features/row-sorting/rowSortingFeature.utils.js +1 -2
- package/dist/features/row-sorting/sortFns.d.ts +1 -2
- package/dist/features/row-sorting/sortFns.js +1 -2
- package/dist/features/stockFeatures.d.ts +1 -2
- package/dist/features/stockFeatures.js +1 -2
- package/dist/flex-render.d.ts +1 -2
- package/dist/flex-render.js +1 -2
- package/dist/helpers/columnHelper.d.ts +1 -2
- package/dist/helpers/columnHelper.js +1 -2
- package/dist/helpers/metaHelper.d.ts +1 -2
- package/dist/helpers/metaHelper.js +1 -2
- package/dist/helpers/tableFeatures.d.ts +1 -2
- package/dist/helpers/tableFeatures.js +1 -2
- package/dist/helpers/tableOptions.d.ts +1 -2
- package/dist/helpers/tableOptions.js +1 -2
- package/dist/static-functions.d.ts +2 -2
- package/dist/static-functions.js +2 -2
- package/dist/store-reactivity-bindings.d.ts +1 -2
- package/dist/store-reactivity-bindings.js +1 -2
- package/dist/types/Cell.d.ts +1 -2
- package/dist/types/Column.d.ts +1 -2
- package/dist/types/ColumnDef.d.ts +1 -2
- package/dist/types/Header.d.ts +1 -2
- package/dist/types/HeaderGroup.d.ts +1 -2
- package/dist/types/Row.d.ts +1 -2
- package/dist/types/RowModel.d.ts +1 -2
- package/dist/types/RowModelFns.d.ts +1 -2
- package/dist/types/Table.d.ts +1 -2
- package/dist/types/TableFeatures.d.ts +1 -2
- package/dist/types/TableOptions.d.ts +1 -2
- package/dist/types/TableState.d.ts +1 -2
- package/dist/types/type-utils.d.ts +1 -2
- package/dist/utils.d.ts +1 -2
- package/dist/utils.js +1 -2
- package/dist/worker/createTableWorker.d.ts +1 -2
- package/dist/worker/createTableWorker.js +1 -2
- package/dist/worker/createWorkerRowModel.d.ts +1 -2
- package/dist/worker/createWorkerRowModel.js +1 -2
- package/dist/worker/initTableWorker.d.ts +1 -2
- package/dist/worker/initTableWorker.js +1 -2
- package/dist/worker/rebuildRowModel.d.ts +1 -2
- package/dist/worker/rebuildRowModel.js +1 -2
- package/dist/worker/serializeRowModel.js +1 -2
- package/dist/worker/tableWorkerProtocol.d.ts +1 -2
- package/dist/worker/tableWorkerProtocol.js +1 -2
- package/package.json +9 -30
- package/skills/aggregation/SKILL.md +2 -2
- package/skills/api-not-found/SKILL.md +5 -5
- package/skills/client-vs-server/SKILL.md +2 -2
- package/skills/column-faceting/SKILL.md +2 -2
- package/skills/column-filtering/SKILL.md +2 -2
- package/skills/column-ordering/SKILL.md +2 -2
- package/skills/column-pinning/SKILL.md +2 -2
- package/skills/column-resizing/SKILL.md +2 -2
- package/skills/column-sizing/SKILL.md +2 -2
- package/skills/column-visibility/SKILL.md +2 -2
- package/skills/core/SKILL.md +2 -2
- package/skills/custom-features/SKILL.md +2 -2
- package/skills/expanding/SKILL.md +2 -2
- package/skills/global-filtering/SKILL.md +2 -2
- package/skills/grouping/SKILL.md +2 -2
- package/skills/migrate-v8-to-v9/SKILL.md +7 -7
- package/skills/pagination/SKILL.md +2 -2
- package/skills/row-pinning/SKILL.md +2 -2
- package/skills/row-selection/SKILL.md +2 -2
- package/skills/sorting/SKILL.md +2 -2
- package/skills/table-features/SKILL.md +2 -2
- package/skills/typescript/SKILL.md +2 -2
- package/dist/core/cells/constructCell.cjs +0 -31
- 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 -60
- 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 -64
- 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 -183
- 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 -102
- 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 -38
- 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 -52
- 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 -140
- 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 -33
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +0 -197
- 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 -50
- 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 -40
- 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 -53
- 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 -133
- package/dist/core/rows/coreRowsFeature.utils.cjs +0 -246
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +0 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +0 -146
- package/dist/core/rows/coreRowsFeature.utils.js.map +0 -1
- package/dist/core/table/constructTable.cjs +0 -128
- 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 -199
- package/dist/core/table/coreTablesFeature.utils.cjs +0 -120
- package/dist/core/table/coreTablesFeature.utils.cjs.map +0 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +0 -60
- package/dist/core/table/coreTablesFeature.utils.js.map +0 -1
- package/dist/experimental-worker-plugin.cjs +0 -14
- package/dist/experimental-worker-plugin.d.cts +0 -5
- package/dist/features/column-faceting/columnFacetingFeature.cjs +0 -55
- 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 -67
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +0 -114
- 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 -47
- 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 -45
- 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 -45
- 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 -214
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +0 -218
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +0 -147
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +0 -114
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +0 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +0 -22
- package/dist/features/column-filtering/createFilteredRowModel.js.map +0 -1
- package/dist/features/column-filtering/filterFns.cjs +0 -399
- package/dist/features/column-filtering/filterFns.cjs.map +0 -1
- package/dist/features/column-filtering/filterFns.d.cts +0 -210
- package/dist/features/column-filtering/filterFns.js.map +0 -1
- package/dist/features/column-filtering/filterRowsUtils.cjs +0 -82
- 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 -55
- 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 -129
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +0 -195
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +0 -153
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +0 -132
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +0 -1
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +0 -18
- package/dist/features/column-grouping/createGroupedRowModel.js.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +0 -54
- 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 -81
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +0 -192
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +0 -119
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.cjs +0 -202
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +0 -15
- package/dist/features/column-pinning/columnPinningFeature.js.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +0 -189
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +0 -584
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +0 -384
- 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 -78
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +0 -286
- 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 -90
- 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 -139
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +0 -299
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +0 -200
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +0 -83
- 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 -284
- 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 -40
- 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 -71
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
- package/dist/features/row-aggregation/aggregationFns.cjs +0 -246
- package/dist/features/row-aggregation/aggregationFns.cjs.map +0 -1
- package/dist/features/row-aggregation/aggregationFns.d.cts +0 -68
- package/dist/features/row-aggregation/aggregationFns.js.map +0 -1
- package/dist/features/row-aggregation/rowAggregationFeature.cjs +0 -39
- package/dist/features/row-aggregation/rowAggregationFeature.cjs.map +0 -1
- package/dist/features/row-aggregation/rowAggregationFeature.d.cts +0 -10
- package/dist/features/row-aggregation/rowAggregationFeature.js.map +0 -1
- package/dist/features/row-aggregation/rowAggregationFeature.types.cjs +0 -13
- package/dist/features/row-aggregation/rowAggregationFeature.types.cjs.map +0 -1
- package/dist/features/row-aggregation/rowAggregationFeature.types.d.cts +0 -195
- package/dist/features/row-aggregation/rowAggregationFeature.types.js.map +0 -1
- package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs +0 -212
- package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs.map +0 -1
- package/dist/features/row-aggregation/rowAggregationFeature.utils.d.cts +0 -34
- package/dist/features/row-aggregation/rowAggregationFeature.utils.js.map +0 -1
- package/dist/features/row-expanding/createExpandedRowModel.cjs +0 -55
- 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 -118
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +0 -283
- 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 -58
- 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 -126
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +0 -306
- 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 -55
- 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 -224
- 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 -119
- 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 -174
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +0 -570
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +0 -345
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +0 -114
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +0 -1
- package/dist/features/row-sorting/createSortedRowModel.d.cts +0 -22
- 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 -220
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +0 -316
- 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/row-sorting/sortFns.cjs +0 -226
- package/dist/features/row-sorting/sortFns.cjs.map +0 -1
- package/dist/features/row-sorting/sortFns.d.cts +0 -98
- package/dist/features/row-sorting/sortFns.js.map +0 -1
- package/dist/features/stockFeatures.cjs +0 -43
- package/dist/features/stockFeatures.cjs.map +0 -1
- package/dist/features/stockFeatures.d.cts +0 -43
- 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/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/metaHelper.cjs +0 -30
- package/dist/helpers/metaHelper.cjs.map +0 -1
- package/dist/helpers/metaHelper.d.cts +0 -26
- package/dist/helpers/metaHelper.js.map +0 -1
- package/dist/helpers/tableFeatures.cjs +0 -49
- package/dist/helpers/tableFeatures.cjs.map +0 -1
- package/dist/helpers/tableFeatures.d.cts +0 -47
- 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 -153
- package/dist/index.d.cts +0 -81
- package/dist/reactivity.cjs +0 -4
- package/dist/reactivity.d.cts +0 -3
- package/dist/static-functions.cjs +0 -274
- package/dist/static-functions.d.cts +0 -22
- 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 -16
- package/dist/types/Column.d.cts +0 -36
- package/dist/types/ColumnDef.d.cts +0 -125
- package/dist/types/Header.d.cts +0 -16
- package/dist/types/HeaderGroup.d.cts +0 -10
- package/dist/types/Row.d.cts +0 -28
- package/dist/types/RowModel.d.cts +0 -24
- package/dist/types/RowModelFns.d.cts +0 -18
- package/dist/types/Table.d.cts +0 -65
- package/dist/types/TableFeatures.d.cts +0 -381
- package/dist/types/TableOptions.d.cts +0 -77
- package/dist/types/TableState.d.cts +0 -48
- package/dist/types/type-utils.d.cts +0 -30
- package/dist/utils.cjs +0 -265
- package/dist/utils.cjs.map +0 -1
- package/dist/utils.d.cts +0 -136
- package/dist/utils.js.map +0 -1
- package/dist/worker/createTableWorker.cjs +0 -189
- package/dist/worker/createTableWorker.cjs.map +0 -1
- package/dist/worker/createTableWorker.d.cts +0 -102
- package/dist/worker/createTableWorker.js.map +0 -1
- package/dist/worker/createWorkerRowModel.cjs +0 -78
- package/dist/worker/createWorkerRowModel.cjs.map +0 -1
- package/dist/worker/createWorkerRowModel.d.cts +0 -42
- package/dist/worker/createWorkerRowModel.js.map +0 -1
- package/dist/worker/initTableWorker.cjs +0 -100
- package/dist/worker/initTableWorker.cjs.map +0 -1
- package/dist/worker/initTableWorker.d.cts +0 -33
- package/dist/worker/initTableWorker.js.map +0 -1
- package/dist/worker/rebuildRowModel.cjs +0 -72
- package/dist/worker/rebuildRowModel.cjs.map +0 -1
- package/dist/worker/rebuildRowModel.d.cts +0 -9
- package/dist/worker/rebuildRowModel.js.map +0 -1
- package/dist/worker/serializeRowModel.cjs +0 -53
- package/dist/worker/serializeRowModel.cjs.map +0 -1
- package/dist/worker/serializeRowModel.js.map +0 -1
- package/dist/worker/tableWorkerProtocol.cjs +0 -29
- package/dist/worker/tableWorkerProtocol.cjs.map +0 -1
- package/dist/worker/tableWorkerProtocol.d.cts +0 -88
- package/dist/worker/tableWorkerProtocol.js.map +0 -1
- 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 -125
- 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 -184
- 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 -199
- 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 -50
- package/src/core/row-models/coreRowModelsFeature.utils.ts +0 -272
- package/src/core/row-models/createCoreRowModel.ts +0 -94
- package/src/core/rows/constructRow.ts +0 -68
- package/src/core/rows/coreRowsFeature.ts +0 -83
- package/src/core/rows/coreRowsFeature.types.ts +0 -154
- package/src/core/rows/coreRowsFeature.utils.ts +0 -352
- package/src/core/table/constructTable.ts +0 -210
- package/src/core/table/coreTablesFeature.ts +0 -19
- package/src/core/table/coreTablesFeature.types.ts +0 -241
- package/src/core/table/coreTablesFeature.utils.ts +0 -171
- package/src/experimental-worker-plugin.ts +0 -22
- package/src/features/column-faceting/columnFacetingFeature.ts +0 -89
- package/src/features/column-faceting/columnFacetingFeature.types.ts +0 -78
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +0 -180
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +0 -92
- package/src/features/column-faceting/createFacetedRowModel.ts +0 -92
- package/src/features/column-faceting/createFacetedUniqueValues.ts +0 -97
- package/src/features/column-filtering/columnFilteringFeature.ts +0 -87
- package/src/features/column-filtering/columnFilteringFeature.types.ts +0 -308
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +0 -345
- package/src/features/column-filtering/createFilteredRowModel.ts +0 -194
- package/src/features/column-filtering/filterFns.ts +0 -533
- package/src/features/column-filtering/filterRowsUtils.ts +0 -158
- package/src/features/column-grouping/columnGroupingFeature.ts +0 -97
- package/src/features/column-grouping/columnGroupingFeature.types.ts +0 -152
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +0 -271
- package/src/features/column-grouping/createGroupedRowModel.ts +0 -221
- package/src/features/column-ordering/columnOrderingFeature.ts +0 -78
- package/src/features/column-ordering/columnOrderingFeature.types.ts +0 -86
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +0 -292
- package/src/features/column-pinning/columnPinningFeature.ts +0 -333
- package/src/features/column-pinning/columnPinningFeature.types.ts +0 -203
- package/src/features/column-pinning/columnPinningFeature.utils.ts +0 -922
- package/src/features/column-resizing/columnResizingFeature.ts +0 -65
- package/src/features/column-resizing/columnResizingFeature.types.ts +0 -86
- package/src/features/column-resizing/columnResizingFeature.utils.ts +0 -432
- package/src/features/column-sizing/columnSizingFeature.ts +0 -145
- package/src/features/column-sizing/columnSizingFeature.types.ts +0 -147
- package/src/features/column-sizing/columnSizingFeature.utils.ts +0 -462
- package/src/features/column-visibility/columnVisibilityFeature.ts +0 -126
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +0 -112
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +0 -402
- 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 -126
- package/src/features/row-aggregation/aggregationFns.ts +0 -345
- package/src/features/row-aggregation/rowAggregationFeature.ts +0 -60
- package/src/features/row-aggregation/rowAggregationFeature.types.ts +0 -339
- package/src/features/row-aggregation/rowAggregationFeature.utils.ts +0 -430
- 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 -132
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +0 -399
- 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 -137
- 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 -190
- package/src/features/row-selection/rowSelectionFeature.types.ts +0 -195
- package/src/features/row-selection/rowSelectionFeature.utils.ts +0 -927
- package/src/features/row-sorting/createSortedRowModel.ts +0 -189
- package/src/features/row-sorting/rowSortingFeature.ts +0 -103
- package/src/features/row-sorting/rowSortingFeature.types.ts +0 -288
- package/src/features/row-sorting/rowSortingFeature.utils.ts +0 -513
- package/src/features/row-sorting/sortFns.ts +0 -366
- package/src/features/stockFeatures.ts +0 -56
- package/src/flex-render.ts +0 -70
- package/src/helpers/columnHelper.ts +0 -122
- package/src/helpers/metaHelper.ts +0 -24
- package/src/helpers/tableFeatures.ts +0 -56
- 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 -32
- package/src/store-reactivity-bindings.ts +0 -47
- package/src/types/Cell.ts +0 -23
- package/src/types/Column.ts +0 -55
- package/src/types/ColumnDef.ts +0 -258
- package/src/types/Header.ts +0 -23
- package/src/types/HeaderGroup.ts +0 -13
- package/src/types/Row.ts +0 -36
- package/src/types/RowModel.ts +0 -43
- package/src/types/RowModelFns.ts +0 -32
- package/src/types/Table.ts +0 -116
- package/src/types/TableFeatures.ts +0 -479
- package/src/types/TableOptions.ts +0 -154
- package/src/types/TableState.ts +0 -61
- package/src/types/type-utils.ts +0 -92
- package/src/utils.ts +0 -493
- package/src/worker/createTableWorker.ts +0 -357
- package/src/worker/createWorkerRowModel.ts +0 -121
- package/src/worker/initTableWorker.ts +0 -164
- package/src/worker/rebuildRowModel.ts +0 -120
- package/src/worker/serializeRowModel.ts +0 -80
- package/src/worker/tableWorkerProtocol.ts +0 -105
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filterFns.js","names":[],"sources":["../../../src/features/column-filtering/filterFns.ts"],"sourcesContent":["import type {\n CreatedFilterFn,\n ExtractFilterMeta,\n FilterFnDef,\n} from './columnFilteringFeature.types'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Row } from '../../types/Row'\n\n/**\n * Builds a `FilterFn` from a value-level comparator plus optional resolvers.\n *\n * The `filter` comparator receives the row's data value (already passed\n * through `resolveDataValue` when one is defined) and the filter value\n * (already passed through `resolveFilterValue` by the table). Keeping\n * normalization in the resolvers means a variant of an existing filter\n * function only has to swap the resolvers, not re-implement the comparison.\n *\n * The definition is attached to the returned function, so a variant can be\n * created by spreading a built-in filter function and overriding what differs:\n *\n * ```ts\n * const normalize = (value: unknown) =>\n * String(value ?? '')\n * .toLowerCase()\n * .normalize('NFD')\n * .replace(/\\p{Diacritic}/gu, '')\n *\n * const includesStringIgnoreDiacritics = constructFilterFn({\n * ...filterFn_includesString,\n * resolveFilterValue: normalize,\n * resolveDataValue: normalize,\n * })\n * ```\n *\n * Note: the table applies `resolveFilterValue` once per filter before any rows\n * are tested. When calling a filter function directly (outside of a table),\n * apply it yourself: `fn(row, columnId, fn.resolveFilterValue?.(value) ?? value)`.\n */\nexport function constructFilterFn<\n TFeatures extends TableFeatures = any,\n TData extends RowData = any,\n>(def: FilterFnDef<TFeatures, TData>): CreatedFilterFn<TFeatures, TData> {\n const filterFn: CreatedFilterFn<TFeatures, TData> = Object.assign(\n <TRowFeatures extends TableFeatures, TRowData extends RowData>(\n row: Row<TRowFeatures, TRowData>,\n columnId: string,\n filterValue: any,\n addMeta?: (meta: ExtractFilterMeta<TRowFeatures>) => void,\n ): boolean => {\n const rawValue = row.getValue(columnId)\n const dataValue = filterFn.resolveDataValue\n ? filterFn.resolveDataValue(rawValue)\n : rawValue\n // The def's comparator is typed against the factory's TFeatures/TData;\n // the caller's row generics are erased at this boundary.\n return filterFn.filter(\n dataValue,\n filterValue,\n row as any,\n columnId,\n addMeta as any,\n )\n },\n def,\n )\n return filterFn\n}\n\n// Basic filters\n\n/**\n * Keeps rows whose column value is strictly equal to the filter value.\n *\n * Uses JavaScript `===` comparison and auto-removes empty filter values.\n */\nexport const filterFn_equals = constructFilterFn({\n filter: (dataValue, filterValue) => dataValue === filterValue,\n autoRemove: (val: any) => testFalsy(val),\n})\n\n/**\n * Keeps rows whose column value is loosely equal to the filter value.\n *\n * Uses JavaScript `==` comparison and auto-removes empty filter values. This is\n * useful for matching string input against numeric row values.\n */\nexport const filterFn_weakEquals = constructFilterFn({\n filter: (dataValue, filterValue) => dataValue == filterValue,\n autoRemove: (val: any) => testFalsy(val),\n})\n\n// String filters\n\n/**\n * Keeps rows whose stringified column value includes the filter text.\n *\n * Matching is case-sensitive and empty filter values are auto-removed.\n */\nexport const filterFn_includesStringSensitive = constructFilterFn({\n filter: (dataValue, filterValue) => Boolean(dataValue?.includes(filterValue)),\n autoRemove: (val: any) => testFalsy(val),\n resolveFilterValue: (val: any) => String(val),\n resolveDataValue: (val: any) => (val == null ? undefined : String(val)),\n})\n\n/**\n * Keeps rows whose stringified column value includes the filter text.\n *\n * Both values are lowercased before comparison, and empty filter values are\n * auto-removed.\n */\nexport const filterFn_includesString = constructFilterFn({\n filter: (dataValue, filterValue) => Boolean(dataValue?.includes(filterValue)),\n autoRemove: (val: any) => testFalsy(val),\n resolveFilterValue: (val: any) => String(val).toLowerCase(),\n resolveDataValue: (val: any) =>\n val == null ? undefined : String(val).toLowerCase(),\n})\n\n/**\n * Keeps rows whose stringified column value equals the filter text.\n *\n * Both values are lowercased before comparison, and empty filter values are\n * auto-removed.\n */\nexport const filterFn_equalsString = constructFilterFn({\n filter: (dataValue, filterValue) => dataValue === filterValue,\n autoRemove: (val: any) => testFalsy(val),\n resolveFilterValue: (val: any) => String(val).toLowerCase(),\n resolveDataValue: (val: any) =>\n val == null ? undefined : String(val).toLowerCase(),\n})\n\n/**\n * Keeps rows whose stringified column value exactly equals the filter text.\n *\n * Matching is case-sensitive and empty filter values are auto-removed.\n */\nexport const filterFn_equalsStringSensitive = constructFilterFn({\n filter: (dataValue, filterValue) => dataValue === filterValue,\n autoRemove: (val: any) => testFalsy(val),\n resolveFilterValue: (val: any) => String(val),\n resolveDataValue: (val: any) => (val == null ? undefined : String(val)),\n})\n\n/**\n * Keeps rows whose stringified column value starts with the filter text.\n *\n * Both values are lowercased before comparison, and empty filter values are\n * auto-removed.\n */\nexport const filterFn_startsWith = constructFilterFn({\n filter: (dataValue, filterValue) =>\n Boolean(dataValue?.startsWith(filterValue)),\n autoRemove: (val: any) => testFalsy(val),\n resolveFilterValue: (val: any) => String(val).toLowerCase(),\n resolveDataValue: (val: any) =>\n val == null ? undefined : String(val).toLowerCase(),\n})\n\n/**\n * Keeps rows whose stringified column value ends with the filter text.\n *\n * Both values are lowercased before comparison, and empty filter values are\n * auto-removed.\n */\nexport const filterFn_endsWith = constructFilterFn({\n filter: (dataValue, filterValue) => Boolean(dataValue?.endsWith(filterValue)),\n autoRemove: (val: any) => testFalsy(val),\n resolveFilterValue: (val: any) => String(val).toLowerCase(),\n resolveDataValue: (val: any) =>\n val == null ? undefined : String(val).toLowerCase(),\n})\n\n// Blank filters\n\n/**\n * Keeps rows whose column value is empty.\n *\n * A value is empty when it is nullish or stringifies to whitespace only. The\n * filter value acts as an on/off flag: `false` and blank values are\n * auto-removed.\n */\nexport const filterFn_empty = constructFilterFn({\n filter: (dataValue) => testValueEmpty(dataValue),\n autoRemove: (val: any) => testFalsy(val) || val === false,\n})\n\n/**\n * Keeps rows whose column value is not empty.\n *\n * A value is empty when it is nullish or stringifies to whitespace only. The\n * filter value acts as an on/off flag: `false` and blank values are\n * auto-removed.\n */\nexport const filterFn_notEmpty = constructFilterFn({\n filter: (dataValue) => !testValueEmpty(dataValue),\n autoRemove: (val: any) => testFalsy(val) || val === false,\n})\n\n// Number filters\n\n/**\n * Keeps rows whose value is greater than the filter value.\n *\n * Numeric values are compared numerically when both sides can be coerced to\n * numbers; otherwise normalized strings are compared.\n */\nexport const filterFn_greaterThan = constructFilterFn({\n filter: (dataValue, filterValue) =>\n compareGreaterThan(dataValue, filterValue),\n autoRemove: (val: any) => testFalsy(val),\n})\n\n/**\n * Keeps rows whose value is greater than or equal to the filter value.\n *\n * Delegates to the built-in greater-than and strict-equality comparisons.\n */\nexport const filterFn_greaterThanOrEqualTo = constructFilterFn({\n filter: (dataValue, filterValue) =>\n compareGreaterThanOrEqualTo(dataValue, filterValue),\n autoRemove: (val: any) => testFalsy(val),\n})\n\n/**\n * Keeps rows whose value is less than the filter value.\n *\n * This is implemented as the inverse of greater-than-or-equal comparison.\n */\nexport const filterFn_lessThan = constructFilterFn({\n filter: (dataValue, filterValue) =>\n !compareGreaterThanOrEqualTo(dataValue, filterValue),\n autoRemove: (val: any) => testFalsy(val),\n})\n\n/**\n * Keeps rows whose value is less than or equal to the filter value.\n *\n * This is implemented as the inverse of greater-than comparison.\n */\nexport const filterFn_lessThanOrEqualTo = constructFilterFn({\n filter: (dataValue, filterValue) =>\n !compareGreaterThan(dataValue, filterValue),\n autoRemove: (val: any) => testFalsy(val),\n})\n\n// Range filters\n\n/**\n * Keeps rows whose value falls between an exclusive min/max pair.\n *\n * Blank range endpoints are treated as open-ended.\n */\nexport const filterFn_between = constructFilterFn({\n filter: (dataValue, filterValues: [unknown, unknown]) =>\n compareBetween(dataValue, filterValues, false),\n autoRemove: (val: any) =>\n testFalsy(val) ||\n (Array.isArray(val) && testFalsy(val[0]) && testFalsy(val[1])),\n})\n\n/**\n * Keeps rows whose value falls between an inclusive min/max pair.\n *\n * Blank range endpoints are treated as open-ended.\n */\nexport const filterFn_betweenInclusive = constructFilterFn({\n filter: (dataValue, filterValues: [unknown, unknown]) =>\n compareBetween(dataValue, filterValues, true),\n autoRemove: (val: any) =>\n testFalsy(val) ||\n (Array.isArray(val) && testFalsy(val[0]) && testFalsy(val[1])),\n})\n\n/**\n * Keeps rows whose numeric value is inside an inclusive `[min, max]` range.\n *\n * Filter values are normalized so blank endpoints become open-ended and\n * reversed endpoints are swapped.\n */\nexport const filterFn_inNumberRange = constructFilterFn({\n filter: (dataValue: number, filterValue: [number, number]) => {\n const [min, max] = filterValue\n return dataValue >= min && dataValue <= max\n },\n resolveFilterValue: (val: [any, any]) => {\n const [unsafeMin, unsafeMax] = val\n\n const parsedMin =\n typeof unsafeMin !== 'number' ? parseFloat(unsafeMin) : unsafeMin\n const parsedMax =\n typeof unsafeMax !== 'number' ? parseFloat(unsafeMax) : unsafeMax\n\n let min =\n unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin\n let max =\n unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax\n\n if (min > max) {\n const temp = min\n min = max\n max = temp\n }\n\n return [min, max] as const\n },\n autoRemove: (val: any) =>\n testFalsy(val) ||\n (Array.isArray(val) && testFalsy(val[0]) && testFalsy(val[1])),\n})\n\n// Date filters\n\n/**\n * Keeps rows whose date value is inside an inclusive `[min, max]` date range.\n *\n * Row values and range endpoints may be `Date` objects, timestamps, or\n * parseable date strings. Blank or invalid endpoints become open-ended and\n * reversed endpoints are swapped. Rows without a valid date never match.\n */\nexport const filterFn_inDateRange = constructFilterFn({\n filter: (dataValue: number, filterValue: [number, number]) => {\n const [min, max] = filterValue\n return dataValue >= min && dataValue <= max\n },\n resolveFilterValue: (val: [any, any]) => {\n const [unsafeMin, unsafeMax] = val\n\n const parsedMin = toDateTimestamp(unsafeMin)\n const parsedMax = toDateTimestamp(unsafeMax)\n\n let min = Number.isNaN(parsedMin) ? -Infinity : parsedMin\n let max = Number.isNaN(parsedMax) ? Infinity : parsedMax\n\n if (min > max) {\n const temp = min\n min = max\n max = temp\n }\n\n return [min, max] as const\n },\n resolveDataValue: (val: any) => toDateTimestamp(val),\n autoRemove: (val: any) =>\n testFalsy(val) ||\n (Array.isArray(val) && testFalsy(val[0]) && testFalsy(val[1])),\n})\n\n// Array filters\n\n/**\n * Keeps rows whose scalar column value equals at least one filter value.\n */\nexport const filterFn_arrHas = constructFilterFn({\n filter: (dataValue, filterValue: Array<unknown>) => {\n for (let i = 0; i < filterValue.length; i++) {\n if (dataValue === filterValue[i]) {\n return true\n }\n }\n return false\n },\n autoRemove: (val: any) => testFalsy(val) || !val?.length,\n})\n\n/**\n * Keeps rows whose array or string column value includes at least one filter value.\n */\nexport const filterFn_arrIncludes = constructFilterFn({\n filter: (dataValue, filterValue: Array<unknown>) => {\n if (typeof dataValue !== 'string' && !Array.isArray(dataValue)) {\n return false\n }\n\n for (let i = 0; i < filterValue.length; i++) {\n if (dataValue.includes(filterValue[i] as any)) {\n return true\n }\n }\n return false\n },\n autoRemove: (val: any) => testFalsy(val) || !val?.length,\n})\n\n/**\n * Keeps rows whose array column value includes every filter value.\n */\nexport const filterFn_arrIncludesAll = constructFilterFn({\n filter: (dataValue, filterValue: Array<unknown>) => {\n if (!Array.isArray(dataValue)) return false\n for (let i = 0; i < filterValue.length; i++) {\n if (!dataValue.includes(filterValue[i])) {\n return false\n }\n }\n return true\n },\n autoRemove: (val: any) => testFalsy(val) || !val?.length,\n})\n\n/**\n * Keeps rows whose array column value includes at least one filter value.\n */\nexport const filterFn_arrIncludesSome = constructFilterFn({\n filter: (dataValue, filterValue: Array<unknown>) => {\n if (!Array.isArray(dataValue)) return false\n for (let i = 0; i < filterValue.length; i++) {\n if (dataValue.includes(filterValue[i])) {\n return true\n }\n }\n return false\n },\n autoRemove: (val: any) => testFalsy(val) || !val?.length,\n})\n\n// Export\n\n/**\n * The built-in filter function registry.\n *\n * Registering this full object opts out of tree-shaking: every built-in\n * filter function ends up in your bundle. Prefer importing the `filterFn_*`\n * functions you actually use and registering just those in the `filterFns`\n * slot, or passing them directly to the `filterFn` column option.\n *\n * @deprecated Import individual `filterFn_*` functions instead for a smaller\n * bundle. This export still works and is not going away in v9, but built-in\n * name resolution (including `filterFn: 'auto'`) only finds functions you\n * register yourself.\n */\nexport const filterFns = {\n arrIncludes: filterFn_arrIncludes,\n arrIncludesAll: filterFn_arrIncludesAll,\n arrHas: filterFn_arrHas,\n arrIncludesSome: filterFn_arrIncludesSome,\n between: filterFn_between,\n betweenInclusive: filterFn_betweenInclusive,\n empty: filterFn_empty,\n endsWith: filterFn_endsWith,\n equals: filterFn_equals,\n equalsString: filterFn_equalsString,\n equalsStringSensitive: filterFn_equalsStringSensitive,\n inDateRange: filterFn_inDateRange,\n inNumberRange: filterFn_inNumberRange,\n includesString: filterFn_includesString,\n includesStringSensitive: filterFn_includesStringSensitive,\n notEmpty: filterFn_notEmpty,\n startsWith: filterFn_startsWith,\n weakEquals: filterFn_weakEquals,\n}\n\nexport type BuiltInFilterFn = keyof typeof filterFns\n\n// Utils\n\nfunction testFalsy(val: any) {\n return val === undefined || val === null || val === ''\n}\n\nfunction testValueEmpty(dataValue: any) {\n return dataValue == null || String(dataValue).trim() === ''\n}\n\nfunction toDateTimestamp(value: any): number {\n if (value instanceof Date) {\n return value.getTime()\n }\n if (typeof value === 'number') {\n return value\n }\n // Guard nullish and blank values explicitly: `new Date(null)` is the epoch,\n // not an invalid date.\n if (value == null || value === '') {\n return NaN\n }\n return new Date(value).getTime()\n}\n\nfunction compareGreaterThan(dataValue: any, filterValue: any): boolean {\n const numericDataValue = dataValue == null ? 0 : +dataValue\n const numericFilterValue = Number(filterValue)\n\n if (!isNaN(numericFilterValue) && !isNaN(numericDataValue)) {\n return numericDataValue > numericFilterValue\n }\n\n const stringDataValue = String(dataValue ?? '')\n .toLowerCase()\n .trim()\n const stringFilterValue = String(filterValue).toLowerCase().trim()\n return stringDataValue > stringFilterValue\n}\n\nfunction compareGreaterThanOrEqualTo(dataValue: any, filterValue: any) {\n return dataValue === filterValue || compareGreaterThan(dataValue, filterValue)\n}\n\nfunction compareBetween(\n dataValue: any,\n filterValues: [unknown, unknown],\n inclusive: boolean,\n): boolean {\n const min = filterValues[0]\n const hasMin = min !== '' && min !== undefined\n if (hasMin) {\n const passesMin = inclusive\n ? compareGreaterThanOrEqualTo(dataValue, min)\n : compareGreaterThan(dataValue, min)\n if (!passesMin) {\n return false\n }\n }\n\n const max = filterValues[1]\n if (max === '' || max === undefined) {\n return true\n }\n\n if (hasMin) {\n const numericMin = Number(min)\n const numericMax = Number(max)\n if (!isNaN(numericMin) && !isNaN(numericMax) && numericMin > numericMax) {\n return true\n }\n }\n\n return inclusive\n ? !compareGreaterThan(dataValue, max)\n : !compareGreaterThanOrEqualTo(dataValue, max)\n}\n"],"mappings":"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"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
const require_utils = require('../../utils.cjs');
|
|
2
|
-
const require_constructRow = require('../../core/rows/constructRow.cjs');
|
|
3
|
-
|
|
4
|
-
//#region src/features/column-filtering/filterRowsUtils.ts
|
|
5
|
-
/**
|
|
6
|
-
* Filters a row model with the supplied row predicate.
|
|
7
|
-
*
|
|
8
|
-
* The helper supports both filtering from leaf rows upward and filtering parents before descendants, depending on table options.
|
|
9
|
-
*/
|
|
10
|
-
function filterRows(rows, filterRowImpl, table) {
|
|
11
|
-
if (table.options.filterFromLeafRows) return filterRowModelFromLeafs(rows, filterRowImpl, table);
|
|
12
|
-
return filterRowModelFromRoot(rows, filterRowImpl, table);
|
|
13
|
-
}
|
|
14
|
-
function filterRowModelFromLeafs(rowsToFilter, filterRow, table) {
|
|
15
|
-
const newFilteredFlatRows = [];
|
|
16
|
-
const newFilteredRowsById = require_utils.makeObjectMap();
|
|
17
|
-
const maxDepth = table.options.maxLeafRowFilterDepth ?? 100;
|
|
18
|
-
const recurseFilterRows = (rowsToFilter, depth = 0) => {
|
|
19
|
-
const filteredRows = [];
|
|
20
|
-
for (let row of rowsToFilter) {
|
|
21
|
-
const newRow = require_constructRow.constructRow(table, row.id, row.original, row.index, row.depth, void 0, row.parentId);
|
|
22
|
-
newRow.columnFilters = row.columnFilters;
|
|
23
|
-
if (row.subRows.length && depth < maxDepth) {
|
|
24
|
-
newRow.subRows = recurseFilterRows(row.subRows, depth + 1);
|
|
25
|
-
row = newRow;
|
|
26
|
-
if (filterRow(row) && !newRow.subRows.length) {
|
|
27
|
-
filteredRows.push(row);
|
|
28
|
-
newFilteredRowsById[row.id] = row;
|
|
29
|
-
newFilteredFlatRows.push(row);
|
|
30
|
-
continue;
|
|
31
|
-
}
|
|
32
|
-
if (filterRow(row) || newRow.subRows.length) {
|
|
33
|
-
filteredRows.push(row);
|
|
34
|
-
newFilteredRowsById[row.id] = row;
|
|
35
|
-
newFilteredFlatRows.push(row);
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
} else {
|
|
39
|
-
row = newRow;
|
|
40
|
-
if (filterRow(row)) {
|
|
41
|
-
filteredRows.push(row);
|
|
42
|
-
newFilteredRowsById[row.id] = row;
|
|
43
|
-
newFilteredFlatRows.push(row);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return filteredRows;
|
|
48
|
-
};
|
|
49
|
-
return {
|
|
50
|
-
rows: recurseFilterRows(rowsToFilter),
|
|
51
|
-
flatRows: newFilteredFlatRows,
|
|
52
|
-
rowsById: newFilteredRowsById
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
function filterRowModelFromRoot(rowsToFilter, filterRow, table) {
|
|
56
|
-
const newFilteredFlatRows = [];
|
|
57
|
-
const newFilteredRowsById = require_utils.makeObjectMap();
|
|
58
|
-
const maxDepth = table.options.maxLeafRowFilterDepth ?? 100;
|
|
59
|
-
const recurseFilterRows = (rowsToFilter, depth = 0) => {
|
|
60
|
-
const filteredRows = [];
|
|
61
|
-
for (let row of rowsToFilter) if (filterRow(row)) {
|
|
62
|
-
if (row.subRows.length && depth < maxDepth) {
|
|
63
|
-
const newRow = require_constructRow.constructRow(table, row.id, row.original, row.index, row.depth, void 0, row.parentId);
|
|
64
|
-
newRow.subRows = recurseFilterRows(row.subRows, depth + 1);
|
|
65
|
-
row = newRow;
|
|
66
|
-
}
|
|
67
|
-
filteredRows.push(row);
|
|
68
|
-
newFilteredFlatRows.push(row);
|
|
69
|
-
newFilteredRowsById[row.id] = row;
|
|
70
|
-
}
|
|
71
|
-
return filteredRows;
|
|
72
|
-
};
|
|
73
|
-
return {
|
|
74
|
-
rows: recurseFilterRows(rowsToFilter),
|
|
75
|
-
flatRows: newFilteredFlatRows,
|
|
76
|
-
rowsById: newFilteredRowsById
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
//#endregion
|
|
81
|
-
exports.filterRows = filterRows;
|
|
82
|
-
//# sourceMappingURL=filterRowsUtils.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filterRowsUtils.cjs","names":["makeObjectMap","constructRow"],"sources":["../../../src/features/column-filtering/filterRowsUtils.ts"],"sourcesContent":["import { constructRow } from '../../core/rows/constructRow'\nimport { makeObjectMap } from '../../utils'\nimport type { Row_ColumnFiltering } from './columnFilteringFeature.types'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Row } from '../../types/Row'\nimport type { Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\n/**\n * Filters a row model with the supplied row predicate.\n *\n * The helper supports both filtering from leaf rows upward and filtering parents before descendants, depending on table options.\n */\nexport function filterRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rows: Array<Row<TFeatures, TData>>,\n filterRowImpl: (row: Row<TFeatures, TData>) => any,\n table: Table_Internal<TFeatures, TData>,\n) {\n if (table.options.filterFromLeafRows) {\n return filterRowModelFromLeafs(rows, filterRowImpl, table)\n }\n\n return filterRowModelFromRoot(rows, filterRowImpl, table)\n}\n\nfunction filterRowModelFromLeafs<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rowsToFilter: Array<Row<TFeatures, TData>>,\n filterRow: (\n row: Row<TFeatures, TData>,\n ) => Array<Row<TFeatures, TData>> | undefined,\n table: Table_Internal<TFeatures, TData>,\n): RowModel<TFeatures, TData> {\n const newFilteredFlatRows: Array<Row<TFeatures, TData>> = []\n const newFilteredRowsById = makeObjectMap<Row<TFeatures, TData>>()\n const maxDepth = table.options.maxLeafRowFilterDepth ?? 100\n\n const recurseFilterRows = (\n rowsToFilter: Array<\n Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>\n >,\n depth = 0,\n ) => {\n const filteredRows: Array<Row<TFeatures, TData>> &\n Partial<Row_ColumnFiltering<TFeatures, TData>> = []\n\n // Filter from children up first\n for (let row of rowsToFilter) {\n const newRow = constructRow(\n table,\n row.id,\n row.original,\n row.index,\n row.depth,\n undefined,\n row.parentId,\n ) as Row<TFeatures, TData> &\n Partial<Row_ColumnFiltering<TFeatures, TData>>\n newRow.columnFilters = row.columnFilters\n\n if (row.subRows.length && depth < maxDepth) {\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1)\n row = newRow\n\n if (filterRow(row) && !newRow.subRows.length) {\n filteredRows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n continue\n }\n\n if (filterRow(row) || newRow.subRows.length) {\n filteredRows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n continue\n }\n } else {\n row = newRow\n if (filterRow(row)) {\n filteredRows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n }\n }\n }\n\n return filteredRows\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n\nfunction filterRowModelFromRoot<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rowsToFilter: Array<Row<TFeatures, TData>>,\n filterRow: (row: Row<TFeatures, TData>) => any,\n table: Table_Internal<TFeatures, TData>,\n): RowModel<TFeatures, TData> {\n const newFilteredFlatRows: Array<Row<TFeatures, TData>> = []\n const newFilteredRowsById = makeObjectMap<Row<TFeatures, TData>>()\n const maxDepth = table.options.maxLeafRowFilterDepth ?? 100\n\n // Filters top level and nested rows\n const recurseFilterRows = (\n rowsToFilter: Array<Row<TFeatures, TData>>,\n depth = 0,\n ) => {\n // Filter from parents downward first\n\n const filteredRows: Array<Row<TFeatures, TData>> = []\n\n // Apply the filter to any subRows\n for (let row of rowsToFilter) {\n const pass = filterRow(row)\n\n if (pass) {\n if (row.subRows.length && depth < maxDepth) {\n const newRow = constructRow(\n table,\n row.id,\n row.original,\n row.index,\n row.depth,\n undefined,\n row.parentId,\n )\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1)\n row = newRow\n }\n\n filteredRows.push(row)\n newFilteredFlatRows.push(row)\n newFilteredRowsById[row.id] = row\n }\n }\n\n return filteredRows\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n"],"mappings":";;;;;;;;;AAcA,SAAgB,WAId,MACA,eACA,OACA;CACA,IAAI,MAAM,QAAQ,oBAChB,OAAO,wBAAwB,MAAM,eAAe,KAAK;CAG3D,OAAO,uBAAuB,MAAM,eAAe,KAAK;AAC1D;AAEA,SAAS,wBAIP,cACA,WAGA,OAC4B;CAC5B,MAAM,sBAAoD,CAAC;CAC3D,MAAM,sBAAsBA,4BAAqC;CACjE,MAAM,WAAW,MAAM,QAAQ,yBAAyB;CAExD,MAAM,qBACJ,cAGA,QAAQ,MACL;EACH,MAAM,eAC6C,CAAC;EAGpD,KAAK,IAAI,OAAO,cAAc;GAC5B,MAAM,SAASC,kCACb,OACA,IAAI,IACJ,IAAI,UACJ,IAAI,OACJ,IAAI,OACJ,QACA,IAAI,QACN;GAEA,OAAO,gBAAgB,IAAI;GAE3B,IAAI,IAAI,QAAQ,UAAU,QAAQ,UAAU;IAC1C,OAAO,UAAU,kBAAkB,IAAI,SAAS,QAAQ,CAAC;IACzD,MAAM;IAEN,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,QAAQ,QAAQ;KAC5C,aAAa,KAAK,GAAG;KACrB,oBAAoB,IAAI,MAAM;KAC9B,oBAAoB,KAAK,GAAG;KAC5B;IACF;IAEA,IAAI,UAAU,GAAG,KAAK,OAAO,QAAQ,QAAQ;KAC3C,aAAa,KAAK,GAAG;KACrB,oBAAoB,IAAI,MAAM;KAC9B,oBAAoB,KAAK,GAAG;KAC5B;IACF;GACF,OAAO;IACL,MAAM;IACN,IAAI,UAAU,GAAG,GAAG;KAClB,aAAa,KAAK,GAAG;KACrB,oBAAoB,IAAI,MAAM;KAC9B,oBAAoB,KAAK,GAAG;IAC9B;GACF;EACF;EAEA,OAAO;CACT;CAEA,OAAO;EACL,MAAM,kBAAkB,YAAY;EACpC,UAAU;EACV,UAAU;CACZ;AACF;AAEA,SAAS,uBAIP,cACA,WACA,OAC4B;CAC5B,MAAM,sBAAoD,CAAC;CAC3D,MAAM,sBAAsBD,4BAAqC;CACjE,MAAM,WAAW,MAAM,QAAQ,yBAAyB;CAGxD,MAAM,qBACJ,cACA,QAAQ,MACL;EAGH,MAAM,eAA6C,CAAC;EAGpD,KAAK,IAAI,OAAO,cAGd,IAFa,UAAU,GAEhB,GAAG;GACR,IAAI,IAAI,QAAQ,UAAU,QAAQ,UAAU;IAC1C,MAAM,SAASC,kCACb,OACA,IAAI,IACJ,IAAI,UACJ,IAAI,OACJ,IAAI,OACJ,QACA,IAAI,QACN;IACA,OAAO,UAAU,kBAAkB,IAAI,SAAS,QAAQ,CAAC;IACzD,MAAM;GACR;GAEA,aAAa,KAAK,GAAG;GACrB,oBAAoB,KAAK,GAAG;GAC5B,oBAAoB,IAAI,MAAM;EAChC;EAGF,OAAO;CACT;CAEA,OAAO;EACL,MAAM,kBAAkB,YAAY;EACpC,UAAU;EACV,UAAU;CACZ;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filterRowsUtils.js","names":[],"sources":["../../../src/features/column-filtering/filterRowsUtils.ts"],"sourcesContent":["import { constructRow } from '../../core/rows/constructRow'\nimport { makeObjectMap } from '../../utils'\nimport type { Row_ColumnFiltering } from './columnFilteringFeature.types'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Row } from '../../types/Row'\nimport type { Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\n/**\n * Filters a row model with the supplied row predicate.\n *\n * The helper supports both filtering from leaf rows upward and filtering parents before descendants, depending on table options.\n */\nexport function filterRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rows: Array<Row<TFeatures, TData>>,\n filterRowImpl: (row: Row<TFeatures, TData>) => any,\n table: Table_Internal<TFeatures, TData>,\n) {\n if (table.options.filterFromLeafRows) {\n return filterRowModelFromLeafs(rows, filterRowImpl, table)\n }\n\n return filterRowModelFromRoot(rows, filterRowImpl, table)\n}\n\nfunction filterRowModelFromLeafs<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rowsToFilter: Array<Row<TFeatures, TData>>,\n filterRow: (\n row: Row<TFeatures, TData>,\n ) => Array<Row<TFeatures, TData>> | undefined,\n table: Table_Internal<TFeatures, TData>,\n): RowModel<TFeatures, TData> {\n const newFilteredFlatRows: Array<Row<TFeatures, TData>> = []\n const newFilteredRowsById = makeObjectMap<Row<TFeatures, TData>>()\n const maxDepth = table.options.maxLeafRowFilterDepth ?? 100\n\n const recurseFilterRows = (\n rowsToFilter: Array<\n Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>\n >,\n depth = 0,\n ) => {\n const filteredRows: Array<Row<TFeatures, TData>> &\n Partial<Row_ColumnFiltering<TFeatures, TData>> = []\n\n // Filter from children up first\n for (let row of rowsToFilter) {\n const newRow = constructRow(\n table,\n row.id,\n row.original,\n row.index,\n row.depth,\n undefined,\n row.parentId,\n ) as Row<TFeatures, TData> &\n Partial<Row_ColumnFiltering<TFeatures, TData>>\n newRow.columnFilters = row.columnFilters\n\n if (row.subRows.length && depth < maxDepth) {\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1)\n row = newRow\n\n if (filterRow(row) && !newRow.subRows.length) {\n filteredRows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n continue\n }\n\n if (filterRow(row) || newRow.subRows.length) {\n filteredRows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n continue\n }\n } else {\n row = newRow\n if (filterRow(row)) {\n filteredRows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n }\n }\n }\n\n return filteredRows\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n\nfunction filterRowModelFromRoot<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rowsToFilter: Array<Row<TFeatures, TData>>,\n filterRow: (row: Row<TFeatures, TData>) => any,\n table: Table_Internal<TFeatures, TData>,\n): RowModel<TFeatures, TData> {\n const newFilteredFlatRows: Array<Row<TFeatures, TData>> = []\n const newFilteredRowsById = makeObjectMap<Row<TFeatures, TData>>()\n const maxDepth = table.options.maxLeafRowFilterDepth ?? 100\n\n // Filters top level and nested rows\n const recurseFilterRows = (\n rowsToFilter: Array<Row<TFeatures, TData>>,\n depth = 0,\n ) => {\n // Filter from parents downward first\n\n const filteredRows: Array<Row<TFeatures, TData>> = []\n\n // Apply the filter to any subRows\n for (let row of rowsToFilter) {\n const pass = filterRow(row)\n\n if (pass) {\n if (row.subRows.length && depth < maxDepth) {\n const newRow = constructRow(\n table,\n row.id,\n row.original,\n row.index,\n row.depth,\n undefined,\n row.parentId,\n )\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1)\n row = newRow\n }\n\n filteredRows.push(row)\n newFilteredFlatRows.push(row)\n newFilteredRowsById[row.id] = row\n }\n }\n\n return filteredRows\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n"],"mappings":";;;;;;;;;AAcA,SAAgB,WAId,MACA,eACA,OACA;CACA,IAAI,MAAM,QAAQ,oBAChB,OAAO,wBAAwB,MAAM,eAAe,KAAK;CAG3D,OAAO,uBAAuB,MAAM,eAAe,KAAK;AAC1D;AAEA,SAAS,wBAIP,cACA,WAGA,OAC4B;CAC5B,MAAM,sBAAoD,CAAC;CAC3D,MAAM,sBAAsB,cAAqC;CACjE,MAAM,WAAW,MAAM,QAAQ,yBAAyB;CAExD,MAAM,qBACJ,cAGA,QAAQ,MACL;EACH,MAAM,eAC6C,CAAC;EAGpD,KAAK,IAAI,OAAO,cAAc;GAC5B,MAAM,SAAS,aACb,OACA,IAAI,IACJ,IAAI,UACJ,IAAI,OACJ,IAAI,OACJ,QACA,IAAI,QACN;GAEA,OAAO,gBAAgB,IAAI;GAE3B,IAAI,IAAI,QAAQ,UAAU,QAAQ,UAAU;IAC1C,OAAO,UAAU,kBAAkB,IAAI,SAAS,QAAQ,CAAC;IACzD,MAAM;IAEN,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,QAAQ,QAAQ;KAC5C,aAAa,KAAK,GAAG;KACrB,oBAAoB,IAAI,MAAM;KAC9B,oBAAoB,KAAK,GAAG;KAC5B;IACF;IAEA,IAAI,UAAU,GAAG,KAAK,OAAO,QAAQ,QAAQ;KAC3C,aAAa,KAAK,GAAG;KACrB,oBAAoB,IAAI,MAAM;KAC9B,oBAAoB,KAAK,GAAG;KAC5B;IACF;GACF,OAAO;IACL,MAAM;IACN,IAAI,UAAU,GAAG,GAAG;KAClB,aAAa,KAAK,GAAG;KACrB,oBAAoB,IAAI,MAAM;KAC9B,oBAAoB,KAAK,GAAG;IAC9B;GACF;EACF;EAEA,OAAO;CACT;CAEA,OAAO;EACL,MAAM,kBAAkB,YAAY;EACpC,UAAU;EACV,UAAU;CACZ;AACF;AAEA,SAAS,uBAIP,cACA,WACA,OAC4B;CAC5B,MAAM,sBAAoD,CAAC;CAC3D,MAAM,sBAAsB,cAAqC;CACjE,MAAM,WAAW,MAAM,QAAQ,yBAAyB;CAGxD,MAAM,qBACJ,cACA,QAAQ,MACL;EAGH,MAAM,eAA6C,CAAC;EAGpD,KAAK,IAAI,OAAO,cAGd,IAFa,UAAU,GAEhB,GAAG;GACR,IAAI,IAAI,QAAQ,UAAU,QAAQ,UAAU;IAC1C,MAAM,SAAS,aACb,OACA,IAAI,IACJ,IAAI,UACJ,IAAI,OACJ,IAAI,OACJ,QACA,IAAI,QACN;IACA,OAAO,UAAU,kBAAkB,IAAI,SAAS,QAAQ,CAAC;IACzD,MAAM;GACR;GAEA,aAAa,KAAK,GAAG;GACrB,oBAAoB,KAAK,GAAG;GAC5B,oBAAoB,IAAI,MAAM;EAChC;EAGF,OAAO;CACT;CAEA,OAAO;EACL,MAAM,kBAAkB,YAAY;EACpC,UAAU;EACV,UAAU;CACZ;AACF"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
const require_utils = require('../../utils.cjs');
|
|
2
|
-
const require_columnGroupingFeature_utils = require('./columnGroupingFeature.utils.cjs');
|
|
3
|
-
|
|
4
|
-
//#region src/features/column-grouping/columnGroupingFeature.ts
|
|
5
|
-
/**
|
|
6
|
-
* Feature that adds column grouping state and grouped row APIs.
|
|
7
|
-
*/
|
|
8
|
-
const columnGroupingFeature = {
|
|
9
|
-
getInitialState: (initialState) => {
|
|
10
|
-
return {
|
|
11
|
-
grouping: require_columnGroupingFeature_utils.getDefaultGroupingState(),
|
|
12
|
-
...initialState
|
|
13
|
-
};
|
|
14
|
-
},
|
|
15
|
-
getDefaultTableOptions: (table) => {
|
|
16
|
-
return {
|
|
17
|
-
onGroupingChange: require_utils.makeStateUpdater("grouping", table),
|
|
18
|
-
groupedColumnMode: "reorder"
|
|
19
|
-
};
|
|
20
|
-
},
|
|
21
|
-
assignCellPrototype: (prototype, table) => {
|
|
22
|
-
require_utils.assignPrototypeAPIs("columnGroupingFeature", prototype, table, {
|
|
23
|
-
cell_getIsGrouped: { fn: (cell) => require_columnGroupingFeature_utils.cell_getIsGrouped(cell) },
|
|
24
|
-
cell_getIsPlaceholder: { fn: (cell) => require_columnGroupingFeature_utils.cell_getIsPlaceholder(cell) }
|
|
25
|
-
});
|
|
26
|
-
},
|
|
27
|
-
assignColumnPrototype: (prototype, table) => {
|
|
28
|
-
require_utils.assignPrototypeAPIs("columnGroupingFeature", prototype, table, {
|
|
29
|
-
column_toggleGrouping: { fn: (column) => require_columnGroupingFeature_utils.column_toggleGrouping(column) },
|
|
30
|
-
column_getCanGroup: { fn: (column) => require_columnGroupingFeature_utils.column_getCanGroup(column) },
|
|
31
|
-
column_getIsGrouped: { fn: (column) => require_columnGroupingFeature_utils.column_getIsGrouped(column) },
|
|
32
|
-
column_getGroupedIndex: { fn: (column) => require_columnGroupingFeature_utils.column_getGroupedIndex(column) },
|
|
33
|
-
column_getToggleGroupingHandler: { fn: (column) => require_columnGroupingFeature_utils.column_getToggleGroupingHandler(column) }
|
|
34
|
-
});
|
|
35
|
-
},
|
|
36
|
-
assignRowPrototype: (prototype, table) => {
|
|
37
|
-
require_utils.assignPrototypeAPIs("columnGroupingFeature", prototype, table, {
|
|
38
|
-
row_getIsGrouped: { fn: (row) => require_columnGroupingFeature_utils.row_getIsGrouped(row) },
|
|
39
|
-
row_getGroupingValue: { fn: (row, columnId) => require_columnGroupingFeature_utils.row_getGroupingValue(row, columnId) }
|
|
40
|
-
});
|
|
41
|
-
},
|
|
42
|
-
initRowInstanceData: (row) => {
|
|
43
|
-
row._groupingValuesCache = require_utils.makeObjectMap();
|
|
44
|
-
},
|
|
45
|
-
constructTableAPIs: (table) => {
|
|
46
|
-
require_utils.assignTableAPIs("columnGroupingFeature", table, {
|
|
47
|
-
table_setGrouping: { fn: (updater) => require_columnGroupingFeature_utils.table_setGrouping(table, updater) },
|
|
48
|
-
table_resetGrouping: { fn: (defaultState) => require_columnGroupingFeature_utils.table_resetGrouping(table, defaultState) }
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
//#endregion
|
|
54
|
-
exports.columnGroupingFeature = columnGroupingFeature;
|
|
55
|
-
//# sourceMappingURL=columnGroupingFeature.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"columnGroupingFeature.cjs","names":["getDefaultGroupingState","makeStateUpdater","cell_getIsGrouped","cell_getIsPlaceholder","column_toggleGrouping","column_getCanGroup","column_getIsGrouped","column_getGroupedIndex","column_getToggleGroupingHandler","row_getIsGrouped","row_getGroupingValue","makeObjectMap","table_setGrouping","table_resetGrouping"],"sources":["../../../src/features/column-grouping/columnGroupingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeObjectMap,\n makeStateUpdater,\n} from '../../utils'\nimport {\n cell_getIsGrouped,\n cell_getIsPlaceholder,\n column_getCanGroup,\n column_getGroupedIndex,\n column_getIsGrouped,\n column_getToggleGroupingHandler,\n column_toggleGrouping,\n getDefaultGroupingState,\n row_getGroupingValue,\n row_getIsGrouped,\n table_resetGrouping,\n table_setGrouping,\n} from './columnGroupingFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds column grouping state and grouped row APIs.\n */\nexport const columnGroupingFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n grouping: getDefaultGroupingState(),\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onGroupingChange: makeStateUpdater('grouping', table),\n groupedColumnMode: 'reorder',\n }\n },\n\n assignCellPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnGroupingFeature', prototype, table, {\n cell_getIsGrouped: {\n fn: (cell) => cell_getIsGrouped(cell),\n },\n cell_getIsPlaceholder: {\n fn: (cell) => cell_getIsPlaceholder(cell),\n },\n })\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnGroupingFeature', prototype, table, {\n column_toggleGrouping: {\n fn: (column) => column_toggleGrouping(column),\n },\n column_getCanGroup: {\n fn: (column) => column_getCanGroup(column),\n },\n column_getIsGrouped: {\n fn: (column) => column_getIsGrouped(column),\n },\n column_getGroupedIndex: {\n fn: (column) => column_getGroupedIndex(column),\n },\n column_getToggleGroupingHandler: {\n fn: (column) => column_getToggleGroupingHandler(column),\n },\n })\n },\n\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnGroupingFeature', prototype, table, {\n row_getIsGrouped: {\n fn: (row) => row_getIsGrouped(row),\n },\n row_getGroupingValue: {\n fn: (row, columnId) => row_getGroupingValue(row, columnId),\n },\n })\n },\n\n initRowInstanceData: (row) => {\n ;(row as any)._groupingValuesCache = makeObjectMap()\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnGroupingFeature', table, {\n table_setGrouping: {\n fn: (updater) => table_setGrouping(table, updater),\n },\n table_resetGrouping: {\n fn: (defaultState) => table_resetGrouping(table, defaultState),\n },\n })\n },\n}\n"],"mappings":";;;;;;;AAyBA,MAAa,wBAAsC;CACjD,kBAAkB,iBAAiB;EACjC,OAAO;GACL,UAAUA,4DAAwB;GAClC,GAAG;EACL;CACF;CAEA,yBAAyB,UAAU;EACjC,OAAO;GACL,kBAAkBC,+BAAiB,YAAY,KAAK;GACpD,mBAAmB;EACrB;CACF;CAEA,sBAAsB,WAAW,UAAU;EACzC,kCAAoB,yBAAyB,WAAW,OAAO;GAC7D,mBAAmB,EACjB,KAAK,SAASC,sDAAkB,IAAI,EACtC;GACA,uBAAuB,EACrB,KAAK,SAASC,0DAAsB,IAAI,EAC1C;EACF,CAAC;CACH;CAEA,wBAAwB,WAAW,UAAU;EAC3C,kCAAoB,yBAAyB,WAAW,OAAO;GAC7D,uBAAuB,EACrB,KAAK,WAAWC,0DAAsB,MAAM,EAC9C;GACA,oBAAoB,EAClB,KAAK,WAAWC,uDAAmB,MAAM,EAC3C;GACA,qBAAqB,EACnB,KAAK,WAAWC,wDAAoB,MAAM,EAC5C;GACA,wBAAwB,EACtB,KAAK,WAAWC,2DAAuB,MAAM,EAC/C;GACA,iCAAiC,EAC/B,KAAK,WAAWC,oEAAgC,MAAM,EACxD;EACF,CAAC;CACH;CAEA,qBAAqB,WAAW,UAAU;EACxC,kCAAoB,yBAAyB,WAAW,OAAO;GAC7D,kBAAkB,EAChB,KAAK,QAAQC,qDAAiB,GAAG,EACnC;GACA,sBAAsB,EACpB,KAAK,KAAK,aAAaC,yDAAqB,KAAK,QAAQ,EAC3D;EACF,CAAC;CACH;CAEA,sBAAsB,QAAQ;EAC3B,AAAC,IAAY,uBAAuBC,4BAAc;CACrD;CAEA,qBAAqB,UAAU;EAC7B,8BAAgB,yBAAyB,OAAO;GAC9C,mBAAmB,EACjB,KAAK,YAAYC,sDAAkB,OAAO,OAAO,EACnD;GACA,qBAAqB,EACnB,KAAK,iBAAiBC,wDAAoB,OAAO,YAAY,EAC/D;EACF,CAAC;CACH;AACF"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { TableFeature } from "../../types/TableFeatures.cjs";
|
|
2
|
-
|
|
3
|
-
//#region src/features/column-grouping/columnGroupingFeature.d.ts
|
|
4
|
-
/**
|
|
5
|
-
* Feature that adds column grouping state and grouped row APIs.
|
|
6
|
-
*/
|
|
7
|
-
declare const columnGroupingFeature: TableFeature;
|
|
8
|
-
//#endregion
|
|
9
|
-
export { columnGroupingFeature };
|
|
10
|
-
//# sourceMappingURL=columnGroupingFeature.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"columnGroupingFeature.js","names":[],"sources":["../../../src/features/column-grouping/columnGroupingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeObjectMap,\n makeStateUpdater,\n} from '../../utils'\nimport {\n cell_getIsGrouped,\n cell_getIsPlaceholder,\n column_getCanGroup,\n column_getGroupedIndex,\n column_getIsGrouped,\n column_getToggleGroupingHandler,\n column_toggleGrouping,\n getDefaultGroupingState,\n row_getGroupingValue,\n row_getIsGrouped,\n table_resetGrouping,\n table_setGrouping,\n} from './columnGroupingFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds column grouping state and grouped row APIs.\n */\nexport const columnGroupingFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n grouping: getDefaultGroupingState(),\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onGroupingChange: makeStateUpdater('grouping', table),\n groupedColumnMode: 'reorder',\n }\n },\n\n assignCellPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnGroupingFeature', prototype, table, {\n cell_getIsGrouped: {\n fn: (cell) => cell_getIsGrouped(cell),\n },\n cell_getIsPlaceholder: {\n fn: (cell) => cell_getIsPlaceholder(cell),\n },\n })\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnGroupingFeature', prototype, table, {\n column_toggleGrouping: {\n fn: (column) => column_toggleGrouping(column),\n },\n column_getCanGroup: {\n fn: (column) => column_getCanGroup(column),\n },\n column_getIsGrouped: {\n fn: (column) => column_getIsGrouped(column),\n },\n column_getGroupedIndex: {\n fn: (column) => column_getGroupedIndex(column),\n },\n column_getToggleGroupingHandler: {\n fn: (column) => column_getToggleGroupingHandler(column),\n },\n })\n },\n\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnGroupingFeature', prototype, table, {\n row_getIsGrouped: {\n fn: (row) => row_getIsGrouped(row),\n },\n row_getGroupingValue: {\n fn: (row, columnId) => row_getGroupingValue(row, columnId),\n },\n })\n },\n\n initRowInstanceData: (row) => {\n ;(row as any)._groupingValuesCache = makeObjectMap()\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnGroupingFeature', table, {\n table_setGrouping: {\n fn: (updater) => table_setGrouping(table, updater),\n },\n table_resetGrouping: {\n fn: (defaultState) => table_resetGrouping(table, defaultState),\n },\n })\n },\n}\n"],"mappings":";;;;;;;AAyBA,MAAa,wBAAsC;CACjD,kBAAkB,iBAAiB;EACjC,OAAO;GACL,UAAU,wBAAwB;GAClC,GAAG;EACL;CACF;CAEA,yBAAyB,UAAU;EACjC,OAAO;GACL,kBAAkB,iBAAiB,YAAY,KAAK;GACpD,mBAAmB;EACrB;CACF;CAEA,sBAAsB,WAAW,UAAU;EACzC,oBAAoB,yBAAyB,WAAW,OAAO;GAC7D,mBAAmB,EACjB,KAAK,SAAS,kBAAkB,IAAI,EACtC;GACA,uBAAuB,EACrB,KAAK,SAAS,sBAAsB,IAAI,EAC1C;EACF,CAAC;CACH;CAEA,wBAAwB,WAAW,UAAU;EAC3C,oBAAoB,yBAAyB,WAAW,OAAO;GAC7D,uBAAuB,EACrB,KAAK,WAAW,sBAAsB,MAAM,EAC9C;GACA,oBAAoB,EAClB,KAAK,WAAW,mBAAmB,MAAM,EAC3C;GACA,qBAAqB,EACnB,KAAK,WAAW,oBAAoB,MAAM,EAC5C;GACA,wBAAwB,EACtB,KAAK,WAAW,uBAAuB,MAAM,EAC/C;GACA,iCAAiC,EAC/B,KAAK,WAAW,gCAAgC,MAAM,EACxD;EACF,CAAC;CACH;CAEA,qBAAqB,WAAW,UAAU;EACxC,oBAAoB,yBAAyB,WAAW,OAAO;GAC7D,kBAAkB,EAChB,KAAK,QAAQ,iBAAiB,GAAG,EACnC;GACA,sBAAsB,EACpB,KAAK,KAAK,aAAa,qBAAqB,KAAK,QAAQ,EAC3D;EACF,CAAC;CACH;CAEA,sBAAsB,QAAQ;EAC3B,AAAC,IAAY,uBAAuB,cAAc;CACrD;CAEA,qBAAqB,UAAU;EAC7B,gBAAgB,yBAAyB,OAAO;GAC9C,mBAAmB,EACjB,KAAK,YAAY,kBAAkB,OAAO,OAAO,EACnD;GACA,qBAAqB,EACnB,KAAK,iBAAiB,oBAAoB,OAAO,YAAY,EAC/D;EACF,CAAC;CACH;AACF"}
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import { OnChangeFn, RowData, Updater } from "../../types/type-utils.cjs";
|
|
2
|
-
import { Row } from "../../types/Row.cjs";
|
|
3
|
-
import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.cjs";
|
|
4
|
-
import { TableFeatures } from "../../types/TableFeatures.cjs";
|
|
5
|
-
|
|
6
|
-
//#region src/features/column-grouping/columnGroupingFeature.types.d.ts
|
|
7
|
-
type GroupingState = Array<string>;
|
|
8
|
-
interface TableState_ColumnGrouping {
|
|
9
|
-
grouping: GroupingState;
|
|
10
|
-
}
|
|
11
|
-
interface ColumnDef_ColumnGrouping<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
12
|
-
/**
|
|
13
|
-
* Allows this column to be added to grouping state.
|
|
14
|
-
*
|
|
15
|
-
* Defaults to `true`; table-level `enableGrouping` must also allow grouping.
|
|
16
|
-
*/
|
|
17
|
-
enableGrouping?: boolean;
|
|
18
|
-
/**
|
|
19
|
-
* Returns the value used to group rows for this column.
|
|
20
|
-
*
|
|
21
|
-
* When omitted, grouping uses the value derived from this column's
|
|
22
|
-
* `accessorKey` or `accessorFn`.
|
|
23
|
-
*/
|
|
24
|
-
getGroupingValue?: (originalRow: TData, index: number, row: Row<TFeatures, TData>) => any;
|
|
25
|
-
}
|
|
26
|
-
interface Column_ColumnGrouping {
|
|
27
|
-
/**
|
|
28
|
-
* Checks whether this column can currently be grouped.
|
|
29
|
-
*/
|
|
30
|
-
getCanGroup: () => boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Finds this column's position in the ordered grouping state.
|
|
33
|
-
*/
|
|
34
|
-
getGroupedIndex: () => number;
|
|
35
|
-
/**
|
|
36
|
-
* Checks whether this column id is present in grouping state.
|
|
37
|
-
*/
|
|
38
|
-
getIsGrouped: () => boolean;
|
|
39
|
-
/**
|
|
40
|
-
* Returns a function that toggles the grouping state of the column. This is useful for passing to the `onClick` prop of a button.
|
|
41
|
-
*/
|
|
42
|
-
getToggleGroupingHandler: () => () => void;
|
|
43
|
-
/**
|
|
44
|
-
* Toggles the grouping state of the column.
|
|
45
|
-
*/
|
|
46
|
-
toggleGrouping: () => void;
|
|
47
|
-
}
|
|
48
|
-
interface Row_ColumnGrouping {
|
|
49
|
-
_groupingValuesCache: Record<string, any>;
|
|
50
|
-
/**
|
|
51
|
-
* Reads the value used to group this row for a column id.
|
|
52
|
-
*/
|
|
53
|
-
getGroupingValue: (columnId: string) => unknown;
|
|
54
|
-
/**
|
|
55
|
-
* Checks whether this row represents a grouped row.
|
|
56
|
-
*/
|
|
57
|
-
getIsGrouped: () => boolean;
|
|
58
|
-
/**
|
|
59
|
-
* If this row is grouped, this is the id of the column that this row is grouped by.
|
|
60
|
-
*/
|
|
61
|
-
groupingColumnId?: string;
|
|
62
|
-
/**
|
|
63
|
-
* If this row is grouped, this is the unique/shared value for the `groupingColumnId` for all of the rows in this group.
|
|
64
|
-
*/
|
|
65
|
-
groupingValue?: unknown;
|
|
66
|
-
}
|
|
67
|
-
interface Cell_ColumnGrouping {
|
|
68
|
-
/**
|
|
69
|
-
* Checks whether this cell represents the active grouping column.
|
|
70
|
-
*/
|
|
71
|
-
getIsGrouped: () => boolean;
|
|
72
|
-
/**
|
|
73
|
-
* Checks whether this cell is hidden as a grouping placeholder.
|
|
74
|
-
*/
|
|
75
|
-
getIsPlaceholder: () => boolean;
|
|
76
|
-
}
|
|
77
|
-
interface ColumnDefaultOptions {
|
|
78
|
-
enableGrouping: boolean;
|
|
79
|
-
onGroupingChange: OnChangeFn<GroupingState>;
|
|
80
|
-
}
|
|
81
|
-
interface TableOptions_ColumnGrouping {
|
|
82
|
-
/**
|
|
83
|
-
* Allows columns to be grouped for this table.
|
|
84
|
-
*/
|
|
85
|
-
enableGrouping?: boolean;
|
|
86
|
-
/**
|
|
87
|
-
* Grouping columns are automatically reordered by default to the start of the columns list. If you would rather remove them or leave them as-is, set the appropriate mode here.
|
|
88
|
-
*/
|
|
89
|
-
groupedColumnMode?: false | 'reorder' | 'remove';
|
|
90
|
-
/**
|
|
91
|
-
* Enables manual grouping. If this option is set to `true`, the table will not automatically group rows using `getGroupedRowModel()` and instead will expect you to manually group the rows before passing them to the table. This is useful if you are doing server-side grouping and aggregation.
|
|
92
|
-
*/
|
|
93
|
-
manualGrouping?: boolean;
|
|
94
|
-
/**
|
|
95
|
-
* Called with an updater when grouping state changes. Pair this with
|
|
96
|
-
* `state.grouping` when using external state; external atoms can own the
|
|
97
|
-
* slice without this callback.
|
|
98
|
-
*/
|
|
99
|
-
onGroupingChange?: OnChangeFn<GroupingState>;
|
|
100
|
-
}
|
|
101
|
-
type GroupingColumnMode = false | 'reorder' | 'remove';
|
|
102
|
-
interface Table_ColumnGrouping<in out _TFeatures extends TableFeatures, in out _TData extends RowData> {
|
|
103
|
-
/**
|
|
104
|
-
* Resets `grouping` to `initialState.grouping`.
|
|
105
|
-
*
|
|
106
|
-
* Pass `true` to ignore initial state and reset to `[]`.
|
|
107
|
-
*/
|
|
108
|
-
resetGrouping: (defaultState?: boolean) => void;
|
|
109
|
-
/**
|
|
110
|
-
* Updates grouping state with a next ordered id array or updater function.
|
|
111
|
-
*/
|
|
112
|
-
setGrouping: (updater: Updater<GroupingState>) => void;
|
|
113
|
-
}
|
|
114
|
-
interface Table_RowModels_Grouped<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
115
|
-
/**
|
|
116
|
-
* Resolves the row model after grouping has been applied.
|
|
117
|
-
*/
|
|
118
|
-
getGroupedRowModel: () => RowModel<TFeatures, TData>;
|
|
119
|
-
/**
|
|
120
|
-
* Reads the row model immediately before grouping.
|
|
121
|
-
*/
|
|
122
|
-
getPreGroupedRowModel: () => RowModel<TFeatures, TData>;
|
|
123
|
-
}
|
|
124
|
-
interface CachedRowModel_Grouped<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
125
|
-
groupedRowModel: () => RowModel<TFeatures, TData>;
|
|
126
|
-
}
|
|
127
|
-
//#endregion
|
|
128
|
-
export { CachedRowModel_Grouped, Cell_ColumnGrouping, ColumnDef_ColumnGrouping, ColumnDefaultOptions, Column_ColumnGrouping, GroupingColumnMode, GroupingState, Row_ColumnGrouping, TableOptions_ColumnGrouping, TableState_ColumnGrouping, Table_ColumnGrouping, Table_RowModels_Grouped };
|
|
129
|
-
//# sourceMappingURL=columnGroupingFeature.types.d.cts.map
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
const require_utils = require('../../utils.cjs');
|
|
2
|
-
|
|
3
|
-
//#region src/features/column-grouping/columnGroupingFeature.utils.ts
|
|
4
|
-
/**
|
|
5
|
-
* Creates the default grouping state.
|
|
6
|
-
*
|
|
7
|
-
* The feature default is an empty array, meaning no columns are grouped. Reset
|
|
8
|
-
* APIs use this value when `defaultState` is `true`.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```ts
|
|
12
|
-
* const grouping = getDefaultGroupingState()
|
|
13
|
-
* ```
|
|
14
|
-
*/
|
|
15
|
-
function getDefaultGroupingState() {
|
|
16
|
-
return [];
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Adds or removes this column id from the grouping state.
|
|
20
|
-
*
|
|
21
|
-
* Existing grouped columns keep their order. A column already present in
|
|
22
|
-
* `state.grouping` is removed; otherwise it is appended.
|
|
23
|
-
*
|
|
24
|
-
* @example
|
|
25
|
-
* ```ts
|
|
26
|
-
* column_toggleGrouping(column)
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
function column_toggleGrouping(column) {
|
|
30
|
-
table_setGrouping(column.table, (old) => {
|
|
31
|
-
if (old.includes(column.id)) return old.filter((d) => d !== column.id);
|
|
32
|
-
return [...old, column.id];
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Checks whether this column can be used for grouping.
|
|
37
|
-
*
|
|
38
|
-
* Grouping must be enabled at the column and table level, and the column must
|
|
39
|
-
* either have an accessor or provide `getGroupingValue`.
|
|
40
|
-
*
|
|
41
|
-
* @example
|
|
42
|
-
* ```ts
|
|
43
|
-
* const canGroup = column_getCanGroup(column)
|
|
44
|
-
* ```
|
|
45
|
-
*/
|
|
46
|
-
function column_getCanGroup(column) {
|
|
47
|
-
return (column.columnDef.enableGrouping ?? true) && (column.table.options.enableGrouping ?? true) && (!!column.accessorFn || !!column.columnDef.getGroupingValue);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Checks whether this column id is present in `state.grouping`.
|
|
51
|
-
*
|
|
52
|
-
* The result only reflects grouping state, not whether the grouped row model has
|
|
53
|
-
* been calculated yet.
|
|
54
|
-
*
|
|
55
|
-
* @example
|
|
56
|
-
* ```ts
|
|
57
|
-
* const isGrouped = column_getIsGrouped(column)
|
|
58
|
-
* ```
|
|
59
|
-
*/
|
|
60
|
-
function column_getIsGrouped(column) {
|
|
61
|
-
return !!column.table.atoms.grouping?.get()?.includes(column.id);
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Finds this column's position in the ordered grouping state.
|
|
65
|
-
*
|
|
66
|
-
* The result is `-1` when the column is not grouped.
|
|
67
|
-
*
|
|
68
|
-
* @example
|
|
69
|
-
* ```ts
|
|
70
|
-
* const index = column_getGroupedIndex(column)
|
|
71
|
-
* ```
|
|
72
|
-
*/
|
|
73
|
-
function column_getGroupedIndex(column) {
|
|
74
|
-
return column.table.atoms.grouping?.get()?.indexOf(column.id) ?? -1;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Creates a header/control handler that toggles grouping for this column.
|
|
78
|
-
*
|
|
79
|
-
* The handler is a no-op when `column_getCanGroup(column)` is false.
|
|
80
|
-
*
|
|
81
|
-
* @example
|
|
82
|
-
* ```ts
|
|
83
|
-
* const onClick = column_getToggleGroupingHandler(column)
|
|
84
|
-
* ```
|
|
85
|
-
*/
|
|
86
|
-
function column_getToggleGroupingHandler(column) {
|
|
87
|
-
const canGroup = column_getCanGroup(column);
|
|
88
|
-
return () => {
|
|
89
|
-
if (!canGroup) return;
|
|
90
|
-
column_toggleGrouping(column);
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Routes a grouping updater through the table's grouping change handler.
|
|
95
|
-
*
|
|
96
|
-
* The updater may be a next `GroupingState` array or a function of the previous
|
|
97
|
-
* grouping state, matching the instance `table.setGrouping` behavior.
|
|
98
|
-
*
|
|
99
|
-
* @example
|
|
100
|
-
* ```ts
|
|
101
|
-
* table_setGrouping(table, (old) => [...old, 'status'])
|
|
102
|
-
* ```
|
|
103
|
-
*/
|
|
104
|
-
function table_setGrouping(table, updater) {
|
|
105
|
-
table.options.onGroupingChange?.(updater);
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Resets `grouping` to the configured initial state or feature default.
|
|
109
|
-
*
|
|
110
|
-
* With no argument, the reset clones `table.initialState.grouping` when it
|
|
111
|
-
* exists. Passing `true` ignores initial state and resets to `[]`.
|
|
112
|
-
*
|
|
113
|
-
* @example
|
|
114
|
-
* ```ts
|
|
115
|
-
* table_resetGrouping(table)
|
|
116
|
-
* table_resetGrouping(table, true)
|
|
117
|
-
* ```
|
|
118
|
-
*/
|
|
119
|
-
function table_resetGrouping(table, defaultState) {
|
|
120
|
-
table_setGrouping(table, defaultState ? [] : require_utils.cloneState(table.initialState.grouping ?? []));
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Checks whether this row was created as a grouped row.
|
|
124
|
-
*
|
|
125
|
-
* Grouped rows carry a `groupingColumnId`; ordinary leaf rows do not.
|
|
126
|
-
*
|
|
127
|
-
* @example
|
|
128
|
-
* ```ts
|
|
129
|
-
* const isGrouped = row_getIsGrouped(row)
|
|
130
|
-
* ```
|
|
131
|
-
*/
|
|
132
|
-
function row_getIsGrouped(row) {
|
|
133
|
-
return !!row.groupingColumnId;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Reads and caches this row's grouping value for a column.
|
|
137
|
-
*
|
|
138
|
-
* `columnDef.getGroupingValue` wins when provided; otherwise the normal row
|
|
139
|
-
* accessor value is used.
|
|
140
|
-
*
|
|
141
|
-
* @example
|
|
142
|
-
* ```ts
|
|
143
|
-
* const groupValue = row_getGroupingValue(row, 'status')
|
|
144
|
-
* ```
|
|
145
|
-
*/
|
|
146
|
-
function row_getGroupingValue(row, columnId) {
|
|
147
|
-
if (row._groupingValuesCache && require_utils.hasOwn(row._groupingValuesCache, columnId)) return row._groupingValuesCache[columnId];
|
|
148
|
-
const column = row.table.getColumn(columnId);
|
|
149
|
-
if (!column.columnDef.getGroupingValue) return row.getValue(columnId);
|
|
150
|
-
if (row._groupingValuesCache) row._groupingValuesCache[columnId] = column.columnDef.getGroupingValue(row.original, row.index, row);
|
|
151
|
-
return row._groupingValuesCache?.[columnId];
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Checks whether this cell represents the grouped column for a grouped row.
|
|
155
|
-
*
|
|
156
|
-
* This is the cell that usually renders the grouped value and expansion control.
|
|
157
|
-
*
|
|
158
|
-
* @example
|
|
159
|
-
* ```ts
|
|
160
|
-
* const isGroupedCell = cell_getIsGrouped(cell)
|
|
161
|
-
* ```
|
|
162
|
-
*/
|
|
163
|
-
function cell_getIsGrouped(cell) {
|
|
164
|
-
const row = cell.row;
|
|
165
|
-
return column_getIsGrouped(cell.column) && cell.column.id === row.groupingColumnId;
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Checks whether this cell is a placeholder hidden by grouping.
|
|
169
|
-
*
|
|
170
|
-
* Placeholder cells belong to grouped columns other than the row's active
|
|
171
|
-
* grouping column.
|
|
172
|
-
*
|
|
173
|
-
* @example
|
|
174
|
-
* ```ts
|
|
175
|
-
* const isPlaceholder = cell_getIsPlaceholder(cell)
|
|
176
|
-
* ```
|
|
177
|
-
*/
|
|
178
|
-
function cell_getIsPlaceholder(cell) {
|
|
179
|
-
return !cell_getIsGrouped(cell) && column_getIsGrouped(cell.column);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
//#endregion
|
|
183
|
-
exports.cell_getIsGrouped = cell_getIsGrouped;
|
|
184
|
-
exports.cell_getIsPlaceholder = cell_getIsPlaceholder;
|
|
185
|
-
exports.column_getCanGroup = column_getCanGroup;
|
|
186
|
-
exports.column_getGroupedIndex = column_getGroupedIndex;
|
|
187
|
-
exports.column_getIsGrouped = column_getIsGrouped;
|
|
188
|
-
exports.column_getToggleGroupingHandler = column_getToggleGroupingHandler;
|
|
189
|
-
exports.column_toggleGrouping = column_toggleGrouping;
|
|
190
|
-
exports.getDefaultGroupingState = getDefaultGroupingState;
|
|
191
|
-
exports.row_getGroupingValue = row_getGroupingValue;
|
|
192
|
-
exports.row_getIsGrouped = row_getIsGrouped;
|
|
193
|
-
exports.table_resetGrouping = table_resetGrouping;
|
|
194
|
-
exports.table_setGrouping = table_setGrouping;
|
|
195
|
-
//# sourceMappingURL=columnGroupingFeature.utils.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"columnGroupingFeature.utils.cjs","names":["cloneState","hasOwn"],"sources":["../../../src/features/column-grouping/columnGroupingFeature.utils.ts"],"sourcesContent":["import { cloneState, hasOwn } from '../../utils'\nimport type { Column_Internal } from '../../types/Column'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { Cell } from '../../types/Cell'\nimport type {\n GroupingState,\n Row_ColumnGrouping,\n} from './columnGroupingFeature.types'\n\n/**\n * Creates the default grouping state.\n *\n * The feature default is an empty array, meaning no columns are grouped. Reset\n * APIs use this value when `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const grouping = getDefaultGroupingState()\n * ```\n */\nexport function getDefaultGroupingState(): GroupingState {\n return []\n}\n\n/**\n * Adds or removes this column id from the grouping state.\n *\n * Existing grouped columns keep their order. A column already present in\n * `state.grouping` is removed; otherwise it is appended.\n *\n * @example\n * ```ts\n * column_toggleGrouping(column)\n * ```\n */\nexport function column_toggleGrouping<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n table_setGrouping(column.table, (old) => {\n // Find any existing grouping for this column\n if (old.includes(column.id)) {\n return old.filter((d) => d !== column.id)\n }\n\n return [...old, column.id]\n })\n}\n\n/**\n * Checks whether this column can be used for grouping.\n *\n * Grouping must be enabled at the column and table level, and the column must\n * either have an accessor or provide `getGroupingValue`.\n *\n * @example\n * ```ts\n * const canGroup = column_getCanGroup(column)\n * ```\n */\nexport function column_getCanGroup<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableGrouping ?? true) &&\n (column.table.options.enableGrouping ?? true) &&\n (!!column.accessorFn || !!column.columnDef.getGroupingValue)\n )\n}\n\n/**\n * Checks whether this column id is present in `state.grouping`.\n *\n * The result only reflects grouping state, not whether the grouped row model has\n * been calculated yet.\n *\n * @example\n * ```ts\n * const isGrouped = column_getIsGrouped(column)\n * ```\n */\nexport function column_getIsGrouped<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): boolean {\n return !!column.table.atoms.grouping?.get()?.includes(column.id)\n}\n\n/**\n * Finds this column's position in the ordered grouping state.\n *\n * The result is `-1` when the column is not grouped.\n *\n * @example\n * ```ts\n * const index = column_getGroupedIndex(column)\n * ```\n */\nexport function column_getGroupedIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n return column.table.atoms.grouping?.get()?.indexOf(column.id) ?? -1\n}\n\n/**\n * Creates a header/control handler that toggles grouping for this column.\n *\n * The handler is a no-op when `column_getCanGroup(column)` is false.\n *\n * @example\n * ```ts\n * const onClick = column_getToggleGroupingHandler(column)\n * ```\n */\nexport function column_getToggleGroupingHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const canGroup = column_getCanGroup(column)\n\n return () => {\n if (!canGroup) return\n column_toggleGrouping(column)\n }\n}\n\n/**\n * Routes a grouping updater through the table's grouping change handler.\n *\n * The updater may be a next `GroupingState` array or a function of the previous\n * grouping state, matching the instance `table.setGrouping` behavior.\n *\n * @example\n * ```ts\n * table_setGrouping(table, (old) => [...old, 'status'])\n * ```\n */\nexport function table_setGrouping<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<GroupingState>) {\n table.options.onGroupingChange?.(updater)\n}\n\n/**\n * Resets `grouping` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.grouping` when it\n * exists. Passing `true` ignores initial state and resets to `[]`.\n *\n * @example\n * ```ts\n * table_resetGrouping(table)\n * table_resetGrouping(table, true)\n * ```\n */\nexport function table_resetGrouping<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setGrouping(\n table,\n defaultState ? [] : cloneState(table.initialState.grouping ?? []),\n )\n}\n\n/**\n * Checks whether this row was created as a grouped row.\n *\n * Grouped rows carry a `groupingColumnId`; ordinary leaf rows do not.\n *\n * @example\n * ```ts\n * const isGrouped = row_getIsGrouped(row)\n * ```\n */\nexport function row_getIsGrouped<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>) {\n return !!row.groupingColumnId\n}\n\n/**\n * Reads and caches this row's grouping value for a column.\n *\n * `columnDef.getGroupingValue` wins when provided; otherwise the normal row\n * accessor value is used.\n *\n * @example\n * ```ts\n * const groupValue = row_getGroupingValue(row, 'status')\n * ```\n */\nexport function row_getGroupingValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>, columnId: string) {\n if (row._groupingValuesCache && hasOwn(row._groupingValuesCache, columnId)) {\n return row._groupingValuesCache[columnId]\n }\n\n const column = row.table.getColumn(columnId) as Column_Internal<\n TFeatures,\n TData\n >\n\n if (!column.columnDef.getGroupingValue) {\n return row.getValue(columnId)\n }\n\n if (row._groupingValuesCache) {\n row._groupingValuesCache[columnId] = column.columnDef.getGroupingValue(\n row.original,\n row.index,\n row,\n )\n }\n\n return row._groupingValuesCache?.[columnId]\n}\n\n/**\n * Checks whether this cell represents the grouped column for a grouped row.\n *\n * This is the cell that usually renders the grouped value and expansion control.\n *\n * @example\n * ```ts\n * const isGroupedCell = cell_getIsGrouped(cell)\n * ```\n */\nexport function cell_getIsGrouped<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(cell: Cell<TFeatures, TData, TValue>) {\n const row = cell.row as Row<TFeatures, TData> & Partial<Row_ColumnGrouping>\n return (\n column_getIsGrouped(cell.column) && cell.column.id === row.groupingColumnId\n )\n}\n\n/**\n * Checks whether this cell is a placeholder hidden by grouping.\n *\n * Placeholder cells belong to grouped columns other than the row's active\n * grouping column.\n *\n * @example\n * ```ts\n * const isPlaceholder = cell_getIsPlaceholder(cell)\n * ```\n */\nexport function cell_getIsPlaceholder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(cell: Cell<TFeatures, TData, TValue>) {\n return !cell_getIsGrouped(cell) && column_getIsGrouped(cell.column)\n}\n"],"mappings":";;;;;;;;;;;;;;AAuBA,SAAgB,0BAAyC;CACvD,OAAO,CAAC;AACV;;;;;;;;;;;;AAaA,SAAgB,sBAId,QAAmD;CACnD,kBAAkB,OAAO,QAAQ,QAAQ;EAEvC,IAAI,IAAI,SAAS,OAAO,EAAE,GACxB,OAAO,IAAI,QAAQ,MAAM,MAAM,OAAO,EAAE;EAG1C,OAAO,CAAC,GAAG,KAAK,OAAO,EAAE;CAC3B,CAAC;AACH;;;;;;;;;;;;AAaA,SAAgB,mBAId,QAAmD;CACnD,QACG,OAAO,UAAU,kBAAkB,UACnC,OAAO,MAAM,QAAQ,kBAAkB,UACvC,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,OAAO,UAAU;AAE/C;;;;;;;;;;;;AAaA,SAAgB,oBAId,QAA4D;CAC5D,OAAO,CAAC,CAAC,OAAO,MAAM,MAAM,UAAU,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE;AACjE;;;;;;;;;;;AAYA,SAAgB,uBAId,QAA2D;CAC3D,OAAO,OAAO,MAAM,MAAM,UAAU,IAAI,CAAC,EAAE,QAAQ,OAAO,EAAE,KAAK;AACnE;;;;;;;;;;;AAYA,SAAgB,gCAId,QAAmD;CACnD,MAAM,WAAW,mBAAmB,MAAM;CAE1C,aAAa;EACX,IAAI,CAAC,UAAU;EACf,sBAAsB,MAAM;CAC9B;AACF;;;;;;;;;;;;AAaA,SAAgB,kBAGd,OAAyC,SAAiC;CAC1E,MAAM,QAAQ,mBAAmB,OAAO;AAC1C;;;;;;;;;;;;;AAcA,SAAgB,oBAGd,OAAyC,cAAwB;CACjE,kBACE,OACA,eAAe,CAAC,IAAIA,yBAAW,MAAM,aAAa,YAAY,CAAC,CAAC,CAClE;AACF;;;;;;;;;;;AAYA,SAAgB,iBAGd,KAA0D;CAC1D,OAAO,CAAC,CAAC,IAAI;AACf;;;;;;;;;;;;AAaA,SAAgB,qBAGd,KAA0D,UAAkB;CAC5E,IAAI,IAAI,wBAAwBC,qBAAO,IAAI,sBAAsB,QAAQ,GACvE,OAAO,IAAI,qBAAqB;CAGlC,MAAM,SAAS,IAAI,MAAM,UAAU,QAAQ;CAK3C,IAAI,CAAC,OAAO,UAAU,kBACpB,OAAO,IAAI,SAAS,QAAQ;CAG9B,IAAI,IAAI,sBACN,IAAI,qBAAqB,YAAY,OAAO,UAAU,iBACpD,IAAI,UACJ,IAAI,OACJ,GACF;CAGF,OAAO,IAAI,uBAAuB;AACpC;;;;;;;;;;;AAYA,SAAgB,kBAId,MAAsC;CACtC,MAAM,MAAM,KAAK;CACjB,OACE,oBAAoB,KAAK,MAAM,KAAK,KAAK,OAAO,OAAO,IAAI;AAE/D;;;;;;;;;;;;AAaA,SAAgB,sBAId,MAAsC;CACtC,OAAO,CAAC,kBAAkB,IAAI,KAAK,oBAAoB,KAAK,MAAM;AACpE"}
|