@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
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Row_ColumnVisibility } from '../features/column-visibility/columnVisibilityFeature.types';
|
|
2
|
+
import { Row_ColumnPinning } from '../features/column-pinning/columnPinningFeature.types';
|
|
3
|
+
import { Row_ColumnGrouping } from '../features/column-grouping/columnGroupingFeature.types';
|
|
4
|
+
import { Row_ColumnFiltering } from '../features/column-filtering/columnFilteringFeature.types';
|
|
5
|
+
import { RowData, UnionToIntersection } from './type-utils.js';
|
|
6
|
+
import { Row_RowExpanding } from '../features/row-expanding/rowExpandingFeature.types';
|
|
7
|
+
import { Row_RowPinning } from '../features/row-pinning/rowPinningFeature.types';
|
|
8
|
+
import { Row_RowSelection } from '../features/row-selection/rowSelectionFeature.types';
|
|
9
|
+
import { ExtractFeatureTypes, TableFeatures } from './TableFeatures.js';
|
|
10
|
+
import { Row_Row } from '../core/rows/coreRowsFeature.types';
|
|
11
|
+
/**
|
|
12
|
+
* Use this interface as a target for declaration merging to add your own plugin properties.
|
|
13
|
+
* Note: This will affect the types of all tables in your project.
|
|
14
|
+
*/
|
|
15
|
+
export interface Row_Plugins<TFeatures extends TableFeatures, TData extends RowData> {
|
|
16
|
+
}
|
|
17
|
+
export interface Row_Core<TFeatures extends TableFeatures, TData extends RowData> extends Row_Row<TFeatures, TData> {
|
|
18
|
+
}
|
|
19
|
+
export type Row<TFeatures extends TableFeatures, TData extends RowData> = Row_Core<TFeatures, TData> & UnionToIntersection<('columnFilteringFeature' extends keyof TFeatures ? Row_ColumnFiltering<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? Row_ColumnGrouping : never) | ('columnPinningFeature' extends keyof TFeatures ? Row_ColumnPinning<TFeatures, TData> : never) | ('columnVisibilityFeature' extends keyof TFeatures ? Row_ColumnVisibility<TFeatures, TData> : never) | ('rowExpandingFeature' extends keyof TFeatures ? Row_RowExpanding : never) | ('rowPinningFeature' extends keyof TFeatures ? Row_RowPinning : never) | ('rowSelectionFeature' extends keyof TFeatures ? Row_RowSelection : never)> & ExtractFeatureTypes<'Row', TFeatures> & Row_Plugins<TFeatures, TData>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CachedRowModel_Faceted, CreateRowModel_Faceted } from '../features/column-faceting/columnFacetingFeature.types';
|
|
2
|
+
import { CachedRowModel_Grouped, CreateRowModel_Grouped } from '../features/column-grouping/columnGroupingFeature.types';
|
|
3
|
+
import { CachedRowModel_Filtered, CreateRowModel_Filtered } from '../features/column-filtering/columnFilteringFeature.types';
|
|
4
|
+
import { CachedRowModel_Core, CreateRowModel_Core, RowModel } from '../core/row-models/coreRowModelsFeature.types';
|
|
5
|
+
import { CachedRowModel_Expanded, CreateRowModel_Expanded } from '../features/row-expanding/rowExpandingFeature.types';
|
|
6
|
+
import { CachedRowModel_Paginated, CreateRowModel_Paginated } from '../features/row-pagination/rowPaginationFeature.types';
|
|
7
|
+
import { CachedRowModel_Sorted, CreateRowModel_Sorted } from '../features/row-sorting/rowSortingFeature.types';
|
|
8
|
+
import { RowData, UnionToIntersection } from './type-utils.js';
|
|
9
|
+
import { ExtractFeatureTypes, TableFeatures } from './TableFeatures.js';
|
|
10
|
+
/**
|
|
11
|
+
* Use this interface as a target for declaration merging to add your own plugin properties.
|
|
12
|
+
* Note: This will affect the types of all tables in your project.
|
|
13
|
+
*/
|
|
14
|
+
export interface CreateRowModels_Plugins<TFeatures extends TableFeatures, TData extends RowData> {
|
|
15
|
+
}
|
|
16
|
+
export type CreateRowModels<TFeatures extends TableFeatures, TData extends RowData> = CreateRowModel_Core<TFeatures, TData> & UnionToIntersection<('columnFacetingFeature' extends keyof TFeatures ? CreateRowModel_Faceted<TFeatures, TData> : never) | ('columnFilteringFeature' extends keyof TFeatures ? CreateRowModel_Filtered<TFeatures, TData> : never) | ('rowExpandingFeature' extends keyof TFeatures ? CreateRowModel_Expanded<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? CreateRowModel_Grouped<TFeatures, TData> : never) | ('rowPaginationFeature' extends keyof TFeatures ? CreateRowModel_Paginated<TFeatures, TData> : never) | ('rowSortingFeature' extends keyof TFeatures ? CreateRowModel_Sorted<TFeatures, TData> : never)> & ExtractFeatureTypes<'CreateRowModels', TFeatures> & CreateRowModels_Plugins<TFeatures, TData>;
|
|
17
|
+
export type CreateRowModels_All<TFeatures extends TableFeatures, TData extends RowData> = CreateRowModel_Core<TFeatures, TData> & CreateRowModel_Expanded<TFeatures, TData> & CreateRowModel_Faceted<TFeatures, TData> & CreateRowModel_Filtered<TFeatures, TData> & CreateRowModel_Grouped<TFeatures, TData> & CreateRowModel_Paginated<TFeatures, TData> & CreateRowModel_Sorted<TFeatures, TData>;
|
|
18
|
+
export interface CachedRowModels_Plugins<TFeatures extends TableFeatures, TData extends RowData> {
|
|
19
|
+
}
|
|
20
|
+
export type CachedRowModels<TFeatures extends TableFeatures, TData extends RowData> = {
|
|
21
|
+
CachedRowModel_Core: () => RowModel<TFeatures, TData>;
|
|
22
|
+
} & UnionToIntersection<('columnFacetingFeature' extends keyof TFeatures ? CachedRowModel_Faceted<TFeatures, TData> : never) | ('columnFilteringFeature' extends keyof TFeatures ? CachedRowModel_Filtered<TFeatures, TData> : never) | ('rowExpandingFeature' extends keyof TFeatures ? CachedRowModel_Expanded<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? CachedRowModel_Grouped<TFeatures, TData> : never) | ('rowPaginationFeature' extends keyof TFeatures ? CachedRowModel_Paginated<TFeatures, TData> : never) | ('rowSortingFeature' extends keyof TFeatures ? CachedRowModel_Sorted<TFeatures, TData> : never)> & ExtractFeatureTypes<'CachedRowModel', TFeatures> & CachedRowModels_Plugins<TFeatures, TData>;
|
|
23
|
+
export type CachedRowModel_All<TFeatures extends TableFeatures, TData extends RowData = any> = Partial<CachedRowModel_Core<TFeatures, TData> & CachedRowModel_Expanded<TFeatures, TData> & CachedRowModel_Faceted<TFeatures, TData> & CachedRowModel_Filtered<TFeatures, TData> & CachedRowModel_Grouped<TFeatures, TData> & CachedRowModel_Paginated<TFeatures, TData> & CachedRowModel_Sorted<TFeatures, TData>>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { RowModelFns_RowSorting } from '../features/row-sorting/rowSortingFeature.types';
|
|
2
|
+
import { RowModelFns_ColumnGrouping } from '../features/column-grouping/columnGroupingFeature.types';
|
|
3
|
+
import { RowData, UnionToIntersection } from './type-utils.js';
|
|
4
|
+
import { RowModelFns_ColumnFiltering } from '../features/column-filtering/columnFilteringFeature.types';
|
|
5
|
+
import { ExtractFeatureTypes, TableFeatures } from './TableFeatures.js';
|
|
6
|
+
/**
|
|
7
|
+
* Use this interface as a target for declaration merging to add your own plugin properties.
|
|
8
|
+
* Note: This will affect the types of all tables in your project.
|
|
9
|
+
*/
|
|
10
|
+
export interface RowModelFns_Plugins<TFeatures extends TableFeatures, TData extends RowData> {
|
|
11
|
+
}
|
|
12
|
+
export interface RowModelFns_Core {
|
|
13
|
+
}
|
|
14
|
+
export type RowModelFns<TFeatures extends TableFeatures, TData extends RowData> = Partial<UnionToIntersection<('columnFilteringFeature' extends keyof TFeatures ? RowModelFns_ColumnFiltering<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? RowModelFns_ColumnGrouping<TFeatures, TData> : never) | ('rowSortingFeature' extends keyof TFeatures ? RowModelFns_RowSorting<TFeatures, TData> : never)> & ExtractFeatureTypes<'RowModelFns', TFeatures> & RowModelFns_Plugins<TFeatures, TData>>;
|
|
15
|
+
export type RowModelFns_All<TFeatures extends TableFeatures, TData extends RowData> = Partial<RowModelFns_ColumnFiltering<TFeatures, TData> & RowModelFns_ColumnGrouping<TFeatures, TData> & RowModelFns_RowSorting<TFeatures, TData>>;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Derived, Store } from '@tanstack/store';
|
|
2
|
+
import { Table_ColumnFaceting } from '../features/column-faceting/columnFacetingFeature.types';
|
|
3
|
+
import { Table_ColumnResizing } from '../features/column-resizing/columnResizingFeature.types';
|
|
4
|
+
import { Table_ColumnFiltering } from '../features/column-filtering/columnFilteringFeature.types';
|
|
5
|
+
import { Table_ColumnGrouping } from '../features/column-grouping/columnGroupingFeature.types';
|
|
6
|
+
import { Table_ColumnPinning } from '../features/column-pinning/columnPinningFeature.types';
|
|
7
|
+
import { Table_ColumnOrdering } from '../features/column-ordering/columnOrderingFeature.types';
|
|
8
|
+
import { Table_ColumnVisibility } from '../features/column-visibility/columnVisibilityFeature.types';
|
|
9
|
+
import { Table_ColumnSizing } from '../features/column-sizing/columnSizingFeature.types';
|
|
10
|
+
import { Table_RowPinning } from '../features/row-pinning/rowPinningFeature.types';
|
|
11
|
+
import { Table_GlobalFiltering } from '../features/global-filtering/globalFilteringFeature.types';
|
|
12
|
+
import { Table_RowExpanding } from '../features/row-expanding/rowExpandingFeature.types';
|
|
13
|
+
import { Table_RowPagination } from '../features/row-pagination/rowPaginationFeature.types';
|
|
14
|
+
import { Table_RowSelection } from '../features/row-selection/rowSelectionFeature.types';
|
|
15
|
+
import { Table_RowSorting } from '../features/row-sorting/rowSortingFeature.types';
|
|
16
|
+
import { Table_RowModels } from '../core/row-models/coreRowModelsFeature.types';
|
|
17
|
+
import { CachedRowModel_All, CreateRowModels_All } from './RowModel.js';
|
|
18
|
+
import { RowModelFns_All } from './RowModelFns.js';
|
|
19
|
+
import { TableState_All } from './TableState.js';
|
|
20
|
+
import { RowData, UnionToIntersection } from './type-utils.js';
|
|
21
|
+
import { ExtractFeatureTypes, TableFeatures } from './TableFeatures.js';
|
|
22
|
+
import { Table_Columns } from '../core/columns/coreColumnsFeature.types';
|
|
23
|
+
import { Table_Headers } from '../core/headers/coreHeadersFeature.types';
|
|
24
|
+
import { Table_Rows } from '../core/rows/coreRowsFeature.types';
|
|
25
|
+
import { Table_Table } from '../core/table/coreTablesFeature.types';
|
|
26
|
+
import { TableOptions_All } from './TableOptions.js';
|
|
27
|
+
/**
|
|
28
|
+
* Use this interface as a target for declaration merging to add your own plugin properties.
|
|
29
|
+
* Note: This will affect the types of all tables in your project.
|
|
30
|
+
*/
|
|
31
|
+
export interface Table_Plugins<TFeatures extends TableFeatures, TData extends RowData> {
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The core table object that only includes the core table functionality such as column, header, row, and table APIS.
|
|
35
|
+
* No features are included.
|
|
36
|
+
*/
|
|
37
|
+
export type Table_Core<TFeatures extends TableFeatures, TData extends RowData> = Table_Table<TFeatures, TData> & Table_Columns<TFeatures, TData> & Table_Rows<TFeatures, TData> & Table_RowModels<TFeatures, TData> & Table_Headers<TFeatures, TData>;
|
|
38
|
+
/**
|
|
39
|
+
* The table object that includes both the core table functionality and the features that are enabled via the `_features` table option.
|
|
40
|
+
*/
|
|
41
|
+
export type Table<TFeatures extends TableFeatures, TData extends RowData> = Table_Core<TFeatures, TData> & UnionToIntersection<('columnFilteringFeature' extends keyof TFeatures ? Table_ColumnFiltering : never) | ('columnGroupingFeature' extends keyof TFeatures ? Table_ColumnGrouping<TFeatures, TData> : never) | ('columnOrderingFeature' extends keyof TFeatures ? Table_ColumnOrdering<TFeatures, TData> : never) | ('columnPinningFeature' extends keyof TFeatures ? Table_ColumnPinning<TFeatures, TData> : never) | ('columnResizingFeature' extends keyof TFeatures ? Table_ColumnResizing : never) | ('columnSizingFeature' extends keyof TFeatures ? Table_ColumnSizing : never) | ('columnVisibilityFeature' extends keyof TFeatures ? Table_ColumnVisibility<TFeatures, TData> : never) | ('columnFacetingFeature' extends keyof TFeatures ? Table_ColumnFaceting<TFeatures, TData> : never) | ('globalFilteringFeature' extends keyof TFeatures ? Table_GlobalFiltering<TFeatures, TData> : never) | ('rowExpandingFeature' extends keyof TFeatures ? Table_RowExpanding<TFeatures, TData> : never) | ('rowPaginationFeature' extends keyof TFeatures ? Table_RowPagination<TFeatures, TData> : never) | ('rowPinningFeature' extends keyof TFeatures ? Table_RowPinning<TFeatures, TData> : never) | ('rowSelectionFeature' extends keyof TFeatures ? Table_RowSelection<TFeatures, TData> : never) | ('rowSortingFeature' extends keyof TFeatures ? Table_RowSorting<TFeatures, TData> : never)> & ExtractFeatureTypes<'Table', TFeatures> & Table_Plugins<TFeatures, TData>;
|
|
42
|
+
export type Table_Internal<TFeatures extends TableFeatures, TData extends RowData = any> = Table<TFeatures, TData> & {
|
|
43
|
+
_rowModels: CachedRowModel_All<TFeatures, TData>;
|
|
44
|
+
_rowModelFns: RowModelFns_All<TFeatures, TData>;
|
|
45
|
+
options: TableOptions_All<TFeatures, TData> & {
|
|
46
|
+
_rowModels?: CreateRowModels_All<TFeatures, TData>;
|
|
47
|
+
state?: TableState_All;
|
|
48
|
+
initialState?: TableState_All;
|
|
49
|
+
};
|
|
50
|
+
initialState: TableState_All;
|
|
51
|
+
baseStore: Store<TableState_All>;
|
|
52
|
+
store: Derived<TableState_All>;
|
|
53
|
+
};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { CoreFeatures } from '../core/coreFeatures.js';
|
|
2
|
+
import { CellData, RowData, UnionToIntersection } from './type-utils.js';
|
|
3
|
+
import { ColumnDefBase_All } from './ColumnDef.js';
|
|
4
|
+
import { Row } from './Row.js';
|
|
5
|
+
import { Table_Internal } from './Table.js';
|
|
6
|
+
import { TableOptions_All } from './TableOptions.js';
|
|
7
|
+
import { TableState_All } from './TableState.js';
|
|
8
|
+
import { StockFeatures } from '../features/stockFeatures.js';
|
|
9
|
+
export type ExtractFeatureTypes<TKey extends keyof FeatureConstructors, TFeatures extends TableFeatures> = UnionToIntersection<{
|
|
10
|
+
[K in keyof TFeatures]: TFeatures[K] extends TableFeature<infer FeatureConstructorOptions> ? TKey extends keyof FeatureConstructorOptions ? FeatureConstructorOptions[TKey] : never : any;
|
|
11
|
+
}[keyof TFeatures]>;
|
|
12
|
+
interface FeatureConstructors {
|
|
13
|
+
CachedRowModel?: any;
|
|
14
|
+
Cell?: any;
|
|
15
|
+
Column?: any;
|
|
16
|
+
ColumnDef?: any;
|
|
17
|
+
CreateRowModels?: any;
|
|
18
|
+
Header?: any;
|
|
19
|
+
HeaderGroup?: any;
|
|
20
|
+
Row?: any;
|
|
21
|
+
RowModelFns?: any;
|
|
22
|
+
Table?: any;
|
|
23
|
+
TableOptions?: any;
|
|
24
|
+
TableState?: any;
|
|
25
|
+
}
|
|
26
|
+
export interface Plugins {
|
|
27
|
+
}
|
|
28
|
+
export interface TableFeatures extends Partial<CoreFeatures>, Partial<StockFeatures>, Partial<Plugins> {
|
|
29
|
+
}
|
|
30
|
+
export type ConstructTableAPIs<TConstructors extends FeatureConstructors> = <TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData> & Partial<TConstructors['Table']> & {
|
|
31
|
+
options: Partial<TConstructors['TableOptions']>;
|
|
32
|
+
}) => void;
|
|
33
|
+
export type GetDefaultColumnDef<TConstructors extends FeatureConstructors> = <TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>() => ColumnDefBase_All<TFeatures, TData, TValue> & Partial<TConstructors['ColumnDef']>;
|
|
34
|
+
export type GetDefaultTableOptions<TConstructors extends FeatureConstructors> = <TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData> & Partial<TConstructors['Table']>) => Partial<TableOptions_All<TFeatures, TData>> & Partial<TConstructors['TableOptions']>;
|
|
35
|
+
export type GetInitialState<TConstructors extends FeatureConstructors> = (initialState: Partial<TableState_All> & Partial<TConstructors['TableState']>) => TableState_All & Partial<TConstructors['TableState']>;
|
|
36
|
+
export type GetDefaultStateSelector<TConstructors extends FeatureConstructors> = (state: TableState_All) => Partial<TableState_All> & Partial<TConstructors['TableState']>;
|
|
37
|
+
export type AssignCellPrototype<TConstructors extends FeatureConstructors> = <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>) => void;
|
|
38
|
+
export type AssignColumnPrototype<TConstructors extends FeatureConstructors> = <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>) => void;
|
|
39
|
+
export type AssignHeaderPrototype<TConstructors extends FeatureConstructors> = <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>) => void;
|
|
40
|
+
export type AssignRowPrototype<TConstructors extends FeatureConstructors> = <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>) => void;
|
|
41
|
+
export type InitRowInstanceData<TConstructors extends FeatureConstructors> = <TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData> & Partial<TConstructors['Row']>) => void;
|
|
42
|
+
export interface TableFeature<TConstructors extends FeatureConstructors> {
|
|
43
|
+
/**
|
|
44
|
+
* Assigns Cell APIs to the cell prototype for memory-efficient method sharing.
|
|
45
|
+
* This is called once per table to build a shared prototype for all cells.
|
|
46
|
+
*/
|
|
47
|
+
assignCellPrototype?: AssignCellPrototype<TConstructors>;
|
|
48
|
+
/**
|
|
49
|
+
* Assigns Column APIs to the column prototype for memory-efficient method sharing.
|
|
50
|
+
* This is called once per table to build a shared prototype for all columns.
|
|
51
|
+
*/
|
|
52
|
+
assignColumnPrototype?: AssignColumnPrototype<TConstructors>;
|
|
53
|
+
/**
|
|
54
|
+
* Assigns Header APIs to the header prototype for memory-efficient method sharing.
|
|
55
|
+
* This is called once per table to build a shared prototype for all headers.
|
|
56
|
+
*/
|
|
57
|
+
assignHeaderPrototype?: AssignHeaderPrototype<TConstructors>;
|
|
58
|
+
/**
|
|
59
|
+
* Assigns Row APIs to the row prototype for memory-efficient method sharing.
|
|
60
|
+
* This is called once per table to build a shared prototype for all rows.
|
|
61
|
+
*/
|
|
62
|
+
assignRowPrototype?: AssignRowPrototype<TConstructors>;
|
|
63
|
+
/**
|
|
64
|
+
* Assigns Table APIs to the table instance.
|
|
65
|
+
* Unlike row/cell/column/header, the table is a singleton so methods are assigned directly.
|
|
66
|
+
*/
|
|
67
|
+
constructTableAPIs?: ConstructTableAPIs<TConstructors>;
|
|
68
|
+
getDefaultColumnDef?: GetDefaultColumnDef<TConstructors>;
|
|
69
|
+
getDefaultTableOptions?: GetDefaultTableOptions<TConstructors>;
|
|
70
|
+
getInitialState?: GetInitialState<TConstructors>;
|
|
71
|
+
/**
|
|
72
|
+
* Initializes instance-specific data on each row (e.g., caches).
|
|
73
|
+
* Methods should be assigned via assignRowPrototype instead.
|
|
74
|
+
*/
|
|
75
|
+
initRowInstanceData?: InitRowInstanceData<TConstructors>;
|
|
76
|
+
}
|
|
77
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { CoreFeatures } from '../core/coreFeatures.js';
|
|
2
|
+
import { TableOptions_Cell } from '../core/cells/coreCellsFeature.types';
|
|
3
|
+
import { TableOptions_Columns } from '../core/columns/coreColumnsFeature.types';
|
|
4
|
+
import { TableOptions_Rows } from '../core/rows/coreRowsFeature.types';
|
|
5
|
+
import { TableOptions_Table } from '../core/table/coreTablesFeature.types';
|
|
6
|
+
import { TableOptions_ColumnFiltering } from '../features/column-filtering/columnFilteringFeature.types';
|
|
7
|
+
import { TableOptions_ColumnGrouping } from '../features/column-grouping/columnGroupingFeature.types';
|
|
8
|
+
import { TableOptions_ColumnOrdering } from '../features/column-ordering/columnOrderingFeature.types';
|
|
9
|
+
import { TableOptions_ColumnPinning } from '../features/column-pinning/columnPinningFeature.types';
|
|
10
|
+
import { TableOptions_ColumnResizing } from '../features/column-resizing/columnResizingFeature.types';
|
|
11
|
+
import { TableOptions_ColumnSizing } from '../features/column-sizing/columnSizingFeature.types';
|
|
12
|
+
import { TableOptions_ColumnVisibility } from '../features/column-visibility/columnVisibilityFeature.types';
|
|
13
|
+
import { TableOptions_GlobalFiltering } from '../features/global-filtering/globalFilteringFeature.types';
|
|
14
|
+
import { TableOptions_RowExpanding } from '../features/row-expanding/rowExpandingFeature.types';
|
|
15
|
+
import { TableOptions_RowPagination } from '../features/row-pagination/rowPaginationFeature.types';
|
|
16
|
+
import { TableOptions_RowPinning } from '../features/row-pinning/rowPinningFeature.types';
|
|
17
|
+
import { TableOptions_RowSelection } from '../features/row-selection/rowSelectionFeature.types';
|
|
18
|
+
import { TableOptions_RowSorting } from '../features/row-sorting/rowSortingFeature.types';
|
|
19
|
+
import { RowData, UnionToIntersection } from './type-utils.js';
|
|
20
|
+
import { ExtractFeatureTypes, TableFeatures } from './TableFeatures.js';
|
|
21
|
+
export interface TableOptions_Plugins<TFeatures extends TableFeatures, TData extends RowData> {
|
|
22
|
+
}
|
|
23
|
+
export interface TableOptions_Core<TFeatures extends TableFeatures, TData extends RowData> extends TableOptions_Table<TFeatures, TData>, TableOptions_Cell, TableOptions_Columns<TFeatures, TData>, TableOptions_Rows<TFeatures, TData> {
|
|
24
|
+
}
|
|
25
|
+
type DebugKeysFor<TFeatures extends TableFeatures> = {
|
|
26
|
+
[K in keyof TFeatures & string as `debug${Capitalize<K>}`]?: boolean;
|
|
27
|
+
};
|
|
28
|
+
export type DebugOptions<TFeatures extends TableFeatures> = {
|
|
29
|
+
debugAll?: boolean;
|
|
30
|
+
debugCache?: boolean;
|
|
31
|
+
debugCells?: boolean;
|
|
32
|
+
debugColumns?: boolean;
|
|
33
|
+
debugHeaders?: boolean;
|
|
34
|
+
debugRows?: boolean;
|
|
35
|
+
debugTable?: boolean;
|
|
36
|
+
} & DebugKeysFor<CoreFeatures & TFeatures>;
|
|
37
|
+
export type TableOptions<TFeatures extends TableFeatures, TData extends RowData> = TableOptions_Core<TFeatures, TData> & UnionToIntersection<('columnFilteringFeature' extends keyof TFeatures ? TableOptions_ColumnFiltering<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? TableOptions_ColumnGrouping : never) | ('columnOrderingFeature' extends keyof TFeatures ? TableOptions_ColumnOrdering : never) | ('columnPinningFeature' extends keyof TFeatures ? TableOptions_ColumnPinning : never) | ('columnResizingFeature' extends keyof TFeatures ? TableOptions_ColumnResizing : never) | ('columnSizingFeature' extends keyof TFeatures ? TableOptions_ColumnSizing : never) | ('columnVisibilityFeature' extends keyof TFeatures ? TableOptions_ColumnVisibility : never) | ('globalFilteringFeature' extends keyof TFeatures ? TableOptions_GlobalFiltering<TFeatures, TData> : never) | ('rowExpandingFeature' extends keyof TFeatures ? TableOptions_RowExpanding<TFeatures, TData> : never) | ('rowPaginationFeature' extends keyof TFeatures ? TableOptions_RowPagination : never) | ('rowPinningFeature' extends keyof TFeatures ? TableOptions_RowPinning<TFeatures, TData> : never) | ('rowSelectionFeature' extends keyof TFeatures ? TableOptions_RowSelection<TFeatures, TData> : never) | ('rowSortingFeature' extends keyof TFeatures ? TableOptions_RowSorting : never)> & ExtractFeatureTypes<'TableOptions', TFeatures> & TableOptions_Plugins<TFeatures, TData> & DebugOptions<TFeatures>;
|
|
38
|
+
export type TableOptions_All<TFeatures extends TableFeatures, TData extends RowData> = TableOptions_Core<TFeatures, TData> & Partial<TableOptions_ColumnFiltering<TFeatures, TData> & TableOptions_ColumnGrouping & TableOptions_ColumnOrdering & TableOptions_ColumnPinning & TableOptions_ColumnResizing & TableOptions_ColumnSizing & TableOptions_ColumnVisibility & TableOptions_GlobalFiltering<TFeatures, TData> & TableOptions_RowExpanding<TFeatures, TData> & TableOptions_RowPagination & TableOptions_RowPinning<TFeatures, TData> & TableOptions_RowSelection<TFeatures, TData> & TableOptions_RowSorting>;
|
|
39
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { UnionToIntersection } from './type-utils.js';
|
|
2
|
+
import { TableState_ColumnFiltering } from '../features/column-filtering/columnFilteringFeature.types';
|
|
3
|
+
import { TableState_ColumnGrouping } from '../features/column-grouping/columnGroupingFeature.types';
|
|
4
|
+
import { TableState_ColumnOrdering } from '../features/column-ordering/columnOrderingFeature.types';
|
|
5
|
+
import { TableState_ColumnPinning } from '../features/column-pinning/columnPinningFeature.types';
|
|
6
|
+
import { TableState_ColumnResizing } from '../features/column-resizing/columnResizingFeature.types';
|
|
7
|
+
import { TableState_ColumnSizing } from '../features/column-sizing/columnSizingFeature.types';
|
|
8
|
+
import { TableState_ColumnVisibility } from '../features/column-visibility/columnVisibilityFeature.types';
|
|
9
|
+
import { TableState_GlobalFiltering } from '../features/global-filtering/globalFilteringFeature.types';
|
|
10
|
+
import { TableState_RowExpanding } from '../features/row-expanding/rowExpandingFeature.types';
|
|
11
|
+
import { TableState_RowPagination } from '../features/row-pagination/rowPaginationFeature.types';
|
|
12
|
+
import { TableState_RowPinning } from '../features/row-pinning/rowPinningFeature.types';
|
|
13
|
+
import { TableState_RowSelection } from '../features/row-selection/rowSelectionFeature.types';
|
|
14
|
+
import { TableState_RowSorting } from '../features/row-sorting/rowSortingFeature.types';
|
|
15
|
+
import { ExtractFeatureTypes, TableFeatures } from './TableFeatures.js';
|
|
16
|
+
/**
|
|
17
|
+
* Use this interface as a target for declaration merging to add your own state properties.
|
|
18
|
+
* Note: This will affect the types of all tables in your project.
|
|
19
|
+
*/
|
|
20
|
+
export interface TableState_Plugins<TFeatures extends TableFeatures> {
|
|
21
|
+
}
|
|
22
|
+
export type TableState<TFeatures extends TableFeatures> = UnionToIntersection<('columnFilteringFeature' extends keyof TFeatures ? TableState_ColumnFiltering : never) | ('columnGroupingFeature' extends keyof TFeatures ? TableState_ColumnGrouping : never) | ('columnOrderingFeature' extends keyof TFeatures ? TableState_ColumnOrdering : never) | ('columnPinningFeature' extends keyof TFeatures ? TableState_ColumnPinning : never) | ('columnResizingFeature' extends keyof TFeatures ? TableState_ColumnResizing : never) | ('columnSizingFeature' extends keyof TFeatures ? TableState_ColumnSizing : never) | ('columnVisibilityFeature' extends keyof TFeatures ? TableState_ColumnVisibility : never) | ('globalFilteringFeature' extends keyof TFeatures ? TableState_GlobalFiltering : never) | ('rowExpandingFeature' extends keyof TFeatures ? TableState_RowExpanding : never) | ('rowPaginationFeature' extends keyof TFeatures ? TableState_RowPagination : never) | ('rowPinningFeature' extends keyof TFeatures ? TableState_RowPinning : never) | ('rowSelectionFeature' extends keyof TFeatures ? TableState_RowSelection : never) | ('rowSortingFeature' extends keyof TFeatures ? TableState_RowSorting : never)> & ExtractFeatureTypes<'TableState', TFeatures> & TableState_Plugins<TFeatures>;
|
|
23
|
+
export type TableState_All = Partial<TableState_ColumnFiltering & TableState_ColumnGrouping & TableState_ColumnOrdering & TableState_ColumnPinning & TableState_ColumnResizing & TableState_ColumnSizing & TableState_ColumnVisibility & TableState_GlobalFiltering & TableState_RowExpanding & TableState_RowPagination & TableState_RowPinning & TableState_RowSelection & TableState_RowSorting>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type Updater<T> = T | ((old: T) => T);
|
|
2
|
+
export type OnChangeFn<T> = (updaterOrValue: Updater<T>) => void;
|
|
3
|
+
export type RowData = Record<string, any> | Array<any>;
|
|
4
|
+
export type CellData = unknown;
|
|
5
|
+
export type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
6
|
+
export type RequiredKeys<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
|
|
7
|
+
export type UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (x: infer R) => any ? R : never;
|
|
8
|
+
type ComputeRange<N extends number, Result extends Array<unknown> = []> = Result['length'] extends N ? Result : ComputeRange<N, [...Result, Result['length']]>;
|
|
9
|
+
type Index40 = ComputeRange<40>[number];
|
|
10
|
+
type IsTuple<T> = T extends ReadonlyArray<any> & {
|
|
11
|
+
length: infer Length;
|
|
12
|
+
} ? Length extends Index40 ? T : never : never;
|
|
13
|
+
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;
|
|
14
|
+
export type DeepKeys<T, TDepth extends Array<any> = []> = TDepth['length'] extends 5 ? never : unknown extends T ? string : T extends ReadonlyArray<any> & IsTuple<T> ? AllowedIndexes<T> | DeepKeysPrefix<T, AllowedIndexes<T>, TDepth> : T extends Array<any> ? DeepKeys<T[number], [...TDepth, any]> : T extends Date ? never : T extends object ? (keyof T & string) | DeepKeysPrefix<T, keyof T, TDepth> : never;
|
|
15
|
+
type DeepKeysPrefix<T, TPrefix, TDepth extends Array<any>> = TPrefix extends keyof T & (number | string) ? `${TPrefix}.${DeepKeys<T[TPrefix], [...TDepth, any]> & string}` : never;
|
|
16
|
+
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;
|
|
17
|
+
export type NoInfer<T> = [T][T extends any ? 0 : never];
|
|
18
|
+
export type Getter<TValue> = <TTValue = TValue>() => NoInfer<TTValue>;
|
|
19
|
+
export type Prettify<T> = {
|
|
20
|
+
[K in keyof T]: T[K];
|
|
21
|
+
} & unknown;
|
|
22
|
+
export {};
|
package/dist/esm/utils.d.ts
CHANGED
|
@@ -1,39 +1,72 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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>;
|
|
1
|
+
import { Table, Table_Internal } from './types/Table.js';
|
|
2
|
+
import { NoInfer, RowData, Updater } from './types/type-utils.js';
|
|
3
|
+
import { TableFeatures } from './types/TableFeatures.js';
|
|
4
|
+
import { TableState, TableState_All } from './types/TableState.js';
|
|
22
5
|
export declare function functionalUpdate<T>(updater: Updater<T>, input: T): T;
|
|
23
6
|
export declare function noop(): void;
|
|
24
|
-
export declare function makeStateUpdater<K extends keyof TableState
|
|
7
|
+
export declare function makeStateUpdater<TFeatures extends TableFeatures, K extends (string & {}) | keyof TableState_All | keyof TableState<TFeatures>>(key: K, instance: Table<TFeatures, any>): (updater: Updater<TableState<any>[K & keyof TableState<any>]>) => void;
|
|
25
8
|
type AnyFunction = (...args: any) => any;
|
|
26
9
|
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
|
|
29
|
-
export declare
|
|
30
|
-
|
|
31
|
-
|
|
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;
|
|
10
|
+
export declare function isNumberArray(d: any): d is Array<number>;
|
|
11
|
+
export declare function flattenBy<TNode>(arr: Array<TNode>, getChildren: (item: TNode) => Array<TNode>): TNode[];
|
|
12
|
+
export declare const $internalMemoFnMeta: unique symbol;
|
|
13
|
+
export type MemoFnMeta = {
|
|
14
|
+
originalArgsLength?: number;
|
|
38
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
export declare function getMemoFnMeta(fn: any): MemoFnMeta | null;
|
|
20
|
+
interface MemoOptions<TDeps extends ReadonlyArray<any>, TDepArgs, TResult> {
|
|
21
|
+
fn: (...args: NoInfer<TDeps>) => TResult;
|
|
22
|
+
memoDeps?: (depArgs?: TDepArgs) => [...TDeps] | undefined;
|
|
23
|
+
onAfterCompare?: (depsChanged: boolean) => void;
|
|
24
|
+
onAfterUpdate?: (result: TResult) => void;
|
|
25
|
+
onBeforeCompare?: () => void;
|
|
26
|
+
onBeforeUpdate?: () => void;
|
|
27
|
+
}
|
|
28
|
+
export declare const memo: <TDeps extends ReadonlyArray<any>, TDepArgs, TResult>({ fn, memoDeps, onAfterCompare, onAfterUpdate, onBeforeCompare, onBeforeUpdate, }: MemoOptions<TDeps, TDepArgs, TResult>) => ((depArgs?: TDepArgs) => TResult);
|
|
29
|
+
interface TableMemoOptions<TFeatures extends TableFeatures, TDeps extends ReadonlyArray<any>, TDepArgs, TResult> extends MemoOptions<TDeps, TDepArgs, TResult> {
|
|
30
|
+
feature?: keyof TFeatures & string;
|
|
31
|
+
fnName: string;
|
|
32
|
+
objectId?: string;
|
|
33
|
+
onAfterUpdate?: () => void;
|
|
34
|
+
table: Table_Internal<TFeatures, any>;
|
|
35
|
+
}
|
|
36
|
+
export declare function tableMemo<TFeatures extends TableFeatures, TDeps extends ReadonlyArray<any>, TDepArgs, TResult>({ feature, fnName, objectId, onAfterUpdate, table, ...memoOptions }: TableMemoOptions<TFeatures, TDeps, TDepArgs, TResult>): (depArgs?: TDepArgs | undefined) => TResult;
|
|
37
|
+
export interface API<TDeps extends ReadonlyArray<any>, TDepArgs> {
|
|
38
|
+
fn: (...args: any) => any;
|
|
39
|
+
memoDeps?: (depArgs?: any) => [...any] | undefined;
|
|
40
|
+
}
|
|
41
|
+
export type APIObject<TDeps extends ReadonlyArray<any>, TDepArgs> = Record<string, API<TDeps, TDepArgs>>;
|
|
42
|
+
/**
|
|
43
|
+
* Assumes that a function name is in the format of `parentName_fnKey` and returns the `fnKey` and `fnName` in the format of `parentName.fnKey`.
|
|
44
|
+
*/
|
|
45
|
+
export declare function getFunctionNameInfo(staticFnName: string, splitBy?: '_' | '.'): {
|
|
46
|
+
fnKey: string;
|
|
47
|
+
fnName: string;
|
|
48
|
+
parentName: string;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Assigns Table API methods directly to the table instance.
|
|
52
|
+
* Unlike row/cell/column/header, the table is a singleton so methods are assigned directly.
|
|
53
|
+
*/
|
|
54
|
+
export declare function assignTableAPIs<TFeatures extends TableFeatures, TData extends RowData, TDeps extends ReadonlyArray<any>, TDepArgs>(feature: keyof TFeatures & string, table: Table_Internal<TFeatures, TData>, apis: APIObject<TDeps, NoInfer<TDepArgs>>): void;
|
|
55
|
+
export interface PrototypeAPI<TDeps extends ReadonlyArray<any>, TDepArgs> {
|
|
56
|
+
fn: (self: any, ...args: any) => any;
|
|
57
|
+
memoDeps?: (self: any, depArgs?: any) => [...any] | undefined;
|
|
58
|
+
}
|
|
59
|
+
export type PrototypeAPIObject<TDeps extends ReadonlyArray<any>, TDepArgs> = Record<string, PrototypeAPI<TDeps, TDepArgs>>;
|
|
60
|
+
/**
|
|
61
|
+
* Assigns API methods to a prototype object for memory-efficient method sharing.
|
|
62
|
+
* All instances created with this prototype will share the same method references.
|
|
63
|
+
*
|
|
64
|
+
* For memoized methods, the memo state is lazily created and stored on each instance.
|
|
65
|
+
* This provides the best of both worlds: shared method code + per-instance caching.
|
|
66
|
+
*/
|
|
67
|
+
export declare function assignPrototypeAPIs<TFeatures extends TableFeatures, TData extends RowData, TDeps extends ReadonlyArray<any>, TDepArgs>(feature: keyof TFeatures & string, prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>, apis: PrototypeAPIObject<TDeps, NoInfer<TDepArgs>>): void;
|
|
68
|
+
/**
|
|
69
|
+
* Looks to run the memoized function with the builder pattern on the object if it exists, otherwise fallback to the static method passed in.
|
|
70
|
+
*/
|
|
71
|
+
export declare function callMemoOrStaticFn<TObject extends Record<string, any>, TStaticFn extends AnyFunction>(obj: TObject, fnKey: string, staticFn: TStaticFn, ...args: Parameters<TStaticFn> extends [any, ...infer Rest] ? Rest : never): ReturnType<TStaticFn>;
|
|
39
72
|
export {};
|