@tanstack/table-core 9.0.0-beta.2 → 9.0.0-beta.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/cells/constructCell.d.cts +3 -3
- package/dist/core/cells/constructCell.d.ts +3 -3
- package/dist/core/cells/coreCellsFeature.cjs +11 -20
- package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
- package/dist/core/cells/coreCellsFeature.d.cts +4 -12
- package/dist/core/cells/coreCellsFeature.d.ts +4 -12
- package/dist/core/cells/coreCellsFeature.js +12 -20
- package/dist/core/cells/coreCellsFeature.js.map +1 -1
- package/dist/core/cells/coreCellsFeature.types.d.cts +6 -6
- package/dist/core/cells/coreCellsFeature.types.d.ts +6 -6
- package/dist/core/cells/coreCellsFeature.utils.d.cts +3 -3
- package/dist/core/cells/coreCellsFeature.utils.d.ts +3 -3
- package/dist/core/columns/constructColumn.cjs +5 -0
- package/dist/core/columns/constructColumn.cjs.map +1 -1
- package/dist/core/columns/constructColumn.d.cts +3 -3
- package/dist/core/columns/constructColumn.d.ts +3 -3
- package/dist/core/columns/constructColumn.js +5 -0
- package/dist/core/columns/constructColumn.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.cjs +59 -68
- package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.d.cts +4 -12
- package/dist/core/columns/coreColumnsFeature.d.ts +4 -12
- package/dist/core/columns/coreColumnsFeature.js +60 -68
- package/dist/core/columns/coreColumnsFeature.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -7
- package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -7
- package/dist/core/columns/coreColumnsFeature.utils.cjs +2 -2
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +9 -9
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +9 -9
- package/dist/core/columns/coreColumnsFeature.utils.js +3 -3
- package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
- package/dist/core/coreFeatures.cjs.map +1 -1
- package/dist/core/coreFeatures.d.cts +1 -1
- package/dist/core/coreFeatures.d.ts +1 -1
- package/dist/core/coreFeatures.js.map +1 -1
- package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
- package/dist/core/headers/buildHeaderGroups.d.cts +2 -2
- package/dist/core/headers/buildHeaderGroups.d.ts +2 -2
- package/dist/core/headers/buildHeaderGroups.js.map +1 -1
- package/dist/core/headers/constructHeader.d.cts +2 -2
- package/dist/core/headers/constructHeader.d.ts +2 -2
- package/dist/core/headers/coreHeadersFeature.cjs +44 -53
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.d.cts +4 -12
- package/dist/core/headers/coreHeadersFeature.d.ts +4 -12
- package/dist/core/headers/coreHeadersFeature.js +45 -53
- package/dist/core/headers/coreHeadersFeature.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -6
- package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.cjs +17 -26
- package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.d.cts +4 -12
- package/dist/core/row-models/coreRowModelsFeature.d.ts +4 -12
- package/dist/core/row-models/coreRowModelsFeature.js +18 -26
- package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +6 -16
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +6 -16
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +13 -13
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +14 -14
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +14 -14
- package/dist/core/row-models/coreRowModelsFeature.utils.js +13 -13
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
- package/dist/core/row-models/createCoreRowModel.cjs +2 -3
- package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
- package/dist/core/row-models/createCoreRowModel.d.cts +1 -1
- package/dist/core/row-models/createCoreRowModel.d.ts +1 -1
- package/dist/core/row-models/createCoreRowModel.js +3 -4
- package/dist/core/row-models/createCoreRowModel.js.map +1 -1
- package/dist/core/rows/constructRow.cjs +3 -2
- package/dist/core/rows/constructRow.cjs.map +1 -1
- package/dist/core/rows/constructRow.d.cts +2 -2
- package/dist/core/rows/constructRow.d.ts +2 -2
- package/dist/core/rows/constructRow.js +4 -2
- package/dist/core/rows/constructRow.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.cjs +27 -36
- package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.d.cts +4 -12
- package/dist/core/rows/coreRowsFeature.d.ts +4 -12
- package/dist/core/rows/coreRowsFeature.js +28 -36
- package/dist/core/rows/coreRowsFeature.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +6 -6
- package/dist/core/rows/coreRowsFeature.types.d.ts +6 -6
- package/dist/core/rows/coreRowsFeature.utils.cjs +3 -3
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +3 -3
- package/dist/core/rows/coreRowsFeature.utils.d.ts +3 -3
- package/dist/core/rows/coreRowsFeature.utils.js +4 -4
- package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
- package/dist/core/table/constructTable.cjs +21 -6
- package/dist/core/table/constructTable.cjs.map +1 -1
- package/dist/core/table/constructTable.d.cts +1 -1
- package/dist/core/table/constructTable.d.ts +1 -1
- package/dist/core/table/constructTable.js +21 -6
- package/dist/core/table/constructTable.js.map +1 -1
- package/dist/core/table/coreTablesFeature.cjs +7 -16
- package/dist/core/table/coreTablesFeature.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.d.cts +4 -12
- package/dist/core/table/coreTablesFeature.d.ts +4 -12
- package/dist/core/table/coreTablesFeature.js +8 -16
- package/dist/core/table/coreTablesFeature.js.map +1 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +28 -16
- package/dist/core/table/coreTablesFeature.types.d.ts +28 -16
- package/dist/core/table/coreTablesFeature.utils.cjs +33 -12
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +8 -6
- package/dist/core/table/coreTablesFeature.utils.d.ts +8 -6
- package/dist/core/table/coreTablesFeature.utils.js +33 -12
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.cjs +49 -61
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.d.cts +4 -15
- package/dist/features/column-faceting/columnFacetingFeature.d.ts +4 -15
- package/dist/features/column-faceting/columnFacetingFeature.js +50 -61
- package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +8 -29
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +8 -29
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +12 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +8 -8
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +8 -8
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +12 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.cjs +40 -53
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.d.cts +4 -16
- package/dist/features/column-filtering/columnFilteringFeature.d.ts +4 -16
- package/dist/features/column-filtering/columnFilteringFeature.js +42 -54
- package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +40 -26
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +40 -26
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +12 -12
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +12 -12
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +12 -7
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +5 -3
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +5 -3
- package/dist/features/column-filtering/createFilteredRowModel.js +13 -8
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
- package/dist/features/column-filtering/filterRowsUtils.cjs +3 -2
- package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
- package/dist/features/column-filtering/filterRowsUtils.js +3 -2
- package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.cjs +57 -69
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +4 -15
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +4 -15
- package/dist/features/column-grouping/columnGroupingFeature.js +59 -70
- package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +23 -19
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +23 -19
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +3 -3
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +11 -11
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +11 -11
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +4 -4
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +9 -7
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -3
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -3
- package/dist/features/column-grouping/createGroupedRowModel.js +10 -8
- package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +47 -59
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.d.cts +4 -15
- package/dist/features/column-ordering/columnOrderingFeature.d.ts +4 -15
- package/dist/features/column-ordering/columnOrderingFeature.js +48 -59
- package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +9 -9
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +9 -9
- package/dist/features/column-pinning/columnPinningFeature.cjs +209 -221
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +4 -15
- package/dist/features/column-pinning/columnPinningFeature.d.ts +4 -15
- package/dist/features/column-pinning/columnPinningFeature.js +210 -221
- package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +2 -2
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +2 -2
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +31 -30
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +31 -30
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.cjs +31 -43
- package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.d.cts +4 -15
- package/dist/features/column-resizing/columnResizingFeature.d.ts +4 -15
- package/dist/features/column-resizing/columnResizingFeature.js +32 -43
- package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.types.d.cts +1 -4
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +1 -4
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +2 -5
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +6 -6
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +6 -6
- package/dist/features/column-resizing/columnResizingFeature.utils.js +3 -6
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +112 -125
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.d.cts +4 -16
- package/dist/features/column-sizing/columnSizingFeature.d.ts +4 -16
- package/dist/features/column-sizing/columnSizingFeature.js +113 -125
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +11 -4
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +12 -12
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +12 -12
- package/dist/features/column-sizing/columnSizingFeature.utils.js +12 -5
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +83 -95
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.d.cts +4 -15
- package/dist/features/column-visibility/columnVisibilityFeature.d.ts +4 -15
- package/dist/features/column-visibility/columnVisibilityFeature.js +84 -95
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +2 -2
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +2 -2
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +12 -9
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +14 -14
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +14 -14
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +13 -10
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +31 -43
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.d.cts +4 -15
- package/dist/features/global-filtering/globalFilteringFeature.d.ts +4 -15
- package/dist/features/global-filtering/globalFilteringFeature.js +32 -43
- package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +2 -2
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +2 -2
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +10 -8
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -8
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.cjs +37 -49
- package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.d.cts +4 -15
- package/dist/features/row-expanding/rowExpandingFeature.d.ts +4 -15
- package/dist/features/row-expanding/rowExpandingFeature.js +38 -49
- package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +5 -14
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +5 -14
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +21 -12
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +10 -10
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +10 -10
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +22 -13
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.js +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.cjs +35 -47
- package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.d.cts +4 -15
- package/dist/features/row-pagination/rowPaginationFeature.d.ts +4 -15
- package/dist/features/row-pagination/rowPaginationFeature.js +36 -47
- package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +4 -13
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +4 -13
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +17 -17
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +17 -17
- package/dist/features/row-pinning/rowPinningFeature.cjs +55 -67
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.d.cts +4 -15
- package/dist/features/row-pinning/rowPinningFeature.d.ts +4 -15
- package/dist/features/row-pinning/rowPinningFeature.js +56 -67
- package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +2 -2
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +2 -2
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +2 -2
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +7 -7
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +7 -7
- package/dist/features/row-pinning/rowPinningFeature.utils.js +2 -2
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +108 -77
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.d.cts +4 -15
- package/dist/features/row-selection/rowSelectionFeature.d.ts +4 -15
- package/dist/features/row-selection/rowSelectionFeature.js +110 -78
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +13 -5
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +13 -5
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +76 -60
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +48 -23
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +48 -23
- package/dist/features/row-selection/rowSelectionFeature.utils.js +77 -62
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +5 -3
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.d.cts +5 -3
- package/dist/features/row-sorting/createSortedRowModel.d.ts +5 -3
- package/dist/features/row-sorting/createSortedRowModel.js +6 -4
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.cjs +45 -57
- package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.d.cts +4 -15
- package/dist/features/row-sorting/rowSortingFeature.d.ts +4 -15
- package/dist/features/row-sorting/rowSortingFeature.js +46 -57
- package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +24 -21
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +24 -21
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +8 -5
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +16 -16
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +16 -16
- package/dist/features/row-sorting/rowSortingFeature.utils.js +8 -5
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
- package/dist/fns/aggregationFns.cjs +18 -18
- package/dist/fns/aggregationFns.cjs.map +1 -1
- package/dist/fns/aggregationFns.d.cts +21 -19
- package/dist/fns/aggregationFns.d.ts +21 -19
- package/dist/fns/aggregationFns.js +18 -18
- package/dist/fns/aggregationFns.js.map +1 -1
- package/dist/fns/filterFns.cjs +51 -65
- package/dist/fns/filterFns.cjs.map +1 -1
- package/dist/fns/filterFns.d.cts +82 -28
- package/dist/fns/filterFns.d.ts +82 -28
- package/dist/fns/filterFns.js +51 -65
- package/dist/fns/filterFns.js.map +1 -1
- package/dist/fns/sortFns.cjs +18 -6
- package/dist/fns/sortFns.cjs.map +1 -1
- package/dist/fns/sortFns.d.cts +15 -13
- package/dist/fns/sortFns.d.ts +15 -13
- package/dist/fns/sortFns.js +18 -6
- package/dist/fns/sortFns.js.map +1 -1
- package/dist/helpers/columnHelper.cjs.map +1 -1
- package/dist/helpers/columnHelper.d.cts +2 -2
- package/dist/helpers/columnHelper.d.ts +2 -2
- package/dist/helpers/columnHelper.js.map +1 -1
- package/dist/helpers/metaHelper.cjs +30 -0
- package/dist/helpers/metaHelper.cjs.map +1 -0
- package/dist/helpers/metaHelper.d.cts +26 -0
- package/dist/helpers/metaHelper.d.ts +26 -0
- package/dist/helpers/metaHelper.js +29 -0
- package/dist/helpers/metaHelper.js.map +1 -0
- package/dist/helpers/tableFeatures.cjs +31 -3
- package/dist/helpers/tableFeatures.cjs.map +1 -1
- package/dist/helpers/tableFeatures.d.cts +33 -5
- package/dist/helpers/tableFeatures.d.ts +33 -5
- package/dist/helpers/tableFeatures.js +31 -3
- package/dist/helpers/tableFeatures.js.map +1 -1
- package/dist/index.cjs +4 -20
- package/dist/index.d.cts +50 -49
- package/dist/index.d.ts +50 -49
- package/dist/index.js +23 -22
- package/dist/static-functions.cjs +1 -0
- package/dist/static-functions.d.cts +2 -2
- package/dist/static-functions.d.ts +2 -2
- package/dist/static-functions.js +2 -2
- package/dist/store-reactivity-bindings.cjs +1 -1
- package/dist/store-reactivity-bindings.cjs.map +1 -1
- package/dist/store-reactivity-bindings.d.cts +1 -1
- package/dist/store-reactivity-bindings.d.ts +1 -1
- package/dist/store-reactivity-bindings.js +1 -1
- package/dist/store-reactivity-bindings.js.map +1 -1
- package/dist/types/Cell.d.cts +4 -9
- package/dist/types/Cell.d.ts +4 -9
- package/dist/types/Column.d.cts +11 -18
- package/dist/types/Column.d.ts +11 -18
- package/dist/types/ColumnDef.d.cts +23 -14
- package/dist/types/ColumnDef.d.ts +23 -14
- package/dist/types/Header.d.cts +5 -10
- package/dist/types/Header.d.ts +5 -10
- package/dist/types/HeaderGroup.d.cts +4 -9
- package/dist/types/HeaderGroup.d.ts +4 -9
- package/dist/types/Row.d.cts +7 -12
- package/dist/types/Row.d.ts +7 -12
- package/dist/types/RowModel.d.cts +12 -28
- package/dist/types/RowModel.d.ts +12 -28
- package/dist/types/RowModelFns.d.cts +6 -11
- package/dist/types/RowModelFns.d.ts +6 -11
- package/dist/types/Table.d.cts +26 -36
- package/dist/types/Table.d.ts +26 -36
- package/dist/types/TableFeatures.d.cts +328 -54
- package/dist/types/TableFeatures.d.ts +328 -54
- package/dist/types/TableOptions.d.cts +22 -17
- package/dist/types/TableOptions.d.ts +22 -17
- package/dist/types/TableState.d.cts +11 -16
- package/dist/types/TableState.d.ts +11 -16
- package/dist/utils.cjs +24 -2
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +23 -7
- package/dist/utils.d.ts +23 -7
- package/dist/utils.js +23 -3
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/skills/column-definitions/SKILL.md +3 -6
- package/skills/column-layout/SKILL.md +0 -2
- package/skills/customizing-feature-behavior/SKILL.md +63 -56
- package/skills/filtering/SKILL.md +60 -42
- package/skills/filtering/references/faceting-and-fuzzy.md +59 -32
- package/skills/grouping/SKILL.md +49 -54
- package/skills/migrate-v8-to-v9/SKILL.md +30 -33
- package/skills/pagination/SKILL.md +22 -20
- package/skills/row-expanding/SKILL.md +33 -25
- package/skills/row-pinning/SKILL.md +11 -7
- package/skills/row-selection/SKILL.md +0 -3
- package/skills/setup/SKILL.md +55 -65
- package/skills/sorting/SKILL.md +21 -21
- package/skills/state-management/SKILL.md +40 -25
- package/src/core/cells/coreCellsFeature.ts +17 -39
- package/src/core/cells/coreCellsFeature.types.ts +6 -6
- package/src/core/columns/constructColumn.ts +6 -0
- package/src/core/columns/coreColumnsFeature.ts +56 -83
- package/src/core/columns/coreColumnsFeature.types.ts +8 -8
- package/src/core/columns/coreColumnsFeature.utils.ts +4 -4
- package/src/core/coreFeatures.ts +1 -1
- package/src/core/headers/buildHeaderGroups.ts +4 -2
- package/src/core/headers/coreHeadersFeature.ts +42 -64
- package/src/core/headers/coreHeadersFeature.types.ts +12 -12
- package/src/core/headers/coreHeadersFeature.utils.ts +1 -1
- package/src/core/row-models/coreRowModelsFeature.ts +43 -64
- package/src/core/row-models/coreRowModelsFeature.types.ts +7 -24
- package/src/core/row-models/coreRowModelsFeature.utils.ts +7 -7
- package/src/core/row-models/createCoreRowModel.ts +7 -6
- package/src/core/rows/constructRow.ts +3 -2
- package/src/core/rows/coreRowsFeature.ts +45 -72
- package/src/core/rows/coreRowsFeature.types.ts +8 -8
- package/src/core/rows/coreRowsFeature.utils.ts +4 -4
- package/src/core/table/constructTable.ts +50 -13
- package/src/core/table/coreTablesFeature.ts +13 -35
- package/src/core/table/coreTablesFeature.types.ts +40 -17
- package/src/core/table/coreTablesFeature.utils.ts +52 -18
- package/src/features/column-faceting/columnFacetingFeature.ts +71 -102
- package/src/features/column-faceting/columnFacetingFeature.types.ts +11 -44
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +6 -6
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +1 -1
- package/src/features/column-faceting/createFacetedRowModel.ts +1 -1
- package/src/features/column-faceting/createFacetedUniqueValues.ts +1 -1
- package/src/features/column-filtering/columnFilteringFeature.ts +61 -103
- package/src/features/column-filtering/columnFilteringFeature.types.ts +55 -39
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +2 -2
- package/src/features/column-filtering/createFilteredRowModel.ts +18 -17
- package/src/features/column-filtering/filterRowsUtils.ts +3 -2
- package/src/features/column-grouping/columnGroupingFeature.ts +83 -126
- package/src/features/column-grouping/columnGroupingFeature.types.ts +32 -31
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +2 -2
- package/src/features/column-grouping/createGroupedRowModel.ts +17 -16
- package/src/features/column-ordering/columnOrderingFeature.ts +52 -84
- package/src/features/column-ordering/columnOrderingFeature.types.ts +2 -2
- package/src/features/column-pinning/columnPinningFeature.ts +268 -304
- package/src/features/column-pinning/columnPinningFeature.types.ts +4 -4
- package/src/features/column-pinning/columnPinningFeature.utils.ts +11 -19
- package/src/features/column-resizing/columnResizingFeature.ts +44 -78
- package/src/features/column-resizing/columnResizingFeature.types.ts +1 -4
- package/src/features/column-resizing/columnResizingFeature.utils.ts +5 -6
- package/src/features/column-sizing/columnSizingFeature.ts +115 -152
- package/src/features/column-sizing/columnSizingFeature.utils.ts +27 -5
- package/src/features/column-visibility/columnVisibilityFeature.ts +92 -129
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +31 -15
- package/src/features/global-filtering/globalFilteringFeature.ts +45 -79
- package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +5 -3
- package/src/features/row-expanding/createExpandedRowModel.ts +1 -1
- package/src/features/row-expanding/rowExpandingFeature.ts +65 -101
- package/src/features/row-expanding/rowExpandingFeature.types.ts +8 -22
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +38 -13
- package/src/features/row-pagination/createPaginatedRowModel.ts +2 -2
- package/src/features/row-pagination/rowPaginationFeature.ts +69 -103
- package/src/features/row-pagination/rowPaginationFeature.types.ts +6 -20
- package/src/features/row-pinning/rowPinningFeature.ts +72 -104
- package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
- package/src/features/row-selection/rowSelectionFeature.ts +125 -135
- package/src/features/row-selection/rowSelectionFeature.types.ts +17 -7
- package/src/features/row-selection/rowSelectionFeature.utils.ts +144 -66
- package/src/features/row-sorting/createSortedRowModel.ts +12 -15
- package/src/features/row-sorting/rowSortingFeature.ts +73 -114
- package/src/features/row-sorting/rowSortingFeature.types.ts +33 -32
- package/src/features/row-sorting/rowSortingFeature.utils.ts +8 -6
- package/src/fns/aggregationFns.ts +26 -42
- package/src/fns/filterFns.ts +237 -264
- package/src/fns/sortFns.ts +51 -29
- package/src/helpers/columnHelper.ts +4 -4
- package/src/helpers/metaHelper.ts +24 -0
- package/src/helpers/tableFeatures.ts +36 -5
- package/src/index.ts +1 -0
- package/src/store-reactivity-bindings.ts +1 -1
- package/src/types/Cell.ts +5 -21
- package/src/types/Column.ts +12 -26
- package/src/types/ColumnDef.ts +28 -18
- package/src/types/Header.ts +4 -20
- package/src/types/HeaderGroup.ts +7 -18
- package/src/types/Row.ts +6 -21
- package/src/types/RowModel.ts +15 -88
- package/src/types/RowModelFns.ts +9 -24
- package/src/types/Table.ts +54 -44
- package/src/types/TableFeatures.ts +402 -123
- package/src/types/TableOptions.ts +59 -21
- package/src/types/TableState.ts +5 -17
- package/src/utils.ts +40 -8
package/src/fns/filterFns.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { RowData } from '../types/type-utils'
|
|
2
2
|
import type { TableFeatures } from '../types/TableFeatures'
|
|
3
3
|
import type { Row } from '../types/Row'
|
|
4
|
-
import type { FilterFn } from '../features/column-filtering/columnFilteringFeature.types'
|
|
5
4
|
|
|
6
5
|
// Basic filters
|
|
7
6
|
|
|
@@ -10,18 +9,16 @@ import type { FilterFn } from '../features/column-filtering/columnFilteringFeatu
|
|
|
10
9
|
*
|
|
11
10
|
* Uses JavaScript `===` comparison and auto-removes empty filter values.
|
|
12
11
|
*/
|
|
13
|
-
export const filterFn_equals
|
|
14
|
-
TFeatures extends TableFeatures,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
filterFn_equals.autoRemove = (val: any) => testFalsy(val)
|
|
12
|
+
export const filterFn_equals = Object.assign(
|
|
13
|
+
<TFeatures extends TableFeatures, TData extends RowData>(
|
|
14
|
+
row: Row<TFeatures, TData>,
|
|
15
|
+
columnId: string,
|
|
16
|
+
filterValue: unknown,
|
|
17
|
+
) => {
|
|
18
|
+
return row.getValue(columnId) === filterValue
|
|
19
|
+
},
|
|
20
|
+
{ autoRemove: (val: any) => testFalsy(val) },
|
|
21
|
+
)
|
|
25
22
|
|
|
26
23
|
/**
|
|
27
24
|
* Keeps rows whose column value is loosely equal to the filter value.
|
|
@@ -29,18 +26,16 @@ filterFn_equals.autoRemove = (val: any) => testFalsy(val)
|
|
|
29
26
|
* Uses JavaScript `==` comparison and auto-removes empty filter values. This is
|
|
30
27
|
* useful for matching string input against numeric row values.
|
|
31
28
|
*/
|
|
32
|
-
export const filterFn_weakEquals
|
|
33
|
-
TFeatures extends TableFeatures,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
filterFn_weakEquals.autoRemove = (val: any) => testFalsy(val)
|
|
29
|
+
export const filterFn_weakEquals = Object.assign(
|
|
30
|
+
<TFeatures extends TableFeatures, TData extends RowData>(
|
|
31
|
+
row: Row<TFeatures, TData>,
|
|
32
|
+
columnId: string,
|
|
33
|
+
filterValue: unknown,
|
|
34
|
+
) => {
|
|
35
|
+
return row.getValue(columnId) == filterValue
|
|
36
|
+
},
|
|
37
|
+
{ autoRemove: (val: any) => testFalsy(val) },
|
|
38
|
+
)
|
|
44
39
|
|
|
45
40
|
// String filters
|
|
46
41
|
|
|
@@ -49,20 +44,18 @@ filterFn_weakEquals.autoRemove = (val: any) => testFalsy(val)
|
|
|
49
44
|
*
|
|
50
45
|
* Matching is case-sensitive and empty filter values are auto-removed.
|
|
51
46
|
*/
|
|
52
|
-
export const filterFn_includesStringSensitive
|
|
53
|
-
TFeatures extends TableFeatures,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
)
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
)
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
filterFn_includesStringSensitive.autoRemove = (val: any) => testFalsy(val)
|
|
47
|
+
export const filterFn_includesStringSensitive = Object.assign(
|
|
48
|
+
<TFeatures extends TableFeatures, TData extends RowData>(
|
|
49
|
+
row: Row<TFeatures, TData>,
|
|
50
|
+
columnId: string,
|
|
51
|
+
filterValue: unknown,
|
|
52
|
+
) => {
|
|
53
|
+
return Boolean(
|
|
54
|
+
row.getValue(columnId)?.toString().includes(String(filterValue)),
|
|
55
|
+
)
|
|
56
|
+
},
|
|
57
|
+
{ autoRemove: (val: any) => testFalsy(val) },
|
|
58
|
+
)
|
|
66
59
|
|
|
67
60
|
/**
|
|
68
61
|
* Keeps rows whose stringified column value includes the filter text.
|
|
@@ -70,24 +63,22 @@ filterFn_includesStringSensitive.autoRemove = (val: any) => testFalsy(val)
|
|
|
70
63
|
* Both values are lowercased before comparison, and empty filter values are
|
|
71
64
|
* auto-removed.
|
|
72
65
|
*/
|
|
73
|
-
export const filterFn_includesString
|
|
74
|
-
TFeatures extends TableFeatures,
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
)
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
filterFn_includesString.autoRemove = (val: any) => testFalsy(val)
|
|
66
|
+
export const filterFn_includesString = Object.assign(
|
|
67
|
+
<TFeatures extends TableFeatures, TData extends RowData>(
|
|
68
|
+
row: Row<TFeatures, TData>,
|
|
69
|
+
columnId: string,
|
|
70
|
+
filterValue: unknown,
|
|
71
|
+
) => {
|
|
72
|
+
return Boolean(
|
|
73
|
+
row
|
|
74
|
+
.getValue(columnId)
|
|
75
|
+
?.toString()
|
|
76
|
+
.toLowerCase()
|
|
77
|
+
.includes(String(filterValue).toLowerCase()),
|
|
78
|
+
)
|
|
79
|
+
},
|
|
80
|
+
{ autoRemove: (val: any) => testFalsy(val) },
|
|
81
|
+
)
|
|
91
82
|
|
|
92
83
|
/**
|
|
93
84
|
* Keeps rows whose stringified column value equals the filter text.
|
|
@@ -95,39 +86,35 @@ filterFn_includesString.autoRemove = (val: any) => testFalsy(val)
|
|
|
95
86
|
* Both values are lowercased before comparison, and empty filter values are
|
|
96
87
|
* auto-removed.
|
|
97
88
|
*/
|
|
98
|
-
export const filterFn_equalsString
|
|
99
|
-
TFeatures extends TableFeatures,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
)
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
)
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
filterFn_equalsString.autoRemove = (val: any) => testFalsy(val)
|
|
89
|
+
export const filterFn_equalsString = Object.assign(
|
|
90
|
+
<TFeatures extends TableFeatures, TData extends RowData>(
|
|
91
|
+
row: Row<TFeatures, TData>,
|
|
92
|
+
columnId: string,
|
|
93
|
+
filterValue: unknown,
|
|
94
|
+
) => {
|
|
95
|
+
return (
|
|
96
|
+
row.getValue(columnId)?.toString().toLowerCase() ===
|
|
97
|
+
String(filterValue).toLowerCase()
|
|
98
|
+
)
|
|
99
|
+
},
|
|
100
|
+
{ autoRemove: (val: any) => testFalsy(val) },
|
|
101
|
+
)
|
|
113
102
|
|
|
114
103
|
/**
|
|
115
104
|
* Keeps rows whose stringified column value exactly equals the filter text.
|
|
116
105
|
*
|
|
117
106
|
* Matching is case-sensitive and empty filter values are auto-removed.
|
|
118
107
|
*/
|
|
119
|
-
export const filterFn_equalsStringSensitive
|
|
120
|
-
TFeatures extends TableFeatures,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
filterFn_equalsStringSensitive.autoRemove = (val: any) => testFalsy(val)
|
|
108
|
+
export const filterFn_equalsStringSensitive = Object.assign(
|
|
109
|
+
<TFeatures extends TableFeatures, TData extends RowData>(
|
|
110
|
+
row: Row<TFeatures, TData>,
|
|
111
|
+
columnId: string,
|
|
112
|
+
filterValue: unknown,
|
|
113
|
+
) => {
|
|
114
|
+
return row.getValue(columnId)?.toString() === String(filterValue)
|
|
115
|
+
},
|
|
116
|
+
{ autoRemove: (val: any) => testFalsy(val) },
|
|
117
|
+
)
|
|
131
118
|
|
|
132
119
|
// Number filters
|
|
133
120
|
|
|
@@ -137,86 +124,78 @@ filterFn_equalsStringSensitive.autoRemove = (val: any) => testFalsy(val)
|
|
|
137
124
|
* Numeric values are compared numerically when both sides can be coerced to
|
|
138
125
|
* numbers; otherwise normalized strings are compared.
|
|
139
126
|
*/
|
|
140
|
-
export const filterFn_greaterThan
|
|
141
|
-
TFeatures extends TableFeatures,
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
filterFn_greaterThan.resolveFilterValue = (val: any) => testFalsy(val)
|
|
127
|
+
export const filterFn_greaterThan = Object.assign(
|
|
128
|
+
<TFeatures extends TableFeatures, TData extends RowData>(
|
|
129
|
+
row: Row<TFeatures, TData>,
|
|
130
|
+
columnId: string,
|
|
131
|
+
filterValue: unknown,
|
|
132
|
+
) => {
|
|
133
|
+
const rowValue = row.getValue(columnId)
|
|
134
|
+
const numericRowValue =
|
|
135
|
+
rowValue === null || rowValue === undefined ? 0 : +rowValue
|
|
136
|
+
const numericFilterValue = Number(filterValue)
|
|
137
|
+
|
|
138
|
+
if (!isNaN(numericFilterValue) && !isNaN(numericRowValue)) {
|
|
139
|
+
return numericRowValue > numericFilterValue
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
const stringValue = (rowValue ?? '').toString().toLowerCase().trim()
|
|
143
|
+
const stringFilterValue = String(filterValue).toLowerCase().trim()
|
|
144
|
+
return stringValue > stringFilterValue
|
|
145
|
+
},
|
|
146
|
+
{ resolveFilterValue: (val: any) => testFalsy(val) },
|
|
147
|
+
)
|
|
163
148
|
|
|
164
149
|
/**
|
|
165
150
|
* Keeps rows whose value is greater than or equal to the filter value.
|
|
166
151
|
*
|
|
167
152
|
* Delegates to the built-in greater-than and equality comparisons.
|
|
168
153
|
*/
|
|
169
|
-
export const filterFn_greaterThanOrEqualTo
|
|
170
|
-
TFeatures extends TableFeatures,
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
)
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
)
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
filterFn_greaterThanOrEqualTo.resolveFilterValue = (val: any) => testFalsy(val)
|
|
154
|
+
export const filterFn_greaterThanOrEqualTo = Object.assign(
|
|
155
|
+
<TFeatures extends TableFeatures, TData extends RowData>(
|
|
156
|
+
row: Row<TFeatures, TData>,
|
|
157
|
+
columnId: string,
|
|
158
|
+
filterValue: unknown,
|
|
159
|
+
) => {
|
|
160
|
+
return (
|
|
161
|
+
filterFn_greaterThan(row, columnId, filterValue) ||
|
|
162
|
+
filterFn_equals(row, columnId, filterValue)
|
|
163
|
+
)
|
|
164
|
+
},
|
|
165
|
+
{ resolveFilterValue: (val: any) => testFalsy(val) },
|
|
166
|
+
)
|
|
184
167
|
|
|
185
168
|
/**
|
|
186
169
|
* Keeps rows whose value is less than the filter value.
|
|
187
170
|
*
|
|
188
171
|
* This is implemented as the inverse of greater-than-or-equal comparison.
|
|
189
172
|
*/
|
|
190
|
-
export const filterFn_lessThan
|
|
191
|
-
TFeatures extends TableFeatures,
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
filterFn_lessThan.resolveFilterValue = (val: any) => testFalsy(val)
|
|
173
|
+
export const filterFn_lessThan = Object.assign(
|
|
174
|
+
<TFeatures extends TableFeatures, TData extends RowData>(
|
|
175
|
+
row: Row<TFeatures, TData>,
|
|
176
|
+
columnId: string,
|
|
177
|
+
filterValue: unknown,
|
|
178
|
+
) => {
|
|
179
|
+
return !filterFn_greaterThanOrEqualTo(row, columnId, filterValue)
|
|
180
|
+
},
|
|
181
|
+
{ resolveFilterValue: (val: any) => testFalsy(val) },
|
|
182
|
+
)
|
|
202
183
|
|
|
203
184
|
/**
|
|
204
185
|
* Keeps rows whose value is less than or equal to the filter value.
|
|
205
186
|
*
|
|
206
187
|
* This is implemented as the inverse of greater-than comparison.
|
|
207
188
|
*/
|
|
208
|
-
export const filterFn_lessThanOrEqualTo
|
|
209
|
-
TFeatures extends TableFeatures,
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
filterFn_lessThanOrEqualTo.resolveFilterValue = (val: any) => testFalsy(val)
|
|
189
|
+
export const filterFn_lessThanOrEqualTo = Object.assign(
|
|
190
|
+
<TFeatures extends TableFeatures, TData extends RowData>(
|
|
191
|
+
row: Row<TFeatures, TData>,
|
|
192
|
+
columnId: string,
|
|
193
|
+
filterValue: unknown,
|
|
194
|
+
) => {
|
|
195
|
+
return !filterFn_greaterThan(row, columnId, filterValue)
|
|
196
|
+
},
|
|
197
|
+
{ resolveFilterValue: (val: any) => testFalsy(val) },
|
|
198
|
+
)
|
|
220
199
|
|
|
221
200
|
// Range filters
|
|
222
201
|
|
|
@@ -225,46 +204,48 @@ filterFn_lessThanOrEqualTo.resolveFilterValue = (val: any) => testFalsy(val)
|
|
|
225
204
|
*
|
|
226
205
|
* Blank range endpoints are treated as open-ended.
|
|
227
206
|
*/
|
|
228
|
-
const filterFn_between
|
|
229
|
-
TFeatures extends TableFeatures,
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
)
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
207
|
+
const filterFn_between = Object.assign(
|
|
208
|
+
<TFeatures extends TableFeatures, TData extends RowData>(
|
|
209
|
+
row: Row<TFeatures, TData>,
|
|
210
|
+
columnId: string,
|
|
211
|
+
filterValues: [unknown, unknown],
|
|
212
|
+
): boolean =>
|
|
213
|
+
((['', undefined] as Array<any>).includes(filterValues[0]) ||
|
|
214
|
+
filterFn_greaterThan(row, columnId, filterValues[0])) &&
|
|
215
|
+
((!isNaN(Number(filterValues[0])) &&
|
|
216
|
+
!isNaN(Number(filterValues[1])) &&
|
|
217
|
+
Number(filterValues[0]) > Number(filterValues[1])) ||
|
|
218
|
+
(['', undefined] as Array<any>).includes(filterValues[1]) ||
|
|
219
|
+
filterFn_lessThan(row, columnId, filterValues[1])),
|
|
220
|
+
{
|
|
221
|
+
autoRemove: (val: any) =>
|
|
222
|
+
testFalsy(val) || (testFalsy(val[0]) && testFalsy(val[1])),
|
|
223
|
+
},
|
|
224
|
+
)
|
|
245
225
|
|
|
246
226
|
/**
|
|
247
227
|
* Keeps rows whose value falls between an inclusive min/max pair.
|
|
248
228
|
*
|
|
249
229
|
* Blank range endpoints are treated as open-ended.
|
|
250
230
|
*/
|
|
251
|
-
const filterFn_betweenInclusive
|
|
252
|
-
TFeatures extends TableFeatures,
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
)
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
231
|
+
const filterFn_betweenInclusive = Object.assign(
|
|
232
|
+
<TFeatures extends TableFeatures, TData extends RowData>(
|
|
233
|
+
row: Row<TFeatures, TData>,
|
|
234
|
+
columnId: string,
|
|
235
|
+
filterValues: [unknown, unknown],
|
|
236
|
+
): boolean =>
|
|
237
|
+
((['', undefined] as Array<any>).includes(filterValues[0]) ||
|
|
238
|
+
filterFn_greaterThanOrEqualTo(row, columnId, filterValues[0])) &&
|
|
239
|
+
((!isNaN(Number(filterValues[0])) &&
|
|
240
|
+
!isNaN(Number(filterValues[1])) &&
|
|
241
|
+
Number(filterValues[0]) > Number(filterValues[1])) ||
|
|
242
|
+
(['', undefined] as Array<any>).includes(filterValues[1]) ||
|
|
243
|
+
filterFn_lessThanOrEqualTo(row, columnId, filterValues[1])),
|
|
244
|
+
{
|
|
245
|
+
autoRemove: (val: any) =>
|
|
246
|
+
testFalsy(val) || (testFalsy(val[0]) && testFalsy(val[1])),
|
|
247
|
+
},
|
|
248
|
+
)
|
|
268
249
|
|
|
269
250
|
/**
|
|
270
251
|
* Keeps rows whose numeric value is inside an inclusive `[min, max]` range.
|
|
@@ -272,50 +253,50 @@ filterFn_betweenInclusive.autoRemove = (val: any) => !val
|
|
|
272
253
|
* Filter values are normalized so blank endpoints become open-ended and
|
|
273
254
|
* reversed endpoints are swapped.
|
|
274
255
|
*/
|
|
275
|
-
export const filterFn_inNumberRange
|
|
276
|
-
TFeatures extends TableFeatures,
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
256
|
+
export const filterFn_inNumberRange = Object.assign(
|
|
257
|
+
<TFeatures extends TableFeatures, TData extends RowData>(
|
|
258
|
+
row: Row<TFeatures, TData>,
|
|
259
|
+
columnId: string,
|
|
260
|
+
filterValue: [number, number],
|
|
261
|
+
) => {
|
|
262
|
+
const [min, max] = filterValue
|
|
263
|
+
|
|
264
|
+
const rowValue: number = row.getValue(columnId)
|
|
265
|
+
return rowValue >= min && rowValue <= max
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
resolveFilterValue: (val: [any, any]) => {
|
|
269
|
+
const [unsafeMin, unsafeMax] = val
|
|
270
|
+
|
|
271
|
+
const parsedMin =
|
|
272
|
+
typeof unsafeMin !== 'number' ? parseFloat(unsafeMin) : unsafeMin
|
|
273
|
+
const parsedMax =
|
|
274
|
+
typeof unsafeMax !== 'number' ? parseFloat(unsafeMax) : unsafeMax
|
|
275
|
+
|
|
276
|
+
let min =
|
|
277
|
+
unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin
|
|
278
|
+
let max =
|
|
279
|
+
unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax
|
|
280
|
+
|
|
281
|
+
if (min > max) {
|
|
282
|
+
const temp = min
|
|
283
|
+
min = max
|
|
284
|
+
max = temp
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
return [min, max] as const
|
|
288
|
+
},
|
|
289
|
+
autoRemove: (val: any) =>
|
|
290
|
+
testFalsy(val) || (testFalsy(val[0]) && testFalsy(val[1])),
|
|
291
|
+
},
|
|
292
|
+
)
|
|
312
293
|
|
|
313
294
|
// Array filters
|
|
314
295
|
|
|
315
296
|
/**
|
|
316
297
|
* Keeps rows whose scalar column value equals at least one filter value.
|
|
317
298
|
*/
|
|
318
|
-
export const filterFn_arrHas
|
|
299
|
+
export const filterFn_arrHas = <
|
|
319
300
|
TFeatures extends TableFeatures,
|
|
320
301
|
TData extends RowData,
|
|
321
302
|
>(
|
|
@@ -329,60 +310,52 @@ export const filterFn_arrHas: FilterFn<any, any> = <
|
|
|
329
310
|
/**
|
|
330
311
|
* Keeps rows whose array or string column value includes at least one filter value.
|
|
331
312
|
*/
|
|
332
|
-
export const filterFn_arrIncludes
|
|
333
|
-
TFeatures extends TableFeatures,
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
)
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
)
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
filterFn_arrIncludes.autoRemove = (val: any) => testFalsy(val) || !val?.length
|
|
313
|
+
export const filterFn_arrIncludes = Object.assign(
|
|
314
|
+
<TFeatures extends TableFeatures, TData extends RowData>(
|
|
315
|
+
row: Row<TFeatures, TData>,
|
|
316
|
+
columnId: string,
|
|
317
|
+
filterValue: Array<unknown>,
|
|
318
|
+
) => {
|
|
319
|
+
return filterValue.some((val) =>
|
|
320
|
+
(row.getValue<unknown>(columnId) as Array<unknown> | string).includes(
|
|
321
|
+
val as any,
|
|
322
|
+
),
|
|
323
|
+
)
|
|
324
|
+
},
|
|
325
|
+
{ autoRemove: (val: any) => testFalsy(val) || !val?.length },
|
|
326
|
+
)
|
|
348
327
|
|
|
349
328
|
/**
|
|
350
329
|
* Keeps rows whose array column value includes every filter value.
|
|
351
330
|
*/
|
|
352
|
-
export const filterFn_arrIncludesAll
|
|
353
|
-
TFeatures extends TableFeatures,
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
)
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
filterFn_arrIncludesAll.autoRemove = (val: any) =>
|
|
366
|
-
testFalsy(val) || !val?.length
|
|
331
|
+
export const filterFn_arrIncludesAll = Object.assign(
|
|
332
|
+
<TFeatures extends TableFeatures, TData extends RowData>(
|
|
333
|
+
row: Row<TFeatures, TData>,
|
|
334
|
+
columnId: string,
|
|
335
|
+
filterValue: Array<unknown>,
|
|
336
|
+
) => {
|
|
337
|
+
const value = row.getValue<Array<unknown>>(columnId)
|
|
338
|
+
if (!Array.isArray(value)) return false
|
|
339
|
+
return !filterValue.some((val) => !value.includes(val))
|
|
340
|
+
},
|
|
341
|
+
{ autoRemove: (val: any) => testFalsy(val) || !val?.length },
|
|
342
|
+
)
|
|
367
343
|
|
|
368
344
|
/**
|
|
369
345
|
* Keeps rows whose array column value includes at least one filter value.
|
|
370
346
|
*/
|
|
371
|
-
export const filterFn_arrIncludesSome
|
|
372
|
-
TFeatures extends TableFeatures,
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
)
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
filterFn_arrIncludesSome.autoRemove = (val: any) =>
|
|
385
|
-
testFalsy(val) || !val?.length
|
|
347
|
+
export const filterFn_arrIncludesSome = Object.assign(
|
|
348
|
+
<TFeatures extends TableFeatures, TData extends RowData>(
|
|
349
|
+
row: Row<TFeatures, TData>,
|
|
350
|
+
columnId: string,
|
|
351
|
+
filterValue: Array<unknown>,
|
|
352
|
+
) => {
|
|
353
|
+
const value = row.getValue<Array<unknown>>(columnId)
|
|
354
|
+
if (!Array.isArray(value)) return false
|
|
355
|
+
return filterValue.some((val) => value.includes(val))
|
|
356
|
+
},
|
|
357
|
+
{ autoRemove: (val: any) => testFalsy(val) || !val?.length },
|
|
358
|
+
)
|
|
386
359
|
|
|
387
360
|
// Export
|
|
388
361
|
|