@tanstack/table-core 9.0.0-alpha.0 → 9.0.0-alpha.11
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/esm/core/cells/constructCell.d.ts +7 -0
- package/dist/esm/core/cells/constructCell.js +21 -0
- package/dist/esm/core/cells/constructCell.js.map +1 -0
- package/dist/esm/core/cells/coreCellsFeature.d.ts +10 -0
- package/dist/esm/core/cells/coreCellsFeature.js +26 -0
- package/dist/esm/core/cells/coreCellsFeature.js.map +1 -0
- package/dist/esm/core/cells/coreCellsFeature.types.d.ts +52 -0
- package/dist/esm/core/cells/coreCellsFeature.utils.d.ts +13 -0
- package/dist/esm/core/cells/coreCellsFeature.utils.js +23 -0
- package/dist/esm/core/cells/coreCellsFeature.utils.js.map +1 -0
- package/dist/esm/core/columns/constructColumn.d.ts +6 -0
- package/dist/esm/core/columns/constructColumn.js +60 -0
- package/dist/esm/core/columns/constructColumn.js.map +1 -0
- package/dist/esm/core/columns/coreColumnsFeature.d.ts +10 -0
- package/dist/esm/core/columns/coreColumnsFeature.js +61 -0
- package/dist/esm/core/columns/coreColumnsFeature.js.map +1 -0
- package/dist/esm/core/columns/coreColumnsFeature.types.d.ts +84 -0
- package/dist/esm/core/columns/coreColumnsFeature.utils.d.ts +13 -0
- package/dist/esm/core/columns/coreColumnsFeature.utils.js +91 -0
- package/dist/esm/core/columns/coreColumnsFeature.utils.js.map +1 -0
- package/dist/esm/core/coreFeatures.d.ts +15 -0
- package/dist/esm/core/coreFeatures.js +18 -0
- package/dist/esm/core/coreFeatures.js.map +1 -0
- package/dist/esm/core/headers/buildHeaderGroups.d.ts +6 -0
- package/dist/esm/core/headers/buildHeaderGroups.js +99 -0
- package/dist/esm/core/headers/buildHeaderGroups.js.map +1 -0
- package/dist/esm/core/headers/constructHeader.d.ts +12 -0
- package/dist/esm/core/headers/constructHeader.js +28 -0
- package/dist/esm/core/headers/constructHeader.js.map +1 -0
- package/dist/esm/core/headers/coreHeadersFeature.d.ts +10 -0
- package/dist/esm/core/headers/coreHeadersFeature.js +68 -0
- package/dist/esm/core/headers/coreHeadersFeature.js.map +1 -0
- package/dist/esm/core/headers/coreHeadersFeature.types.d.ts +99 -0
- package/dist/esm/core/headers/coreHeadersFeature.utils.d.ts +15 -0
- package/dist/esm/core/headers/coreHeadersFeature.utils.js +85 -0
- package/dist/esm/core/headers/coreHeadersFeature.utils.js.map +1 -0
- package/dist/esm/core/row-models/coreRowModelsFeature.d.ts +10 -0
- package/dist/esm/core/row-models/coreRowModelsFeature.js +52 -0
- package/dist/esm/core/row-models/coreRowModelsFeature.js.map +1 -0
- package/dist/esm/core/row-models/coreRowModelsFeature.types.d.ts +39 -0
- package/dist/esm/core/row-models/coreRowModelsFeature.utils.d.ts +16 -0
- package/dist/esm/core/row-models/coreRowModelsFeature.utils.js +85 -0
- package/dist/esm/core/row-models/coreRowModelsFeature.utils.js.map +1 -0
- package/dist/esm/core/row-models/createCoreRowModel.d.ts +5 -0
- package/dist/esm/core/row-models/createCoreRowModel.js +54 -0
- package/dist/esm/core/row-models/createCoreRowModel.js.map +1 -0
- package/dist/esm/core/rows/constructRow.d.ts +5 -0
- package/dist/esm/core/rows/constructRow.js +29 -0
- package/dist/esm/core/rows/constructRow.js.map +1 -0
- package/dist/esm/core/rows/coreRowsFeature.d.ts +10 -0
- package/dist/esm/core/rows/coreRowsFeature.js +52 -0
- package/dist/esm/core/rows/coreRowsFeature.js.map +1 -0
- package/dist/esm/core/rows/coreRowsFeature.types.d.ts +91 -0
- package/dist/esm/core/rows/coreRowsFeature.utils.d.ts +15 -0
- package/dist/esm/core/rows/coreRowsFeature.utils.js +94 -0
- package/dist/esm/core/rows/coreRowsFeature.utils.js.map +1 -0
- package/dist/esm/core/table/constructTable.d.ts +9 -0
- package/dist/esm/core/table/constructTable.js +65 -0
- package/dist/esm/core/table/constructTable.js.map +1 -0
- package/dist/esm/core/table/coreTablesFeature.d.ts +10 -0
- package/dist/esm/core/table/coreTablesFeature.js +22 -0
- package/dist/esm/core/table/coreTablesFeature.js.map +1 -0
- package/dist/esm/core/table/coreTablesFeature.types.d.ts +105 -0
- package/dist/esm/core/table/coreTablesFeature.utils.d.ts +7 -0
- package/dist/esm/core/table/coreTablesFeature.utils.js +23 -0
- package/dist/esm/core/table/coreTablesFeature.utils.js.map +1 -0
- package/dist/esm/features/column-faceting/columnFacetingFeature.d.ts +10 -0
- package/dist/esm/features/column-faceting/columnFacetingFeature.js +80 -0
- package/dist/esm/features/column-faceting/columnFacetingFeature.js.map +1 -0
- package/dist/esm/features/column-faceting/columnFacetingFeature.types.d.ts +68 -0
- package/dist/esm/features/column-faceting/columnFacetingFeature.utils.d.ts +11 -0
- package/dist/esm/features/column-faceting/columnFacetingFeature.utils.js +33 -0
- package/dist/esm/features/column-faceting/columnFacetingFeature.utils.js.map +1 -0
- package/dist/esm/features/column-faceting/createFacetedMinMaxValues.d.ts +4 -0
- package/dist/esm/features/column-faceting/createFacetedMinMaxValues.js +41 -0
- package/dist/esm/features/column-faceting/createFacetedMinMaxValues.js.map +1 -0
- package/dist/esm/features/column-faceting/createFacetedRowModel.d.ts +5 -0
- package/dist/esm/features/column-faceting/createFacetedRowModel.js +47 -0
- package/dist/esm/features/column-faceting/createFacetedRowModel.js.map +1 -0
- package/dist/esm/features/column-faceting/createFacetedUniqueValues.d.ts +4 -0
- package/dist/esm/features/column-faceting/createFacetedUniqueValues.js +46 -0
- package/dist/esm/features/column-faceting/createFacetedUniqueValues.js.map +1 -0
- package/dist/esm/features/column-filtering/columnFilteringFeature.d.ts +11 -0
- package/dist/esm/features/column-filtering/columnFilteringFeature.js +69 -0
- package/dist/esm/features/column-filtering/columnFilteringFeature.js.map +1 -0
- package/dist/esm/features/column-filtering/columnFilteringFeature.types.d.ts +145 -0
- package/dist/esm/features/column-filtering/columnFilteringFeature.utils.d.ts +16 -0
- package/dist/esm/features/column-filtering/columnFilteringFeature.utils.js +118 -0
- package/dist/esm/features/column-filtering/columnFilteringFeature.utils.js.map +1 -0
- package/dist/esm/features/column-filtering/createFilteredRowModel.d.ts +6 -0
- package/dist/esm/features/column-filtering/createFilteredRowModel.js +110 -0
- package/dist/esm/features/column-filtering/createFilteredRowModel.js.map +1 -0
- package/dist/esm/features/column-filtering/filterRowsUtils.d.ts +6 -0
- package/dist/esm/{utils → features/column-filtering}/filterRowsUtils.js +15 -19
- package/dist/esm/features/column-filtering/filterRowsUtils.js.map +1 -0
- package/dist/esm/features/column-grouping/columnGroupingFeature.d.ts +10 -0
- package/dist/esm/features/column-grouping/columnGroupingFeature.js +91 -0
- package/dist/esm/features/column-grouping/columnGroupingFeature.js.map +1 -0
- package/dist/esm/features/column-grouping/columnGroupingFeature.types.d.ts +153 -0
- package/dist/esm/features/column-grouping/columnGroupingFeature.utils.d.ts +22 -0
- package/dist/esm/features/column-grouping/columnGroupingFeature.utils.js +99 -0
- package/dist/esm/features/column-grouping/columnGroupingFeature.utils.js.map +1 -0
- package/dist/esm/features/column-grouping/createGroupedRowModel.d.ts +6 -0
- package/dist/esm/features/column-grouping/createGroupedRowModel.js +144 -0
- package/dist/esm/features/column-grouping/createGroupedRowModel.js.map +1 -0
- package/dist/esm/features/column-ordering/columnOrderingFeature.d.ts +10 -0
- package/dist/esm/features/column-ordering/columnOrderingFeature.js +60 -0
- package/dist/esm/features/column-ordering/columnOrderingFeature.js.map +1 -0
- package/dist/{cjs/features/ColumnOrdering.d.cts → esm/features/column-ordering/columnOrderingFeature.types.d.ts} +8 -22
- package/dist/esm/features/column-ordering/columnOrderingFeature.utils.d.ts +14 -0
- package/dist/esm/features/column-ordering/columnOrderingFeature.utils.js +72 -0
- package/dist/esm/features/column-ordering/columnOrderingFeature.utils.js.map +1 -0
- package/dist/esm/features/column-pinning/columnPinningFeature.d.ts +10 -0
- package/dist/esm/features/column-pinning/columnPinningFeature.js +260 -0
- package/dist/esm/features/column-pinning/columnPinningFeature.js.map +1 -0
- package/dist/esm/features/column-pinning/columnPinningFeature.types.d.ts +157 -0
- package/dist/esm/features/column-pinning/columnPinningFeature.utils.d.ts +39 -0
- package/dist/esm/features/column-pinning/columnPinningFeature.utils.js +325 -0
- package/dist/esm/features/column-pinning/columnPinningFeature.utils.js.map +1 -0
- package/dist/esm/features/column-resizing/columnResizingFeature.d.ts +11 -0
- package/dist/esm/features/column-resizing/columnResizingFeature.js +52 -0
- package/dist/esm/features/column-resizing/columnResizingFeature.js.map +1 -0
- package/dist/esm/features/column-resizing/columnResizingFeature.types.d.ts +68 -0
- package/dist/esm/features/column-resizing/columnResizingFeature.utils.d.ts +14 -0
- package/dist/esm/features/column-resizing/columnResizingFeature.utils.js +193 -0
- package/dist/esm/features/column-resizing/columnResizingFeature.utils.js.map +1 -0
- package/dist/esm/features/column-sizing/columnSizingFeature.d.ts +11 -0
- package/dist/esm/features/column-sizing/columnSizingFeature.js +95 -0
- package/dist/esm/features/column-sizing/columnSizingFeature.js.map +1 -0
- package/dist/esm/features/column-sizing/columnSizingFeature.types.d.ts +81 -0
- package/dist/esm/features/column-sizing/columnSizingFeature.utils.d.ts +25 -0
- package/dist/esm/features/column-sizing/columnSizingFeature.utils.js +128 -0
- package/dist/esm/features/column-sizing/columnSizingFeature.utils.js.map +1 -0
- package/dist/esm/features/column-visibility/columnVisibilityFeature.d.ts +10 -0
- package/dist/esm/features/column-visibility/columnVisibilityFeature.js +100 -0
- package/dist/esm/features/column-visibility/columnVisibilityFeature.js.map +1 -0
- package/dist/esm/features/column-visibility/columnVisibilityFeature.types.d.ts +84 -0
- package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.d.ts +22 -0
- package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.js +105 -0
- package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -0
- package/dist/esm/features/global-filtering/globalFilteringFeature.d.ts +11 -0
- package/dist/esm/features/global-filtering/globalFilteringFeature.js +51 -0
- package/dist/esm/features/global-filtering/globalFilteringFeature.js.map +1 -0
- package/dist/esm/features/global-filtering/globalFilteringFeature.types.d.ts +59 -0
- package/dist/esm/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -0
- package/dist/esm/features/global-filtering/globalFilteringFeature.utils.js +30 -0
- package/dist/esm/features/global-filtering/globalFilteringFeature.utils.js.map +1 -0
- package/dist/esm/features/row-expanding/createExpandedRowModel.d.ts +6 -0
- package/dist/esm/features/row-expanding/createExpandedRowModel.js +49 -0
- package/dist/esm/features/row-expanding/createExpandedRowModel.js.map +1 -0
- package/dist/esm/features/row-expanding/rowExpandingFeature.d.ts +10 -0
- package/dist/esm/features/row-expanding/rowExpandingFeature.js +74 -0
- package/dist/esm/features/row-expanding/rowExpandingFeature.js.map +1 -0
- package/dist/esm/features/row-expanding/rowExpandingFeature.types.d.ts +116 -0
- package/dist/esm/features/row-expanding/rowExpandingFeature.utils.d.ts +20 -0
- package/dist/esm/features/row-expanding/rowExpandingFeature.utils.js +125 -0
- package/dist/esm/features/row-expanding/rowExpandingFeature.utils.js.map +1 -0
- package/dist/esm/features/row-pagination/createPaginatedRowModel.d.ts +5 -0
- package/dist/esm/features/row-pagination/createPaginatedRowModel.js +58 -0
- package/dist/esm/features/row-pagination/createPaginatedRowModel.js.map +1 -0
- package/dist/esm/features/row-pagination/rowPaginationFeature.d.ts +10 -0
- package/dist/esm/features/row-pagination/rowPaginationFeature.js +78 -0
- package/dist/esm/features/row-pagination/rowPaginationFeature.js.map +1 -0
- package/dist/esm/features/row-pagination/rowPaginationFeature.types.d.ts +119 -0
- package/dist/esm/features/row-pagination/rowPaginationFeature.utils.d.ts +21 -0
- package/dist/esm/features/row-pagination/rowPaginationFeature.utils.js +126 -0
- package/dist/esm/features/row-pagination/rowPaginationFeature.utils.js.map +1 -0
- package/dist/esm/features/row-pinning/rowPinningFeature.d.ts +10 -0
- package/dist/esm/features/row-pinning/rowPinningFeature.js +80 -0
- package/dist/esm/features/row-pinning/rowPinningFeature.js.map +1 -0
- package/dist/esm/features/row-pinning/rowPinningFeature.types.d.ts +72 -0
- package/dist/esm/features/row-pinning/rowPinningFeature.utils.d.ts +16 -0
- package/dist/esm/features/row-pinning/rowPinningFeature.utils.js +115 -0
- package/dist/esm/features/row-pinning/rowPinningFeature.utils.js.map +1 -0
- package/dist/esm/features/row-selection/rowSelectionFeature.d.ts +10 -0
- package/dist/esm/features/row-selection/rowSelectionFeature.js +112 -0
- package/dist/esm/features/row-selection/rowSelectionFeature.js.map +1 -0
- package/dist/esm/features/row-selection/rowSelectionFeature.types.d.ts +123 -0
- package/dist/esm/features/row-selection/rowSelectionFeature.utils.d.ts +34 -0
- package/dist/esm/features/row-selection/rowSelectionFeature.utils.js +290 -0
- package/dist/esm/features/row-selection/rowSelectionFeature.utils.js.map +1 -0
- package/dist/esm/features/row-sorting/createSortedRowModel.d.ts +6 -0
- package/dist/esm/features/row-sorting/createSortedRowModel.js +94 -0
- package/dist/esm/features/row-sorting/createSortedRowModel.js.map +1 -0
- package/dist/esm/features/row-sorting/rowSortingFeature.d.ts +10 -0
- package/dist/esm/features/row-sorting/rowSortingFeature.js +82 -0
- package/dist/esm/features/row-sorting/rowSortingFeature.js.map +1 -0
- package/dist/esm/features/row-sorting/rowSortingFeature.types.d.ts +178 -0
- package/dist/esm/features/row-sorting/rowSortingFeature.utils.d.ts +20 -0
- package/dist/esm/features/row-sorting/rowSortingFeature.utils.js +181 -0
- package/dist/esm/features/row-sorting/rowSortingFeature.utils.js.map +1 -0
- package/dist/esm/features/stockFeatures.d.ts +31 -0
- package/dist/esm/features/stockFeatures.js +34 -0
- package/dist/esm/features/stockFeatures.js.map +1 -0
- package/dist/esm/fns/aggregationFns.d.ts +49 -0
- package/dist/esm/fns/aggregationFns.js +110 -0
- package/dist/esm/fns/aggregationFns.js.map +1 -0
- package/dist/esm/fns/filterFns.d.ts +76 -0
- package/dist/esm/fns/filterFns.js +134 -0
- package/dist/esm/fns/filterFns.js.map +1 -0
- package/dist/esm/fns/sortFns.d.ts +17 -0
- package/dist/esm/{sortingFns.js → fns/sortFns.js} +21 -15
- package/dist/esm/fns/sortFns.js.map +1 -0
- package/dist/esm/helpers/columnHelper.d.ts +61 -0
- package/dist/esm/{columnHelper.js → helpers/columnHelper.js} +1 -0
- package/dist/esm/helpers/columnHelper.js.map +1 -0
- package/dist/esm/helpers/tableFeatures.d.ts +13 -0
- package/dist/esm/helpers/tableFeatures.js +7 -0
- package/dist/esm/helpers/tableFeatures.js.map +1 -0
- package/dist/esm/helpers/tableHelper.d.ts +25 -0
- package/dist/esm/helpers/tableHelper.js +13 -0
- package/dist/esm/helpers/tableHelper.js.map +1 -0
- package/dist/esm/helpers/tableOptions.d.ts +23 -0
- package/dist/esm/helpers/tableOptions.js +7 -0
- package/dist/esm/helpers/tableOptions.js.map +1 -0
- package/dist/esm/index.d.ts +109 -33
- package/dist/esm/index.js +397 -65
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/Cell.d.ts +13 -0
- package/dist/esm/types/Column.d.ts +26 -0
- package/dist/esm/types/ColumnDef.d.ts +64 -0
- package/dist/esm/types/Header.d.ts +14 -0
- package/dist/esm/types/HeaderGroup.d.ts +12 -0
- package/dist/esm/types/Row.d.ts +19 -0
- package/dist/esm/types/RowModel.d.ts +23 -0
- package/dist/esm/types/RowModelFns.d.ts +15 -0
- package/dist/esm/types/Table.d.ts +53 -0
- package/dist/esm/types/TableFeatures.d.ts +77 -0
- package/dist/esm/types/TableOptions.d.ts +39 -0
- package/dist/esm/types/TableState.d.ts +23 -0
- package/dist/esm/types/type-utils.d.ts +22 -0
- package/dist/esm/utils.d.ts +66 -33
- package/dist/esm/utils.js +183 -52
- package/dist/esm/utils.js.map +1 -1
- package/package.json +21 -12
- package/src/core/cells/constructCell.ts +49 -0
- package/src/core/cells/coreCellsFeature.ts +44 -0
- package/src/core/cells/coreCellsFeature.types.ts +68 -0
- package/src/core/cells/coreCellsFeature.utils.ts +35 -0
- package/src/core/columns/constructColumn.ts +111 -0
- package/src/core/columns/coreColumnsFeature.ts +90 -0
- package/src/core/columns/coreColumnsFeature.types.ts +103 -0
- package/src/core/columns/coreColumnsFeature.utils.ts +160 -0
- package/src/core/coreFeatures.ts +24 -0
- package/src/core/headers/buildHeaderGroups.ts +177 -0
- package/src/core/headers/constructHeader.ts +61 -0
- package/src/core/headers/coreHeadersFeature.ts +98 -0
- package/src/core/headers/coreHeadersFeature.types.ts +123 -0
- package/src/core/headers/coreHeadersFeature.utils.ts +131 -0
- package/src/core/row-models/coreRowModelsFeature.ts +78 -0
- package/src/core/row-models/coreRowModelsFeature.types.ts +67 -0
- package/src/core/row-models/coreRowModelsFeature.utils.ts +140 -0
- package/src/core/row-models/createCoreRowModel.ts +88 -0
- package/src/core/rows/constructRow.ts +59 -0
- package/src/core/rows/coreRowsFeature.ts +84 -0
- package/src/core/rows/coreRowsFeature.types.ts +111 -0
- package/src/core/rows/coreRowsFeature.utils.ts +152 -0
- package/src/core/table/constructTable.ts +95 -0
- package/src/core/table/coreTablesFeature.ts +36 -0
- package/src/core/table/coreTablesFeature.types.ts +123 -0
- package/src/core/table/coreTablesFeature.utils.ts +40 -0
- package/src/features/column-faceting/columnFacetingFeature.ts +112 -0
- package/src/features/column-faceting/columnFacetingFeature.types.ts +97 -0
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +77 -0
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +63 -0
- package/src/features/column-faceting/createFacetedRowModel.ts +76 -0
- package/src/features/column-faceting/createFacetedUniqueValues.ts +60 -0
- package/src/features/column-filtering/columnFilteringFeature.ts +121 -0
- package/src/features/column-filtering/columnFilteringFeature.types.ts +219 -0
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +213 -0
- package/src/features/column-filtering/createFilteredRowModel.ts +171 -0
- package/src/features/column-filtering/filterRowsUtils.ts +152 -0
- package/src/features/column-grouping/columnGroupingFeature.ts +151 -0
- package/src/features/column-grouping/columnGroupingFeature.types.ts +218 -0
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +192 -0
- package/src/features/column-grouping/createGroupedRowModel.ts +215 -0
- package/src/features/column-ordering/columnOrderingFeature.ts +96 -0
- package/src/features/column-ordering/columnOrderingFeature.types.ts +49 -0
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +133 -0
- package/src/features/column-pinning/columnPinningFeature.ts +324 -0
- package/src/features/column-pinning/columnPinningFeature.types.ts +176 -0
- package/src/features/column-pinning/columnPinningFeature.utils.ts +537 -0
- package/src/features/column-resizing/columnResizingFeature.ts +92 -0
- package/src/features/column-resizing/columnResizingFeature.types.ts +81 -0
- package/src/features/column-resizing/columnResizingFeature.utils.ts +265 -0
- package/src/features/column-sizing/columnSizingFeature.ts +146 -0
- package/src/features/column-sizing/columnSizingFeature.types.ts +92 -0
- package/src/features/column-sizing/columnSizingFeature.utils.ts +211 -0
- package/src/features/column-visibility/columnVisibilityFeature.ts +155 -0
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +101 -0
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +183 -0
- package/src/features/global-filtering/globalFilteringFeature.ts +92 -0
- package/src/features/global-filtering/globalFilteringFeature.types.ts +84 -0
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +60 -0
- package/src/features/row-expanding/createExpandedRowModel.ts +72 -0
- package/src/features/row-expanding/rowExpandingFeature.ts +122 -0
- package/src/features/row-expanding/rowExpandingFeature.types.ts +141 -0
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +207 -0
- package/src/features/row-pagination/createPaginatedRowModel.ts +78 -0
- package/src/features/row-pagination/rowPaginationFeature.ts +121 -0
- package/src/features/row-pagination/rowPaginationFeature.types.ts +141 -0
- package/src/features/row-pagination/rowPaginationFeature.utils.ts +204 -0
- package/src/features/row-pinning/rowPinningFeature.ts +121 -0
- package/src/features/row-pinning/rowPinningFeature.types.ts +89 -0
- package/src/features/row-pinning/rowPinningFeature.utils.ts +197 -0
- package/src/features/row-selection/rowSelectionFeature.ts +164 -0
- package/src/features/row-selection/rowSelectionFeature.types.ts +143 -0
- package/src/features/row-selection/rowSelectionFeature.utils.ts +464 -0
- package/src/features/row-sorting/createSortedRowModel.ts +147 -0
- package/src/features/row-sorting/rowSortingFeature.ts +136 -0
- package/src/features/row-sorting/rowSortingFeature.types.ts +229 -0
- package/src/features/row-sorting/rowSortingFeature.utils.ts +320 -0
- package/src/features/stockFeatures.ts +48 -0
- package/src/fns/aggregationFns.ts +220 -0
- package/src/fns/filterFns.ts +379 -0
- package/src/{sortingFns.ts → fns/sortFns.ts} +66 -21
- package/src/helpers/columnHelper.ts +117 -0
- package/src/helpers/tableFeatures.ts +24 -0
- package/src/helpers/tableHelper.ts +61 -0
- package/src/helpers/tableOptions.ts +82 -0
- package/src/index.ts +156 -42
- package/src/types/Cell.ts +41 -0
- package/src/types/Column.ts +86 -0
- package/src/types/ColumnDef.ts +217 -0
- package/src/types/Header.ts +45 -0
- package/src/types/HeaderGroup.ts +24 -0
- package/src/types/Row.ts +55 -0
- package/src/types/RowModel.ts +137 -0
- package/src/types/RowModelFns.ts +51 -0
- package/src/types/Table.ts +125 -0
- package/src/types/TableFeatures.ts +150 -0
- package/src/types/TableOptions.ts +125 -0
- package/src/types/TableState.ts +88 -0
- package/src/types/type-utils.ts +84 -0
- package/src/utils.ts +344 -163
- package/dist/cjs/aggregationFns.cjs +0 -98
- package/dist/cjs/aggregationFns.cjs.map +0 -1
- package/dist/cjs/aggregationFns.d.cts +0 -14
- package/dist/cjs/columnHelper.cjs +0 -19
- package/dist/cjs/columnHelper.cjs.map +0 -1
- package/dist/cjs/columnHelper.d.cts +0 -9
- package/dist/cjs/core/cell.cjs +0 -38
- package/dist/cjs/core/cell.cjs.map +0 -1
- package/dist/cjs/core/cell.d.cts +0 -50
- package/dist/cjs/core/column.cjs +0 -81
- package/dist/cjs/core/column.cjs.map +0 -1
- package/dist/cjs/core/column.d.cts +0 -56
- package/dist/cjs/core/headers.cjs +0 -310
- package/dist/cjs/core/headers.cjs.map +0 -1
- package/dist/cjs/core/headers.d.cts +0 -195
- package/dist/cjs/core/row.cjs +0 -93
- package/dist/cjs/core/row.cjs.map +0 -1
- package/dist/cjs/core/row.d.cts +0 -92
- package/dist/cjs/core/table.cjs +0 -228
- package/dist/cjs/core/table.cjs.map +0 -1
- package/dist/cjs/core/table.d.cts +0 -221
- package/dist/cjs/features/ColumnFaceting.cjs +0 -29
- package/dist/cjs/features/ColumnFaceting.cjs.map +0 -1
- package/dist/cjs/features/ColumnFaceting.d.cts +0 -35
- package/dist/cjs/features/ColumnFiltering.cjs +0 -137
- package/dist/cjs/features/ColumnFiltering.cjs.map +0 -1
- package/dist/cjs/features/ColumnFiltering.d.cts +0 -195
- package/dist/cjs/features/ColumnGrouping.cjs +0 -134
- package/dist/cjs/features/ColumnGrouping.cjs.map +0 -1
- package/dist/cjs/features/ColumnGrouping.d.cts +0 -202
- package/dist/cjs/features/ColumnOrdering.cjs +0 -76
- package/dist/cjs/features/ColumnOrdering.cjs.map +0 -1
- package/dist/cjs/features/ColumnPinning.cjs +0 -145
- package/dist/cjs/features/ColumnPinning.cjs.map +0 -1
- package/dist/cjs/features/ColumnPinning.d.cts +0 -127
- package/dist/cjs/features/ColumnSizing.cjs +0 -308
- package/dist/cjs/features/ColumnSizing.cjs.map +0 -1
- package/dist/cjs/features/ColumnSizing.d.cts +0 -194
- package/dist/cjs/features/ColumnVisibility.cjs +0 -144
- package/dist/cjs/features/ColumnVisibility.cjs.map +0 -1
- package/dist/cjs/features/ColumnVisibility.d.cts +0 -130
- package/dist/cjs/features/GlobalFaceting.cjs +0 -29
- package/dist/cjs/features/GlobalFaceting.cjs.map +0 -1
- package/dist/cjs/features/GlobalFaceting.d.cts +0 -27
- package/dist/cjs/features/GlobalFiltering.cjs +0 -50
- package/dist/cjs/features/GlobalFiltering.cjs.map +0 -1
- package/dist/cjs/features/GlobalFiltering.d.cts +0 -80
- package/dist/cjs/features/RowExpanding.cjs +0 -154
- package/dist/cjs/features/RowExpanding.cjs.map +0 -1
- package/dist/cjs/features/RowExpanding.d.cts +0 -155
- package/dist/cjs/features/RowPagination.cjs +0 -162
- package/dist/cjs/features/RowPagination.cjs.map +0 -1
- package/dist/cjs/features/RowPagination.d.cts +0 -166
- package/dist/cjs/features/RowPinning.cjs +0 -133
- package/dist/cjs/features/RowPinning.cjs.map +0 -1
- package/dist/cjs/features/RowPinning.d.cts +0 -99
- package/dist/cjs/features/RowSelection.cjs +0 -298
- package/dist/cjs/features/RowSelection.cjs.map +0 -1
- package/dist/cjs/features/RowSelection.d.cts +0 -177
- package/dist/cjs/features/RowSorting.cjs +0 -201
- package/dist/cjs/features/RowSorting.cjs.map +0 -1
- package/dist/cjs/features/RowSorting.d.cts +0 -238
- package/dist/cjs/filterFns.cjs +0 -88
- package/dist/cjs/filterFns.cjs.map +0 -1
- package/dist/cjs/filterFns.d.cts +0 -14
- package/dist/cjs/index.cjs +0 -87
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs/index.d.cts +0 -34
- package/dist/cjs/sortingFns.cjs +0 -91
- package/dist/cjs/sortingFns.cjs.map +0 -1
- package/dist/cjs/sortingFns.d.cts +0 -12
- package/dist/cjs/types.d.cts +0 -120
- package/dist/cjs/utils/filterRowsUtils.cjs +0 -99
- package/dist/cjs/utils/filterRowsUtils.cjs.map +0 -1
- package/dist/cjs/utils/filterRowsUtils.d.cts +0 -3
- package/dist/cjs/utils/getCoreRowModel.cjs +0 -54
- package/dist/cjs/utils/getCoreRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getCoreRowModel.d.cts +0 -3
- package/dist/cjs/utils/getExpandedRowModel.cjs +0 -41
- package/dist/cjs/utils/getExpandedRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getExpandedRowModel.d.cts +0 -8
- package/dist/cjs/utils/getFacetedMinMaxValues.cjs +0 -36
- package/dist/cjs/utils/getFacetedMinMaxValues.cjs.map +0 -1
- package/dist/cjs/utils/getFacetedMinMaxValues.d.cts +0 -3
- package/dist/cjs/utils/getFacetedRowModel.cjs +0 -35
- package/dist/cjs/utils/getFacetedRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getFacetedRowModel.d.cts +0 -3
- package/dist/cjs/utils/getFacetedUniqueValues.cjs +0 -38
- package/dist/cjs/utils/getFacetedUniqueValues.cjs.map +0 -1
- package/dist/cjs/utils/getFacetedUniqueValues.d.cts +0 -3
- package/dist/cjs/utils/getFilteredRowModel.cjs +0 -116
- package/dist/cjs/utils/getFilteredRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getFilteredRowModel.d.cts +0 -3
- package/dist/cjs/utils/getGroupedRowModel.cjs +0 -118
- package/dist/cjs/utils/getGroupedRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getGroupedRowModel.d.cts +0 -3
- package/dist/cjs/utils/getPaginationRowModel.cjs +0 -49
- package/dist/cjs/utils/getPaginationRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getPaginationRowModel.d.cts +0 -5
- package/dist/cjs/utils/getSortedRowModel.cjs +0 -91
- package/dist/cjs/utils/getSortedRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getSortedRowModel.d.cts +0 -3
- package/dist/cjs/utils.cjs +0 -100
- package/dist/cjs/utils.cjs.map +0 -1
- package/dist/cjs/utils.d.cts +0 -39
- package/dist/esm/aggregationFns.d.ts +0 -14
- package/dist/esm/aggregationFns.js +0 -98
- package/dist/esm/aggregationFns.js.map +0 -1
- package/dist/esm/columnHelper.d.ts +0 -9
- package/dist/esm/columnHelper.js.map +0 -1
- package/dist/esm/core/cell.d.ts +0 -50
- package/dist/esm/core/cell.js +0 -38
- package/dist/esm/core/cell.js.map +0 -1
- package/dist/esm/core/column.d.ts +0 -56
- package/dist/esm/core/column.js +0 -81
- package/dist/esm/core/column.js.map +0 -1
- package/dist/esm/core/headers.d.ts +0 -195
- package/dist/esm/core/headers.js +0 -310
- package/dist/esm/core/headers.js.map +0 -1
- package/dist/esm/core/row.d.ts +0 -92
- package/dist/esm/core/row.js +0 -93
- package/dist/esm/core/row.js.map +0 -1
- package/dist/esm/core/table.d.ts +0 -221
- package/dist/esm/core/table.js +0 -228
- package/dist/esm/core/table.js.map +0 -1
- package/dist/esm/features/ColumnFaceting.d.ts +0 -35
- package/dist/esm/features/ColumnFaceting.js +0 -29
- package/dist/esm/features/ColumnFaceting.js.map +0 -1
- package/dist/esm/features/ColumnFiltering.d.ts +0 -195
- package/dist/esm/features/ColumnFiltering.js +0 -137
- package/dist/esm/features/ColumnFiltering.js.map +0 -1
- package/dist/esm/features/ColumnGrouping.d.ts +0 -202
- package/dist/esm/features/ColumnGrouping.js +0 -134
- package/dist/esm/features/ColumnGrouping.js.map +0 -1
- package/dist/esm/features/ColumnOrdering.d.ts +0 -54
- package/dist/esm/features/ColumnOrdering.js +0 -76
- package/dist/esm/features/ColumnOrdering.js.map +0 -1
- package/dist/esm/features/ColumnPinning.d.ts +0 -127
- package/dist/esm/features/ColumnPinning.js +0 -145
- package/dist/esm/features/ColumnPinning.js.map +0 -1
- package/dist/esm/features/ColumnSizing.d.ts +0 -194
- package/dist/esm/features/ColumnSizing.js +0 -308
- package/dist/esm/features/ColumnSizing.js.map +0 -1
- package/dist/esm/features/ColumnVisibility.d.ts +0 -130
- package/dist/esm/features/ColumnVisibility.js +0 -144
- package/dist/esm/features/ColumnVisibility.js.map +0 -1
- package/dist/esm/features/GlobalFaceting.d.ts +0 -27
- package/dist/esm/features/GlobalFaceting.js +0 -29
- package/dist/esm/features/GlobalFaceting.js.map +0 -1
- package/dist/esm/features/GlobalFiltering.d.ts +0 -80
- package/dist/esm/features/GlobalFiltering.js +0 -50
- package/dist/esm/features/GlobalFiltering.js.map +0 -1
- package/dist/esm/features/RowExpanding.d.ts +0 -155
- package/dist/esm/features/RowExpanding.js +0 -154
- package/dist/esm/features/RowExpanding.js.map +0 -1
- package/dist/esm/features/RowPagination.d.ts +0 -166
- package/dist/esm/features/RowPagination.js +0 -162
- package/dist/esm/features/RowPagination.js.map +0 -1
- package/dist/esm/features/RowPinning.d.ts +0 -99
- package/dist/esm/features/RowPinning.js +0 -133
- package/dist/esm/features/RowPinning.js.map +0 -1
- package/dist/esm/features/RowSelection.d.ts +0 -177
- package/dist/esm/features/RowSelection.js +0 -298
- package/dist/esm/features/RowSelection.js.map +0 -1
- package/dist/esm/features/RowSorting.d.ts +0 -238
- package/dist/esm/features/RowSorting.js +0 -201
- package/dist/esm/features/RowSorting.js.map +0 -1
- package/dist/esm/filterFns.d.ts +0 -14
- package/dist/esm/filterFns.js +0 -88
- package/dist/esm/filterFns.js.map +0 -1
- package/dist/esm/sortingFns.d.ts +0 -12
- package/dist/esm/sortingFns.js.map +0 -1
- package/dist/esm/types.d.ts +0 -120
- package/dist/esm/utils/filterRowsUtils.d.ts +0 -3
- package/dist/esm/utils/filterRowsUtils.js.map +0 -1
- package/dist/esm/utils/getCoreRowModel.d.ts +0 -3
- package/dist/esm/utils/getCoreRowModel.js +0 -54
- package/dist/esm/utils/getCoreRowModel.js.map +0 -1
- package/dist/esm/utils/getExpandedRowModel.d.ts +0 -8
- package/dist/esm/utils/getExpandedRowModel.js +0 -41
- package/dist/esm/utils/getExpandedRowModel.js.map +0 -1
- package/dist/esm/utils/getFacetedMinMaxValues.d.ts +0 -3
- package/dist/esm/utils/getFacetedMinMaxValues.js +0 -36
- package/dist/esm/utils/getFacetedMinMaxValues.js.map +0 -1
- package/dist/esm/utils/getFacetedRowModel.d.ts +0 -3
- package/dist/esm/utils/getFacetedRowModel.js +0 -35
- package/dist/esm/utils/getFacetedRowModel.js.map +0 -1
- package/dist/esm/utils/getFacetedUniqueValues.d.ts +0 -3
- package/dist/esm/utils/getFacetedUniqueValues.js +0 -38
- package/dist/esm/utils/getFacetedUniqueValues.js.map +0 -1
- package/dist/esm/utils/getFilteredRowModel.d.ts +0 -3
- package/dist/esm/utils/getFilteredRowModel.js +0 -116
- package/dist/esm/utils/getFilteredRowModel.js.map +0 -1
- package/dist/esm/utils/getGroupedRowModel.d.ts +0 -3
- package/dist/esm/utils/getGroupedRowModel.js +0 -118
- package/dist/esm/utils/getGroupedRowModel.js.map +0 -1
- package/dist/esm/utils/getPaginationRowModel.d.ts +0 -5
- package/dist/esm/utils/getPaginationRowModel.js +0 -49
- package/dist/esm/utils/getPaginationRowModel.js.map +0 -1
- package/dist/esm/utils/getSortedRowModel.d.ts +0 -3
- package/dist/esm/utils/getSortedRowModel.js +0 -91
- package/dist/esm/utils/getSortedRowModel.js.map +0 -1
- package/src/aggregationFns.ts +0 -123
- package/src/columnHelper.ts +0 -91
- package/src/core/cell.ts +0 -91
- package/src/core/column.ts +0 -165
- package/src/core/headers.ts +0 -639
- package/src/core/row.ts +0 -201
- package/src/core/table.ts +0 -527
- package/src/features/ColumnFaceting.ts +0 -84
- package/src/features/ColumnFiltering.ts +0 -429
- package/src/features/ColumnGrouping.ts +0 -422
- package/src/features/ColumnOrdering.ts +0 -161
- package/src/features/ColumnPinning.ts +0 -336
- package/src/features/ColumnSizing.ts +0 -579
- package/src/features/ColumnVisibility.ts +0 -317
- package/src/features/GlobalFaceting.ts +0 -66
- package/src/features/GlobalFiltering.ts +0 -162
- package/src/features/RowExpanding.ts +0 -355
- package/src/features/RowPagination.ts +0 -396
- package/src/features/RowPinning.ts +0 -273
- package/src/features/RowSelection.ts +0 -668
- package/src/features/RowSorting.ts +0 -542
- package/src/filterFns.ts +0 -150
- package/src/types.ts +0 -361
- package/src/utils/filterRowsUtils.ts +0 -130
- package/src/utils/getCoreRowModel.ts +0 -82
- package/src/utils/getExpandedRowModel.ts +0 -51
- package/src/utils/getFacetedMinMaxValues.ts +0 -42
- package/src/utils/getFacetedRowModel.ts +0 -44
- package/src/utils/getFacetedUniqueValues.ts +0 -42
- package/src/utils/getFilteredRowModel.ts +0 -151
- package/src/utils/getGroupedRowModel.ts +0 -181
- package/src/utils/getPaginationRowModel.ts +0 -60
- package/src/utils/getSortedRowModel.ts +0 -121
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Derived, Store } from '@tanstack/store';
|
|
2
|
+
import { CoreFeatures } from '../coreFeatures.js';
|
|
3
|
+
import { RowModelFns } from '../../types/RowModelFns.js';
|
|
4
|
+
import { RowData, Updater } from '../../types/type-utils.js';
|
|
5
|
+
import { TableFeatures } from '../../types/TableFeatures.js';
|
|
6
|
+
import { CachedRowModels, CreateRowModels_All } from '../../types/RowModel.js';
|
|
7
|
+
import { TableOptions } from '../../types/TableOptions.js';
|
|
8
|
+
import { TableState } from '../../types/TableState.js';
|
|
9
|
+
export interface TableMeta<TFeatures extends TableFeatures, TData extends RowData> {
|
|
10
|
+
}
|
|
11
|
+
export interface TableOptions_Table<TFeatures extends TableFeatures, TData extends RowData> {
|
|
12
|
+
/**
|
|
13
|
+
* The features that you want to enable for the table.
|
|
14
|
+
*/
|
|
15
|
+
_features: TFeatures;
|
|
16
|
+
/**
|
|
17
|
+
* The row model options that you want to enable for the table.
|
|
18
|
+
*/
|
|
19
|
+
_rowModels?: CreateRowModels_All<TFeatures, TData>;
|
|
20
|
+
/**
|
|
21
|
+
* Set this option to override any of the `autoReset...` feature options.
|
|
22
|
+
*/
|
|
23
|
+
autoResetAll?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The data for the table to display. When the `data` option changes reference, the table will reprocess the data.
|
|
26
|
+
*/
|
|
27
|
+
data: Array<TData>;
|
|
28
|
+
/**
|
|
29
|
+
* Use this option to optionally pass initial state to the table. This state will be used when resetting various table states either automatically by the table (eg. `options.autoResetPageIndex`) or via functions like `table.resetRowSelection()`. Most reset function allow you optionally pass a flag to reset to a blank/default state instead of the initial state.
|
|
30
|
+
* Table state will not be reset when this object changes, which also means that the initial state object does not need to be stable.
|
|
31
|
+
*/
|
|
32
|
+
initialState?: Partial<TableState<TFeatures>>;
|
|
33
|
+
/**
|
|
34
|
+
* This option is used to optionally implement the merging of table options.
|
|
35
|
+
*/
|
|
36
|
+
mergeOptions?: (defaultOptions: TableOptions<TFeatures, TData>, options: Partial<TableOptions<TFeatures, TData>>) => TableOptions<TFeatures, TData>;
|
|
37
|
+
/**
|
|
38
|
+
* You can pass any object to `options.meta` and access it anywhere the `table` is available via `table.options.meta`.
|
|
39
|
+
*/
|
|
40
|
+
meta?: TableMeta<TFeatures, TData>;
|
|
41
|
+
/**
|
|
42
|
+
* Pass in individual self-managed state to the table.
|
|
43
|
+
*/
|
|
44
|
+
state?: Partial<TableState<TFeatures>>;
|
|
45
|
+
/**
|
|
46
|
+
* Optionally, provide your own external TanStack Store instance if you want to manage the table state externally.
|
|
47
|
+
*/
|
|
48
|
+
store?: Store<TableState<TFeatures>>;
|
|
49
|
+
}
|
|
50
|
+
export interface Table_CoreProperties<TFeatures extends TableFeatures, TData extends RowData> {
|
|
51
|
+
/**
|
|
52
|
+
* The features that are enabled for the table.
|
|
53
|
+
*/
|
|
54
|
+
_features: Partial<CoreFeatures> & TFeatures;
|
|
55
|
+
/**
|
|
56
|
+
* Prototype cache for Cell objects - shared by all cells in this table
|
|
57
|
+
*/
|
|
58
|
+
_cellPrototype?: object;
|
|
59
|
+
/**
|
|
60
|
+
* Prototype cache for Column objects - shared by all columns in this table
|
|
61
|
+
*/
|
|
62
|
+
_columnPrototype?: object;
|
|
63
|
+
/**
|
|
64
|
+
* Prototype cache for Header objects - shared by all headers in this table
|
|
65
|
+
*/
|
|
66
|
+
_headerPrototype?: object;
|
|
67
|
+
/**
|
|
68
|
+
* The row model processing functions that are used to process the data by features.
|
|
69
|
+
*/
|
|
70
|
+
_rowModelFns: RowModelFns<TFeatures, TData>;
|
|
71
|
+
/**
|
|
72
|
+
* The row models that are enabled for the table.
|
|
73
|
+
*/
|
|
74
|
+
_rowModels: CachedRowModels<TFeatures, TData>;
|
|
75
|
+
/**
|
|
76
|
+
* Prototype cache for Row objects - shared by all rows in this table
|
|
77
|
+
*/
|
|
78
|
+
_rowPrototype?: object;
|
|
79
|
+
/**
|
|
80
|
+
* The base store for the table. This can be used to write to the table state.
|
|
81
|
+
*/
|
|
82
|
+
baseStore: Store<TableState<TFeatures>>;
|
|
83
|
+
/**
|
|
84
|
+
* This is the resolved initial state of the table.
|
|
85
|
+
*/
|
|
86
|
+
initialState: TableState<TFeatures>;
|
|
87
|
+
/**
|
|
88
|
+
* A read-only reference to the table's current options.
|
|
89
|
+
*/
|
|
90
|
+
options: TableOptions<TFeatures, TData>;
|
|
91
|
+
/**
|
|
92
|
+
* Where the table state is stored.
|
|
93
|
+
*/
|
|
94
|
+
store: Derived<TableState<TFeatures>, [Store<TableState<TFeatures>>]>;
|
|
95
|
+
}
|
|
96
|
+
export interface Table_Table<TFeatures extends TableFeatures, TData extends RowData> extends Table_CoreProperties<TFeatures, TData> {
|
|
97
|
+
/**
|
|
98
|
+
* Call this function to reset the table state to the initial state.
|
|
99
|
+
*/
|
|
100
|
+
reset: () => void;
|
|
101
|
+
/**
|
|
102
|
+
* This function can be used to update the table options.
|
|
103
|
+
*/
|
|
104
|
+
setOptions: (newOptions: Updater<TableOptions<TFeatures, TData>>) => void;
|
|
105
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RowData, Updater } from '../../types/type-utils.js';
|
|
2
|
+
import { TableFeatures } from '../../types/TableFeatures.js';
|
|
3
|
+
import { Table_Internal } from '../../types/Table.js';
|
|
4
|
+
import { TableOptions } from '../../types/TableOptions.js';
|
|
5
|
+
export declare function table_reset<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): void;
|
|
6
|
+
export declare function table_mergeOptions<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, newOptions: TableOptions<TFeatures, TData>): TableOptions<TFeatures, TData>;
|
|
7
|
+
export declare function table_setOptions<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<TableOptions<TFeatures, TData>>): void;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { functionalUpdate } from "../../utils.js";
|
|
2
|
+
function table_reset(table) {
|
|
3
|
+
table.baseStore.setState(structuredClone(table.initialState));
|
|
4
|
+
}
|
|
5
|
+
function table_mergeOptions(table, newOptions) {
|
|
6
|
+
if (table.options.mergeOptions) {
|
|
7
|
+
return table.options.mergeOptions(table.options, newOptions);
|
|
8
|
+
}
|
|
9
|
+
return {
|
|
10
|
+
...table.options,
|
|
11
|
+
...newOptions
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function table_setOptions(table, updater) {
|
|
15
|
+
const newOptions = functionalUpdate(updater, table.options);
|
|
16
|
+
table.options = table_mergeOptions(table, newOptions);
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
table_mergeOptions,
|
|
20
|
+
table_reset,
|
|
21
|
+
table_setOptions
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=coreTablesFeature.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coreTablesFeature.utils.js","sources":["../../../../src/core/table/coreTablesFeature.utils.ts"],"sourcesContent":["import { functionalUpdate } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { TableOptions } from '../../types/TableOptions'\n\nexport function table_reset<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): void {\n table.baseStore.setState(structuredClone(table.initialState))\n}\n\nexport function table_mergeOptions<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n newOptions: TableOptions<TFeatures, TData>,\n) {\n if (table.options.mergeOptions) {\n return table.options.mergeOptions(table.options, newOptions)\n }\n\n return {\n ...table.options,\n ...newOptions,\n }\n}\n\nexport function table_setOptions<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<TableOptions<TFeatures, TData>>,\n): void {\n const newOptions = functionalUpdate(updater, table.options)\n table.options = table_mergeOptions(table, newOptions)\n}\n"],"names":[],"mappings":";AAMO,SAAS,YAGd,OAA+C;AAC/C,QAAM,UAAU,SAAS,gBAAgB,MAAM,YAAY,CAAC;AAC9D;AAEO,SAAS,mBAId,OACA,YACA;AACA,MAAI,MAAM,QAAQ,cAAc;AAC9B,WAAO,MAAM,QAAQ,aAAa,MAAM,SAAS,UAAU;AAAA,EAC7D;AAEA,SAAO;AAAA,IACL,GAAG,MAAM;AAAA,IACT,GAAG;AAAA,EAAA;AAEP;AAEO,SAAS,iBAId,OACA,SACM;AACN,QAAM,aAAa,iBAAiB,SAAS,MAAM,OAAO;AAC1D,QAAM,UAAU,mBAAmB,OAAO,UAAU;AACtD;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RowData } from '../../types/type-utils.js';
|
|
2
|
+
import { TableFeature, TableFeatures } from '../../types/TableFeatures.js';
|
|
3
|
+
interface ColumnFacetingFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {
|
|
4
|
+
}
|
|
5
|
+
export declare function constructColumnFacetingFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<ColumnFacetingFeatureConstructors<TFeatures, TData>>;
|
|
6
|
+
/**
|
|
7
|
+
* The Column Faceting feature adds column faceting APIs to the column objects.
|
|
8
|
+
*/
|
|
9
|
+
export declare const columnFacetingFeature: TableFeature<ColumnFacetingFeatureConstructors<TableFeatures, RowData>>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { assignTableAPIs, callMemoOrStaticFn, assignPrototypeAPIs } from "../../utils.js";
|
|
2
|
+
import { table_getGlobalFacetedUniqueValues, table_getGlobalFacetedMinMaxValues, table_getGlobalFacetedRowModel, column_getFacetedUniqueValues, column_getFacetedMinMaxValues, column_getFacetedRowModel } from "./columnFacetingFeature.utils.js";
|
|
3
|
+
function constructColumnFacetingFeature() {
|
|
4
|
+
return {
|
|
5
|
+
assignColumnPrototype: (prototype, table) => {
|
|
6
|
+
assignPrototypeAPIs("columnFacetingFeature", prototype, table, {
|
|
7
|
+
column_getFacetedRowModel: {
|
|
8
|
+
memoDeps: () => [
|
|
9
|
+
table.getPreFilteredRowModel().rows,
|
|
10
|
+
table.store.state.columnFilters,
|
|
11
|
+
table.store.state.globalFilter,
|
|
12
|
+
table.getFilteredRowModel().rows
|
|
13
|
+
],
|
|
14
|
+
fn: (column) => column_getFacetedRowModel(column, column.table)
|
|
15
|
+
},
|
|
16
|
+
column_getFacetedMinMaxValues: {
|
|
17
|
+
memoDeps: (column) => [
|
|
18
|
+
callMemoOrStaticFn(
|
|
19
|
+
column,
|
|
20
|
+
"getFacetedRowModel",
|
|
21
|
+
column_getFacetedRowModel,
|
|
22
|
+
column.table
|
|
23
|
+
).flatRows
|
|
24
|
+
],
|
|
25
|
+
fn: (column) => column_getFacetedMinMaxValues(column, column.table)
|
|
26
|
+
},
|
|
27
|
+
column_getFacetedUniqueValues: {
|
|
28
|
+
memoDeps: (column) => [
|
|
29
|
+
callMemoOrStaticFn(
|
|
30
|
+
column,
|
|
31
|
+
"getFacetedRowModel",
|
|
32
|
+
column_getFacetedRowModel,
|
|
33
|
+
column.table
|
|
34
|
+
).flatRows
|
|
35
|
+
],
|
|
36
|
+
fn: (column) => column_getFacetedUniqueValues(column, column.table)
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
},
|
|
40
|
+
constructTableAPIs: (table) => {
|
|
41
|
+
assignTableAPIs("columnFacetingFeature", table, {
|
|
42
|
+
table_getGlobalFacetedRowModel: {
|
|
43
|
+
memoDeps: () => [
|
|
44
|
+
table.getPreFilteredRowModel().rows,
|
|
45
|
+
table.store.state.columnFilters,
|
|
46
|
+
table.store.state.globalFilter,
|
|
47
|
+
table.getFilteredRowModel().rows
|
|
48
|
+
],
|
|
49
|
+
fn: () => table_getGlobalFacetedRowModel(table)
|
|
50
|
+
},
|
|
51
|
+
table_getGlobalFacetedMinMaxValues: {
|
|
52
|
+
memoDeps: () => [
|
|
53
|
+
callMemoOrStaticFn(
|
|
54
|
+
table,
|
|
55
|
+
"getGlobalFacetedRowModel",
|
|
56
|
+
table_getGlobalFacetedRowModel
|
|
57
|
+
).flatRows
|
|
58
|
+
],
|
|
59
|
+
fn: () => table_getGlobalFacetedMinMaxValues(table)
|
|
60
|
+
},
|
|
61
|
+
table_getGlobalFacetedUniqueValues: {
|
|
62
|
+
memoDeps: () => [
|
|
63
|
+
callMemoOrStaticFn(
|
|
64
|
+
table,
|
|
65
|
+
"getGlobalFacetedRowModel",
|
|
66
|
+
table_getGlobalFacetedRowModel
|
|
67
|
+
).flatRows
|
|
68
|
+
],
|
|
69
|
+
fn: () => table_getGlobalFacetedUniqueValues(table)
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
const columnFacetingFeature = constructColumnFacetingFeature();
|
|
76
|
+
export {
|
|
77
|
+
columnFacetingFeature,
|
|
78
|
+
constructColumnFacetingFeature
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=columnFacetingFeature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnFacetingFeature.js","sources":["../../../../src/features/column-faceting/columnFacetingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n} from '../../utils'\nimport {\n column_getFacetedMinMaxValues,\n column_getFacetedRowModel,\n column_getFacetedUniqueValues,\n table_getGlobalFacetedMinMaxValues,\n table_getGlobalFacetedRowModel,\n table_getGlobalFacetedUniqueValues,\n} from './columnFacetingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\nimport type { Column_Internal } from '../../types/Column'\n// import type {\n// CachedRowModel_Faceted,\n// Column_ColumnFaceting,\n// CreateRowModel_Faceted,\n// } from './columnFacetingFeature.types'\n\ninterface ColumnFacetingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // CachedRowModel: CachedRowModel_Faceted<TFeatures, TData>\n // Column: Column_ColumnFaceting<TFeatures, TData>\n // CreateRowModels: CreateRowModel_Faceted<TFeatures, TData>\n}\n\nexport function constructColumnFacetingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnFacetingFeatureConstructors<TFeatures, TData>> {\n return {\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnFacetingFeature', prototype, table, {\n column_getFacetedRowModel: {\n memoDeps: () => [\n table.getPreFilteredRowModel().rows,\n table.store.state.columnFilters,\n table.store.state.globalFilter,\n table.getFilteredRowModel().rows,\n ],\n fn: (column) => column_getFacetedRowModel(column, column.table),\n },\n column_getFacetedMinMaxValues: {\n memoDeps: (column: Column_Internal<TFeatures, TData>) => [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n column.table,\n ).flatRows,\n ],\n fn: (column) => column_getFacetedMinMaxValues(column, column.table),\n },\n column_getFacetedUniqueValues: {\n memoDeps: (column: Column_Internal<TFeatures, TData>) => [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n column.table,\n ).flatRows,\n ],\n fn: (column) => column_getFacetedUniqueValues(column, column.table),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnFacetingFeature', table, {\n table_getGlobalFacetedRowModel: {\n memoDeps: () => [\n table.getPreFilteredRowModel().rows,\n table.store.state.columnFilters,\n table.store.state.globalFilter,\n table.getFilteredRowModel().rows,\n ],\n fn: () => table_getGlobalFacetedRowModel(table),\n },\n table_getGlobalFacetedMinMaxValues: {\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ],\n fn: () => table_getGlobalFacetedMinMaxValues(table),\n },\n table_getGlobalFacetedUniqueValues: {\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ],\n fn: () => table_getGlobalFacetedUniqueValues(table),\n },\n })\n },\n }\n}\n\n/**\n * The Column Faceting feature adds column faceting APIs to the column objects.\n */\nexport const columnFacetingFeature = constructColumnFacetingFeature()\n"],"names":[],"mappings":";;AA+BO,SAAS,iCAGuD;AACrE,SAAO;AAAA,IACL,uBAAuB,CAAC,WAAW,UAAU;AAC3C,0BAAoB,yBAAyB,WAAW,OAAO;AAAA,QAC7D,2BAA2B;AAAA,UACzB,UAAU,MAAM;AAAA,YACd,MAAM,yBAAyB;AAAA,YAC/B,MAAM,MAAM,MAAM;AAAA,YAClB,MAAM,MAAM,MAAM;AAAA,YAClB,MAAM,sBAAsB;AAAA,UAAA;AAAA,UAE9B,IAAI,CAAC,WAAW,0BAA0B,QAAQ,OAAO,KAAK;AAAA,QAAA;AAAA,QAEhE,+BAA+B;AAAA,UAC7B,UAAU,CAAC,WAA8C;AAAA,YACvD;AAAA,cACE;AAAA,cACA;AAAA,cACA;AAAA,cACA,OAAO;AAAA,YAAA,EACP;AAAA,UAAA;AAAA,UAEJ,IAAI,CAAC,WAAW,8BAA8B,QAAQ,OAAO,KAAK;AAAA,QAAA;AAAA,QAEpE,+BAA+B;AAAA,UAC7B,UAAU,CAAC,WAA8C;AAAA,YACvD;AAAA,cACE;AAAA,cACA;AAAA,cACA;AAAA,cACA,OAAO;AAAA,YAAA,EACP;AAAA,UAAA;AAAA,UAEJ,IAAI,CAAC,WAAW,8BAA8B,QAAQ,OAAO,KAAK;AAAA,QAAA;AAAA,MACpE,CACD;AAAA,IACH;AAAA,IAEA,oBAAoB,CAAC,UAAU;AAC7B,sBAAgB,yBAAyB,OAAO;AAAA,QAC9C,gCAAgC;AAAA,UAC9B,UAAU,MAAM;AAAA,YACd,MAAM,yBAAyB;AAAA,YAC/B,MAAM,MAAM,MAAM;AAAA,YAClB,MAAM,MAAM,MAAM;AAAA,YAClB,MAAM,sBAAsB;AAAA,UAAA;AAAA,UAE9B,IAAI,MAAM,+BAA+B,KAAK;AAAA,QAAA;AAAA,QAEhD,oCAAoC;AAAA,UAClC,UAAU,MAAM;AAAA,YACd;AAAA,cACE;AAAA,cACA;AAAA,cACA;AAAA,YAAA,EACA;AAAA,UAAA;AAAA,UAEJ,IAAI,MAAM,mCAAmC,KAAK;AAAA,QAAA;AAAA,QAEpD,oCAAoC;AAAA,UAClC,UAAU,MAAM;AAAA,YACd;AAAA,cACE;AAAA,cACA;AAAA,cACA;AAAA,YAAA,EACA;AAAA,UAAA;AAAA,UAEJ,IAAI,MAAM,mCAAmC,KAAK;AAAA,QAAA;AAAA,MACpD,CACD;AAAA,IACH;AAAA,EAAA;AAEJ;AAKO,MAAM,wBAAwB,+BAAA;"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Table } from '../../types/Table.js';
|
|
2
|
+
import { RowData } from '../../types/type-utils.js';
|
|
3
|
+
import { TableFeatures } from '../../types/TableFeatures.js';
|
|
4
|
+
import { RowModel } from '../../core/row-models/coreRowModelsFeature.types';
|
|
5
|
+
export interface Column_ColumnFaceting<TFeatures extends TableFeatures, TData extends RowData> {
|
|
6
|
+
/**
|
|
7
|
+
* A function that **computes and returns** a min/max tuple derived from `column.getFacetedRowModel`. Useful for displaying faceted result values.
|
|
8
|
+
*/
|
|
9
|
+
getFacetedMinMaxValues: () => undefined | [number, number];
|
|
10
|
+
/**
|
|
11
|
+
* A function that **computes and returns** a row model with all other column filters applied, excluding its own filter. Useful for displaying faceted result counts.
|
|
12
|
+
*/
|
|
13
|
+
getFacetedRowModel: () => RowModel<TFeatures, TData>;
|
|
14
|
+
/**
|
|
15
|
+
* Returns a `Map` of unique values and their occurrences derived from `column.getFacetedRowModel`. Useful for displaying faceted result values.
|
|
16
|
+
*/
|
|
17
|
+
getFacetedUniqueValues: () => Map<any, number>;
|
|
18
|
+
}
|
|
19
|
+
export interface Table_RowModels_Faceted<TFeatures extends TableFeatures, TData extends RowData> {
|
|
20
|
+
/**
|
|
21
|
+
* A function that **computes and returns** a min/max tuple derived from `column.getFacetedRowModel`. Useful for displaying faceted result values.
|
|
22
|
+
* > ⚠️ Requires that you pass a valid `getFacetedMinMaxValues` function to `options.getFacetedMinMaxValues`. A default implementation is provided via the exported `getFacetedMinMaxValues` function.
|
|
23
|
+
*/
|
|
24
|
+
getFacetedMinMaxValues: () => undefined | [number, number];
|
|
25
|
+
/**
|
|
26
|
+
* Returns the row model with all other column filters applied, excluding its own filter. Useful for displaying faceted result counts.
|
|
27
|
+
* > ⚠️ Requires that you pass a valid `getFacetedRowModel` function to `options.facetedRowModel`. A default implementation is provided via the exported `getFacetedRowModel` function.
|
|
28
|
+
*/
|
|
29
|
+
getFacetedRowModel: () => RowModel<TFeatures, TData>;
|
|
30
|
+
/**
|
|
31
|
+
* A function that **computes and returns** a `Map` of unique values and their occurrences derived from `column.getFacetedRowModel`. Useful for displaying faceted result values.
|
|
32
|
+
* > ⚠️ Requires that you pass a valid `getFacetedUniqueValues` function to `options.getFacetedUniqueValues`. A default implementation is provided via the exported `getFacetedUniqueValues` function.
|
|
33
|
+
*/
|
|
34
|
+
getFacetedUniqueValues: () => Map<any, number>;
|
|
35
|
+
}
|
|
36
|
+
export interface CreateRowModel_Faceted<TFeatures extends TableFeatures, TData extends RowData> {
|
|
37
|
+
/**
|
|
38
|
+
* This function is used to retrieve the faceted min/max values. If using server-side faceting, this function is not required. To use client-side faceting, pass the exported `getFacetedMinMaxValues()` from your adapter to your table or implement your own.
|
|
39
|
+
*/
|
|
40
|
+
facetedMinMaxValues?: (table: Table<TFeatures, TData>, columnId: string) => () => [number, number] | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* This function is used to retrieve the faceted row model. If using server-side faceting, this function is not required. To use client-side faceting, pass the exported `getFacetedRowModel()` from your adapter to your table or implement your own.
|
|
43
|
+
*/
|
|
44
|
+
facetedRowModel?: (table: Table<TFeatures, TData>, columnId: string) => () => RowModel<TFeatures, TData>;
|
|
45
|
+
/**
|
|
46
|
+
* This function is used to retrieve the faceted unique values. If using server-side faceting, this function is not required. To use client-side faceting, pass the exported `getFacetedUniqueValues()` from your adapter to your table or implement your own.
|
|
47
|
+
*/
|
|
48
|
+
facetedUniqueValues?: (table: Table<TFeatures, TData>, columnId: string) => () => Map<any, number>;
|
|
49
|
+
}
|
|
50
|
+
export interface CachedRowModel_Faceted<TFeatures extends TableFeatures, TData extends RowData> {
|
|
51
|
+
facetedRowModel?: (columnId: string) => () => RowModel<TFeatures, TData>;
|
|
52
|
+
facetedMinMaxValues?: (columnId: string) => [number, number];
|
|
53
|
+
facetedUniqueValues?: (columnId: string) => Map<any, number>;
|
|
54
|
+
}
|
|
55
|
+
export interface Table_ColumnFaceting<TFeatures extends TableFeatures, TData extends RowData> {
|
|
56
|
+
/**
|
|
57
|
+
* Returns the min and max values for the global filter.
|
|
58
|
+
*/
|
|
59
|
+
getGlobalFacetedMinMaxValues: () => undefined | [number, number];
|
|
60
|
+
/**
|
|
61
|
+
* Returns the row model for the table after **global** filtering has been applied.
|
|
62
|
+
*/
|
|
63
|
+
getGlobalFacetedRowModel: () => RowModel<TFeatures, TData>;
|
|
64
|
+
/**
|
|
65
|
+
* Returns the faceted unique values for the global filter.
|
|
66
|
+
*/
|
|
67
|
+
getGlobalFacetedUniqueValues: () => Map<any, number>;
|
|
68
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CellData, RowData } from '../../types/type-utils.js';
|
|
2
|
+
import { TableFeatures } from '../../types/TableFeatures.js';
|
|
3
|
+
import { RowModel } from '../../core/row-models/coreRowModelsFeature.types';
|
|
4
|
+
import { Table_Internal } from '../../types/Table.js';
|
|
5
|
+
import { Column_Internal } from '../../types/Column.js';
|
|
6
|
+
export declare function column_getFacetedMinMaxValues<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, table: Table_Internal<TFeatures, TData>): [number, number] | undefined;
|
|
7
|
+
export declare function column_getFacetedRowModel<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue> | undefined, table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
|
|
8
|
+
export declare function column_getFacetedUniqueValues<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, table: Table_Internal<TFeatures, TData>): Map<any, number>;
|
|
9
|
+
export declare function table_getGlobalFacetedMinMaxValues<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): undefined | [number, number];
|
|
10
|
+
export declare function table_getGlobalFacetedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
|
|
11
|
+
export declare function table_getGlobalFacetedUniqueValues<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Map<any, number>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
function column_getFacetedMinMaxValues(column, table) {
|
|
2
|
+
const facetedMinMaxValuesFn = table.options._rowModels?.facetedMinMaxValues?.(table, column.id) ?? (() => void 0);
|
|
3
|
+
return facetedMinMaxValuesFn();
|
|
4
|
+
}
|
|
5
|
+
function column_getFacetedRowModel(column, table) {
|
|
6
|
+
const facetedRowModelFn = table.options._rowModels?.facetedRowModel?.(table, column?.id ?? "") ?? (() => table.getPreFilteredRowModel());
|
|
7
|
+
return facetedRowModelFn();
|
|
8
|
+
}
|
|
9
|
+
function column_getFacetedUniqueValues(column, table) {
|
|
10
|
+
const facetedUniqueValuesFn = table.options._rowModels?.facetedUniqueValues?.(table, column.id) ?? (() => /* @__PURE__ */ new Map());
|
|
11
|
+
return facetedUniqueValuesFn();
|
|
12
|
+
}
|
|
13
|
+
function table_getGlobalFacetedMinMaxValues(table) {
|
|
14
|
+
const facetedMinMaxValuesFn = table.options._rowModels?.facetedMinMaxValues?.(table, "__global__") ?? (() => void 0);
|
|
15
|
+
return facetedMinMaxValuesFn();
|
|
16
|
+
}
|
|
17
|
+
function table_getGlobalFacetedRowModel(table) {
|
|
18
|
+
const facetedRowModelFn = table.options._rowModels?.facetedRowModel?.(table, "__global__") ?? (() => table.getPreFilteredRowModel());
|
|
19
|
+
return facetedRowModelFn();
|
|
20
|
+
}
|
|
21
|
+
function table_getGlobalFacetedUniqueValues(table) {
|
|
22
|
+
const facetedUniqueValuesFn = table.options._rowModels?.facetedUniqueValues?.(table, "__global__") ?? (() => /* @__PURE__ */ new Map());
|
|
23
|
+
return facetedUniqueValuesFn();
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
column_getFacetedMinMaxValues,
|
|
27
|
+
column_getFacetedRowModel,
|
|
28
|
+
column_getFacetedUniqueValues,
|
|
29
|
+
table_getGlobalFacetedMinMaxValues,
|
|
30
|
+
table_getGlobalFacetedRowModel,
|
|
31
|
+
table_getGlobalFacetedUniqueValues
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=columnFacetingFeature.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnFacetingFeature.utils.js","sources":["../../../../src/features/column-faceting/columnFacetingFeature.utils.ts"],"sourcesContent":["import type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\n\nexport function column_getFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n table: Table_Internal<TFeatures, TData>,\n): [number, number] | undefined {\n const facetedMinMaxValuesFn =\n table.options._rowModels?.facetedMinMaxValues?.(table, column.id) ??\n (() => undefined)\n return facetedMinMaxValuesFn()\n}\n\nexport function column_getFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue> | undefined,\n table: Table_Internal<TFeatures, TData>,\n): RowModel<TFeatures, TData> {\n const facetedRowModelFn =\n table.options._rowModels?.facetedRowModel?.(table, column?.id ?? '') ??\n (() => table.getPreFilteredRowModel())\n return facetedRowModelFn()\n}\n\nexport function column_getFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n table: Table_Internal<TFeatures, TData>,\n): Map<any, number> {\n const facetedUniqueValuesFn =\n table.options._rowModels?.facetedUniqueValues?.(table, column.id) ??\n (() => new Map<any, number>())\n return facetedUniqueValuesFn()\n}\n\nexport function table_getGlobalFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): undefined | [number, number] {\n const facetedMinMaxValuesFn =\n table.options._rowModels?.facetedMinMaxValues?.(table, '__global__') ??\n (() => undefined)\n return facetedMinMaxValuesFn()\n}\n\nexport function table_getGlobalFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const facetedRowModelFn =\n table.options._rowModels?.facetedRowModel?.(table, '__global__') ??\n (() => table.getPreFilteredRowModel())\n return facetedRowModelFn()\n}\n\nexport function table_getGlobalFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Map<any, number> {\n const facetedUniqueValuesFn =\n table.options._rowModels?.facetedUniqueValues?.(table, '__global__') ??\n (() => new Map())\n return facetedUniqueValuesFn()\n}\n"],"names":[],"mappings":"AAMO,SAAS,8BAKd,QACA,OAC8B;AAC9B,QAAM,wBACJ,MAAM,QAAQ,YAAY,sBAAsB,OAAO,OAAO,EAAE,MAC/D,MAAM;AACT,SAAO,sBAAA;AACT;AAEO,SAAS,0BAKd,QACA,OAC4B;AAC5B,QAAM,oBACJ,MAAM,QAAQ,YAAY,kBAAkB,OAAO,QAAQ,MAAM,EAAE,MAClE,MAAM,MAAM,uBAAA;AACf,SAAO,kBAAA;AACT;AAEO,SAAS,8BAKd,QACA,OACkB;AAClB,QAAM,wBACJ,MAAM,QAAQ,YAAY,sBAAsB,OAAO,OAAO,EAAE,MAC/D,MAAM,oBAAI,IAAA;AACb,SAAO,sBAAA;AACT;AAEO,SAAS,mCAGd,OAAuE;AACvE,QAAM,wBACJ,MAAM,QAAQ,YAAY,sBAAsB,OAAO,YAAY,MAClE,MAAM;AACT,SAAO,sBAAA;AACT;AAEO,SAAS,+BAGd,OAAqE;AACrE,QAAM,oBACJ,MAAM,QAAQ,YAAY,kBAAkB,OAAO,YAAY,MAC9D,MAAM,MAAM,uBAAA;AACf,SAAO,kBAAA;AACT;AAEO,SAAS,mCAGd,OAA2D;AAC3D,QAAM,wBACJ,MAAM,QAAQ,YAAY,sBAAsB,OAAO,YAAY,MAClE,MAAM,oBAAI;AACb,SAAO,sBAAA;AACT;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Table } from '../../types/Table.js';
|
|
2
|
+
import { TableFeatures } from '../../types/TableFeatures.js';
|
|
3
|
+
import { RowData } from '../../types/type-utils.js';
|
|
4
|
+
export declare function createFacetedMinMaxValues<TFeatures extends TableFeatures, TData extends RowData = any>(): (table: Table<TFeatures, TData>, columnId: string) => () => undefined | [number, number];
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { tableMemo, callMemoOrStaticFn } from "../../utils.js";
|
|
2
|
+
import { column_getFacetedRowModel } from "./columnFacetingFeature.utils.js";
|
|
3
|
+
function createFacetedMinMaxValues() {
|
|
4
|
+
return (_table, columnId) => {
|
|
5
|
+
const table = _table;
|
|
6
|
+
return tableMemo({
|
|
7
|
+
feature: "columnFacetingFeature",
|
|
8
|
+
fn: (flatRows) => _createFacetedMinMaxValues(columnId, flatRows),
|
|
9
|
+
fnName: "table.getFacetedMinMaxValues",
|
|
10
|
+
memoDeps: () => {
|
|
11
|
+
const column = table.getColumn(columnId);
|
|
12
|
+
if (!column) return [table.getPreFilteredRowModel().flatRows];
|
|
13
|
+
return [
|
|
14
|
+
callMemoOrStaticFn(
|
|
15
|
+
column,
|
|
16
|
+
"getFacetedRowModel",
|
|
17
|
+
column_getFacetedRowModel,
|
|
18
|
+
table
|
|
19
|
+
).flatRows
|
|
20
|
+
];
|
|
21
|
+
},
|
|
22
|
+
table
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function _createFacetedMinMaxValues(columnId, flatRows) {
|
|
27
|
+
if (!flatRows.length) return void 0;
|
|
28
|
+
const numericValues = flatRows.map((flatRow) => flatRow.getValue(columnId)).map(Number).filter((value) => !Number.isNaN(value));
|
|
29
|
+
if (!numericValues.length) return void 0;
|
|
30
|
+
let facetedMinValue = numericValues[0];
|
|
31
|
+
let facetedMaxValue = numericValues[0];
|
|
32
|
+
for (const value of numericValues) {
|
|
33
|
+
if (value < facetedMinValue) facetedMinValue = value;
|
|
34
|
+
if (value > facetedMaxValue) facetedMaxValue = value;
|
|
35
|
+
}
|
|
36
|
+
return [facetedMinValue, facetedMaxValue];
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
createFacetedMinMaxValues
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=createFacetedMinMaxValues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createFacetedMinMaxValues.js","sources":["../../../../src/features/column-faceting/createFacetedMinMaxValues.ts"],"sourcesContent":["import { callMemoOrStaticFn, tableMemo } from '../../utils'\nimport { column_getFacetedRowModel } from './columnFacetingFeature.utils'\nimport type { Row } from '../../types/Row'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => undefined | [number, number] {\n return (_table, columnId) => {\n const table = _table as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n fn: (flatRows) => _createFacetedMinMaxValues(columnId, flatRows),\n fnName: 'table.getFacetedMinMaxValues',\n memoDeps: () => {\n const column = table.getColumn(columnId)\n if (!column) return [table.getPreFilteredRowModel().flatRows]\n return [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n table,\n ).flatRows,\n ]\n },\n table,\n })\n }\n}\n\nfunction _createFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n columnId: string,\n flatRows: Array<Row<TFeatures, TData>>,\n): undefined | [number, number] {\n if (!flatRows.length) return undefined\n\n const numericValues = flatRows\n .map((flatRow) => flatRow.getValue(columnId))\n .map(Number)\n .filter((value) => !Number.isNaN(value))\n\n if (!numericValues.length) return undefined\n\n let facetedMinValue = numericValues[0]!\n let facetedMaxValue = numericValues[0]!\n\n for (const value of numericValues) {\n if (value < facetedMinValue) facetedMinValue = value\n if (value > facetedMaxValue) facetedMaxValue = value\n }\n\n return [facetedMinValue, facetedMaxValue]\n}\n"],"names":[],"mappings":";;AAOO,SAAS,4BAMwB;AACtC,SAAO,CAAC,QAAQ,aAAa;AAC3B,UAAM,QAAQ;AACd,WAAO,UAAU;AAAA,MACf,SAAS;AAAA,MACT,IAAI,CAAC,aAAa,2BAA2B,UAAU,QAAQ;AAAA,MAC/D,QAAQ;AAAA,MACR,UAAU,MAAM;AACd,cAAM,SAAS,MAAM,UAAU,QAAQ;AACvC,YAAI,CAAC,OAAQ,QAAO,CAAC,MAAM,uBAAA,EAAyB,QAAQ;AAC5D,eAAO;AAAA,UACL;AAAA,YACE;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA,EACA;AAAA,QAAA;AAAA,MAEN;AAAA,MACA;AAAA,IAAA,CACD;AAAA,EACH;AACF;AAEA,SAAS,2BAIP,UACA,UAC8B;AAC9B,MAAI,CAAC,SAAS,OAAQ,QAAO;AAE7B,QAAM,gBAAgB,SACnB,IAAI,CAAC,YAAY,QAAQ,SAAS,QAAQ,CAAC,EAC3C,IAAI,MAAM,EACV,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,KAAK,CAAC;AAEzC,MAAI,CAAC,cAAc,OAAQ,QAAO;AAElC,MAAI,kBAAkB,cAAc,CAAC;AACrC,MAAI,kBAAkB,cAAc,CAAC;AAErC,aAAW,SAAS,eAAe;AACjC,QAAI,QAAQ,gBAAiB,mBAAkB;AAC/C,QAAI,QAAQ,gBAAiB,mBAAkB;AAAA,EACjD;AAEA,SAAO,CAAC,iBAAiB,eAAe;AAC1C;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Table } from '../../types/Table.js';
|
|
2
|
+
import { TableFeatures } from '../../types/TableFeatures.js';
|
|
3
|
+
import { RowModel } from '../../core/row-models/coreRowModelsFeature.types';
|
|
4
|
+
import { RowData } from '../../types/type-utils.js';
|
|
5
|
+
export declare function createFacetedRowModel<TFeatures extends TableFeatures, TData extends RowData = any>(): (table: Table<TFeatures, TData>, columnId: string) => () => RowModel<TFeatures, TData>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { tableMemo } from "../../utils.js";
|
|
2
|
+
import { filterRows } from "../column-filtering/filterRowsUtils.js";
|
|
3
|
+
function createFacetedRowModel() {
|
|
4
|
+
return (_table, columnId) => {
|
|
5
|
+
const table = _table;
|
|
6
|
+
return tableMemo({
|
|
7
|
+
feature: "columnFacetingFeature",
|
|
8
|
+
table,
|
|
9
|
+
fnName: "createFacetedRowModel",
|
|
10
|
+
memoDeps: () => [
|
|
11
|
+
table.getPreFilteredRowModel(),
|
|
12
|
+
table.store.state.columnFilters,
|
|
13
|
+
table.store.state.globalFilter,
|
|
14
|
+
table.getFilteredRowModel()
|
|
15
|
+
],
|
|
16
|
+
fn: (preRowModel, columnFilters, globalFilter) => _createFacetedRowModel(
|
|
17
|
+
table,
|
|
18
|
+
columnId,
|
|
19
|
+
preRowModel,
|
|
20
|
+
columnFilters,
|
|
21
|
+
globalFilter
|
|
22
|
+
)
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function _createFacetedRowModel(table, columnId, preRowModel, columnFilters, globalFilter) {
|
|
27
|
+
if (!preRowModel.rows.length || !columnFilters?.length && !globalFilter) {
|
|
28
|
+
return preRowModel;
|
|
29
|
+
}
|
|
30
|
+
const filterableIds = [
|
|
31
|
+
...columnFilters?.map((d) => d.id).filter((d) => d !== columnId) ?? [],
|
|
32
|
+
globalFilter ? "__global__" : void 0
|
|
33
|
+
].filter(Boolean);
|
|
34
|
+
const filterRowsImpl = (row) => {
|
|
35
|
+
for (const colId of filterableIds) {
|
|
36
|
+
if (row.columnFilters?.[colId] === false) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return true;
|
|
41
|
+
};
|
|
42
|
+
return filterRows(preRowModel.rows, filterRowsImpl, table);
|
|
43
|
+
}
|
|
44
|
+
export {
|
|
45
|
+
createFacetedRowModel
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=createFacetedRowModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createFacetedRowModel.js","sources":["../../../../src/features/column-faceting/createFacetedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { filterRows } from '../column-filtering/filterRowsUtils'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type {\n ColumnFiltersState,\n Row_ColumnFiltering,\n} from '../column-filtering/columnFilteringFeature.types'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => RowModel<TFeatures, TData> {\n return (_table, columnId) => {\n const table = _table as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'createFacetedRowModel',\n memoDeps: () => [\n table.getPreFilteredRowModel(),\n table.store.state.columnFilters,\n table.store.state.globalFilter,\n table.getFilteredRowModel(),\n ],\n fn: (preRowModel, columnFilters, globalFilter) =>\n _createFacetedRowModel(\n table,\n columnId,\n preRowModel,\n columnFilters,\n globalFilter,\n ),\n })\n }\n}\n\nfunction _createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n table: Table_Internal<TFeatures, TData>,\n columnId: string,\n preRowModel: RowModel<TFeatures, TData>,\n columnFilters?: ColumnFiltersState,\n globalFilter?: string,\n) {\n if (!preRowModel.rows.length || (!columnFilters?.length && !globalFilter)) {\n return preRowModel\n }\n\n const filterableIds = [\n ...(columnFilters?.map((d) => d.id).filter((d) => d !== columnId) ?? []),\n globalFilter ? '__global__' : undefined,\n ].filter(Boolean) as Array<string>\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>,\n ) => {\n // Horizontally filter rows through each column\n for (const colId of filterableIds) {\n if (row.columnFilters?.[colId] === false) {\n return false\n }\n }\n return true\n }\n\n return filterRows(preRowModel.rows, filterRowsImpl, table)\n}\n"],"names":[],"mappings":";;AAYO,SAAS,wBAMsB;AACpC,SAAO,CAAC,QAAQ,aAAa;AAC3B,UAAM,QAAQ;AACd,WAAO,UAAU;AAAA,MACf,SAAS;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,MACR,UAAU,MAAM;AAAA,QACd,MAAM,uBAAA;AAAA,QACN,MAAM,MAAM,MAAM;AAAA,QAClB,MAAM,MAAM,MAAM;AAAA,QAClB,MAAM,oBAAA;AAAA,MAAoB;AAAA,MAE5B,IAAI,CAAC,aAAa,eAAe,iBAC/B;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACF,CACH;AAAA,EACH;AACF;AAEA,SAAS,uBAIP,OACA,UACA,aACA,eACA,cACA;AACA,MAAI,CAAC,YAAY,KAAK,UAAW,CAAC,eAAe,UAAU,CAAC,cAAe;AACzE,WAAO;AAAA,EACT;AAEA,QAAM,gBAAgB;AAAA,IACpB,GAAI,eAAe,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,MAAM,QAAQ,KAAK,CAAA;AAAA,IACrE,eAAe,eAAe;AAAA,EAAA,EAC9B,OAAO,OAAO;AAEhB,QAAM,iBAAiB,CACrB,QACG;AAEH,eAAW,SAAS,eAAe;AACjC,UAAI,IAAI,gBAAgB,KAAK,MAAM,OAAO;AACxC,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,SAAO,WAAW,YAAY,MAAM,gBAAgB,KAAK;AAC3D;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Table } from '../../types/Table.js';
|
|
2
|
+
import { TableFeatures } from '../../types/TableFeatures.js';
|
|
3
|
+
import { RowData } from '../../types/type-utils.js';
|
|
4
|
+
export declare function createFacetedUniqueValues<TFeatures extends TableFeatures, TData extends RowData = any>(): (table: Table<TFeatures, TData>, columnId: string) => () => Map<any, number>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { tableMemo, callMemoOrStaticFn } from "../../utils.js";
|
|
2
|
+
import { column_getFacetedRowModel } from "./columnFacetingFeature.utils.js";
|
|
3
|
+
function createFacetedUniqueValues() {
|
|
4
|
+
return (_table, columnId) => {
|
|
5
|
+
const table = _table;
|
|
6
|
+
return tableMemo({
|
|
7
|
+
feature: "columnFacetingFeature",
|
|
8
|
+
table,
|
|
9
|
+
fnName: "table.getFacetedUniqueValues",
|
|
10
|
+
memoDeps: () => {
|
|
11
|
+
const column = table.getColumn(columnId);
|
|
12
|
+
if (!column) return [table.getPreFilteredRowModel().flatRows];
|
|
13
|
+
return [
|
|
14
|
+
callMemoOrStaticFn(
|
|
15
|
+
column,
|
|
16
|
+
"getFacetedRowModel",
|
|
17
|
+
column_getFacetedRowModel,
|
|
18
|
+
table
|
|
19
|
+
).flatRows
|
|
20
|
+
];
|
|
21
|
+
},
|
|
22
|
+
fn: (flatRows) => _createFacetedUniqueValues(columnId, flatRows)
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function _createFacetedUniqueValues(columnId, flatRows) {
|
|
27
|
+
const facetedUniqueValues = /* @__PURE__ */ new Map();
|
|
28
|
+
for (const row of flatRows) {
|
|
29
|
+
const values = row.getUniqueValues(columnId);
|
|
30
|
+
for (const value of values) {
|
|
31
|
+
if (facetedUniqueValues.has(value)) {
|
|
32
|
+
facetedUniqueValues.set(
|
|
33
|
+
value,
|
|
34
|
+
(facetedUniqueValues.get(value) ?? 0) + 1
|
|
35
|
+
);
|
|
36
|
+
} else {
|
|
37
|
+
facetedUniqueValues.set(value, 1);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return facetedUniqueValues;
|
|
42
|
+
}
|
|
43
|
+
export {
|
|
44
|
+
createFacetedUniqueValues
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=createFacetedUniqueValues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createFacetedUniqueValues.js","sources":["../../../../src/features/column-faceting/createFacetedUniqueValues.ts"],"sourcesContent":["import { callMemoOrStaticFn, tableMemo } from '../../utils'\nimport { column_getFacetedRowModel } from './columnFacetingFeature.utils'\nimport type { Row } from '../../types/Row'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => Map<any, number> {\n return (_table, columnId) => {\n const table = _table as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'table.getFacetedUniqueValues',\n memoDeps: () => {\n const column = table.getColumn(columnId)\n if (!column) return [table.getPreFilteredRowModel().flatRows]\n return [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n table,\n ).flatRows,\n ]\n },\n fn: (flatRows) => _createFacetedUniqueValues(columnId, flatRows),\n })\n }\n}\n\nfunction _createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(columnId: string, flatRows: Array<Row<TFeatures, TData>>): Map<any, number> {\n const facetedUniqueValues = new Map<any, number>()\n\n for (const row of flatRows) {\n const values = row.getUniqueValues(columnId)\n\n for (const value of values) {\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(\n value,\n (facetedUniqueValues.get(value) ?? 0) + 1,\n )\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n }\n\n return facetedUniqueValues\n}\n"],"names":[],"mappings":";;AAOO,SAAS,4BAMY;AAC1B,SAAO,CAAC,QAAQ,aAAa;AAC3B,UAAM,QAAQ;AACd,WAAO,UAAU;AAAA,MACf,SAAS;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,MACR,UAAU,MAAM;AACd,cAAM,SAAS,MAAM,UAAU,QAAQ;AACvC,YAAI,CAAC,OAAQ,QAAO,CAAC,MAAM,uBAAA,EAAyB,QAAQ;AAC5D,eAAO;AAAA,UACL;AAAA,YACE;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA,EACA;AAAA,QAAA;AAAA,MAEN;AAAA,MACA,IAAI,CAAC,aAAa,2BAA2B,UAAU,QAAQ;AAAA,IAAA,CAChE;AAAA,EACH;AACF;AAEA,SAAS,2BAGP,UAAkB,UAA0D;AAC5E,QAAM,0CAA0B,IAAA;AAEhC,aAAW,OAAO,UAAU;AAC1B,UAAM,SAAS,IAAI,gBAAgB,QAAQ;AAE3C,eAAW,SAAS,QAAQ;AAC1B,UAAI,oBAAoB,IAAI,KAAK,GAAG;AAClC,4BAAoB;AAAA,UAClB;AAAA,WACC,oBAAoB,IAAI,KAAK,KAAK,KAAK;AAAA,QAAA;AAAA,MAE5C,OAAO;AACL,4BAAoB,IAAI,OAAO,CAAC;AAAA,MAClC;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RowData } from '../../types/type-utils.js';
|
|
2
|
+
import { TableFeature, TableFeatures } from '../../types/TableFeatures.js';
|
|
3
|
+
interface ColumnFilteringFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {
|
|
4
|
+
}
|
|
5
|
+
export declare function constructColumnFilteringFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<ColumnFilteringFeatureConstructors<TFeatures, TData>>;
|
|
6
|
+
/**
|
|
7
|
+
* The Column Filtering feature adds column filtering state and APIs to the table, row, and column objects.
|
|
8
|
+
* **Note:** This does not include Global Filtering. The globalFilteringFeature feature has been split out into its own standalone feature.
|
|
9
|
+
*/
|
|
10
|
+
export declare const columnFilteringFeature: TableFeature<ColumnFilteringFeatureConstructors<TableFeatures, RowData>>;
|
|
11
|
+
export {};
|