@tanstack/table-core 9.0.0-beta.7 → 9.0.0-beta.71
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 +27 -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 +2 -2
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +61 -24
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +31 -22
- package/dist/features/row-sorting/rowSortingFeature.utils.js +51 -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 +12 -9
- package/dist/static-functions.js +12 -9
- 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
|
*/
|
|
@@ -109,6 +148,13 @@ interface Column_RowSorting<TFeatures extends TableFeatures, TData extends RowDa
|
|
|
109
148
|
toggleSorting: (desc?: boolean, isMulti?: boolean) => void;
|
|
110
149
|
}
|
|
111
150
|
interface TableOptions_RowSorting {
|
|
151
|
+
/**
|
|
152
|
+
* Resets sorting to its initial state when the `data` option changes.
|
|
153
|
+
*
|
|
154
|
+
* This is disabled by default. `autoResetAll` overrides this option when it
|
|
155
|
+
* is explicitly set.
|
|
156
|
+
*/
|
|
157
|
+
autoResetSorting?: boolean;
|
|
112
158
|
/**
|
|
113
159
|
* Allows multi-sort toggles to remove a column from sorting state.
|
|
114
160
|
*/
|
|
@@ -150,7 +196,7 @@ interface TableOptions_RowSorting {
|
|
|
150
196
|
*/
|
|
151
197
|
sortDescFirst?: boolean;
|
|
152
198
|
}
|
|
153
|
-
interface Table_RowSorting<
|
|
199
|
+
interface Table_RowSorting<in out _TFeatures extends TableFeatures, in out _TData extends RowData> {
|
|
154
200
|
/**
|
|
155
201
|
* Resets `sorting` to `initialState.sorting`.
|
|
156
202
|
*
|
|
@@ -162,7 +208,7 @@ interface Table_RowSorting<TFeatures extends TableFeatures, TData extends RowDat
|
|
|
162
208
|
*/
|
|
163
209
|
setSorting: (updater: Updater<SortingState>) => void;
|
|
164
210
|
}
|
|
165
|
-
interface Table_RowModels_Sorted<TFeatures extends TableFeatures, TData extends RowData> {
|
|
211
|
+
interface Table_RowModels_Sorted<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
166
212
|
/**
|
|
167
213
|
* Reads the row model immediately before sorting.
|
|
168
214
|
*/
|
|
@@ -172,17 +218,8 @@ interface Table_RowModels_Sorted<TFeatures extends TableFeatures, TData extends
|
|
|
172
218
|
*/
|
|
173
219
|
getSortedRowModel: () => RowModel<TFeatures, TData>;
|
|
174
220
|
}
|
|
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> {
|
|
221
|
+
interface CachedRowModel_Sorted<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
184
222
|
sortedRowModel: () => RowModel<TFeatures, TData>;
|
|
185
223
|
}
|
|
186
224
|
//#endregion
|
|
187
|
-
export { CachedRowModel_Sorted, ColumnDef_RowSorting, ColumnSort, Column_RowSorting,
|
|
188
|
-
//# sourceMappingURL=rowSortingFeature.types.d.ts.map
|
|
225
|
+
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,19 @@ 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;
|
|
44
|
+
/**
|
|
45
|
+
* Resets sorting after the table data changes when explicitly enabled.
|
|
46
|
+
*
|
|
47
|
+
* Unlike other auto-reset behaviors, sorting is preserved by default. An
|
|
48
|
+
* explicit `autoResetAll` value takes precedence over `autoResetSorting`.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* table_autoResetSorting(table)
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
declare function table_autoResetSorting<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): void;
|
|
45
56
|
/**
|
|
46
57
|
* Chooses a built-in sorting function from sampled filtered row values.
|
|
47
58
|
*
|
|
@@ -54,7 +65,7 @@ declare function table_resetSorting<TFeatures extends TableFeatures, TData exten
|
|
|
54
65
|
* const sortFn = column_getAutoSortFn(column)
|
|
55
66
|
* ```
|
|
56
67
|
*/
|
|
57
|
-
declare function column_getAutoSortFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
68
|
+
declare function column_getAutoSortFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): SortFn<TFeatures, TData>;
|
|
58
69
|
/**
|
|
59
70
|
* Chooses the default first sort direction from the first filtered row value.
|
|
60
71
|
*
|
|
@@ -66,7 +77,7 @@ declare function column_getAutoSortFn<TFeatures extends TableFeatures, TData ext
|
|
|
66
77
|
* const direction = column_getAutoSortDir(column)
|
|
67
78
|
* ```
|
|
68
79
|
*/
|
|
69
|
-
declare function column_getAutoSortDir<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
80
|
+
declare function column_getAutoSortDir<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): "asc" | "desc";
|
|
70
81
|
/**
|
|
71
82
|
* Resolves the sorting function configured for a column.
|
|
72
83
|
*
|
|
@@ -79,7 +90,7 @@ declare function column_getAutoSortDir<TFeatures extends TableFeatures, TData ex
|
|
|
79
90
|
* const sortFn = column_getSortFn(column)
|
|
80
91
|
* ```
|
|
81
92
|
*/
|
|
82
|
-
declare function column_getSortFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
93
|
+
declare function column_getSortFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): SortFn<TFeatures, TData>;
|
|
83
94
|
/**
|
|
84
95
|
* Applies the next sorting state for this column.
|
|
85
96
|
*
|
|
@@ -92,7 +103,7 @@ declare function column_getSortFn<TFeatures extends TableFeatures, TData extends
|
|
|
92
103
|
* column_toggleSorting(column, undefined, true)
|
|
93
104
|
* ```
|
|
94
105
|
*/
|
|
95
|
-
declare function column_toggleSorting<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
106
|
+
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
107
|
/**
|
|
97
108
|
* Resolves the first direction used when this column begins sorting.
|
|
98
109
|
*
|
|
@@ -104,7 +115,7 @@ declare function column_toggleSorting<TFeatures extends TableFeatures, TData ext
|
|
|
104
115
|
* const firstDirection = column_getFirstSortDir(column)
|
|
105
116
|
* ```
|
|
106
117
|
*/
|
|
107
|
-
declare function column_getFirstSortDir<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
118
|
+
declare function column_getFirstSortDir<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): "asc" | "desc";
|
|
108
119
|
/**
|
|
109
120
|
* Resolves the next sort order for this column's toggle cycle.
|
|
110
121
|
*
|
|
@@ -116,7 +127,7 @@ declare function column_getFirstSortDir<TFeatures extends TableFeatures, TData e
|
|
|
116
127
|
* const nextOrder = column_getNextSortingOrder(column)
|
|
117
128
|
* ```
|
|
118
129
|
*/
|
|
119
|
-
declare function column_getNextSortingOrder<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
130
|
+
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
131
|
/**
|
|
121
132
|
* Checks whether this accessor column can participate in sorting.
|
|
122
133
|
*
|
|
@@ -128,7 +139,7 @@ declare function column_getNextSortingOrder<TFeatures extends TableFeatures, TDa
|
|
|
128
139
|
* const canSort = column_getCanSort(column)
|
|
129
140
|
* ```
|
|
130
141
|
*/
|
|
131
|
-
declare function column_getCanSort<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
142
|
+
declare function column_getCanSort<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): boolean;
|
|
132
143
|
/**
|
|
133
144
|
* Checks whether this column can be added to a multi-sort state.
|
|
134
145
|
*
|
|
@@ -140,7 +151,7 @@ declare function column_getCanSort<TFeatures extends TableFeatures, TData extend
|
|
|
140
151
|
* const canMultiSort = column_getCanMultiSort(column)
|
|
141
152
|
* ```
|
|
142
153
|
*/
|
|
143
|
-
declare function column_getCanMultiSort<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
154
|
+
declare function column_getCanMultiSort<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): boolean;
|
|
144
155
|
/**
|
|
145
156
|
* Reads this column's current sort direction.
|
|
146
157
|
*
|
|
@@ -152,7 +163,7 @@ declare function column_getCanMultiSort<TFeatures extends TableFeatures, TData e
|
|
|
152
163
|
* const direction = column_getIsSorted(column)
|
|
153
164
|
* ```
|
|
154
165
|
*/
|
|
155
|
-
declare function column_getIsSorted<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
166
|
+
declare function column_getIsSorted<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): false | SortDirection;
|
|
156
167
|
/**
|
|
157
168
|
* Finds this column's position in the ordered `state.sorting` array.
|
|
158
169
|
*
|
|
@@ -163,7 +174,7 @@ declare function column_getIsSorted<TFeatures extends TableFeatures, TData exten
|
|
|
163
174
|
* const index = column_getSortIndex(column)
|
|
164
175
|
* ```
|
|
165
176
|
*/
|
|
166
|
-
declare function column_getSortIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
177
|
+
declare function column_getSortIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): number;
|
|
167
178
|
/**
|
|
168
179
|
* Removes this column from the sorting state.
|
|
169
180
|
*
|
|
@@ -174,20 +185,18 @@ declare function column_getSortIndex<TFeatures extends TableFeatures, TData exte
|
|
|
174
185
|
* column_clearSorting(column)
|
|
175
186
|
* ```
|
|
176
187
|
*/
|
|
177
|
-
declare function column_clearSorting<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
188
|
+
declare function column_clearSorting<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): void;
|
|
178
189
|
/**
|
|
179
190
|
* Creates a header event handler that toggles this column's sorting.
|
|
180
191
|
*
|
|
181
|
-
* The handler ignores events when the column cannot sort,
|
|
182
|
-
*
|
|
183
|
-
* the event should add to a multi-sort.
|
|
192
|
+
* The handler ignores events when the column cannot sort, and asks
|
|
193
|
+
* `options.isMultiSortEvent` whether the event should add to a multi-sort.
|
|
184
194
|
*
|
|
185
195
|
* @example
|
|
186
196
|
* ```ts
|
|
187
197
|
* const onClick = column_getToggleSortingHandler(column)
|
|
188
198
|
* ```
|
|
189
199
|
*/
|
|
190
|
-
declare function column_getToggleSortingHandler<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
200
|
+
declare function column_getToggleSortingHandler<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): (e: unknown) => void;
|
|
191
201
|
//#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
|
|
202
|
+
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_autoResetSorting, 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.
|
|
@@ -47,6 +46,21 @@ function table_resetSorting(table, defaultState) {
|
|
|
47
46
|
table_setSorting(table, defaultState ? [] : cloneState(table.initialState.sorting ?? []));
|
|
48
47
|
}
|
|
49
48
|
/**
|
|
49
|
+
* Resets sorting after the table data changes when explicitly enabled.
|
|
50
|
+
*
|
|
51
|
+
* Unlike other auto-reset behaviors, sorting is preserved by default. An
|
|
52
|
+
* explicit `autoResetAll` value takes precedence over `autoResetSorting`.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```ts
|
|
56
|
+
* table_autoResetSorting(table)
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
function table_autoResetSorting(table) {
|
|
60
|
+
if (!table.atoms.sorting) return;
|
|
61
|
+
if (table.options.autoResetAll ?? table.options.autoResetSorting ?? false) table_resetSorting(table);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
50
64
|
* Chooses a built-in sorting function from sampled filtered row values.
|
|
51
65
|
*
|
|
52
66
|
* Date-like values use `datetime`, mixed text/numeric strings use
|
|
@@ -61,20 +75,31 @@ function table_resetSorting(table, defaultState) {
|
|
|
61
75
|
function column_getAutoSortFn(column) {
|
|
62
76
|
const sortFns = column.table._rowModelFns.sortFns;
|
|
63
77
|
const firstRows = column.table.getFilteredRowModel().flatRows.slice(0, 10);
|
|
78
|
+
let sortFnName;
|
|
64
79
|
let isString = false;
|
|
65
80
|
for (let i = 0; i < firstRows.length; i++) {
|
|
66
81
|
const value = firstRows[i].getValue(column.id);
|
|
67
82
|
if (Object.prototype.toString.call(value) === "[object Date]") {
|
|
68
|
-
|
|
83
|
+
sortFnName = "datetime";
|
|
84
|
+
break;
|
|
69
85
|
}
|
|
70
86
|
if (typeof value === "string") {
|
|
71
87
|
isString = true;
|
|
72
88
|
if (value.split(reSplitAlphaNumeric).length > 1) {
|
|
73
|
-
|
|
89
|
+
sortFnName = "alphanumeric";
|
|
90
|
+
break;
|
|
74
91
|
}
|
|
75
92
|
}
|
|
76
93
|
}
|
|
77
|
-
if (isString)
|
|
94
|
+
if (!sortFnName && isString) sortFnName = "text";
|
|
95
|
+
if (sortFnName) {
|
|
96
|
+
let sortFn = sortFns?.[sortFnName];
|
|
97
|
+
if (!sortFn) {
|
|
98
|
+
if (process.env.NODE_ENV === "development") console.warn(`sortFn '${sortFnName}' (auto) for column '${column.id}' is not registered`);
|
|
99
|
+
if (sortFnName === "alphanumeric") sortFn = sortFns?.text;
|
|
100
|
+
}
|
|
101
|
+
if (sortFn) return sortFn;
|
|
102
|
+
}
|
|
78
103
|
return sortFn_basic;
|
|
79
104
|
}
|
|
80
105
|
/**
|
|
@@ -107,7 +132,11 @@ function column_getAutoSortDir(column) {
|
|
|
107
132
|
*/
|
|
108
133
|
function column_getSortFn(column) {
|
|
109
134
|
const sortFns = column.table._rowModelFns.sortFns;
|
|
110
|
-
|
|
135
|
+
if (isFunction(column.columnDef.sortFn)) return column.columnDef.sortFn;
|
|
136
|
+
if (column.columnDef.sortFn === "auto") return column_getAutoSortFn(column);
|
|
137
|
+
const sortFn = sortFns?.[column.columnDef.sortFn];
|
|
138
|
+
if (process.env.NODE_ENV === "development" && !sortFn) console.warn(`sortFn '${String(column.columnDef.sortFn)}' for column '${column.id}' is not registered`);
|
|
139
|
+
return sortFn ?? sortFn_basic;
|
|
111
140
|
}
|
|
112
141
|
/**
|
|
113
142
|
* Applies the next sorting state for this column.
|
|
@@ -125,14 +154,14 @@ function column_toggleSorting(column, desc, multi) {
|
|
|
125
154
|
const nextSortingOrder = column_getNextSortingOrder(column);
|
|
126
155
|
const hasManualValue = typeof desc !== "undefined";
|
|
127
156
|
table_setSorting(column.table, (old) => {
|
|
128
|
-
const existingSorting = old.find((d) => d.id === column.id);
|
|
129
157
|
const existingIndex = old.findIndex((d) => d.id === column.id);
|
|
158
|
+
const existingSorting = existingIndex === -1 ? void 0 : old[existingIndex];
|
|
130
159
|
let newSorting = [];
|
|
131
160
|
let sortAction;
|
|
132
161
|
const nextDesc = hasManualValue ? desc : nextSortingOrder === "desc";
|
|
133
|
-
|
|
162
|
+
const isMultiMode = !!(old.length && column_getCanMultiSort(column) && multi);
|
|
163
|
+
if (isMultiMode) if (existingSorting) sortAction = "toggle";
|
|
134
164
|
else sortAction = "add";
|
|
135
|
-
else if (old.length && existingIndex !== old.length - 1) sortAction = "replace";
|
|
136
165
|
else if (existingSorting) sortAction = "toggle";
|
|
137
166
|
else sortAction = "replace";
|
|
138
167
|
if (sortAction === "toggle") {
|
|
@@ -146,14 +175,17 @@ function column_toggleSorting(column, desc, multi) {
|
|
|
146
175
|
desc: nextDesc
|
|
147
176
|
}];
|
|
148
177
|
newSorting.splice(0, newSorting.length - (column.table.options.maxMultiSortColCount ?? Number.MAX_SAFE_INTEGER));
|
|
149
|
-
} else if (sortAction === "toggle") newSorting = old.map((d) => {
|
|
178
|
+
} else if (sortAction === "toggle") newSorting = isMultiMode ? old.map((d) => {
|
|
150
179
|
if (d.id === column.id) return {
|
|
151
180
|
...d,
|
|
152
181
|
desc: nextDesc
|
|
153
182
|
};
|
|
154
183
|
return d;
|
|
155
|
-
})
|
|
156
|
-
|
|
184
|
+
}) : [{
|
|
185
|
+
id: column.id,
|
|
186
|
+
desc: nextDesc
|
|
187
|
+
}];
|
|
188
|
+
else if (sortAction === "remove") newSorting = isMultiMode ? old.filter((d) => d.id !== column.id) : [];
|
|
157
189
|
else newSorting = [{
|
|
158
190
|
id: column.id,
|
|
159
191
|
desc: nextDesc
|
|
@@ -233,8 +265,7 @@ function column_getCanMultiSort(column) {
|
|
|
233
265
|
* ```
|
|
234
266
|
*/
|
|
235
267
|
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);
|
|
268
|
+
const columnSort = column.table.atoms.sorting?.get()?.find((d) => d.id === column.id);
|
|
238
269
|
return !columnSort ? false : columnSort.desc ? "desc" : "asc";
|
|
239
270
|
}
|
|
240
271
|
/**
|
|
@@ -248,8 +279,7 @@ function column_getIsSorted(column) {
|
|
|
248
279
|
* ```
|
|
249
280
|
*/
|
|
250
281
|
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;
|
|
282
|
+
return column.table.atoms.sorting?.get()?.findIndex((d) => d.id === column.id) ?? -1;
|
|
253
283
|
}
|
|
254
284
|
/**
|
|
255
285
|
* Removes this column from the sorting state.
|
|
@@ -267,9 +297,8 @@ function column_clearSorting(column) {
|
|
|
267
297
|
/**
|
|
268
298
|
* Creates a header event handler that toggles this column's sorting.
|
|
269
299
|
*
|
|
270
|
-
* The handler ignores events when the column cannot sort,
|
|
271
|
-
*
|
|
272
|
-
* the event should add to a multi-sort.
|
|
300
|
+
* The handler ignores events when the column cannot sort, and asks
|
|
301
|
+
* `options.isMultiSortEvent` whether the event should add to a multi-sort.
|
|
273
302
|
*
|
|
274
303
|
* @example
|
|
275
304
|
* ```ts
|
|
@@ -279,13 +308,10 @@ function column_clearSorting(column) {
|
|
|
279
308
|
function column_getToggleSortingHandler(column) {
|
|
280
309
|
const canSort = column_getCanSort(column);
|
|
281
310
|
return (e) => {
|
|
282
|
-
var _persist, _column$table$options, _column$table$options2;
|
|
283
311
|
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);
|
|
312
|
+
column_toggleSorting(column, void 0, column_getCanMultiSort(column) ? column.table.options.isMultiSortEvent?.(e) : false);
|
|
286
313
|
};
|
|
287
314
|
}
|
|
288
315
|
|
|
289
316
|
//#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
|
|
317
|
+
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_autoResetSorting, 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 };
|