@tanstack/table-core 9.0.0-beta.9 → 9.0.1
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 +27 -9
- 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 +2 -4
- package/dist/core/columns/coreColumnsFeature.js +14 -21
- 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 +2 -2
- 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 +22 -12
- 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 +29 -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 +43 -11
- 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 +54 -22
- 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 +41 -24
- package/dist/core/table/coreTablesFeature.utils.d.ts +34 -12
- package/dist/core/table/coreTablesFeature.utils.js +71 -25
- 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 +879 -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 +7 -3
- package/dist/features/column-faceting/columnFacetingFeature.js +14 -43
- 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 +29 -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 +90 -33
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +25 -18
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +42 -23
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -7
- package/dist/features/column-filtering/createFilteredRowModel.js +34 -30
- package/dist/features/column-filtering/filterFns.d.ts +210 -0
- package/dist/features/column-filtering/filterFns.js +377 -0
- package/dist/features/column-filtering/filterRowsUtils.js +12 -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 +79 -43
- 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 +22 -20
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +39 -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 +67 -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 +7 -18
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +26 -22
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +66 -45
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +3 -5
- package/dist/features/row-pagination/createPaginatedRowModel.js +10 -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 +6 -17
- 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 +12 -18
- package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -3
- package/dist/features/row-selection/rowSelectionFeature.js +70 -25
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +69 -16
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +70 -38
- package/dist/features/row-selection/rowSelectionFeature.utils.js +229 -108
- package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -7
- package/dist/features/row-sorting/createSortedRowModel.js +72 -54
- 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 +74 -31
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +39 -27
- package/dist/features/row-sorting/rowSortingFeature.utils.js +66 -33
- 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 +1 -2
- package/dist/helpers/metaHelper.js +1 -2
- package/dist/helpers/tableFeatures.d.ts +30 -13
- package/dist/helpers/tableFeatures.js +28 -10
- package/dist/helpers/tableOptions.d.ts +1 -3
- package/dist/helpers/tableOptions.js +1 -2
- package/dist/index.d.ts +32 -26
- package/dist/index.js +9 -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 +13 -10
- package/dist/store-reactivity-bindings.d.ts +1 -3
- package/dist/store-reactivity-bindings.js +3 -4
- package/dist/types/Cell.d.ts +9 -5
- package/dist/types/Column.d.ts +13 -15
- package/dist/types/ColumnDef.d.ts +23 -19
- 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 +372 -30
- 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 +42 -27
- package/dist/utils.js +71 -33
- package/dist/worker/createTableWorker.d.ts +102 -0
- package/dist/worker/createTableWorker.js +188 -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 +137 -0
- package/skills/api-not-found/SKILL.md +113 -0
- package/skills/cell-selection/SKILL.md +200 -0
- package/skills/cell-spanning/SKILL.md +158 -0
- package/skills/client-vs-server/SKILL.md +164 -0
- package/skills/column-faceting/SKILL.md +93 -0
- package/skills/column-filtering/SKILL.md +83 -0
- package/skills/column-ordering/SKILL.md +71 -0
- package/skills/column-pinning/SKILL.md +85 -0
- package/skills/column-resizing/SKILL.md +87 -0
- package/skills/column-sizing/SKILL.md +68 -0
- package/skills/column-visibility/SKILL.md +71 -0
- package/skills/core/SKILL.md +175 -0
- package/skills/custom-features/SKILL.md +235 -0
- package/skills/expanding/SKILL.md +76 -0
- package/skills/global-filtering/SKILL.md +80 -0
- package/skills/grouping/SKILL.md +47 -401
- package/skills/migrate-v8-to-v9/SKILL.md +275 -416
- package/skills/pagination/SKILL.md +33 -344
- package/skills/row-pinning/SKILL.md +43 -234
- package/skills/row-selection/SKILL.md +79 -296
- package/skills/sorting/SKILL.md +41 -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 -119
- 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 -200
- 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 -518
- 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/metaHelper.cjs +0 -30
- package/dist/helpers/metaHelper.cjs.map +0 -1
- package/dist/helpers/metaHelper.d.cts +0 -26
- package/dist/helpers/metaHelper.js.map +0 -1
- package/dist/helpers/tableFeatures.cjs +0 -30
- package/dist/helpers/tableFeatures.cjs.map +0 -1
- package/dist/helpers/tableFeatures.d.cts +0 -28
- 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 -135
- package/dist/index.d.cts +0 -79
- 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 -123
- 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 -75
- 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 -179
- package/src/core/table/coreTablesFeature.ts +0 -19
- package/src/core/table/coreTablesFeature.types.ts +0 -237
- 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 -750
- 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/metaHelper.ts +0 -24
- package/src/helpers/tableFeatures.ts +0 -34
- package/src/helpers/tableOptions.ts +0 -117
- package/src/index.ts +0 -139
- 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 -254
- 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 -123
- package/src/types/TableOptions.ts +0 -104
- package/src/types/TableState.ts +0 -47
- package/src/types/type-utils.ts +0 -84
- package/src/utils.ts +0 -441
|
@@ -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,27 +75,41 @@ 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
|
/**
|
|
81
|
-
* Chooses the default first sort direction from
|
|
106
|
+
* Chooses the default first sort direction from sampled filtered row values.
|
|
82
107
|
*
|
|
83
|
-
*
|
|
84
|
-
* types
|
|
108
|
+
* The first non-nullish value among the sampled rows decides: string columns
|
|
109
|
+
* start ascending so alphabetical order is natural; other value types (or
|
|
110
|
+
* columns with no non-nullish sample) start descending. Sampling past leading
|
|
111
|
+
* nullish values keeps the toggle cycle stable when sorting or a data swap
|
|
112
|
+
* moves an empty value into the first row.
|
|
85
113
|
*
|
|
86
114
|
* @example
|
|
87
115
|
* ```ts
|
|
@@ -89,8 +117,12 @@ function column_getAutoSortFn(column) {
|
|
|
89
117
|
* ```
|
|
90
118
|
*/
|
|
91
119
|
function column_getAutoSortDir(column) {
|
|
92
|
-
const
|
|
93
|
-
|
|
120
|
+
const firstRows = column.table.getFilteredRowModel().flatRows.slice(0, 10);
|
|
121
|
+
for (let i = 0; i < firstRows.length; i++) {
|
|
122
|
+
const value = firstRows[i].getValue(column.id);
|
|
123
|
+
if (value == null) continue;
|
|
124
|
+
return typeof value === "string" ? "asc" : "desc";
|
|
125
|
+
}
|
|
94
126
|
return "desc";
|
|
95
127
|
}
|
|
96
128
|
/**
|
|
@@ -107,14 +139,18 @@ function column_getAutoSortDir(column) {
|
|
|
107
139
|
*/
|
|
108
140
|
function column_getSortFn(column) {
|
|
109
141
|
const sortFns = column.table._rowModelFns.sortFns;
|
|
110
|
-
|
|
142
|
+
if (isFunction(column.columnDef.sortFn)) return column.columnDef.sortFn;
|
|
143
|
+
if (column.columnDef.sortFn === "auto") return column_getAutoSortFn(column);
|
|
144
|
+
const sortFn = sortFns?.[column.columnDef.sortFn];
|
|
145
|
+
if (process.env.NODE_ENV === "development" && !sortFn) console.warn(`sortFn '${String(column.columnDef.sortFn)}' for column '${column.id}' is not registered`);
|
|
146
|
+
return sortFn ?? sortFn_basic;
|
|
111
147
|
}
|
|
112
148
|
/**
|
|
113
149
|
* Applies the next sorting state for this column.
|
|
114
150
|
*
|
|
115
151
|
* The toggle can add, replace, flip, or remove this column's sort entry. Multi
|
|
116
|
-
* sorting respects `enableMultiSort`, `
|
|
117
|
-
* argument.
|
|
152
|
+
* sorting respects `enableMultiSort`, `enableMultiRemove`,
|
|
153
|
+
* `maxMultiSortColCount`, and the `multi` argument.
|
|
118
154
|
*
|
|
119
155
|
* @example
|
|
120
156
|
* ```ts
|
|
@@ -122,17 +158,17 @@ function column_getSortFn(column) {
|
|
|
122
158
|
* ```
|
|
123
159
|
*/
|
|
124
160
|
function column_toggleSorting(column, desc, multi) {
|
|
125
|
-
const nextSortingOrder = column_getNextSortingOrder(column);
|
|
161
|
+
const nextSortingOrder = column_getNextSortingOrder(column, multi && column_getCanMultiSort(column));
|
|
126
162
|
const hasManualValue = typeof desc !== "undefined";
|
|
127
163
|
table_setSorting(column.table, (old) => {
|
|
128
|
-
const existingSorting = old.find((d) => d.id === column.id);
|
|
129
164
|
const existingIndex = old.findIndex((d) => d.id === column.id);
|
|
165
|
+
const existingSorting = existingIndex === -1 ? void 0 : old[existingIndex];
|
|
130
166
|
let newSorting = [];
|
|
131
167
|
let sortAction;
|
|
132
168
|
const nextDesc = hasManualValue ? desc : nextSortingOrder === "desc";
|
|
133
|
-
|
|
169
|
+
const isMultiMode = !!(old.length && column_getCanMultiSort(column) && multi);
|
|
170
|
+
if (isMultiMode) if (existingSorting) sortAction = "toggle";
|
|
134
171
|
else sortAction = "add";
|
|
135
|
-
else if (old.length && existingIndex !== old.length - 1) sortAction = "replace";
|
|
136
172
|
else if (existingSorting) sortAction = "toggle";
|
|
137
173
|
else sortAction = "replace";
|
|
138
174
|
if (sortAction === "toggle") {
|
|
@@ -146,14 +182,17 @@ function column_toggleSorting(column, desc, multi) {
|
|
|
146
182
|
desc: nextDesc
|
|
147
183
|
}];
|
|
148
184
|
newSorting.splice(0, newSorting.length - (column.table.options.maxMultiSortColCount ?? Number.MAX_SAFE_INTEGER));
|
|
149
|
-
} else if (sortAction === "toggle") newSorting = old.map((d) => {
|
|
185
|
+
} else if (sortAction === "toggle") newSorting = isMultiMode ? old.map((d) => {
|
|
150
186
|
if (d.id === column.id) return {
|
|
151
187
|
...d,
|
|
152
188
|
desc: nextDesc
|
|
153
189
|
};
|
|
154
190
|
return d;
|
|
155
|
-
})
|
|
156
|
-
|
|
191
|
+
}) : [{
|
|
192
|
+
id: column.id,
|
|
193
|
+
desc: nextDesc
|
|
194
|
+
}];
|
|
195
|
+
else if (sortAction === "remove") newSorting = isMultiMode ? old.filter((d) => d.id !== column.id) : [];
|
|
157
196
|
else newSorting = [{
|
|
158
197
|
id: column.id,
|
|
159
198
|
desc: nextDesc
|
|
@@ -233,8 +272,7 @@ function column_getCanMultiSort(column) {
|
|
|
233
272
|
* ```
|
|
234
273
|
*/
|
|
235
274
|
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);
|
|
275
|
+
const columnSort = column.table.atoms.sorting?.get()?.find((d) => d.id === column.id);
|
|
238
276
|
return !columnSort ? false : columnSort.desc ? "desc" : "asc";
|
|
239
277
|
}
|
|
240
278
|
/**
|
|
@@ -248,8 +286,7 @@ function column_getIsSorted(column) {
|
|
|
248
286
|
* ```
|
|
249
287
|
*/
|
|
250
288
|
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;
|
|
289
|
+
return column.table.atoms.sorting?.get()?.findIndex((d) => d.id === column.id) ?? -1;
|
|
253
290
|
}
|
|
254
291
|
/**
|
|
255
292
|
* Removes this column from the sorting state.
|
|
@@ -267,9 +304,8 @@ function column_clearSorting(column) {
|
|
|
267
304
|
/**
|
|
268
305
|
* Creates a header event handler that toggles this column's sorting.
|
|
269
306
|
*
|
|
270
|
-
* The handler ignores events when the column cannot sort,
|
|
271
|
-
*
|
|
272
|
-
* the event should add to a multi-sort.
|
|
307
|
+
* The handler ignores events when the column cannot sort, and asks
|
|
308
|
+
* `options.isMultiSortEvent` whether the event should add to a multi-sort.
|
|
273
309
|
*
|
|
274
310
|
* @example
|
|
275
311
|
* ```ts
|
|
@@ -279,13 +315,10 @@ function column_clearSorting(column) {
|
|
|
279
315
|
function column_getToggleSortingHandler(column) {
|
|
280
316
|
const canSort = column_getCanSort(column);
|
|
281
317
|
return (e) => {
|
|
282
|
-
var _persist, _column$table$options, _column$table$options2;
|
|
283
318
|
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);
|
|
319
|
+
column_toggleSorting(column, void 0, column_getCanMultiSort(column) ? column.table.options.isMultiSortEvent?.(e) : false);
|
|
286
320
|
};
|
|
287
321
|
}
|
|
288
322
|
|
|
289
323
|
//#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
|
|
324
|
+
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 };
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
//#region src/features/row-sorting/sortFns.ts
|
|
2
|
+
/**
|
|
3
|
+
* Regular expression used to split mixed text and numeric chunks.
|
|
4
|
+
*
|
|
5
|
+
* The alphanumeric sort functions use these chunks for natural sorting of
|
|
6
|
+
* strings like `item2` before `item10`.
|
|
7
|
+
*/
|
|
8
|
+
const reSplitAlphaNumeric = /([0-9]+)/gm;
|
|
9
|
+
/**
|
|
10
|
+
* Builds a `SortFn` from a value-level comparator plus an optional
|
|
11
|
+
* `resolveDataValue` normalizer.
|
|
12
|
+
*
|
|
13
|
+
* The `sort` comparator receives both rows' data values, each already passed
|
|
14
|
+
* through `resolveDataValue` when one is defined. Keeping normalization in the
|
|
15
|
+
* resolver means a variant of an existing sorting function only has to swap
|
|
16
|
+
* the resolver, not re-implement the comparison.
|
|
17
|
+
*
|
|
18
|
+
* The definition is attached to the returned function, so a variant can be
|
|
19
|
+
* created by spreading a built-in sorting function and overriding what
|
|
20
|
+
* differs:
|
|
21
|
+
*
|
|
22
|
+
* ```ts
|
|
23
|
+
* const stripDiacritics = (value: string) =>
|
|
24
|
+
* value.normalize('NFD').replace(/\p{Diacritic}/gu, '')
|
|
25
|
+
*
|
|
26
|
+
* const alphanumericIgnoreDiacritics = constructSortFn({
|
|
27
|
+
* ...sortFn_alphanumeric,
|
|
28
|
+
* resolveDataValue: (value) =>
|
|
29
|
+
* stripDiacritics(sortFn_alphanumeric.resolveDataValue!(value)),
|
|
30
|
+
* })
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
function constructSortFn(def) {
|
|
34
|
+
const sortFn = Object.assign((rowA, rowB, columnId) => {
|
|
35
|
+
let dataValueA = rowA.getValue(columnId);
|
|
36
|
+
let dataValueB = rowB.getValue(columnId);
|
|
37
|
+
const resolveDataValue = sortFn.resolveDataValue;
|
|
38
|
+
if (resolveDataValue) {
|
|
39
|
+
dataValueA = resolveDataValue(dataValueA);
|
|
40
|
+
dataValueB = resolveDataValue(dataValueB);
|
|
41
|
+
}
|
|
42
|
+
return sortFn.sort(dataValueA, dataValueB, rowA, rowB, columnId);
|
|
43
|
+
}, def);
|
|
44
|
+
return sortFn;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Sorts rows with the built-in alphanumeric strategy.
|
|
48
|
+
*
|
|
49
|
+
* This comparator returns ascending-order results; descending order is applied by the sorting row model.
|
|
50
|
+
*/
|
|
51
|
+
const sortFn_alphanumeric = constructSortFn({
|
|
52
|
+
resolveDataValue: (dataValue) => toString(dataValue).toLowerCase(),
|
|
53
|
+
sort: (dataValueA, dataValueB) => compareAlphanumeric(dataValueA, dataValueB)
|
|
54
|
+
});
|
|
55
|
+
/**
|
|
56
|
+
* Sorts rows with the built-in alphanumeric case sensitive strategy.
|
|
57
|
+
*
|
|
58
|
+
* This comparator returns ascending-order results; descending order is applied by the sorting row model.
|
|
59
|
+
*/
|
|
60
|
+
const sortFn_alphanumericCaseSensitive = constructSortFn({
|
|
61
|
+
resolveDataValue: (dataValue) => toString(dataValue),
|
|
62
|
+
sort: (dataValueA, dataValueB) => compareAlphanumeric(dataValueA, dataValueB)
|
|
63
|
+
});
|
|
64
|
+
/**
|
|
65
|
+
* Sorts rows with the built-in text strategy.
|
|
66
|
+
*
|
|
67
|
+
* This comparator returns ascending-order results; descending order is applied by the sorting row model.
|
|
68
|
+
*/
|
|
69
|
+
const sortFn_text = constructSortFn({
|
|
70
|
+
resolveDataValue: (dataValue) => toString(dataValue).toLowerCase(),
|
|
71
|
+
sort: (dataValueA, dataValueB) => compareBasic(dataValueA, dataValueB)
|
|
72
|
+
});
|
|
73
|
+
/**
|
|
74
|
+
* Sorts rows with the built-in text case sensitive strategy.
|
|
75
|
+
*
|
|
76
|
+
* This comparator returns ascending-order results; descending order is applied by the sorting row model.
|
|
77
|
+
*/
|
|
78
|
+
const sortFn_textCaseSensitive = constructSortFn({
|
|
79
|
+
resolveDataValue: (dataValue) => toString(dataValue),
|
|
80
|
+
sort: (dataValueA, dataValueB) => compareBasic(dataValueA, dataValueB)
|
|
81
|
+
});
|
|
82
|
+
/**
|
|
83
|
+
* Sorts rows with the built-in datetime strategy.
|
|
84
|
+
*
|
|
85
|
+
* This comparator returns ascending-order results; descending order is applied by the sorting row model.
|
|
86
|
+
*/
|
|
87
|
+
const sortFn_datetime = constructSortFn({
|
|
88
|
+
resolveDataValue: (dataValue) => toDateSortValue(dataValue),
|
|
89
|
+
sort: (dataValueA, dataValueB) => dataValueA > dataValueB ? 1 : dataValueA < dataValueB ? -1 : 0
|
|
90
|
+
});
|
|
91
|
+
/**
|
|
92
|
+
* Sorts rows with the built-in basic strategy.
|
|
93
|
+
*
|
|
94
|
+
* This comparator returns ascending-order results; descending order is applied by the sorting row model.
|
|
95
|
+
*/
|
|
96
|
+
const sortFn_basic = constructSortFn({ sort: (dataValueA, dataValueB) => compareBasic(dataValueA, dataValueB) });
|
|
97
|
+
function compareBasic(a, b) {
|
|
98
|
+
return a === b ? 0 : a > b ? 1 : -1;
|
|
99
|
+
}
|
|
100
|
+
function toDateSortValue(value) {
|
|
101
|
+
return value instanceof Date ? value.getTime() : value;
|
|
102
|
+
}
|
|
103
|
+
function toString(a) {
|
|
104
|
+
if (typeof a === "number") {
|
|
105
|
+
if (isNaN(a) || a === Infinity || a === -Infinity) return "";
|
|
106
|
+
return String(a);
|
|
107
|
+
}
|
|
108
|
+
if (typeof a === "string") return a;
|
|
109
|
+
return "";
|
|
110
|
+
}
|
|
111
|
+
function compareAlphanumeric(aStr, bStr) {
|
|
112
|
+
let ai = 0;
|
|
113
|
+
let bi = 0;
|
|
114
|
+
const aLen = aStr.length;
|
|
115
|
+
const bLen = bStr.length;
|
|
116
|
+
while (ai < aLen && bi < bLen) {
|
|
117
|
+
const aIsNumeric = isDigit(aStr.charCodeAt(ai));
|
|
118
|
+
const bIsNumeric = isDigit(bStr.charCodeAt(bi));
|
|
119
|
+
const aEnd = findChunkEnd(aStr, ai, aIsNumeric);
|
|
120
|
+
const bEnd = findChunkEnd(bStr, bi, bIsNumeric);
|
|
121
|
+
if (!aIsNumeric && !bIsNumeric) {
|
|
122
|
+
const stringComparison = compareStringChunks(aStr, ai, aEnd, bStr, bi, bEnd);
|
|
123
|
+
if (stringComparison) return stringComparison;
|
|
124
|
+
ai = aEnd;
|
|
125
|
+
bi = bEnd;
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
if (aIsNumeric !== bIsNumeric) return aIsNumeric ? 1 : -1;
|
|
129
|
+
const numericComparison = compareNumericChunks(aStr, ai, aEnd, bStr, bi, bEnd);
|
|
130
|
+
if (numericComparison) return numericComparison;
|
|
131
|
+
ai = aEnd;
|
|
132
|
+
bi = bEnd;
|
|
133
|
+
}
|
|
134
|
+
return countRemainingChunks(aStr, ai) - countRemainingChunks(bStr, bi);
|
|
135
|
+
}
|
|
136
|
+
function isDigit(charCode) {
|
|
137
|
+
return charCode >= 48 && charCode <= 57;
|
|
138
|
+
}
|
|
139
|
+
function findChunkEnd(str, start, isNumeric) {
|
|
140
|
+
let end = start + 1;
|
|
141
|
+
while (end < str.length && isDigit(str.charCodeAt(end)) === isNumeric) end++;
|
|
142
|
+
return end;
|
|
143
|
+
}
|
|
144
|
+
function compareStringChunks(aStr, aStart, aEnd, bStr, bStart, bEnd) {
|
|
145
|
+
const aLength = aEnd - aStart;
|
|
146
|
+
const bLength = bEnd - bStart;
|
|
147
|
+
const minLength = aLength < bLength ? aLength : bLength;
|
|
148
|
+
for (let i = 0; i < minLength; i++) {
|
|
149
|
+
const aCode = aStr.charCodeAt(aStart + i);
|
|
150
|
+
const bCode = bStr.charCodeAt(bStart + i);
|
|
151
|
+
if (aCode > bCode) return 1;
|
|
152
|
+
if (bCode > aCode) return -1;
|
|
153
|
+
}
|
|
154
|
+
if (aLength > bLength) return 1;
|
|
155
|
+
if (bLength > aLength) return -1;
|
|
156
|
+
return 0;
|
|
157
|
+
}
|
|
158
|
+
function compareNumericChunks(aStr, aStart, aEnd, bStr, bStart, bEnd) {
|
|
159
|
+
let aSignificantStart = aStart;
|
|
160
|
+
while (aSignificantStart < aEnd && aStr.charCodeAt(aSignificantStart) === 48) aSignificantStart++;
|
|
161
|
+
let bSignificantStart = bStart;
|
|
162
|
+
while (bSignificantStart < bEnd && bStr.charCodeAt(bSignificantStart) === 48) bSignificantStart++;
|
|
163
|
+
const aSignificantLength = aEnd - aSignificantStart;
|
|
164
|
+
const bSignificantLength = bEnd - bSignificantStart;
|
|
165
|
+
if (aSignificantLength === 0 && bSignificantLength === 0) return 0;
|
|
166
|
+
if (aSignificantLength <= 15 && bSignificantLength <= 15) {
|
|
167
|
+
const an = parseSmallInt(aStr, aSignificantStart, aEnd);
|
|
168
|
+
const bn = parseSmallInt(bStr, bSignificantStart, bEnd);
|
|
169
|
+
if (an > bn) return 1;
|
|
170
|
+
if (bn > an) return -1;
|
|
171
|
+
return 0;
|
|
172
|
+
}
|
|
173
|
+
const an = parseInt(aStr.slice(aStart, aEnd), 10);
|
|
174
|
+
const bn = parseInt(bStr.slice(bStart, bEnd), 10);
|
|
175
|
+
if (an > bn) return 1;
|
|
176
|
+
if (bn > an) return -1;
|
|
177
|
+
return 0;
|
|
178
|
+
}
|
|
179
|
+
function parseSmallInt(str, start, end) {
|
|
180
|
+
let result = 0;
|
|
181
|
+
for (let i = start; i < end; i++) result = result * 10 + str.charCodeAt(i) - 48;
|
|
182
|
+
return result;
|
|
183
|
+
}
|
|
184
|
+
function countRemainingChunks(str, start) {
|
|
185
|
+
let count = 0;
|
|
186
|
+
let index = start;
|
|
187
|
+
while (index < str.length) {
|
|
188
|
+
count++;
|
|
189
|
+
index = findChunkEnd(str, index, isDigit(str.charCodeAt(index)));
|
|
190
|
+
}
|
|
191
|
+
return count;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* The built-in sorting function registry.
|
|
195
|
+
*
|
|
196
|
+
* Registering this full object opts out of tree-shaking: every built-in
|
|
197
|
+
* sorting function ends up in your bundle. Prefer importing the `sortFn_*`
|
|
198
|
+
* functions you actually use and registering just those in the `sortFns`
|
|
199
|
+
* slot, or passing them directly to the `sortFn` column option.
|
|
200
|
+
*
|
|
201
|
+
* @deprecated Import individual `sortFn_*` functions instead for a smaller
|
|
202
|
+
* bundle. This export still works and is not going away in v9, but built-in
|
|
203
|
+
* name resolution (including `sortFn: 'auto'`) only finds functions you
|
|
204
|
+
* register yourself.
|
|
205
|
+
*/
|
|
206
|
+
const sortFns = {
|
|
207
|
+
alphanumeric: sortFn_alphanumeric,
|
|
208
|
+
alphanumericCaseSensitive: sortFn_alphanumericCaseSensitive,
|
|
209
|
+
basic: sortFn_basic,
|
|
210
|
+
datetime: sortFn_datetime,
|
|
211
|
+
text: sortFn_text,
|
|
212
|
+
textCaseSensitive: sortFn_textCaseSensitive
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
//#endregion
|
|
216
|
+
export { constructSortFn, reSplitAlphaNumeric, sortFn_alphanumeric, sortFn_alphanumericCaseSensitive, sortFn_basic, sortFn_datetime, sortFn_text, sortFn_textCaseSensitive, sortFns };
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import { cellSelectionFeature } from "./cell-selection/cellSelectionFeature.js";
|
|
2
|
+
import { cellSpanningFeature } from "./cell-spanning/cellSpanningFeature.js";
|
|
1
3
|
import { columnFacetingFeature } from "./column-faceting/columnFacetingFeature.js";
|
|
4
|
+
import { rowAggregationFeature } from "./row-aggregation/rowAggregationFeature.js";
|
|
2
5
|
import { columnFilteringFeature } from "./column-filtering/columnFilteringFeature.js";
|
|
3
6
|
import { columnGroupingFeature } from "./column-grouping/columnGroupingFeature.js";
|
|
4
7
|
import { columnOrderingFeature } from "./column-ordering/columnOrderingFeature.js";
|
|
@@ -12,9 +15,10 @@ import { rowPaginationFeature } from "./row-pagination/rowPaginationFeature.js";
|
|
|
12
15
|
import { rowPinningFeature } from "./row-pinning/rowPinningFeature.js";
|
|
13
16
|
import { rowSelectionFeature } from "./row-selection/rowSelectionFeature.js";
|
|
14
17
|
import { rowSortingFeature } from "./row-sorting/rowSortingFeature.js";
|
|
15
|
-
|
|
16
18
|
//#region src/features/stockFeatures.d.ts
|
|
17
19
|
interface StockFeatures {
|
|
20
|
+
cellSelectionFeature: typeof cellSelectionFeature;
|
|
21
|
+
cellSpanningFeature: typeof cellSpanningFeature;
|
|
18
22
|
columnFacetingFeature: typeof columnFacetingFeature;
|
|
19
23
|
columnFilteringFeature: typeof columnFilteringFeature;
|
|
20
24
|
columnGroupingFeature: typeof columnGroupingFeature;
|
|
@@ -24,6 +28,7 @@ interface StockFeatures {
|
|
|
24
28
|
columnSizingFeature: typeof columnSizingFeature;
|
|
25
29
|
columnVisibilityFeature: typeof columnVisibilityFeature;
|
|
26
30
|
globalFilteringFeature: typeof globalFilteringFeature;
|
|
31
|
+
rowAggregationFeature: typeof rowAggregationFeature;
|
|
27
32
|
rowExpandingFeature: typeof rowExpandingFeature;
|
|
28
33
|
rowPaginationFeature: typeof rowPaginationFeature;
|
|
29
34
|
rowPinningFeature: typeof rowPinningFeature;
|
|
@@ -37,5 +42,4 @@ interface StockFeatures {
|
|
|
37
42
|
*/
|
|
38
43
|
declare const stockFeatures: StockFeatures;
|
|
39
44
|
//#endregion
|
|
40
|
-
export { StockFeatures, stockFeatures };
|
|
41
|
-
//# sourceMappingURL=stockFeatures.d.ts.map
|
|
45
|
+
export { StockFeatures, stockFeatures };
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import { cellSelectionFeature } from "./cell-selection/cellSelectionFeature.js";
|
|
2
|
+
import { cellSpanningFeature } from "./cell-spanning/cellSpanningFeature.js";
|
|
1
3
|
import { columnFacetingFeature } from "./column-faceting/columnFacetingFeature.js";
|
|
4
|
+
import { rowAggregationFeature } from "./row-aggregation/rowAggregationFeature.js";
|
|
2
5
|
import { columnFilteringFeature } from "./column-filtering/columnFilteringFeature.js";
|
|
3
6
|
import { columnGroupingFeature } from "./column-grouping/columnGroupingFeature.js";
|
|
4
7
|
import { columnOrderingFeature } from "./column-ordering/columnOrderingFeature.js";
|
|
@@ -20,6 +23,8 @@ import { rowSortingFeature } from "./row-sorting/rowSortingFeature.js";
|
|
|
20
23
|
* Use individual feature exports for tree-shaking, or this aggregate when a table should include every built-in feature.
|
|
21
24
|
*/
|
|
22
25
|
const stockFeatures = {
|
|
26
|
+
cellSelectionFeature,
|
|
27
|
+
cellSpanningFeature,
|
|
23
28
|
columnFacetingFeature,
|
|
24
29
|
columnFilteringFeature,
|
|
25
30
|
columnGroupingFeature,
|
|
@@ -29,6 +34,7 @@ const stockFeatures = {
|
|
|
29
34
|
columnSizingFeature,
|
|
30
35
|
columnVisibilityFeature,
|
|
31
36
|
globalFilteringFeature,
|
|
37
|
+
rowAggregationFeature,
|
|
32
38
|
rowExpandingFeature,
|
|
33
39
|
rowPaginationFeature,
|
|
34
40
|
rowPinningFeature,
|
|
@@ -37,5 +43,4 @@ const stockFeatures = {
|
|
|
37
43
|
};
|
|
38
44
|
|
|
39
45
|
//#endregion
|
|
40
|
-
export { stockFeatures };
|
|
41
|
-
//# sourceMappingURL=stockFeatures.js.map
|
|
46
|
+
export { stockFeatures };
|
package/dist/flex-render.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { CellData, RowData } from "./types/type-utils.js";
|
|
2
2
|
import { Header } from "./types/Header.js";
|
|
3
|
-
import { TableFeatures } from "./types/TableFeatures.js";
|
|
4
3
|
import { Cell } from "./types/Cell.js";
|
|
5
|
-
|
|
4
|
+
import { TableFeatures } from "./types/TableFeatures.js";
|
|
6
5
|
//#region src/flex-render.d.ts
|
|
7
6
|
/**
|
|
8
7
|
* Renders a static value or render function with the provided props.
|
|
@@ -30,5 +29,4 @@ type FlexRenderProps<TFeatures extends TableFeatures, TData extends RowData, TVa
|
|
|
30
29
|
*/
|
|
31
30
|
declare function FlexRender<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(props: FlexRenderProps<TFeatures, TData, TValue>): unknown | null;
|
|
32
31
|
//#endregion
|
|
33
|
-
export { FlexRender, FlexRenderProps, flexRender };
|
|
34
|
-
//# sourceMappingURL=flex-render.d.ts.map
|
|
32
|
+
export { FlexRender, FlexRenderProps, flexRender };
|
package/dist/flex-render.js
CHANGED
|
@@ -15,12 +15,19 @@ function flexRender(comp, props) {
|
|
|
15
15
|
* Framework adapters use this helper to support column definitions that contain either plain values or template functions.
|
|
16
16
|
*/
|
|
17
17
|
function FlexRender(props) {
|
|
18
|
-
if ("cell" in props && props.cell)
|
|
18
|
+
if ("cell" in props && props.cell) {
|
|
19
|
+
const cell = props.cell;
|
|
20
|
+
const def = cell.column.columnDef;
|
|
21
|
+
const groupingCell = cell;
|
|
22
|
+
const groupingDef = def;
|
|
23
|
+
if (groupingCell.getIsAggregated?.()) return flexRender(groupingDef.aggregatedCell ?? def.cell, cell.getContext());
|
|
24
|
+
if (groupingCell.getIsPlaceholder?.()) return null;
|
|
25
|
+
return flexRender(def.cell, cell.getContext());
|
|
26
|
+
}
|
|
19
27
|
if ("header" in props && props.header) return flexRender(props.header.column.columnDef.header, props.header.getContext());
|
|
20
28
|
if ("footer" in props && props.footer) return flexRender(props.footer.column.columnDef.footer, props.footer.getContext());
|
|
21
29
|
return null;
|
|
22
30
|
}
|
|
23
31
|
|
|
24
32
|
//#endregion
|
|
25
|
-
export { FlexRender, flexRender };
|
|
26
|
-
//# sourceMappingURL=flex-render.js.map
|
|
33
|
+
export { FlexRender, flexRender };
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { DeepKeys, DeepValue, RowData } from "../types/type-utils.js";
|
|
2
2
|
import { AccessorFn, AccessorFnColumnDef, AccessorKeyColumnDef, ColumnDef, DisplayColumnDef, GroupColumnDef, IdentifiedColumnDef } from "../types/ColumnDef.js";
|
|
3
3
|
import { TableFeatures } from "../types/TableFeatures.js";
|
|
4
|
-
|
|
5
4
|
//#region src/helpers/columnHelper.d.ts
|
|
6
|
-
|
|
5
|
+
interface ColumnHelper<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
7
6
|
/**
|
|
8
7
|
* Creates a data column definition with an accessor key or function to extract the cell value.
|
|
9
8
|
* @example
|
|
@@ -45,7 +44,7 @@ type ColumnHelper<TFeatures extends TableFeatures, TData extends RowData> = {
|
|
|
45
44
|
* ```
|
|
46
45
|
*/
|
|
47
46
|
group: (column: GroupColumnDef<TFeatures, TData, unknown>) => GroupColumnDef<TFeatures, TData, unknown>;
|
|
48
|
-
}
|
|
47
|
+
}
|
|
49
48
|
/**
|
|
50
49
|
* Creates helper functions for authoring column definitions with stronger value
|
|
51
50
|
* inference.
|
|
@@ -67,5 +66,4 @@ type ColumnHelper<TFeatures extends TableFeatures, TData extends RowData> = {
|
|
|
67
66
|
*/
|
|
68
67
|
declare function createColumnHelper<TFeatures extends TableFeatures, TData extends RowData>(): ColumnHelper<TFeatures, TData>;
|
|
69
68
|
//#endregion
|
|
70
|
-
export { ColumnHelper, createColumnHelper };
|
|
71
|
-
//# sourceMappingURL=columnHelper.d.ts.map
|
|
69
|
+
export { ColumnHelper, createColumnHelper };
|