@tanstack/table-core 9.0.0-alpha.21 → 9.0.0-alpha.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +117 -0
- 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 +181 -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 +180 -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 +84 -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 +83 -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-pinning/columnPinningFeature.ts +3 -0
- package/src/features/column-visibility/columnVisibilityFeature.ts +2 -0
- 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 -197
- 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
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { columnFacetingFeature } from './column-faceting/columnFacetingFeature.js';
|
|
2
|
-
import { columnFilteringFeature } from './column-filtering/columnFilteringFeature.js';
|
|
3
|
-
import { columnGroupingFeature } from './column-grouping/columnGroupingFeature.js';
|
|
4
|
-
import { columnOrderingFeature } from './column-ordering/columnOrderingFeature.js';
|
|
5
|
-
import { columnPinningFeature } from './column-pinning/columnPinningFeature.js';
|
|
6
|
-
import { columnResizingFeature } from './column-resizing/columnResizingFeature.js';
|
|
7
|
-
import { columnSizingFeature } from './column-sizing/columnSizingFeature.js';
|
|
8
|
-
import { columnVisibilityFeature } from './column-visibility/columnVisibilityFeature.js';
|
|
9
|
-
import { globalFilteringFeature } from './global-filtering/globalFilteringFeature.js';
|
|
10
|
-
import { rowExpandingFeature } from './row-expanding/rowExpandingFeature.js';
|
|
11
|
-
import { rowPaginationFeature } from './row-pagination/rowPaginationFeature.js';
|
|
12
|
-
import { rowPinningFeature } from './row-pinning/rowPinningFeature.js';
|
|
13
|
-
import { rowSelectionFeature } from './row-selection/rowSelectionFeature.js';
|
|
14
|
-
import { rowSortingFeature } from './row-sorting/rowSortingFeature.js';
|
|
15
|
-
export interface StockFeatures {
|
|
16
|
-
columnFacetingFeature: typeof columnFacetingFeature;
|
|
17
|
-
columnFilteringFeature: typeof columnFilteringFeature;
|
|
18
|
-
columnGroupingFeature: typeof columnGroupingFeature;
|
|
19
|
-
columnOrderingFeature: typeof columnOrderingFeature;
|
|
20
|
-
columnPinningFeature: typeof columnPinningFeature;
|
|
21
|
-
columnResizingFeature: typeof columnResizingFeature;
|
|
22
|
-
columnSizingFeature: typeof columnSizingFeature;
|
|
23
|
-
columnVisibilityFeature: typeof columnVisibilityFeature;
|
|
24
|
-
globalFilteringFeature: typeof globalFilteringFeature;
|
|
25
|
-
rowExpandingFeature: typeof rowExpandingFeature;
|
|
26
|
-
rowPaginationFeature: typeof rowPaginationFeature;
|
|
27
|
-
rowPinningFeature: typeof rowPinningFeature;
|
|
28
|
-
rowSelectionFeature: typeof rowSelectionFeature;
|
|
29
|
-
rowSortingFeature: typeof rowSortingFeature;
|
|
30
|
-
}
|
|
31
|
-
export declare const stockFeatures: StockFeatures;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stockFeatures.js","sources":["../../../src/features/stockFeatures.ts"],"sourcesContent":["import { columnFacetingFeature } from './column-faceting/columnFacetingFeature'\nimport { columnFilteringFeature } from './column-filtering/columnFilteringFeature'\nimport { columnGroupingFeature } from './column-grouping/columnGroupingFeature'\nimport { columnOrderingFeature } from './column-ordering/columnOrderingFeature'\nimport { columnPinningFeature } from './column-pinning/columnPinningFeature'\nimport { columnResizingFeature } from './column-resizing/columnResizingFeature'\nimport { columnSizingFeature } from './column-sizing/columnSizingFeature'\nimport { columnVisibilityFeature } from './column-visibility/columnVisibilityFeature'\nimport { globalFilteringFeature } from './global-filtering/globalFilteringFeature'\nimport { rowExpandingFeature } from './row-expanding/rowExpandingFeature'\nimport { rowPaginationFeature } from './row-pagination/rowPaginationFeature'\nimport { rowPinningFeature } from './row-pinning/rowPinningFeature'\nimport { rowSelectionFeature } from './row-selection/rowSelectionFeature'\nimport { rowSortingFeature } from './row-sorting/rowSortingFeature'\n\nexport interface StockFeatures {\n columnFacetingFeature: typeof columnFacetingFeature\n columnFilteringFeature: typeof columnFilteringFeature\n columnGroupingFeature: typeof columnGroupingFeature\n columnOrderingFeature: typeof columnOrderingFeature\n columnPinningFeature: typeof columnPinningFeature\n columnResizingFeature: typeof columnResizingFeature\n columnSizingFeature: typeof columnSizingFeature\n columnVisibilityFeature: typeof columnVisibilityFeature\n globalFilteringFeature: typeof globalFilteringFeature\n rowExpandingFeature: typeof rowExpandingFeature\n rowPaginationFeature: typeof rowPaginationFeature\n rowPinningFeature: typeof rowPinningFeature\n rowSelectionFeature: typeof rowSelectionFeature\n rowSortingFeature: typeof rowSortingFeature\n}\n\nexport const stockFeatures: StockFeatures = {\n columnFacetingFeature,\n columnFilteringFeature,\n columnGroupingFeature,\n columnOrderingFeature,\n columnPinningFeature,\n columnResizingFeature,\n columnSizingFeature,\n columnVisibilityFeature,\n globalFilteringFeature,\n rowExpandingFeature,\n rowPaginationFeature,\n rowPinningFeature,\n rowSelectionFeature,\n rowSortingFeature,\n} as const\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAgCO,MAAM,gBAA+B;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { TableFeature, TableFeatures } from '../../types/TableFeatures.js';
|
|
2
|
-
import { RowData } from '../../types/type-utils.js';
|
|
3
|
-
interface TableReactivityFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {
|
|
4
|
-
}
|
|
5
|
-
export declare function constructReactivityFeature<TFeatures extends TableFeatures, TData extends RowData>(bindings: {
|
|
6
|
-
stateNotifier?: () => unknown;
|
|
7
|
-
optionsNotifier?: () => unknown;
|
|
8
|
-
}): TableFeature<TableReactivityFeatureConstructors<TFeatures, TData>>;
|
|
9
|
-
export {};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
function constructReactivityFeature(bindings) {
|
|
2
|
-
return {
|
|
3
|
-
constructTableAPIs: (table) => {
|
|
4
|
-
table.store = bindStore(table.store, bindings.stateNotifier);
|
|
5
|
-
table.optionsStore = bindStore(
|
|
6
|
-
table.optionsStore,
|
|
7
|
-
bindings.optionsNotifier
|
|
8
|
-
);
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
const bindStore = (store, notifier) => {
|
|
13
|
-
const stateDescriptor = Object.getOwnPropertyDescriptor(
|
|
14
|
-
Object.getPrototypeOf(store),
|
|
15
|
-
"state"
|
|
16
|
-
);
|
|
17
|
-
Object.defineProperty(store, "state", {
|
|
18
|
-
configurable: true,
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get() {
|
|
21
|
-
notifier?.();
|
|
22
|
-
return stateDescriptor.get.call(store);
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
return store;
|
|
26
|
-
};
|
|
27
|
-
export {
|
|
28
|
-
constructReactivityFeature
|
|
29
|
-
};
|
|
30
|
-
//# sourceMappingURL=tableReactivityFeature.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tableReactivityFeature.js","sources":["../../../../src/features/table-reactivity/tableReactivityFeature.ts"],"sourcesContent":["import type { ReadonlyStore, Store } from '@tanstack/store'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\ninterface TableReactivityFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {}\n\nexport function constructReactivityFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(bindings: {\n stateNotifier?: () => unknown\n optionsNotifier?: () => unknown\n}): TableFeature<TableReactivityFeatureConstructors<TFeatures, TData>> {\n return {\n constructTableAPIs: (table) => {\n table.store = bindStore(table.store, bindings.stateNotifier)\n table.optionsStore = bindStore(\n table.optionsStore,\n bindings.optionsNotifier,\n )\n },\n }\n}\n\nconst bindStore = <T extends Store<any> | ReadonlyStore<any>>(\n store: T,\n notifier?: () => unknown,\n): T => {\n const stateDescriptor = Object.getOwnPropertyDescriptor(\n Object.getPrototypeOf(store),\n 'state',\n )!\n\n Object.defineProperty(store, 'state', {\n configurable: true,\n enumerable: true,\n get() {\n notifier?.()\n return stateDescriptor.get!.call(store)\n },\n })\n\n return store\n}\n"],"names":[],"mappings":"AASO,SAAS,2BAGd,UAGqE;AACrE,SAAO;AAAA,IACL,oBAAoB,CAAC,UAAU;AAC7B,YAAM,QAAQ,UAAU,MAAM,OAAO,SAAS,aAAa;AAC3D,YAAM,eAAe;AAAA,QACnB,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,IAEb;AAAA,EAAA;AAEJ;AAEA,MAAM,YAAY,CAChB,OACA,aACM;AACN,QAAM,kBAAkB,OAAO;AAAA,IAC7B,OAAO,eAAe,KAAK;AAAA,IAC3B;AAAA,EAAA;AAGF,SAAO,eAAe,OAAO,SAAS;AAAA,IACpC,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,MAAM;AACJ,iBAAA;AACA,aAAO,gBAAgB,IAAK,KAAK,KAAK;AAAA,IACxC;AAAA,EAAA,CACD;AAED,SAAO;AACT;"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { AggregationFn } from '../features/column-grouping/columnGroupingFeature.types';
|
|
2
|
-
/**
|
|
3
|
-
* Aggregation function for summing up the values of a column.
|
|
4
|
-
*/
|
|
5
|
-
export declare const aggregationFn_sum: AggregationFn<any, any>;
|
|
6
|
-
/**
|
|
7
|
-
* Aggregation function for finding the minimum value of a column.
|
|
8
|
-
*/
|
|
9
|
-
export declare const aggregationFn_min: AggregationFn<any, any>;
|
|
10
|
-
/**
|
|
11
|
-
* Aggregation function for finding the maximum value of a column.
|
|
12
|
-
*/
|
|
13
|
-
export declare const aggregationFn_max: AggregationFn<any, any>;
|
|
14
|
-
/**
|
|
15
|
-
* Aggregation function for finding the extent (min and max) of a column.
|
|
16
|
-
*/
|
|
17
|
-
export declare const aggregationFn_extent: AggregationFn<any, any>;
|
|
18
|
-
/**
|
|
19
|
-
* Aggregation function for finding the mean (average) of a column.
|
|
20
|
-
*/
|
|
21
|
-
export declare const aggregationFn_mean: AggregationFn<any, any>;
|
|
22
|
-
/**
|
|
23
|
-
* Aggregation function for finding the median value of a column.
|
|
24
|
-
*/
|
|
25
|
-
export declare const aggregationFn_median: AggregationFn<any, any>;
|
|
26
|
-
/**
|
|
27
|
-
* Aggregation function for finding the unique values of a column.
|
|
28
|
-
*/
|
|
29
|
-
export declare const aggregationFn_unique: AggregationFn<any, any>;
|
|
30
|
-
/**
|
|
31
|
-
* Aggregation function for finding the count of unique values of a column.
|
|
32
|
-
*/
|
|
33
|
-
export declare const aggregationFn_uniqueCount: AggregationFn<any, any>;
|
|
34
|
-
/**
|
|
35
|
-
* Aggregation function for counting the number of rows in a column.
|
|
36
|
-
*/
|
|
37
|
-
export declare const aggregationFn_count: AggregationFn<any, any>;
|
|
38
|
-
export declare const aggregationFns: {
|
|
39
|
-
sum: AggregationFn<any, any>;
|
|
40
|
-
min: AggregationFn<any, any>;
|
|
41
|
-
max: AggregationFn<any, any>;
|
|
42
|
-
extent: AggregationFn<any, any>;
|
|
43
|
-
mean: AggregationFn<any, any>;
|
|
44
|
-
median: AggregationFn<any, any>;
|
|
45
|
-
unique: AggregationFn<any, any>;
|
|
46
|
-
uniqueCount: AggregationFn<any, any>;
|
|
47
|
-
count: AggregationFn<any, any>;
|
|
48
|
-
};
|
|
49
|
-
export type BuiltInAggregationFn = keyof typeof aggregationFns;
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { isNumberArray } from "../utils.js";
|
|
2
|
-
const aggregationFn_sum = (columnId, _leafRows, childRows) => {
|
|
3
|
-
return childRows.reduce((sumValue, next) => {
|
|
4
|
-
const nextValue = next.getValue(columnId);
|
|
5
|
-
return sumValue + (typeof nextValue === "number" ? nextValue : 0);
|
|
6
|
-
}, 0);
|
|
7
|
-
};
|
|
8
|
-
const aggregationFn_min = (columnId, _leafRows, childRows) => {
|
|
9
|
-
let minValue;
|
|
10
|
-
childRows.forEach((row) => {
|
|
11
|
-
const value = row.getValue(columnId);
|
|
12
|
-
if (value != null && typeof value === "number" && (minValue === void 0 || value < minValue)) {
|
|
13
|
-
minValue = value;
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
return minValue;
|
|
17
|
-
};
|
|
18
|
-
const aggregationFn_max = (columnId, _leafRows, childRows) => {
|
|
19
|
-
let maxValue;
|
|
20
|
-
childRows.forEach((row) => {
|
|
21
|
-
const value = row.getValue(columnId);
|
|
22
|
-
if (value != null && typeof value === "number" && (maxValue === void 0 || value > maxValue)) {
|
|
23
|
-
maxValue = value;
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
return maxValue;
|
|
27
|
-
};
|
|
28
|
-
const aggregationFn_extent = (columnId, _leafRows, childRows) => {
|
|
29
|
-
let minValue;
|
|
30
|
-
let maxValue;
|
|
31
|
-
childRows.forEach((row) => {
|
|
32
|
-
const value = row.getValue(columnId);
|
|
33
|
-
if (value != null && typeof value === "number") {
|
|
34
|
-
if (minValue === void 0) {
|
|
35
|
-
minValue = maxValue = value;
|
|
36
|
-
} else {
|
|
37
|
-
if (minValue > value) minValue = value;
|
|
38
|
-
if (maxValue < value) maxValue = value;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
return [minValue, maxValue];
|
|
43
|
-
};
|
|
44
|
-
const aggregationFn_mean = (columnId, leafRows) => {
|
|
45
|
-
let count = 0;
|
|
46
|
-
let sumValue = 0;
|
|
47
|
-
leafRows.forEach((row) => {
|
|
48
|
-
const value = row.getValue(columnId);
|
|
49
|
-
if (value != null && typeof value === "number") {
|
|
50
|
-
++count;
|
|
51
|
-
sumValue += value;
|
|
52
|
-
} else if (value != null) {
|
|
53
|
-
const numValue = +value;
|
|
54
|
-
if (!Number.isNaN(numValue)) {
|
|
55
|
-
++count;
|
|
56
|
-
sumValue += numValue;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
if (count) return sumValue / count;
|
|
61
|
-
return;
|
|
62
|
-
};
|
|
63
|
-
const aggregationFn_median = (columnId, leafRows) => {
|
|
64
|
-
if (!leafRows.length) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
const values = leafRows.map((row) => row.getValue(columnId));
|
|
68
|
-
if (!isNumberArray(values)) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
if (values.length === 1) {
|
|
72
|
-
return values[0];
|
|
73
|
-
}
|
|
74
|
-
const mid = Math.floor(values.length / 2);
|
|
75
|
-
const nums = values.sort((a, b) => a - b);
|
|
76
|
-
return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;
|
|
77
|
-
};
|
|
78
|
-
const aggregationFn_unique = (columnId, leafRows) => {
|
|
79
|
-
return Array.from(new Set(leafRows.map((d) => d.getValue(columnId))).values());
|
|
80
|
-
};
|
|
81
|
-
const aggregationFn_uniqueCount = (columnId, leafRows) => {
|
|
82
|
-
return new Set(leafRows.map((d) => d.getValue(columnId))).size;
|
|
83
|
-
};
|
|
84
|
-
const aggregationFn_count = (_columnId, leafRows) => {
|
|
85
|
-
return leafRows.length;
|
|
86
|
-
};
|
|
87
|
-
const aggregationFns = {
|
|
88
|
-
sum: aggregationFn_sum,
|
|
89
|
-
min: aggregationFn_min,
|
|
90
|
-
max: aggregationFn_max,
|
|
91
|
-
extent: aggregationFn_extent,
|
|
92
|
-
mean: aggregationFn_mean,
|
|
93
|
-
median: aggregationFn_median,
|
|
94
|
-
unique: aggregationFn_unique,
|
|
95
|
-
uniqueCount: aggregationFn_uniqueCount,
|
|
96
|
-
count: aggregationFn_count
|
|
97
|
-
};
|
|
98
|
-
export {
|
|
99
|
-
aggregationFn_count,
|
|
100
|
-
aggregationFn_extent,
|
|
101
|
-
aggregationFn_max,
|
|
102
|
-
aggregationFn_mean,
|
|
103
|
-
aggregationFn_median,
|
|
104
|
-
aggregationFn_min,
|
|
105
|
-
aggregationFn_sum,
|
|
106
|
-
aggregationFn_unique,
|
|
107
|
-
aggregationFn_uniqueCount,
|
|
108
|
-
aggregationFns
|
|
109
|
-
};
|
|
110
|
-
//# sourceMappingURL=aggregationFns.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aggregationFns.js","sources":["../../../src/fns/aggregationFns.ts"],"sourcesContent":["import { isNumberArray } from '../utils'\nimport type { RowData } from '../types/type-utils'\nimport type { TableFeatures } from '../types/TableFeatures'\nimport type { Row } from '../types/Row'\nimport type { AggregationFn } from '../features/column-grouping/columnGroupingFeature.types'\n\n/**\n * Aggregation function for summing up the values of a column.\n */\nexport const aggregationFn_sum: AggregationFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n columnId: string,\n _leafRows: Array<Row<any, any>>,\n childRows: Array<Row<any, any>>,\n) => {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return childRows.reduce((sumValue, next) => {\n const nextValue = next.getValue(columnId)\n return sumValue + (typeof nextValue === 'number' ? nextValue : 0)\n }, 0)\n}\n\n/**\n * Aggregation function for finding the minimum value of a column.\n */\nexport const aggregationFn_min: AggregationFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n columnId: string,\n _leafRows: Array<Row<any, any>>,\n childRows: Array<Row<any, any>>,\n) => {\n let minValue: number | undefined\n\n childRows.forEach((row) => {\n const value = row.getValue(columnId)\n\n if (\n value != null &&\n typeof value === 'number' &&\n (minValue === undefined || value < minValue)\n ) {\n minValue = value\n }\n })\n\n return minValue\n}\n\n/**\n * Aggregation function for finding the maximum value of a column.\n */\nexport const aggregationFn_max: AggregationFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n columnId: string,\n _leafRows: Array<Row<any, any>>,\n childRows: Array<Row<any, any>>,\n) => {\n let maxValue: number | undefined\n\n childRows.forEach((row) => {\n const value = row.getValue(columnId)\n if (\n value != null &&\n typeof value === 'number' &&\n (maxValue === undefined || value > maxValue)\n ) {\n maxValue = value\n }\n })\n\n return maxValue\n}\n\n/**\n * Aggregation function for finding the extent (min and max) of a column.\n */\nexport const aggregationFn_extent: AggregationFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n columnId: string,\n _leafRows: Array<Row<any, any>>,\n childRows: Array<Row<any, any>>,\n) => {\n let minValue: number | undefined\n let maxValue: number | undefined\n\n childRows.forEach((row) => {\n const value = row.getValue(columnId)\n if (value != null && typeof value === 'number') {\n if (minValue === undefined) {\n minValue = maxValue = value\n } else {\n if (minValue > value) minValue = value\n if (maxValue! < value) maxValue = value\n }\n }\n })\n\n return [minValue, maxValue]\n}\n\n/**\n * Aggregation function for finding the mean (average) of a column.\n */\nexport const aggregationFn_mean: AggregationFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n columnId: string,\n leafRows: Array<Row<any, any>>,\n) => {\n let count = 0\n let sumValue = 0\n\n leafRows.forEach((row) => {\n const value = row.getValue(columnId)\n if (value != null && typeof value === 'number') {\n ++count\n sumValue += value\n } else if (value != null) {\n const numValue = +value\n if (!Number.isNaN(numValue)) {\n ++count\n sumValue += numValue\n }\n }\n })\n\n if (count) return sumValue / count\n\n return\n}\n\n/**\n * Aggregation function for finding the median value of a column.\n */\nexport const aggregationFn_median: AggregationFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n columnId: string,\n leafRows: Array<Row<any, any>>,\n) => {\n if (!leafRows.length) {\n return\n }\n\n const values = leafRows.map((row) => row.getValue(columnId))\n if (!isNumberArray(values)) {\n return\n }\n if (values.length === 1) {\n return values[0]\n }\n\n const mid = Math.floor(values.length / 2)\n const nums = values.sort((a, b) => a - b)\n return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1]! + nums[mid]!) / 2\n}\n\n/**\n * Aggregation function for finding the unique values of a column.\n */\nexport const aggregationFn_unique: AggregationFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n columnId: string,\n leafRows: Array<Row<any, any>>,\n) => {\n return Array.from(new Set(leafRows.map((d) => d.getValue(columnId))).values())\n}\n\n/**\n * Aggregation function for finding the count of unique values of a column.\n */\nexport const aggregationFn_uniqueCount: AggregationFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n columnId: string,\n leafRows: Array<Row<any, any>>,\n) => {\n return new Set(leafRows.map((d) => d.getValue(columnId))).size\n}\n\n/**\n * Aggregation function for counting the number of rows in a column.\n */\nexport const aggregationFn_count: AggregationFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n _columnId: string,\n leafRows: Array<Row<any, any>>,\n) => {\n return leafRows.length\n}\n\nexport const aggregationFns = {\n sum: aggregationFn_sum,\n min: aggregationFn_min,\n max: aggregationFn_max,\n extent: aggregationFn_extent,\n mean: aggregationFn_mean,\n median: aggregationFn_median,\n unique: aggregationFn_unique,\n uniqueCount: aggregationFn_uniqueCount,\n count: aggregationFn_count,\n}\n\nexport type BuiltInAggregationFn = keyof typeof aggregationFns\n"],"names":[],"mappings":"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"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { FilterFn } from '../features/column-filtering/columnFilteringFeature.types';
|
|
2
|
-
/**
|
|
3
|
-
* Filter function for checking if a value is exactly equal to a given value. (JS === comparison)
|
|
4
|
-
*/
|
|
5
|
-
export declare const filterFn_equals: FilterFn<any, any>;
|
|
6
|
-
/**
|
|
7
|
-
* Filter function for checking if a value is weakly equal to a given value. (JS == comparison)
|
|
8
|
-
*/
|
|
9
|
-
export declare const filterFn_weakEquals: FilterFn<any, any>;
|
|
10
|
-
/**
|
|
11
|
-
* Filter function for checking if a string includes a given substring. (Case-sensitive)
|
|
12
|
-
*/
|
|
13
|
-
export declare const filterFn_includesStringSensitive: FilterFn<any, any>;
|
|
14
|
-
/**
|
|
15
|
-
* Filter function for checking if a string includes a given substring. (Non-case-sensitive)
|
|
16
|
-
*/
|
|
17
|
-
export declare const filterFn_includesString: FilterFn<any, any>;
|
|
18
|
-
/**
|
|
19
|
-
* Filter function for checking if a string is exactly equal to a given string. (Non-case-sensitive)
|
|
20
|
-
*/
|
|
21
|
-
export declare const filterFn_equalsString: FilterFn<any, any>;
|
|
22
|
-
/**
|
|
23
|
-
* Filter function for checking if a string is exactly equal to a given string. (Case-sensitive)
|
|
24
|
-
*/
|
|
25
|
-
export declare const filterFn_equalsStringSensitive: FilterFn<any, any>;
|
|
26
|
-
/**
|
|
27
|
-
* Filter function for checking if a number is greater than a given number.
|
|
28
|
-
*/
|
|
29
|
-
export declare const filterFn_greaterThan: FilterFn<any, any>;
|
|
30
|
-
/**
|
|
31
|
-
* Filter function for checking if a number is greater than or equal to a given number.
|
|
32
|
-
*/
|
|
33
|
-
export declare const filterFn_greaterThanOrEqualTo: FilterFn<any, any>;
|
|
34
|
-
/**
|
|
35
|
-
* Filter function for checking if a number is less than a given number.
|
|
36
|
-
*/
|
|
37
|
-
export declare const filterFn_lessThan: FilterFn<any, any>;
|
|
38
|
-
/**
|
|
39
|
-
* Filter function for checking if a number is less than or equal to a given number.
|
|
40
|
-
*/
|
|
41
|
-
export declare const filterFn_lessThanOrEqualTo: FilterFn<any, any>;
|
|
42
|
-
/**
|
|
43
|
-
* Filter function for checking if a number is within a given range.
|
|
44
|
-
*/
|
|
45
|
-
export declare const filterFn_inNumberRange: FilterFn<any, any>;
|
|
46
|
-
/**
|
|
47
|
-
* Filter function for checking if an array has a given value.
|
|
48
|
-
*/
|
|
49
|
-
export declare const filterFn_arrHas: FilterFn<any, any>;
|
|
50
|
-
/**
|
|
51
|
-
* Filter function for checking if an array includes a given value.
|
|
52
|
-
*/
|
|
53
|
-
export declare const filterFn_arrIncludes: FilterFn<any, any>;
|
|
54
|
-
/**
|
|
55
|
-
* Filter function for checking if an array includes all of the given values.
|
|
56
|
-
*/
|
|
57
|
-
export declare const filterFn_arrIncludesAll: FilterFn<any, any>;
|
|
58
|
-
/**
|
|
59
|
-
* Filter function for checking if an array includes any of the given values.
|
|
60
|
-
*/
|
|
61
|
-
export declare const filterFn_arrIncludesSome: FilterFn<any, any>;
|
|
62
|
-
export declare const filterFns: {
|
|
63
|
-
arrIncludes: FilterFn<any, any>;
|
|
64
|
-
arrIncludesAll: FilterFn<any, any>;
|
|
65
|
-
arrHas: FilterFn<any, any>;
|
|
66
|
-
arrIncludesSome: FilterFn<any, any>;
|
|
67
|
-
between: FilterFn<any, any>;
|
|
68
|
-
betweenInclusive: FilterFn<any, any>;
|
|
69
|
-
equals: FilterFn<any, any>;
|
|
70
|
-
equalsString: FilterFn<any, any>;
|
|
71
|
-
inNumberRange: FilterFn<any, any>;
|
|
72
|
-
includesString: FilterFn<any, any>;
|
|
73
|
-
includesStringSensitive: FilterFn<any, any>;
|
|
74
|
-
weakEquals: FilterFn<any, any>;
|
|
75
|
-
};
|
|
76
|
-
export type BuiltInFilterFn = keyof typeof filterFns;
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
const filterFn_equals = (row, columnId, filterValue) => {
|
|
2
|
-
return row.getValue(columnId) === filterValue;
|
|
3
|
-
};
|
|
4
|
-
filterFn_equals.autoRemove = (val) => testFalsy(val);
|
|
5
|
-
const filterFn_weakEquals = (row, columnId, filterValue) => {
|
|
6
|
-
return row.getValue(columnId) == filterValue;
|
|
7
|
-
};
|
|
8
|
-
filterFn_weakEquals.autoRemove = (val) => testFalsy(val);
|
|
9
|
-
const filterFn_includesStringSensitive = (row, columnId, filterValue) => {
|
|
10
|
-
return Boolean(
|
|
11
|
-
row.getValue(columnId)?.toString().includes(filterValue.toString())
|
|
12
|
-
);
|
|
13
|
-
};
|
|
14
|
-
filterFn_includesStringSensitive.autoRemove = (val) => testFalsy(val);
|
|
15
|
-
const filterFn_includesString = (row, columnId, filterValue) => {
|
|
16
|
-
return Boolean(
|
|
17
|
-
row.getValue(columnId)?.toString().toLowerCase().includes(filterValue.toString().toLowerCase())
|
|
18
|
-
);
|
|
19
|
-
};
|
|
20
|
-
filterFn_includesString.autoRemove = (val) => testFalsy(val);
|
|
21
|
-
const filterFn_equalsString = (row, columnId, filterValue) => {
|
|
22
|
-
return row.getValue(columnId)?.toString().toLowerCase() === filterValue.toLowerCase();
|
|
23
|
-
};
|
|
24
|
-
filterFn_equalsString.autoRemove = (val) => testFalsy(val);
|
|
25
|
-
const filterFn_equalsStringSensitive = (row, columnId, filterValue) => {
|
|
26
|
-
return row.getValue(columnId)?.toString() === filterValue;
|
|
27
|
-
};
|
|
28
|
-
filterFn_equalsStringSensitive.autoRemove = (val) => testFalsy(val);
|
|
29
|
-
const filterFn_greaterThan = (row, columnId, filterValue) => {
|
|
30
|
-
const rowValue = row.getValue(columnId);
|
|
31
|
-
const numericRowValue = rowValue === null || rowValue === void 0 ? 0 : +rowValue;
|
|
32
|
-
const numericFilterValue = +filterValue;
|
|
33
|
-
if (!isNaN(numericFilterValue) && !isNaN(numericRowValue)) {
|
|
34
|
-
return numericRowValue > numericFilterValue;
|
|
35
|
-
}
|
|
36
|
-
const stringValue = (rowValue ?? "").toString().toLowerCase().trim();
|
|
37
|
-
const stringFilterValue = filterValue.toString().toLowerCase().trim();
|
|
38
|
-
return stringValue > stringFilterValue;
|
|
39
|
-
};
|
|
40
|
-
filterFn_greaterThan.resolveFilterValue = (val) => testFalsy(val);
|
|
41
|
-
const filterFn_greaterThanOrEqualTo = (row, columnId, filterValue) => {
|
|
42
|
-
return filterFn_greaterThan(row, columnId, filterValue) || filterFn_equals(row, columnId, filterValue);
|
|
43
|
-
};
|
|
44
|
-
filterFn_greaterThanOrEqualTo.resolveFilterValue = (val) => testFalsy(val);
|
|
45
|
-
const filterFn_lessThan = (row, columnId, filterValue) => {
|
|
46
|
-
return !filterFn_greaterThanOrEqualTo(row, columnId, filterValue);
|
|
47
|
-
};
|
|
48
|
-
filterFn_lessThan.resolveFilterValue = (val) => testFalsy(val);
|
|
49
|
-
const filterFn_lessThanOrEqualTo = (row, columnId, filterValue) => {
|
|
50
|
-
return !filterFn_greaterThan(row, columnId, filterValue);
|
|
51
|
-
};
|
|
52
|
-
filterFn_lessThanOrEqualTo.resolveFilterValue = (val) => testFalsy(val);
|
|
53
|
-
const filterFn_between = (row, columnId, filterValues) => (["", void 0].includes(filterValues[0]) || filterFn_greaterThan(row, columnId, filterValues[0])) && (!isNaN(+filterValues[0]) && !isNaN(+filterValues[1]) && +filterValues[0] > +filterValues[1] || ["", void 0].includes(filterValues[1]) || filterFn_lessThan(row, columnId, filterValues[1]));
|
|
54
|
-
filterFn_between.autoRemove = (val) => !val;
|
|
55
|
-
const filterFn_betweenInclusive = (row, columnId, filterValues) => (["", void 0].includes(filterValues[0]) || filterFn_greaterThanOrEqualTo(row, columnId, filterValues[0])) && (!isNaN(+filterValues[0]) && !isNaN(+filterValues[1]) && +filterValues[0] > +filterValues[1] || ["", void 0].includes(filterValues[1]) || filterFn_lessThanOrEqualTo(row, columnId, filterValues[1]));
|
|
56
|
-
filterFn_betweenInclusive.autoRemove = (val) => !val;
|
|
57
|
-
const filterFn_inNumberRange = (row, columnId, filterValue) => {
|
|
58
|
-
const [min, max] = filterValue;
|
|
59
|
-
const rowValue = row.getValue(columnId);
|
|
60
|
-
return rowValue >= min && rowValue <= max;
|
|
61
|
-
};
|
|
62
|
-
filterFn_inNumberRange.resolveFilterValue = (val) => {
|
|
63
|
-
const [unsafeMin, unsafeMax] = val;
|
|
64
|
-
const parsedMin = typeof unsafeMin !== "number" ? parseFloat(unsafeMin) : unsafeMin;
|
|
65
|
-
const parsedMax = typeof unsafeMax !== "number" ? parseFloat(unsafeMax) : unsafeMax;
|
|
66
|
-
let min = unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin;
|
|
67
|
-
let max = unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax;
|
|
68
|
-
if (min > max) {
|
|
69
|
-
const temp = min;
|
|
70
|
-
min = max;
|
|
71
|
-
max = temp;
|
|
72
|
-
}
|
|
73
|
-
return [min, max];
|
|
74
|
-
};
|
|
75
|
-
filterFn_inNumberRange.autoRemove = (val) => testFalsy(val) || testFalsy(val[0]) && testFalsy(val[1]);
|
|
76
|
-
const filterFn_arrHas = (row, columnId, filterValue) => {
|
|
77
|
-
return filterValue.some((val) => row.getValue(columnId) === val);
|
|
78
|
-
};
|
|
79
|
-
const filterFn_arrIncludes = (row, columnId, filterValue) => {
|
|
80
|
-
return filterValue.some(
|
|
81
|
-
(val) => row.getValue(columnId).includes(
|
|
82
|
-
val
|
|
83
|
-
)
|
|
84
|
-
);
|
|
85
|
-
};
|
|
86
|
-
filterFn_arrIncludes.autoRemove = (val) => testFalsy(val) || !val?.length;
|
|
87
|
-
const filterFn_arrIncludesAll = (row, columnId, filterValue) => {
|
|
88
|
-
const value = row.getValue(columnId);
|
|
89
|
-
if (!Array.isArray(value)) return false;
|
|
90
|
-
return !filterValue.some((val) => !value.includes(val));
|
|
91
|
-
};
|
|
92
|
-
filterFn_arrIncludesAll.autoRemove = (val) => testFalsy(val) || !val?.length;
|
|
93
|
-
const filterFn_arrIncludesSome = (row, columnId, filterValue) => {
|
|
94
|
-
const value = row.getValue(columnId);
|
|
95
|
-
if (!Array.isArray(value)) return false;
|
|
96
|
-
return filterValue.some((val) => value.includes(val));
|
|
97
|
-
};
|
|
98
|
-
filterFn_arrIncludesSome.autoRemove = (val) => testFalsy(val) || !val?.length;
|
|
99
|
-
const filterFns = {
|
|
100
|
-
arrIncludes: filterFn_arrIncludes,
|
|
101
|
-
arrIncludesAll: filterFn_arrIncludesAll,
|
|
102
|
-
arrHas: filterFn_arrHas,
|
|
103
|
-
arrIncludesSome: filterFn_arrIncludesSome,
|
|
104
|
-
between: filterFn_between,
|
|
105
|
-
betweenInclusive: filterFn_betweenInclusive,
|
|
106
|
-
equals: filterFn_equals,
|
|
107
|
-
equalsString: filterFn_equalsString,
|
|
108
|
-
inNumberRange: filterFn_inNumberRange,
|
|
109
|
-
includesString: filterFn_includesString,
|
|
110
|
-
includesStringSensitive: filterFn_includesStringSensitive,
|
|
111
|
-
weakEquals: filterFn_weakEquals
|
|
112
|
-
};
|
|
113
|
-
function testFalsy(val) {
|
|
114
|
-
return val === void 0 || val === null || val === "";
|
|
115
|
-
}
|
|
116
|
-
export {
|
|
117
|
-
filterFn_arrHas,
|
|
118
|
-
filterFn_arrIncludes,
|
|
119
|
-
filterFn_arrIncludesAll,
|
|
120
|
-
filterFn_arrIncludesSome,
|
|
121
|
-
filterFn_equals,
|
|
122
|
-
filterFn_equalsString,
|
|
123
|
-
filterFn_equalsStringSensitive,
|
|
124
|
-
filterFn_greaterThan,
|
|
125
|
-
filterFn_greaterThanOrEqualTo,
|
|
126
|
-
filterFn_inNumberRange,
|
|
127
|
-
filterFn_includesString,
|
|
128
|
-
filterFn_includesStringSensitive,
|
|
129
|
-
filterFn_lessThan,
|
|
130
|
-
filterFn_lessThanOrEqualTo,
|
|
131
|
-
filterFn_weakEquals,
|
|
132
|
-
filterFns
|
|
133
|
-
};
|
|
134
|
-
//# sourceMappingURL=filterFns.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filterFns.js","sources":["../../../src/fns/filterFns.ts"],"sourcesContent":["import type { RowData } from '../types/type-utils'\nimport type { TableFeatures } from '../types/TableFeatures'\nimport type { Row } from '../types/Row'\nimport type { FilterFn } from '../features/column-filtering/columnFilteringFeature.types'\n\n// Basic filters\n\n/**\n * Filter function for checking if a value is exactly equal to a given value. (JS === comparison)\n */\nexport const filterFn_equals: FilterFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n columnId: string,\n filterValue: unknown,\n) => {\n return row.getValue(columnId) === filterValue\n}\n\nfilterFn_equals.autoRemove = (val: any) => testFalsy(val)\n\n/**\n * Filter function for checking if a value is weakly equal to a given value. (JS == comparison)\n */\nexport const filterFn_weakEquals: FilterFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n columnId: string,\n filterValue: unknown,\n) => {\n return row.getValue(columnId) == filterValue\n}\n\nfilterFn_weakEquals.autoRemove = (val: any) => testFalsy(val)\n\n// String filters\n\n/**\n * Filter function for checking if a string includes a given substring. (Case-sensitive)\n */\nexport const filterFn_includesStringSensitive: FilterFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n columnId: string,\n filterValue: string,\n) => {\n return Boolean(\n row.getValue(columnId)?.toString().includes(filterValue.toString()),\n )\n}\n\nfilterFn_includesStringSensitive.autoRemove = (val: any) => testFalsy(val)\n\n/**\n * Filter function for checking if a string includes a given substring. (Non-case-sensitive)\n */\nexport const filterFn_includesString: FilterFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n columnId: string,\n filterValue: string,\n) => {\n return Boolean(\n row\n .getValue(columnId)\n ?.toString()\n .toLowerCase()\n .includes(filterValue.toString().toLowerCase()),\n )\n}\n\nfilterFn_includesString.autoRemove = (val: any) => testFalsy(val)\n\n/**\n * Filter function for checking if a string is exactly equal to a given string. (Non-case-sensitive)\n */\nexport const filterFn_equalsString: FilterFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n columnId: string,\n filterValue: string,\n) => {\n return (\n row.getValue(columnId)?.toString().toLowerCase() ===\n filterValue.toLowerCase()\n )\n}\n\nfilterFn_equalsString.autoRemove = (val: any) => testFalsy(val)\n\n/**\n * Filter function for checking if a string is exactly equal to a given string. (Case-sensitive)\n */\nexport const filterFn_equalsStringSensitive: FilterFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n columnId: string,\n filterValue: string,\n) => {\n return row.getValue(columnId)?.toString() === filterValue\n}\n\nfilterFn_equalsStringSensitive.autoRemove = (val: any) => testFalsy(val)\n\n// Number filters\n\n/**\n * Filter function for checking if a number is greater than a given number.\n */\nexport const filterFn_greaterThan: FilterFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n columnId: string,\n filterValue: Date | number | string,\n) => {\n const rowValue = row.getValue(columnId)\n const numericRowValue =\n rowValue === null || rowValue === undefined ? 0 : +rowValue\n const numericFilterValue = +filterValue\n\n if (!isNaN(numericFilterValue) && !isNaN(numericRowValue)) {\n return numericRowValue > numericFilterValue\n }\n\n const stringValue = (rowValue ?? '').toString().toLowerCase().trim()\n const stringFilterValue = filterValue.toString().toLowerCase().trim()\n return stringValue > stringFilterValue\n}\n\nfilterFn_greaterThan.resolveFilterValue = (val: any) => testFalsy(val)\n\n/**\n * Filter function for checking if a number is greater than or equal to a given number.\n */\nexport const filterFn_greaterThanOrEqualTo: FilterFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n columnId: string,\n filterValue: Date | number | string,\n) => {\n return (\n filterFn_greaterThan(row as any, columnId, filterValue) ||\n filterFn_equals(row as any, columnId, filterValue)\n )\n}\n\nfilterFn_greaterThanOrEqualTo.resolveFilterValue = (val: any) => testFalsy(val)\n\n/**\n * Filter function for checking if a number is less than a given number.\n */\nexport const filterFn_lessThan: FilterFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n columnId: string,\n filterValue: Date | number | string,\n) => {\n return !filterFn_greaterThanOrEqualTo(row as any, columnId, filterValue)\n}\n\nfilterFn_lessThan.resolveFilterValue = (val: any) => testFalsy(val)\n\n/**\n * Filter function for checking if a number is less than or equal to a given number.\n */\nexport const filterFn_lessThanOrEqualTo: FilterFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n columnId: string,\n filterValue: Date | number | string,\n) => {\n return !filterFn_greaterThan(row as any, columnId, filterValue)\n}\n\nfilterFn_lessThanOrEqualTo.resolveFilterValue = (val: any) => testFalsy(val)\n\n// Range filters\n\n/**\n * Filter function for checking if a number or a string is between two given values.\n */\nconst filterFn_between: FilterFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n columnId: string,\n filterValues: [number | string, number | string],\n): boolean =>\n ((['', undefined] as Array<any>).includes(filterValues[0]) ||\n filterFn_greaterThan(row as any, columnId, filterValues[0])) &&\n ((!isNaN(+filterValues[0]) &&\n !isNaN(+filterValues[1]) &&\n +filterValues[0] > +filterValues[1]) ||\n (['', undefined] as Array<any>).includes(filterValues[1]) ||\n filterFn_lessThan(row as any, columnId, filterValues[1]))\n\nfilterFn_between.autoRemove = (val: any) => !val\n\n/**\n * Filter function for checking if a number or a string is between two given values or equal to them.\n */\nconst filterFn_betweenInclusive: FilterFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n columnId: string,\n filterValues: [number | string, number | string],\n): boolean =>\n ((['', undefined] as Array<any>).includes(filterValues[0]) ||\n filterFn_greaterThanOrEqualTo(row as any, columnId, filterValues[0])) &&\n ((!isNaN(+filterValues[0]) &&\n !isNaN(+filterValues[1]) &&\n +filterValues[0] > +filterValues[1]) ||\n (['', undefined] as Array<any>).includes(filterValues[1]) ||\n filterFn_lessThanOrEqualTo(row as any, columnId, filterValues[1]))\n\nfilterFn_betweenInclusive.autoRemove = (val: any) => !val\n\n/**\n * Filter function for checking if a number is within a given range.\n */\nexport const filterFn_inNumberRange: FilterFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n columnId: string,\n filterValue: [number, number],\n) => {\n const [min, max] = filterValue\n\n const rowValue: number = row.getValue(columnId)\n return rowValue >= min && rowValue <= max\n}\n\nfilterFn_inNumberRange.resolveFilterValue = (val: [any, any]) => {\n const [unsafeMin, unsafeMax] = val\n\n const parsedMin =\n typeof unsafeMin !== 'number' ? parseFloat(unsafeMin) : unsafeMin\n const parsedMax =\n typeof unsafeMax !== 'number' ? parseFloat(unsafeMax) : unsafeMax\n\n let min =\n unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin\n let max = unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax\n\n if (min > max) {\n const temp = min\n min = max\n max = temp\n }\n\n return [min, max] as const\n}\n\nfilterFn_inNumberRange.autoRemove = (val: any) =>\n testFalsy(val) || (testFalsy(val[0]) && testFalsy(val[1]))\n\n// Array filters\n\n/**\n * Filter function for checking if an array has a given value.\n */\nexport const filterFn_arrHas: FilterFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n columnId: string,\n filterValue: Array<unknown>,\n) => {\n return filterValue.some((val) => row.getValue<unknown>(columnId) === val)\n}\n\n/**\n * Filter function for checking if an array includes a given value.\n */\nexport const filterFn_arrIncludes: FilterFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n columnId: string,\n filterValue: Array<unknown>,\n) => {\n return filterValue.some((val) =>\n (row.getValue<unknown>(columnId) as Array<unknown> | string).includes(\n val as any,\n ),\n )\n}\n\nfilterFn_arrIncludes.autoRemove = (val: any) => testFalsy(val) || !val?.length\n\n/**\n * Filter function for checking if an array includes all of the given values.\n */\nexport const filterFn_arrIncludesAll: FilterFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n columnId: string,\n filterValue: Array<unknown>,\n) => {\n const value = row.getValue<Array<unknown>>(columnId)\n if (!Array.isArray(value)) return false\n return !filterValue.some((val) => !value.includes(val))\n}\n\nfilterFn_arrIncludesAll.autoRemove = (val: any) =>\n testFalsy(val) || !val?.length\n\n/**\n * Filter function for checking if an array includes any of the given values.\n */\nexport const filterFn_arrIncludesSome: FilterFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n columnId: string,\n filterValue: Array<unknown>,\n) => {\n const value = row.getValue<Array<unknown>>(columnId)\n if (!Array.isArray(value)) return false\n return filterValue.some((val) => value.includes(val))\n}\n\nfilterFn_arrIncludesSome.autoRemove = (val: any) =>\n testFalsy(val) || !val?.length\n\n// Export\n\nexport const filterFns = {\n arrIncludes: filterFn_arrIncludes,\n arrIncludesAll: filterFn_arrIncludesAll,\n arrHas: filterFn_arrHas,\n arrIncludesSome: filterFn_arrIncludesSome,\n between: filterFn_between,\n betweenInclusive: filterFn_betweenInclusive,\n equals: filterFn_equals,\n equalsString: filterFn_equalsString,\n inNumberRange: filterFn_inNumberRange,\n includesString: filterFn_includesString,\n includesStringSensitive: filterFn_includesStringSensitive,\n weakEquals: filterFn_weakEquals,\n}\n\nexport type BuiltInFilterFn = keyof typeof filterFns\n\n// Utils\n\nfunction testFalsy(val: any) {\n return val === undefined || val === null || val === ''\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { SortFn } from '../features/row-sorting/rowSortingFeature.types';
|
|
2
|
-
export declare const reSplitAlphaNumeric: RegExp;
|
|
3
|
-
export declare const sortFn_alphanumeric: SortFn<any, any>;
|
|
4
|
-
export declare const sortFn_alphanumericCaseSensitive: SortFn<any, any>;
|
|
5
|
-
export declare const sortFn_text: SortFn<any, any>;
|
|
6
|
-
export declare const sortFn_textCaseSensitive: SortFn<any, any>;
|
|
7
|
-
export declare const sortFn_datetime: SortFn<any, any>;
|
|
8
|
-
export declare const sortFn_basic: SortFn<any, any>;
|
|
9
|
-
export declare const sortFns: {
|
|
10
|
-
alphanumeric: SortFn<any, any>;
|
|
11
|
-
alphanumericCaseSensitive: SortFn<any, any>;
|
|
12
|
-
basic: SortFn<any, any>;
|
|
13
|
-
datetime: SortFn<any, any>;
|
|
14
|
-
text: SortFn<any, any>;
|
|
15
|
-
textCaseSensitive: SortFn<any, any>;
|
|
16
|
-
};
|
|
17
|
-
export type BuiltInSortFn = keyof typeof sortFns;
|
package/dist/esm/fns/sortFns.js
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
const reSplitAlphaNumeric = /([0-9]+)/gm;
|
|
2
|
-
const sortFn_alphanumeric = (rowA, rowB, columnId) => {
|
|
3
|
-
return compareAlphanumeric(
|
|
4
|
-
toString(rowA.getValue(columnId)).toLowerCase(),
|
|
5
|
-
toString(rowB.getValue(columnId)).toLowerCase()
|
|
6
|
-
);
|
|
7
|
-
};
|
|
8
|
-
const sortFn_alphanumericCaseSensitive = (rowA, rowB, columnId) => {
|
|
9
|
-
return compareAlphanumeric(
|
|
10
|
-
toString(rowA.getValue(columnId)),
|
|
11
|
-
toString(rowB.getValue(columnId))
|
|
12
|
-
);
|
|
13
|
-
};
|
|
14
|
-
const sortFn_text = (rowA, rowB, columnId) => {
|
|
15
|
-
return compareBasic(
|
|
16
|
-
toString(rowA.getValue(columnId)).toLowerCase(),
|
|
17
|
-
toString(rowB.getValue(columnId)).toLowerCase()
|
|
18
|
-
);
|
|
19
|
-
};
|
|
20
|
-
const sortFn_textCaseSensitive = (rowA, rowB, columnId) => {
|
|
21
|
-
return compareBasic(
|
|
22
|
-
toString(rowA.getValue(columnId)),
|
|
23
|
-
toString(rowB.getValue(columnId))
|
|
24
|
-
);
|
|
25
|
-
};
|
|
26
|
-
const sortFn_datetime = (rowA, rowB, columnId) => {
|
|
27
|
-
const a = rowA.getValue(columnId);
|
|
28
|
-
const b = rowB.getValue(columnId);
|
|
29
|
-
return a > b ? 1 : a < b ? -1 : 0;
|
|
30
|
-
};
|
|
31
|
-
const sortFn_basic = (rowA, rowB, columnId) => {
|
|
32
|
-
return compareBasic(rowA.getValue(columnId), rowB.getValue(columnId));
|
|
33
|
-
};
|
|
34
|
-
function compareBasic(a, b) {
|
|
35
|
-
return a === b ? 0 : a > b ? 1 : -1;
|
|
36
|
-
}
|
|
37
|
-
function toString(a) {
|
|
38
|
-
if (typeof a === "number") {
|
|
39
|
-
if (isNaN(a) || a === Infinity || a === -Infinity) {
|
|
40
|
-
return "";
|
|
41
|
-
}
|
|
42
|
-
return String(a);
|
|
43
|
-
}
|
|
44
|
-
if (typeof a === "string") {
|
|
45
|
-
return a;
|
|
46
|
-
}
|
|
47
|
-
return "";
|
|
48
|
-
}
|
|
49
|
-
function compareAlphanumeric(aStr, bStr) {
|
|
50
|
-
const a = aStr.split(reSplitAlphaNumeric).filter(Boolean);
|
|
51
|
-
const b = bStr.split(reSplitAlphaNumeric).filter(Boolean);
|
|
52
|
-
while (a.length && b.length) {
|
|
53
|
-
const aa = a.shift();
|
|
54
|
-
const bb = b.shift();
|
|
55
|
-
const an = parseInt(aa, 10);
|
|
56
|
-
const bn = parseInt(bb, 10);
|
|
57
|
-
const combo = [an, bn].sort();
|
|
58
|
-
if (isNaN(combo[0])) {
|
|
59
|
-
if (aa > bb) {
|
|
60
|
-
return 1;
|
|
61
|
-
}
|
|
62
|
-
if (bb > aa) {
|
|
63
|
-
return -1;
|
|
64
|
-
}
|
|
65
|
-
continue;
|
|
66
|
-
}
|
|
67
|
-
if (isNaN(combo[1])) {
|
|
68
|
-
return isNaN(an) ? -1 : 1;
|
|
69
|
-
}
|
|
70
|
-
if (an > bn) {
|
|
71
|
-
return 1;
|
|
72
|
-
}
|
|
73
|
-
if (bn > an) {
|
|
74
|
-
return -1;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return a.length - b.length;
|
|
78
|
-
}
|
|
79
|
-
const sortFns = {
|
|
80
|
-
alphanumeric: sortFn_alphanumeric,
|
|
81
|
-
alphanumericCaseSensitive: sortFn_alphanumericCaseSensitive,
|
|
82
|
-
basic: sortFn_basic,
|
|
83
|
-
datetime: sortFn_datetime,
|
|
84
|
-
text: sortFn_text,
|
|
85
|
-
textCaseSensitive: sortFn_textCaseSensitive
|
|
86
|
-
};
|
|
87
|
-
export {
|
|
88
|
-
reSplitAlphaNumeric,
|
|
89
|
-
sortFn_alphanumeric,
|
|
90
|
-
sortFn_alphanumericCaseSensitive,
|
|
91
|
-
sortFn_basic,
|
|
92
|
-
sortFn_datetime,
|
|
93
|
-
sortFn_text,
|
|
94
|
-
sortFn_textCaseSensitive,
|
|
95
|
-
sortFns
|
|
96
|
-
};
|
|
97
|
-
//# sourceMappingURL=sortFns.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sortFns.js","sources":["../../../src/fns/sortFns.ts"],"sourcesContent":["import type { RowData } from '../types/type-utils'\nimport type { TableFeatures } from '../types/TableFeatures'\nimport type { Row } from '../types/Row'\nimport type { SortFn } from '../features/row-sorting/rowSortingFeature.types'\n\nexport const reSplitAlphaNumeric = /([0-9]+)/gm\n\nexport const sortFn_alphanumeric: SortFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rowA: Row<any, any>,\n rowB: Row<any, any>,\n columnId: string,\n) => {\n return compareAlphanumeric(\n toString(rowA.getValue(columnId)).toLowerCase(),\n toString(rowB.getValue(columnId)).toLowerCase(),\n )\n}\n\nexport const sortFn_alphanumericCaseSensitive: SortFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rowA: Row<any, any>,\n rowB: Row<any, any>,\n columnId: string,\n) => {\n return compareAlphanumeric(\n toString(rowA.getValue(columnId)),\n toString(rowB.getValue(columnId)),\n )\n}\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nexport const sortFn_text: SortFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rowA: Row<any, any>,\n rowB: Row<any, any>,\n columnId: string,\n) => {\n return compareBasic(\n toString(rowA.getValue(columnId)).toLowerCase(),\n toString(rowB.getValue(columnId)).toLowerCase(),\n )\n}\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nexport const sortFn_textCaseSensitive: SortFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rowA: Row<any, any>,\n rowB: Row<any, any>,\n columnId: string,\n) => {\n return compareBasic(\n toString(rowA.getValue(columnId)),\n toString(rowB.getValue(columnId)),\n )\n}\n\nexport const sortFn_datetime: SortFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rowA: Row<any, any>,\n rowB: Row<any, any>,\n columnId: string,\n) => {\n const a: number | string = rowA.getValue(columnId)\n const b: number | string = rowB.getValue(columnId)\n\n // Can handle nullish values\n // Use > and < because == (and ===) doesn't work with\n // Date objects (would require calling getTime()).\n return a > b ? 1 : a < b ? -1 : 0\n}\n\nexport const sortFn_basic: SortFn<any, any> = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rowA: Row<any, any>,\n rowB: Row<any, any>,\n columnId: string,\n) => {\n return compareBasic(rowA.getValue(columnId), rowB.getValue(columnId))\n}\n\n// Utils\n\nfunction compareBasic(a: any, b: any) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n\nfunction toString(a: any) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return ''\n }\n return String(a)\n }\n if (typeof a === 'string') {\n return a\n }\n return ''\n}\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nfunction compareAlphanumeric(aStr: string, bStr: string) {\n // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n const a = aStr.split(reSplitAlphaNumeric).filter(Boolean)\n const b = bStr.split(reSplitAlphaNumeric).filter(Boolean)\n\n // While\n while (a.length && b.length) {\n const aa = a.shift()!\n const bb = b.shift()!\n\n const an = parseInt(aa, 10)\n const bn = parseInt(bb, 10)\n\n const combo = [an, bn].sort()\n\n // Both are string\n if (isNaN(combo[0]!)) {\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n // One is a string, one is a number\n if (isNaN(combo[1]!)) {\n return isNaN(an) ? -1 : 1\n }\n\n // Both are numbers\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n }\n\n return a.length - b.length\n}\n\n// Exports\n\nexport const sortFns = {\n alphanumeric: sortFn_alphanumeric,\n alphanumericCaseSensitive: sortFn_alphanumericCaseSensitive,\n basic: sortFn_basic,\n datetime: sortFn_datetime,\n text: sortFn_text,\n textCaseSensitive: sortFn_textCaseSensitive,\n}\n\nexport type BuiltInSortFn = keyof typeof sortFns\n"],"names":[],"mappings":"AAKO,MAAM,sBAAsB;AAE5B,MAAM,sBAAwC,CAInD,MACA,MACA,aACG;AACH,SAAO;AAAA,IACL,SAAS,KAAK,SAAS,QAAQ,CAAC,EAAE,YAAA;AAAA,IAClC,SAAS,KAAK,SAAS,QAAQ,CAAC,EAAE,YAAA;AAAA,EAAY;AAElD;AAEO,MAAM,mCAAqD,CAIhE,MACA,MACA,aACG;AACH,SAAO;AAAA,IACL,SAAS,KAAK,SAAS,QAAQ,CAAC;AAAA,IAChC,SAAS,KAAK,SAAS,QAAQ,CAAC;AAAA,EAAA;AAEpC;AAIO,MAAM,cAAgC,CAI3C,MACA,MACA,aACG;AACH,SAAO;AAAA,IACL,SAAS,KAAK,SAAS,QAAQ,CAAC,EAAE,YAAA;AAAA,IAClC,SAAS,KAAK,SAAS,QAAQ,CAAC,EAAE,YAAA;AAAA,EAAY;AAElD;AAIO,MAAM,2BAA6C,CAIxD,MACA,MACA,aACG;AACH,SAAO;AAAA,IACL,SAAS,KAAK,SAAS,QAAQ,CAAC;AAAA,IAChC,SAAS,KAAK,SAAS,QAAQ,CAAC;AAAA,EAAA;AAEpC;AAEO,MAAM,kBAAoC,CAI/C,MACA,MACA,aACG;AACH,QAAM,IAAqB,KAAK,SAAS,QAAQ;AACjD,QAAM,IAAqB,KAAK,SAAS,QAAQ;AAKjD,SAAO,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK;AAClC;AAEO,MAAM,eAAiC,CAI5C,MACA,MACA,aACG;AACH,SAAO,aAAa,KAAK,SAAS,QAAQ,GAAG,KAAK,SAAS,QAAQ,CAAC;AACtE;AAIA,SAAS,aAAa,GAAQ,GAAQ;AACpC,SAAO,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI;AACnC;AAEA,SAAS,SAAS,GAAQ;AACxB,MAAI,OAAO,MAAM,UAAU;AACzB,QAAI,MAAM,CAAC,KAAK,MAAM,YAAY,MAAM,WAAW;AACjD,aAAO;AAAA,IACT;AACA,WAAO,OAAO,CAAC;AAAA,EACjB;AACA,MAAI,OAAO,MAAM,UAAU;AACzB,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAKA,SAAS,oBAAoB,MAAc,MAAc;AAGvD,QAAM,IAAI,KAAK,MAAM,mBAAmB,EAAE,OAAO,OAAO;AACxD,QAAM,IAAI,KAAK,MAAM,mBAAmB,EAAE,OAAO,OAAO;AAGxD,SAAO,EAAE,UAAU,EAAE,QAAQ;AAC3B,UAAM,KAAK,EAAE,MAAA;AACb,UAAM,KAAK,EAAE,MAAA;AAEb,UAAM,KAAK,SAAS,IAAI,EAAE;AAC1B,UAAM,KAAK,SAAS,IAAI,EAAE;AAE1B,UAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAA;AAGvB,QAAI,MAAM,MAAM,CAAC,CAAE,GAAG;AACpB,UAAI,KAAK,IAAI;AACX,eAAO;AAAA,MACT;AACA,UAAI,KAAK,IAAI;AACX,eAAO;AAAA,MACT;AACA;AAAA,IACF;AAGA,QAAI,MAAM,MAAM,CAAC,CAAE,GAAG;AACpB,aAAO,MAAM,EAAE,IAAI,KAAK;AAAA,IAC1B;AAGA,QAAI,KAAK,IAAI;AACX,aAAO;AAAA,IACT;AACA,QAAI,KAAK,IAAI;AACX,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO,EAAE,SAAS,EAAE;AACtB;AAIO,MAAM,UAAU;AAAA,EACrB,cAAc;AAAA,EACd,2BAA2B;AAAA,EAC3B,OAAO;AAAA,EACP,UAAU;AAAA,EACV,MAAM;AAAA,EACN,mBAAmB;AACrB;"}
|