@tanstack/table-core 9.0.0-alpha.10 → 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 -66
- 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 -50
- 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 -164
- package/dist/cjs/aggregationFns.cjs +0 -94
- 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 -92
- 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 -232
- package/dist/cjs/core/table.cjs.map +0 -1
- package/dist/cjs/core/table.d.cts +0 -229
- 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 -133
- 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 -307
- 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 -152
- 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 -161
- 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 -132
- 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 -296
- 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 -200
- 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 -88
- 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 -35
- 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 -37
- 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 -88
- package/dist/cjs/utils/getSortedRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getSortedRowModel.d.cts +0 -3
- package/dist/cjs/utils.cjs +0 -98
- 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 -94
- 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 -92
- package/dist/esm/core/row.js.map +0 -1
- package/dist/esm/core/table.d.ts +0 -229
- package/dist/esm/core/table.js +0 -232
- 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 -133
- 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 -307
- 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 -152
- 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 -161
- 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 -132
- 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 -296
- 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 -200
- 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 -35
- 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 -37
- 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 -88
- 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 -563
- 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 -277
- 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
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { _createRow } from "../core/row.js";
|
|
2
|
-
import { memo, getMemoOptions, flattenBy } from "../utils.js";
|
|
3
|
-
function getGroupedRowModel() {
|
|
4
|
-
return (table) => memo(
|
|
5
|
-
() => [table.getState().grouping, table.getPreGroupedRowModel()],
|
|
6
|
-
(grouping, rowModel) => {
|
|
7
|
-
if (!rowModel.rows.length || !grouping.length) {
|
|
8
|
-
return rowModel;
|
|
9
|
-
}
|
|
10
|
-
const existingGrouping = grouping.filter(
|
|
11
|
-
(columnId) => table.getColumn(columnId)
|
|
12
|
-
);
|
|
13
|
-
const groupedFlatRows = [];
|
|
14
|
-
const groupedRowsById = {};
|
|
15
|
-
const groupUpRecursively = (rows, depth = 0, parentId) => {
|
|
16
|
-
if (depth >= existingGrouping.length) {
|
|
17
|
-
return rows.map((row) => {
|
|
18
|
-
row.depth = depth;
|
|
19
|
-
groupedFlatRows.push(row);
|
|
20
|
-
groupedRowsById[row.id] = row;
|
|
21
|
-
if (row.subRows) {
|
|
22
|
-
row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id);
|
|
23
|
-
}
|
|
24
|
-
return row;
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
const columnId = existingGrouping[depth];
|
|
28
|
-
const rowGroupsMap = groupBy(rows, columnId);
|
|
29
|
-
const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(
|
|
30
|
-
([groupingValue, groupedRows2], index) => {
|
|
31
|
-
let id = `${columnId}:${groupingValue}`;
|
|
32
|
-
id = parentId ? `${parentId}>${id}` : id;
|
|
33
|
-
const subRows = groupUpRecursively(groupedRows2, depth + 1, id);
|
|
34
|
-
const leafRows = depth ? flattenBy(groupedRows2, (row2) => row2.subRows) : groupedRows2;
|
|
35
|
-
const row = _createRow(
|
|
36
|
-
table,
|
|
37
|
-
id,
|
|
38
|
-
leafRows[0].original,
|
|
39
|
-
index,
|
|
40
|
-
depth,
|
|
41
|
-
void 0,
|
|
42
|
-
parentId
|
|
43
|
-
);
|
|
44
|
-
Object.assign(row, {
|
|
45
|
-
groupingColumnId: columnId,
|
|
46
|
-
groupingValue,
|
|
47
|
-
subRows,
|
|
48
|
-
leafRows,
|
|
49
|
-
getValue: (columnId2) => {
|
|
50
|
-
if (existingGrouping.includes(columnId2)) {
|
|
51
|
-
if (row._valuesCache.hasOwnProperty(columnId2)) {
|
|
52
|
-
return row._valuesCache[columnId2];
|
|
53
|
-
}
|
|
54
|
-
if (groupedRows2[0]) {
|
|
55
|
-
row._valuesCache[columnId2] = groupedRows2[0].getValue(columnId2) ?? void 0;
|
|
56
|
-
}
|
|
57
|
-
return row._valuesCache[columnId2];
|
|
58
|
-
}
|
|
59
|
-
if (row._groupingValuesCache.hasOwnProperty(columnId2)) {
|
|
60
|
-
return row._groupingValuesCache[columnId2];
|
|
61
|
-
}
|
|
62
|
-
const column = table.getColumn(columnId2);
|
|
63
|
-
const aggregateFn = column == null ? void 0 : column.getAggregationFn();
|
|
64
|
-
if (aggregateFn) {
|
|
65
|
-
row._groupingValuesCache[columnId2] = aggregateFn(
|
|
66
|
-
columnId2,
|
|
67
|
-
leafRows,
|
|
68
|
-
groupedRows2
|
|
69
|
-
);
|
|
70
|
-
return row._groupingValuesCache[columnId2];
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
subRows.forEach((subRow) => {
|
|
75
|
-
groupedFlatRows.push(subRow);
|
|
76
|
-
groupedRowsById[subRow.id] = subRow;
|
|
77
|
-
});
|
|
78
|
-
return row;
|
|
79
|
-
}
|
|
80
|
-
);
|
|
81
|
-
return aggregatedGroupedRows;
|
|
82
|
-
};
|
|
83
|
-
const groupedRows = groupUpRecursively(rowModel.rows, 0);
|
|
84
|
-
groupedRows.forEach((subRow) => {
|
|
85
|
-
groupedFlatRows.push(subRow);
|
|
86
|
-
groupedRowsById[subRow.id] = subRow;
|
|
87
|
-
});
|
|
88
|
-
return {
|
|
89
|
-
rows: groupedRows,
|
|
90
|
-
flatRows: groupedFlatRows,
|
|
91
|
-
rowsById: groupedRowsById
|
|
92
|
-
};
|
|
93
|
-
},
|
|
94
|
-
getMemoOptions(table.options, "debugTable", "getGroupedRowModel", () => {
|
|
95
|
-
table._queue(() => {
|
|
96
|
-
table._autoResetExpanded();
|
|
97
|
-
table._autoResetPageIndex();
|
|
98
|
-
});
|
|
99
|
-
})
|
|
100
|
-
);
|
|
101
|
-
}
|
|
102
|
-
function groupBy(rows, columnId) {
|
|
103
|
-
const groupMap = /* @__PURE__ */ new Map();
|
|
104
|
-
return rows.reduce((map, row) => {
|
|
105
|
-
const resKey = `${row.getGroupingValue(columnId)}`;
|
|
106
|
-
const previous = map.get(resKey);
|
|
107
|
-
if (!previous) {
|
|
108
|
-
map.set(resKey, [row]);
|
|
109
|
-
} else {
|
|
110
|
-
previous.push(row);
|
|
111
|
-
}
|
|
112
|
-
return map;
|
|
113
|
-
}, groupMap);
|
|
114
|
-
}
|
|
115
|
-
export {
|
|
116
|
-
getGroupedRowModel
|
|
117
|
-
};
|
|
118
|
-
//# sourceMappingURL=getGroupedRowModel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getGroupedRowModel.js","sources":["../../../src/utils/getGroupedRowModel.ts"],"sourcesContent":["import { _createRow } from '../core/row'\nimport { Table, Row, RowModel, RowData } from '../types'\nimport { flattenBy, getMemoOptions, memo } from '../utils'\n\nexport function getGroupedRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [table.getState().grouping, table.getPreGroupedRowModel()],\n (grouping, rowModel) => {\n if (!rowModel.rows.length || !grouping.length) {\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter(columnId =>\n table.getColumn(columnId)\n )\n\n const groupedFlatRows: Row<TData>[] = []\n const groupedRowsById: Record<string, Row<TData>> = {}\n // const onlyGroupedFlatRows: Row[] = [];\n // const onlyGroupedRowsById: Record<RowId, Row> = {};\n // const nonGroupedFlatRows: Row[] = [];\n // const nonGroupedRowsById: Record<RowId, Row> = {};\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Row<TData>[],\n depth = 0,\n parentId?: string\n ) => {\n // Grouping depth has been been met\n // Stop grouping and simply rewrite thd depth and row relationships\n if (depth >= existingGrouping.length) {\n return rows.map(row => {\n row.depth = depth\n\n groupedFlatRows.push(row)\n groupedRowsById[row.id] = row\n\n if (row.subRows) {\n row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id)\n }\n\n return row\n })\n }\n\n const columnId: string = existingGrouping[depth]!\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, row => row.subRows)\n : groupedRows\n\n const row = _createRow(\n table,\n id,\n leafRows[0]!.original,\n index,\n depth,\n undefined,\n parentId\n )\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: (columnId: string) => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(columnId)) {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId]\n }\n\n if (groupedRows[0]) {\n row._valuesCache[columnId] =\n groupedRows[0].getValue(columnId) ?? undefined\n }\n\n return row._valuesCache[columnId]\n }\n\n if (row._groupingValuesCache.hasOwnProperty(columnId)) {\n return row._groupingValuesCache[columnId]\n }\n\n // Aggregate the values\n const column = table.getColumn(columnId)\n const aggregateFn = column?.getAggregationFn()\n\n if (aggregateFn) {\n row._groupingValuesCache[columnId] = aggregateFn(\n columnId,\n leafRows,\n groupedRows\n )\n\n return row._groupingValuesCache[columnId]\n }\n },\n })\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0)\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n },\n getMemoOptions(table.options, 'debugTable', 'getGroupedRowModel', () => {\n table._queue(() => {\n table._autoResetExpanded()\n table._autoResetPageIndex()\n })\n })\n )\n}\n\nfunction groupBy<TData extends RowData>(rows: Row<TData>[], columnId: string) {\n const groupMap = new Map<any, Row<TData>[]>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row.getGroupingValue(columnId)}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n previous.push(row)\n }\n return map\n }, groupMap)\n}\n"],"names":["groupedRows","row","columnId"],"mappings":";;AAIO,SAAS,qBAEW;AACzB,SAAO,CACL,UAAA;AAAA,IACE,MAAM,CAAC,MAAM,SAAA,EAAW,UAAU,MAAM,uBAAuB;AAAA,IAC/D,CAAC,UAAU,aAAa;AACtB,UAAI,CAAC,SAAS,KAAK,UAAU,CAAC,SAAS,QAAQ;AACtC,eAAA;AAAA,MACT;AAGA,YAAM,mBAAmB,SAAS;AAAA,QAAO,CAAA,aACvC,MAAM,UAAU,QAAQ;AAAA,MAAA;AAG1B,YAAM,kBAAgC,CAAA;AACtC,YAAM,kBAA8C,CAAA;AAOpD,YAAM,qBAAqB,CACzB,MACA,QAAQ,GACR,aACG;AAGC,YAAA,SAAS,iBAAiB,QAAQ;AAC7B,iBAAA,KAAK,IAAI,CAAO,QAAA;AACrB,gBAAI,QAAQ;AAEZ,4BAAgB,KAAK,GAAG;AACR,4BAAA,IAAI,EAAE,IAAI;AAE1B,gBAAI,IAAI,SAAS;AACf,kBAAI,UAAU,mBAAmB,IAAI,SAAS,QAAQ,GAAG,IAAI,EAAE;AAAA,YACjE;AAEO,mBAAA;AAAA,UAAA,CACR;AAAA,QACH;AAEM,cAAA,WAAmB,iBAAiB,KAAK;AAGzC,cAAA,eAAe,QAAQ,MAAM,QAAQ;AAG3C,cAAM,wBAAwB,MAAM,KAAK,aAAa,QAAS,CAAA,EAAE;AAAA,UAC/D,CAAC,CAAC,eAAeA,YAAW,GAAG,UAAU;AACvC,gBAAI,KAAK,GAAG,QAAQ,IAAI,aAAa;AACrC,iBAAK,WAAW,GAAG,QAAQ,IAAI,EAAE,KAAK;AAGtC,kBAAM,UAAU,mBAAmBA,cAAa,QAAQ,GAAG,EAAE;AAGvD,kBAAA,WAAW,QACb,UAAUA,cAAa,CAAAC,SAAOA,KAAI,OAAO,IACzCD;AAEJ,kBAAM,MAAM;AAAA,cACV;AAAA,cACA;AAAA,cACA,SAAS,CAAC,EAAG;AAAA,cACb;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YAAA;AAGF,mBAAO,OAAO,KAAK;AAAA,cACjB,kBAAkB;AAAA,cAClB;AAAA,cACA;AAAA,cACA;AAAA,cACA,UAAU,CAACE,cAAqB;AAE1B,oBAAA,iBAAiB,SAASA,SAAQ,GAAG;AACvC,sBAAI,IAAI,aAAa,eAAeA,SAAQ,GAAG;AACtC,2BAAA,IAAI,aAAaA,SAAQ;AAAA,kBAClC;AAEIF,sBAAAA,aAAY,CAAC,GAAG;AACd,wBAAA,aAAaE,SAAQ,IACvBF,aAAY,CAAC,EAAE,SAASE,SAAQ,KAAK;AAAA,kBACzC;AAEO,yBAAA,IAAI,aAAaA,SAAQ;AAAA,gBAClC;AAEA,oBAAI,IAAI,qBAAqB,eAAeA,SAAQ,GAAG;AAC9C,yBAAA,IAAI,qBAAqBA,SAAQ;AAAA,gBAC1C;AAGM,sBAAA,SAAS,MAAM,UAAUA,SAAQ;AACjC,sBAAA,cAAc,iCAAQ;AAE5B,oBAAI,aAAa;AACX,sBAAA,qBAAqBA,SAAQ,IAAI;AAAA,oBACnCA;AAAAA,oBACA;AAAA,oBACAF;AAAAA,kBAAA;AAGK,yBAAA,IAAI,qBAAqBE,SAAQ;AAAA,gBAC1C;AAAA,cACF;AAAA,YAAA,CACD;AAED,oBAAQ,QAAQ,CAAU,WAAA;AACxB,8BAAgB,KAAK,MAAM;AACX,8BAAA,OAAO,EAAE,IAAI;AAAA,YAAA,CAQ9B;AAEM,mBAAA;AAAA,UACT;AAAA,QAAA;AAGK,eAAA;AAAA,MAAA;AAGT,YAAM,cAAc,mBAAmB,SAAS,MAAM,CAAC;AAEvD,kBAAY,QAAQ,CAAU,WAAA;AAC5B,wBAAgB,KAAK,MAAM;AACX,wBAAA,OAAO,EAAE,IAAI;AAAA,MAAA,CAQ9B;AAEM,aAAA;AAAA,QACL,MAAM;AAAA,QACN,UAAU;AAAA,QACV,UAAU;AAAA,MAAA;AAAA,IAEd;AAAA,IACA,eAAe,MAAM,SAAS,cAAc,sBAAsB,MAAM;AACtE,YAAM,OAAO,MAAM;AACjB,cAAM,mBAAmB;AACzB,cAAM,oBAAoB;AAAA,MAAA,CAC3B;AAAA,IAAA,CACF;AAAA,EAAA;AAEP;AAEA,SAAS,QAA+B,MAAoB,UAAkB;AACtE,QAAA,+BAAe;AAErB,SAAO,KAAK,OAAO,CAAC,KAAK,QAAQ;AAC/B,UAAM,SAAS,GAAG,IAAI,iBAAiB,QAAQ,CAAC;AAC1C,UAAA,WAAW,IAAI,IAAI,MAAM;AAC/B,QAAI,CAAC,UAAU;AACb,UAAI,IAAI,QAAQ,CAAC,GAAG,CAAC;AAAA,IAAA,OAChB;AACL,eAAS,KAAK,GAAG;AAAA,IACnB;AACO,WAAA;AAAA,KACN,QAAQ;AACb;"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { memo, getMemoOptions } from "../utils.js";
|
|
2
|
-
import { expandRows } from "./getExpandedRowModel.js";
|
|
3
|
-
function getPaginationRowModel(opts) {
|
|
4
|
-
return (table) => memo(
|
|
5
|
-
() => [
|
|
6
|
-
table.getState().pagination,
|
|
7
|
-
table.getPrePaginationRowModel(),
|
|
8
|
-
table.options.paginateExpandedRows ? void 0 : table.getState().expanded
|
|
9
|
-
],
|
|
10
|
-
(pagination, rowModel) => {
|
|
11
|
-
if (!rowModel.rows.length) {
|
|
12
|
-
return rowModel;
|
|
13
|
-
}
|
|
14
|
-
const { pageSize, pageIndex } = pagination;
|
|
15
|
-
let { rows, flatRows, rowsById } = rowModel;
|
|
16
|
-
const pageStart = pageSize * pageIndex;
|
|
17
|
-
const pageEnd = pageStart + pageSize;
|
|
18
|
-
rows = rows.slice(pageStart, pageEnd);
|
|
19
|
-
let paginatedRowModel;
|
|
20
|
-
if (!table.options.paginateExpandedRows) {
|
|
21
|
-
paginatedRowModel = expandRows({
|
|
22
|
-
rows,
|
|
23
|
-
flatRows,
|
|
24
|
-
rowsById
|
|
25
|
-
});
|
|
26
|
-
} else {
|
|
27
|
-
paginatedRowModel = {
|
|
28
|
-
rows,
|
|
29
|
-
flatRows,
|
|
30
|
-
rowsById
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
paginatedRowModel.flatRows = [];
|
|
34
|
-
const handleRow = (row) => {
|
|
35
|
-
paginatedRowModel.flatRows.push(row);
|
|
36
|
-
if (row.subRows.length) {
|
|
37
|
-
row.subRows.forEach(handleRow);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
paginatedRowModel.rows.forEach(handleRow);
|
|
41
|
-
return paginatedRowModel;
|
|
42
|
-
},
|
|
43
|
-
getMemoOptions(table.options, "debugTable", "getPaginationRowModel")
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
export {
|
|
47
|
-
getPaginationRowModel
|
|
48
|
-
};
|
|
49
|
-
//# sourceMappingURL=getPaginationRowModel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getPaginationRowModel.js","sources":["../../../src/utils/getPaginationRowModel.ts"],"sourcesContent":["import { Table, RowModel, Row, RowData } from '../types'\nimport { getMemoOptions, memo } from '../utils'\nimport { expandRows } from './getExpandedRowModel'\n\nexport function getPaginationRowModel<TData extends RowData>(opts?: {\n initialSync: boolean\n}): (table: Table<TData>) => () => RowModel<TData> {\n return table =>\n memo(\n () => [\n table.getState().pagination,\n table.getPrePaginationRowModel(),\n table.options.paginateExpandedRows\n ? undefined\n : table.getState().expanded,\n ],\n (pagination, rowModel) => {\n if (!rowModel.rows.length) {\n return rowModel\n }\n\n const { pageSize, pageIndex } = pagination\n let { rows, flatRows, rowsById } = rowModel\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n rows = rows.slice(pageStart, pageEnd)\n\n let paginatedRowModel: RowModel<TData>\n\n if (!table.options.paginateExpandedRows) {\n paginatedRowModel = expandRows({\n rows,\n flatRows,\n rowsById,\n })\n } else {\n paginatedRowModel = {\n rows,\n flatRows,\n rowsById,\n }\n }\n\n paginatedRowModel.flatRows = []\n\n const handleRow = (row: Row<TData>) => {\n paginatedRowModel.flatRows.push(row)\n if (row.subRows.length) {\n row.subRows.forEach(handleRow)\n }\n }\n\n paginatedRowModel.rows.forEach(handleRow)\n\n return paginatedRowModel\n },\n getMemoOptions(table.options, 'debugTable', 'getPaginationRowModel')\n )\n}\n"],"names":[],"mappings":";;AAIO,SAAS,sBAA6C,MAEV;AACjD,SAAO,CACL,UAAA;AAAA,IACE,MAAM;AAAA,MACJ,MAAM,WAAW;AAAA,MACjB,MAAM,yBAAyB;AAAA,MAC/B,MAAM,QAAQ,uBACV,SACA,MAAM,WAAW;AAAA,IACvB;AAAA,IACA,CAAC,YAAY,aAAa;AACpB,UAAA,CAAC,SAAS,KAAK,QAAQ;AAClB,eAAA;AAAA,MACT;AAEM,YAAA,EAAE,UAAU,UAAc,IAAA;AAChC,UAAI,EAAE,MAAM,UAAU,SAAA,IAAa;AACnC,YAAM,YAAY,WAAW;AAC7B,YAAM,UAAU,YAAY;AAErB,aAAA,KAAK,MAAM,WAAW,OAAO;AAEhC,UAAA;AAEA,UAAA,CAAC,MAAM,QAAQ,sBAAsB;AACvC,4BAAoB,WAAW;AAAA,UAC7B;AAAA,UACA;AAAA,UACA;AAAA,QAAA,CACD;AAAA,MAAA,OACI;AACe,4BAAA;AAAA,UAClB;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,MAEJ;AAEA,wBAAkB,WAAW;AAEvB,YAAA,YAAY,CAAC,QAAoB;AACnB,0BAAA,SAAS,KAAK,GAAG;AAC/B,YAAA,IAAI,QAAQ,QAAQ;AAClB,cAAA,QAAQ,QAAQ,SAAS;AAAA,QAC/B;AAAA,MAAA;AAGgB,wBAAA,KAAK,QAAQ,SAAS;AAEjC,aAAA;AAAA,IACT;AAAA,IACA,eAAe,MAAM,SAAS,cAAc,uBAAuB;AAAA,EAAA;AAEzE;"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { memo, getMemoOptions } from "../utils.js";
|
|
2
|
-
function getSortedRowModel() {
|
|
3
|
-
return (table) => memo(
|
|
4
|
-
() => [table.getState().sorting, table.getPreSortedRowModel()],
|
|
5
|
-
(sorting, rowModel) => {
|
|
6
|
-
if (!rowModel.rows.length || !(sorting == null ? void 0 : sorting.length)) {
|
|
7
|
-
return rowModel;
|
|
8
|
-
}
|
|
9
|
-
const sortingState = table.getState().sorting;
|
|
10
|
-
const sortedFlatRows = [];
|
|
11
|
-
const availableSorting = sortingState.filter(
|
|
12
|
-
(sort) => {
|
|
13
|
-
var _a;
|
|
14
|
-
return (_a = table.getColumn(sort.id)) == null ? void 0 : _a.getCanSort();
|
|
15
|
-
}
|
|
16
|
-
);
|
|
17
|
-
const columnInfoById = {};
|
|
18
|
-
availableSorting.forEach((sortEntry) => {
|
|
19
|
-
const column = table.getColumn(sortEntry.id);
|
|
20
|
-
if (!column) return;
|
|
21
|
-
columnInfoById[sortEntry.id] = {
|
|
22
|
-
sortUndefined: column.columnDef.sortUndefined,
|
|
23
|
-
invertSorting: column.columnDef.invertSorting,
|
|
24
|
-
sortingFn: column.getSortingFn()
|
|
25
|
-
};
|
|
26
|
-
});
|
|
27
|
-
const sortData = (rows) => {
|
|
28
|
-
const sortedData = rows.map((row) => ({ ...row }));
|
|
29
|
-
sortedData.sort((rowA, rowB) => {
|
|
30
|
-
for (let i = 0; i < availableSorting.length; i += 1) {
|
|
31
|
-
const sortEntry = availableSorting[i];
|
|
32
|
-
const columnInfo = columnInfoById[sortEntry.id];
|
|
33
|
-
const sortUndefined = columnInfo.sortUndefined;
|
|
34
|
-
const isDesc = (sortEntry == null ? void 0 : sortEntry.desc) ?? false;
|
|
35
|
-
let sortInt = 0;
|
|
36
|
-
if (sortUndefined) {
|
|
37
|
-
const aValue = rowA.getValue(sortEntry.id);
|
|
38
|
-
const bValue = rowB.getValue(sortEntry.id);
|
|
39
|
-
const aUndefined = aValue === void 0;
|
|
40
|
-
const bUndefined = bValue === void 0;
|
|
41
|
-
if (aUndefined || bUndefined) {
|
|
42
|
-
if (sortUndefined === "first") return aUndefined ? -1 : 1;
|
|
43
|
-
if (sortUndefined === "last") return aUndefined ? 1 : -1;
|
|
44
|
-
sortInt = aUndefined && bUndefined ? 0 : aUndefined ? sortUndefined : -sortUndefined;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
if (sortInt === 0) {
|
|
48
|
-
sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id);
|
|
49
|
-
}
|
|
50
|
-
if (sortInt !== 0) {
|
|
51
|
-
if (isDesc) {
|
|
52
|
-
sortInt *= -1;
|
|
53
|
-
}
|
|
54
|
-
if (columnInfo.invertSorting) {
|
|
55
|
-
sortInt *= -1;
|
|
56
|
-
}
|
|
57
|
-
return sortInt;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return rowA.index - rowB.index;
|
|
61
|
-
});
|
|
62
|
-
sortedData.forEach((row) => {
|
|
63
|
-
var _a;
|
|
64
|
-
sortedFlatRows.push(row);
|
|
65
|
-
if ((_a = row.subRows) == null ? void 0 : _a.length) {
|
|
66
|
-
row.subRows = sortData(row.subRows);
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
return sortedData;
|
|
70
|
-
};
|
|
71
|
-
return {
|
|
72
|
-
rows: sortData(rowModel.rows),
|
|
73
|
-
flatRows: sortedFlatRows,
|
|
74
|
-
rowsById: rowModel.rowsById
|
|
75
|
-
};
|
|
76
|
-
},
|
|
77
|
-
getMemoOptions(
|
|
78
|
-
table.options,
|
|
79
|
-
"debugTable",
|
|
80
|
-
"getSortedRowModel",
|
|
81
|
-
() => table._autoResetPageIndex()
|
|
82
|
-
)
|
|
83
|
-
);
|
|
84
|
-
}
|
|
85
|
-
export {
|
|
86
|
-
getSortedRowModel
|
|
87
|
-
};
|
|
88
|
-
//# sourceMappingURL=getSortedRowModel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getSortedRowModel.js","sources":["../../../src/utils/getSortedRowModel.ts"],"sourcesContent":["import { Table, Row, RowModel, RowData } from '../types'\nimport { SortingFn } from '../features/RowSorting'\nimport { getMemoOptions, memo } from '../utils'\n\nexport function getSortedRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [table.getState().sorting, table.getPreSortedRowModel()],\n (sorting, rowModel) => {\n if (!rowModel.rows.length || !sorting?.length) {\n return rowModel\n }\n\n const sortingState = table.getState().sorting\n\n const sortedFlatRows: Row<TData>[] = []\n\n // Filter out sortings that correspond to non existing columns\n const availableSorting = sortingState.filter(sort =>\n table.getColumn(sort.id)?.getCanSort()\n )\n\n const columnInfoById: Record<\n string,\n {\n sortUndefined?: false | -1 | 1 | 'first' | 'last'\n invertSorting?: boolean\n sortingFn: SortingFn<TData>\n }\n > = {}\n\n availableSorting.forEach(sortEntry => {\n const column = table.getColumn(sortEntry.id)\n if (!column) return\n\n columnInfoById[sortEntry.id] = {\n sortUndefined: column.columnDef.sortUndefined,\n invertSorting: column.columnDef.invertSorting,\n sortingFn: column.getSortingFn(),\n }\n })\n\n const sortData = (rows: Row<TData>[]) => {\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = rows.map(row => ({ ...row }))\n\n sortedData.sort((rowA, rowB) => {\n for (let i = 0; i < availableSorting.length; i += 1) {\n const sortEntry = availableSorting[i]!\n const columnInfo = columnInfoById[sortEntry.id]!\n const sortUndefined = columnInfo.sortUndefined\n const isDesc = sortEntry?.desc ?? false\n\n let sortInt = 0\n\n // All sorting ints should always return in ascending order\n if (sortUndefined) {\n const aValue = rowA.getValue(sortEntry.id)\n const bValue = rowB.getValue(sortEntry.id)\n\n const aUndefined = aValue === undefined\n const bUndefined = bValue === undefined\n\n if (aUndefined || bUndefined) {\n if (sortUndefined === 'first') return aUndefined ? -1 : 1\n if (sortUndefined === 'last') return aUndefined ? 1 : -1\n sortInt =\n aUndefined && bUndefined\n ? 0\n : aUndefined\n ? sortUndefined\n : -sortUndefined\n }\n }\n\n if (sortInt === 0) {\n sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id)\n }\n\n // If sorting is non-zero, take care of desc and inversion\n if (sortInt !== 0) {\n if (isDesc) {\n sortInt *= -1\n }\n\n if (columnInfo.invertSorting) {\n sortInt *= -1\n }\n\n return sortInt\n }\n }\n\n return rowA.index - rowB.index\n })\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n sortedFlatRows.push(row)\n if (row.subRows?.length) {\n row.subRows = sortData(row.subRows)\n }\n })\n\n return sortedData\n }\n\n return {\n rows: sortData(rowModel.rows),\n flatRows: sortedFlatRows,\n rowsById: rowModel.rowsById,\n }\n },\n getMemoOptions(table.options, 'debugTable', 'getSortedRowModel', () =>\n table._autoResetPageIndex()\n )\n )\n}\n"],"names":[],"mappings":";AAIO,SAAS,oBAEW;AACzB,SAAO,CACL,UAAA;AAAA,IACE,MAAM,CAAC,MAAM,SAAA,EAAW,SAAS,MAAM,sBAAsB;AAAA,IAC7D,CAAC,SAAS,aAAa;AACrB,UAAI,CAAC,SAAS,KAAK,UAAU,EAAC,mCAAS,SAAQ;AACtC,eAAA;AAAA,MACT;AAEM,YAAA,eAAe,MAAM,SAAA,EAAW;AAEtC,YAAM,iBAA+B,CAAA;AAGrC,YAAM,mBAAmB,aAAa;AAAA,QAAO,UAC3C;;AAAA,6BAAM,UAAU,KAAK,EAAE,MAAvB,mBAA0B;AAAA;AAAA,MAAW;AAGvC,YAAM,iBAOF,CAAA;AAEJ,uBAAiB,QAAQ,CAAa,cAAA;AACpC,cAAM,SAAS,MAAM,UAAU,UAAU,EAAE;AAC3C,YAAI,CAAC,OAAQ;AAEE,uBAAA,UAAU,EAAE,IAAI;AAAA,UAC7B,eAAe,OAAO,UAAU;AAAA,UAChC,eAAe,OAAO,UAAU;AAAA,UAChC,WAAW,OAAO,aAAa;AAAA,QAAA;AAAA,MACjC,CACD;AAEK,YAAA,WAAW,CAAC,SAAuB;AAGvC,cAAM,aAAa,KAAK,IAAI,UAAQ,EAAE,GAAG,IAAM,EAAA;AAEpC,mBAAA,KAAK,CAAC,MAAM,SAAS;AAC9B,mBAAS,IAAI,GAAG,IAAI,iBAAiB,QAAQ,KAAK,GAAG;AAC7C,kBAAA,YAAY,iBAAiB,CAAC;AAC9B,kBAAA,aAAa,eAAe,UAAU,EAAE;AAC9C,kBAAM,gBAAgB,WAAW;AAC3B,kBAAA,UAAS,uCAAW,SAAQ;AAElC,gBAAI,UAAU;AAGd,gBAAI,eAAe;AACjB,oBAAM,SAAS,KAAK,SAAS,UAAU,EAAE;AACzC,oBAAM,SAAS,KAAK,SAAS,UAAU,EAAE;AAEzC,oBAAM,aAAa,WAAW;AAC9B,oBAAM,aAAa,WAAW;AAE9B,kBAAI,cAAc,YAAY;AAC5B,oBAAI,kBAAkB,QAAgB,QAAA,aAAa,KAAK;AACxD,oBAAI,kBAAkB,OAAe,QAAA,aAAa,IAAI;AACtD,0BACE,cAAc,aACV,IACA,aACE,gBACA,CAAC;AAAA,cACX;AAAA,YACF;AAEA,gBAAI,YAAY,GAAG;AACjB,wBAAU,WAAW,UAAU,MAAM,MAAM,UAAU,EAAE;AAAA,YACzD;AAGA,gBAAI,YAAY,GAAG;AACjB,kBAAI,QAAQ;AACC,2BAAA;AAAA,cACb;AAEA,kBAAI,WAAW,eAAe;AACjB,2BAAA;AAAA,cACb;AAEO,qBAAA;AAAA,YACT;AAAA,UACF;AAEO,iBAAA,KAAK,QAAQ,KAAK;AAAA,QAAA,CAC1B;AAGD,mBAAW,QAAQ,CAAO,QAAA;;AACxB,yBAAe,KAAK,GAAG;AACnB,eAAA,SAAI,YAAJ,mBAAa,QAAQ;AACnB,gBAAA,UAAU,SAAS,IAAI,OAAO;AAAA,UACpC;AAAA,QAAA,CACD;AAEM,eAAA;AAAA,MAAA;AAGF,aAAA;AAAA,QACL,MAAM,SAAS,SAAS,IAAI;AAAA,QAC5B,UAAU;AAAA,QACV,UAAU,SAAS;AAAA,MAAA;AAAA,IAEvB;AAAA,IACA;AAAA,MAAe,MAAM;AAAA,MAAS;AAAA,MAAc;AAAA,MAAqB,MAC/D,MAAM,oBAAoB;AAAA,IAC5B;AAAA,EAAA;AAEN;"}
|
package/src/aggregationFns.ts
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { AggregationFn } from './features/ColumnGrouping'
|
|
2
|
-
import { isNumberArray } from './utils'
|
|
3
|
-
|
|
4
|
-
const sum: AggregationFn<any> = (columnId, _leafRows, childRows) => {
|
|
5
|
-
// It's faster to just add the aggregations together instead of
|
|
6
|
-
// process leaf nodes individually
|
|
7
|
-
return childRows.reduce((sum, next) => {
|
|
8
|
-
const nextValue = next.getValue(columnId)
|
|
9
|
-
return sum + (typeof nextValue === 'number' ? nextValue : 0)
|
|
10
|
-
}, 0)
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
const min: AggregationFn<any> = (columnId, _leafRows, childRows) => {
|
|
14
|
-
let min: number | undefined
|
|
15
|
-
|
|
16
|
-
childRows.forEach(row => {
|
|
17
|
-
const value = row.getValue<number>(columnId)
|
|
18
|
-
|
|
19
|
-
if (
|
|
20
|
-
value != null &&
|
|
21
|
-
(min! > value || (min === undefined && value >= value))
|
|
22
|
-
) {
|
|
23
|
-
min = value
|
|
24
|
-
}
|
|
25
|
-
})
|
|
26
|
-
|
|
27
|
-
return min
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const max: AggregationFn<any> = (columnId, _leafRows, childRows) => {
|
|
31
|
-
let max: number | undefined
|
|
32
|
-
|
|
33
|
-
childRows.forEach(row => {
|
|
34
|
-
const value = row.getValue<number>(columnId)
|
|
35
|
-
if (
|
|
36
|
-
value != null &&
|
|
37
|
-
(max! < value || (max === undefined && value >= value))
|
|
38
|
-
) {
|
|
39
|
-
max = value
|
|
40
|
-
}
|
|
41
|
-
})
|
|
42
|
-
|
|
43
|
-
return max
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const extent: AggregationFn<any> = (columnId, _leafRows, childRows) => {
|
|
47
|
-
let min: number | undefined
|
|
48
|
-
let max: number | undefined
|
|
49
|
-
|
|
50
|
-
childRows.forEach(row => {
|
|
51
|
-
const value = row.getValue<number>(columnId)
|
|
52
|
-
if (value != null) {
|
|
53
|
-
if (min === undefined) {
|
|
54
|
-
if (value >= value) min = max = value
|
|
55
|
-
} else {
|
|
56
|
-
if (min > value) min = value
|
|
57
|
-
if (max! < value) max = value
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
})
|
|
61
|
-
|
|
62
|
-
return [min, max]
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
const mean: AggregationFn<any> = (columnId, leafRows) => {
|
|
66
|
-
let count = 0
|
|
67
|
-
let sum = 0
|
|
68
|
-
|
|
69
|
-
leafRows.forEach(row => {
|
|
70
|
-
let value = row.getValue<number>(columnId)
|
|
71
|
-
if (value != null && (value = +value) >= value) {
|
|
72
|
-
++count, (sum += value)
|
|
73
|
-
}
|
|
74
|
-
})
|
|
75
|
-
|
|
76
|
-
if (count) return sum / count
|
|
77
|
-
|
|
78
|
-
return
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
const median: AggregationFn<any> = (columnId, leafRows) => {
|
|
82
|
-
if (!leafRows.length) {
|
|
83
|
-
return
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
const values = leafRows.map(row => row.getValue(columnId))
|
|
87
|
-
if (!isNumberArray(values)) {
|
|
88
|
-
return
|
|
89
|
-
}
|
|
90
|
-
if (values.length === 1) {
|
|
91
|
-
return values[0]
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
const mid = Math.floor(values.length / 2)
|
|
95
|
-
const nums = values.sort((a, b) => a - b)
|
|
96
|
-
return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1]! + nums[mid]!) / 2
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
const unique: AggregationFn<any> = (columnId, leafRows) => {
|
|
100
|
-
return Array.from(new Set(leafRows.map(d => d.getValue(columnId))).values())
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
const uniqueCount: AggregationFn<any> = (columnId, leafRows) => {
|
|
104
|
-
return new Set(leafRows.map(d => d.getValue(columnId))).size
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
const count: AggregationFn<any> = (_columnId, leafRows) => {
|
|
108
|
-
return leafRows.length
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
export const aggregationFns = {
|
|
112
|
-
sum,
|
|
113
|
-
min,
|
|
114
|
-
max,
|
|
115
|
-
extent,
|
|
116
|
-
mean,
|
|
117
|
-
median,
|
|
118
|
-
unique,
|
|
119
|
-
uniqueCount,
|
|
120
|
-
count,
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
export type BuiltInAggregationFn = keyof typeof aggregationFns
|
package/src/columnHelper.ts
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AccessorFn,
|
|
3
|
-
AccessorFnColumnDef,
|
|
4
|
-
AccessorKeyColumnDef,
|
|
5
|
-
DisplayColumnDef,
|
|
6
|
-
GroupColumnDef,
|
|
7
|
-
IdentifiedColumnDef,
|
|
8
|
-
RowData,
|
|
9
|
-
} from './types'
|
|
10
|
-
import { DeepKeys, DeepValue } from './utils'
|
|
11
|
-
|
|
12
|
-
// type Person = {
|
|
13
|
-
// firstName: string
|
|
14
|
-
// lastName: string
|
|
15
|
-
// age: number
|
|
16
|
-
// visits: number
|
|
17
|
-
// status: string
|
|
18
|
-
// progress: number
|
|
19
|
-
// createdAt: Date
|
|
20
|
-
// nested: {
|
|
21
|
-
// foo: [
|
|
22
|
-
// {
|
|
23
|
-
// bar: 'bar'
|
|
24
|
-
// }
|
|
25
|
-
// ]
|
|
26
|
-
// bar: { subBar: boolean }[]
|
|
27
|
-
// baz: {
|
|
28
|
-
// foo: 'foo'
|
|
29
|
-
// bar: {
|
|
30
|
-
// baz: 'baz'
|
|
31
|
-
// }
|
|
32
|
-
// }
|
|
33
|
-
// }
|
|
34
|
-
// }
|
|
35
|
-
|
|
36
|
-
// const test: DeepKeys<Person> = 'nested.foo.0.bar'
|
|
37
|
-
// const test2: DeepKeys<Person> = 'nested.bar'
|
|
38
|
-
|
|
39
|
-
// const helper = createColumnHelper<Person>()
|
|
40
|
-
|
|
41
|
-
// helper.accessor('nested.foo', {
|
|
42
|
-
// cell: info => info.getValue(),
|
|
43
|
-
// })
|
|
44
|
-
|
|
45
|
-
// helper.accessor('nested.foo.0.bar', {
|
|
46
|
-
// cell: info => info.getValue(),
|
|
47
|
-
// })
|
|
48
|
-
|
|
49
|
-
// helper.accessor('nested.bar', {
|
|
50
|
-
// cell: info => info.getValue(),
|
|
51
|
-
// })
|
|
52
|
-
|
|
53
|
-
export type ColumnHelper<TData extends RowData> = {
|
|
54
|
-
accessor: <
|
|
55
|
-
TAccessor extends AccessorFn<TData> | DeepKeys<TData>,
|
|
56
|
-
TValue extends TAccessor extends AccessorFn<TData, infer TReturn>
|
|
57
|
-
? TReturn
|
|
58
|
-
: TAccessor extends DeepKeys<TData>
|
|
59
|
-
? DeepValue<TData, TAccessor>
|
|
60
|
-
: never,
|
|
61
|
-
>(
|
|
62
|
-
accessor: TAccessor,
|
|
63
|
-
column: TAccessor extends AccessorFn<TData>
|
|
64
|
-
? DisplayColumnDef<TData, TValue>
|
|
65
|
-
: IdentifiedColumnDef<TData, TValue>
|
|
66
|
-
) => TAccessor extends AccessorFn<TData>
|
|
67
|
-
? AccessorFnColumnDef<TData, TValue>
|
|
68
|
-
: AccessorKeyColumnDef<TData, TValue>
|
|
69
|
-
display: (column: DisplayColumnDef<TData>) => DisplayColumnDef<TData, unknown>
|
|
70
|
-
group: (column: GroupColumnDef<TData>) => GroupColumnDef<TData, unknown>
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export function createColumnHelper<
|
|
74
|
-
TData extends RowData,
|
|
75
|
-
>(): ColumnHelper<TData> {
|
|
76
|
-
return {
|
|
77
|
-
accessor: (accessor, column) => {
|
|
78
|
-
return typeof accessor === 'function'
|
|
79
|
-
? ({
|
|
80
|
-
...column,
|
|
81
|
-
accessorFn: accessor,
|
|
82
|
-
} as any)
|
|
83
|
-
: {
|
|
84
|
-
...column,
|
|
85
|
-
accessorKey: accessor,
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
display: column => column,
|
|
89
|
-
group: column => column,
|
|
90
|
-
}
|
|
91
|
-
}
|
package/src/core/cell.ts
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { RowData, Cell, Column, Row, Table } from '../types'
|
|
2
|
-
import { Getter, getMemoOptions, memo } from '../utils'
|
|
3
|
-
|
|
4
|
-
export interface CellContext<TData extends RowData, TValue> {
|
|
5
|
-
cell: Cell<TData, TValue>
|
|
6
|
-
column: Column<TData, TValue>
|
|
7
|
-
getValue: Getter<TValue>
|
|
8
|
-
renderValue: Getter<TValue | null>
|
|
9
|
-
row: Row<TData>
|
|
10
|
-
table: Table<TData>
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export interface CoreCell<TData extends RowData, TValue> {
|
|
14
|
-
/**
|
|
15
|
-
* The associated Column object for the cell.
|
|
16
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#column)
|
|
17
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)
|
|
18
|
-
*/
|
|
19
|
-
column: Column<TData, TValue>
|
|
20
|
-
/**
|
|
21
|
-
* Returns the rendering context (or props) for cell-based components like cells and aggregated cells. Use these props with your framework's `flexRender` utility to render these using the template of your choice:
|
|
22
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#getcontext)
|
|
23
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)
|
|
24
|
-
*/
|
|
25
|
-
getContext: () => CellContext<TData, TValue>
|
|
26
|
-
/**
|
|
27
|
-
* Returns the value for the cell, accessed via the associated column's accessor key or accessor function.
|
|
28
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#getvalue)
|
|
29
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)
|
|
30
|
-
*/
|
|
31
|
-
getValue: CellContext<TData, TValue>['getValue']
|
|
32
|
-
/**
|
|
33
|
-
* The unique ID for the cell across the entire table.
|
|
34
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#id)
|
|
35
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)
|
|
36
|
-
*/
|
|
37
|
-
id: string
|
|
38
|
-
/**
|
|
39
|
-
* Renders the value for a cell the same as `getValue`, but will return the `renderFallbackValue` if no value is found.
|
|
40
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#rendervalue)
|
|
41
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)
|
|
42
|
-
*/
|
|
43
|
-
renderValue: CellContext<TData, TValue>['renderValue']
|
|
44
|
-
/**
|
|
45
|
-
* The associated Row object for the cell.
|
|
46
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#row)
|
|
47
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)
|
|
48
|
-
*/
|
|
49
|
-
row: Row<TData>
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export function _createCell<TData extends RowData, TValue>(
|
|
53
|
-
table: Table<TData>,
|
|
54
|
-
row: Row<TData>,
|
|
55
|
-
column: Column<TData, TValue>,
|
|
56
|
-
columnId: string
|
|
57
|
-
): Cell<TData, TValue> {
|
|
58
|
-
const getRenderValue = () =>
|
|
59
|
-
cell.getValue() ?? table.options.renderFallbackValue
|
|
60
|
-
|
|
61
|
-
const cell: CoreCell<TData, TValue> = {
|
|
62
|
-
id: `${row.id}_${column.id}`,
|
|
63
|
-
row,
|
|
64
|
-
column,
|
|
65
|
-
getValue: () => row.getValue(columnId),
|
|
66
|
-
renderValue: getRenderValue,
|
|
67
|
-
getContext: memo(
|
|
68
|
-
() => [table, column, row, cell],
|
|
69
|
-
(table, column, row, cell) => ({
|
|
70
|
-
table,
|
|
71
|
-
column,
|
|
72
|
-
row,
|
|
73
|
-
cell: cell as Cell<TData, TValue>,
|
|
74
|
-
getValue: cell.getValue,
|
|
75
|
-
renderValue: cell.renderValue,
|
|
76
|
-
}),
|
|
77
|
-
getMemoOptions(table.options, 'debugCells', 'cell.getContext')
|
|
78
|
-
),
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
table._features.forEach(feature => {
|
|
82
|
-
feature._createCell?.(
|
|
83
|
-
cell as Cell<TData, TValue>,
|
|
84
|
-
column,
|
|
85
|
-
row as Row<TData>,
|
|
86
|
-
table
|
|
87
|
-
)
|
|
88
|
-
}, {})
|
|
89
|
-
|
|
90
|
-
return cell as Cell<TData, TValue>
|
|
91
|
-
}
|