@tanstack/table-core 9.0.0-alpha.16 → 9.0.0-alpha.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/cells/constructCell.cjs +28 -0
- package/dist/core/cells/constructCell.cjs.map +1 -0
- package/dist/core/cells/constructCell.d.cts +12 -0
- package/dist/core/cells/constructCell.d.ts +12 -0
- package/dist/core/cells/constructCell.js +27 -0
- package/dist/core/cells/constructCell.js.map +1 -0
- package/dist/core/cells/coreCellsFeature.cjs +25 -0
- package/dist/core/cells/coreCellsFeature.cjs.map +1 -0
- package/dist/core/cells/coreCellsFeature.d.cts +13 -0
- package/dist/core/cells/coreCellsFeature.d.ts +13 -0
- package/dist/core/cells/coreCellsFeature.js +24 -0
- package/dist/core/cells/coreCellsFeature.js.map +1 -0
- package/dist/core/cells/coreCellsFeature.types.d.cts +57 -0
- package/dist/core/cells/coreCellsFeature.types.d.ts +57 -0
- package/dist/core/cells/coreCellsFeature.utils.cjs +24 -0
- package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -0
- package/dist/core/cells/coreCellsFeature.utils.d.cts +20 -0
- package/dist/core/cells/coreCellsFeature.utils.d.ts +20 -0
- package/dist/core/cells/coreCellsFeature.utils.js +21 -0
- package/dist/core/cells/coreCellsFeature.utils.js.map +1 -0
- package/dist/core/columns/constructColumn.cjs +52 -0
- package/dist/core/columns/constructColumn.cjs.map +1 -0
- package/dist/core/columns/constructColumn.d.cts +11 -0
- package/dist/core/columns/constructColumn.d.ts +11 -0
- package/dist/core/columns/constructColumn.js +51 -0
- package/dist/core/columns/constructColumn.js.map +1 -0
- package/dist/core/columns/coreColumnsFeature.cjs +64 -0
- package/dist/core/columns/coreColumnsFeature.cjs.map +1 -0
- package/dist/core/columns/coreColumnsFeature.d.cts +13 -0
- package/dist/core/columns/coreColumnsFeature.d.ts +13 -0
- package/dist/core/columns/coreColumnsFeature.js +63 -0
- package/dist/core/columns/coreColumnsFeature.js.map +1 -0
- package/dist/core/columns/coreColumnsFeature.types.d.cts +89 -0
- package/dist/core/columns/coreColumnsFeature.types.d.ts +89 -0
- package/dist/core/columns/coreColumnsFeature.utils.cjs +74 -0
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -0
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +18 -0
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +18 -0
- package/dist/core/columns/coreColumnsFeature.utils.js +67 -0
- package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -0
- package/dist/core/coreFeatures.cjs +20 -0
- package/dist/core/coreFeatures.cjs.map +1 -0
- package/dist/core/coreFeatures.d.cts +20 -0
- package/dist/core/coreFeatures.d.ts +20 -0
- package/dist/{esm/core → core}/coreFeatures.js +12 -10
- package/dist/core/coreFeatures.js.map +1 -0
- package/dist/core/headers/buildHeaderGroups.cjs +90 -0
- package/dist/core/headers/buildHeaderGroups.cjs.map +1 -0
- package/dist/core/headers/buildHeaderGroups.d.cts +11 -0
- package/dist/core/headers/buildHeaderGroups.d.ts +11 -0
- package/dist/core/headers/buildHeaderGroups.js +90 -0
- package/dist/core/headers/buildHeaderGroups.js.map +1 -0
- package/dist/core/headers/constructHeader.cjs +35 -0
- package/dist/core/headers/constructHeader.cjs.map +1 -0
- package/dist/core/headers/constructHeader.d.cts +17 -0
- package/dist/core/headers/constructHeader.d.ts +17 -0
- package/dist/core/headers/constructHeader.js +34 -0
- package/dist/core/headers/constructHeader.js.map +1 -0
- package/dist/core/headers/coreHeadersFeature.cjs +61 -0
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -0
- package/dist/core/headers/coreHeadersFeature.d.cts +13 -0
- package/dist/core/headers/coreHeadersFeature.d.ts +13 -0
- package/dist/core/headers/coreHeadersFeature.js +60 -0
- package/dist/core/headers/coreHeadersFeature.js.map +1 -0
- package/dist/core/headers/coreHeadersFeature.types.d.cts +104 -0
- package/dist/core/headers/coreHeadersFeature.types.d.ts +104 -0
- package/dist/core/headers/coreHeadersFeature.utils.cjs +65 -0
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -0
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +20 -0
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +20 -0
- package/dist/core/headers/coreHeadersFeature.utils.js +60 -0
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -0
- package/dist/core/row-models/coreRowModelsFeature.cjs +31 -0
- package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -0
- package/dist/core/row-models/coreRowModelsFeature.d.cts +13 -0
- package/dist/core/row-models/coreRowModelsFeature.d.ts +13 -0
- package/dist/core/row-models/coreRowModelsFeature.js +30 -0
- package/dist/core/row-models/coreRowModelsFeature.js.map +1 -0
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +42 -0
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +42 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +83 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +21 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +21 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.js +72 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -0
- package/dist/core/row-models/createCoreRowModel.cjs +47 -0
- package/dist/core/row-models/createCoreRowModel.cjs.map +1 -0
- package/dist/core/row-models/createCoreRowModel.d.cts +10 -0
- package/dist/core/row-models/createCoreRowModel.d.ts +10 -0
- package/dist/core/row-models/createCoreRowModel.js +47 -0
- package/dist/core/row-models/createCoreRowModel.js.map +1 -0
- package/dist/core/rows/constructRow.cjs +37 -0
- package/dist/core/rows/constructRow.cjs.map +1 -0
- package/dist/core/rows/constructRow.d.cts +10 -0
- package/dist/core/rows/constructRow.d.ts +10 -0
- package/dist/core/rows/constructRow.js +36 -0
- package/dist/core/rows/constructRow.js.map +1 -0
- package/dist/core/rows/coreRowsFeature.cjs +41 -0
- package/dist/core/rows/coreRowsFeature.cjs.map +1 -0
- package/dist/core/rows/coreRowsFeature.d.cts +13 -0
- package/dist/core/rows/coreRowsFeature.d.ts +13 -0
- package/dist/core/rows/coreRowsFeature.js +40 -0
- package/dist/core/rows/coreRowsFeature.js.map +1 -0
- package/dist/core/rows/coreRowsFeature.types.d.cts +96 -0
- package/dist/core/rows/coreRowsFeature.types.d.ts +96 -0
- package/dist/core/rows/coreRowsFeature.utils.cjs +81 -0
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -0
- package/dist/core/rows/coreRowsFeature.utils.d.cts +20 -0
- package/dist/core/rows/coreRowsFeature.utils.d.ts +20 -0
- package/dist/core/rows/coreRowsFeature.utils.js +72 -0
- package/dist/core/rows/coreRowsFeature.utils.js.map +1 -0
- package/dist/core/table/constructTable.cjs +69 -0
- package/dist/core/table/constructTable.cjs.map +1 -0
- package/dist/core/table/constructTable.d.cts +14 -0
- package/dist/core/table/constructTable.d.ts +14 -0
- package/dist/core/table/constructTable.js +67 -0
- package/dist/core/table/constructTable.js.map +1 -0
- package/dist/core/table/coreTablesFeature.cjs +21 -0
- package/dist/core/table/coreTablesFeature.cjs.map +1 -0
- package/dist/core/table/coreTablesFeature.d.cts +13 -0
- package/dist/core/table/coreTablesFeature.d.ts +13 -0
- package/dist/core/table/coreTablesFeature.js +20 -0
- package/dist/core/table/coreTablesFeature.js.map +1 -0
- package/dist/core/table/coreTablesFeature.types.d.cts +113 -0
- package/dist/core/table/coreTablesFeature.types.d.ts +113 -0
- package/dist/core/table/coreTablesFeature.utils.cjs +23 -0
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -0
- package/dist/core/table/coreTablesFeature.utils.d.cts +12 -0
- package/dist/core/table/coreTablesFeature.utils.d.ts +12 -0
- package/dist/core/table/coreTablesFeature.utils.js +21 -0
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -0
- package/dist/features/column-faceting/columnFacetingFeature.cjs +59 -0
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -0
- package/dist/features/column-faceting/columnFacetingFeature.d.cts +13 -0
- package/dist/features/column-faceting/columnFacetingFeature.d.ts +13 -0
- package/dist/features/column-faceting/columnFacetingFeature.js +58 -0
- package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -0
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +73 -0
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +73 -0
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +35 -0
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -0
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +16 -0
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +16 -0
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +29 -0
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -0
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +36 -0
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -0
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +9 -0
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +9 -0
- package/dist/features/column-faceting/createFacetedMinMaxValues.js +36 -0
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -0
- package/dist/features/column-faceting/createFacetedRowModel.cjs +37 -0
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -0
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +10 -0
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +10 -0
- package/dist/features/column-faceting/createFacetedRowModel.js +37 -0
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -0
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs +33 -0
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -0
- package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +9 -0
- package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +9 -0
- package/dist/features/column-faceting/createFacetedUniqueValues.js +33 -0
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -0
- package/dist/features/column-filtering/columnFilteringFeature.cjs +55 -0
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -0
- package/dist/features/column-filtering/columnFilteringFeature.d.cts +14 -0
- package/dist/features/column-filtering/columnFilteringFeature.d.ts +14 -0
- package/dist/features/column-filtering/columnFilteringFeature.js +54 -0
- package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -0
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +147 -0
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +147 -0
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +90 -0
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -0
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +21 -0
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +21 -0
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +80 -0
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -0
- package/dist/features/column-filtering/createFilteredRowModel.cjs +94 -0
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -0
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +11 -0
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -0
- package/dist/features/column-filtering/createFilteredRowModel.js +94 -0
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -0
- package/dist/features/column-filtering/filterRowsUtils.cjs +76 -0
- package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -0
- package/dist/features/column-filtering/filterRowsUtils.js +76 -0
- package/dist/features/column-filtering/filterRowsUtils.js.map +1 -0
- package/dist/features/column-grouping/columnGroupingFeature.cjs +71 -0
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -0
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +13 -0
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +13 -0
- package/dist/features/column-grouping/columnGroupingFeature.js +70 -0
- package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -0
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +157 -0
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +157 -0
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +88 -0
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -0
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +27 -0
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +27 -0
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +74 -0
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -0
- package/dist/features/column-grouping/createGroupedRowModel.cjs +110 -0
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -0
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +11 -0
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +11 -0
- package/dist/features/column-grouping/createGroupedRowModel.js +110 -0
- package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -0
- package/dist/features/column-ordering/columnOrderingFeature.cjs +55 -0
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -0
- package/dist/features/column-ordering/columnOrderingFeature.d.cts +13 -0
- package/dist/features/column-ordering/columnOrderingFeature.d.ts +13 -0
- package/dist/features/column-ordering/columnOrderingFeature.js +54 -0
- package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -0
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +45 -0
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +45 -0
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +62 -0
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -0
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +19 -0
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +19 -0
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +55 -0
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -0
- package/dist/features/column-pinning/columnPinningFeature.cjs +178 -0
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -0
- package/dist/features/column-pinning/columnPinningFeature.d.cts +13 -0
- package/dist/features/column-pinning/columnPinningFeature.d.ts +13 -0
- package/dist/features/column-pinning/columnPinningFeature.js +177 -0
- package/dist/features/column-pinning/columnPinningFeature.js.map +1 -0
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +162 -0
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +162 -0
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +194 -0
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -0
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +43 -0
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +43 -0
- package/dist/features/column-pinning/columnPinningFeature.utils.js +164 -0
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -0
- package/dist/features/column-resizing/columnResizingFeature.cjs +46 -0
- package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -0
- package/dist/features/column-resizing/columnResizingFeature.d.cts +14 -0
- package/dist/features/column-resizing/columnResizingFeature.d.ts +14 -0
- package/dist/features/column-resizing/columnResizingFeature.js +45 -0
- package/dist/features/column-resizing/columnResizingFeature.js.map +1 -0
- package/dist/features/column-resizing/columnResizingFeature.types.d.cts +73 -0
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +73 -0
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +156 -0
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -0
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +19 -0
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +19 -0
- package/dist/features/column-resizing/columnResizingFeature.utils.js +149 -0
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -0
- package/dist/features/column-sizing/columnSizingFeature.cjs +69 -0
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -0
- package/dist/features/column-sizing/columnSizingFeature.d.cts +14 -0
- package/dist/features/column-sizing/columnSizingFeature.d.ts +14 -0
- package/dist/features/column-sizing/columnSizingFeature.js +68 -0
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -0
- package/dist/features/column-sizing/columnSizingFeature.types.d.cts +86 -0
- package/dist/features/column-sizing/columnSizingFeature.types.d.ts +86 -0
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +97 -0
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -0
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +30 -0
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +30 -0
- package/dist/features/column-sizing/columnSizingFeature.utils.js +84 -0
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -0
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +76 -0
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -0
- package/dist/features/column-visibility/columnVisibilityFeature.d.cts +13 -0
- package/dist/features/column-visibility/columnVisibilityFeature.d.ts +13 -0
- package/dist/features/column-visibility/columnVisibilityFeature.js +75 -0
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -0
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +89 -0
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +89 -0
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +84 -0
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -0
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +26 -0
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +26 -0
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +70 -0
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -0
- package/dist/features/global-filtering/globalFilteringFeature.cjs +46 -0
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -0
- package/dist/features/global-filtering/globalFilteringFeature.d.cts +14 -0
- package/dist/features/global-filtering/globalFilteringFeature.d.ts +14 -0
- package/dist/features/global-filtering/globalFilteringFeature.js +45 -0
- package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -0
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +64 -0
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +64 -0
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +31 -0
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -0
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +15 -0
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +15 -0
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +27 -0
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -0
- package/dist/features/row-expanding/createExpandedRowModel.cjs +45 -0
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -0
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +11 -0
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +11 -0
- package/dist/features/row-expanding/createExpandedRowModel.js +44 -0
- package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -0
- package/dist/features/row-expanding/rowExpandingFeature.cjs +51 -0
- package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -0
- package/dist/features/row-expanding/rowExpandingFeature.d.cts +13 -0
- package/dist/features/row-expanding/rowExpandingFeature.d.ts +13 -0
- package/dist/features/row-expanding/rowExpandingFeature.js +50 -0
- package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -0
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +121 -0
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +121 -0
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +111 -0
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -0
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +25 -0
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +25 -0
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +96 -0
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -0
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +53 -0
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -0
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +10 -0
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +10 -0
- package/dist/features/row-pagination/createPaginatedRowModel.js +53 -0
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -0
- package/dist/features/row-pagination/rowPaginationFeature.cjs +49 -0
- package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -0
- package/dist/features/row-pagination/rowPaginationFeature.d.cts +13 -0
- package/dist/features/row-pagination/rowPaginationFeature.d.ts +13 -0
- package/dist/features/row-pagination/rowPaginationFeature.js +48 -0
- package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -0
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +124 -0
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +124 -0
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +114 -0
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -0
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +26 -0
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +26 -0
- package/dist/features/row-pagination/rowPaginationFeature.utils.js +98 -0
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -0
- package/dist/features/row-pinning/rowPinningFeature.cjs +65 -0
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -0
- package/dist/features/row-pinning/rowPinningFeature.d.cts +13 -0
- package/dist/features/row-pinning/rowPinningFeature.d.ts +13 -0
- package/dist/features/row-pinning/rowPinningFeature.js +64 -0
- package/dist/features/row-pinning/rowPinningFeature.js.map +1 -0
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +77 -0
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +77 -0
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +98 -0
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -0
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +21 -0
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +21 -0
- package/dist/features/row-pinning/rowPinningFeature.utils.js +88 -0
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -0
- package/dist/features/row-selection/rowSelectionFeature.cjs +70 -0
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -0
- package/dist/features/row-selection/rowSelectionFeature.d.cts +13 -0
- package/dist/features/row-selection/rowSelectionFeature.d.ts +13 -0
- package/dist/features/row-selection/rowSelectionFeature.js +69 -0
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -0
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +128 -0
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +128 -0
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +224 -0
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -0
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +39 -0
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +39 -0
- package/dist/features/row-selection/rowSelectionFeature.utils.js +198 -0
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -0
- package/dist/features/row-sorting/createSortedRowModel.cjs +81 -0
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -0
- package/dist/features/row-sorting/createSortedRowModel.d.cts +11 -0
- package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -0
- package/dist/features/row-sorting/createSortedRowModel.js +81 -0
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -0
- package/dist/features/row-sorting/rowSortingFeature.cjs +59 -0
- package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -0
- package/dist/features/row-sorting/rowSortingFeature.d.cts +13 -0
- package/dist/features/row-sorting/rowSortingFeature.d.ts +13 -0
- package/dist/features/row-sorting/rowSortingFeature.js +58 -0
- package/dist/features/row-sorting/rowSortingFeature.js.map +1 -0
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +182 -0
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +182 -0
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +134 -0
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -0
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +25 -0
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +25 -0
- package/dist/features/row-sorting/rowSortingFeature.utils.js +120 -0
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -0
- package/dist/features/stockFeatures.cjs +36 -0
- package/dist/features/stockFeatures.cjs.map +1 -0
- package/dist/features/stockFeatures.d.cts +36 -0
- package/dist/features/stockFeatures.d.ts +36 -0
- package/dist/{esm/features → features}/stockFeatures.js +20 -18
- package/dist/features/stockFeatures.js.map +1 -0
- package/dist/features/table-reactivity/tableReactivityFeature.cjs +24 -0
- package/dist/features/table-reactivity/tableReactivityFeature.cjs.map +1 -0
- package/dist/features/table-reactivity/tableReactivityFeature.d.cts +12 -0
- package/dist/features/table-reactivity/tableReactivityFeature.d.ts +12 -0
- package/dist/features/table-reactivity/tableReactivityFeature.js +23 -0
- package/dist/features/table-reactivity/tableReactivityFeature.js.map +1 -0
- package/dist/fns/aggregationFns.cjs +125 -0
- package/dist/fns/aggregationFns.cjs.map +1 -0
- package/dist/fns/aggregationFns.d.cts +54 -0
- package/dist/fns/aggregationFns.d.ts +54 -0
- package/dist/fns/aggregationFns.js +116 -0
- package/dist/fns/aggregationFns.js.map +1 -0
- package/dist/fns/filterFns.cjs +179 -0
- package/dist/fns/filterFns.cjs.map +1 -0
- package/dist/fns/filterFns.d.cts +81 -0
- package/dist/fns/filterFns.d.ts +81 -0
- package/dist/fns/filterFns.js +163 -0
- package/dist/fns/filterFns.js.map +1 -0
- package/dist/fns/sortFns.cjs +73 -0
- package/dist/fns/sortFns.cjs.map +1 -0
- package/dist/fns/sortFns.d.cts +22 -0
- package/dist/fns/sortFns.d.ts +22 -0
- package/dist/fns/sortFns.js +65 -0
- package/dist/fns/sortFns.js.map +1 -0
- package/dist/helpers/columnHelper.cjs +36 -0
- package/dist/helpers/columnHelper.cjs.map +1 -0
- package/dist/helpers/columnHelper.d.cts +66 -0
- package/dist/helpers/columnHelper.d.ts +66 -0
- package/dist/helpers/columnHelper.js +35 -0
- package/dist/helpers/columnHelper.js.map +1 -0
- package/dist/helpers/tableFeatures.cjs +20 -0
- package/dist/helpers/tableFeatures.cjs.map +1 -0
- package/dist/helpers/tableFeatures.d.cts +18 -0
- package/dist/{esm/helpers → helpers}/tableFeatures.d.ts +7 -2
- package/dist/helpers/tableFeatures.js +19 -0
- package/dist/helpers/tableFeatures.js.map +1 -0
- package/dist/helpers/tableHelper.cjs +21 -0
- package/dist/helpers/tableHelper.cjs.map +1 -0
- package/dist/helpers/tableHelper.d.cts +30 -0
- package/dist/helpers/tableHelper.d.ts +30 -0
- package/dist/helpers/tableHelper.js +21 -0
- package/dist/helpers/tableHelper.js.map +1 -0
- package/dist/helpers/tableOptions.cjs +9 -0
- package/dist/helpers/tableOptions.cjs.map +1 -0
- package/dist/helpers/tableOptions.d.cts +28 -0
- package/dist/helpers/tableOptions.d.ts +28 -0
- package/dist/helpers/tableOptions.js +8 -0
- package/dist/helpers/tableOptions.js.map +1 -0
- package/dist/index.cjs +420 -0
- package/dist/index.d.cts +100 -0
- package/dist/index.d.ts +100 -0
- package/dist/{esm/index.js → index.js} +42 -395
- package/dist/types/Cell.d.cts +16 -0
- package/dist/types/Cell.d.ts +16 -0
- package/dist/types/Column.d.cts +29 -0
- package/dist/types/Column.d.ts +29 -0
- package/dist/types/ColumnDef.d.cts +66 -0
- package/dist/types/ColumnDef.d.ts +66 -0
- package/dist/types/Header.d.cts +17 -0
- package/dist/types/Header.d.ts +17 -0
- package/dist/types/HeaderGroup.d.cts +15 -0
- package/dist/types/HeaderGroup.d.ts +15 -0
- package/dist/types/Row.d.cts +22 -0
- package/dist/types/Row.d.ts +22 -0
- package/dist/types/RowModel.d.cts +26 -0
- package/dist/types/RowModel.d.ts +26 -0
- package/dist/types/RowModelFns.d.cts +18 -0
- package/dist/types/RowModelFns.d.ts +18 -0
- package/dist/types/Table.d.cts +57 -0
- package/dist/types/Table.d.ts +57 -0
- package/dist/types/TableFeatures.d.cts +77 -0
- package/dist/types/TableFeatures.d.ts +77 -0
- package/dist/types/TableOptions.d.cts +39 -0
- package/dist/types/TableOptions.d.ts +39 -0
- package/dist/types/TableState.d.cts +27 -0
- package/dist/types/TableState.d.ts +27 -0
- package/dist/types/type-utils.d.cts +23 -0
- package/dist/types/type-utils.d.ts +23 -0
- package/dist/utils.cjs +210 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.cts +90 -0
- package/dist/utils.d.ts +90 -0
- package/dist/utils.js +196 -0
- package/dist/utils.js.map +1 -0
- package/package.json +8 -8
- package/src/features/column-resizing/columnResizingFeature.utils.ts +8 -2
- package/src/process-env.d.ts +6 -0
- package/dist/esm/core/cells/constructCell.d.ts +0 -7
- package/dist/esm/core/cells/constructCell.js +0 -21
- package/dist/esm/core/cells/constructCell.js.map +0 -1
- package/dist/esm/core/cells/coreCellsFeature.d.ts +0 -10
- package/dist/esm/core/cells/coreCellsFeature.js +0 -26
- package/dist/esm/core/cells/coreCellsFeature.js.map +0 -1
- package/dist/esm/core/cells/coreCellsFeature.types.d.ts +0 -52
- package/dist/esm/core/cells/coreCellsFeature.utils.d.ts +0 -13
- package/dist/esm/core/cells/coreCellsFeature.utils.js +0 -23
- package/dist/esm/core/cells/coreCellsFeature.utils.js.map +0 -1
- package/dist/esm/core/columns/constructColumn.d.ts +0 -6
- package/dist/esm/core/columns/constructColumn.js +0 -60
- package/dist/esm/core/columns/constructColumn.js.map +0 -1
- package/dist/esm/core/columns/coreColumnsFeature.d.ts +0 -10
- package/dist/esm/core/columns/coreColumnsFeature.js +0 -61
- package/dist/esm/core/columns/coreColumnsFeature.js.map +0 -1
- package/dist/esm/core/columns/coreColumnsFeature.types.d.ts +0 -84
- package/dist/esm/core/columns/coreColumnsFeature.utils.d.ts +0 -13
- package/dist/esm/core/columns/coreColumnsFeature.utils.js +0 -91
- package/dist/esm/core/columns/coreColumnsFeature.utils.js.map +0 -1
- package/dist/esm/core/coreFeatures.d.ts +0 -15
- package/dist/esm/core/coreFeatures.js.map +0 -1
- package/dist/esm/core/headers/buildHeaderGroups.d.ts +0 -6
- package/dist/esm/core/headers/buildHeaderGroups.js +0 -99
- package/dist/esm/core/headers/buildHeaderGroups.js.map +0 -1
- package/dist/esm/core/headers/constructHeader.d.ts +0 -12
- package/dist/esm/core/headers/constructHeader.js +0 -28
- package/dist/esm/core/headers/constructHeader.js.map +0 -1
- package/dist/esm/core/headers/coreHeadersFeature.d.ts +0 -10
- package/dist/esm/core/headers/coreHeadersFeature.js +0 -68
- package/dist/esm/core/headers/coreHeadersFeature.js.map +0 -1
- package/dist/esm/core/headers/coreHeadersFeature.types.d.ts +0 -99
- package/dist/esm/core/headers/coreHeadersFeature.utils.d.ts +0 -15
- package/dist/esm/core/headers/coreHeadersFeature.utils.js +0 -85
- package/dist/esm/core/headers/coreHeadersFeature.utils.js.map +0 -1
- package/dist/esm/core/row-models/coreRowModelsFeature.d.ts +0 -10
- package/dist/esm/core/row-models/coreRowModelsFeature.js +0 -52
- package/dist/esm/core/row-models/coreRowModelsFeature.js.map +0 -1
- package/dist/esm/core/row-models/coreRowModelsFeature.types.d.ts +0 -39
- package/dist/esm/core/row-models/coreRowModelsFeature.utils.d.ts +0 -16
- package/dist/esm/core/row-models/coreRowModelsFeature.utils.js +0 -85
- package/dist/esm/core/row-models/coreRowModelsFeature.utils.js.map +0 -1
- package/dist/esm/core/row-models/createCoreRowModel.d.ts +0 -5
- package/dist/esm/core/row-models/createCoreRowModel.js +0 -54
- package/dist/esm/core/row-models/createCoreRowModel.js.map +0 -1
- package/dist/esm/core/rows/constructRow.d.ts +0 -5
- package/dist/esm/core/rows/constructRow.js +0 -29
- package/dist/esm/core/rows/constructRow.js.map +0 -1
- package/dist/esm/core/rows/coreRowsFeature.d.ts +0 -10
- package/dist/esm/core/rows/coreRowsFeature.js +0 -52
- package/dist/esm/core/rows/coreRowsFeature.js.map +0 -1
- package/dist/esm/core/rows/coreRowsFeature.types.d.ts +0 -91
- package/dist/esm/core/rows/coreRowsFeature.utils.d.ts +0 -15
- package/dist/esm/core/rows/coreRowsFeature.utils.js +0 -94
- package/dist/esm/core/rows/coreRowsFeature.utils.js.map +0 -1
- package/dist/esm/core/table/constructTable.d.ts +0 -9
- package/dist/esm/core/table/constructTable.js +0 -68
- package/dist/esm/core/table/constructTable.js.map +0 -1
- package/dist/esm/core/table/coreTablesFeature.d.ts +0 -10
- package/dist/esm/core/table/coreTablesFeature.js +0 -22
- package/dist/esm/core/table/coreTablesFeature.js.map +0 -1
- package/dist/esm/core/table/coreTablesFeature.types.d.ts +0 -109
- package/dist/esm/core/table/coreTablesFeature.utils.d.ts +0 -7
- package/dist/esm/core/table/coreTablesFeature.utils.js +0 -24
- package/dist/esm/core/table/coreTablesFeature.utils.js.map +0 -1
- package/dist/esm/features/column-faceting/columnFacetingFeature.d.ts +0 -10
- package/dist/esm/features/column-faceting/columnFacetingFeature.js +0 -80
- package/dist/esm/features/column-faceting/columnFacetingFeature.js.map +0 -1
- package/dist/esm/features/column-faceting/columnFacetingFeature.types.d.ts +0 -68
- package/dist/esm/features/column-faceting/columnFacetingFeature.utils.d.ts +0 -11
- package/dist/esm/features/column-faceting/columnFacetingFeature.utils.js +0 -33
- package/dist/esm/features/column-faceting/columnFacetingFeature.utils.js.map +0 -1
- package/dist/esm/features/column-faceting/createFacetedMinMaxValues.d.ts +0 -4
- package/dist/esm/features/column-faceting/createFacetedMinMaxValues.js +0 -41
- package/dist/esm/features/column-faceting/createFacetedMinMaxValues.js.map +0 -1
- package/dist/esm/features/column-faceting/createFacetedRowModel.d.ts +0 -5
- package/dist/esm/features/column-faceting/createFacetedRowModel.js +0 -47
- package/dist/esm/features/column-faceting/createFacetedRowModel.js.map +0 -1
- package/dist/esm/features/column-faceting/createFacetedUniqueValues.d.ts +0 -4
- package/dist/esm/features/column-faceting/createFacetedUniqueValues.js +0 -46
- package/dist/esm/features/column-faceting/createFacetedUniqueValues.js.map +0 -1
- package/dist/esm/features/column-filtering/columnFilteringFeature.d.ts +0 -11
- package/dist/esm/features/column-filtering/columnFilteringFeature.js +0 -69
- package/dist/esm/features/column-filtering/columnFilteringFeature.js.map +0 -1
- package/dist/esm/features/column-filtering/columnFilteringFeature.types.d.ts +0 -145
- package/dist/esm/features/column-filtering/columnFilteringFeature.utils.d.ts +0 -16
- package/dist/esm/features/column-filtering/columnFilteringFeature.utils.js +0 -118
- package/dist/esm/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
- package/dist/esm/features/column-filtering/createFilteredRowModel.d.ts +0 -6
- package/dist/esm/features/column-filtering/createFilteredRowModel.js +0 -110
- package/dist/esm/features/column-filtering/createFilteredRowModel.js.map +0 -1
- package/dist/esm/features/column-filtering/filterRowsUtils.d.ts +0 -6
- package/dist/esm/features/column-filtering/filterRowsUtils.js +0 -95
- package/dist/esm/features/column-filtering/filterRowsUtils.js.map +0 -1
- package/dist/esm/features/column-grouping/columnGroupingFeature.d.ts +0 -10
- package/dist/esm/features/column-grouping/columnGroupingFeature.js +0 -91
- package/dist/esm/features/column-grouping/columnGroupingFeature.js.map +0 -1
- package/dist/esm/features/column-grouping/columnGroupingFeature.types.d.ts +0 -153
- package/dist/esm/features/column-grouping/columnGroupingFeature.utils.d.ts +0 -22
- package/dist/esm/features/column-grouping/columnGroupingFeature.utils.js +0 -99
- package/dist/esm/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
- package/dist/esm/features/column-grouping/createGroupedRowModel.d.ts +0 -6
- package/dist/esm/features/column-grouping/createGroupedRowModel.js +0 -144
- package/dist/esm/features/column-grouping/createGroupedRowModel.js.map +0 -1
- package/dist/esm/features/column-ordering/columnOrderingFeature.d.ts +0 -10
- package/dist/esm/features/column-ordering/columnOrderingFeature.js +0 -60
- package/dist/esm/features/column-ordering/columnOrderingFeature.js.map +0 -1
- package/dist/esm/features/column-ordering/columnOrderingFeature.types.d.ts +0 -40
- package/dist/esm/features/column-ordering/columnOrderingFeature.utils.d.ts +0 -14
- package/dist/esm/features/column-ordering/columnOrderingFeature.utils.js +0 -72
- package/dist/esm/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
- package/dist/esm/features/column-pinning/columnPinningFeature.d.ts +0 -10
- package/dist/esm/features/column-pinning/columnPinningFeature.js +0 -260
- package/dist/esm/features/column-pinning/columnPinningFeature.js.map +0 -1
- package/dist/esm/features/column-pinning/columnPinningFeature.types.d.ts +0 -157
- package/dist/esm/features/column-pinning/columnPinningFeature.utils.d.ts +0 -39
- package/dist/esm/features/column-pinning/columnPinningFeature.utils.js +0 -325
- package/dist/esm/features/column-pinning/columnPinningFeature.utils.js.map +0 -1
- package/dist/esm/features/column-resizing/columnResizingFeature.d.ts +0 -11
- package/dist/esm/features/column-resizing/columnResizingFeature.js +0 -52
- package/dist/esm/features/column-resizing/columnResizingFeature.js.map +0 -1
- package/dist/esm/features/column-resizing/columnResizingFeature.types.d.ts +0 -68
- package/dist/esm/features/column-resizing/columnResizingFeature.utils.d.ts +0 -14
- package/dist/esm/features/column-resizing/columnResizingFeature.utils.js +0 -193
- package/dist/esm/features/column-resizing/columnResizingFeature.utils.js.map +0 -1
- package/dist/esm/features/column-sizing/columnSizingFeature.d.ts +0 -11
- package/dist/esm/features/column-sizing/columnSizingFeature.js +0 -95
- package/dist/esm/features/column-sizing/columnSizingFeature.js.map +0 -1
- package/dist/esm/features/column-sizing/columnSizingFeature.types.d.ts +0 -81
- package/dist/esm/features/column-sizing/columnSizingFeature.utils.d.ts +0 -25
- package/dist/esm/features/column-sizing/columnSizingFeature.utils.js +0 -128
- package/dist/esm/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
- package/dist/esm/features/column-visibility/columnVisibilityFeature.d.ts +0 -10
- package/dist/esm/features/column-visibility/columnVisibilityFeature.js +0 -100
- package/dist/esm/features/column-visibility/columnVisibilityFeature.js.map +0 -1
- package/dist/esm/features/column-visibility/columnVisibilityFeature.types.d.ts +0 -84
- package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.d.ts +0 -22
- package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.js +0 -105
- package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.js.map +0 -1
- package/dist/esm/features/global-filtering/globalFilteringFeature.d.ts +0 -11
- package/dist/esm/features/global-filtering/globalFilteringFeature.js +0 -51
- package/dist/esm/features/global-filtering/globalFilteringFeature.js.map +0 -1
- package/dist/esm/features/global-filtering/globalFilteringFeature.types.d.ts +0 -59
- package/dist/esm/features/global-filtering/globalFilteringFeature.utils.d.ts +0 -10
- package/dist/esm/features/global-filtering/globalFilteringFeature.utils.js +0 -30
- package/dist/esm/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
- package/dist/esm/features/row-expanding/createExpandedRowModel.d.ts +0 -6
- package/dist/esm/features/row-expanding/createExpandedRowModel.js +0 -49
- package/dist/esm/features/row-expanding/createExpandedRowModel.js.map +0 -1
- package/dist/esm/features/row-expanding/rowExpandingFeature.d.ts +0 -10
- package/dist/esm/features/row-expanding/rowExpandingFeature.js +0 -74
- package/dist/esm/features/row-expanding/rowExpandingFeature.js.map +0 -1
- package/dist/esm/features/row-expanding/rowExpandingFeature.types.d.ts +0 -116
- package/dist/esm/features/row-expanding/rowExpandingFeature.utils.d.ts +0 -20
- package/dist/esm/features/row-expanding/rowExpandingFeature.utils.js +0 -125
- package/dist/esm/features/row-expanding/rowExpandingFeature.utils.js.map +0 -1
- package/dist/esm/features/row-pagination/createPaginatedRowModel.d.ts +0 -5
- package/dist/esm/features/row-pagination/createPaginatedRowModel.js +0 -58
- package/dist/esm/features/row-pagination/createPaginatedRowModel.js.map +0 -1
- package/dist/esm/features/row-pagination/rowPaginationFeature.d.ts +0 -10
- package/dist/esm/features/row-pagination/rowPaginationFeature.js +0 -78
- package/dist/esm/features/row-pagination/rowPaginationFeature.js.map +0 -1
- package/dist/esm/features/row-pagination/rowPaginationFeature.types.d.ts +0 -119
- package/dist/esm/features/row-pagination/rowPaginationFeature.utils.d.ts +0 -21
- package/dist/esm/features/row-pagination/rowPaginationFeature.utils.js +0 -126
- package/dist/esm/features/row-pagination/rowPaginationFeature.utils.js.map +0 -1
- package/dist/esm/features/row-pinning/rowPinningFeature.d.ts +0 -10
- package/dist/esm/features/row-pinning/rowPinningFeature.js +0 -80
- package/dist/esm/features/row-pinning/rowPinningFeature.js.map +0 -1
- package/dist/esm/features/row-pinning/rowPinningFeature.types.d.ts +0 -72
- package/dist/esm/features/row-pinning/rowPinningFeature.utils.d.ts +0 -16
- package/dist/esm/features/row-pinning/rowPinningFeature.utils.js +0 -115
- package/dist/esm/features/row-pinning/rowPinningFeature.utils.js.map +0 -1
- package/dist/esm/features/row-selection/rowSelectionFeature.d.ts +0 -10
- package/dist/esm/features/row-selection/rowSelectionFeature.js +0 -112
- package/dist/esm/features/row-selection/rowSelectionFeature.js.map +0 -1
- package/dist/esm/features/row-selection/rowSelectionFeature.types.d.ts +0 -123
- package/dist/esm/features/row-selection/rowSelectionFeature.utils.d.ts +0 -34
- package/dist/esm/features/row-selection/rowSelectionFeature.utils.js +0 -290
- package/dist/esm/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
- package/dist/esm/features/row-sorting/createSortedRowModel.d.ts +0 -6
- package/dist/esm/features/row-sorting/createSortedRowModel.js +0 -94
- package/dist/esm/features/row-sorting/createSortedRowModel.js.map +0 -1
- package/dist/esm/features/row-sorting/rowSortingFeature.d.ts +0 -10
- package/dist/esm/features/row-sorting/rowSortingFeature.js +0 -82
- package/dist/esm/features/row-sorting/rowSortingFeature.js.map +0 -1
- package/dist/esm/features/row-sorting/rowSortingFeature.types.d.ts +0 -178
- package/dist/esm/features/row-sorting/rowSortingFeature.utils.d.ts +0 -20
- package/dist/esm/features/row-sorting/rowSortingFeature.utils.js +0 -181
- package/dist/esm/features/row-sorting/rowSortingFeature.utils.js.map +0 -1
- package/dist/esm/features/stockFeatures.d.ts +0 -31
- package/dist/esm/features/stockFeatures.js.map +0 -1
- package/dist/esm/features/table-reactivity/tableReactivityFeature.d.ts +0 -9
- package/dist/esm/features/table-reactivity/tableReactivityFeature.js +0 -30
- package/dist/esm/features/table-reactivity/tableReactivityFeature.js.map +0 -1
- package/dist/esm/fns/aggregationFns.d.ts +0 -49
- package/dist/esm/fns/aggregationFns.js +0 -110
- package/dist/esm/fns/aggregationFns.js.map +0 -1
- package/dist/esm/fns/filterFns.d.ts +0 -76
- package/dist/esm/fns/filterFns.js +0 -134
- package/dist/esm/fns/filterFns.js.map +0 -1
- package/dist/esm/fns/sortFns.d.ts +0 -17
- package/dist/esm/fns/sortFns.js +0 -97
- package/dist/esm/fns/sortFns.js.map +0 -1
- package/dist/esm/helpers/columnHelper.d.ts +0 -61
- package/dist/esm/helpers/columnHelper.js +0 -20
- package/dist/esm/helpers/columnHelper.js.map +0 -1
- package/dist/esm/helpers/tableFeatures.js +0 -7
- package/dist/esm/helpers/tableFeatures.js.map +0 -1
- package/dist/esm/helpers/tableHelper.d.ts +0 -25
- package/dist/esm/helpers/tableHelper.js +0 -13
- package/dist/esm/helpers/tableHelper.js.map +0 -1
- package/dist/esm/helpers/tableOptions.d.ts +0 -23
- package/dist/esm/helpers/tableOptions.js +0 -7
- package/dist/esm/helpers/tableOptions.js.map +0 -1
- package/dist/esm/index.d.ts +0 -111
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/types/Cell.d.ts +0 -13
- package/dist/esm/types/Column.d.ts +0 -26
- package/dist/esm/types/ColumnDef.d.ts +0 -64
- package/dist/esm/types/Header.d.ts +0 -14
- package/dist/esm/types/HeaderGroup.d.ts +0 -12
- package/dist/esm/types/Row.d.ts +0 -19
- package/dist/esm/types/RowModel.d.ts +0 -23
- package/dist/esm/types/RowModelFns.d.ts +0 -15
- package/dist/esm/types/Table.d.ts +0 -53
- package/dist/esm/types/TableFeatures.d.ts +0 -77
- package/dist/esm/types/TableOptions.d.ts +0 -39
- package/dist/esm/types/TableState.d.ts +0 -23
- package/dist/esm/types/type-utils.d.ts +0 -22
- package/dist/esm/utils.d.ts +0 -72
- package/dist/esm/utils.js +0 -231
- package/dist/esm/utils.js.map +0 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
const require_utils = require('../../utils.cjs');
|
|
2
|
+
const require_rowPaginationFeature_utils = require('../row-pagination/rowPaginationFeature.utils.cjs');
|
|
3
|
+
const require_rowSortingFeature_utils = require('./rowSortingFeature.utils.cjs');
|
|
4
|
+
|
|
5
|
+
//#region src/features/row-sorting/createSortedRowModel.ts
|
|
6
|
+
function createSortedRowModel(sortFns) {
|
|
7
|
+
return (_table) => {
|
|
8
|
+
const table = _table;
|
|
9
|
+
if (!table._rowModelFns.sortFns) table._rowModelFns.sortFns = sortFns;
|
|
10
|
+
return require_utils.tableMemo({
|
|
11
|
+
feature: "rowSortingFeature",
|
|
12
|
+
table,
|
|
13
|
+
fnName: "table.getSortedRowModel",
|
|
14
|
+
memoDeps: () => [table.store.state.sorting, table.getPreSortedRowModel()],
|
|
15
|
+
fn: () => _createSortedRowModel(table),
|
|
16
|
+
onAfterUpdate: () => require_rowPaginationFeature_utils.table_autoResetPageIndex(table)
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function _createSortedRowModel(table) {
|
|
21
|
+
const preSortedRowModel = table.getPreSortedRowModel();
|
|
22
|
+
const sorting = table.store.state.sorting;
|
|
23
|
+
if (!preSortedRowModel.rows.length || !(sorting === null || sorting === void 0 ? void 0 : sorting.length)) return preSortedRowModel;
|
|
24
|
+
const sortedFlatRows = [];
|
|
25
|
+
const availableSorting = sorting.filter((sort) => require_rowSortingFeature_utils.column_getCanSort(table.getColumn(sort.id)));
|
|
26
|
+
const columnInfoById = {};
|
|
27
|
+
availableSorting.forEach((sortEntry) => {
|
|
28
|
+
const column = table.getColumn(sortEntry.id);
|
|
29
|
+
if (!column) return;
|
|
30
|
+
columnInfoById[sortEntry.id] = {
|
|
31
|
+
sortUndefined: column.columnDef.sortUndefined,
|
|
32
|
+
invertSorting: column.columnDef.invertSorting,
|
|
33
|
+
sortFn: require_rowSortingFeature_utils.column_getSortFn(column)
|
|
34
|
+
};
|
|
35
|
+
});
|
|
36
|
+
const sortData = (rows) => {
|
|
37
|
+
const sortedData = rows.map((row) => {
|
|
38
|
+
return Object.assign(Object.create(Object.getPrototypeOf(row)), row);
|
|
39
|
+
});
|
|
40
|
+
sortedData.sort((rowA, rowB) => {
|
|
41
|
+
for (const sortEntry of availableSorting) {
|
|
42
|
+
const columnInfo = columnInfoById[sortEntry.id];
|
|
43
|
+
const sortUndefined = columnInfo.sortUndefined;
|
|
44
|
+
const isDesc = sortEntry.desc;
|
|
45
|
+
let sortInt = 0;
|
|
46
|
+
if (sortUndefined) {
|
|
47
|
+
const aValue = rowA.getValue(sortEntry.id);
|
|
48
|
+
const bValue = rowB.getValue(sortEntry.id);
|
|
49
|
+
const aUndefined = aValue === void 0;
|
|
50
|
+
const bUndefined = bValue === void 0;
|
|
51
|
+
if (aUndefined || bUndefined) {
|
|
52
|
+
if (sortUndefined === "first") return aUndefined ? -1 : 1;
|
|
53
|
+
if (sortUndefined === "last") return aUndefined ? 1 : -1;
|
|
54
|
+
sortInt = aUndefined && bUndefined ? 0 : aUndefined ? sortUndefined : -sortUndefined;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (sortInt === 0) sortInt = columnInfo.sortFn(rowA, rowB, sortEntry.id);
|
|
58
|
+
if (sortInt !== 0) {
|
|
59
|
+
if (isDesc) sortInt *= -1;
|
|
60
|
+
if (columnInfo.invertSorting) sortInt *= -1;
|
|
61
|
+
return sortInt;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return rowA.index - rowB.index;
|
|
65
|
+
});
|
|
66
|
+
sortedData.forEach((row) => {
|
|
67
|
+
sortedFlatRows.push(row);
|
|
68
|
+
if (row.subRows.length) row.subRows = sortData(row.subRows);
|
|
69
|
+
});
|
|
70
|
+
return sortedData;
|
|
71
|
+
};
|
|
72
|
+
return {
|
|
73
|
+
rows: sortData(preSortedRowModel.rows),
|
|
74
|
+
flatRows: sortedFlatRows,
|
|
75
|
+
rowsById: preSortedRowModel.rowsById
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
//#endregion
|
|
80
|
+
exports.createSortedRowModel = createSortedRowModel;
|
|
81
|
+
//# sourceMappingURL=createSortedRowModel.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSortedRowModel.cjs","names":["tableMemo","table_autoResetPageIndex","column_getCanSort","column_getSortFn"],"sources":["../../../src/features/row-sorting/createSortedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { table_autoResetPageIndex } from '../row-pagination/rowPaginationFeature.utils'\nimport { column_getCanSort, column_getSortFn } from './rowSortingFeature.utils'\nimport type { Column_Internal } from '../../types/Column'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { SortFn, SortFns } from './rowSortingFeature.types'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createSortedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n sortFns: Record<keyof SortFns, SortFn<TFeatures, TData>>,\n): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table = _table as Table_Internal<TFeatures, TData>\n if (!table._rowModelFns.sortFns) table._rowModelFns.sortFns = sortFns\n return tableMemo({\n feature: 'rowSortingFeature',\n table,\n fnName: 'table.getSortedRowModel',\n memoDeps: () => [table.store.state.sorting, table.getPreSortedRowModel()],\n fn: () => _createSortedRowModel(table),\n onAfterUpdate: () => table_autoResetPageIndex(table),\n })\n }\n}\n\nfunction _createSortedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const preSortedRowModel = table.getPreSortedRowModel()\n const sorting = table.store.state.sorting\n\n if (!preSortedRowModel.rows.length || !sorting?.length) {\n return preSortedRowModel\n }\n\n const sortedFlatRows: Array<Row<TFeatures, TData>> = []\n\n // Filter out sortings that correspond to non existing columns\n const availableSorting = sorting.filter((sort) =>\n column_getCanSort(\n table.getColumn(sort.id) as Column_Internal<TFeatures, TData>,\n ),\n )\n\n const columnInfoById: Record<\n string,\n {\n sortUndefined?: false | -1 | 1 | 'first' | 'last'\n invertSorting?: boolean\n sortFn: SortFn<TFeatures, TData>\n }\n > = {}\n\n availableSorting.forEach((sortEntry) => {\n const column = table.getColumn(sortEntry.id) as\n | Column_Internal<TFeatures, TData>\n | undefined\n if (!column) return\n\n columnInfoById[sortEntry.id] = {\n sortUndefined: column.columnDef.sortUndefined,\n invertSorting: column.columnDef.invertSorting,\n sortFn: column_getSortFn(column),\n }\n })\n\n const sortData = (rows: Array<Row<TFeatures, TData>>) => {\n // This will also perform a stable sorting using the row index\n // if needed.\n // Preserve prototype chain so methods like getValue() remain accessible\n const sortedData = rows.map((row) => {\n const cloned = Object.create(Object.getPrototypeOf(row))\n return Object.assign(cloned, row)\n })\n\n sortedData.sort((rowA, rowB) => {\n for (const sortEntry of availableSorting) {\n const columnInfo = columnInfoById[sortEntry.id]!\n const sortUndefined = columnInfo.sortUndefined\n const isDesc = sortEntry.desc\n\n let sortInt = 0\n\n // All sorting ints should always return in ascending order\n if (sortUndefined) {\n const aValue = rowA.getValue(sortEntry.id)\n const bValue = rowB.getValue(sortEntry.id)\n\n const aUndefined = aValue === undefined\n const bUndefined = bValue === undefined\n\n if (aUndefined || bUndefined) {\n if (sortUndefined === 'first') return aUndefined ? -1 : 1\n if (sortUndefined === 'last') return aUndefined ? 1 : -1\n sortInt =\n aUndefined && bUndefined\n ? 0\n : aUndefined\n ? sortUndefined\n : -sortUndefined\n }\n }\n\n if (sortInt === 0) {\n sortInt = columnInfo.sortFn(rowA, rowB, sortEntry.id)\n }\n\n // If sorting is non-zero, take care of desc and inversion\n if (sortInt !== 0) {\n if (isDesc) {\n sortInt *= -1\n }\n\n if (columnInfo.invertSorting) {\n sortInt *= -1\n }\n\n return sortInt\n }\n }\n return rowA.index - rowB.index\n })\n\n // If there are sub-rows, sort them\n sortedData.forEach((row) => {\n sortedFlatRows.push(row)\n if (row.subRows.length) {\n row.subRows = sortData(row.subRows)\n }\n })\n\n return sortedData\n }\n\n return {\n rows: sortData(preSortedRowModel.rows),\n flatRows: sortedFlatRows,\n rowsById: preSortedRowModel.rowsById,\n }\n}\n"],"mappings":";;;;;AAWA,SAAgB,qBAId,SACsE;AACtE,SAAQ,WAAW;EACjB,MAAM,QAAQ;AACd,MAAI,CAAC,MAAM,aAAa,QAAS,OAAM,aAAa,UAAU;AAC9D,SAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB,CAAC,MAAM,MAAM,MAAM,SAAS,MAAM,sBAAsB,CAAC;GACzE,UAAU,sBAAsB,MAAM;GACtC,qBAAqBC,4DAAyB,MAAM;GACrD,CAAC;;;AAIN,SAAS,sBAGP,OAAqE;CACrE,MAAM,oBAAoB,MAAM,sBAAsB;CACtD,MAAM,UAAU,MAAM,MAAM,MAAM;AAElC,KAAI,CAAC,kBAAkB,KAAK,UAAU,oDAAC,QAAS,QAC9C,QAAO;CAGT,MAAM,iBAA+C,EAAE;CAGvD,MAAM,mBAAmB,QAAQ,QAAQ,SACvCC,kDACE,MAAM,UAAU,KAAK,GAAG,CACzB,CACF;CAED,MAAM,iBAOF,EAAE;AAEN,kBAAiB,SAAS,cAAc;EACtC,MAAM,SAAS,MAAM,UAAU,UAAU,GAAG;AAG5C,MAAI,CAAC,OAAQ;AAEb,iBAAe,UAAU,MAAM;GAC7B,eAAe,OAAO,UAAU;GAChC,eAAe,OAAO,UAAU;GAChC,QAAQC,iDAAiB,OAAO;GACjC;GACD;CAEF,MAAM,YAAY,SAAuC;EAIvD,MAAM,aAAa,KAAK,KAAK,QAAQ;AAEnC,UAAO,OAAO,OADC,OAAO,OAAO,OAAO,eAAe,IAAI,CAAC,EAC3B,IAAI;IACjC;AAEF,aAAW,MAAM,MAAM,SAAS;AAC9B,QAAK,MAAM,aAAa,kBAAkB;IACxC,MAAM,aAAa,eAAe,UAAU;IAC5C,MAAM,gBAAgB,WAAW;IACjC,MAAM,SAAS,UAAU;IAEzB,IAAI,UAAU;AAGd,QAAI,eAAe;KACjB,MAAM,SAAS,KAAK,SAAS,UAAU,GAAG;KAC1C,MAAM,SAAS,KAAK,SAAS,UAAU,GAAG;KAE1C,MAAM,aAAa,WAAW;KAC9B,MAAM,aAAa,WAAW;AAE9B,SAAI,cAAc,YAAY;AAC5B,UAAI,kBAAkB,QAAS,QAAO,aAAa,KAAK;AACxD,UAAI,kBAAkB,OAAQ,QAAO,aAAa,IAAI;AACtD,gBACE,cAAc,aACV,IACA,aACE,gBACA,CAAC;;;AAIb,QAAI,YAAY,EACd,WAAU,WAAW,OAAO,MAAM,MAAM,UAAU,GAAG;AAIvD,QAAI,YAAY,GAAG;AACjB,SAAI,OACF,YAAW;AAGb,SAAI,WAAW,cACb,YAAW;AAGb,YAAO;;;AAGX,UAAO,KAAK,QAAQ,KAAK;IACzB;AAGF,aAAW,SAAS,QAAQ;AAC1B,kBAAe,KAAK,IAAI;AACxB,OAAI,IAAI,QAAQ,OACd,KAAI,UAAU,SAAS,IAAI,QAAQ;IAErC;AAEF,SAAO;;AAGT,QAAO;EACL,MAAM,SAAS,kBAAkB,KAAK;EACtC,UAAU;EACV,UAAU,kBAAkB;EAC7B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RowData } from "../../types/type-utils.cjs";
|
|
2
|
+
import { SortFn, SortFns } from "./rowSortingFeature.types.cjs";
|
|
3
|
+
import { TableFeatures } from "../../types/TableFeatures.cjs";
|
|
4
|
+
import { Table } from "../../types/Table.cjs";
|
|
5
|
+
import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.cjs";
|
|
6
|
+
|
|
7
|
+
//#region src/features/row-sorting/createSortedRowModel.d.ts
|
|
8
|
+
declare function createSortedRowModel<TFeatures extends TableFeatures, TData extends RowData>(sortFns: Record<keyof SortFns, SortFn<TFeatures, TData>>): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { createSortedRowModel };
|
|
11
|
+
//# sourceMappingURL=createSortedRowModel.d.cts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RowData } from "../../types/type-utils.js";
|
|
2
|
+
import { SortFn, SortFns } from "./rowSortingFeature.types.js";
|
|
3
|
+
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
4
|
+
import { Table } from "../../types/Table.js";
|
|
5
|
+
import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
|
|
6
|
+
|
|
7
|
+
//#region src/features/row-sorting/createSortedRowModel.d.ts
|
|
8
|
+
declare function createSortedRowModel<TFeatures extends TableFeatures, TData extends RowData>(sortFns: Record<keyof SortFns, SortFn<TFeatures, TData>>): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { createSortedRowModel };
|
|
11
|
+
//# sourceMappingURL=createSortedRowModel.d.ts.map
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { tableMemo } from "../../utils.js";
|
|
2
|
+
import { table_autoResetPageIndex } from "../row-pagination/rowPaginationFeature.utils.js";
|
|
3
|
+
import { column_getCanSort, column_getSortFn } from "./rowSortingFeature.utils.js";
|
|
4
|
+
|
|
5
|
+
//#region src/features/row-sorting/createSortedRowModel.ts
|
|
6
|
+
function createSortedRowModel(sortFns) {
|
|
7
|
+
return (_table) => {
|
|
8
|
+
const table = _table;
|
|
9
|
+
if (!table._rowModelFns.sortFns) table._rowModelFns.sortFns = sortFns;
|
|
10
|
+
return tableMemo({
|
|
11
|
+
feature: "rowSortingFeature",
|
|
12
|
+
table,
|
|
13
|
+
fnName: "table.getSortedRowModel",
|
|
14
|
+
memoDeps: () => [table.store.state.sorting, table.getPreSortedRowModel()],
|
|
15
|
+
fn: () => _createSortedRowModel(table),
|
|
16
|
+
onAfterUpdate: () => table_autoResetPageIndex(table)
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function _createSortedRowModel(table) {
|
|
21
|
+
const preSortedRowModel = table.getPreSortedRowModel();
|
|
22
|
+
const sorting = table.store.state.sorting;
|
|
23
|
+
if (!preSortedRowModel.rows.length || !(sorting === null || sorting === void 0 ? void 0 : sorting.length)) return preSortedRowModel;
|
|
24
|
+
const sortedFlatRows = [];
|
|
25
|
+
const availableSorting = sorting.filter((sort) => column_getCanSort(table.getColumn(sort.id)));
|
|
26
|
+
const columnInfoById = {};
|
|
27
|
+
availableSorting.forEach((sortEntry) => {
|
|
28
|
+
const column = table.getColumn(sortEntry.id);
|
|
29
|
+
if (!column) return;
|
|
30
|
+
columnInfoById[sortEntry.id] = {
|
|
31
|
+
sortUndefined: column.columnDef.sortUndefined,
|
|
32
|
+
invertSorting: column.columnDef.invertSorting,
|
|
33
|
+
sortFn: column_getSortFn(column)
|
|
34
|
+
};
|
|
35
|
+
});
|
|
36
|
+
const sortData = (rows) => {
|
|
37
|
+
const sortedData = rows.map((row) => {
|
|
38
|
+
return Object.assign(Object.create(Object.getPrototypeOf(row)), row);
|
|
39
|
+
});
|
|
40
|
+
sortedData.sort((rowA, rowB) => {
|
|
41
|
+
for (const sortEntry of availableSorting) {
|
|
42
|
+
const columnInfo = columnInfoById[sortEntry.id];
|
|
43
|
+
const sortUndefined = columnInfo.sortUndefined;
|
|
44
|
+
const isDesc = sortEntry.desc;
|
|
45
|
+
let sortInt = 0;
|
|
46
|
+
if (sortUndefined) {
|
|
47
|
+
const aValue = rowA.getValue(sortEntry.id);
|
|
48
|
+
const bValue = rowB.getValue(sortEntry.id);
|
|
49
|
+
const aUndefined = aValue === void 0;
|
|
50
|
+
const bUndefined = bValue === void 0;
|
|
51
|
+
if (aUndefined || bUndefined) {
|
|
52
|
+
if (sortUndefined === "first") return aUndefined ? -1 : 1;
|
|
53
|
+
if (sortUndefined === "last") return aUndefined ? 1 : -1;
|
|
54
|
+
sortInt = aUndefined && bUndefined ? 0 : aUndefined ? sortUndefined : -sortUndefined;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (sortInt === 0) sortInt = columnInfo.sortFn(rowA, rowB, sortEntry.id);
|
|
58
|
+
if (sortInt !== 0) {
|
|
59
|
+
if (isDesc) sortInt *= -1;
|
|
60
|
+
if (columnInfo.invertSorting) sortInt *= -1;
|
|
61
|
+
return sortInt;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return rowA.index - rowB.index;
|
|
65
|
+
});
|
|
66
|
+
sortedData.forEach((row) => {
|
|
67
|
+
sortedFlatRows.push(row);
|
|
68
|
+
if (row.subRows.length) row.subRows = sortData(row.subRows);
|
|
69
|
+
});
|
|
70
|
+
return sortedData;
|
|
71
|
+
};
|
|
72
|
+
return {
|
|
73
|
+
rows: sortData(preSortedRowModel.rows),
|
|
74
|
+
flatRows: sortedFlatRows,
|
|
75
|
+
rowsById: preSortedRowModel.rowsById
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
//#endregion
|
|
80
|
+
export { createSortedRowModel };
|
|
81
|
+
//# sourceMappingURL=createSortedRowModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSortedRowModel.js","names":[],"sources":["../../../src/features/row-sorting/createSortedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { table_autoResetPageIndex } from '../row-pagination/rowPaginationFeature.utils'\nimport { column_getCanSort, column_getSortFn } from './rowSortingFeature.utils'\nimport type { Column_Internal } from '../../types/Column'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { SortFn, SortFns } from './rowSortingFeature.types'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createSortedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n sortFns: Record<keyof SortFns, SortFn<TFeatures, TData>>,\n): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table = _table as Table_Internal<TFeatures, TData>\n if (!table._rowModelFns.sortFns) table._rowModelFns.sortFns = sortFns\n return tableMemo({\n feature: 'rowSortingFeature',\n table,\n fnName: 'table.getSortedRowModel',\n memoDeps: () => [table.store.state.sorting, table.getPreSortedRowModel()],\n fn: () => _createSortedRowModel(table),\n onAfterUpdate: () => table_autoResetPageIndex(table),\n })\n }\n}\n\nfunction _createSortedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const preSortedRowModel = table.getPreSortedRowModel()\n const sorting = table.store.state.sorting\n\n if (!preSortedRowModel.rows.length || !sorting?.length) {\n return preSortedRowModel\n }\n\n const sortedFlatRows: Array<Row<TFeatures, TData>> = []\n\n // Filter out sortings that correspond to non existing columns\n const availableSorting = sorting.filter((sort) =>\n column_getCanSort(\n table.getColumn(sort.id) as Column_Internal<TFeatures, TData>,\n ),\n )\n\n const columnInfoById: Record<\n string,\n {\n sortUndefined?: false | -1 | 1 | 'first' | 'last'\n invertSorting?: boolean\n sortFn: SortFn<TFeatures, TData>\n }\n > = {}\n\n availableSorting.forEach((sortEntry) => {\n const column = table.getColumn(sortEntry.id) as\n | Column_Internal<TFeatures, TData>\n | undefined\n if (!column) return\n\n columnInfoById[sortEntry.id] = {\n sortUndefined: column.columnDef.sortUndefined,\n invertSorting: column.columnDef.invertSorting,\n sortFn: column_getSortFn(column),\n }\n })\n\n const sortData = (rows: Array<Row<TFeatures, TData>>) => {\n // This will also perform a stable sorting using the row index\n // if needed.\n // Preserve prototype chain so methods like getValue() remain accessible\n const sortedData = rows.map((row) => {\n const cloned = Object.create(Object.getPrototypeOf(row))\n return Object.assign(cloned, row)\n })\n\n sortedData.sort((rowA, rowB) => {\n for (const sortEntry of availableSorting) {\n const columnInfo = columnInfoById[sortEntry.id]!\n const sortUndefined = columnInfo.sortUndefined\n const isDesc = sortEntry.desc\n\n let sortInt = 0\n\n // All sorting ints should always return in ascending order\n if (sortUndefined) {\n const aValue = rowA.getValue(sortEntry.id)\n const bValue = rowB.getValue(sortEntry.id)\n\n const aUndefined = aValue === undefined\n const bUndefined = bValue === undefined\n\n if (aUndefined || bUndefined) {\n if (sortUndefined === 'first') return aUndefined ? -1 : 1\n if (sortUndefined === 'last') return aUndefined ? 1 : -1\n sortInt =\n aUndefined && bUndefined\n ? 0\n : aUndefined\n ? sortUndefined\n : -sortUndefined\n }\n }\n\n if (sortInt === 0) {\n sortInt = columnInfo.sortFn(rowA, rowB, sortEntry.id)\n }\n\n // If sorting is non-zero, take care of desc and inversion\n if (sortInt !== 0) {\n if (isDesc) {\n sortInt *= -1\n }\n\n if (columnInfo.invertSorting) {\n sortInt *= -1\n }\n\n return sortInt\n }\n }\n return rowA.index - rowB.index\n })\n\n // If there are sub-rows, sort them\n sortedData.forEach((row) => {\n sortedFlatRows.push(row)\n if (row.subRows.length) {\n row.subRows = sortData(row.subRows)\n }\n })\n\n return sortedData\n }\n\n return {\n rows: sortData(preSortedRowModel.rows),\n flatRows: sortedFlatRows,\n rowsById: preSortedRowModel.rowsById,\n }\n}\n"],"mappings":";;;;;AAWA,SAAgB,qBAId,SACsE;AACtE,SAAQ,WAAW;EACjB,MAAM,QAAQ;AACd,MAAI,CAAC,MAAM,aAAa,QAAS,OAAM,aAAa,UAAU;AAC9D,SAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB,CAAC,MAAM,MAAM,MAAM,SAAS,MAAM,sBAAsB,CAAC;GACzE,UAAU,sBAAsB,MAAM;GACtC,qBAAqB,yBAAyB,MAAM;GACrD,CAAC;;;AAIN,SAAS,sBAGP,OAAqE;CACrE,MAAM,oBAAoB,MAAM,sBAAsB;CACtD,MAAM,UAAU,MAAM,MAAM,MAAM;AAElC,KAAI,CAAC,kBAAkB,KAAK,UAAU,oDAAC,QAAS,QAC9C,QAAO;CAGT,MAAM,iBAA+C,EAAE;CAGvD,MAAM,mBAAmB,QAAQ,QAAQ,SACvC,kBACE,MAAM,UAAU,KAAK,GAAG,CACzB,CACF;CAED,MAAM,iBAOF,EAAE;AAEN,kBAAiB,SAAS,cAAc;EACtC,MAAM,SAAS,MAAM,UAAU,UAAU,GAAG;AAG5C,MAAI,CAAC,OAAQ;AAEb,iBAAe,UAAU,MAAM;GAC7B,eAAe,OAAO,UAAU;GAChC,eAAe,OAAO,UAAU;GAChC,QAAQ,iBAAiB,OAAO;GACjC;GACD;CAEF,MAAM,YAAY,SAAuC;EAIvD,MAAM,aAAa,KAAK,KAAK,QAAQ;AAEnC,UAAO,OAAO,OADC,OAAO,OAAO,OAAO,eAAe,IAAI,CAAC,EAC3B,IAAI;IACjC;AAEF,aAAW,MAAM,MAAM,SAAS;AAC9B,QAAK,MAAM,aAAa,kBAAkB;IACxC,MAAM,aAAa,eAAe,UAAU;IAC5C,MAAM,gBAAgB,WAAW;IACjC,MAAM,SAAS,UAAU;IAEzB,IAAI,UAAU;AAGd,QAAI,eAAe;KACjB,MAAM,SAAS,KAAK,SAAS,UAAU,GAAG;KAC1C,MAAM,SAAS,KAAK,SAAS,UAAU,GAAG;KAE1C,MAAM,aAAa,WAAW;KAC9B,MAAM,aAAa,WAAW;AAE9B,SAAI,cAAc,YAAY;AAC5B,UAAI,kBAAkB,QAAS,QAAO,aAAa,KAAK;AACxD,UAAI,kBAAkB,OAAQ,QAAO,aAAa,IAAI;AACtD,gBACE,cAAc,aACV,IACA,aACE,gBACA,CAAC;;;AAIb,QAAI,YAAY,EACd,WAAU,WAAW,OAAO,MAAM,MAAM,UAAU,GAAG;AAIvD,QAAI,YAAY,GAAG;AACjB,SAAI,OACF,YAAW;AAGb,SAAI,WAAW,cACb,YAAW;AAGb,YAAO;;;AAGX,UAAO,KAAK,QAAQ,KAAK;IACzB;AAGF,aAAW,SAAS,QAAQ;AAC1B,kBAAe,KAAK,IAAI;AACxB,OAAI,IAAI,QAAQ,OACd,KAAI,UAAU,SAAS,IAAI,QAAQ;IAErC;AAEF,SAAO;;AAGT,QAAO;EACL,MAAM,SAAS,kBAAkB,KAAK;EACtC,UAAU;EACV,UAAU,kBAAkB;EAC7B"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
const require_utils = require('../../utils.cjs');
|
|
2
|
+
const require_rowSortingFeature_utils = require('./rowSortingFeature.utils.cjs');
|
|
3
|
+
|
|
4
|
+
//#region src/features/row-sorting/rowSortingFeature.ts
|
|
5
|
+
function constructRowSortingFeature() {
|
|
6
|
+
return {
|
|
7
|
+
getInitialState(initialState) {
|
|
8
|
+
return {
|
|
9
|
+
sorting: require_rowSortingFeature_utils.getDefaultSortingState(),
|
|
10
|
+
...initialState
|
|
11
|
+
};
|
|
12
|
+
},
|
|
13
|
+
getDefaultColumnDef() {
|
|
14
|
+
return {
|
|
15
|
+
sortFn: "auto",
|
|
16
|
+
sortUndefined: 1
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
getDefaultTableOptions(table) {
|
|
20
|
+
return {
|
|
21
|
+
onSortingChange: require_utils.makeStateUpdater("sorting", table),
|
|
22
|
+
isMultiSortEvent: (e) => {
|
|
23
|
+
return e.shiftKey;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
},
|
|
27
|
+
assignColumnPrototype(prototype, table) {
|
|
28
|
+
require_utils.assignPrototypeAPIs("rowSortingFeature", prototype, table, {
|
|
29
|
+
"column.getAutoSortFn": { fn: (column) => require_rowSortingFeature_utils.column_getAutoSortFn(column) },
|
|
30
|
+
"column.getAutoSortDir": { fn: (column) => require_rowSortingFeature_utils.column_getAutoSortDir(column) },
|
|
31
|
+
column_getSortFn: { fn: (column) => require_rowSortingFeature_utils.column_getSortFn(column) },
|
|
32
|
+
column_toggleSorting: { fn: (column, desc, multi) => require_rowSortingFeature_utils.column_toggleSorting(column, desc, multi) },
|
|
33
|
+
column_getFirstSortDir: { fn: (column) => require_rowSortingFeature_utils.column_getFirstSortDir(column) },
|
|
34
|
+
column_getNextSortingOrder: { fn: (column, multi) => require_rowSortingFeature_utils.column_getNextSortingOrder(column, multi) },
|
|
35
|
+
column_getCanSort: { fn: (column) => require_rowSortingFeature_utils.column_getCanSort(column) },
|
|
36
|
+
column_getCanMultiSort: { fn: (column) => require_rowSortingFeature_utils.column_getCanMultiSort(column) },
|
|
37
|
+
column_getIsSorted: { fn: (column) => require_rowSortingFeature_utils.column_getIsSorted(column) },
|
|
38
|
+
column_getSortIndex: { fn: (column) => require_rowSortingFeature_utils.column_getSortIndex(column) },
|
|
39
|
+
column_clearSorting: { fn: (column) => require_rowSortingFeature_utils.column_clearSorting(column) },
|
|
40
|
+
column_getToggleSortingHandler: { fn: (column) => require_rowSortingFeature_utils.column_getToggleSortingHandler(column) }
|
|
41
|
+
});
|
|
42
|
+
},
|
|
43
|
+
constructTableAPIs(table) {
|
|
44
|
+
require_utils.assignTableAPIs("rowSortingFeature", table, {
|
|
45
|
+
table_setSorting: { fn: (updater) => require_rowSortingFeature_utils.table_setSorting(table, updater) },
|
|
46
|
+
table_resetSorting: { fn: (defaultState) => require_rowSortingFeature_utils.table_resetSorting(table, defaultState) }
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The (Row) Sorting feature adds sorting state and APIs to the table and column objects.
|
|
53
|
+
*/
|
|
54
|
+
const rowSortingFeature = constructRowSortingFeature();
|
|
55
|
+
|
|
56
|
+
//#endregion
|
|
57
|
+
exports.constructRowSortingFeature = constructRowSortingFeature;
|
|
58
|
+
exports.rowSortingFeature = rowSortingFeature;
|
|
59
|
+
//# sourceMappingURL=rowSortingFeature.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rowSortingFeature.cjs","names":["getDefaultSortingState","makeStateUpdater","column_getAutoSortFn","column_getAutoSortDir","column_getSortFn","column_toggleSorting","column_getFirstSortDir","column_getNextSortingOrder","column_getCanSort","column_getCanMultiSort","column_getIsSorted","column_getSortIndex","column_clearSorting","column_getToggleSortingHandler","table_setSorting","table_resetSorting"],"sources":["../../../src/features/row-sorting/rowSortingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_clearSorting,\n column_getAutoSortDir,\n column_getAutoSortFn,\n column_getCanMultiSort,\n column_getCanSort,\n column_getFirstSortDir,\n column_getIsSorted,\n column_getNextSortingOrder,\n column_getSortFn,\n column_getSortIndex,\n column_getToggleSortingHandler,\n column_toggleSorting,\n getDefaultSortingState,\n table_resetSorting,\n table_setSorting,\n} from './rowSortingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// CachedRowModel_Sorted,\n// ColumnDef_RowSorting,\n// Column_RowSorting,\n// CreateRowModel_Sorted,\n// RowModelFns_RowSorting,\n// TableOptions_RowSorting,\n// TableState_RowSorting,\n// Table_RowSorting,\n// } from './rowSortingFeature.types'\n\ninterface RowSortingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // CachedRowModel: CachedRowModel_Sorted<TFeatures, TData>\n // Column: Column_RowSorting<TFeatures, TData>\n // ColumnDef: ColumnDef_RowSorting<TFeatures, TData>\n // CreateRowModels: CreateRowModel_Sorted<TFeatures, TData>\n // RowModelFns: RowModelFns_RowSorting<TFeatures, TData>\n // Table: Table_RowSorting<TFeatures, TData>\n // TableOptions: TableOptions_RowSorting\n // TableState: TableState_RowSorting\n}\n\nexport function constructRowSortingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<RowSortingFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState(initialState) {\n return {\n sorting: getDefaultSortingState(),\n ...initialState,\n }\n },\n\n getDefaultColumnDef() {\n return {\n sortFn: 'auto',\n sortUndefined: 1,\n }\n },\n\n getDefaultTableOptions(table) {\n return {\n onSortingChange: makeStateUpdater('sorting', table),\n isMultiSortEvent: (e: unknown) => {\n return (e as MouseEvent).shiftKey\n },\n }\n },\n\n assignColumnPrototype(prototype, table) {\n assignPrototypeAPIs('rowSortingFeature', prototype, table, {\n 'column.getAutoSortFn': {\n fn: (column) => column_getAutoSortFn(column),\n },\n 'column.getAutoSortDir': {\n fn: (column) => column_getAutoSortDir(column),\n },\n column_getSortFn: {\n fn: (column) => column_getSortFn(column),\n },\n column_toggleSorting: {\n fn: (column, desc, multi) =>\n column_toggleSorting(column, desc, multi),\n },\n column_getFirstSortDir: {\n fn: (column) => column_getFirstSortDir(column),\n },\n column_getNextSortingOrder: {\n fn: (column, multi) => column_getNextSortingOrder(column, multi),\n },\n column_getCanSort: {\n fn: (column) => column_getCanSort(column),\n },\n column_getCanMultiSort: {\n fn: (column) => column_getCanMultiSort(column),\n },\n column_getIsSorted: {\n fn: (column) => column_getIsSorted(column),\n },\n column_getSortIndex: {\n fn: (column) => column_getSortIndex(column),\n },\n column_clearSorting: {\n fn: (column) => column_clearSorting(column),\n },\n column_getToggleSortingHandler: {\n fn: (column) => column_getToggleSortingHandler(column),\n },\n })\n },\n\n constructTableAPIs(table) {\n assignTableAPIs('rowSortingFeature', table, {\n table_setSorting: {\n fn: (updater) => table_setSorting(table, updater),\n },\n table_resetSorting: {\n fn: (defaultState) => table_resetSorting(table, defaultState),\n },\n })\n },\n }\n}\n\n/**\n * The (Row) Sorting feature adds sorting state and APIs to the table and column objects.\n */\nexport const rowSortingFeature = constructRowSortingFeature()\n"],"mappings":";;;;AAiDA,SAAgB,6BAGmD;AACjE,QAAO;EACL,gBAAgB,cAAc;AAC5B,UAAO;IACL,SAASA,wDAAwB;IACjC,GAAG;IACJ;;EAGH,sBAAsB;AACpB,UAAO;IACL,QAAQ;IACR,eAAe;IAChB;;EAGH,uBAAuB,OAAO;AAC5B,UAAO;IACL,iBAAiBC,+BAAiB,WAAW,MAAM;IACnD,mBAAmB,MAAe;AAChC,YAAQ,EAAiB;;IAE5B;;EAGH,sBAAsB,WAAW,OAAO;AACtC,qCAAoB,qBAAqB,WAAW,OAAO;IACzD,wBAAwB,EACtB,KAAK,WAAWC,qDAAqB,OAAO,EAC7C;IACD,yBAAyB,EACvB,KAAK,WAAWC,sDAAsB,OAAO,EAC9C;IACD,kBAAkB,EAChB,KAAK,WAAWC,iDAAiB,OAAO,EACzC;IACD,sBAAsB,EACpB,KAAK,QAAQ,MAAM,UACjBC,qDAAqB,QAAQ,MAAM,MAAM,EAC5C;IACD,wBAAwB,EACtB,KAAK,WAAWC,uDAAuB,OAAO,EAC/C;IACD,4BAA4B,EAC1B,KAAK,QAAQ,UAAUC,2DAA2B,QAAQ,MAAM,EACjE;IACD,mBAAmB,EACjB,KAAK,WAAWC,kDAAkB,OAAO,EAC1C;IACD,wBAAwB,EACtB,KAAK,WAAWC,uDAAuB,OAAO,EAC/C;IACD,oBAAoB,EAClB,KAAK,WAAWC,mDAAmB,OAAO,EAC3C;IACD,qBAAqB,EACnB,KAAK,WAAWC,oDAAoB,OAAO,EAC5C;IACD,qBAAqB,EACnB,KAAK,WAAWC,oDAAoB,OAAO,EAC5C;IACD,gCAAgC,EAC9B,KAAK,WAAWC,+DAA+B,OAAO,EACvD;IACF,CAAC;;EAGJ,mBAAmB,OAAO;AACxB,iCAAgB,qBAAqB,OAAO;IAC1C,kBAAkB,EAChB,KAAK,YAAYC,iDAAiB,OAAO,QAAQ,EAClD;IACD,oBAAoB,EAClB,KAAK,iBAAiBC,mDAAmB,OAAO,aAAa,EAC9D;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,oBAAoB,4BAA4B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RowData } from "../../types/type-utils.cjs";
|
|
2
|
+
import { TableFeature, TableFeatures } from "../../types/TableFeatures.cjs";
|
|
3
|
+
|
|
4
|
+
//#region src/features/row-sorting/rowSortingFeature.d.ts
|
|
5
|
+
interface RowSortingFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {}
|
|
6
|
+
declare function constructRowSortingFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<RowSortingFeatureConstructors<TFeatures, TData>>;
|
|
7
|
+
/**
|
|
8
|
+
* The (Row) Sorting feature adds sorting state and APIs to the table and column objects.
|
|
9
|
+
*/
|
|
10
|
+
declare const rowSortingFeature: TableFeature<RowSortingFeatureConstructors<TableFeatures, RowData>>;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { constructRowSortingFeature, rowSortingFeature };
|
|
13
|
+
//# sourceMappingURL=rowSortingFeature.d.cts.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RowData } from "../../types/type-utils.js";
|
|
2
|
+
import { TableFeature, TableFeatures } from "../../types/TableFeatures.js";
|
|
3
|
+
|
|
4
|
+
//#region src/features/row-sorting/rowSortingFeature.d.ts
|
|
5
|
+
interface RowSortingFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {}
|
|
6
|
+
declare function constructRowSortingFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<RowSortingFeatureConstructors<TFeatures, TData>>;
|
|
7
|
+
/**
|
|
8
|
+
* The (Row) Sorting feature adds sorting state and APIs to the table and column objects.
|
|
9
|
+
*/
|
|
10
|
+
declare const rowSortingFeature: TableFeature<RowSortingFeatureConstructors<TableFeatures, RowData>>;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { constructRowSortingFeature, rowSortingFeature };
|
|
13
|
+
//# sourceMappingURL=rowSortingFeature.d.ts.map
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { assignPrototypeAPIs, assignTableAPIs, makeStateUpdater } from "../../utils.js";
|
|
2
|
+
import { 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 } from "./rowSortingFeature.utils.js";
|
|
3
|
+
|
|
4
|
+
//#region src/features/row-sorting/rowSortingFeature.ts
|
|
5
|
+
function constructRowSortingFeature() {
|
|
6
|
+
return {
|
|
7
|
+
getInitialState(initialState) {
|
|
8
|
+
return {
|
|
9
|
+
sorting: getDefaultSortingState(),
|
|
10
|
+
...initialState
|
|
11
|
+
};
|
|
12
|
+
},
|
|
13
|
+
getDefaultColumnDef() {
|
|
14
|
+
return {
|
|
15
|
+
sortFn: "auto",
|
|
16
|
+
sortUndefined: 1
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
getDefaultTableOptions(table) {
|
|
20
|
+
return {
|
|
21
|
+
onSortingChange: makeStateUpdater("sorting", table),
|
|
22
|
+
isMultiSortEvent: (e) => {
|
|
23
|
+
return e.shiftKey;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
},
|
|
27
|
+
assignColumnPrototype(prototype, table) {
|
|
28
|
+
assignPrototypeAPIs("rowSortingFeature", prototype, table, {
|
|
29
|
+
"column.getAutoSortFn": { fn: (column) => column_getAutoSortFn(column) },
|
|
30
|
+
"column.getAutoSortDir": { fn: (column) => column_getAutoSortDir(column) },
|
|
31
|
+
column_getSortFn: { fn: (column) => column_getSortFn(column) },
|
|
32
|
+
column_toggleSorting: { fn: (column, desc, multi) => column_toggleSorting(column, desc, multi) },
|
|
33
|
+
column_getFirstSortDir: { fn: (column) => column_getFirstSortDir(column) },
|
|
34
|
+
column_getNextSortingOrder: { fn: (column, multi) => column_getNextSortingOrder(column, multi) },
|
|
35
|
+
column_getCanSort: { fn: (column) => column_getCanSort(column) },
|
|
36
|
+
column_getCanMultiSort: { fn: (column) => column_getCanMultiSort(column) },
|
|
37
|
+
column_getIsSorted: { fn: (column) => column_getIsSorted(column) },
|
|
38
|
+
column_getSortIndex: { fn: (column) => column_getSortIndex(column) },
|
|
39
|
+
column_clearSorting: { fn: (column) => column_clearSorting(column) },
|
|
40
|
+
column_getToggleSortingHandler: { fn: (column) => column_getToggleSortingHandler(column) }
|
|
41
|
+
});
|
|
42
|
+
},
|
|
43
|
+
constructTableAPIs(table) {
|
|
44
|
+
assignTableAPIs("rowSortingFeature", table, {
|
|
45
|
+
table_setSorting: { fn: (updater) => table_setSorting(table, updater) },
|
|
46
|
+
table_resetSorting: { fn: (defaultState) => table_resetSorting(table, defaultState) }
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The (Row) Sorting feature adds sorting state and APIs to the table and column objects.
|
|
53
|
+
*/
|
|
54
|
+
const rowSortingFeature = constructRowSortingFeature();
|
|
55
|
+
|
|
56
|
+
//#endregion
|
|
57
|
+
export { constructRowSortingFeature, rowSortingFeature };
|
|
58
|
+
//# sourceMappingURL=rowSortingFeature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rowSortingFeature.js","names":[],"sources":["../../../src/features/row-sorting/rowSortingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_clearSorting,\n column_getAutoSortDir,\n column_getAutoSortFn,\n column_getCanMultiSort,\n column_getCanSort,\n column_getFirstSortDir,\n column_getIsSorted,\n column_getNextSortingOrder,\n column_getSortFn,\n column_getSortIndex,\n column_getToggleSortingHandler,\n column_toggleSorting,\n getDefaultSortingState,\n table_resetSorting,\n table_setSorting,\n} from './rowSortingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// CachedRowModel_Sorted,\n// ColumnDef_RowSorting,\n// Column_RowSorting,\n// CreateRowModel_Sorted,\n// RowModelFns_RowSorting,\n// TableOptions_RowSorting,\n// TableState_RowSorting,\n// Table_RowSorting,\n// } from './rowSortingFeature.types'\n\ninterface RowSortingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // CachedRowModel: CachedRowModel_Sorted<TFeatures, TData>\n // Column: Column_RowSorting<TFeatures, TData>\n // ColumnDef: ColumnDef_RowSorting<TFeatures, TData>\n // CreateRowModels: CreateRowModel_Sorted<TFeatures, TData>\n // RowModelFns: RowModelFns_RowSorting<TFeatures, TData>\n // Table: Table_RowSorting<TFeatures, TData>\n // TableOptions: TableOptions_RowSorting\n // TableState: TableState_RowSorting\n}\n\nexport function constructRowSortingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<RowSortingFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState(initialState) {\n return {\n sorting: getDefaultSortingState(),\n ...initialState,\n }\n },\n\n getDefaultColumnDef() {\n return {\n sortFn: 'auto',\n sortUndefined: 1,\n }\n },\n\n getDefaultTableOptions(table) {\n return {\n onSortingChange: makeStateUpdater('sorting', table),\n isMultiSortEvent: (e: unknown) => {\n return (e as MouseEvent).shiftKey\n },\n }\n },\n\n assignColumnPrototype(prototype, table) {\n assignPrototypeAPIs('rowSortingFeature', prototype, table, {\n 'column.getAutoSortFn': {\n fn: (column) => column_getAutoSortFn(column),\n },\n 'column.getAutoSortDir': {\n fn: (column) => column_getAutoSortDir(column),\n },\n column_getSortFn: {\n fn: (column) => column_getSortFn(column),\n },\n column_toggleSorting: {\n fn: (column, desc, multi) =>\n column_toggleSorting(column, desc, multi),\n },\n column_getFirstSortDir: {\n fn: (column) => column_getFirstSortDir(column),\n },\n column_getNextSortingOrder: {\n fn: (column, multi) => column_getNextSortingOrder(column, multi),\n },\n column_getCanSort: {\n fn: (column) => column_getCanSort(column),\n },\n column_getCanMultiSort: {\n fn: (column) => column_getCanMultiSort(column),\n },\n column_getIsSorted: {\n fn: (column) => column_getIsSorted(column),\n },\n column_getSortIndex: {\n fn: (column) => column_getSortIndex(column),\n },\n column_clearSorting: {\n fn: (column) => column_clearSorting(column),\n },\n column_getToggleSortingHandler: {\n fn: (column) => column_getToggleSortingHandler(column),\n },\n })\n },\n\n constructTableAPIs(table) {\n assignTableAPIs('rowSortingFeature', table, {\n table_setSorting: {\n fn: (updater) => table_setSorting(table, updater),\n },\n table_resetSorting: {\n fn: (defaultState) => table_resetSorting(table, defaultState),\n },\n })\n },\n }\n}\n\n/**\n * The (Row) Sorting feature adds sorting state and APIs to the table and column objects.\n */\nexport const rowSortingFeature = constructRowSortingFeature()\n"],"mappings":";;;;AAiDA,SAAgB,6BAGmD;AACjE,QAAO;EACL,gBAAgB,cAAc;AAC5B,UAAO;IACL,SAAS,wBAAwB;IACjC,GAAG;IACJ;;EAGH,sBAAsB;AACpB,UAAO;IACL,QAAQ;IACR,eAAe;IAChB;;EAGH,uBAAuB,OAAO;AAC5B,UAAO;IACL,iBAAiB,iBAAiB,WAAW,MAAM;IACnD,mBAAmB,MAAe;AAChC,YAAQ,EAAiB;;IAE5B;;EAGH,sBAAsB,WAAW,OAAO;AACtC,uBAAoB,qBAAqB,WAAW,OAAO;IACzD,wBAAwB,EACtB,KAAK,WAAW,qBAAqB,OAAO,EAC7C;IACD,yBAAyB,EACvB,KAAK,WAAW,sBAAsB,OAAO,EAC9C;IACD,kBAAkB,EAChB,KAAK,WAAW,iBAAiB,OAAO,EACzC;IACD,sBAAsB,EACpB,KAAK,QAAQ,MAAM,UACjB,qBAAqB,QAAQ,MAAM,MAAM,EAC5C;IACD,wBAAwB,EACtB,KAAK,WAAW,uBAAuB,OAAO,EAC/C;IACD,4BAA4B,EAC1B,KAAK,QAAQ,UAAU,2BAA2B,QAAQ,MAAM,EACjE;IACD,mBAAmB,EACjB,KAAK,WAAW,kBAAkB,OAAO,EAC1C;IACD,wBAAwB,EACtB,KAAK,WAAW,uBAAuB,OAAO,EAC/C;IACD,oBAAoB,EAClB,KAAK,WAAW,mBAAmB,OAAO,EAC3C;IACD,qBAAqB,EACnB,KAAK,WAAW,oBAAoB,OAAO,EAC5C;IACD,qBAAqB,EACnB,KAAK,WAAW,oBAAoB,OAAO,EAC5C;IACD,gCAAgC,EAC9B,KAAK,WAAW,+BAA+B,OAAO,EACvD;IACF,CAAC;;EAGJ,mBAAmB,OAAO;AACxB,mBAAgB,qBAAqB,OAAO;IAC1C,kBAAkB,EAChB,KAAK,YAAY,iBAAiB,OAAO,QAAQ,EAClD;IACD,oBAAoB,EAClB,KAAK,iBAAiB,mBAAmB,OAAO,aAAa,EAC9D;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,oBAAoB,4BAA4B"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { OnChangeFn, RowData, Updater } from "../../types/type-utils.cjs";
|
|
2
|
+
import { BuiltInSortFn } from "../../fns/sortFns.cjs";
|
|
3
|
+
import { Row } from "../../types/Row.cjs";
|
|
4
|
+
import { TableFeatures } from "../../types/TableFeatures.cjs";
|
|
5
|
+
import { Table } from "../../types/Table.cjs";
|
|
6
|
+
import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.cjs";
|
|
7
|
+
|
|
8
|
+
//#region src/features/row-sorting/rowSortingFeature.types.d.ts
|
|
9
|
+
type SortDirection = 'asc' | 'desc';
|
|
10
|
+
interface ColumnSort {
|
|
11
|
+
desc: boolean;
|
|
12
|
+
id: string;
|
|
13
|
+
}
|
|
14
|
+
type SortingState = Array<ColumnSort>;
|
|
15
|
+
interface TableState_RowSorting {
|
|
16
|
+
sorting: SortingState;
|
|
17
|
+
}
|
|
18
|
+
interface RowModelFns_RowSorting<TFeatures extends TableFeatures, TData extends RowData> {
|
|
19
|
+
sortFns: Record<keyof SortFns, SortFn<TFeatures, TData>>;
|
|
20
|
+
}
|
|
21
|
+
interface SortFns {}
|
|
22
|
+
interface SortFn<TFeatures extends TableFeatures, TData extends RowData> {
|
|
23
|
+
(rowA: Row<TFeatures, TData>, rowB: Row<TFeatures, TData>, columnId: string): number;
|
|
24
|
+
}
|
|
25
|
+
type CustomSortFns<TFeatures extends TableFeatures, TData extends RowData> = Record<string, SortFn<TFeatures, TData>>;
|
|
26
|
+
type SortFnOption<TFeatures extends TableFeatures, TData extends RowData> = 'auto' | keyof SortFns | BuiltInSortFn | SortFn<TFeatures, TData>;
|
|
27
|
+
interface ColumnDef_RowSorting<TFeatures extends TableFeatures, TData extends RowData> {
|
|
28
|
+
/**
|
|
29
|
+
* Enables/Disables multi-sorting for this column.
|
|
30
|
+
*/
|
|
31
|
+
enableMultiSort?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Enables/Disables sorting for this column.
|
|
34
|
+
*/
|
|
35
|
+
enableSorting?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Inverts the order of the sorting for this column. This is useful for values that have an inverted best/worst scale where lower numbers are better, eg. a ranking (1st, 2nd, 3rd) or golf-like scoring
|
|
38
|
+
*/
|
|
39
|
+
invertSorting?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Set to `true` for sorting toggles on this column to start in the descending direction.
|
|
42
|
+
*/
|
|
43
|
+
sortDescFirst?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* The sorting function to use with this column.
|
|
46
|
+
* - A `string` referencing a built-in sorting function
|
|
47
|
+
* - A custom sorting function
|
|
48
|
+
*/
|
|
49
|
+
sortFn?: SortFnOption<TFeatures, TData>;
|
|
50
|
+
/**
|
|
51
|
+
* The priority of undefined values when sorting this column.
|
|
52
|
+
* - `false`
|
|
53
|
+
* - Undefined values will be considered tied and need to be sorted by the next column filter or original index (whichever applies)
|
|
54
|
+
* - `-1`
|
|
55
|
+
* - Undefined values will be sorted with higher priority (ascending) (if ascending, undefined will appear on the beginning of the list)
|
|
56
|
+
* - `1`
|
|
57
|
+
* - Undefined values will be sorted with lower priority (descending) (if ascending, undefined will appear on the end of the list)
|
|
58
|
+
*/
|
|
59
|
+
sortUndefined?: false | -1 | 1 | 'first' | 'last';
|
|
60
|
+
}
|
|
61
|
+
interface Column_RowSorting<TFeatures extends TableFeatures, TData extends RowData> {
|
|
62
|
+
/**
|
|
63
|
+
* Removes this column from the table's sorting state
|
|
64
|
+
*/
|
|
65
|
+
clearSorting: () => void;
|
|
66
|
+
/**
|
|
67
|
+
* Returns a sort direction automatically inferred based on the columns values.
|
|
68
|
+
*/
|
|
69
|
+
getAutoSortDir: () => SortDirection;
|
|
70
|
+
/**
|
|
71
|
+
* Returns a sorting function automatically inferred based on the columns values.
|
|
72
|
+
*/
|
|
73
|
+
getAutoSortFn: () => SortFn<TFeatures, TData>;
|
|
74
|
+
/**
|
|
75
|
+
* Returns whether this column can be multi-sorted.
|
|
76
|
+
*/
|
|
77
|
+
getCanMultiSort: () => boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Returns whether this column can be sorted.
|
|
80
|
+
*/
|
|
81
|
+
getCanSort: () => boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Returns the first direction that should be used when sorting this column.
|
|
84
|
+
*/
|
|
85
|
+
getFirstSortDir: () => SortDirection;
|
|
86
|
+
/**
|
|
87
|
+
* Returns the current sort direction of this column.
|
|
88
|
+
*/
|
|
89
|
+
getIsSorted: () => false | SortDirection;
|
|
90
|
+
/**
|
|
91
|
+
* Returns the next sorting order.
|
|
92
|
+
*/
|
|
93
|
+
getNextSortingOrder: () => SortDirection | false;
|
|
94
|
+
/**
|
|
95
|
+
* Returns the index position of this column's sorting within the sorting state
|
|
96
|
+
*/
|
|
97
|
+
getSortIndex: () => number;
|
|
98
|
+
/**
|
|
99
|
+
* Returns the resolved sorting function to be used for this column
|
|
100
|
+
*/
|
|
101
|
+
getSortFn: () => SortFn<TFeatures, TData>;
|
|
102
|
+
/**
|
|
103
|
+
* Returns a function that can be used to toggle this column's sorting state. This is useful for attaching a click handler to the column header.
|
|
104
|
+
*/
|
|
105
|
+
getToggleSortingHandler: () => undefined | ((event: unknown) => void);
|
|
106
|
+
/**
|
|
107
|
+
* Toggles this columns sorting state. If `desc` is provided, it will force the sort direction to that value. If `isMulti` is provided, it will additivity multi-sort the column (or toggle it if it is already sorted).
|
|
108
|
+
*/
|
|
109
|
+
toggleSorting: (desc?: boolean, isMulti?: boolean) => void;
|
|
110
|
+
}
|
|
111
|
+
interface TableOptions_RowSorting {
|
|
112
|
+
/**
|
|
113
|
+
* Enables/disables the ability to remove multi-sorts
|
|
114
|
+
*/
|
|
115
|
+
enableMultiRemove?: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Enables/Disables multi-sorting for the table.
|
|
118
|
+
*/
|
|
119
|
+
enableMultiSort?: boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Enables/Disables sorting for the table.
|
|
122
|
+
*/
|
|
123
|
+
enableSorting?: boolean;
|
|
124
|
+
/**
|
|
125
|
+
* Enables/Disables the ability to remove sorting for the table.
|
|
126
|
+
* - If `true` then changing sort order will circle like: 'none' -> 'desc' -> 'asc' -> 'none' -> ...
|
|
127
|
+
* - If `false` then changing sort order will circle like: 'none' -> 'desc' -> 'asc' -> 'desc' -> 'asc' -> ...
|
|
128
|
+
*/
|
|
129
|
+
enableSortingRemoval?: boolean;
|
|
130
|
+
/**
|
|
131
|
+
* Pass a custom function that will be used to determine if a multi-sort event should be triggered. It is passed the event from the sort toggle handler and should return `true` if the event should trigger a multi-sort.
|
|
132
|
+
*/
|
|
133
|
+
isMultiSortEvent?: (e: unknown) => boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Enables manual sorting for the table. If this is `true`, you will be expected to sort your data before it is passed to the table. This is useful if you are doing server-side sorting.
|
|
136
|
+
*/
|
|
137
|
+
manualSorting?: boolean;
|
|
138
|
+
/**
|
|
139
|
+
* Set a maximum number of columns that can be multi-sorted.
|
|
140
|
+
*/
|
|
141
|
+
maxMultiSortColCount?: number;
|
|
142
|
+
/**
|
|
143
|
+
* If provided, this function will be called with an `updaterFn` when `state.sorting` changes. This overrides the default internal state management, so you will need to persist the state change either fully or partially outside of the table.
|
|
144
|
+
*/
|
|
145
|
+
onSortingChange?: OnChangeFn<SortingState>;
|
|
146
|
+
/**
|
|
147
|
+
* If `true`, all sorts will default to descending as their first toggle state.
|
|
148
|
+
*/
|
|
149
|
+
sortDescFirst?: boolean;
|
|
150
|
+
}
|
|
151
|
+
interface Table_RowSorting<TFeatures extends TableFeatures, TData extends RowData> {
|
|
152
|
+
/**
|
|
153
|
+
* Resets the **sorting** state to `initialState.sorting`, or `true` can be passed to force a default blank state reset to `[]`.
|
|
154
|
+
*/
|
|
155
|
+
resetSorting: (defaultState?: boolean) => void;
|
|
156
|
+
/**
|
|
157
|
+
* Sets or updates the `state.sorting` state.
|
|
158
|
+
*/
|
|
159
|
+
setSorting: (updater: Updater<SortingState>) => void;
|
|
160
|
+
}
|
|
161
|
+
interface Table_RowModels_Sorted<TFeatures extends TableFeatures, TData extends RowData> {
|
|
162
|
+
/**
|
|
163
|
+
* Returns the row model for the table before any sorting has been applied.
|
|
164
|
+
*/
|
|
165
|
+
getPreSortedRowModel: () => RowModel<TFeatures, TData>;
|
|
166
|
+
/**
|
|
167
|
+
* Returns the row model for the table after sorting has been applied.
|
|
168
|
+
*/
|
|
169
|
+
getSortedRowModel: () => RowModel<TFeatures, TData>;
|
|
170
|
+
}
|
|
171
|
+
interface CreateRowModel_Sorted<TFeatures extends TableFeatures, TData extends RowData> {
|
|
172
|
+
/**
|
|
173
|
+
* This function is used to retrieve the sorted row model. If using server-side sorting, this function is not required. To use client-side sorting, pass the exported `getSortedRowModel()` from your adapter to your table or implement your own.
|
|
174
|
+
*/
|
|
175
|
+
sortedRowModel?: (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
|
|
176
|
+
}
|
|
177
|
+
interface CachedRowModel_Sorted<TFeatures extends TableFeatures, TData extends RowData> {
|
|
178
|
+
sortedRowModel: () => RowModel<TFeatures, TData>;
|
|
179
|
+
}
|
|
180
|
+
//#endregion
|
|
181
|
+
export { CachedRowModel_Sorted, ColumnDef_RowSorting, ColumnSort, Column_RowSorting, CreateRowModel_Sorted, CustomSortFns, RowModelFns_RowSorting, SortDirection, SortFn, SortFnOption, SortFns, SortingState, TableOptions_RowSorting, TableState_RowSorting, Table_RowModels_Sorted, Table_RowSorting };
|
|
182
|
+
//# sourceMappingURL=rowSortingFeature.types.d.cts.map
|