@tanstack/table-core 9.0.0-beta.7 → 9.0.0-beta.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/dist/core/cells/constructCell.d.ts +4 -6
- package/dist/core/cells/constructCell.js +4 -6
- package/dist/core/cells/coreCellsFeature.d.ts +1 -3
- package/dist/core/cells/coreCellsFeature.js +1 -2
- package/dist/core/cells/coreCellsFeature.types.d.ts +7 -9
- package/dist/core/cells/coreCellsFeature.utils.d.ts +5 -5
- package/dist/core/cells/coreCellsFeature.utils.js +1 -2
- package/dist/core/columns/constructColumn.d.ts +4 -6
- package/dist/core/columns/constructColumn.js +8 -9
- package/dist/core/columns/coreColumnsFeature.d.ts +1 -3
- package/dist/core/columns/coreColumnsFeature.js +13 -20
- package/dist/core/columns/coreColumnsFeature.types.d.ts +13 -15
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +10 -12
- package/dist/core/columns/coreColumnsFeature.utils.js +19 -20
- package/dist/core/coreFeatures.d.ts +3 -3
- package/dist/core/coreFeatures.js +1 -2
- package/dist/core/headers/buildHeaderGroups.d.ts +3 -5
- package/dist/core/headers/buildHeaderGroups.js +99 -85
- package/dist/core/headers/constructHeader.d.ts +3 -5
- package/dist/core/headers/constructHeader.js +4 -6
- package/dist/core/headers/coreHeadersFeature.d.ts +1 -3
- package/dist/core/headers/coreHeadersFeature.js +9 -13
- package/dist/core/headers/coreHeadersFeature.types.d.ts +21 -11
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +8 -8
- package/dist/core/headers/coreHeadersFeature.utils.js +14 -17
- package/dist/core/reactivity/coreReactivityFeature.types.d.ts +8 -3
- package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +1 -3
- package/dist/core/reactivity/coreReactivityFeature.utils.js +1 -2
- package/dist/core/reactivity/renderPhaseReactivity.d.ts +80 -0
- package/dist/core/reactivity/renderPhaseReactivity.js +95 -0
- package/dist/core/row-models/coreRowModelsFeature.d.ts +1 -3
- package/dist/core/row-models/coreRowModelsFeature.js +1 -2
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -17
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +17 -19
- package/dist/core/row-models/coreRowModelsFeature.utils.js +9 -28
- package/dist/core/row-models/createCoreRowModel.d.ts +3 -5
- package/dist/core/row-models/createCoreRowModel.js +25 -24
- package/dist/core/rows/constructRow.d.ts +3 -5
- package/dist/core/rows/constructRow.js +9 -13
- package/dist/core/rows/coreRowsFeature.d.ts +1 -3
- package/dist/core/rows/coreRowsFeature.js +20 -5
- package/dist/core/rows/coreRowsFeature.types.d.ts +42 -10
- package/dist/core/rows/coreRowsFeature.utils.d.ts +26 -9
- package/dist/core/rows/coreRowsFeature.utils.js +65 -14
- package/dist/core/table/constructTable.d.ts +2 -4
- package/dist/core/table/constructTable.js +52 -23
- package/dist/core/table/coreTablesFeature.d.ts +1 -3
- package/dist/core/table/coreTablesFeature.js +1 -2
- package/dist/core/table/coreTablesFeature.types.d.ts +56 -25
- package/dist/core/table/coreTablesFeature.utils.d.ts +34 -12
- package/dist/core/table/coreTablesFeature.utils.js +69 -24
- package/dist/experimental-worker-plugin.d.ts +5 -0
- package/dist/experimental-worker-plugin.js +6 -0
- package/dist/features/cell-selection/cellSelectionFeature.d.ts +8 -0
- package/dist/features/cell-selection/cellSelectionFeature.js +128 -0
- package/dist/features/cell-selection/cellSelectionFeature.types.d.ts +296 -0
- package/dist/features/cell-selection/cellSelectionFeature.utils.d.ts +306 -0
- package/dist/features/cell-selection/cellSelectionFeature.utils.js +873 -0
- package/dist/features/cell-selection/cellSelectionGeometry.js +121 -0
- package/dist/features/cell-spanning/cellSpanningFeature.d.ts +13 -0
- package/dist/features/cell-spanning/cellSpanningFeature.js +47 -0
- package/dist/features/cell-spanning/cellSpanningFeature.types.d.ts +150 -0
- package/dist/features/cell-spanning/cellSpanningFeature.utils.d.ts +74 -0
- package/dist/features/cell-spanning/cellSpanningFeature.utils.js +262 -0
- package/dist/features/column-faceting/columnFacetingFeature.d.ts +1 -3
- package/dist/features/column-faceting/columnFacetingFeature.js +13 -20
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -35
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +10 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +25 -14
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +2 -4
- package/dist/features/column-faceting/createFacetedMinMaxValues.js +9 -7
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +3 -5
- package/dist/features/column-faceting/createFacetedRowModel.js +12 -17
- package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +2 -4
- package/dist/features/column-faceting/createFacetedUniqueValues.js +12 -9
- package/dist/features/column-filtering/columnFilteringFeature.d.ts +1 -3
- package/dist/features/column-filtering/columnFilteringFeature.js +4 -5
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +85 -33
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +19 -17
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +33 -21
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -7
- package/dist/features/column-filtering/createFilteredRowModel.js +33 -29
- package/dist/features/column-filtering/filterFns.d.ts +208 -0
- package/dist/features/column-filtering/filterFns.js +374 -0
- package/dist/features/column-filtering/filterRowsUtils.js +4 -4
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +2 -4
- package/dist/features/column-grouping/columnGroupingFeature.js +7 -20
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -52
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -51
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -61
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +7 -7
- package/dist/features/column-grouping/createGroupedRowModel.js +69 -38
- package/dist/features/column-ordering/columnOrderingFeature.d.ts +1 -3
- package/dist/features/column-ordering/columnOrderingFeature.js +19 -24
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -5
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -16
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -18
- package/dist/features/column-pinning/columnPinningFeature.d.ts +7 -4
- package/dist/features/column-pinning/columnPinningFeature.js +126 -146
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +53 -44
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +100 -93
- package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -150
- package/dist/features/column-resizing/columnResizingFeature.d.ts +1 -3
- package/dist/features/column-resizing/columnResizingFeature.js +1 -2
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +2 -7
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +7 -9
- package/dist/features/column-resizing/columnResizingFeature.utils.js +86 -48
- package/dist/features/column-sizing/columnSizingFeature.d.ts +1 -3
- package/dist/features/column-sizing/columnSizingFeature.js +35 -70
- package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -11
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -27
- package/dist/features/column-sizing/columnSizingFeature.utils.js +95 -54
- package/dist/features/column-visibility/columnVisibilityFeature.d.ts +1 -3
- package/dist/features/column-visibility/columnVisibilityFeature.js +26 -38
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +4 -6
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +20 -20
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +32 -32
- package/dist/features/global-filtering/globalFilteringFeature.d.ts +1 -3
- package/dist/features/global-filtering/globalFilteringFeature.js +3 -4
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +4 -6
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -13
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +7 -8
- package/dist/features/row-aggregation/aggregationFns.d.ts +66 -0
- package/dist/features/row-aggregation/aggregationFns.js +279 -0
- package/dist/features/row-aggregation/rowAggregationFeature.d.ts +8 -0
- package/dist/features/row-aggregation/rowAggregationFeature.js +35 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +193 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.js +11 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +46 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.js +235 -0
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +3 -5
- package/dist/features/row-expanding/createExpandedRowModel.js +9 -13
- package/dist/features/row-expanding/rowExpandingFeature.d.ts +1 -3
- package/dist/features/row-expanding/rowExpandingFeature.js +1 -2
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +6 -17
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +11 -16
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +30 -33
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +3 -5
- package/dist/features/row-pagination/createPaginatedRowModel.js +7 -12
- package/dist/features/row-pagination/rowPaginationFeature.d.ts +1 -3
- package/dist/features/row-pagination/rowPaginationFeature.js +1 -2
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +5 -16
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +18 -20
- package/dist/features/row-pagination/rowPaginationFeature.utils.js +10 -17
- package/dist/features/row-pinning/rowPinningFeature.d.ts +1 -3
- package/dist/features/row-pinning/rowPinningFeature.js +5 -18
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +3 -5
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +8 -10
- package/dist/features/row-pinning/rowPinningFeature.utils.js +10 -16
- package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -3
- package/dist/features/row-selection/rowSelectionFeature.js +68 -25
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +51 -15
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +60 -35
- package/dist/features/row-selection/rowSelectionFeature.utils.js +142 -89
- package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -7
- package/dist/features/row-sorting/createSortedRowModel.js +71 -53
- package/dist/features/row-sorting/rowSortingFeature.d.ts +1 -3
- package/dist/features/row-sorting/rowSortingFeature.js +1 -2
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +54 -24
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +19 -22
- package/dist/features/row-sorting/rowSortingFeature.utils.js +36 -25
- package/dist/features/row-sorting/sortFns.d.ts +96 -0
- package/dist/features/row-sorting/sortFns.js +216 -0
- package/dist/features/stockFeatures.d.ts +7 -3
- package/dist/features/stockFeatures.js +7 -2
- package/dist/flex-render.d.ts +2 -4
- package/dist/flex-render.js +10 -3
- package/dist/helpers/columnHelper.d.ts +3 -5
- package/dist/helpers/columnHelper.js +1 -2
- package/dist/helpers/metaHelper.d.ts +25 -0
- package/dist/helpers/metaHelper.js +28 -0
- package/dist/helpers/tableFeatures.d.ts +35 -8
- package/dist/helpers/tableFeatures.js +33 -5
- package/dist/helpers/tableOptions.d.ts +1 -3
- package/dist/helpers/tableOptions.js +1 -2
- package/dist/index.d.ts +34 -27
- package/dist/index.js +10 -5
- package/dist/reactivity.d.ts +2 -1
- package/dist/reactivity.js +2 -1
- package/dist/static-functions.d.ts +11 -8
- package/dist/static-functions.js +11 -8
- package/dist/store-reactivity-bindings.d.ts +2 -4
- package/dist/store-reactivity-bindings.js +4 -5
- package/dist/types/Cell.d.ts +9 -5
- package/dist/types/Column.d.ts +13 -15
- package/dist/types/ColumnDef.d.ts +39 -21
- package/dist/types/Header.d.ts +3 -5
- package/dist/types/HeaderGroup.d.ts +3 -5
- package/dist/types/Row.d.ts +7 -7
- package/dist/types/RowModel.d.ts +11 -25
- package/dist/types/RowModelFns.d.ts +5 -7
- package/dist/types/Table.d.ts +29 -32
- package/dist/types/TableFeatures.d.ts +388 -24
- package/dist/types/TableOptions.d.ts +24 -14
- package/dist/types/TableState.d.ts +8 -8
- package/dist/types/type-utils.d.ts +10 -4
- package/dist/utils.d.ts +32 -26
- package/dist/utils.js +52 -32
- package/dist/worker/createTableWorker.d.ts +100 -0
- package/dist/worker/createTableWorker.js +185 -0
- package/dist/worker/createWorkerRowModel.d.ts +40 -0
- package/dist/worker/createWorkerRowModel.js +77 -0
- package/dist/worker/initTableWorker.d.ts +31 -0
- package/dist/worker/initTableWorker.js +99 -0
- package/dist/worker/rebuildRowModel.d.ts +11 -0
- package/dist/worker/rebuildRowModel.js +71 -0
- package/dist/worker/serializeRowModel.js +51 -0
- package/dist/worker/tableWorkerProtocol.d.ts +88 -0
- package/dist/worker/tableWorkerProtocol.js +26 -0
- package/package.json +12 -28
- package/skills/aggregation/SKILL.md +141 -0
- package/skills/api-not-found/SKILL.md +113 -0
- package/skills/cell-selection/SKILL.md +204 -0
- package/skills/cell-spanning/SKILL.md +162 -0
- package/skills/client-vs-server/SKILL.md +164 -0
- package/skills/column-faceting/SKILL.md +97 -0
- package/skills/column-filtering/SKILL.md +87 -0
- package/skills/column-ordering/SKILL.md +75 -0
- package/skills/column-pinning/SKILL.md +89 -0
- package/skills/column-resizing/SKILL.md +91 -0
- package/skills/column-sizing/SKILL.md +72 -0
- package/skills/column-visibility/SKILL.md +75 -0
- package/skills/core/SKILL.md +175 -0
- package/skills/custom-features/SKILL.md +235 -0
- package/skills/expanding/SKILL.md +80 -0
- package/skills/global-filtering/SKILL.md +84 -0
- package/skills/grouping/SKILL.md +51 -401
- package/skills/migrate-v8-to-v9/SKILL.md +275 -416
- package/skills/pagination/SKILL.md +37 -344
- package/skills/row-pinning/SKILL.md +47 -234
- package/skills/row-selection/SKILL.md +75 -302
- package/skills/sorting/SKILL.md +45 -303
- package/skills/table-features/SKILL.md +159 -0
- package/skills/typescript/SKILL.md +126 -0
- package/dist/core/cells/constructCell.cjs +0 -34
- package/dist/core/cells/constructCell.cjs.map +0 -1
- package/dist/core/cells/constructCell.d.cts +0 -17
- package/dist/core/cells/constructCell.js.map +0 -1
- package/dist/core/cells/coreCellsFeature.cjs +0 -21
- package/dist/core/cells/coreCellsFeature.cjs.map +0 -1
- package/dist/core/cells/coreCellsFeature.d.cts +0 -10
- package/dist/core/cells/coreCellsFeature.js.map +0 -1
- package/dist/core/cells/coreCellsFeature.types.d.cts +0 -57
- package/dist/core/cells/coreCellsFeature.utils.cjs +0 -57
- package/dist/core/cells/coreCellsFeature.utils.cjs.map +0 -1
- package/dist/core/cells/coreCellsFeature.utils.d.cts +0 -53
- package/dist/core/cells/coreCellsFeature.utils.js.map +0 -1
- package/dist/core/columns/constructColumn.cjs +0 -61
- package/dist/core/columns/constructColumn.cjs.map +0 -1
- package/dist/core/columns/constructColumn.d.cts +0 -16
- package/dist/core/columns/constructColumn.js.map +0 -1
- package/dist/core/columns/coreColumnsFeature.cjs +0 -70
- package/dist/core/columns/coreColumnsFeature.cjs.map +0 -1
- package/dist/core/columns/coreColumnsFeature.d.cts +0 -10
- package/dist/core/columns/coreColumnsFeature.js.map +0 -1
- package/dist/core/columns/coreColumnsFeature.types.d.cts +0 -94
- package/dist/core/columns/coreColumnsFeature.utils.cjs +0 -187
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +0 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +0 -119
- package/dist/core/columns/coreColumnsFeature.utils.js.map +0 -1
- package/dist/core/coreFeatures.cjs +0 -25
- package/dist/core/coreFeatures.cjs.map +0 -1
- package/dist/core/coreFeatures.d.cts +0 -26
- package/dist/core/coreFeatures.js.map +0 -1
- package/dist/core/headers/buildHeaderGroups.cjs +0 -103
- package/dist/core/headers/buildHeaderGroups.cjs.map +0 -1
- package/dist/core/headers/buildHeaderGroups.d.cts +0 -16
- package/dist/core/headers/buildHeaderGroups.js.map +0 -1
- package/dist/core/headers/constructHeader.cjs +0 -41
- package/dist/core/headers/constructHeader.cjs.map +0 -1
- package/dist/core/headers/constructHeader.d.cts +0 -22
- package/dist/core/headers/constructHeader.js.map +0 -1
- package/dist/core/headers/coreHeadersFeature.cjs +0 -55
- package/dist/core/headers/coreHeadersFeature.cjs.map +0 -1
- package/dist/core/headers/coreHeadersFeature.d.cts +0 -10
- package/dist/core/headers/coreHeadersFeature.js.map +0 -1
- package/dist/core/headers/coreHeadersFeature.types.d.cts +0 -106
- package/dist/core/headers/coreHeadersFeature.utils.cjs +0 -142
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +0 -1
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +0 -85
- package/dist/core/headers/coreHeadersFeature.utils.js.map +0 -1
- package/dist/core/reactivity/coreReactivityFeature.types.d.cts +0 -48
- package/dist/core/reactivity/coreReactivityFeature.utils.cjs +0 -24
- package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +0 -1
- package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +0 -24
- package/dist/core/reactivity/coreReactivityFeature.utils.js.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.cjs +0 -27
- package/dist/core/row-models/coreRowModelsFeature.cjs.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.d.cts +0 -10
- package/dist/core/row-models/coreRowModelsFeature.js.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +0 -41
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +0 -215
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +0 -153
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +0 -1
- package/dist/core/row-models/createCoreRowModel.cjs +0 -52
- package/dist/core/row-models/createCoreRowModel.cjs.map +0 -1
- package/dist/core/row-models/createCoreRowModel.d.cts +0 -15
- package/dist/core/row-models/createCoreRowModel.js.map +0 -1
- package/dist/core/rows/constructRow.cjs +0 -44
- package/dist/core/rows/constructRow.cjs.map +0 -1
- package/dist/core/rows/constructRow.d.cts +0 -15
- package/dist/core/rows/constructRow.js.map +0 -1
- package/dist/core/rows/coreRowsFeature.cjs +0 -37
- package/dist/core/rows/coreRowsFeature.cjs.map +0 -1
- package/dist/core/rows/coreRowsFeature.d.cts +0 -10
- package/dist/core/rows/coreRowsFeature.js.map +0 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +0 -99
- package/dist/core/rows/coreRowsFeature.utils.cjs +0 -192
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +0 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +0 -127
- package/dist/core/rows/coreRowsFeature.utils.js.map +0 -1
- package/dist/core/table/constructTable.cjs +0 -118
- package/dist/core/table/constructTable.cjs.map +0 -1
- package/dist/core/table/constructTable.d.cts +0 -22
- package/dist/core/table/constructTable.js.map +0 -1
- package/dist/core/table/coreTablesFeature.cjs +0 -17
- package/dist/core/table/coreTablesFeature.cjs.map +0 -1
- package/dist/core/table/coreTablesFeature.d.cts +0 -10
- package/dist/core/table/coreTablesFeature.js.map +0 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +0 -186
- package/dist/core/table/coreTablesFeature.utils.cjs +0 -96
- package/dist/core/table/coreTablesFeature.utils.cjs.map +0 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +0 -57
- package/dist/core/table/coreTablesFeature.utils.js.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.cjs +0 -61
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.d.cts +0 -10
- package/dist/features/column-faceting/columnFacetingFeature.js.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +0 -85
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +0 -103
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +0 -84
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +0 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +0 -44
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +0 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +0 -14
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +0 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs +0 -50
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +0 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +0 -15
- package/dist/features/column-faceting/createFacetedRowModel.js.map +0 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs +0 -41
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +0 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +0 -14
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.cjs +0 -50
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.d.cts +0 -10
- package/dist/features/column-filtering/columnFilteringFeature.js.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +0 -160
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +0 -212
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +0 -143
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +0 -110
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +0 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +0 -16
- package/dist/features/column-filtering/createFilteredRowModel.js.map +0 -1
- package/dist/features/column-filtering/filterRowsUtils.cjs +0 -81
- package/dist/features/column-filtering/filterRowsUtils.cjs.map +0 -1
- package/dist/features/column-filtering/filterRowsUtils.js.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.cjs +0 -67
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +0 -10
- package/dist/features/column-grouping/columnGroupingFeature.js.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +0 -165
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +0 -250
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +0 -190
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +0 -119
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +0 -1
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +0 -16
- package/dist/features/column-grouping/createGroupedRowModel.js.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +0 -58
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.d.cts +0 -10
- package/dist/features/column-ordering/columnOrderingFeature.js.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +0 -56
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +0 -172
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +0 -107
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.cjs +0 -221
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +0 -10
- package/dist/features/column-pinning/columnPinningFeature.js.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +0 -178
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +0 -585
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +0 -375
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.cjs +0 -41
- package/dist/features/column-resizing/columnResizingFeature.cjs.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.d.cts +0 -10
- package/dist/features/column-resizing/columnResizingFeature.js.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.types.d.cts +0 -81
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +0 -246
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +0 -109
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +0 -124
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.d.cts +0 -10
- package/dist/features/column-sizing/columnSizingFeature.js.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.types.d.cts +0 -96
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +0 -256
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +0 -182
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +0 -94
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.d.cts +0 -10
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +0 -97
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +0 -283
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +0 -189
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +0 -41
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.d.cts +0 -10
- package/dist/features/global-filtering/globalFilteringFeature.js.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +0 -71
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +0 -88
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +0 -74
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
- package/dist/features/row-expanding/createExpandedRowModel.cjs +0 -59
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +0 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +0 -21
- package/dist/features/row-expanding/createExpandedRowModel.js.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.cjs +0 -47
- package/dist/features/row-expanding/rowExpandingFeature.cjs.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.d.cts +0 -10
- package/dist/features/row-expanding/rowExpandingFeature.js.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +0 -127
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +0 -281
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +0 -191
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +0 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +0 -62
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +0 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +0 -15
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.cjs +0 -45
- package/dist/features/row-pagination/rowPaginationFeature.cjs.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.d.cts +0 -10
- package/dist/features/row-pagination/rowPaginationFeature.js.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +0 -135
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +0 -312
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +0 -218
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.cjs +0 -67
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.d.cts +0 -10
- package/dist/features/row-pinning/rowPinningFeature.js.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +0 -83
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +0 -229
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +0 -143
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +0 -75
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.d.cts +0 -10
- package/dist/features/row-selection/rowSelectionFeature.js.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +0 -136
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +0 -514
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +0 -318
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +0 -95
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +0 -1
- package/dist/features/row-sorting/createSortedRowModel.d.cts +0 -16
- package/dist/features/row-sorting/createSortedRowModel.js.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.cjs +0 -55
- package/dist/features/row-sorting/rowSortingFeature.cjs.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.d.cts +0 -10
- package/dist/features/row-sorting/rowSortingFeature.js.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +0 -188
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +0 -305
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +0 -193
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +0 -1
- package/dist/features/stockFeatures.cjs +0 -41
- package/dist/features/stockFeatures.cjs.map +0 -1
- package/dist/features/stockFeatures.d.cts +0 -41
- package/dist/features/stockFeatures.js.map +0 -1
- package/dist/flex-render.cjs +0 -29
- package/dist/flex-render.cjs.map +0 -1
- package/dist/flex-render.d.cts +0 -34
- package/dist/flex-render.js.map +0 -1
- package/dist/fns/aggregationFns.cjs +0 -161
- package/dist/fns/aggregationFns.cjs.map +0 -1
- package/dist/fns/aggregationFns.d.cts +0 -85
- package/dist/fns/aggregationFns.d.ts +0 -85
- package/dist/fns/aggregationFns.js +0 -151
- package/dist/fns/aggregationFns.js.map +0 -1
- package/dist/fns/filterFns.cjs +0 -201
- package/dist/fns/filterFns.cjs.map +0 -1
- package/dist/fns/filterFns.d.cts +0 -167
- package/dist/fns/filterFns.d.ts +0 -167
- package/dist/fns/filterFns.js +0 -185
- package/dist/fns/filterFns.js.map +0 -1
- package/dist/fns/sortFns.cjs +0 -130
- package/dist/fns/sortFns.cjs.map +0 -1
- package/dist/fns/sortFns.d.cts +0 -65
- package/dist/fns/sortFns.d.ts +0 -65
- package/dist/fns/sortFns.js +0 -122
- package/dist/fns/sortFns.js.map +0 -1
- package/dist/helpers/columnHelper.cjs +0 -41
- package/dist/helpers/columnHelper.cjs.map +0 -1
- package/dist/helpers/columnHelper.d.cts +0 -71
- package/dist/helpers/columnHelper.js.map +0 -1
- package/dist/helpers/tableFeatures.cjs +0 -20
- package/dist/helpers/tableFeatures.cjs.map +0 -1
- package/dist/helpers/tableFeatures.d.cts +0 -18
- package/dist/helpers/tableFeatures.js.map +0 -1
- package/dist/helpers/tableOptions.cjs +0 -15
- package/dist/helpers/tableOptions.cjs.map +0 -1
- package/dist/helpers/tableOptions.d.cts +0 -57
- package/dist/helpers/tableOptions.js.map +0 -1
- package/dist/index.cjs +0 -133
- package/dist/index.d.cts +0 -78
- package/dist/reactivity.cjs +0 -4
- package/dist/reactivity.d.cts +0 -3
- package/dist/static-functions.cjs +0 -263
- package/dist/static-functions.d.cts +0 -21
- package/dist/store-reactivity-bindings.cjs +0 -44
- package/dist/store-reactivity-bindings.cjs.map +0 -1
- package/dist/store-reactivity-bindings.d.cts +0 -22
- package/dist/store-reactivity-bindings.js.map +0 -1
- package/dist/types/Cell.d.cts +0 -14
- package/dist/types/Column.d.cts +0 -36
- package/dist/types/ColumnDef.d.cts +0 -109
- package/dist/types/Header.d.cts +0 -16
- package/dist/types/HeaderGroup.d.cts +0 -10
- package/dist/types/Row.d.cts +0 -26
- package/dist/types/RowModel.d.cts +0 -36
- package/dist/types/RowModelFns.d.cts +0 -18
- package/dist/types/Table.d.cts +0 -70
- package/dist/types/TableFeatures.d.cts +0 -53
- package/dist/types/TableOptions.d.cts +0 -69
- package/dist/types/TableState.d.cts +0 -48
- package/dist/types/type-utils.d.cts +0 -23
- package/dist/utils.cjs +0 -243
- package/dist/utils.cjs.map +0 -1
- package/dist/utils.d.cts +0 -114
- package/dist/utils.js.map +0 -1
- package/skills/column-definitions/SKILL.md +0 -333
- package/skills/column-layout/SKILL.md +0 -328
- package/skills/column-layout/references/subsystems.md +0 -220
- package/skills/customizing-feature-behavior/SKILL.md +0 -416
- package/skills/filtering/SKILL.md +0 -357
- package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
- package/skills/row-expanding/SKILL.md +0 -348
- package/skills/setup/SKILL.md +0 -400
- package/skills/state-management/SKILL.md +0 -388
- package/src/core/cells/constructCell.ts +0 -55
- package/src/core/cells/coreCellsFeature.ts +0 -27
- package/src/core/cells/coreCellsFeature.types.ts +0 -68
- package/src/core/cells/coreCellsFeature.utils.ts +0 -68
- package/src/core/columns/constructColumn.ts +0 -119
- package/src/core/columns/coreColumnsFeature.ts +0 -73
- package/src/core/columns/coreColumnsFeature.types.ts +0 -108
- package/src/core/columns/coreColumnsFeature.utils.ts +0 -275
- package/src/core/coreFeatures.ts +0 -31
- package/src/core/headers/buildHeaderGroups.ts +0 -182
- package/src/core/headers/constructHeader.ts +0 -67
- package/src/core/headers/coreHeadersFeature.ts +0 -56
- package/src/core/headers/coreHeadersFeature.types.ts +0 -125
- package/src/core/headers/coreHeadersFeature.utils.ts +0 -200
- package/src/core/reactivity/coreReactivityFeature.types.ts +0 -56
- package/src/core/reactivity/coreReactivityFeature.utils.ts +0 -44
- package/src/core/row-models/coreRowModelsFeature.ts +0 -62
- package/src/core/row-models/coreRowModelsFeature.types.ts +0 -64
- package/src/core/row-models/coreRowModelsFeature.utils.ts +0 -272
- package/src/core/row-models/createCoreRowModel.ts +0 -93
- package/src/core/rows/constructRow.ts +0 -66
- package/src/core/rows/coreRowsFeature.ts +0 -62
- package/src/core/rows/coreRowsFeature.types.ts +0 -117
- package/src/core/rows/coreRowsFeature.utils.ts +0 -264
- package/src/core/table/constructTable.ts +0 -172
- package/src/core/table/coreTablesFeature.ts +0 -19
- package/src/core/table/coreTablesFeature.types.ts +0 -216
- package/src/core/table/coreTablesFeature.utils.ts +0 -131
- package/src/features/column-faceting/columnFacetingFeature.ts +0 -89
- package/src/features/column-faceting/columnFacetingFeature.types.ts +0 -109
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +0 -145
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +0 -66
- package/src/features/column-faceting/createFacetedRowModel.ts +0 -85
- package/src/features/column-faceting/createFacetedUniqueValues.ts +0 -66
- package/src/features/column-filtering/columnFilteringFeature.ts +0 -86
- package/src/features/column-filtering/columnFilteringFeature.types.ts +0 -232
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +0 -331
- package/src/features/column-filtering/createFilteredRowModel.ts +0 -183
- package/src/features/column-filtering/filterRowsUtils.ts +0 -157
- package/src/features/column-grouping/columnGroupingFeature.ts +0 -115
- package/src/features/column-grouping/columnGroupingFeature.types.ts +0 -226
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +0 -354
- package/src/features/column-grouping/createGroupedRowModel.ts +0 -220
- package/src/features/column-ordering/columnOrderingFeature.ts +0 -73
- package/src/features/column-ordering/columnOrderingFeature.types.ts +0 -60
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +0 -241
- package/src/features/column-pinning/columnPinningFeature.ts +0 -316
- package/src/features/column-pinning/columnPinningFeature.types.ts +0 -192
- package/src/features/column-pinning/columnPinningFeature.utils.ts +0 -908
- package/src/features/column-resizing/columnResizingFeature.ts +0 -65
- package/src/features/column-resizing/columnResizingFeature.types.ts +0 -89
- package/src/features/column-resizing/columnResizingFeature.utils.ts +0 -364
- package/src/features/column-sizing/columnSizingFeature.ts +0 -145
- package/src/features/column-sizing/columnSizingFeature.types.ts +0 -102
- package/src/features/column-sizing/columnSizingFeature.utils.ts +0 -381
- package/src/features/column-visibility/columnVisibilityFeature.ts +0 -122
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +0 -112
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +0 -384
- package/src/features/global-filtering/globalFilteringFeature.ts +0 -65
- package/src/features/global-filtering/globalFilteringFeature.types.ts +0 -91
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +0 -118
- package/src/features/row-expanding/createExpandedRowModel.ts +0 -82
- package/src/features/row-expanding/rowExpandingFeature.ts +0 -94
- package/src/features/row-expanding/rowExpandingFeature.types.ts +0 -147
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +0 -374
- package/src/features/row-pagination/createPaginatedRowModel.ts +0 -83
- package/src/features/row-pagination/rowPaginationFeature.ts +0 -95
- package/src/features/row-pagination/rowPaginationFeature.types.ts +0 -152
- package/src/features/row-pagination/rowPaginationFeature.utils.ts +0 -400
- package/src/features/row-pinning/rowPinningFeature.ts +0 -97
- package/src/features/row-pinning/rowPinningFeature.types.ts +0 -95
- package/src/features/row-pinning/rowPinningFeature.utils.ts +0 -323
- package/src/features/row-selection/rowSelectionFeature.ts +0 -140
- package/src/features/row-selection/rowSelectionFeature.types.ts +0 -151
- package/src/features/row-selection/rowSelectionFeature.utils.ts +0 -745
- package/src/features/row-sorting/createSortedRowModel.ts +0 -157
- package/src/features/row-sorting/rowSortingFeature.ts +0 -103
- package/src/features/row-sorting/rowSortingFeature.types.ts +0 -235
- package/src/features/row-sorting/rowSortingFeature.utils.ts +0 -489
- package/src/features/stockFeatures.ts +0 -53
- package/src/flex-render.ts +0 -70
- package/src/fns/aggregationFns.ts +0 -245
- package/src/fns/filterFns.ts +0 -382
- package/src/fns/sortFns.ts +0 -240
- package/src/helpers/columnHelper.ts +0 -122
- package/src/helpers/tableFeatures.ts +0 -24
- package/src/helpers/tableOptions.ts +0 -117
- package/src/index.ts +0 -138
- package/src/process-env.d.ts +0 -6
- package/src/reactivity.ts +0 -2
- package/src/static-functions.ts +0 -31
- package/src/store-reactivity-bindings.ts +0 -47
- package/src/types/Cell.ts +0 -21
- package/src/types/Column.ts +0 -51
- package/src/types/ColumnDef.ts +0 -228
- package/src/types/Header.ts +0 -23
- package/src/types/HeaderGroup.ts +0 -13
- package/src/types/Row.ts +0 -34
- package/src/types/RowModel.ts +0 -98
- package/src/types/RowModelFns.ts +0 -32
- package/src/types/Table.ts +0 -91
- package/src/types/TableFeatures.ts +0 -101
- package/src/types/TableOptions.ts +0 -101
- package/src/types/TableState.ts +0 -47
- package/src/types/type-utils.ts +0 -84
- package/src/utils.ts +0 -441
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { OnChangeFn, RowData, Updater } from "../../types/type-utils.js";
|
|
2
|
-
import { BuiltInSortFn } from "
|
|
1
|
+
import { OnChangeFn, RowData, TransformDataValueFn, Updater } from "../../types/type-utils.js";
|
|
2
|
+
import { BuiltInSortFn } from "./sortFns.js";
|
|
3
3
|
import { Row } from "../../types/Row.js";
|
|
4
|
-
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
5
|
-
import { Table } from "../../types/Table.js";
|
|
6
4
|
import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
|
|
7
|
-
|
|
5
|
+
import { IsAny, TableFeatures } from "../../types/TableFeatures.js";
|
|
8
6
|
//#region src/features/row-sorting/rowSortingFeature.types.d.ts
|
|
9
7
|
type SortDirection = 'asc' | 'desc';
|
|
10
8
|
interface ColumnSort {
|
|
@@ -15,16 +13,57 @@ type SortingState = Array<ColumnSort>;
|
|
|
15
13
|
interface TableState_RowSorting {
|
|
16
14
|
sorting: SortingState;
|
|
17
15
|
}
|
|
18
|
-
interface RowModelFns_RowSorting<TFeatures extends TableFeatures, TData extends RowData> {
|
|
19
|
-
sortFns: Record<
|
|
16
|
+
interface RowModelFns_RowSorting<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
17
|
+
sortFns: Record<string, SortFn<TFeatures, TData>>;
|
|
20
18
|
}
|
|
21
19
|
interface SortFns {}
|
|
22
|
-
interface SortFn<TFeatures extends TableFeatures, TData extends RowData> {
|
|
20
|
+
interface SortFn<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
23
21
|
(rowA: Row<TFeatures, TData>, rowB: Row<TFeatures, TData>, columnId: string): number;
|
|
22
|
+
/**
|
|
23
|
+
* Normalizes each row's value before the two sides are compared. Only
|
|
24
|
+
* honored by sorting functions built with `constructSortFn` (including all
|
|
25
|
+
* built-in sorting functions).
|
|
26
|
+
*/
|
|
27
|
+
resolveDataValue?: TransformDataValueFn;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The definition object accepted by `constructSortFn`.
|
|
31
|
+
*
|
|
32
|
+
* `sort` is a value-level comparator: it receives both rows' (resolved) data
|
|
33
|
+
* values instead of the whole rows, so normalization concerns stay in
|
|
34
|
+
* `resolveDataValue`.
|
|
35
|
+
*/
|
|
36
|
+
interface SortFnDef<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
37
|
+
sort: (dataValueA: any, dataValueB: any, rowA: Row<TFeatures, TData>, rowB: Row<TFeatures, TData>, columnId: string) => number;
|
|
38
|
+
resolveDataValue?: TransformDataValueFn;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The shape returned by `constructSortFn`: a `SortFn` with its definition
|
|
42
|
+
* attached, so variants can be built by spreading it into another
|
|
43
|
+
* `constructSortFn` call.
|
|
44
|
+
*
|
|
45
|
+
* The call signature is generic so a created sorting function can be used
|
|
46
|
+
* with any table's rows, regardless of the feature set it was defined
|
|
47
|
+
* against.
|
|
48
|
+
*/
|
|
49
|
+
interface CreatedSortFn<in out TFeatures extends TableFeatures, in out TData extends RowData> extends SortFnDef<TFeatures, TData> {
|
|
50
|
+
<TRowFeatures extends TableFeatures, TRowData extends RowData>(rowA: Row<TRowFeatures, TRowData>, rowB: Row<TRowFeatures, TRowData>, columnId: string): number;
|
|
24
51
|
}
|
|
25
52
|
type CustomSortFns<TFeatures extends TableFeatures, TData extends RowData> = Record<string, SortFn<TFeatures, TData>>;
|
|
26
|
-
|
|
27
|
-
|
|
53
|
+
/**
|
|
54
|
+
* Resolves the valid string names for `columnDef.sortFn` for a feature set.
|
|
55
|
+
*
|
|
56
|
+
* When the features object declares a `sortFns` registry
|
|
57
|
+
* (`tableFeatures({ ..., sortFns })`), its keys are the only valid names; a
|
|
58
|
+
* name is only assignable if a sorting function is actually registered for it.
|
|
59
|
+
* Otherwise this falls back to the global declaration-merged `SortFns`
|
|
60
|
+
* interface.
|
|
61
|
+
*/
|
|
62
|
+
type ExtractSortFnKeys<TFeatures extends TableFeatures> = IsAny<TFeatures> extends true ? keyof SortFns | BuiltInSortFn : TFeatures extends {
|
|
63
|
+
sortFns: infer TSortFns extends object;
|
|
64
|
+
} ? Extract<keyof TSortFns, string> : keyof SortFns;
|
|
65
|
+
type SortFnOption<TFeatures extends TableFeatures, TData extends RowData> = 'auto' | ExtractSortFnKeys<TFeatures> | SortFn<TFeatures, TData>;
|
|
66
|
+
interface ColumnDef_RowSorting<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
28
67
|
/**
|
|
29
68
|
* Enables/Disables multi-sorting for this column.
|
|
30
69
|
*/
|
|
@@ -58,7 +97,7 @@ interface ColumnDef_RowSorting<TFeatures extends TableFeatures, TData extends Ro
|
|
|
58
97
|
*/
|
|
59
98
|
sortUndefined?: false | -1 | 1 | 'first' | 'last';
|
|
60
99
|
}
|
|
61
|
-
interface Column_RowSorting<TFeatures extends TableFeatures, TData extends RowData> {
|
|
100
|
+
interface Column_RowSorting<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
62
101
|
/**
|
|
63
102
|
* Removes this column from the table's sorting state
|
|
64
103
|
*/
|
|
@@ -150,7 +189,7 @@ interface TableOptions_RowSorting {
|
|
|
150
189
|
*/
|
|
151
190
|
sortDescFirst?: boolean;
|
|
152
191
|
}
|
|
153
|
-
interface Table_RowSorting<
|
|
192
|
+
interface Table_RowSorting<in out _TFeatures extends TableFeatures, in out _TData extends RowData> {
|
|
154
193
|
/**
|
|
155
194
|
* Resets `sorting` to `initialState.sorting`.
|
|
156
195
|
*
|
|
@@ -162,7 +201,7 @@ interface Table_RowSorting<TFeatures extends TableFeatures, TData extends RowDat
|
|
|
162
201
|
*/
|
|
163
202
|
setSorting: (updater: Updater<SortingState>) => void;
|
|
164
203
|
}
|
|
165
|
-
interface Table_RowModels_Sorted<TFeatures extends TableFeatures, TData extends RowData> {
|
|
204
|
+
interface Table_RowModels_Sorted<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
166
205
|
/**
|
|
167
206
|
* Reads the row model immediately before sorting.
|
|
168
207
|
*/
|
|
@@ -172,17 +211,8 @@ interface Table_RowModels_Sorted<TFeatures extends TableFeatures, TData extends
|
|
|
172
211
|
*/
|
|
173
212
|
getSortedRowModel: () => RowModel<TFeatures, TData>;
|
|
174
213
|
}
|
|
175
|
-
interface
|
|
176
|
-
/**
|
|
177
|
-
* Factory used to retrieve the sorted row model. If using server-side
|
|
178
|
-
* sorting, this is not required. To use client-side sorting, pass the
|
|
179
|
-
* exported `createSortedRowModel()` or implement your own factory.
|
|
180
|
-
*/
|
|
181
|
-
sortedRowModel?: (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
|
|
182
|
-
}
|
|
183
|
-
interface CachedRowModel_Sorted<TFeatures extends TableFeatures, TData extends RowData> {
|
|
214
|
+
interface CachedRowModel_Sorted<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
184
215
|
sortedRowModel: () => RowModel<TFeatures, TData>;
|
|
185
216
|
}
|
|
186
217
|
//#endregion
|
|
187
|
-
export { CachedRowModel_Sorted, ColumnDef_RowSorting, ColumnSort, Column_RowSorting,
|
|
188
|
-
//# sourceMappingURL=rowSortingFeature.types.d.ts.map
|
|
218
|
+
export { CachedRowModel_Sorted, ColumnDef_RowSorting, ColumnSort, Column_RowSorting, CreatedSortFn, CustomSortFns, ExtractSortFnKeys, RowModelFns_RowSorting, SortDirection, SortFn, SortFnDef, SortFnOption, SortFns, SortingState, TableOptions_RowSorting, TableState_RowSorting, Table_RowModels_Sorted, Table_RowSorting };
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { CellData, RowData, Updater } from "../../types/type-utils.js";
|
|
2
2
|
import { SortDirection, SortFn, SortingState } from "./rowSortingFeature.types.js";
|
|
3
|
-
import {
|
|
3
|
+
import { Column } from "../../types/Column.js";
|
|
4
|
+
import { Table } from "../../types/Table.js";
|
|
4
5
|
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
5
|
-
import { Table_Internal } from "../../types/Table.js";
|
|
6
|
-
|
|
7
6
|
//#region src/features/row-sorting/rowSortingFeature.utils.d.ts
|
|
8
7
|
/**
|
|
9
8
|
* Creates the default sorting state.
|
|
@@ -28,7 +27,7 @@ declare function getDefaultSortingState(): SortingState;
|
|
|
28
27
|
* table_setSorting(table, (old) => [...old, { id: 'age', desc: true }])
|
|
29
28
|
* ```
|
|
30
29
|
*/
|
|
31
|
-
declare function table_setSorting<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
30
|
+
declare function table_setSorting<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, updater: Updater<SortingState>): void;
|
|
32
31
|
/**
|
|
33
32
|
* Resets `sorting` to the configured initial state or feature default.
|
|
34
33
|
*
|
|
@@ -41,7 +40,7 @@ declare function table_setSorting<TFeatures extends TableFeatures, TData extends
|
|
|
41
40
|
* table_resetSorting(table, true)
|
|
42
41
|
* ```
|
|
43
42
|
*/
|
|
44
|
-
declare function table_resetSorting<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
43
|
+
declare function table_resetSorting<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, defaultState?: boolean): void;
|
|
45
44
|
/**
|
|
46
45
|
* Chooses a built-in sorting function from sampled filtered row values.
|
|
47
46
|
*
|
|
@@ -54,7 +53,7 @@ declare function table_resetSorting<TFeatures extends TableFeatures, TData exten
|
|
|
54
53
|
* const sortFn = column_getAutoSortFn(column)
|
|
55
54
|
* ```
|
|
56
55
|
*/
|
|
57
|
-
declare function column_getAutoSortFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
56
|
+
declare function column_getAutoSortFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): SortFn<TFeatures, TData>;
|
|
58
57
|
/**
|
|
59
58
|
* Chooses the default first sort direction from the first filtered row value.
|
|
60
59
|
*
|
|
@@ -66,7 +65,7 @@ declare function column_getAutoSortFn<TFeatures extends TableFeatures, TData ext
|
|
|
66
65
|
* const direction = column_getAutoSortDir(column)
|
|
67
66
|
* ```
|
|
68
67
|
*/
|
|
69
|
-
declare function column_getAutoSortDir<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
68
|
+
declare function column_getAutoSortDir<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): "asc" | "desc";
|
|
70
69
|
/**
|
|
71
70
|
* Resolves the sorting function configured for a column.
|
|
72
71
|
*
|
|
@@ -79,7 +78,7 @@ declare function column_getAutoSortDir<TFeatures extends TableFeatures, TData ex
|
|
|
79
78
|
* const sortFn = column_getSortFn(column)
|
|
80
79
|
* ```
|
|
81
80
|
*/
|
|
82
|
-
declare function column_getSortFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
81
|
+
declare function column_getSortFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): SortFn<TFeatures, TData>;
|
|
83
82
|
/**
|
|
84
83
|
* Applies the next sorting state for this column.
|
|
85
84
|
*
|
|
@@ -92,7 +91,7 @@ declare function column_getSortFn<TFeatures extends TableFeatures, TData extends
|
|
|
92
91
|
* column_toggleSorting(column, undefined, true)
|
|
93
92
|
* ```
|
|
94
93
|
*/
|
|
95
|
-
declare function column_toggleSorting<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
94
|
+
declare function column_toggleSorting<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, desc?: boolean, multi?: boolean): void;
|
|
96
95
|
/**
|
|
97
96
|
* Resolves the first direction used when this column begins sorting.
|
|
98
97
|
*
|
|
@@ -104,7 +103,7 @@ declare function column_toggleSorting<TFeatures extends TableFeatures, TData ext
|
|
|
104
103
|
* const firstDirection = column_getFirstSortDir(column)
|
|
105
104
|
* ```
|
|
106
105
|
*/
|
|
107
|
-
declare function column_getFirstSortDir<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
106
|
+
declare function column_getFirstSortDir<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): "asc" | "desc";
|
|
108
107
|
/**
|
|
109
108
|
* Resolves the next sort order for this column's toggle cycle.
|
|
110
109
|
*
|
|
@@ -116,7 +115,7 @@ declare function column_getFirstSortDir<TFeatures extends TableFeatures, TData e
|
|
|
116
115
|
* const nextOrder = column_getNextSortingOrder(column)
|
|
117
116
|
* ```
|
|
118
117
|
*/
|
|
119
|
-
declare function column_getNextSortingOrder<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
118
|
+
declare function column_getNextSortingOrder<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, multi?: boolean): false | "asc" | "desc";
|
|
120
119
|
/**
|
|
121
120
|
* Checks whether this accessor column can participate in sorting.
|
|
122
121
|
*
|
|
@@ -128,7 +127,7 @@ declare function column_getNextSortingOrder<TFeatures extends TableFeatures, TDa
|
|
|
128
127
|
* const canSort = column_getCanSort(column)
|
|
129
128
|
* ```
|
|
130
129
|
*/
|
|
131
|
-
declare function column_getCanSort<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
130
|
+
declare function column_getCanSort<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): boolean;
|
|
132
131
|
/**
|
|
133
132
|
* Checks whether this column can be added to a multi-sort state.
|
|
134
133
|
*
|
|
@@ -140,7 +139,7 @@ declare function column_getCanSort<TFeatures extends TableFeatures, TData extend
|
|
|
140
139
|
* const canMultiSort = column_getCanMultiSort(column)
|
|
141
140
|
* ```
|
|
142
141
|
*/
|
|
143
|
-
declare function column_getCanMultiSort<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
142
|
+
declare function column_getCanMultiSort<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): boolean;
|
|
144
143
|
/**
|
|
145
144
|
* Reads this column's current sort direction.
|
|
146
145
|
*
|
|
@@ -152,7 +151,7 @@ declare function column_getCanMultiSort<TFeatures extends TableFeatures, TData e
|
|
|
152
151
|
* const direction = column_getIsSorted(column)
|
|
153
152
|
* ```
|
|
154
153
|
*/
|
|
155
|
-
declare function column_getIsSorted<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
154
|
+
declare function column_getIsSorted<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): false | SortDirection;
|
|
156
155
|
/**
|
|
157
156
|
* Finds this column's position in the ordered `state.sorting` array.
|
|
158
157
|
*
|
|
@@ -163,7 +162,7 @@ declare function column_getIsSorted<TFeatures extends TableFeatures, TData exten
|
|
|
163
162
|
* const index = column_getSortIndex(column)
|
|
164
163
|
* ```
|
|
165
164
|
*/
|
|
166
|
-
declare function column_getSortIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
165
|
+
declare function column_getSortIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): number;
|
|
167
166
|
/**
|
|
168
167
|
* Removes this column from the sorting state.
|
|
169
168
|
*
|
|
@@ -174,20 +173,18 @@ declare function column_getSortIndex<TFeatures extends TableFeatures, TData exte
|
|
|
174
173
|
* column_clearSorting(column)
|
|
175
174
|
* ```
|
|
176
175
|
*/
|
|
177
|
-
declare function column_clearSorting<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
176
|
+
declare function column_clearSorting<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): void;
|
|
178
177
|
/**
|
|
179
178
|
* Creates a header event handler that toggles this column's sorting.
|
|
180
179
|
*
|
|
181
|
-
* The handler ignores events when the column cannot sort,
|
|
182
|
-
*
|
|
183
|
-
* the event should add to a multi-sort.
|
|
180
|
+
* The handler ignores events when the column cannot sort, and asks
|
|
181
|
+
* `options.isMultiSortEvent` whether the event should add to a multi-sort.
|
|
184
182
|
*
|
|
185
183
|
* @example
|
|
186
184
|
* ```ts
|
|
187
185
|
* const onClick = column_getToggleSortingHandler(column)
|
|
188
186
|
* ```
|
|
189
187
|
*/
|
|
190
|
-
declare function column_getToggleSortingHandler<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
188
|
+
declare function column_getToggleSortingHandler<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): (e: unknown) => void;
|
|
191
189
|
//#endregion
|
|
192
|
-
export { column_clearSorting, column_getAutoSortDir, column_getAutoSortFn, column_getCanMultiSort, column_getCanSort, column_getFirstSortDir, column_getIsSorted, column_getNextSortingOrder, column_getSortFn, column_getSortIndex, column_getToggleSortingHandler, column_toggleSorting, getDefaultSortingState, table_resetSorting, table_setSorting };
|
|
193
|
-
//# sourceMappingURL=rowSortingFeature.utils.d.ts.map
|
|
190
|
+
export { column_clearSorting, column_getAutoSortDir, column_getAutoSortFn, column_getCanMultiSort, column_getCanSort, column_getFirstSortDir, column_getIsSorted, column_getNextSortingOrder, column_getSortFn, column_getSortIndex, column_getToggleSortingHandler, column_toggleSorting, getDefaultSortingState, table_resetSorting, table_setSorting };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { cloneState, isFunction } from "../../utils.js";
|
|
2
|
-
import { reSplitAlphaNumeric, sortFn_basic } from "
|
|
2
|
+
import { reSplitAlphaNumeric, sortFn_basic } from "./sortFns.js";
|
|
3
3
|
|
|
4
4
|
//#region src/features/row-sorting/rowSortingFeature.utils.ts
|
|
5
5
|
/**
|
|
@@ -28,8 +28,7 @@ function getDefaultSortingState() {
|
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
30
|
function table_setSorting(table, updater) {
|
|
31
|
-
|
|
32
|
-
(_table$options$onSort = (_table$options = table.options).onSortingChange) === null || _table$options$onSort === void 0 || _table$options$onSort.call(_table$options, updater);
|
|
31
|
+
table.options.onSortingChange?.(updater);
|
|
33
32
|
}
|
|
34
33
|
/**
|
|
35
34
|
* Resets `sorting` to the configured initial state or feature default.
|
|
@@ -61,20 +60,31 @@ function table_resetSorting(table, defaultState) {
|
|
|
61
60
|
function column_getAutoSortFn(column) {
|
|
62
61
|
const sortFns = column.table._rowModelFns.sortFns;
|
|
63
62
|
const firstRows = column.table.getFilteredRowModel().flatRows.slice(0, 10);
|
|
63
|
+
let sortFnName;
|
|
64
64
|
let isString = false;
|
|
65
65
|
for (let i = 0; i < firstRows.length; i++) {
|
|
66
66
|
const value = firstRows[i].getValue(column.id);
|
|
67
67
|
if (Object.prototype.toString.call(value) === "[object Date]") {
|
|
68
|
-
|
|
68
|
+
sortFnName = "datetime";
|
|
69
|
+
break;
|
|
69
70
|
}
|
|
70
71
|
if (typeof value === "string") {
|
|
71
72
|
isString = true;
|
|
72
73
|
if (value.split(reSplitAlphaNumeric).length > 1) {
|
|
73
|
-
|
|
74
|
+
sortFnName = "alphanumeric";
|
|
75
|
+
break;
|
|
74
76
|
}
|
|
75
77
|
}
|
|
76
78
|
}
|
|
77
|
-
if (isString)
|
|
79
|
+
if (!sortFnName && isString) sortFnName = "text";
|
|
80
|
+
if (sortFnName) {
|
|
81
|
+
let sortFn = sortFns?.[sortFnName];
|
|
82
|
+
if (!sortFn) {
|
|
83
|
+
if (process.env.NODE_ENV === "development") console.warn(`sortFn '${sortFnName}' (auto) for column '${column.id}' is not registered`);
|
|
84
|
+
if (sortFnName === "alphanumeric") sortFn = sortFns?.text;
|
|
85
|
+
}
|
|
86
|
+
if (sortFn) return sortFn;
|
|
87
|
+
}
|
|
78
88
|
return sortFn_basic;
|
|
79
89
|
}
|
|
80
90
|
/**
|
|
@@ -107,7 +117,11 @@ function column_getAutoSortDir(column) {
|
|
|
107
117
|
*/
|
|
108
118
|
function column_getSortFn(column) {
|
|
109
119
|
const sortFns = column.table._rowModelFns.sortFns;
|
|
110
|
-
|
|
120
|
+
if (isFunction(column.columnDef.sortFn)) return column.columnDef.sortFn;
|
|
121
|
+
if (column.columnDef.sortFn === "auto") return column_getAutoSortFn(column);
|
|
122
|
+
const sortFn = sortFns?.[column.columnDef.sortFn];
|
|
123
|
+
if (process.env.NODE_ENV === "development" && !sortFn) console.warn(`sortFn '${String(column.columnDef.sortFn)}' for column '${column.id}' is not registered`);
|
|
124
|
+
return sortFn ?? sortFn_basic;
|
|
111
125
|
}
|
|
112
126
|
/**
|
|
113
127
|
* Applies the next sorting state for this column.
|
|
@@ -125,14 +139,14 @@ function column_toggleSorting(column, desc, multi) {
|
|
|
125
139
|
const nextSortingOrder = column_getNextSortingOrder(column);
|
|
126
140
|
const hasManualValue = typeof desc !== "undefined";
|
|
127
141
|
table_setSorting(column.table, (old) => {
|
|
128
|
-
const existingSorting = old.find((d) => d.id === column.id);
|
|
129
142
|
const existingIndex = old.findIndex((d) => d.id === column.id);
|
|
143
|
+
const existingSorting = existingIndex === -1 ? void 0 : old[existingIndex];
|
|
130
144
|
let newSorting = [];
|
|
131
145
|
let sortAction;
|
|
132
146
|
const nextDesc = hasManualValue ? desc : nextSortingOrder === "desc";
|
|
133
|
-
|
|
147
|
+
const isMultiMode = !!(old.length && column_getCanMultiSort(column) && multi);
|
|
148
|
+
if (isMultiMode) if (existingSorting) sortAction = "toggle";
|
|
134
149
|
else sortAction = "add";
|
|
135
|
-
else if (old.length && existingIndex !== old.length - 1) sortAction = "replace";
|
|
136
150
|
else if (existingSorting) sortAction = "toggle";
|
|
137
151
|
else sortAction = "replace";
|
|
138
152
|
if (sortAction === "toggle") {
|
|
@@ -146,14 +160,17 @@ function column_toggleSorting(column, desc, multi) {
|
|
|
146
160
|
desc: nextDesc
|
|
147
161
|
}];
|
|
148
162
|
newSorting.splice(0, newSorting.length - (column.table.options.maxMultiSortColCount ?? Number.MAX_SAFE_INTEGER));
|
|
149
|
-
} else if (sortAction === "toggle") newSorting = old.map((d) => {
|
|
163
|
+
} else if (sortAction === "toggle") newSorting = isMultiMode ? old.map((d) => {
|
|
150
164
|
if (d.id === column.id) return {
|
|
151
165
|
...d,
|
|
152
166
|
desc: nextDesc
|
|
153
167
|
};
|
|
154
168
|
return d;
|
|
155
|
-
})
|
|
156
|
-
|
|
169
|
+
}) : [{
|
|
170
|
+
id: column.id,
|
|
171
|
+
desc: nextDesc
|
|
172
|
+
}];
|
|
173
|
+
else if (sortAction === "remove") newSorting = isMultiMode ? old.filter((d) => d.id !== column.id) : [];
|
|
157
174
|
else newSorting = [{
|
|
158
175
|
id: column.id,
|
|
159
176
|
desc: nextDesc
|
|
@@ -233,8 +250,7 @@ function column_getCanMultiSort(column) {
|
|
|
233
250
|
* ```
|
|
234
251
|
*/
|
|
235
252
|
function column_getIsSorted(column) {
|
|
236
|
-
|
|
237
|
-
const columnSort = (_column$table$atoms$s = column.table.atoms.sorting) === null || _column$table$atoms$s === void 0 || (_column$table$atoms$s = _column$table$atoms$s.get()) === null || _column$table$atoms$s === void 0 ? void 0 : _column$table$atoms$s.find((d) => d.id === column.id);
|
|
253
|
+
const columnSort = column.table.atoms.sorting?.get()?.find((d) => d.id === column.id);
|
|
238
254
|
return !columnSort ? false : columnSort.desc ? "desc" : "asc";
|
|
239
255
|
}
|
|
240
256
|
/**
|
|
@@ -248,8 +264,7 @@ function column_getIsSorted(column) {
|
|
|
248
264
|
* ```
|
|
249
265
|
*/
|
|
250
266
|
function column_getSortIndex(column) {
|
|
251
|
-
|
|
252
|
-
return ((_column$table$atoms$s2 = column.table.atoms.sorting) === null || _column$table$atoms$s2 === void 0 || (_column$table$atoms$s2 = _column$table$atoms$s2.get()) === null || _column$table$atoms$s2 === void 0 ? void 0 : _column$table$atoms$s2.findIndex((d) => d.id === column.id)) ?? -1;
|
|
267
|
+
return column.table.atoms.sorting?.get()?.findIndex((d) => d.id === column.id) ?? -1;
|
|
253
268
|
}
|
|
254
269
|
/**
|
|
255
270
|
* Removes this column from the sorting state.
|
|
@@ -267,9 +282,8 @@ function column_clearSorting(column) {
|
|
|
267
282
|
/**
|
|
268
283
|
* Creates a header event handler that toggles this column's sorting.
|
|
269
284
|
*
|
|
270
|
-
* The handler ignores events when the column cannot sort,
|
|
271
|
-
*
|
|
272
|
-
* the event should add to a multi-sort.
|
|
285
|
+
* The handler ignores events when the column cannot sort, and asks
|
|
286
|
+
* `options.isMultiSortEvent` whether the event should add to a multi-sort.
|
|
273
287
|
*
|
|
274
288
|
* @example
|
|
275
289
|
* ```ts
|
|
@@ -279,13 +293,10 @@ function column_clearSorting(column) {
|
|
|
279
293
|
function column_getToggleSortingHandler(column) {
|
|
280
294
|
const canSort = column_getCanSort(column);
|
|
281
295
|
return (e) => {
|
|
282
|
-
var _persist, _column$table$options, _column$table$options2;
|
|
283
296
|
if (!canSort) return;
|
|
284
|
-
(
|
|
285
|
-
column_toggleSorting(column, void 0, column_getCanMultiSort(column) ? (_column$table$options = (_column$table$options2 = column.table.options).isMultiSortEvent) === null || _column$table$options === void 0 ? void 0 : _column$table$options.call(_column$table$options2, e) : false);
|
|
297
|
+
column_toggleSorting(column, void 0, column_getCanMultiSort(column) ? column.table.options.isMultiSortEvent?.(e) : false);
|
|
286
298
|
};
|
|
287
299
|
}
|
|
288
300
|
|
|
289
301
|
//#endregion
|
|
290
|
-
export { column_clearSorting, column_getAutoSortDir, column_getAutoSortFn, column_getCanMultiSort, column_getCanSort, column_getFirstSortDir, column_getIsSorted, column_getNextSortingOrder, column_getSortFn, column_getSortIndex, column_getToggleSortingHandler, column_toggleSorting, getDefaultSortingState, table_resetSorting, table_setSorting };
|
|
291
|
-
//# sourceMappingURL=rowSortingFeature.utils.js.map
|
|
302
|
+
export { column_clearSorting, column_getAutoSortDir, column_getAutoSortFn, column_getCanMultiSort, column_getCanSort, column_getFirstSortDir, column_getIsSorted, column_getNextSortingOrder, column_getSortFn, column_getSortIndex, column_getToggleSortingHandler, column_toggleSorting, getDefaultSortingState, table_resetSorting, table_setSorting };
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { RowData } from "../../types/type-utils.js";
|
|
2
|
+
import { CreatedSortFn, SortFnDef } from "./rowSortingFeature.types.js";
|
|
3
|
+
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
4
|
+
//#region src/features/row-sorting/sortFns.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Regular expression used to split mixed text and numeric chunks.
|
|
7
|
+
*
|
|
8
|
+
* The alphanumeric sort functions use these chunks for natural sorting of
|
|
9
|
+
* strings like `item2` before `item10`.
|
|
10
|
+
*/
|
|
11
|
+
declare const reSplitAlphaNumeric: RegExp;
|
|
12
|
+
/**
|
|
13
|
+
* Builds a `SortFn` from a value-level comparator plus an optional
|
|
14
|
+
* `resolveDataValue` normalizer.
|
|
15
|
+
*
|
|
16
|
+
* The `sort` comparator receives both rows' data values, each already passed
|
|
17
|
+
* through `resolveDataValue` when one is defined. Keeping normalization in the
|
|
18
|
+
* resolver means a variant of an existing sorting function only has to swap
|
|
19
|
+
* the resolver, not re-implement the comparison.
|
|
20
|
+
*
|
|
21
|
+
* The definition is attached to the returned function, so a variant can be
|
|
22
|
+
* created by spreading a built-in sorting function and overriding what
|
|
23
|
+
* differs:
|
|
24
|
+
*
|
|
25
|
+
* ```ts
|
|
26
|
+
* const stripDiacritics = (value: string) =>
|
|
27
|
+
* value.normalize('NFD').replace(/\p{Diacritic}/gu, '')
|
|
28
|
+
*
|
|
29
|
+
* const alphanumericIgnoreDiacritics = constructSortFn({
|
|
30
|
+
* ...sortFn_alphanumeric,
|
|
31
|
+
* resolveDataValue: (value) =>
|
|
32
|
+
* stripDiacritics(sortFn_alphanumeric.resolveDataValue!(value)),
|
|
33
|
+
* })
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
declare function constructSortFn<TFeatures extends TableFeatures = any, TData extends RowData = any>(def: SortFnDef<TFeatures, TData>): CreatedSortFn<TFeatures, TData>;
|
|
37
|
+
/**
|
|
38
|
+
* Sorts rows with the built-in alphanumeric strategy.
|
|
39
|
+
*
|
|
40
|
+
* This comparator returns ascending-order results; descending order is applied by the sorting row model.
|
|
41
|
+
*/
|
|
42
|
+
declare const sortFn_alphanumeric: CreatedSortFn<any, any>;
|
|
43
|
+
/**
|
|
44
|
+
* Sorts rows with the built-in alphanumeric case sensitive strategy.
|
|
45
|
+
*
|
|
46
|
+
* This comparator returns ascending-order results; descending order is applied by the sorting row model.
|
|
47
|
+
*/
|
|
48
|
+
declare const sortFn_alphanumericCaseSensitive: CreatedSortFn<any, any>;
|
|
49
|
+
/**
|
|
50
|
+
* Sorts rows with the built-in text strategy.
|
|
51
|
+
*
|
|
52
|
+
* This comparator returns ascending-order results; descending order is applied by the sorting row model.
|
|
53
|
+
*/
|
|
54
|
+
declare const sortFn_text: CreatedSortFn<any, any>;
|
|
55
|
+
/**
|
|
56
|
+
* Sorts rows with the built-in text case sensitive strategy.
|
|
57
|
+
*
|
|
58
|
+
* This comparator returns ascending-order results; descending order is applied by the sorting row model.
|
|
59
|
+
*/
|
|
60
|
+
declare const sortFn_textCaseSensitive: CreatedSortFn<any, any>;
|
|
61
|
+
/**
|
|
62
|
+
* Sorts rows with the built-in datetime strategy.
|
|
63
|
+
*
|
|
64
|
+
* This comparator returns ascending-order results; descending order is applied by the sorting row model.
|
|
65
|
+
*/
|
|
66
|
+
declare const sortFn_datetime: CreatedSortFn<any, any>;
|
|
67
|
+
/**
|
|
68
|
+
* Sorts rows with the built-in basic strategy.
|
|
69
|
+
*
|
|
70
|
+
* This comparator returns ascending-order results; descending order is applied by the sorting row model.
|
|
71
|
+
*/
|
|
72
|
+
declare const sortFn_basic: CreatedSortFn<any, any>;
|
|
73
|
+
/**
|
|
74
|
+
* The built-in sorting function registry.
|
|
75
|
+
*
|
|
76
|
+
* Registering this full object opts out of tree-shaking: every built-in
|
|
77
|
+
* sorting function ends up in your bundle. Prefer importing the `sortFn_*`
|
|
78
|
+
* functions you actually use and registering just those in the `sortFns`
|
|
79
|
+
* slot, or passing them directly to the `sortFn` column option.
|
|
80
|
+
*
|
|
81
|
+
* @deprecated Import individual `sortFn_*` functions instead for a smaller
|
|
82
|
+
* bundle. This export still works and is not going away in v9, but built-in
|
|
83
|
+
* name resolution (including `sortFn: 'auto'`) only finds functions you
|
|
84
|
+
* register yourself.
|
|
85
|
+
*/
|
|
86
|
+
declare const sortFns: {
|
|
87
|
+
alphanumeric: CreatedSortFn<any, any>;
|
|
88
|
+
alphanumericCaseSensitive: CreatedSortFn<any, any>;
|
|
89
|
+
basic: CreatedSortFn<any, any>;
|
|
90
|
+
datetime: CreatedSortFn<any, any>;
|
|
91
|
+
text: CreatedSortFn<any, any>;
|
|
92
|
+
textCaseSensitive: CreatedSortFn<any, any>;
|
|
93
|
+
};
|
|
94
|
+
type BuiltInSortFn = keyof typeof sortFns;
|
|
95
|
+
//#endregion
|
|
96
|
+
export { BuiltInSortFn, constructSortFn, reSplitAlphaNumeric, sortFn_alphanumeric, sortFn_alphanumericCaseSensitive, sortFn_basic, sortFn_datetime, sortFn_text, sortFn_textCaseSensitive, sortFns };
|