@tanstack/table-core 9.0.0-alpha.10 → 9.0.0-alpha.12
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 +62 -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 +89 -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,157 @@
|
|
|
1
|
+
import { OnChangeFn, RowData, Updater } from '../../types/type-utils.js';
|
|
2
|
+
import { TableFeatures } from '../../types/TableFeatures.js';
|
|
3
|
+
import { Cell } from '../../types/Cell.js';
|
|
4
|
+
import { Header } from '../../types/Header.js';
|
|
5
|
+
import { HeaderGroup } from '../../types/HeaderGroup.js';
|
|
6
|
+
import { Column } from '../../types/Column.js';
|
|
7
|
+
export type ColumnPinningPosition = false | 'left' | 'right';
|
|
8
|
+
export interface ColumnPinningState {
|
|
9
|
+
left: Array<string>;
|
|
10
|
+
right: Array<string>;
|
|
11
|
+
}
|
|
12
|
+
export interface TableState_ColumnPinning {
|
|
13
|
+
columnPinning: ColumnPinningState;
|
|
14
|
+
}
|
|
15
|
+
export interface TableOptions_ColumnPinning {
|
|
16
|
+
/**
|
|
17
|
+
* Enables/disables column pinning for the table. Defaults to `true`.
|
|
18
|
+
*/
|
|
19
|
+
enableColumnPinning?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* If provided, this function will be called with an `updaterFn` when `state.columnPinning` changes. This overrides the default internal state management, so you will also need to supply `state.columnPinning` from your own managed state.
|
|
22
|
+
*/
|
|
23
|
+
onColumnPinningChange?: OnChangeFn<ColumnPinningState>;
|
|
24
|
+
}
|
|
25
|
+
export interface ColumnPinningDefaultOptions {
|
|
26
|
+
onColumnPinningChange: OnChangeFn<ColumnPinningState>;
|
|
27
|
+
}
|
|
28
|
+
export interface ColumnDef_ColumnPinning {
|
|
29
|
+
/**
|
|
30
|
+
* Enables/disables column pinning for this column. Defaults to `true`.
|
|
31
|
+
*/
|
|
32
|
+
enablePinning?: boolean;
|
|
33
|
+
}
|
|
34
|
+
export interface Column_ColumnPinning {
|
|
35
|
+
/**
|
|
36
|
+
* Returns whether or not the column can be pinned.
|
|
37
|
+
*/
|
|
38
|
+
getCanPin: () => boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Returns the pinned position of the column. (`'left'`, `'right'` or `false`)
|
|
41
|
+
*/
|
|
42
|
+
getIsPinned: () => ColumnPinningPosition;
|
|
43
|
+
/**
|
|
44
|
+
* Returns the numeric pinned index of the column within a pinned column group.
|
|
45
|
+
*/
|
|
46
|
+
getPinnedIndex: () => number;
|
|
47
|
+
/**
|
|
48
|
+
* Pins a column to the `'left'` or `'right'`, or unpins the column to the center if `false` is passed.
|
|
49
|
+
*/
|
|
50
|
+
pin: (position: ColumnPinningPosition) => void;
|
|
51
|
+
}
|
|
52
|
+
export interface Row_ColumnPinning<TFeatures extends TableFeatures, TData extends RowData> {
|
|
53
|
+
/**
|
|
54
|
+
* Returns all center pinned (unpinned) leaf cells in the row.
|
|
55
|
+
*/
|
|
56
|
+
getCenterVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
|
|
57
|
+
/**
|
|
58
|
+
* Returns all left pinned leaf cells in the row.
|
|
59
|
+
*/
|
|
60
|
+
getLeftVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
|
|
61
|
+
/**
|
|
62
|
+
* Returns all right pinned leaf cells in the row.
|
|
63
|
+
*/
|
|
64
|
+
getRightVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
|
|
65
|
+
}
|
|
66
|
+
export interface Table_ColumnPinning<TFeatures extends TableFeatures, TData extends RowData> {
|
|
67
|
+
/**
|
|
68
|
+
* If pinning, returns headers for all columns that are not pinned, including parent headers.
|
|
69
|
+
*/
|
|
70
|
+
getCenterFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
|
|
71
|
+
/**
|
|
72
|
+
* If pinning, returns the footer groups for columns that are not pinned.
|
|
73
|
+
*/
|
|
74
|
+
getCenterFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
|
|
75
|
+
/**
|
|
76
|
+
* If pinning, returns the header groups for columns that are not pinned.
|
|
77
|
+
*/
|
|
78
|
+
getCenterHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
|
|
79
|
+
/**
|
|
80
|
+
* Returns all center pinned (unpinned) leaf columns.
|
|
81
|
+
*/
|
|
82
|
+
getCenterLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
|
|
83
|
+
/**
|
|
84
|
+
* If pinning, returns headers for all columns that are not pinned, (not including parent headers).
|
|
85
|
+
*/
|
|
86
|
+
getCenterLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
|
|
87
|
+
/**
|
|
88
|
+
* If column pinning, returns a flat array of leaf-node columns that are visible in the unpinned/center portion of the table.
|
|
89
|
+
*/
|
|
90
|
+
getCenterVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
|
|
91
|
+
/**
|
|
92
|
+
* Returns whether or not any columns are pinned. Optionally specify to only check for pinned columns in either the `left` or `right` position.
|
|
93
|
+
*/
|
|
94
|
+
getIsSomeColumnsPinned: (position?: ColumnPinningPosition) => boolean;
|
|
95
|
+
/**
|
|
96
|
+
* If pinning, returns headers for all left pinned columns in the table, including parent headers.
|
|
97
|
+
*/
|
|
98
|
+
getLeftFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
|
|
99
|
+
/**
|
|
100
|
+
* If pinning, returns the footer groups for the left pinned columns.
|
|
101
|
+
*/
|
|
102
|
+
getLeftFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
|
|
103
|
+
/**
|
|
104
|
+
* If pinning, returns the header groups for the left pinned columns.
|
|
105
|
+
*/
|
|
106
|
+
getLeftHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
|
|
107
|
+
/**
|
|
108
|
+
* Returns all left pinned leaf columns.
|
|
109
|
+
*/
|
|
110
|
+
getLeftLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
|
|
111
|
+
/**
|
|
112
|
+
* If pinning, returns headers for all left pinned leaf columns in the table, (not including parent headers).
|
|
113
|
+
*/
|
|
114
|
+
getLeftLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
|
|
115
|
+
/**
|
|
116
|
+
* If column pinning, returns a flat array of leaf-node columns that are visible in the left portion of the table.
|
|
117
|
+
*/
|
|
118
|
+
getLeftVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
|
|
119
|
+
/**
|
|
120
|
+
* If pinning, returns headers for all right pinned columns in the table, including parent headers.
|
|
121
|
+
*/
|
|
122
|
+
getRightFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
|
|
123
|
+
/**
|
|
124
|
+
* If pinning, returns the footer groups for the right pinned columns.
|
|
125
|
+
*/
|
|
126
|
+
getRightFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
|
|
127
|
+
/**
|
|
128
|
+
* If pinning, returns the header groups for the right pinned columns.
|
|
129
|
+
*/
|
|
130
|
+
getRightHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
|
|
131
|
+
/**
|
|
132
|
+
* Returns all right pinned leaf columns.
|
|
133
|
+
*/
|
|
134
|
+
getRightLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
|
|
135
|
+
/**
|
|
136
|
+
* If pinning, returns headers for all right pinned leaf columns in the table, (not including parent headers).
|
|
137
|
+
*/
|
|
138
|
+
getRightLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
|
|
139
|
+
/**
|
|
140
|
+
* If column pinning, returns a flat array of leaf-node columns that are visible in the right portion of the table.
|
|
141
|
+
*/
|
|
142
|
+
getRightVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
|
|
143
|
+
/**
|
|
144
|
+
* Resets the **columnPinning** state to `initialState.columnPinning`, or `true` can be passed to force a default blank state reset to `{ left: [], right: [], }`.
|
|
145
|
+
*/
|
|
146
|
+
resetColumnPinning: (defaultState?: boolean) => void;
|
|
147
|
+
/**
|
|
148
|
+
* Sets or updates the `state.columnPinning` state.
|
|
149
|
+
*/
|
|
150
|
+
setColumnPinning: (updater: Updater<ColumnPinningState>) => void;
|
|
151
|
+
/**
|
|
152
|
+
*/
|
|
153
|
+
getPinnedLeafColumns: (position: ColumnPinningPosition | 'center') => Array<Column<TFeatures, TData, unknown>>;
|
|
154
|
+
/**
|
|
155
|
+
*/
|
|
156
|
+
getPinnedVisibleLeafColumns: (position: ColumnPinningPosition | 'center') => Array<Column<TFeatures, TData, unknown>>;
|
|
157
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { HeaderGroup } from '../../types/HeaderGroup.js';
|
|
2
|
+
import { Cell } from '../../types/Cell.js';
|
|
3
|
+
import { Row } from '../../types/Row.js';
|
|
4
|
+
import { CellData, RowData, Updater } from '../../types/type-utils.js';
|
|
5
|
+
import { TableFeatures } from '../../types/TableFeatures.js';
|
|
6
|
+
import { Table_Internal } from '../../types/Table.js';
|
|
7
|
+
import { Column_Internal } from '../../types/Column.js';
|
|
8
|
+
import { ColumnPinningPosition, ColumnPinningState } from './columnPinningFeature.types';
|
|
9
|
+
export declare function getDefaultColumnPinningState(): ColumnPinningState;
|
|
10
|
+
export declare function column_pin<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, position: ColumnPinningPosition): void;
|
|
11
|
+
export declare function column_getCanPin<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
|
|
12
|
+
export declare function column_getIsPinned<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): ColumnPinningPosition | false;
|
|
13
|
+
export declare function column_getPinnedIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): number;
|
|
14
|
+
export declare function row_getCenterVisibleCells<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): any[];
|
|
15
|
+
export declare function row_getLeftVisibleCells<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): Array<Cell<TFeatures, TData, unknown>>;
|
|
16
|
+
export declare function row_getRightVisibleCells<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): any;
|
|
17
|
+
export declare function table_setColumnPinning<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnPinningState>): void;
|
|
18
|
+
export declare function table_resetColumnPinning<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
|
|
19
|
+
export declare function table_getIsSomeColumnsPinned<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, position?: ColumnPinningPosition): boolean;
|
|
20
|
+
export declare function table_getLeftHeaderGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): HeaderGroup<TFeatures, TData>[];
|
|
21
|
+
export declare function table_getRightHeaderGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): HeaderGroup<TFeatures, TData>[];
|
|
22
|
+
export declare function table_getCenterHeaderGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Array<HeaderGroup<TFeatures, TData>>;
|
|
23
|
+
export declare function table_getLeftFooterGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
24
|
+
export declare function table_getRightFooterGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
25
|
+
export declare function table_getCenterFooterGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
26
|
+
export declare function table_getLeftFlatHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
27
|
+
export declare function table_getRightFlatHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
28
|
+
export declare function table_getCenterFlatHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
29
|
+
export declare function table_getLeftLeafHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
30
|
+
export declare function table_getRightLeafHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
31
|
+
export declare function table_getCenterLeafHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
32
|
+
export declare function table_getLeftLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): import('../..').Column<TFeatures, TData, unknown>[];
|
|
33
|
+
export declare function table_getRightLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): import('../..').Column<TFeatures, TData, unknown>[];
|
|
34
|
+
export declare function table_getCenterLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): import('../..').Column<TFeatures, TData, unknown>[];
|
|
35
|
+
export declare function table_getPinnedLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, position: ColumnPinningPosition | 'center'): any[];
|
|
36
|
+
export declare function table_getLeftVisibleLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
37
|
+
export declare function table_getRightVisibleLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
38
|
+
export declare function table_getCenterVisibleLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
39
|
+
export declare function table_getPinnedVisibleLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, position?: ColumnPinningPosition | 'center'): any[];
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
import { row_getAllVisibleCells, table_getVisibleLeafColumns, column_getIsVisible } from "../column-visibility/columnVisibilityFeature.utils.js";
|
|
2
|
+
import { buildHeaderGroups } from "../../core/headers/buildHeaderGroups.js";
|
|
3
|
+
import { callMemoOrStaticFn } from "../../utils.js";
|
|
4
|
+
function getDefaultColumnPinningState() {
|
|
5
|
+
return structuredClone({
|
|
6
|
+
left: [],
|
|
7
|
+
right: []
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
function column_pin(column, position) {
|
|
11
|
+
const columnIds = column.getLeafColumns().map((d) => d.id).filter(Boolean);
|
|
12
|
+
table_setColumnPinning(column.table, (old) => {
|
|
13
|
+
if (position === "right") {
|
|
14
|
+
return {
|
|
15
|
+
left: old.left.filter((d) => !columnIds.includes(d)),
|
|
16
|
+
right: [
|
|
17
|
+
...old.right.filter((d) => !columnIds.includes(d)),
|
|
18
|
+
...columnIds
|
|
19
|
+
]
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
if (position === "left") {
|
|
23
|
+
return {
|
|
24
|
+
left: [...old.left.filter((d) => !columnIds.includes(d)), ...columnIds],
|
|
25
|
+
right: old.right.filter((d) => !columnIds.includes(d))
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
left: old.left.filter((d) => !columnIds.includes(d)),
|
|
30
|
+
right: old.right.filter((d) => !columnIds.includes(d))
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
function column_getCanPin(column) {
|
|
35
|
+
const leafColumns = column.getLeafColumns();
|
|
36
|
+
return leafColumns.some(
|
|
37
|
+
(leafColumn) => (leafColumn.columnDef.enablePinning ?? true) && (column.table.options.enableColumnPinning ?? true)
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
function column_getIsPinned(column) {
|
|
41
|
+
const leafColumnIds = column.getLeafColumns().map((d) => d.id);
|
|
42
|
+
const { left, right } = column.table.store.state.columnPinning ?? getDefaultColumnPinningState();
|
|
43
|
+
const isLeft = leafColumnIds.some((d) => left.includes(d));
|
|
44
|
+
const isRight = leafColumnIds.some((d) => right.includes(d));
|
|
45
|
+
return isLeft ? "left" : isRight ? "right" : false;
|
|
46
|
+
}
|
|
47
|
+
function column_getPinnedIndex(column) {
|
|
48
|
+
const position = column_getIsPinned(column);
|
|
49
|
+
return position ? column.table.store.state.columnPinning?.[position].indexOf(column.id) ?? -1 : 0;
|
|
50
|
+
}
|
|
51
|
+
function row_getCenterVisibleCells(row) {
|
|
52
|
+
const allCells = callMemoOrStaticFn(
|
|
53
|
+
row,
|
|
54
|
+
"getAllVisibleCells",
|
|
55
|
+
row_getAllVisibleCells
|
|
56
|
+
);
|
|
57
|
+
const { left, right } = row.table.store.state.columnPinning ?? getDefaultColumnPinningState();
|
|
58
|
+
const leftAndRight = [...left, ...right];
|
|
59
|
+
return allCells.filter((d) => !leftAndRight.includes(d.column.id));
|
|
60
|
+
}
|
|
61
|
+
function row_getLeftVisibleCells(row) {
|
|
62
|
+
const allCells = callMemoOrStaticFn(
|
|
63
|
+
row,
|
|
64
|
+
"getAllVisibleCells",
|
|
65
|
+
row_getAllVisibleCells
|
|
66
|
+
);
|
|
67
|
+
const { left } = row.table.store.state.columnPinning ?? getDefaultColumnPinningState();
|
|
68
|
+
const cells = left.map((columnId) => allCells.find((cell) => cell.column.id === columnId)).filter(Boolean);
|
|
69
|
+
cells.forEach((cell) => {
|
|
70
|
+
cell.position = "left";
|
|
71
|
+
});
|
|
72
|
+
return cells;
|
|
73
|
+
}
|
|
74
|
+
function row_getRightVisibleCells(row) {
|
|
75
|
+
const allCells = callMemoOrStaticFn(
|
|
76
|
+
row,
|
|
77
|
+
"getAllVisibleCells",
|
|
78
|
+
row_getAllVisibleCells
|
|
79
|
+
);
|
|
80
|
+
const { right } = row.table.store.state.columnPinning ?? getDefaultColumnPinningState();
|
|
81
|
+
const cells = right.map((columnId) => allCells.find((cell) => cell.column.id === columnId)).filter(Boolean);
|
|
82
|
+
cells.forEach((cell) => {
|
|
83
|
+
cell.position = "right";
|
|
84
|
+
});
|
|
85
|
+
return cells;
|
|
86
|
+
}
|
|
87
|
+
function table_setColumnPinning(table, updater) {
|
|
88
|
+
table.options.onColumnPinningChange?.(updater);
|
|
89
|
+
}
|
|
90
|
+
function table_resetColumnPinning(table, defaultState) {
|
|
91
|
+
table_setColumnPinning(
|
|
92
|
+
table,
|
|
93
|
+
defaultState ? getDefaultColumnPinningState() : table.initialState.columnPinning ?? getDefaultColumnPinningState()
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
function table_getIsSomeColumnsPinned(table, position) {
|
|
97
|
+
const pinningState = table.store.state.columnPinning;
|
|
98
|
+
if (!position) {
|
|
99
|
+
return Boolean(pinningState?.left.length || pinningState?.right.length);
|
|
100
|
+
}
|
|
101
|
+
return Boolean(pinningState?.[position].length);
|
|
102
|
+
}
|
|
103
|
+
function table_getLeftHeaderGroups(table) {
|
|
104
|
+
const allColumns = table.getAllColumns();
|
|
105
|
+
const leafColumns = callMemoOrStaticFn(
|
|
106
|
+
table,
|
|
107
|
+
"getVisibleLeafColumns",
|
|
108
|
+
table_getVisibleLeafColumns
|
|
109
|
+
);
|
|
110
|
+
const { left } = table.store.state.columnPinning ?? getDefaultColumnPinningState();
|
|
111
|
+
const orderedLeafColumns = left.map((columnId) => leafColumns.find((d) => d.id === columnId)).filter(Boolean);
|
|
112
|
+
return buildHeaderGroups(allColumns, orderedLeafColumns, table, "left");
|
|
113
|
+
}
|
|
114
|
+
function table_getRightHeaderGroups(table) {
|
|
115
|
+
const allColumns = table.getAllColumns();
|
|
116
|
+
const leafColumns = callMemoOrStaticFn(
|
|
117
|
+
table,
|
|
118
|
+
"getVisibleLeafColumns",
|
|
119
|
+
table_getVisibleLeafColumns
|
|
120
|
+
);
|
|
121
|
+
const { right } = table.store.state.columnPinning ?? getDefaultColumnPinningState();
|
|
122
|
+
const orderedLeafColumns = right.map((columnId) => leafColumns.find((d) => d.id === columnId)).filter(Boolean);
|
|
123
|
+
return buildHeaderGroups(allColumns, orderedLeafColumns, table, "right");
|
|
124
|
+
}
|
|
125
|
+
function table_getCenterHeaderGroups(table) {
|
|
126
|
+
const allColumns = table.getAllColumns();
|
|
127
|
+
let leafColumns = callMemoOrStaticFn(
|
|
128
|
+
table,
|
|
129
|
+
"getVisibleLeafColumns",
|
|
130
|
+
table_getVisibleLeafColumns
|
|
131
|
+
);
|
|
132
|
+
const { left, right } = table.store.state.columnPinning ?? getDefaultColumnPinningState();
|
|
133
|
+
const leftAndRight = [...left, ...right];
|
|
134
|
+
leafColumns = leafColumns.filter(
|
|
135
|
+
(column) => !leftAndRight.includes(column.id)
|
|
136
|
+
);
|
|
137
|
+
return buildHeaderGroups(allColumns, leafColumns, table, "center");
|
|
138
|
+
}
|
|
139
|
+
function table_getLeftFooterGroups(table) {
|
|
140
|
+
const headerGroups = callMemoOrStaticFn(
|
|
141
|
+
table,
|
|
142
|
+
"getLeftHeaderGroups",
|
|
143
|
+
table_getLeftHeaderGroups
|
|
144
|
+
);
|
|
145
|
+
return [...headerGroups].reverse();
|
|
146
|
+
}
|
|
147
|
+
function table_getRightFooterGroups(table) {
|
|
148
|
+
const headerGroups = callMemoOrStaticFn(
|
|
149
|
+
table,
|
|
150
|
+
"getRightHeaderGroups",
|
|
151
|
+
table_getRightHeaderGroups
|
|
152
|
+
);
|
|
153
|
+
return [...headerGroups].reverse();
|
|
154
|
+
}
|
|
155
|
+
function table_getCenterFooterGroups(table) {
|
|
156
|
+
const headerGroups = callMemoOrStaticFn(
|
|
157
|
+
table,
|
|
158
|
+
"getCenterHeaderGroups",
|
|
159
|
+
table_getCenterHeaderGroups
|
|
160
|
+
);
|
|
161
|
+
return [...headerGroups].reverse();
|
|
162
|
+
}
|
|
163
|
+
function table_getLeftFlatHeaders(table) {
|
|
164
|
+
const leftHeaderGroups = callMemoOrStaticFn(
|
|
165
|
+
table,
|
|
166
|
+
"getLeftHeaderGroups",
|
|
167
|
+
table_getLeftHeaderGroups
|
|
168
|
+
);
|
|
169
|
+
return leftHeaderGroups.map((headerGroup) => {
|
|
170
|
+
return headerGroup.headers;
|
|
171
|
+
}).flat();
|
|
172
|
+
}
|
|
173
|
+
function table_getRightFlatHeaders(table) {
|
|
174
|
+
const rightHeaderGroups = callMemoOrStaticFn(
|
|
175
|
+
table,
|
|
176
|
+
"getRightHeaderGroups",
|
|
177
|
+
table_getRightHeaderGroups
|
|
178
|
+
);
|
|
179
|
+
return rightHeaderGroups.map((headerGroup) => {
|
|
180
|
+
return headerGroup.headers;
|
|
181
|
+
}).flat();
|
|
182
|
+
}
|
|
183
|
+
function table_getCenterFlatHeaders(table) {
|
|
184
|
+
const centerHeaderGroups = callMemoOrStaticFn(
|
|
185
|
+
table,
|
|
186
|
+
"getCenterHeaderGroups",
|
|
187
|
+
table_getCenterHeaderGroups
|
|
188
|
+
);
|
|
189
|
+
return centerHeaderGroups.map((headerGroup) => {
|
|
190
|
+
return headerGroup.headers;
|
|
191
|
+
}).flat();
|
|
192
|
+
}
|
|
193
|
+
function table_getLeftLeafHeaders(table) {
|
|
194
|
+
return callMemoOrStaticFn(
|
|
195
|
+
table,
|
|
196
|
+
"getLeftFlatHeaders",
|
|
197
|
+
table_getLeftFlatHeaders
|
|
198
|
+
).filter((header) => !header.subHeaders.length);
|
|
199
|
+
}
|
|
200
|
+
function table_getRightLeafHeaders(table) {
|
|
201
|
+
return callMemoOrStaticFn(
|
|
202
|
+
table,
|
|
203
|
+
"getRightFlatHeaders",
|
|
204
|
+
table_getRightFlatHeaders
|
|
205
|
+
).filter((header) => !header.subHeaders.length);
|
|
206
|
+
}
|
|
207
|
+
function table_getCenterLeafHeaders(table) {
|
|
208
|
+
return callMemoOrStaticFn(
|
|
209
|
+
table,
|
|
210
|
+
"getCenterFlatHeaders",
|
|
211
|
+
table_getCenterFlatHeaders
|
|
212
|
+
).filter((header) => !header.subHeaders.length);
|
|
213
|
+
}
|
|
214
|
+
function table_getLeftLeafColumns(table) {
|
|
215
|
+
const { left } = table.store.state.columnPinning ?? getDefaultColumnPinningState();
|
|
216
|
+
return left.map(
|
|
217
|
+
(columnId) => table.getAllLeafColumns().find((column) => column.id === columnId)
|
|
218
|
+
).filter(Boolean);
|
|
219
|
+
}
|
|
220
|
+
function table_getRightLeafColumns(table) {
|
|
221
|
+
const { right } = table.store.state.columnPinning ?? getDefaultColumnPinningState();
|
|
222
|
+
return right.map(
|
|
223
|
+
(columnId) => table.getAllLeafColumns().find((column) => column.id === columnId)
|
|
224
|
+
).filter(Boolean);
|
|
225
|
+
}
|
|
226
|
+
function table_getCenterLeafColumns(table) {
|
|
227
|
+
const { left, right } = table.store.state.columnPinning ?? getDefaultColumnPinningState();
|
|
228
|
+
const leftAndRight = [...left, ...right];
|
|
229
|
+
return table.getAllLeafColumns().filter((d) => !leftAndRight.includes(d.id));
|
|
230
|
+
}
|
|
231
|
+
function table_getPinnedLeafColumns(table, position) {
|
|
232
|
+
return !position ? table.getAllLeafColumns() : position === "left" ? callMemoOrStaticFn(
|
|
233
|
+
table,
|
|
234
|
+
"getLeftLeafColumns",
|
|
235
|
+
table_getLeftLeafColumns
|
|
236
|
+
) : position === "right" ? callMemoOrStaticFn(
|
|
237
|
+
table,
|
|
238
|
+
"getRightLeafColumns",
|
|
239
|
+
table_getRightLeafColumns
|
|
240
|
+
) : callMemoOrStaticFn(
|
|
241
|
+
table,
|
|
242
|
+
"getCenterLeafColumns",
|
|
243
|
+
table_getCenterLeafColumns
|
|
244
|
+
);
|
|
245
|
+
}
|
|
246
|
+
function table_getLeftVisibleLeafColumns(table) {
|
|
247
|
+
return callMemoOrStaticFn(
|
|
248
|
+
table,
|
|
249
|
+
"getLeftLeafColumns",
|
|
250
|
+
table_getLeftLeafColumns
|
|
251
|
+
).filter(
|
|
252
|
+
(column) => callMemoOrStaticFn(column, "getIsVisible", column_getIsVisible)
|
|
253
|
+
);
|
|
254
|
+
}
|
|
255
|
+
function table_getRightVisibleLeafColumns(table) {
|
|
256
|
+
return callMemoOrStaticFn(
|
|
257
|
+
table,
|
|
258
|
+
"getRightLeafColumns",
|
|
259
|
+
table_getRightLeafColumns
|
|
260
|
+
).filter(
|
|
261
|
+
(column) => callMemoOrStaticFn(column, "getIsVisible", column_getIsVisible)
|
|
262
|
+
);
|
|
263
|
+
}
|
|
264
|
+
function table_getCenterVisibleLeafColumns(table) {
|
|
265
|
+
return callMemoOrStaticFn(
|
|
266
|
+
table,
|
|
267
|
+
"getCenterLeafColumns",
|
|
268
|
+
table_getCenterLeafColumns
|
|
269
|
+
).filter(
|
|
270
|
+
(column) => callMemoOrStaticFn(column, "getIsVisible", column_getIsVisible)
|
|
271
|
+
);
|
|
272
|
+
}
|
|
273
|
+
function table_getPinnedVisibleLeafColumns(table, position) {
|
|
274
|
+
return !position ? callMemoOrStaticFn(
|
|
275
|
+
table,
|
|
276
|
+
"getVisibleLeafColumns",
|
|
277
|
+
table_getVisibleLeafColumns
|
|
278
|
+
) : position === "left" ? callMemoOrStaticFn(
|
|
279
|
+
table,
|
|
280
|
+
"getLeftVisibleLeafColumns",
|
|
281
|
+
table_getLeftVisibleLeafColumns
|
|
282
|
+
) : position === "right" ? callMemoOrStaticFn(
|
|
283
|
+
table,
|
|
284
|
+
"getRightVisibleLeafColumns",
|
|
285
|
+
table_getRightVisibleLeafColumns
|
|
286
|
+
) : callMemoOrStaticFn(
|
|
287
|
+
table,
|
|
288
|
+
"getCenterVisibleLeafColumns",
|
|
289
|
+
table_getCenterVisibleLeafColumns
|
|
290
|
+
);
|
|
291
|
+
}
|
|
292
|
+
export {
|
|
293
|
+
column_getCanPin,
|
|
294
|
+
column_getIsPinned,
|
|
295
|
+
column_getPinnedIndex,
|
|
296
|
+
column_pin,
|
|
297
|
+
getDefaultColumnPinningState,
|
|
298
|
+
row_getCenterVisibleCells,
|
|
299
|
+
row_getLeftVisibleCells,
|
|
300
|
+
row_getRightVisibleCells,
|
|
301
|
+
table_getCenterFlatHeaders,
|
|
302
|
+
table_getCenterFooterGroups,
|
|
303
|
+
table_getCenterHeaderGroups,
|
|
304
|
+
table_getCenterLeafColumns,
|
|
305
|
+
table_getCenterLeafHeaders,
|
|
306
|
+
table_getCenterVisibleLeafColumns,
|
|
307
|
+
table_getIsSomeColumnsPinned,
|
|
308
|
+
table_getLeftFlatHeaders,
|
|
309
|
+
table_getLeftFooterGroups,
|
|
310
|
+
table_getLeftHeaderGroups,
|
|
311
|
+
table_getLeftLeafColumns,
|
|
312
|
+
table_getLeftLeafHeaders,
|
|
313
|
+
table_getLeftVisibleLeafColumns,
|
|
314
|
+
table_getPinnedLeafColumns,
|
|
315
|
+
table_getPinnedVisibleLeafColumns,
|
|
316
|
+
table_getRightFlatHeaders,
|
|
317
|
+
table_getRightFooterGroups,
|
|
318
|
+
table_getRightHeaderGroups,
|
|
319
|
+
table_getRightLeafColumns,
|
|
320
|
+
table_getRightLeafHeaders,
|
|
321
|
+
table_getRightVisibleLeafColumns,
|
|
322
|
+
table_resetColumnPinning,
|
|
323
|
+
table_setColumnPinning
|
|
324
|
+
};
|
|
325
|
+
//# sourceMappingURL=columnPinningFeature.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnPinningFeature.utils.js","sources":["../../../../src/features/column-pinning/columnPinningFeature.utils.ts"],"sourcesContent":["import {\n column_getIsVisible,\n row_getAllVisibleCells,\n table_getVisibleLeafColumns,\n} from '../column-visibility/columnVisibilityFeature.utils'\nimport { buildHeaderGroups } from '../../core/headers/buildHeaderGroups'\nimport { callMemoOrStaticFn } from '../../utils'\nimport type { HeaderGroup } from '../../types/HeaderGroup'\nimport type { Cell } from '../../types/Cell'\nimport type { Row } from '../../types/Row'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\nimport type {\n ColumnPinningPosition,\n ColumnPinningState,\n} from './columnPinningFeature.types'\n\n// State\n\nexport function getDefaultColumnPinningState(): ColumnPinningState {\n return structuredClone({\n left: [],\n right: [],\n })\n}\n\n// Column APIs\n\nexport function column_pin<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position: ColumnPinningPosition,\n) {\n const columnIds = column\n .getLeafColumns()\n .map((d) => d.id)\n .filter(Boolean)\n\n table_setColumnPinning(column.table, (old) => {\n if (position === 'right') {\n return {\n left: old.left.filter((d) => !columnIds.includes(d)),\n right: [\n ...old.right.filter((d) => !columnIds.includes(d)),\n ...columnIds,\n ],\n }\n }\n\n if (position === 'left') {\n return {\n left: [...old.left.filter((d) => !columnIds.includes(d)), ...columnIds],\n right: old.right.filter((d) => !columnIds.includes(d)),\n }\n }\n\n return {\n left: old.left.filter((d) => !columnIds.includes(d)),\n right: old.right.filter((d) => !columnIds.includes(d)),\n }\n })\n}\n\nexport function column_getCanPin<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const leafColumns = column.getLeafColumns() as Array<\n Column_Internal<TFeatures, TData, TValue>\n >\n\n return leafColumns.some(\n (leafColumn) =>\n (leafColumn.columnDef.enablePinning ?? true) &&\n (column.table.options.enableColumnPinning ?? true),\n )\n}\n\nexport function column_getIsPinned<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n): ColumnPinningPosition | false {\n const leafColumnIds = column.getLeafColumns().map((d) => d.id)\n\n const { left, right } =\n column.table.store.state.columnPinning ?? getDefaultColumnPinningState()\n\n const isLeft = leafColumnIds.some((d) => left.includes(d))\n const isRight = leafColumnIds.some((d) => right.includes(d))\n\n return isLeft ? 'left' : isRight ? 'right' : false\n}\n\nexport function column_getPinnedIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const position = column_getIsPinned(column)\n\n return position\n ? (column.table.store.state.columnPinning?.[position].indexOf(column.id) ??\n -1)\n : 0\n}\n\n// Row APIs\n\nexport function row_getCenterVisibleCells<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const allCells = callMemoOrStaticFn(\n row,\n 'getAllVisibleCells',\n row_getAllVisibleCells,\n )\n const { left, right } =\n row.table.store.state.columnPinning ?? getDefaultColumnPinningState()\n const leftAndRight: Array<string> = [...left, ...right]\n return allCells.filter((d) => !leftAndRight.includes(d.column.id))\n}\n\nexport function row_getLeftVisibleCells<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): Array<Cell<TFeatures, TData, unknown>> {\n const allCells = callMemoOrStaticFn(\n row,\n 'getAllVisibleCells',\n row_getAllVisibleCells,\n )\n const { left } =\n row.table.store.state.columnPinning ?? getDefaultColumnPinningState()\n const cells = left\n .map((columnId) => allCells.find((cell) => cell.column.id === columnId)!)\n .filter(Boolean)\n // Assign position property directly to preserve prototype chain\n cells.forEach((cell) => {\n cell.position = 'left'\n })\n return cells as any\n}\n\nexport function row_getRightVisibleCells<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const allCells = callMemoOrStaticFn(\n row,\n 'getAllVisibleCells',\n row_getAllVisibleCells,\n )\n const { right } =\n row.table.store.state.columnPinning ?? getDefaultColumnPinningState()\n const cells = right\n .map((columnId) => allCells.find((cell) => cell.column.id === columnId)!)\n .filter(Boolean)\n // Assign position property directly to preserve prototype chain\n cells.forEach((cell) => {\n cell.position = 'right'\n })\n return cells as any\n}\n\n// Table APIs\n\nexport function table_setColumnPinning<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnPinningState>,\n) {\n table.options.onColumnPinningChange?.(updater)\n}\n\nexport function table_resetColumnPinning<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnPinning(\n table,\n defaultState\n ? getDefaultColumnPinningState()\n : (table.initialState.columnPinning ?? getDefaultColumnPinningState()),\n )\n}\n\nexport function table_getIsSomeColumnsPinned<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, position?: ColumnPinningPosition) {\n const pinningState = table.store.state.columnPinning\n\n if (!position) {\n return Boolean(pinningState?.left.length || pinningState?.right.length)\n }\n return Boolean(pinningState?.[position].length)\n}\n\n// header groups\n\nexport function table_getLeftHeaderGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const allColumns = table.getAllColumns()\n const leafColumns = callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ) as Array<Column_Internal<TFeatures, TData, unknown>>\n const { left } =\n table.store.state.columnPinning ?? getDefaultColumnPinningState()\n\n const orderedLeafColumns = left\n .map((columnId) => leafColumns.find((d) => d.id === columnId)!)\n .filter(Boolean)\n\n return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'left')\n}\n\nexport function table_getRightHeaderGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const allColumns = table.getAllColumns()\n const leafColumns = callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ) as unknown as Array<Column_Internal<TFeatures, TData, unknown>>\n const { right } =\n table.store.state.columnPinning ?? getDefaultColumnPinningState()\n\n const orderedLeafColumns = right\n .map((columnId) => leafColumns.find((d) => d.id === columnId)!)\n .filter(Boolean)\n\n return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'right')\n}\n\nexport function table_getCenterHeaderGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n): Array<HeaderGroup<TFeatures, TData>> {\n const allColumns = table.getAllColumns()\n let leafColumns = callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ) as unknown as Array<Column_Internal<TFeatures, TData, unknown>>\n const { left, right } =\n table.store.state.columnPinning ?? getDefaultColumnPinningState()\n const leftAndRight: Array<string> = [...left, ...right]\n\n leafColumns = leafColumns.filter(\n (column) => !leftAndRight.includes(column.id),\n )\n return buildHeaderGroups(allColumns, leafColumns, table, 'center')\n}\n\n// footer groups\n\nexport function table_getLeftFooterGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const headerGroups = callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n )\n return [...headerGroups].reverse()\n}\n\nexport function table_getRightFooterGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const headerGroups = callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n )\n return [...headerGroups].reverse()\n}\n\nexport function table_getCenterFooterGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const headerGroups = callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n )\n return [...headerGroups].reverse()\n}\n\n// flat headers\n\nexport function table_getLeftFlatHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const leftHeaderGroups = callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n )\n return leftHeaderGroups\n .map((headerGroup) => {\n return headerGroup.headers\n })\n .flat()\n}\n\nexport function table_getRightFlatHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const rightHeaderGroups = callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n )\n return rightHeaderGroups\n .map((headerGroup) => {\n return headerGroup.headers\n })\n .flat()\n}\n\nexport function table_getCenterFlatHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const centerHeaderGroups = callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n )\n return centerHeaderGroups\n .map((headerGroup) => {\n return headerGroup.headers\n })\n .flat()\n}\n\n// leaf headers\n\nexport function table_getLeftLeafHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return callMemoOrStaticFn(\n table,\n 'getLeftFlatHeaders',\n table_getLeftFlatHeaders,\n ).filter((header) => !header.subHeaders.length)\n}\n\nexport function table_getRightLeafHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return callMemoOrStaticFn(\n table,\n 'getRightFlatHeaders',\n table_getRightFlatHeaders,\n ).filter((header) => !header.subHeaders.length)\n}\n\nexport function table_getCenterLeafHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return callMemoOrStaticFn(\n table,\n 'getCenterFlatHeaders',\n table_getCenterFlatHeaders,\n ).filter((header) => !header.subHeaders.length)\n}\n\n// leaf columns\n\nexport function table_getLeftLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const { left } =\n table.store.state.columnPinning ?? getDefaultColumnPinningState()\n return left\n .map(\n (columnId) =>\n table.getAllLeafColumns().find((column) => column.id === columnId)!,\n )\n .filter(Boolean)\n}\n\nexport function table_getRightLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const { right } =\n table.store.state.columnPinning ?? getDefaultColumnPinningState()\n return right\n .map(\n (columnId) =>\n table.getAllLeafColumns().find((column) => column.id === columnId)!,\n )\n .filter(Boolean)\n}\n\nexport function table_getCenterLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const { left, right } =\n table.store.state.columnPinning ?? getDefaultColumnPinningState()\n const leftAndRight: Array<string> = [...left, ...right]\n return table.getAllLeafColumns().filter((d) => !leftAndRight.includes(d.id))\n}\n\nexport function table_getPinnedLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n position: ColumnPinningPosition | 'center',\n) {\n return !position\n ? table.getAllLeafColumns()\n : position === 'left'\n ? callMemoOrStaticFn(\n table,\n 'getLeftLeafColumns',\n table_getLeftLeafColumns,\n )\n : position === 'right'\n ? callMemoOrStaticFn(\n table,\n 'getRightLeafColumns',\n table_getRightLeafColumns,\n )\n : callMemoOrStaticFn(\n table,\n 'getCenterLeafColumns',\n table_getCenterLeafColumns,\n )\n}\n\n// visible leaf columns\n\nexport function table_getLeftVisibleLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return callMemoOrStaticFn(\n table,\n 'getLeftLeafColumns',\n table_getLeftLeafColumns,\n ).filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_getRightVisibleLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return callMemoOrStaticFn(\n table,\n 'getRightLeafColumns',\n table_getRightLeafColumns,\n ).filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_getCenterVisibleLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return callMemoOrStaticFn(\n table,\n 'getCenterLeafColumns',\n table_getCenterLeafColumns,\n ).filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_getPinnedVisibleLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n position?: ColumnPinningPosition | 'center',\n) {\n return !position\n ? callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n )\n : position === 'left'\n ? callMemoOrStaticFn(\n table,\n 'getLeftVisibleLeafColumns',\n table_getLeftVisibleLeafColumns,\n )\n : position === 'right'\n ? callMemoOrStaticFn(\n table,\n 'getRightVisibleLeafColumns',\n table_getRightVisibleLeafColumns,\n )\n : callMemoOrStaticFn(\n table,\n 'getCenterVisibleLeafColumns',\n table_getCenterVisibleLeafColumns,\n )\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RowData } from '../../types/type-utils.js';
|
|
2
|
+
import { TableFeature, TableFeatures } from '../../types/TableFeatures.js';
|
|
3
|
+
interface ColumnResizingFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {
|
|
4
|
+
}
|
|
5
|
+
export declare function constructColumnResizingFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<ColumnResizingFeatureConstructors<TFeatures, TData>>;
|
|
6
|
+
/**
|
|
7
|
+
* The Column Resizing feature adds column resizing state and APIs to the table and column objects.
|
|
8
|
+
* **Note:** This is dependent on the Column Sizing feature.
|
|
9
|
+
*/
|
|
10
|
+
export declare const columnResizingFeature: TableFeature<ColumnResizingFeatureConstructors<TableFeatures, RowData>>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { assignTableAPIs, assignPrototypeAPIs, makeStateUpdater } from "../../utils.js";
|
|
2
|
+
import { table_resetHeaderSizeInfo, table_setColumnResizing, header_getResizeHandler, column_getIsResizing, column_getCanResize, getDefaultColumnResizingState } from "./columnResizingFeature.utils.js";
|
|
3
|
+
function constructColumnResizingFeature() {
|
|
4
|
+
return {
|
|
5
|
+
getInitialState: (initialState) => {
|
|
6
|
+
return {
|
|
7
|
+
columnResizing: getDefaultColumnResizingState(),
|
|
8
|
+
...initialState
|
|
9
|
+
};
|
|
10
|
+
},
|
|
11
|
+
getDefaultTableOptions: (table) => {
|
|
12
|
+
return {
|
|
13
|
+
columnResizeMode: "onEnd",
|
|
14
|
+
columnResizeDirection: "ltr",
|
|
15
|
+
onColumnResizingChange: makeStateUpdater("columnResizing", table)
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
assignColumnPrototype: (prototype, table) => {
|
|
19
|
+
assignPrototypeAPIs("columnResizingFeature", prototype, table, {
|
|
20
|
+
column_getCanResize: {
|
|
21
|
+
fn: (column) => column_getCanResize(column)
|
|
22
|
+
},
|
|
23
|
+
column_getIsResizing: {
|
|
24
|
+
fn: (column) => column_getIsResizing(column)
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
},
|
|
28
|
+
assignHeaderPrototype: (prototype, table) => {
|
|
29
|
+
assignPrototypeAPIs("columnResizingFeature", prototype, table, {
|
|
30
|
+
header_getResizeHandler: {
|
|
31
|
+
fn: (header, _contextDocument) => header_getResizeHandler(header, _contextDocument)
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
},
|
|
35
|
+
constructTableAPIs: (table) => {
|
|
36
|
+
assignTableAPIs("columnResizingFeature", table, {
|
|
37
|
+
table_setColumnResizing: {
|
|
38
|
+
fn: (updater) => table_setColumnResizing(table, updater)
|
|
39
|
+
},
|
|
40
|
+
table_resetHeaderSizeInfo: {
|
|
41
|
+
fn: (defaultState) => table_resetHeaderSizeInfo(table, defaultState)
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
const columnResizingFeature = constructColumnResizingFeature();
|
|
48
|
+
export {
|
|
49
|
+
columnResizingFeature,
|
|
50
|
+
constructColumnResizingFeature
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=columnResizingFeature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnResizingFeature.js","sources":["../../../../src/features/column-resizing/columnResizingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getCanResize,\n column_getIsResizing,\n getDefaultColumnResizingState,\n header_getResizeHandler,\n table_resetHeaderSizeInfo,\n table_setColumnResizing,\n} from './columnResizingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Column_ColumnResizing,\n// Header_ColumnResizing,\n// TableOptions_ColumnResizing,\n// TableState_ColumnResizing,\n// Table_ColumnResizing,\n// } from './columnResizingFeature.types'\n\ninterface ColumnResizingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Column: Column_ColumnResizing\n // Header: Header_ColumnResizing\n // Table: Table_ColumnResizing\n // TableOptions: TableOptions_ColumnResizing\n // TableState: TableState_ColumnResizing\n}\n\nexport function constructColumnResizingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnResizingFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n columnResizing: getDefaultColumnResizingState(),\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n columnResizeMode: 'onEnd',\n columnResizeDirection: 'ltr',\n onColumnResizingChange: makeStateUpdater('columnResizing', table),\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnResizingFeature', prototype, table, {\n column_getCanResize: {\n fn: (column) => column_getCanResize(column),\n },\n column_getIsResizing: {\n fn: (column) => column_getIsResizing(column),\n },\n })\n },\n\n assignHeaderPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnResizingFeature', prototype, table, {\n header_getResizeHandler: {\n fn: (header, _contextDocument) =>\n header_getResizeHandler(header, _contextDocument),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnResizingFeature', table, {\n table_setColumnResizing: {\n fn: (updater) => table_setColumnResizing(table, updater),\n },\n table_resetHeaderSizeInfo: {\n fn: (defaultState) => table_resetHeaderSizeInfo(table, defaultState),\n },\n })\n },\n }\n}\n\n/**\n * The Column Resizing feature adds column resizing state and APIs to the table and column objects.\n * **Note:** This is dependent on the Column Sizing feature.\n */\nexport const columnResizingFeature = constructColumnResizingFeature()\n"],"names":[],"mappings":";;AAkCO,SAAS,iCAGuD;AACrE,SAAO;AAAA,IACL,iBAAiB,CAAC,iBAAiB;AACjC,aAAO;AAAA,QACL,gBAAgB,8BAAA;AAAA,QAChB,GAAG;AAAA,MAAA;AAAA,IAEP;AAAA,IAEA,wBAAwB,CAAC,UAAU;AACjC,aAAO;AAAA,QACL,kBAAkB;AAAA,QAClB,uBAAuB;AAAA,QACvB,wBAAwB,iBAAiB,kBAAkB,KAAK;AAAA,MAAA;AAAA,IAEpE;AAAA,IAEA,uBAAuB,CAAC,WAAW,UAAU;AAC3C,0BAAoB,yBAAyB,WAAW,OAAO;AAAA,QAC7D,qBAAqB;AAAA,UACnB,IAAI,CAAC,WAAW,oBAAoB,MAAM;AAAA,QAAA;AAAA,QAE5C,sBAAsB;AAAA,UACpB,IAAI,CAAC,WAAW,qBAAqB,MAAM;AAAA,QAAA;AAAA,MAC7C,CACD;AAAA,IACH;AAAA,IAEA,uBAAuB,CAAC,WAAW,UAAU;AAC3C,0BAAoB,yBAAyB,WAAW,OAAO;AAAA,QAC7D,yBAAyB;AAAA,UACvB,IAAI,CAAC,QAAQ,qBACX,wBAAwB,QAAQ,gBAAgB;AAAA,QAAA;AAAA,MACpD,CACD;AAAA,IACH;AAAA,IAEA,oBAAoB,CAAC,UAAU;AAC7B,sBAAgB,yBAAyB,OAAO;AAAA,QAC9C,yBAAyB;AAAA,UACvB,IAAI,CAAC,YAAY,wBAAwB,OAAO,OAAO;AAAA,QAAA;AAAA,QAEzD,2BAA2B;AAAA,UACzB,IAAI,CAAC,iBAAiB,0BAA0B,OAAO,YAAY;AAAA,QAAA;AAAA,MACrE,CACD;AAAA,IACH;AAAA,EAAA;AAEJ;AAMO,MAAM,wBAAwB,+BAAA;"}
|