@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,218 +0,0 @@
|
|
|
1
|
-
const require_utils = require('../../utils.cjs');
|
|
2
|
-
|
|
3
|
-
//#region src/features/column-filtering/columnFilteringFeature.utils.ts
|
|
4
|
-
/**
|
|
5
|
-
* Creates the default column filter state.
|
|
6
|
-
*
|
|
7
|
-
* The feature default is an empty array, meaning no column filters are active.
|
|
8
|
-
* Reset APIs use this value when `defaultState` is `true`.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```ts
|
|
12
|
-
* const filters = getDefaultColumnFiltersState()
|
|
13
|
-
* ```
|
|
14
|
-
*/
|
|
15
|
-
function getDefaultColumnFiltersState() {
|
|
16
|
-
return [];
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Chooses a built-in filter function from the column's first core row value.
|
|
20
|
-
*
|
|
21
|
-
* Strings use `includesString`, numbers use `inNumberRange`, booleans and
|
|
22
|
-
* objects use `equals`, dates use `inDateRange`, arrays use `arrIncludes`,
|
|
23
|
-
* and unknown values fall back to `weakEquals`.
|
|
24
|
-
*
|
|
25
|
-
* The chosen filter function is looked up in the table's `filterFns`
|
|
26
|
-
* registry. When it is not registered there, this returns `undefined` and
|
|
27
|
-
* warns in development instead of substituting a different filter function.
|
|
28
|
-
*
|
|
29
|
-
* @example
|
|
30
|
-
* ```ts
|
|
31
|
-
* const filterFn = column_getAutoFilterFn(column)
|
|
32
|
-
* ```
|
|
33
|
-
*/
|
|
34
|
-
function column_getAutoFilterFn(column) {
|
|
35
|
-
const filterFns = column.table._rowModelFns.filterFns;
|
|
36
|
-
const firstRow = column.table.getCoreRowModel().flatRows[0];
|
|
37
|
-
const value = firstRow ? firstRow.getValue(column.id) : void 0;
|
|
38
|
-
let filterFnName;
|
|
39
|
-
if (typeof value === "string") filterFnName = "includesString";
|
|
40
|
-
else if (typeof value === "number") filterFnName = "inNumberRange";
|
|
41
|
-
else if (typeof value === "boolean") filterFnName = "equals";
|
|
42
|
-
else if (Array.isArray(value)) filterFnName = "arrIncludes";
|
|
43
|
-
else if (Object.prototype.toString.call(value) === "[object Date]") filterFnName = "inDateRange";
|
|
44
|
-
else if (value !== null && typeof value === "object") filterFnName = "equals";
|
|
45
|
-
else filterFnName = "weakEquals";
|
|
46
|
-
const filterFn = filterFns?.[filterFnName];
|
|
47
|
-
if (process.env.NODE_ENV === "development" && !filterFn) console.warn(`filterFn '${filterFnName}' (auto) for column '${column.id}' is not registered`);
|
|
48
|
-
return filterFn;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Resolves the filter function configured for a column.
|
|
52
|
-
*
|
|
53
|
-
* Function-valued `columnDef.filterFn` is returned directly, `'auto'` delegates
|
|
54
|
-
* to `column_getAutoFilterFn`, and string values are looked up in the table's
|
|
55
|
-
* filter function registry.
|
|
56
|
-
*
|
|
57
|
-
* @example
|
|
58
|
-
* ```ts
|
|
59
|
-
* const filterFn = column_getFilterFn(column)
|
|
60
|
-
* ```
|
|
61
|
-
*/
|
|
62
|
-
function column_getFilterFn(column) {
|
|
63
|
-
let filterFn = null;
|
|
64
|
-
const filterFns = column.table._rowModelFns.filterFns;
|
|
65
|
-
filterFn = require_utils.isFunction(column.columnDef.filterFn) ? column.columnDef.filterFn : column.columnDef.filterFn === "auto" ? column_getAutoFilterFn(column) : filterFns?.[column.columnDef.filterFn];
|
|
66
|
-
if (process.env.NODE_ENV === "development" && !filterFn && column.columnDef.filterFn !== "auto") console.warn(`filterFn '${String(column.columnDef.filterFn)}' for column '${column.id}' is not registered`);
|
|
67
|
-
return filterFn ?? void 0;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Checks whether column filtering is enabled for this accessor column.
|
|
71
|
-
*
|
|
72
|
-
* The column must have an accessor and filtering must be enabled by the column
|
|
73
|
-
* definition, `enableColumnFilters`, and the table-wide `enableFilters` option.
|
|
74
|
-
*
|
|
75
|
-
* @example
|
|
76
|
-
* ```ts
|
|
77
|
-
* const canFilter = column_getCanFilter(column)
|
|
78
|
-
* ```
|
|
79
|
-
*/
|
|
80
|
-
function column_getCanFilter(column) {
|
|
81
|
-
return (column.columnDef.enableColumnFilter ?? true) && (column.table.options.enableColumnFilters ?? true) && (column.table.options.enableFilters ?? true) && !!column.accessorFn;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Checks whether this column currently has an entry in `state.columnFilters`.
|
|
85
|
-
*
|
|
86
|
-
* This only reflects filter state presence; it does not indicate whether the
|
|
87
|
-
* filter removes any rows.
|
|
88
|
-
*
|
|
89
|
-
* @example
|
|
90
|
-
* ```ts
|
|
91
|
-
* const isFiltered = column_getIsFiltered(column)
|
|
92
|
-
* ```
|
|
93
|
-
*/
|
|
94
|
-
function column_getIsFiltered(column) {
|
|
95
|
-
return column_getFilterIndex(column) > -1;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Reads this column's current filter value from `state.columnFilters`.
|
|
99
|
-
*
|
|
100
|
-
* Missing filter entries return `undefined`.
|
|
101
|
-
*
|
|
102
|
-
* @example
|
|
103
|
-
* ```ts
|
|
104
|
-
* const value = column_getFilterValue(column)
|
|
105
|
-
* ```
|
|
106
|
-
*/
|
|
107
|
-
function column_getFilterValue(column) {
|
|
108
|
-
return column.table.atoms.columnFilters?.get()?.find((d) => d.id === column.id)?.value;
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Finds this column's position in the ordered `state.columnFilters` array.
|
|
112
|
-
*
|
|
113
|
-
* The result is `-1` when the column has no active filter.
|
|
114
|
-
*
|
|
115
|
-
* @example
|
|
116
|
-
* ```ts
|
|
117
|
-
* const index = column_getFilterIndex(column)
|
|
118
|
-
* ```
|
|
119
|
-
*/
|
|
120
|
-
function column_getFilterIndex(column) {
|
|
121
|
-
return column.table.atoms.columnFilters?.get()?.findIndex((d) => d.id === column.id) ?? -1;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Adds, updates, or removes this column's filter value.
|
|
125
|
-
*
|
|
126
|
-
* The incoming value may be an updater. After resolution, `autoRemove` rules
|
|
127
|
-
* decide whether the filter should be removed instead of stored.
|
|
128
|
-
*
|
|
129
|
-
* @example
|
|
130
|
-
* ```ts
|
|
131
|
-
* column_setFilterValue(column, (old) => String(old ?? '').trim())
|
|
132
|
-
* ```
|
|
133
|
-
*/
|
|
134
|
-
function column_setFilterValue(column, value) {
|
|
135
|
-
table_setColumnFilters(column.table, (old) => {
|
|
136
|
-
const filterFn = column_getFilterFn(column);
|
|
137
|
-
const previousFilter = old.find((d) => d.id === column.id);
|
|
138
|
-
const newFilter = require_utils.functionalUpdate(value, previousFilter ? previousFilter.value : void 0);
|
|
139
|
-
if (shouldAutoRemoveFilter(filterFn, newFilter, column)) return old.filter((d) => d.id !== column.id);
|
|
140
|
-
const newFilterObj = {
|
|
141
|
-
id: column.id,
|
|
142
|
-
value: newFilter
|
|
143
|
-
};
|
|
144
|
-
if (previousFilter) return old.map((d) => {
|
|
145
|
-
if (d.id === column.id) return newFilterObj;
|
|
146
|
-
return d;
|
|
147
|
-
});
|
|
148
|
-
if (old.length) return [...old, newFilterObj];
|
|
149
|
-
return [newFilterObj];
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Routes a column filter updater through the table's filter change handler.
|
|
154
|
-
*
|
|
155
|
-
* The resolved filters are cleaned before they are emitted: filters for known
|
|
156
|
-
* columns are removed when their filter function says the value should be
|
|
157
|
-
* auto-removed.
|
|
158
|
-
*
|
|
159
|
-
* @example
|
|
160
|
-
* ```ts
|
|
161
|
-
* table_setColumnFilters(table, (old) => old.filter((filter) => filter.id !== 'age'))
|
|
162
|
-
* ```
|
|
163
|
-
*/
|
|
164
|
-
function table_setColumnFilters(table, updater) {
|
|
165
|
-
const leafColumnsById = table.getAllLeafColumnsById();
|
|
166
|
-
const updateFn = (old) => {
|
|
167
|
-
return require_utils.functionalUpdate(updater, old).filter((filter) => {
|
|
168
|
-
const column = leafColumnsById[filter.id];
|
|
169
|
-
if (column) {
|
|
170
|
-
if (shouldAutoRemoveFilter(column_getFilterFn(column), filter.value, column)) return false;
|
|
171
|
-
}
|
|
172
|
-
return true;
|
|
173
|
-
});
|
|
174
|
-
};
|
|
175
|
-
table.options.onColumnFiltersChange?.(updateFn);
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Resets `columnFilters` to the configured initial state or feature default.
|
|
179
|
-
*
|
|
180
|
-
* With no argument, the reset clones `table.initialState.columnFilters` when it
|
|
181
|
-
* exists. Passing `true` ignores initial state and resets to `[]`.
|
|
182
|
-
*
|
|
183
|
-
* @example
|
|
184
|
-
* ```ts
|
|
185
|
-
* table_resetColumnFilters(table)
|
|
186
|
-
* table_resetColumnFilters(table, true)
|
|
187
|
-
* ```
|
|
188
|
-
*/
|
|
189
|
-
function table_resetColumnFilters(table, defaultState) {
|
|
190
|
-
table_setColumnFilters(table, defaultState ? [] : require_utils.cloneState(table.initialState.columnFilters ?? []));
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* Returns whether a filter value should be removed from filter state.
|
|
194
|
-
*
|
|
195
|
-
* This checks the filter function's `autoRemove` hook and built-in empty-value rules.
|
|
196
|
-
*
|
|
197
|
-
* @example
|
|
198
|
-
* ```ts
|
|
199
|
-
* const removeFilter = shouldAutoRemoveFilter(filterFn, value, column)
|
|
200
|
-
* ```
|
|
201
|
-
*/
|
|
202
|
-
function shouldAutoRemoveFilter(filterFn, value, column) {
|
|
203
|
-
return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === "undefined" || typeof value === "string" && !value;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
//#endregion
|
|
207
|
-
exports.column_getAutoFilterFn = column_getAutoFilterFn;
|
|
208
|
-
exports.column_getCanFilter = column_getCanFilter;
|
|
209
|
-
exports.column_getFilterFn = column_getFilterFn;
|
|
210
|
-
exports.column_getFilterIndex = column_getFilterIndex;
|
|
211
|
-
exports.column_getFilterValue = column_getFilterValue;
|
|
212
|
-
exports.column_getIsFiltered = column_getIsFiltered;
|
|
213
|
-
exports.column_setFilterValue = column_setFilterValue;
|
|
214
|
-
exports.getDefaultColumnFiltersState = getDefaultColumnFiltersState;
|
|
215
|
-
exports.shouldAutoRemoveFilter = shouldAutoRemoveFilter;
|
|
216
|
-
exports.table_resetColumnFilters = table_resetColumnFilters;
|
|
217
|
-
exports.table_setColumnFilters = table_setColumnFilters;
|
|
218
|
-
//# sourceMappingURL=columnFilteringFeature.utils.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"columnFilteringFeature.utils.cjs","names":["isFunction","functionalUpdate","cloneState"],"sources":["../../../src/features/column-filtering/columnFilteringFeature.utils.ts"],"sourcesContent":["import { cloneState, functionalUpdate, isFunction } from '../../utils'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\nimport type {\n ColumnFiltersState,\n FilterFn,\n} from './columnFilteringFeature.types'\n\n/**\n * Creates the default column filter state.\n *\n * The feature default is an empty array, meaning no column filters are active.\n * Reset APIs use this value when `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const filters = getDefaultColumnFiltersState()\n * ```\n */\nexport function getDefaultColumnFiltersState(): ColumnFiltersState {\n return []\n}\n\n/**\n * Chooses a built-in filter function from the column's first core row value.\n *\n * Strings use `includesString`, numbers use `inNumberRange`, booleans and\n * objects use `equals`, dates use `inDateRange`, arrays use `arrIncludes`,\n * and unknown values fall back to `weakEquals`.\n *\n * The chosen filter function is looked up in the table's `filterFns`\n * registry. When it is not registered there, this returns `undefined` and\n * warns in development instead of substituting a different filter function.\n *\n * @example\n * ```ts\n * const filterFn = column_getAutoFilterFn(column)\n * ```\n */\nexport function column_getAutoFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =\n column.table._rowModelFns.filterFns\n\n const firstRow = column.table.getCoreRowModel().flatRows[0]\n\n const value = firstRow ? firstRow.getValue(column.id) : undefined\n\n let filterFnName: string\n\n if (typeof value === 'string') {\n filterFnName = 'includesString'\n } else if (typeof value === 'number') {\n filterFnName = 'inNumberRange'\n } else if (typeof value === 'boolean') {\n filterFnName = 'equals'\n } else if (Array.isArray(value)) {\n filterFnName = 'arrIncludes'\n } else if (Object.prototype.toString.call(value) === '[object Date]') {\n filterFnName = 'inDateRange'\n } else if (value !== null && typeof value === 'object') {\n filterFnName = 'equals'\n } else {\n filterFnName = 'weakEquals'\n }\n\n const filterFn = filterFns?.[filterFnName]\n\n if (process.env.NODE_ENV === 'development' && !filterFn) {\n console.warn(\n `filterFn '${filterFnName}' (auto) for column '${column.id}' is not registered`,\n )\n }\n\n return filterFn\n}\n\n/**\n * Resolves the filter function configured for a column.\n *\n * Function-valued `columnDef.filterFn` is returned directly, `'auto'` delegates\n * to `column_getAutoFilterFn`, and string values are looked up in the table's\n * filter function registry.\n *\n * @example\n * ```ts\n * const filterFn = column_getFilterFn(column)\n * ```\n */\nexport function column_getFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n): FilterFn<TFeatures, TData> | undefined {\n let filterFn = null\n const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =\n column.table._rowModelFns.filterFns\n filterFn = isFunction(column.columnDef.filterFn)\n ? column.columnDef.filterFn\n : column.columnDef.filterFn === 'auto'\n ? column_getAutoFilterFn(column)\n : filterFns?.[column.columnDef.filterFn as string]\n\n if (\n process.env.NODE_ENV === 'development' &&\n !filterFn &&\n column.columnDef.filterFn !== 'auto' // the auto picker warns on its own\n ) {\n console.warn(\n `filterFn '${String(column.columnDef.filterFn)}' for column '${column.id}' is not registered`,\n )\n }\n\n return filterFn ?? undefined\n}\n\n/**\n * Checks whether column filtering is enabled for this accessor column.\n *\n * The column must have an accessor and filtering must be enabled by the column\n * definition, `enableColumnFilters`, and the table-wide `enableFilters` option.\n *\n * @example\n * ```ts\n * const canFilter = column_getCanFilter(column)\n * ```\n */\nexport function column_getCanFilter<\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.enableColumnFilter ?? true) &&\n (column.table.options.enableColumnFilters ?? true) &&\n (column.table.options.enableFilters ?? true) &&\n !!column.accessorFn\n )\n}\n\n/**\n * Checks whether this column currently has an entry in `state.columnFilters`.\n *\n * This only reflects filter state presence; it does not indicate whether the\n * filter removes any rows.\n *\n * @example\n * ```ts\n * const isFiltered = column_getIsFiltered(column)\n * ```\n */\nexport function column_getIsFiltered<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column_getFilterIndex(column) > -1\n}\n\n/**\n * Reads this column's current filter value from `state.columnFilters`.\n *\n * Missing filter entries return `undefined`.\n *\n * @example\n * ```ts\n * const value = column_getFilterValue(column)\n * ```\n */\nexport function column_getFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column.table.atoms.columnFilters\n ?.get()\n ?.find((d) => d.id === column.id)?.value\n}\n\n/**\n * Finds this column's position in the ordered `state.columnFilters` array.\n *\n * The result is `-1` when the column has no active filter.\n *\n * @example\n * ```ts\n * const index = column_getFilterIndex(column)\n * ```\n */\nexport function column_getFilterIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n return (\n column.table.atoms.columnFilters\n ?.get()\n ?.findIndex((d) => d.id === column.id) ?? -1\n )\n}\n\n/**\n * Adds, updates, or removes this column's filter value.\n *\n * The incoming value may be an updater. After resolution, `autoRemove` rules\n * decide whether the filter should be removed instead of stored.\n *\n * @example\n * ```ts\n * column_setFilterValue(column, (old) => String(old ?? '').trim())\n * ```\n */\nexport function column_setFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>, value: any) {\n table_setColumnFilters(column.table, (old) => {\n const filterFn = column_getFilterFn(column)\n const previousFilter = old.find((d) => d.id === column.id)\n\n const newFilter = functionalUpdate(\n value,\n previousFilter ? previousFilter.value : undefined,\n )\n\n if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {\n return old.filter((d) => d.id !== column.id)\n }\n\n const newFilterObj = { id: column.id, value: newFilter }\n\n if (previousFilter) {\n return old.map((d) => {\n if (d.id === column.id) {\n return newFilterObj\n }\n return d\n })\n }\n\n if (old.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n}\n\n/**\n * Routes a column filter updater through the table's filter change handler.\n *\n * The resolved filters are cleaned before they are emitted: filters for known\n * columns are removed when their filter function says the value should be\n * auto-removed.\n *\n * @example\n * ```ts\n * table_setColumnFilters(table, (old) => old.filter((filter) => filter.id !== 'age'))\n * ```\n */\nexport function table_setColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnFiltersState>,\n) {\n const leafColumnsById = table.getAllLeafColumnsById()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old).filter((filter) => {\n const column = leafColumnsById[filter.id]\n\n if (column) {\n const filterFn = column_getFilterFn(column)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n table.options.onColumnFiltersChange?.(updateFn)\n}\n\n/**\n * Resets `columnFilters` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnFilters` when it\n * exists. Passing `true` ignores initial state and resets to `[]`.\n *\n * @example\n * ```ts\n * table_resetColumnFilters(table)\n * table_resetColumnFilters(table, true)\n * ```\n */\nexport function table_resetColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnFilters(\n table,\n defaultState ? [] : cloneState(table.initialState.columnFilters ?? []),\n )\n}\n\n/**\n * Returns whether a filter value should be removed from filter state.\n *\n * This checks the filter function's `autoRemove` hook and built-in empty-value rules.\n *\n * @example\n * ```ts\n * const removeFilter = shouldAutoRemoveFilter(filterFn, value, column)\n * ```\n */\nexport function shouldAutoRemoveFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n filterFn?: FilterFn<TFeatures, TData>,\n value?: any,\n column?: Column_Internal<TFeatures, TData, TValue>,\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column as any)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"mappings":"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"}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { CellData, RowData, Updater } from "../../types/type-utils.cjs";
|
|
2
|
-
import { ColumnFiltersState, FilterFn } from "./columnFilteringFeature.types.cjs";
|
|
3
|
-
import { Table } from "../../types/Table.cjs";
|
|
4
|
-
import { Column } from "../../types/Column.cjs";
|
|
5
|
-
import { TableFeatures } from "../../types/TableFeatures.cjs";
|
|
6
|
-
|
|
7
|
-
//#region src/features/column-filtering/columnFilteringFeature.utils.d.ts
|
|
8
|
-
/**
|
|
9
|
-
* Creates the default column filter state.
|
|
10
|
-
*
|
|
11
|
-
* The feature default is an empty array, meaning no column filters are active.
|
|
12
|
-
* Reset APIs use this value when `defaultState` is `true`.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```ts
|
|
16
|
-
* const filters = getDefaultColumnFiltersState()
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
declare function getDefaultColumnFiltersState(): ColumnFiltersState;
|
|
20
|
-
/**
|
|
21
|
-
* Chooses a built-in filter function from the column's first core row value.
|
|
22
|
-
*
|
|
23
|
-
* Strings use `includesString`, numbers use `inNumberRange`, booleans and
|
|
24
|
-
* objects use `equals`, dates use `inDateRange`, arrays use `arrIncludes`,
|
|
25
|
-
* and unknown values fall back to `weakEquals`.
|
|
26
|
-
*
|
|
27
|
-
* The chosen filter function is looked up in the table's `filterFns`
|
|
28
|
-
* registry. When it is not registered there, this returns `undefined` and
|
|
29
|
-
* warns in development instead of substituting a different filter function.
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* ```ts
|
|
33
|
-
* const filterFn = column_getAutoFilterFn(column)
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
declare function column_getAutoFilterFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): FilterFn<TFeatures, TData> | undefined;
|
|
37
|
-
/**
|
|
38
|
-
* Resolves the filter function configured for a column.
|
|
39
|
-
*
|
|
40
|
-
* Function-valued `columnDef.filterFn` is returned directly, `'auto'` delegates
|
|
41
|
-
* to `column_getAutoFilterFn`, and string values are looked up in the table's
|
|
42
|
-
* filter function registry.
|
|
43
|
-
*
|
|
44
|
-
* @example
|
|
45
|
-
* ```ts
|
|
46
|
-
* const filterFn = column_getFilterFn(column)
|
|
47
|
-
* ```
|
|
48
|
-
*/
|
|
49
|
-
declare function column_getFilterFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): FilterFn<TFeatures, TData> | undefined;
|
|
50
|
-
/**
|
|
51
|
-
* Checks whether column filtering is enabled for this accessor column.
|
|
52
|
-
*
|
|
53
|
-
* The column must have an accessor and filtering must be enabled by the column
|
|
54
|
-
* definition, `enableColumnFilters`, and the table-wide `enableFilters` option.
|
|
55
|
-
*
|
|
56
|
-
* @example
|
|
57
|
-
* ```ts
|
|
58
|
-
* const canFilter = column_getCanFilter(column)
|
|
59
|
-
* ```
|
|
60
|
-
*/
|
|
61
|
-
declare function column_getCanFilter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): boolean;
|
|
62
|
-
/**
|
|
63
|
-
* Checks whether this column currently has an entry in `state.columnFilters`.
|
|
64
|
-
*
|
|
65
|
-
* This only reflects filter state presence; it does not indicate whether the
|
|
66
|
-
* filter removes any rows.
|
|
67
|
-
*
|
|
68
|
-
* @example
|
|
69
|
-
* ```ts
|
|
70
|
-
* const isFiltered = column_getIsFiltered(column)
|
|
71
|
-
* ```
|
|
72
|
-
*/
|
|
73
|
-
declare function column_getIsFiltered<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): boolean;
|
|
74
|
-
/**
|
|
75
|
-
* Reads this column's current filter value from `state.columnFilters`.
|
|
76
|
-
*
|
|
77
|
-
* Missing filter entries return `undefined`.
|
|
78
|
-
*
|
|
79
|
-
* @example
|
|
80
|
-
* ```ts
|
|
81
|
-
* const value = column_getFilterValue(column)
|
|
82
|
-
* ```
|
|
83
|
-
*/
|
|
84
|
-
declare function column_getFilterValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): unknown;
|
|
85
|
-
/**
|
|
86
|
-
* Finds this column's position in the ordered `state.columnFilters` array.
|
|
87
|
-
*
|
|
88
|
-
* The result is `-1` when the column has no active filter.
|
|
89
|
-
*
|
|
90
|
-
* @example
|
|
91
|
-
* ```ts
|
|
92
|
-
* const index = column_getFilterIndex(column)
|
|
93
|
-
* ```
|
|
94
|
-
*/
|
|
95
|
-
declare function column_getFilterIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): number;
|
|
96
|
-
/**
|
|
97
|
-
* Adds, updates, or removes this column's filter value.
|
|
98
|
-
*
|
|
99
|
-
* The incoming value may be an updater. After resolution, `autoRemove` rules
|
|
100
|
-
* decide whether the filter should be removed instead of stored.
|
|
101
|
-
*
|
|
102
|
-
* @example
|
|
103
|
-
* ```ts
|
|
104
|
-
* column_setFilterValue(column, (old) => String(old ?? '').trim())
|
|
105
|
-
* ```
|
|
106
|
-
*/
|
|
107
|
-
declare function column_setFilterValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, value: any): void;
|
|
108
|
-
/**
|
|
109
|
-
* Routes a column filter updater through the table's filter change handler.
|
|
110
|
-
*
|
|
111
|
-
* The resolved filters are cleaned before they are emitted: filters for known
|
|
112
|
-
* columns are removed when their filter function says the value should be
|
|
113
|
-
* auto-removed.
|
|
114
|
-
*
|
|
115
|
-
* @example
|
|
116
|
-
* ```ts
|
|
117
|
-
* table_setColumnFilters(table, (old) => old.filter((filter) => filter.id !== 'age'))
|
|
118
|
-
* ```
|
|
119
|
-
*/
|
|
120
|
-
declare function table_setColumnFilters<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, updater: Updater<ColumnFiltersState>): void;
|
|
121
|
-
/**
|
|
122
|
-
* Resets `columnFilters` to the configured initial state or feature default.
|
|
123
|
-
*
|
|
124
|
-
* With no argument, the reset clones `table.initialState.columnFilters` when it
|
|
125
|
-
* exists. Passing `true` ignores initial state and resets to `[]`.
|
|
126
|
-
*
|
|
127
|
-
* @example
|
|
128
|
-
* ```ts
|
|
129
|
-
* table_resetColumnFilters(table)
|
|
130
|
-
* table_resetColumnFilters(table, true)
|
|
131
|
-
* ```
|
|
132
|
-
*/
|
|
133
|
-
declare function table_resetColumnFilters<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, defaultState?: boolean): void;
|
|
134
|
-
/**
|
|
135
|
-
* Returns whether a filter value should be removed from filter state.
|
|
136
|
-
*
|
|
137
|
-
* This checks the filter function's `autoRemove` hook and built-in empty-value rules.
|
|
138
|
-
*
|
|
139
|
-
* @example
|
|
140
|
-
* ```ts
|
|
141
|
-
* const removeFilter = shouldAutoRemoveFilter(filterFn, value, column)
|
|
142
|
-
* ```
|
|
143
|
-
*/
|
|
144
|
-
declare function shouldAutoRemoveFilter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(filterFn?: FilterFn<TFeatures, TData>, value?: any, column?: Column<TFeatures, TData, TValue>): boolean;
|
|
145
|
-
//#endregion
|
|
146
|
-
export { column_getAutoFilterFn, column_getCanFilter, column_getFilterFn, column_getFilterIndex, column_getFilterValue, column_getIsFiltered, column_setFilterValue, getDefaultColumnFiltersState, shouldAutoRemoveFilter, table_resetColumnFilters, table_setColumnFilters };
|
|
147
|
-
//# sourceMappingURL=columnFilteringFeature.utils.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"columnFilteringFeature.utils.js","names":[],"sources":["../../../src/features/column-filtering/columnFilteringFeature.utils.ts"],"sourcesContent":["import { cloneState, functionalUpdate, isFunction } from '../../utils'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\nimport type {\n ColumnFiltersState,\n FilterFn,\n} from './columnFilteringFeature.types'\n\n/**\n * Creates the default column filter state.\n *\n * The feature default is an empty array, meaning no column filters are active.\n * Reset APIs use this value when `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const filters = getDefaultColumnFiltersState()\n * ```\n */\nexport function getDefaultColumnFiltersState(): ColumnFiltersState {\n return []\n}\n\n/**\n * Chooses a built-in filter function from the column's first core row value.\n *\n * Strings use `includesString`, numbers use `inNumberRange`, booleans and\n * objects use `equals`, dates use `inDateRange`, arrays use `arrIncludes`,\n * and unknown values fall back to `weakEquals`.\n *\n * The chosen filter function is looked up in the table's `filterFns`\n * registry. When it is not registered there, this returns `undefined` and\n * warns in development instead of substituting a different filter function.\n *\n * @example\n * ```ts\n * const filterFn = column_getAutoFilterFn(column)\n * ```\n */\nexport function column_getAutoFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =\n column.table._rowModelFns.filterFns\n\n const firstRow = column.table.getCoreRowModel().flatRows[0]\n\n const value = firstRow ? firstRow.getValue(column.id) : undefined\n\n let filterFnName: string\n\n if (typeof value === 'string') {\n filterFnName = 'includesString'\n } else if (typeof value === 'number') {\n filterFnName = 'inNumberRange'\n } else if (typeof value === 'boolean') {\n filterFnName = 'equals'\n } else if (Array.isArray(value)) {\n filterFnName = 'arrIncludes'\n } else if (Object.prototype.toString.call(value) === '[object Date]') {\n filterFnName = 'inDateRange'\n } else if (value !== null && typeof value === 'object') {\n filterFnName = 'equals'\n } else {\n filterFnName = 'weakEquals'\n }\n\n const filterFn = filterFns?.[filterFnName]\n\n if (process.env.NODE_ENV === 'development' && !filterFn) {\n console.warn(\n `filterFn '${filterFnName}' (auto) for column '${column.id}' is not registered`,\n )\n }\n\n return filterFn\n}\n\n/**\n * Resolves the filter function configured for a column.\n *\n * Function-valued `columnDef.filterFn` is returned directly, `'auto'` delegates\n * to `column_getAutoFilterFn`, and string values are looked up in the table's\n * filter function registry.\n *\n * @example\n * ```ts\n * const filterFn = column_getFilterFn(column)\n * ```\n */\nexport function column_getFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n): FilterFn<TFeatures, TData> | undefined {\n let filterFn = null\n const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =\n column.table._rowModelFns.filterFns\n filterFn = isFunction(column.columnDef.filterFn)\n ? column.columnDef.filterFn\n : column.columnDef.filterFn === 'auto'\n ? column_getAutoFilterFn(column)\n : filterFns?.[column.columnDef.filterFn as string]\n\n if (\n process.env.NODE_ENV === 'development' &&\n !filterFn &&\n column.columnDef.filterFn !== 'auto' // the auto picker warns on its own\n ) {\n console.warn(\n `filterFn '${String(column.columnDef.filterFn)}' for column '${column.id}' is not registered`,\n )\n }\n\n return filterFn ?? undefined\n}\n\n/**\n * Checks whether column filtering is enabled for this accessor column.\n *\n * The column must have an accessor and filtering must be enabled by the column\n * definition, `enableColumnFilters`, and the table-wide `enableFilters` option.\n *\n * @example\n * ```ts\n * const canFilter = column_getCanFilter(column)\n * ```\n */\nexport function column_getCanFilter<\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.enableColumnFilter ?? true) &&\n (column.table.options.enableColumnFilters ?? true) &&\n (column.table.options.enableFilters ?? true) &&\n !!column.accessorFn\n )\n}\n\n/**\n * Checks whether this column currently has an entry in `state.columnFilters`.\n *\n * This only reflects filter state presence; it does not indicate whether the\n * filter removes any rows.\n *\n * @example\n * ```ts\n * const isFiltered = column_getIsFiltered(column)\n * ```\n */\nexport function column_getIsFiltered<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column_getFilterIndex(column) > -1\n}\n\n/**\n * Reads this column's current filter value from `state.columnFilters`.\n *\n * Missing filter entries return `undefined`.\n *\n * @example\n * ```ts\n * const value = column_getFilterValue(column)\n * ```\n */\nexport function column_getFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column.table.atoms.columnFilters\n ?.get()\n ?.find((d) => d.id === column.id)?.value\n}\n\n/**\n * Finds this column's position in the ordered `state.columnFilters` array.\n *\n * The result is `-1` when the column has no active filter.\n *\n * @example\n * ```ts\n * const index = column_getFilterIndex(column)\n * ```\n */\nexport function column_getFilterIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n return (\n column.table.atoms.columnFilters\n ?.get()\n ?.findIndex((d) => d.id === column.id) ?? -1\n )\n}\n\n/**\n * Adds, updates, or removes this column's filter value.\n *\n * The incoming value may be an updater. After resolution, `autoRemove` rules\n * decide whether the filter should be removed instead of stored.\n *\n * @example\n * ```ts\n * column_setFilterValue(column, (old) => String(old ?? '').trim())\n * ```\n */\nexport function column_setFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>, value: any) {\n table_setColumnFilters(column.table, (old) => {\n const filterFn = column_getFilterFn(column)\n const previousFilter = old.find((d) => d.id === column.id)\n\n const newFilter = functionalUpdate(\n value,\n previousFilter ? previousFilter.value : undefined,\n )\n\n if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {\n return old.filter((d) => d.id !== column.id)\n }\n\n const newFilterObj = { id: column.id, value: newFilter }\n\n if (previousFilter) {\n return old.map((d) => {\n if (d.id === column.id) {\n return newFilterObj\n }\n return d\n })\n }\n\n if (old.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n}\n\n/**\n * Routes a column filter updater through the table's filter change handler.\n *\n * The resolved filters are cleaned before they are emitted: filters for known\n * columns are removed when their filter function says the value should be\n * auto-removed.\n *\n * @example\n * ```ts\n * table_setColumnFilters(table, (old) => old.filter((filter) => filter.id !== 'age'))\n * ```\n */\nexport function table_setColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnFiltersState>,\n) {\n const leafColumnsById = table.getAllLeafColumnsById()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old).filter((filter) => {\n const column = leafColumnsById[filter.id]\n\n if (column) {\n const filterFn = column_getFilterFn(column)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n table.options.onColumnFiltersChange?.(updateFn)\n}\n\n/**\n * Resets `columnFilters` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnFilters` when it\n * exists. Passing `true` ignores initial state and resets to `[]`.\n *\n * @example\n * ```ts\n * table_resetColumnFilters(table)\n * table_resetColumnFilters(table, true)\n * ```\n */\nexport function table_resetColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnFilters(\n table,\n defaultState ? [] : cloneState(table.initialState.columnFilters ?? []),\n )\n}\n\n/**\n * Returns whether a filter value should be removed from filter state.\n *\n * This checks the filter function's `autoRemove` hook and built-in empty-value rules.\n *\n * @example\n * ```ts\n * const removeFilter = shouldAutoRemoveFilter(filterFn, value, column)\n * ```\n */\nexport function shouldAutoRemoveFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n filterFn?: FilterFn<TFeatures, TData>,\n value?: any,\n column?: Column_Internal<TFeatures, TData, TValue>,\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column as any)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"mappings":"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"}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
const require_utils = require('../../utils.cjs');
|
|
2
|
-
const require_coreColumnsFeature_utils = require('../../core/columns/coreColumnsFeature.utils.cjs');
|
|
3
|
-
const require_rowPaginationFeature_utils = require('../row-pagination/rowPaginationFeature.utils.cjs');
|
|
4
|
-
const require_columnFilteringFeature_utils = require('./columnFilteringFeature.utils.cjs');
|
|
5
|
-
const require_globalFilteringFeature_utils = require('../global-filtering/globalFilteringFeature.utils.cjs');
|
|
6
|
-
const require_filterRowsUtils = require('./filterRowsUtils.cjs');
|
|
7
|
-
|
|
8
|
-
//#region src/features/column-filtering/createFilteredRowModel.ts
|
|
9
|
-
/**
|
|
10
|
-
* Creates a memoized filtered row model factory.
|
|
11
|
-
*
|
|
12
|
-
* The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
|
|
13
|
-
*
|
|
14
|
-
* Register the filter functions you use with the `filterFns` slot on the
|
|
15
|
-
* `features` option:
|
|
16
|
-
* `tableFeatures({ columnFilteringFeature, filteredRowModel: createFilteredRowModel(), filterFns: { includesString: filterFn_includesString } })`.
|
|
17
|
-
* Importing individual `filterFn_*` functions keeps unused built-ins out of
|
|
18
|
-
* your bundle; filter functions passed directly to the `filterFn` column
|
|
19
|
-
* option need no registration at all.
|
|
20
|
-
*/
|
|
21
|
-
function createFilteredRowModel() {
|
|
22
|
-
return (_table) => {
|
|
23
|
-
const table = _table;
|
|
24
|
-
return require_utils.tableMemo({
|
|
25
|
-
feature: "columnFilteringFeature",
|
|
26
|
-
table,
|
|
27
|
-
fnName: "table.getFilteredRowModel",
|
|
28
|
-
memoDeps: () => [
|
|
29
|
-
table.getPreFilteredRowModel(),
|
|
30
|
-
table.atoms.columnFilters?.get(),
|
|
31
|
-
table.atoms.globalFilter?.get()
|
|
32
|
-
],
|
|
33
|
-
fn: () => _createFilteredRowModel(table),
|
|
34
|
-
onAfterUpdate: () => require_rowPaginationFeature_utils.table_autoResetPageIndex(table)
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
function _createFilteredRowModel(table) {
|
|
39
|
-
const rowModel = table.getPreFilteredRowModel();
|
|
40
|
-
const columnFilters = table.atoms.columnFilters?.get();
|
|
41
|
-
const globalFilter = table.atoms.globalFilter?.get();
|
|
42
|
-
if (!rowModel.rows.length || !columnFilters?.length && !globalFilter) {
|
|
43
|
-
const flatRows = rowModel.flatRows;
|
|
44
|
-
for (let i = 0; i < flatRows.length; i++) {
|
|
45
|
-
const row = flatRows[i];
|
|
46
|
-
row.columnFilters = require_utils.makeObjectMap();
|
|
47
|
-
row.columnFiltersMeta = require_utils.makeObjectMap();
|
|
48
|
-
}
|
|
49
|
-
return rowModel;
|
|
50
|
-
}
|
|
51
|
-
const resolvedColumnFilters = [];
|
|
52
|
-
const resolvedGlobalFilters = [];
|
|
53
|
-
columnFilters?.forEach((columnFilter) => {
|
|
54
|
-
const column = require_coreColumnsFeature_utils.table_getColumn(table, columnFilter.id);
|
|
55
|
-
if (!column) return;
|
|
56
|
-
const filterFn = require_columnFilteringFeature_utils.column_getFilterFn(column);
|
|
57
|
-
if (!filterFn) return;
|
|
58
|
-
resolvedColumnFilters.push({
|
|
59
|
-
id: columnFilter.id,
|
|
60
|
-
filterFn,
|
|
61
|
-
resolvedValue: filterFn.resolveFilterValue?.(columnFilter.value) ?? columnFilter.value
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
const filterableIds = columnFilters?.map((d) => d.id) ?? [];
|
|
65
|
-
const globalFilterFn = require_globalFilteringFeature_utils.table_getGlobalFilterFn(table);
|
|
66
|
-
const globallyFilterableColumns = table.getAllLeafColumns().filter((column) => require_globalFilteringFeature_utils.column_getCanGlobalFilter(column));
|
|
67
|
-
if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
|
|
68
|
-
filterableIds.push("__global__");
|
|
69
|
-
globallyFilterableColumns.forEach((column) => {
|
|
70
|
-
resolvedGlobalFilters.push({
|
|
71
|
-
id: column.id,
|
|
72
|
-
filterFn: globalFilterFn,
|
|
73
|
-
resolvedValue: globalFilterFn.resolveFilterValue?.(globalFilter) ?? globalFilter
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
const flatRows = rowModel.flatRows;
|
|
78
|
-
for (let i = 0; i < flatRows.length; i++) {
|
|
79
|
-
const row = flatRows[i];
|
|
80
|
-
row.columnFilters = require_utils.makeObjectMap();
|
|
81
|
-
row.columnFiltersMeta = require_utils.makeObjectMap();
|
|
82
|
-
if (resolvedColumnFilters.length) for (let j = 0; j < resolvedColumnFilters.length; j++) {
|
|
83
|
-
const currentColumnFilter = resolvedColumnFilters[j];
|
|
84
|
-
const id = currentColumnFilter.id;
|
|
85
|
-
row.columnFilters[id] = currentColumnFilter.filterFn(row, id, currentColumnFilter.resolvedValue, (filterMeta) => {
|
|
86
|
-
if (!row.columnFiltersMeta) row.columnFiltersMeta = require_utils.makeObjectMap();
|
|
87
|
-
row.columnFiltersMeta[id] = filterMeta;
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
if (resolvedGlobalFilters.length) {
|
|
91
|
-
for (let j = 0; j < resolvedGlobalFilters.length; j++) {
|
|
92
|
-
const currentGlobalFilter = resolvedGlobalFilters[j];
|
|
93
|
-
const id = currentGlobalFilter.id;
|
|
94
|
-
if (currentGlobalFilter.filterFn(row, id, currentGlobalFilter.resolvedValue, (filterMeta) => {
|
|
95
|
-
if (!row.columnFiltersMeta) row.columnFiltersMeta = require_utils.makeObjectMap();
|
|
96
|
-
row.columnFiltersMeta[id] = filterMeta;
|
|
97
|
-
})) {
|
|
98
|
-
row.columnFilters.__global__ = true;
|
|
99
|
-
break;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
if (row.columnFilters.__global__ !== true) row.columnFilters.__global__ = false;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
const filterRowsImpl = (row) => {
|
|
106
|
-
for (let i = 0; i < filterableIds.length; i++) if (row.columnFilters[filterableIds[i]] === false) return false;
|
|
107
|
-
return true;
|
|
108
|
-
};
|
|
109
|
-
return require_filterRowsUtils.filterRows(rowModel.rows, filterRowsImpl, table);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
//#endregion
|
|
113
|
-
exports.createFilteredRowModel = createFilteredRowModel;
|
|
114
|
-
//# sourceMappingURL=createFilteredRowModel.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createFilteredRowModel.cjs","names":["tableMemo","table_autoResetPageIndex","makeObjectMap","table_getColumn","column_getFilterFn","table_getGlobalFilterFn","column_getCanGlobalFilter","filterRows"],"sources":["../../../src/features/column-filtering/createFilteredRowModel.ts"],"sourcesContent":["import { makeObjectMap, tableMemo } from '../../utils'\nimport { table_getColumn } from '../../core/columns/coreColumnsFeature.utils'\nimport {\n column_getCanGlobalFilter,\n table_getGlobalFilterFn,\n} from '../global-filtering/globalFilteringFeature.utils'\nimport { table_autoResetPageIndex } from '../row-pagination/rowPaginationFeature.utils'\nimport { filterRows } from './filterRowsUtils'\nimport { column_getFilterFn } from './columnFilteringFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type {\n ResolvedColumnFilter,\n Row_ColumnFiltering,\n} from './columnFilteringFeature.types'\n\n/**\n * Creates a memoized filtered row model factory.\n *\n * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.\n *\n * Register the filter functions you use with the `filterFns` slot on the\n * `features` option:\n * `tableFeatures({ columnFilteringFeature, filteredRowModel: createFilteredRowModel(), filterFns: { includesString: filterFn_includesString } })`.\n * Importing individual `filterFn_*` functions keeps unused built-ins out of\n * your bundle; filter functions passed directly to the `filterFn` column\n * option need no registration at all.\n */\nexport function createFilteredRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table = _table as unknown as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFilteringFeature',\n table,\n fnName: 'table.getFilteredRowModel',\n memoDeps: () => [\n table.getPreFilteredRowModel(),\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n ],\n fn: () => _createFilteredRowModel(table),\n onAfterUpdate: () => table_autoResetPageIndex(table),\n })\n }\n}\n\nfunction _createFilteredRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const rowModel = table.getPreFilteredRowModel()\n const columnFilters = table.atoms.columnFilters?.get()\n const globalFilter = table.atoms.globalFilter?.get()\n\n if (!rowModel.rows.length || (!columnFilters?.length && !globalFilter)) {\n const flatRows = rowModel.flatRows as Array<\n Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>\n >\n for (let i = 0; i < flatRows.length; i++) {\n const row = flatRows[i]!\n row.columnFilters = makeObjectMap()\n row.columnFiltersMeta = makeObjectMap()\n }\n return rowModel\n }\n\n const resolvedColumnFilters: Array<ResolvedColumnFilter<TFeatures, TData>> =\n []\n const resolvedGlobalFilters: Array<ResolvedColumnFilter<TFeatures, TData>> =\n []\n\n columnFilters?.forEach((columnFilter) => {\n const column = table_getColumn(table, columnFilter.id)\n\n if (!column) {\n return\n }\n\n const filterFn = column_getFilterFn(column)\n\n // A dev warning has already fired in column_getFilterFn; ignore the\n // filter instead of crashing when its filter fn is not registered.\n if (!filterFn) {\n return\n }\n\n resolvedColumnFilters.push({\n id: columnFilter.id,\n filterFn,\n resolvedValue:\n filterFn.resolveFilterValue?.(columnFilter.value) ?? columnFilter.value,\n })\n })\n\n const filterableIds = columnFilters?.map((d) => d.id) ?? []\n\n const globalFilterFn = table_getGlobalFilterFn(table)\n\n const globallyFilterableColumns = table\n .getAllLeafColumns()\n .filter((column) => column_getCanGlobalFilter(column))\n\n if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {\n filterableIds.push('__global__')\n\n globallyFilterableColumns.forEach((column) => {\n resolvedGlobalFilters.push({\n id: column.id,\n filterFn: globalFilterFn,\n resolvedValue:\n globalFilterFn.resolveFilterValue?.(globalFilter) ?? globalFilter,\n })\n })\n }\n\n // Flag the pre-filtered row model with each filter state\n const flatRows = rowModel.flatRows as Array<\n Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>\n >\n for (let i = 0; i < flatRows.length; i++) {\n const row = flatRows[i]!\n row.columnFilters = makeObjectMap()\n row.columnFiltersMeta = makeObjectMap()\n\n if (resolvedColumnFilters.length) {\n for (let j = 0; j < resolvedColumnFilters.length; j++) {\n const currentColumnFilter = resolvedColumnFilters[j]!\n const id = currentColumnFilter.id\n\n // Tag the row with the column filter state\n row.columnFilters[id] = currentColumnFilter.filterFn(\n row,\n id,\n currentColumnFilter.resolvedValue,\n (filterMeta) => {\n if (!row.columnFiltersMeta) {\n row.columnFiltersMeta = makeObjectMap()\n }\n row.columnFiltersMeta[id] = filterMeta\n },\n )\n }\n }\n\n if (resolvedGlobalFilters.length) {\n for (let j = 0; j < resolvedGlobalFilters.length; j++) {\n const currentGlobalFilter = resolvedGlobalFilters[j]!\n const id = currentGlobalFilter.id\n // Tag the row with the first truthy global filter state\n if (\n currentGlobalFilter.filterFn(\n row,\n id,\n currentGlobalFilter.resolvedValue,\n (filterMeta) => {\n if (!row.columnFiltersMeta) {\n row.columnFiltersMeta = makeObjectMap()\n }\n row.columnFiltersMeta[id] = filterMeta\n },\n )\n ) {\n row.columnFilters.__global__ = true\n break\n }\n }\n\n if (row.columnFilters.__global__ !== true) {\n row.columnFilters.__global__ = false\n }\n }\n }\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Row_ColumnFiltering<TFeatures, TData>,\n ) => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters[filterableIds[i]!] === false) {\n return false\n }\n }\n return true\n }\n\n // Filter final rows using all of the active filters\n return filterRows(rowModel.rows, filterRowsImpl as any, table)\n}\n"],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { RowData } from "../../types/type-utils.cjs";
|
|
2
|
-
import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.cjs";
|
|
3
|
-
import { Table } from "../../types/Table.cjs";
|
|
4
|
-
import { TableFeatures } from "../../types/TableFeatures.cjs";
|
|
5
|
-
|
|
6
|
-
//#region src/features/column-filtering/createFilteredRowModel.d.ts
|
|
7
|
-
/**
|
|
8
|
-
* Creates a memoized filtered row model factory.
|
|
9
|
-
*
|
|
10
|
-
* The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
|
|
11
|
-
*
|
|
12
|
-
* Register the filter functions you use with the `filterFns` slot on the
|
|
13
|
-
* `features` option:
|
|
14
|
-
* `tableFeatures({ columnFilteringFeature, filteredRowModel: createFilteredRowModel(), filterFns: { includesString: filterFn_includesString } })`.
|
|
15
|
-
* Importing individual `filterFn_*` functions keeps unused built-ins out of
|
|
16
|
-
* your bundle; filter functions passed directly to the `filterFn` column
|
|
17
|
-
* option need no registration at all.
|
|
18
|
-
*/
|
|
19
|
-
declare function createFilteredRowModel<TFeatures extends TableFeatures, TData extends RowData = any>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
|
|
20
|
-
//#endregion
|
|
21
|
-
export { createFilteredRowModel };
|
|
22
|
-
//# sourceMappingURL=createFilteredRowModel.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createFilteredRowModel.js","names":[],"sources":["../../../src/features/column-filtering/createFilteredRowModel.ts"],"sourcesContent":["import { makeObjectMap, tableMemo } from '../../utils'\nimport { table_getColumn } from '../../core/columns/coreColumnsFeature.utils'\nimport {\n column_getCanGlobalFilter,\n table_getGlobalFilterFn,\n} from '../global-filtering/globalFilteringFeature.utils'\nimport { table_autoResetPageIndex } from '../row-pagination/rowPaginationFeature.utils'\nimport { filterRows } from './filterRowsUtils'\nimport { column_getFilterFn } from './columnFilteringFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type {\n ResolvedColumnFilter,\n Row_ColumnFiltering,\n} from './columnFilteringFeature.types'\n\n/**\n * Creates a memoized filtered row model factory.\n *\n * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.\n *\n * Register the filter functions you use with the `filterFns` slot on the\n * `features` option:\n * `tableFeatures({ columnFilteringFeature, filteredRowModel: createFilteredRowModel(), filterFns: { includesString: filterFn_includesString } })`.\n * Importing individual `filterFn_*` functions keeps unused built-ins out of\n * your bundle; filter functions passed directly to the `filterFn` column\n * option need no registration at all.\n */\nexport function createFilteredRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table = _table as unknown as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFilteringFeature',\n table,\n fnName: 'table.getFilteredRowModel',\n memoDeps: () => [\n table.getPreFilteredRowModel(),\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n ],\n fn: () => _createFilteredRowModel(table),\n onAfterUpdate: () => table_autoResetPageIndex(table),\n })\n }\n}\n\nfunction _createFilteredRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const rowModel = table.getPreFilteredRowModel()\n const columnFilters = table.atoms.columnFilters?.get()\n const globalFilter = table.atoms.globalFilter?.get()\n\n if (!rowModel.rows.length || (!columnFilters?.length && !globalFilter)) {\n const flatRows = rowModel.flatRows as Array<\n Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>\n >\n for (let i = 0; i < flatRows.length; i++) {\n const row = flatRows[i]!\n row.columnFilters = makeObjectMap()\n row.columnFiltersMeta = makeObjectMap()\n }\n return rowModel\n }\n\n const resolvedColumnFilters: Array<ResolvedColumnFilter<TFeatures, TData>> =\n []\n const resolvedGlobalFilters: Array<ResolvedColumnFilter<TFeatures, TData>> =\n []\n\n columnFilters?.forEach((columnFilter) => {\n const column = table_getColumn(table, columnFilter.id)\n\n if (!column) {\n return\n }\n\n const filterFn = column_getFilterFn(column)\n\n // A dev warning has already fired in column_getFilterFn; ignore the\n // filter instead of crashing when its filter fn is not registered.\n if (!filterFn) {\n return\n }\n\n resolvedColumnFilters.push({\n id: columnFilter.id,\n filterFn,\n resolvedValue:\n filterFn.resolveFilterValue?.(columnFilter.value) ?? columnFilter.value,\n })\n })\n\n const filterableIds = columnFilters?.map((d) => d.id) ?? []\n\n const globalFilterFn = table_getGlobalFilterFn(table)\n\n const globallyFilterableColumns = table\n .getAllLeafColumns()\n .filter((column) => column_getCanGlobalFilter(column))\n\n if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {\n filterableIds.push('__global__')\n\n globallyFilterableColumns.forEach((column) => {\n resolvedGlobalFilters.push({\n id: column.id,\n filterFn: globalFilterFn,\n resolvedValue:\n globalFilterFn.resolveFilterValue?.(globalFilter) ?? globalFilter,\n })\n })\n }\n\n // Flag the pre-filtered row model with each filter state\n const flatRows = rowModel.flatRows as Array<\n Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>\n >\n for (let i = 0; i < flatRows.length; i++) {\n const row = flatRows[i]!\n row.columnFilters = makeObjectMap()\n row.columnFiltersMeta = makeObjectMap()\n\n if (resolvedColumnFilters.length) {\n for (let j = 0; j < resolvedColumnFilters.length; j++) {\n const currentColumnFilter = resolvedColumnFilters[j]!\n const id = currentColumnFilter.id\n\n // Tag the row with the column filter state\n row.columnFilters[id] = currentColumnFilter.filterFn(\n row,\n id,\n currentColumnFilter.resolvedValue,\n (filterMeta) => {\n if (!row.columnFiltersMeta) {\n row.columnFiltersMeta = makeObjectMap()\n }\n row.columnFiltersMeta[id] = filterMeta\n },\n )\n }\n }\n\n if (resolvedGlobalFilters.length) {\n for (let j = 0; j < resolvedGlobalFilters.length; j++) {\n const currentGlobalFilter = resolvedGlobalFilters[j]!\n const id = currentGlobalFilter.id\n // Tag the row with the first truthy global filter state\n if (\n currentGlobalFilter.filterFn(\n row,\n id,\n currentGlobalFilter.resolvedValue,\n (filterMeta) => {\n if (!row.columnFiltersMeta) {\n row.columnFiltersMeta = makeObjectMap()\n }\n row.columnFiltersMeta[id] = filterMeta\n },\n )\n ) {\n row.columnFilters.__global__ = true\n break\n }\n }\n\n if (row.columnFilters.__global__ !== true) {\n row.columnFilters.__global__ = false\n }\n }\n }\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Row_ColumnFiltering<TFeatures, TData>,\n ) => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters[filterableIds[i]!] === false) {\n return false\n }\n }\n return true\n }\n\n // Filter final rows using all of the active filters\n return filterRows(rowModel.rows, filterRowsImpl as any, table)\n}\n"],"mappings":"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"}
|