@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
package/dist/cjs/utils.cjs
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
function functionalUpdate(updater, input) {
|
|
4
|
-
return typeof updater === "function" ? updater(input) : updater;
|
|
5
|
-
}
|
|
6
|
-
function noop() {
|
|
7
|
-
}
|
|
8
|
-
function makeStateUpdater(key, instance) {
|
|
9
|
-
return (updater) => {
|
|
10
|
-
instance.setState((old) => {
|
|
11
|
-
return {
|
|
12
|
-
...old,
|
|
13
|
-
[key]: functionalUpdate(updater, old[key])
|
|
14
|
-
};
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
function isFunction(d) {
|
|
19
|
-
return d instanceof Function;
|
|
20
|
-
}
|
|
21
|
-
function isNumberArray(d) {
|
|
22
|
-
return Array.isArray(d) && d.every((val) => typeof val === "number");
|
|
23
|
-
}
|
|
24
|
-
function flattenBy(arr, getChildren) {
|
|
25
|
-
const flat = [];
|
|
26
|
-
const recurse = (subArr) => {
|
|
27
|
-
subArr.forEach((item) => {
|
|
28
|
-
flat.push(item);
|
|
29
|
-
const children = getChildren(item);
|
|
30
|
-
if (children == null ? void 0 : children.length) {
|
|
31
|
-
recurse(children);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
recurse(arr);
|
|
36
|
-
return flat;
|
|
37
|
-
}
|
|
38
|
-
function memo(getDeps, fn, opts) {
|
|
39
|
-
let deps = [];
|
|
40
|
-
let result;
|
|
41
|
-
return (depArgs) => {
|
|
42
|
-
var _a;
|
|
43
|
-
let depTime;
|
|
44
|
-
if (opts.key && opts.debug)
|
|
45
|
-
depTime = Date.now();
|
|
46
|
-
const newDeps = getDeps(depArgs);
|
|
47
|
-
const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);
|
|
48
|
-
if (!depsChanged) {
|
|
49
|
-
return result;
|
|
50
|
-
}
|
|
51
|
-
deps = newDeps;
|
|
52
|
-
let resultTime;
|
|
53
|
-
if (opts.key && opts.debug)
|
|
54
|
-
resultTime = Date.now();
|
|
55
|
-
result = fn(...newDeps);
|
|
56
|
-
(_a = opts == null ? void 0 : opts.onChange) == null ? void 0 : _a.call(opts, result);
|
|
57
|
-
if (opts.key && opts.debug) {
|
|
58
|
-
if (opts == null ? void 0 : opts.debug()) {
|
|
59
|
-
const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;
|
|
60
|
-
const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;
|
|
61
|
-
const resultFpsPercentage = resultEndTime / 16;
|
|
62
|
-
const pad = (str, num) => {
|
|
63
|
-
str = String(str);
|
|
64
|
-
while (str.length < num) {
|
|
65
|
-
str = " " + str;
|
|
66
|
-
}
|
|
67
|
-
return str;
|
|
68
|
-
};
|
|
69
|
-
console.info(
|
|
70
|
-
`%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,
|
|
71
|
-
`
|
|
72
|
-
font-size: .6rem;
|
|
73
|
-
font-weight: bold;
|
|
74
|
-
color: hsl(${Math.max(
|
|
75
|
-
0,
|
|
76
|
-
Math.min(120 - 120 * resultFpsPercentage, 120)
|
|
77
|
-
)}deg 100% 31%);`,
|
|
78
|
-
opts == null ? void 0 : opts.key
|
|
79
|
-
);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return result;
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
function getMemoOptions(tableOptions, debugLevel, key, onChange) {
|
|
86
|
-
return {
|
|
87
|
-
debug: () => (tableOptions == null ? void 0 : tableOptions.debugAll) ?? tableOptions[debugLevel],
|
|
88
|
-
key: process.env.NODE_ENV === "development" && key,
|
|
89
|
-
onChange
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
exports.flattenBy = flattenBy;
|
|
93
|
-
exports.functionalUpdate = functionalUpdate;
|
|
94
|
-
exports.getMemoOptions = getMemoOptions;
|
|
95
|
-
exports.isFunction = isFunction;
|
|
96
|
-
exports.isNumberArray = isNumberArray;
|
|
97
|
-
exports.makeStateUpdater = makeStateUpdater;
|
|
98
|
-
exports.memo = memo;
|
|
99
|
-
exports.noop = noop;
|
|
100
|
-
//# sourceMappingURL=utils.cjs.map
|
package/dist/cjs/utils.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.cjs","sources":["../../src/utils.ts"],"sourcesContent":["import { TableOptionsResolved, TableState, Updater } from './types'\n\nexport type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>\nexport type RequiredKeys<T, K extends keyof T> = Omit<T, K> &\n Required<Pick<T, K>>\nexport type Overwrite<T, U extends { [TKey in keyof T]?: any }> = Omit<\n T,\n keyof U\n> &\n U\n\nexport type UnionToIntersection<T> = (\n T extends any ? (x: T) => any : never\n) extends (x: infer R) => any\n ? R\n : never\n\nexport type IsAny<T, Y, N> = 1 extends 0 & T ? Y : N\nexport type IsKnown<T, Y, N> = unknown extends T ? N : Y\n\ntype ComputeRange<\n N extends number,\n Result extends Array<unknown> = [],\n> = Result['length'] extends N\n ? Result\n : ComputeRange<N, [...Result, Result['length']]>\ntype Index40 = ComputeRange<40>[number]\n\n// Is this type a tuple?\ntype IsTuple<T> = T extends readonly any[] & { length: infer Length }\n ? Length extends Index40\n ? T\n : never\n : never\n\n// If this type is a tuple, what indices are allowed?\ntype AllowedIndexes<\n Tuple extends ReadonlyArray<any>,\n Keys extends number = never,\n> = Tuple extends readonly []\n ? Keys\n : Tuple extends readonly [infer _, ...infer Tail]\n ? AllowedIndexes<Tail, Keys | Tail['length']>\n : Keys\n\nexport type DeepKeys<T, TDepth extends any[] = []> = TDepth['length'] extends 5\n ? never\n : unknown extends T\n ? string\n : T extends readonly any[] & IsTuple<T>\n ? AllowedIndexes<T> | DeepKeysPrefix<T, AllowedIndexes<T>, TDepth>\n : T extends any[]\n ? DeepKeys<T[number], [...TDepth, any]>\n : T extends Date\n ? never\n : T extends object\n ? (keyof T & string) | DeepKeysPrefix<T, keyof T, TDepth>\n : never\n\ntype DeepKeysPrefix<\n T,\n TPrefix,\n TDepth extends any[],\n> = TPrefix extends keyof T & (number | string)\n ? `${TPrefix}.${DeepKeys<T[TPrefix], [...TDepth, any]> & string}`\n : never\n\nexport type DeepValue<T, TProp> = T extends Record<string | number, any>\n ? TProp extends `${infer TBranch}.${infer TDeepProp}`\n ? DeepValue<T[TBranch], TDeepProp>\n : T[TProp & string]\n : never\n\nexport type NoInfer<T> = [T][T extends any ? 0 : never]\n\nexport type Getter<TValue> = <TTValue = TValue>() => NoInfer<TTValue>\n\n///\n\nexport function functionalUpdate<T>(updater: Updater<T>, input: T): T {\n return typeof updater === 'function'\n ? (updater as (input: T) => T)(input)\n : updater\n}\n\nexport function noop() {\n //\n}\n\nexport function makeStateUpdater<K extends keyof TableState>(\n key: K,\n instance: unknown\n) {\n return (updater: Updater<TableState[K]>) => {\n ;(instance as any).setState(<TTableState>(old: TTableState) => {\n return {\n ...old,\n [key]: functionalUpdate(updater, (old as any)[key]),\n }\n })\n }\n}\n\ntype AnyFunction = (...args: any) => any\n\nexport function isFunction<T extends AnyFunction>(d: any): d is T {\n return d instanceof Function\n}\n\nexport function isNumberArray(d: any): d is number[] {\n return Array.isArray(d) && d.every(val => typeof val === 'number')\n}\n\nexport function flattenBy<TNode>(\n arr: TNode[],\n getChildren: (item: TNode) => TNode[]\n) {\n const flat: TNode[] = []\n\n const recurse = (subArr: TNode[]) => {\n subArr.forEach(item => {\n flat.push(item)\n const children = getChildren(item)\n if (children?.length) {\n recurse(children)\n }\n })\n }\n\n recurse(arr)\n\n return flat\n}\n\nexport function memo<TDeps extends readonly any[], TDepArgs, TResult>(\n getDeps: (depArgs?: TDepArgs) => [...TDeps],\n fn: (...args: NoInfer<[...TDeps]>) => TResult,\n opts: {\n key: any\n debug?: () => any\n onChange?: (result: TResult) => void\n }\n): (depArgs?: TDepArgs) => TResult {\n let deps: any[] = []\n let result: TResult | undefined\n\n return depArgs => {\n let depTime: number\n if (opts.key && opts.debug) depTime = Date.now()\n\n const newDeps = getDeps(depArgs)\n\n const depsChanged =\n newDeps.length !== deps.length ||\n newDeps.some((dep: any, index: number) => deps[index] !== dep)\n\n if (!depsChanged) {\n return result!\n }\n\n deps = newDeps\n\n let resultTime: number\n if (opts.key && opts.debug) resultTime = Date.now()\n\n result = fn(...newDeps)\n opts?.onChange?.(result)\n\n if (opts.key && opts.debug) {\n if (opts?.debug()) {\n const depEndTime = Math.round((Date.now() - depTime!) * 100) / 100\n const resultEndTime = Math.round((Date.now() - resultTime!) * 100) / 100\n const resultFpsPercentage = resultEndTime / 16\n\n const pad = (str: number | string, num: number) => {\n str = String(str)\n while (str.length < num) {\n str = ' ' + str\n }\n return str\n }\n\n console.info(\n `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(\n 0,\n Math.min(120 - 120 * resultFpsPercentage, 120)\n )}deg 100% 31%);`,\n opts?.key\n )\n }\n }\n\n return result!\n }\n}\n\nexport function getMemoOptions(\n tableOptions: Partial<TableOptionsResolved<any>>,\n debugLevel:\n | 'debugAll'\n | 'debugCells'\n | 'debugTable'\n | 'debugColumns'\n | 'debugRows'\n | 'debugHeaders',\n key: string,\n onChange?: (result: any) => void\n) {\n return {\n debug: () => tableOptions?.debugAll ?? tableOptions[debugLevel],\n key: process.env.NODE_ENV === 'development' && key,\n onChange,\n }\n}\n"],"names":[],"mappings":";;AA+EgB,SAAA,iBAAoB,SAAqB,OAAa;AACpE,SAAO,OAAO,YAAY,aACrB,QAA4B,KAAK,IAClC;AACN;AAEO,SAAS,OAAO;AAEvB;AAEgB,SAAA,iBACd,KACA,UACA;AACA,SAAO,CAAC,YAAoC;AACxC,aAAiB,SAAS,CAAc,QAAqB;AACtD,aAAA;AAAA,QACL,GAAG;AAAA,QACH,CAAC,GAAG,GAAG,iBAAiB,SAAU,IAAY,GAAG,CAAC;AAAA,MAAA;AAAA,IACpD,CACD;AAAA,EAAA;AAEL;AAIO,SAAS,WAAkC,GAAgB;AAChE,SAAO,aAAa;AACtB;AAEO,SAAS,cAAc,GAAuB;AAC5C,SAAA,MAAM,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA,QAAO,OAAO,QAAQ,QAAQ;AACnE;AAEgB,SAAA,UACd,KACA,aACA;AACA,QAAM,OAAgB,CAAA;AAEhB,QAAA,UAAU,CAAC,WAAoB;AACnC,WAAO,QAAQ,CAAQ,SAAA;AACrB,WAAK,KAAK,IAAI;AACR,YAAA,WAAW,YAAY,IAAI;AACjC,UAAI,qCAAU,QAAQ;AACpB,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA,CACD;AAAA,EAAA;AAGH,UAAQ,GAAG;AAEJ,SAAA;AACT;AAEgB,SAAA,KACd,SACA,IACA,MAKiC;AACjC,MAAI,OAAc,CAAA;AACd,MAAA;AAEJ,SAAO,CAAW,YAAA;;AACZ,QAAA;AACA,QAAA,KAAK,OAAO,KAAK;AAAO,gBAAU,KAAK;AAErC,UAAA,UAAU,QAAQ,OAAO;AAE/B,UAAM,cACJ,QAAQ,WAAW,KAAK,UACxB,QAAQ,KAAK,CAAC,KAAU,UAAkB,KAAK,KAAK,MAAM,GAAG;AAE/D,QAAI,CAAC,aAAa;AACT,aAAA;AAAA,IACT;AAEO,WAAA;AAEH,QAAA;AACA,QAAA,KAAK,OAAO,KAAK;AAAO,mBAAa,KAAK;AAErC,aAAA,GAAG,GAAG,OAAO;AACtB,uCAAM,aAAN,8BAAiB;AAEb,QAAA,KAAK,OAAO,KAAK,OAAO;AACtB,UAAA,6BAAM,SAAS;AACX,cAAA,aAAa,KAAK,OAAO,KAAK,QAAQ,WAAY,GAAG,IAAI;AACzD,cAAA,gBAAgB,KAAK,OAAO,KAAK,QAAQ,cAAe,GAAG,IAAI;AACrE,cAAM,sBAAsB,gBAAgB;AAEtC,cAAA,MAAM,CAAC,KAAsB,QAAgB;AACjD,gBAAM,OAAO,GAAG;AACT,iBAAA,IAAI,SAAS,KAAK;AACvB,kBAAM,MAAM;AAAA,UACd;AACO,iBAAA;AAAA,QAAA;AAGD,gBAAA;AAAA,UACN,OAAO,IAAI,eAAe,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC;AAAA,UACnD;AAAA;AAAA;AAAA,yBAGe,KAAK;AAAA,YAChB;AAAA,YACA,KAAK,IAAI,MAAM,MAAM,qBAAqB,GAAG;AAAA,UAC9C,CAAA;AAAA,UACH,6BAAM;AAAA,QAAA;AAAA,MAEV;AAAA,IACF;AAEO,WAAA;AAAA,EAAA;AAEX;AAEO,SAAS,eACd,cACA,YAOA,KACA,UACA;AACO,SAAA;AAAA,IACL,OAAO,OAAM,6CAAc,aAAY,aAAa,UAAU;AAAA,IAC9D,KAAK,QAAQ,IAAI,aAAa,iBAAiB;AAAA,IAC/C;AAAA,EAAA;AAEJ;;;;;;;;;"}
|
package/dist/cjs/utils.d.cts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { TableOptionsResolved, TableState, Updater } from './types.cjs';
|
|
2
|
-
|
|
3
|
-
export type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
4
|
-
export type RequiredKeys<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
|
|
5
|
-
export type Overwrite<T, U extends {
|
|
6
|
-
[TKey in keyof T]?: any;
|
|
7
|
-
}> = Omit<T, keyof U> & U;
|
|
8
|
-
export type UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (x: infer R) => any ? R : never;
|
|
9
|
-
export type IsAny<T, Y, N> = 1 extends 0 & T ? Y : N;
|
|
10
|
-
export type IsKnown<T, Y, N> = unknown extends T ? N : Y;
|
|
11
|
-
type ComputeRange<N extends number, Result extends Array<unknown> = []> = Result['length'] extends N ? Result : ComputeRange<N, [...Result, Result['length']]>;
|
|
12
|
-
type Index40 = ComputeRange<40>[number];
|
|
13
|
-
type IsTuple<T> = T extends readonly any[] & {
|
|
14
|
-
length: infer Length;
|
|
15
|
-
} ? Length extends Index40 ? T : never : never;
|
|
16
|
-
type AllowedIndexes<Tuple extends ReadonlyArray<any>, Keys extends number = never> = Tuple extends readonly [] ? Keys : Tuple extends readonly [infer _, ...infer Tail] ? AllowedIndexes<Tail, Keys | Tail['length']> : Keys;
|
|
17
|
-
export type DeepKeys<T, TDepth extends any[] = []> = TDepth['length'] extends 5 ? never : unknown extends T ? string : T extends readonly any[] & IsTuple<T> ? AllowedIndexes<T> | DeepKeysPrefix<T, AllowedIndexes<T>, TDepth> : T extends any[] ? DeepKeys<T[number], [...TDepth, any]> : T extends Date ? never : T extends object ? (keyof T & string) | DeepKeysPrefix<T, keyof T, TDepth> : never;
|
|
18
|
-
type DeepKeysPrefix<T, TPrefix, TDepth extends any[]> = TPrefix extends keyof T & (number | string) ? `${TPrefix}.${DeepKeys<T[TPrefix], [...TDepth, any]> & string}` : never;
|
|
19
|
-
export type DeepValue<T, TProp> = T extends Record<string | number, any> ? TProp extends `${infer TBranch}.${infer TDeepProp}` ? DeepValue<T[TBranch], TDeepProp> : T[TProp & string] : never;
|
|
20
|
-
export type NoInfer<T> = [T][T extends any ? 0 : never];
|
|
21
|
-
export type Getter<TValue> = <TTValue = TValue>() => NoInfer<TTValue>;
|
|
22
|
-
export declare function functionalUpdate<T>(updater: Updater<T>, input: T): T;
|
|
23
|
-
export declare function noop(): void;
|
|
24
|
-
export declare function makeStateUpdater<K extends keyof TableState>(key: K, instance: unknown): (updater: Updater<TableState[K]>) => void;
|
|
25
|
-
type AnyFunction = (...args: any) => any;
|
|
26
|
-
export declare function isFunction<T extends AnyFunction>(d: any): d is T;
|
|
27
|
-
export declare function isNumberArray(d: any): d is number[];
|
|
28
|
-
export declare function flattenBy<TNode>(arr: TNode[], getChildren: (item: TNode) => TNode[]): TNode[];
|
|
29
|
-
export declare function memo<TDeps extends readonly any[], TDepArgs, TResult>(getDeps: (depArgs?: TDepArgs) => [...TDeps], fn: (...args: NoInfer<[...TDeps]>) => TResult, opts: {
|
|
30
|
-
key: any;
|
|
31
|
-
debug?: () => any;
|
|
32
|
-
onChange?: (result: TResult) => void;
|
|
33
|
-
}): (depArgs?: TDepArgs) => TResult;
|
|
34
|
-
export declare function getMemoOptions(tableOptions: Partial<TableOptionsResolved<any>>, debugLevel: 'debugAll' | 'debugCells' | 'debugTable' | 'debugColumns' | 'debugRows' | 'debugHeaders', key: string, onChange?: (result: any) => void): {
|
|
35
|
-
debug: () => boolean | undefined;
|
|
36
|
-
key: string | false;
|
|
37
|
-
onChange: ((result: any) => void) | undefined;
|
|
38
|
-
};
|
|
39
|
-
export {};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { AggregationFn } from './features/ColumnGrouping.js';
|
|
2
|
-
|
|
3
|
-
export declare const aggregationFns: {
|
|
4
|
-
sum: AggregationFn<any>;
|
|
5
|
-
min: AggregationFn<any>;
|
|
6
|
-
max: AggregationFn<any>;
|
|
7
|
-
extent: AggregationFn<any>;
|
|
8
|
-
mean: AggregationFn<any>;
|
|
9
|
-
median: AggregationFn<any>;
|
|
10
|
-
unique: AggregationFn<any>;
|
|
11
|
-
uniqueCount: AggregationFn<any>;
|
|
12
|
-
count: AggregationFn<any>;
|
|
13
|
-
};
|
|
14
|
-
export type BuiltInAggregationFn = keyof typeof aggregationFns;
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { isNumberArray } from "./utils.js";
|
|
2
|
-
const sum = (columnId, _leafRows, childRows) => {
|
|
3
|
-
return childRows.reduce((sum2, next) => {
|
|
4
|
-
const nextValue = next.getValue(columnId);
|
|
5
|
-
return sum2 + (typeof nextValue === "number" ? nextValue : 0);
|
|
6
|
-
}, 0);
|
|
7
|
-
};
|
|
8
|
-
const min = (columnId, _leafRows, childRows) => {
|
|
9
|
-
let min2;
|
|
10
|
-
childRows.forEach((row) => {
|
|
11
|
-
const value = row.getValue(columnId);
|
|
12
|
-
if (value != null && (min2 > value || min2 === void 0 && value >= value)) {
|
|
13
|
-
min2 = value;
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
return min2;
|
|
17
|
-
};
|
|
18
|
-
const max = (columnId, _leafRows, childRows) => {
|
|
19
|
-
let max2;
|
|
20
|
-
childRows.forEach((row) => {
|
|
21
|
-
const value = row.getValue(columnId);
|
|
22
|
-
if (value != null && (max2 < value || max2 === void 0 && value >= value)) {
|
|
23
|
-
max2 = value;
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
return max2;
|
|
27
|
-
};
|
|
28
|
-
const extent = (columnId, _leafRows, childRows) => {
|
|
29
|
-
let min2;
|
|
30
|
-
let max2;
|
|
31
|
-
childRows.forEach((row) => {
|
|
32
|
-
const value = row.getValue(columnId);
|
|
33
|
-
if (value != null) {
|
|
34
|
-
if (min2 === void 0) {
|
|
35
|
-
if (value >= value)
|
|
36
|
-
min2 = max2 = value;
|
|
37
|
-
} else {
|
|
38
|
-
if (min2 > value)
|
|
39
|
-
min2 = value;
|
|
40
|
-
if (max2 < value)
|
|
41
|
-
max2 = value;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
return [min2, max2];
|
|
46
|
-
};
|
|
47
|
-
const mean = (columnId, leafRows) => {
|
|
48
|
-
let count2 = 0;
|
|
49
|
-
let sum2 = 0;
|
|
50
|
-
leafRows.forEach((row) => {
|
|
51
|
-
let value = row.getValue(columnId);
|
|
52
|
-
if (value != null && (value = +value) >= value) {
|
|
53
|
-
++count2, sum2 += value;
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
if (count2)
|
|
57
|
-
return sum2 / count2;
|
|
58
|
-
return;
|
|
59
|
-
};
|
|
60
|
-
const median = (columnId, leafRows) => {
|
|
61
|
-
if (!leafRows.length) {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
const values = leafRows.map((row) => row.getValue(columnId));
|
|
65
|
-
if (!isNumberArray(values)) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
if (values.length === 1) {
|
|
69
|
-
return values[0];
|
|
70
|
-
}
|
|
71
|
-
const mid = Math.floor(values.length / 2);
|
|
72
|
-
const nums = values.sort((a, b) => a - b);
|
|
73
|
-
return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;
|
|
74
|
-
};
|
|
75
|
-
const unique = (columnId, leafRows) => {
|
|
76
|
-
return Array.from(new Set(leafRows.map((d) => d.getValue(columnId))).values());
|
|
77
|
-
};
|
|
78
|
-
const uniqueCount = (columnId, leafRows) => {
|
|
79
|
-
return new Set(leafRows.map((d) => d.getValue(columnId))).size;
|
|
80
|
-
};
|
|
81
|
-
const count = (_columnId, leafRows) => {
|
|
82
|
-
return leafRows.length;
|
|
83
|
-
};
|
|
84
|
-
const aggregationFns = {
|
|
85
|
-
sum,
|
|
86
|
-
min,
|
|
87
|
-
max,
|
|
88
|
-
extent,
|
|
89
|
-
mean,
|
|
90
|
-
median,
|
|
91
|
-
unique,
|
|
92
|
-
uniqueCount,
|
|
93
|
-
count
|
|
94
|
-
};
|
|
95
|
-
export {
|
|
96
|
-
aggregationFns
|
|
97
|
-
};
|
|
98
|
-
//# sourceMappingURL=aggregationFns.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aggregationFns.js","sources":["../../src/aggregationFns.ts"],"sourcesContent":["import { AggregationFn } from './features/ColumnGrouping'\nimport { isNumberArray } from './utils'\n\nconst sum: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return childRows.reduce((sum, next) => {\n const nextValue = next.getValue(columnId)\n return sum + (typeof nextValue === 'number' ? nextValue : 0)\n }, 0)\n}\n\nconst min: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let min: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n\n if (\n value != null &&\n (min! > value || (min === undefined && value >= value))\n ) {\n min = value\n }\n })\n\n return min\n}\n\nconst max: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let max: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n if (\n value != null &&\n (max! < value || (max === undefined && value >= value))\n ) {\n max = value\n }\n })\n\n return max\n}\n\nconst extent: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let min: number | undefined\n let max: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value\n } else {\n if (min > value) min = value\n if (max! < value) max = value\n }\n }\n })\n\n return [min, max]\n}\n\nconst mean: AggregationFn<any> = (columnId, leafRows) => {\n let count = 0\n let sum = 0\n\n leafRows.forEach(row => {\n let value = row.getValue<number>(columnId)\n if (value != null && (value = +value) >= value) {\n ++count, (sum += value)\n }\n })\n\n if (count) return sum / count\n\n return\n}\n\nconst median: AggregationFn<any> = (columnId, leafRows) => {\n if (!leafRows.length) {\n return\n }\n\n const values = leafRows.map(row => row.getValue(columnId))\n if (!isNumberArray(values)) {\n return\n }\n if (values.length === 1) {\n return values[0]\n }\n\n const mid = Math.floor(values.length / 2)\n const nums = values.sort((a, b) => a - b)\n return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1]! + nums[mid]!) / 2\n}\n\nconst unique: AggregationFn<any> = (columnId, leafRows) => {\n return Array.from(new Set(leafRows.map(d => d.getValue(columnId))).values())\n}\n\nconst uniqueCount: AggregationFn<any> = (columnId, leafRows) => {\n return new Set(leafRows.map(d => d.getValue(columnId))).size\n}\n\nconst count: AggregationFn<any> = (_columnId, leafRows) => {\n return leafRows.length\n}\n\nexport const aggregationFns = {\n sum,\n min,\n max,\n extent,\n mean,\n median,\n unique,\n uniqueCount,\n count,\n}\n\nexport type BuiltInAggregationFn = keyof typeof aggregationFns\n"],"names":["sum","min","max","count"],"mappings":";AAGA,MAAM,MAA0B,CAAC,UAAU,WAAW,cAAc;AAGlE,SAAO,UAAU,OAAO,CAACA,MAAK,SAAS;AAC/B,UAAA,YAAY,KAAK,SAAS,QAAQ;AACxC,WAAOA,QAAO,OAAO,cAAc,WAAW,YAAY;AAAA,KACzD,CAAC;AACN;AAEA,MAAM,MAA0B,CAAC,UAAU,WAAW,cAAc;AAC9DC,MAAAA;AAEJ,YAAU,QAAQ,CAAO,QAAA;AACjB,UAAA,QAAQ,IAAI,SAAiB,QAAQ;AAE3C,QACE,SAAS,SACRA,OAAO,SAAUA,SAAQ,UAAa,SAAS,QAChD;AACAA,aAAM;AAAA,IACR;AAAA,EAAA,CACD;AAEMA,SAAAA;AACT;AAEA,MAAM,MAA0B,CAAC,UAAU,WAAW,cAAc;AAC9DC,MAAAA;AAEJ,YAAU,QAAQ,CAAO,QAAA;AACjB,UAAA,QAAQ,IAAI,SAAiB,QAAQ;AAC3C,QACE,SAAS,SACRA,OAAO,SAAUA,SAAQ,UAAa,SAAS,QAChD;AACAA,aAAM;AAAA,IACR;AAAA,EAAA,CACD;AAEMA,SAAAA;AACT;AAEA,MAAM,SAA6B,CAAC,UAAU,WAAW,cAAc;AACjED,MAAAA;AACAC,MAAAA;AAEJ,YAAU,QAAQ,CAAO,QAAA;AACjB,UAAA,QAAQ,IAAI,SAAiB,QAAQ;AAC3C,QAAI,SAAS,MAAM;AACjB,UAAID,SAAQ,QAAW;AACrB,YAAI,SAAS;AAAOA,iBAAMC,OAAM;AAAA,MAAA,OAC3B;AACL,YAAID,OAAM;AAAOA,iBAAM;AACvB,YAAIC,OAAO;AAAOA,iBAAM;AAAA,MAC1B;AAAA,IACF;AAAA,EAAA,CACD;AAEM,SAAA,CAACD,MAAKC,IAAG;AAClB;AAEA,MAAM,OAA2B,CAAC,UAAU,aAAa;AACvD,MAAIC,SAAQ;AACZ,MAAIH,OAAM;AAEV,WAAS,QAAQ,CAAO,QAAA;AAClB,QAAA,QAAQ,IAAI,SAAiB,QAAQ;AACzC,QAAI,SAAS,SAAS,QAAQ,CAAC,UAAU,OAAO;AAC9C,QAAEG,QAAQH,QAAO;AAAA,IACnB;AAAA,EAAA,CACD;AAEGG,MAAAA;AAAO,WAAOH,OAAMG;AAExB;AACF;AAEA,MAAM,SAA6B,CAAC,UAAU,aAAa;AACrD,MAAA,CAAC,SAAS,QAAQ;AACpB;AAAA,EACF;AAEA,QAAM,SAAS,SAAS,IAAI,SAAO,IAAI,SAAS,QAAQ,CAAC;AACrD,MAAA,CAAC,cAAc,MAAM,GAAG;AAC1B;AAAA,EACF;AACI,MAAA,OAAO,WAAW,GAAG;AACvB,WAAO,OAAO,CAAC;AAAA,EACjB;AAEA,QAAM,MAAM,KAAK,MAAM,OAAO,SAAS,CAAC;AACxC,QAAM,OAAO,OAAO,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AACxC,SAAO,OAAO,SAAS,MAAM,IAAI,KAAK,GAAG,KAAK,KAAK,MAAM,CAAC,IAAK,KAAK,GAAG,KAAM;AAC/E;AAEA,MAAM,SAA6B,CAAC,UAAU,aAAa;AACzD,SAAO,MAAM,KAAK,IAAI,IAAI,SAAS,IAAI,CAAA,MAAK,EAAE,SAAS,QAAQ,CAAC,CAAC,EAAE,OAAQ,CAAA;AAC7E;AAEA,MAAM,cAAkC,CAAC,UAAU,aAAa;AACvD,SAAA,IAAI,IAAI,SAAS,IAAI,CAAA,MAAK,EAAE,SAAS,QAAQ,CAAC,CAAC,EAAE;AAC1D;AAEA,MAAM,QAA4B,CAAC,WAAW,aAAa;AACzD,SAAO,SAAS;AAClB;AAEO,MAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { AccessorFn, AccessorFnColumnDef, AccessorKeyColumnDef, DisplayColumnDef, GroupColumnDef, IdentifiedColumnDef, RowData } from './types.js';
|
|
2
|
-
import { DeepKeys, DeepValue } from './utils.js';
|
|
3
|
-
|
|
4
|
-
export type ColumnHelper<TData extends RowData> = {
|
|
5
|
-
accessor: <TAccessor extends AccessorFn<TData> | DeepKeys<TData>, TValue extends TAccessor extends AccessorFn<TData, infer TReturn> ? TReturn : TAccessor extends DeepKeys<TData> ? DeepValue<TData, TAccessor> : never>(accessor: TAccessor, column: TAccessor extends AccessorFn<TData> ? DisplayColumnDef<TData, TValue> : IdentifiedColumnDef<TData, TValue>) => TAccessor extends AccessorFn<TData> ? AccessorFnColumnDef<TData, TValue> : AccessorKeyColumnDef<TData, TValue>;
|
|
6
|
-
display: (column: DisplayColumnDef<TData>) => DisplayColumnDef<TData, unknown>;
|
|
7
|
-
group: (column: GroupColumnDef<TData>) => GroupColumnDef<TData, unknown>;
|
|
8
|
-
};
|
|
9
|
-
export declare function createColumnHelper<TData extends RowData>(): ColumnHelper<TData>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"columnHelper.js","sources":["../../src/columnHelper.ts"],"sourcesContent":["import {\n AccessorFn,\n AccessorFnColumnDef,\n AccessorKeyColumnDef,\n DisplayColumnDef,\n GroupColumnDef,\n IdentifiedColumnDef,\n RowData,\n} from './types'\nimport { DeepKeys, DeepValue } from './utils'\n\n// type Person = {\n// firstName: string\n// lastName: string\n// age: number\n// visits: number\n// status: string\n// progress: number\n// createdAt: Date\n// nested: {\n// foo: [\n// {\n// bar: 'bar'\n// }\n// ]\n// bar: { subBar: boolean }[]\n// baz: {\n// foo: 'foo'\n// bar: {\n// baz: 'baz'\n// }\n// }\n// }\n// }\n\n// const test: DeepKeys<Person> = 'nested.foo.0.bar'\n// const test2: DeepKeys<Person> = 'nested.bar'\n\n// const helper = createColumnHelper<Person>()\n\n// helper.accessor('nested.foo', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.foo.0.bar', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.bar', {\n// cell: info => info.getValue(),\n// })\n\nexport type ColumnHelper<TData extends RowData> = {\n accessor: <\n TAccessor extends AccessorFn<TData> | DeepKeys<TData>,\n TValue extends TAccessor extends AccessorFn<TData, infer TReturn>\n ? TReturn\n : TAccessor extends DeepKeys<TData>\n ? DeepValue<TData, TAccessor>\n : never,\n >(\n accessor: TAccessor,\n column: TAccessor extends AccessorFn<TData>\n ? DisplayColumnDef<TData, TValue>\n : IdentifiedColumnDef<TData, TValue>\n ) => TAccessor extends AccessorFn<TData>\n ? AccessorFnColumnDef<TData, TValue>\n : AccessorKeyColumnDef<TData, TValue>\n display: (column: DisplayColumnDef<TData>) => DisplayColumnDef<TData, unknown>\n group: (column: GroupColumnDef<TData>) => GroupColumnDef<TData, unknown>\n}\n\nexport function createColumnHelper<\n TData extends RowData,\n>(): ColumnHelper<TData> {\n return {\n accessor: (accessor, column) => {\n return typeof accessor === 'function'\n ? ({\n ...column,\n accessorFn: accessor,\n } as any)\n : {\n ...column,\n accessorKey: accessor,\n }\n },\n display: column => column,\n group: column => column,\n }\n}\n"],"names":[],"mappings":"AAwEO,SAAS,qBAES;AAChB,SAAA;AAAA,IACL,UAAU,CAAC,UAAU,WAAW;AACvB,aAAA,OAAO,aAAa,aACtB;AAAA,QACC,GAAG;AAAA,QACH,YAAY;AAAA,MAAA,IAEd;AAAA,QACE,GAAG;AAAA,QACH,aAAa;AAAA,MAAA;AAAA,IAErB;AAAA,IACA,SAAS,CAAU,WAAA;AAAA,IACnB,OAAO,CAAU,WAAA;AAAA,EAAA;AAErB;"}
|
package/dist/esm/core/cell.d.ts
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { RowData, Cell, Column, Row, Table } from '../types';
|
|
2
|
-
import { Getter } 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
|
-
export interface CoreCell<TData extends RowData, TValue> {
|
|
13
|
-
/**
|
|
14
|
-
* The associated Column object for the cell.
|
|
15
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#column)
|
|
16
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)
|
|
17
|
-
*/
|
|
18
|
-
column: Column<TData, TValue>;
|
|
19
|
-
/**
|
|
20
|
-
* 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:
|
|
21
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#getcontext)
|
|
22
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)
|
|
23
|
-
*/
|
|
24
|
-
getContext: () => CellContext<TData, TValue>;
|
|
25
|
-
/**
|
|
26
|
-
* Returns the value for the cell, accessed via the associated column's accessor key or accessor function.
|
|
27
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#getvalue)
|
|
28
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)
|
|
29
|
-
*/
|
|
30
|
-
getValue: CellContext<TData, TValue>['getValue'];
|
|
31
|
-
/**
|
|
32
|
-
* The unique ID for the cell across the entire table.
|
|
33
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#id)
|
|
34
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)
|
|
35
|
-
*/
|
|
36
|
-
id: string;
|
|
37
|
-
/**
|
|
38
|
-
* Renders the value for a cell the same as `getValue`, but will return the `renderFallbackValue` if no value is found.
|
|
39
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#rendervalue)
|
|
40
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)
|
|
41
|
-
*/
|
|
42
|
-
renderValue: CellContext<TData, TValue>['renderValue'];
|
|
43
|
-
/**
|
|
44
|
-
* The associated Row object for the cell.
|
|
45
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#row)
|
|
46
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)
|
|
47
|
-
*/
|
|
48
|
-
row: Row<TData>;
|
|
49
|
-
}
|
|
50
|
-
export declare function createCell<TData extends RowData, TValue>(table: Table<TData>, row: Row<TData>, column: Column<TData, TValue>, columnId: string): Cell<TData, TValue>;
|
package/dist/esm/core/cell.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { memo, getMemoOptions } from "../utils.js";
|
|
2
|
-
function createCell(table, row, column, columnId) {
|
|
3
|
-
const getRenderValue = () => cell.getValue() ?? table.options.renderFallbackValue;
|
|
4
|
-
const cell = {
|
|
5
|
-
id: `${row.id}_${column.id}`,
|
|
6
|
-
row,
|
|
7
|
-
column,
|
|
8
|
-
getValue: () => row.getValue(columnId),
|
|
9
|
-
renderValue: getRenderValue,
|
|
10
|
-
getContext: memo(
|
|
11
|
-
() => [table, column, row, cell],
|
|
12
|
-
(table2, column2, row2, cell2) => ({
|
|
13
|
-
table: table2,
|
|
14
|
-
column: column2,
|
|
15
|
-
row: row2,
|
|
16
|
-
cell: cell2,
|
|
17
|
-
getValue: cell2.getValue,
|
|
18
|
-
renderValue: cell2.renderValue
|
|
19
|
-
}),
|
|
20
|
-
getMemoOptions(table.options, "debugCells", "cell.getContext")
|
|
21
|
-
)
|
|
22
|
-
};
|
|
23
|
-
table._features.forEach((feature) => {
|
|
24
|
-
var _a;
|
|
25
|
-
(_a = feature.createCell) == null ? void 0 : _a.call(
|
|
26
|
-
feature,
|
|
27
|
-
cell,
|
|
28
|
-
column,
|
|
29
|
-
row,
|
|
30
|
-
table
|
|
31
|
-
);
|
|
32
|
-
}, {});
|
|
33
|
-
return cell;
|
|
34
|
-
}
|
|
35
|
-
export {
|
|
36
|
-
createCell
|
|
37
|
-
};
|
|
38
|
-
//# sourceMappingURL=cell.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cell.js","sources":["../../../src/core/cell.ts"],"sourcesContent":["import { RowData, Cell, Column, Row, Table } from '../types'\nimport { Getter, getMemoOptions, memo } from '../utils'\n\nexport interface CellContext<TData extends RowData, TValue> {\n cell: Cell<TData, TValue>\n column: Column<TData, TValue>\n getValue: Getter<TValue>\n renderValue: Getter<TValue | null>\n row: Row<TData>\n table: Table<TData>\n}\n\nexport interface CoreCell<TData extends RowData, TValue> {\n /**\n * The associated Column object for the cell.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#column)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)\n */\n column: Column<TData, TValue>\n /**\n * 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:\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#getcontext)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)\n */\n getContext: () => CellContext<TData, TValue>\n /**\n * Returns the value for the cell, accessed via the associated column's accessor key or accessor function.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#getvalue)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)\n */\n getValue: CellContext<TData, TValue>['getValue']\n /**\n * The unique ID for the cell across the entire table.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#id)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)\n */\n id: string\n /**\n * Renders the value for a cell the same as `getValue`, but will return the `renderFallbackValue` if no value is found.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#rendervalue)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)\n */\n renderValue: CellContext<TData, TValue>['renderValue']\n /**\n * The associated Row object for the cell.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#row)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)\n */\n row: Row<TData>\n}\n\nexport function createCell<TData extends RowData, TValue>(\n table: Table<TData>,\n row: Row<TData>,\n column: Column<TData, TValue>,\n columnId: string\n): Cell<TData, TValue> {\n const getRenderValue = () =>\n cell.getValue() ?? table.options.renderFallbackValue\n\n const cell: CoreCell<TData, TValue> = {\n id: `${row.id}_${column.id}`,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderValue: getRenderValue,\n getContext: memo(\n () => [table, column, row, cell],\n (table, column, row, cell) => ({\n table,\n column,\n row,\n cell: cell as Cell<TData, TValue>,\n getValue: cell.getValue,\n renderValue: cell.renderValue,\n }),\n getMemoOptions(table.options, 'debugCells', 'cell.getContext')\n ),\n }\n\n table._features.forEach(feature => {\n feature.createCell?.(\n cell as Cell<TData, TValue>,\n column,\n row as Row<TData>,\n table\n )\n }, {})\n\n return cell as Cell<TData, TValue>\n}\n"],"names":["table","column","row","cell"],"mappings":";AAmDO,SAAS,WACd,OACA,KACA,QACA,UACqB;AACrB,QAAM,iBAAiB,MACrB,KAAK,SAAS,KAAK,MAAM,QAAQ;AAEnC,QAAM,OAAgC;AAAA,IACpC,IAAI,GAAG,IAAI,EAAE,IAAI,OAAO,EAAE;AAAA,IAC1B;AAAA,IACA;AAAA,IACA,UAAU,MAAM,IAAI,SAAS,QAAQ;AAAA,IACrC,aAAa;AAAA,IACb,YAAY;AAAA,MACV,MAAM,CAAC,OAAO,QAAQ,KAAK,IAAI;AAAA,MAC/B,CAACA,QAAOC,SAAQC,MAAKC,WAAU;AAAA,QAC7B,OAAAH;AAAAA,QACA,QAAAC;AAAAA,QACA,KAAAC;AAAAA,QACA,MAAMC;AAAAA,QACN,UAAUA,MAAK;AAAA,QACf,aAAaA,MAAK;AAAA,MAAA;AAAA,MAEpB,eAAe,MAAM,SAAS,cAAc,iBAAiB;AAAA,IAC/D;AAAA,EAAA;AAGI,QAAA,UAAU,QAAQ,CAAW,YAAA;;AACzB,kBAAA,eAAA;AAAA;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EAEJ,GAAG,CAAE,CAAA;AAEE,SAAA;AACT;"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { Column, Table, AccessorFn, ColumnDef, RowData } from '../types';
|
|
2
|
-
|
|
3
|
-
export interface CoreColumn<TData extends RowData, TValue> {
|
|
4
|
-
/**
|
|
5
|
-
* The resolved accessor function to use when extracting the value for the column from each row. Will only be defined if the column def has a valid accessor key or function defined.
|
|
6
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#accessorfn)
|
|
7
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)
|
|
8
|
-
*/
|
|
9
|
-
accessorFn?: AccessorFn<TData, TValue>;
|
|
10
|
-
/**
|
|
11
|
-
* The original column def used to create the column.
|
|
12
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#columndef)
|
|
13
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)
|
|
14
|
-
*/
|
|
15
|
-
columnDef: ColumnDef<TData, TValue>;
|
|
16
|
-
/**
|
|
17
|
-
* The child column (if the column is a group column). Will be an empty array if the column is not a group column.
|
|
18
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#columns)
|
|
19
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)
|
|
20
|
-
*/
|
|
21
|
-
columns: Column<TData, TValue>[];
|
|
22
|
-
/**
|
|
23
|
-
* The depth of the column (if grouped) relative to the root column def array.
|
|
24
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#depth)
|
|
25
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)
|
|
26
|
-
*/
|
|
27
|
-
depth: number;
|
|
28
|
-
/**
|
|
29
|
-
* Returns the flattened array of this column and all child/grand-child columns for this column.
|
|
30
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#getflatcolumns)
|
|
31
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)
|
|
32
|
-
*/
|
|
33
|
-
getFlatColumns: () => Column<TData, TValue>[];
|
|
34
|
-
/**
|
|
35
|
-
* Returns an array of all leaf-node columns for this column. If a column has no children, it is considered the only leaf-node column.
|
|
36
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#getleafcolumns)
|
|
37
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)
|
|
38
|
-
*/
|
|
39
|
-
getLeafColumns: () => Column<TData, TValue>[];
|
|
40
|
-
/**
|
|
41
|
-
* The resolved unique identifier for the column resolved in this priority:
|
|
42
|
-
- A manual `id` property from the column def
|
|
43
|
-
- The accessor key from the column def
|
|
44
|
-
- The header string from the column def
|
|
45
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#id)
|
|
46
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)
|
|
47
|
-
*/
|
|
48
|
-
id: string;
|
|
49
|
-
/**
|
|
50
|
-
* The parent column for this column. Will be undefined if this is a root column.
|
|
51
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#parent)
|
|
52
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)
|
|
53
|
-
*/
|
|
54
|
-
parent?: Column<TData, TValue>;
|
|
55
|
-
}
|
|
56
|
-
export declare function createColumn<TData extends RowData, TValue>(table: Table<TData>, columnDef: ColumnDef<TData, TValue>, depth: number, parent?: Column<TData, TValue>): Column<TData, TValue>;
|
package/dist/esm/core/column.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { memo, getMemoOptions } from "../utils.js";
|
|
2
|
-
function createColumn(table, columnDef, depth, parent) {
|
|
3
|
-
var _a;
|
|
4
|
-
const defaultColumn = table._getDefaultColumnDef();
|
|
5
|
-
const resolvedColumnDef = {
|
|
6
|
-
...defaultColumn,
|
|
7
|
-
...columnDef
|
|
8
|
-
};
|
|
9
|
-
const accessorKey = resolvedColumnDef.accessorKey;
|
|
10
|
-
let id = resolvedColumnDef.id ?? (accessorKey ? accessorKey.replace(".", "_") : void 0) ?? (typeof resolvedColumnDef.header === "string" ? resolvedColumnDef.header : void 0);
|
|
11
|
-
let accessorFn;
|
|
12
|
-
if (resolvedColumnDef.accessorFn) {
|
|
13
|
-
accessorFn = resolvedColumnDef.accessorFn;
|
|
14
|
-
} else if (accessorKey) {
|
|
15
|
-
if (accessorKey.includes(".")) {
|
|
16
|
-
accessorFn = (originalRow) => {
|
|
17
|
-
let result = originalRow;
|
|
18
|
-
for (const key of accessorKey.split(".")) {
|
|
19
|
-
result = result == null ? void 0 : result[key];
|
|
20
|
-
if (process.env.NODE_ENV !== "production" && result === void 0) {
|
|
21
|
-
console.warn(
|
|
22
|
-
`"${key}" in deeply nested key "${accessorKey}" returned undefined.`
|
|
23
|
-
);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return result;
|
|
27
|
-
};
|
|
28
|
-
} else {
|
|
29
|
-
accessorFn = (originalRow) => originalRow[resolvedColumnDef.accessorKey];
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
if (!id) {
|
|
33
|
-
if (process.env.NODE_ENV !== "production") {
|
|
34
|
-
throw new Error(
|
|
35
|
-
resolvedColumnDef.accessorFn ? `Columns require an id when using an accessorFn` : `Columns require an id when using a non-string header`
|
|
36
|
-
);
|
|
37
|
-
}
|
|
38
|
-
throw new Error();
|
|
39
|
-
}
|
|
40
|
-
let column = {
|
|
41
|
-
id: `${String(id)}`,
|
|
42
|
-
accessorFn,
|
|
43
|
-
parent,
|
|
44
|
-
depth,
|
|
45
|
-
columnDef: resolvedColumnDef,
|
|
46
|
-
columns: [],
|
|
47
|
-
getFlatColumns: memo(
|
|
48
|
-
() => [true],
|
|
49
|
-
() => {
|
|
50
|
-
var _a2;
|
|
51
|
-
return [
|
|
52
|
-
column,
|
|
53
|
-
...(_a2 = column.columns) == null ? void 0 : _a2.flatMap((d) => d.getFlatColumns())
|
|
54
|
-
];
|
|
55
|
-
},
|
|
56
|
-
getMemoOptions(table.options, "debugColumns", "column.getFlatColumns")
|
|
57
|
-
),
|
|
58
|
-
getLeafColumns: memo(
|
|
59
|
-
() => [table._getOrderColumnsFn()],
|
|
60
|
-
(orderColumns) => {
|
|
61
|
-
var _a2;
|
|
62
|
-
if ((_a2 = column.columns) == null ? void 0 : _a2.length) {
|
|
63
|
-
let leafColumns = column.columns.flatMap(
|
|
64
|
-
(column2) => column2.getLeafColumns()
|
|
65
|
-
);
|
|
66
|
-
return orderColumns(leafColumns);
|
|
67
|
-
}
|
|
68
|
-
return [column];
|
|
69
|
-
},
|
|
70
|
-
getMemoOptions(table.options, "debugColumns", "column.getLeafColumns")
|
|
71
|
-
)
|
|
72
|
-
};
|
|
73
|
-
for (const feature of table._features) {
|
|
74
|
-
(_a = feature.createColumn) == null ? void 0 : _a.call(feature, column, table);
|
|
75
|
-
}
|
|
76
|
-
return column;
|
|
77
|
-
}
|
|
78
|
-
export {
|
|
79
|
-
createColumn
|
|
80
|
-
};
|
|
81
|
-
//# sourceMappingURL=column.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"column.js","sources":["../../../src/core/column.ts"],"sourcesContent":["import {\n Column,\n Table,\n AccessorFn,\n ColumnDef,\n RowData,\n ColumnDefResolved,\n} from '../types'\nimport { getMemoOptions, memo } from '../utils'\n\nexport interface CoreColumn<TData extends RowData, TValue> {\n /**\n * The resolved accessor function to use when extracting the value for the column from each row. Will only be defined if the column def has a valid accessor key or function defined.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#accessorfn)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n accessorFn?: AccessorFn<TData, TValue>\n /**\n * The original column def used to create the column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#columndef)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n columnDef: ColumnDef<TData, TValue>\n /**\n * The child column (if the column is a group column). Will be an empty array if the column is not a group column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#columns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n columns: Column<TData, TValue>[]\n /**\n * The depth of the column (if grouped) relative to the root column def array.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#depth)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n depth: number\n /**\n * Returns the flattened array of this column and all child/grand-child columns for this column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#getflatcolumns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n getFlatColumns: () => Column<TData, TValue>[]\n /**\n * Returns an array of all leaf-node columns for this column. If a column has no children, it is considered the only leaf-node column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#getleafcolumns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n getLeafColumns: () => Column<TData, TValue>[]\n /**\n * The resolved unique identifier for the column resolved in this priority:\n - A manual `id` property from the column def\n - The accessor key from the column def\n - The header string from the column def\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#id)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n id: string\n /**\n * The parent column for this column. Will be undefined if this is a root column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#parent)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n parent?: Column<TData, TValue>\n}\n\nexport function createColumn<TData extends RowData, TValue>(\n table: Table<TData>,\n columnDef: ColumnDef<TData, TValue>,\n depth: number,\n parent?: Column<TData, TValue>\n): Column<TData, TValue> {\n const defaultColumn = table._getDefaultColumnDef()\n\n const resolvedColumnDef = {\n ...defaultColumn,\n ...columnDef,\n } as ColumnDefResolved<TData>\n\n const accessorKey = resolvedColumnDef.accessorKey\n\n let id =\n resolvedColumnDef.id ??\n (accessorKey ? accessorKey.replace('.', '_') : undefined) ??\n (typeof resolvedColumnDef.header === 'string'\n ? resolvedColumnDef.header\n : undefined)\n\n let accessorFn: AccessorFn<TData> | undefined\n\n if (resolvedColumnDef.accessorFn) {\n accessorFn = resolvedColumnDef.accessorFn\n } else if (accessorKey) {\n // Support deep accessor keys\n if (accessorKey.includes('.')) {\n accessorFn = (originalRow: TData) => {\n let result = originalRow as Record<string, any>\n\n for (const key of accessorKey.split('.')) {\n result = result?.[key]\n if (process.env.NODE_ENV !== 'production' && result === undefined) {\n console.warn(\n `\"${key}\" in deeply nested key \"${accessorKey}\" returned undefined.`\n )\n }\n }\n\n return result\n }\n } else {\n accessorFn = (originalRow: TData) =>\n (originalRow as any)[resolvedColumnDef.accessorKey]\n }\n }\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n resolvedColumnDef.accessorFn\n ? `Columns require an id when using an accessorFn`\n : `Columns require an id when using a non-string header`\n )\n }\n throw new Error()\n }\n\n let column: CoreColumn<TData, any> = {\n id: `${String(id)}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef: resolvedColumnDef as ColumnDef<TData, any>,\n columns: [],\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<TData, TValue>,\n ...column.columns?.flatMap(d => d.getFlatColumns()),\n ]\n },\n getMemoOptions(table.options, 'debugColumns', 'column.getFlatColumns')\n ),\n getLeafColumns: memo(\n () => [table._getOrderColumnsFn()],\n orderColumns => {\n if (column.columns?.length) {\n let leafColumns = column.columns.flatMap(column =>\n column.getLeafColumns()\n )\n\n return orderColumns(leafColumns)\n }\n\n return [column as Column<TData, TValue>]\n },\n getMemoOptions(table.options, 'debugColumns', 'column.getLeafColumns')\n ),\n }\n\n for (const feature of table._features) {\n feature.createColumn?.(column as Column<TData, TValue>, table)\n }\n\n // Yes, we have to convert table to unknown, because we know more than the compiler here.\n return column as Column<TData, TValue>\n}\n"],"names":["_a","column"],"mappings":";AAgEO,SAAS,aACd,OACA,WACA,OACA,QACuB;;AACjB,QAAA,gBAAgB,MAAM;AAE5B,QAAM,oBAAoB;AAAA,IACxB,GAAG;AAAA,IACH,GAAG;AAAA,EAAA;AAGL,QAAM,cAAc,kBAAkB;AAEtC,MAAI,KACF,kBAAkB,OACjB,cAAc,YAAY,QAAQ,KAAK,GAAG,IAAI,YAC9C,OAAO,kBAAkB,WAAW,WACjC,kBAAkB,SAClB;AAEF,MAAA;AAEJ,MAAI,kBAAkB,YAAY;AAChC,iBAAa,kBAAkB;AAAA,aACtB,aAAa;AAElB,QAAA,YAAY,SAAS,GAAG,GAAG;AAC7B,mBAAa,CAAC,gBAAuB;AACnC,YAAI,SAAS;AAEb,mBAAW,OAAO,YAAY,MAAM,GAAG,GAAG;AACxC,mBAAS,iCAAS;AAClB,cAAI,QAAQ,IAAI,aAAa,gBAAgB,WAAW,QAAW;AACzD,oBAAA;AAAA,cACN,IAAI,GAAG,2BAA2B,WAAW;AAAA,YAAA;AAAA,UAEjD;AAAA,QACF;AAEO,eAAA;AAAA,MAAA;AAAA,IACT,OACK;AACL,mBAAa,CAAC,gBACX,YAAoB,kBAAkB,WAAW;AAAA,IACtD;AAAA,EACF;AAEA,MAAI,CAAC,IAAI;AACH,QAAA,QAAQ,IAAI,aAAa,cAAc;AACzC,YAAM,IAAI;AAAA,QACR,kBAAkB,aACd,mDACA;AAAA,MAAA;AAAA,IAER;AACA,UAAM,IAAI,MAAM;AAAA,EAClB;AAEA,MAAI,SAAiC;AAAA,IACnC,IAAI,GAAG,OAAO,EAAE,CAAC;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,SAAS,CAAC;AAAA,IACV,gBAAgB;AAAA,MACd,MAAM,CAAC,IAAI;AAAA,MACX,MAAM;;AACG,eAAA;AAAA,UACL;AAAA,UACA,IAAGA,MAAA,OAAO,YAAP,gBAAAA,IAAgB,QAAQ,CAAK,MAAA,EAAE;QAAgB;AAAA,MAEtD;AAAA,MACA,eAAe,MAAM,SAAS,gBAAgB,uBAAuB;AAAA,IACvE;AAAA,IACA,gBAAgB;AAAA,MACd,MAAM,CAAC,MAAM,oBAAoB;AAAA,MACjC,CAAgB,iBAAA;;AACV,aAAAA,MAAA,OAAO,YAAP,gBAAAA,IAAgB,QAAQ;AACtB,cAAA,cAAc,OAAO,QAAQ;AAAA,YAAQ,CAAAC,YACvCA,QAAO,eAAe;AAAA,UAAA;AAGxB,iBAAO,aAAa,WAAW;AAAA,QACjC;AAEA,eAAO,CAAC,MAA+B;AAAA,MACzC;AAAA,MACA,eAAe,MAAM,SAAS,gBAAgB,uBAAuB;AAAA,IACvE;AAAA,EAAA;AAGS,aAAA,WAAW,MAAM,WAAW;AAC7B,kBAAA,iBAAA,iCAAe,QAAiC;AAAA,EAC1D;AAGO,SAAA;AACT;"}
|