@tanstack/table-core 9.0.0-beta.5 → 9.0.0-beta.51
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/README.md +2 -0
- package/dist/core/cells/constructCell.cjs +1 -4
- package/dist/core/cells/constructCell.cjs.map +1 -1
- package/dist/core/cells/constructCell.d.cts +4 -4
- package/dist/core/cells/constructCell.d.ts +4 -4
- package/dist/core/cells/constructCell.js +1 -4
- package/dist/core/cells/constructCell.js.map +1 -1
- package/dist/core/cells/coreCellsFeature.types.d.cts +7 -7
- package/dist/core/cells/coreCellsFeature.types.d.ts +7 -7
- package/dist/core/cells/coreCellsFeature.utils.d.cts +4 -4
- package/dist/core/cells/coreCellsFeature.utils.d.ts +4 -4
- package/dist/core/columns/constructColumn.cjs +4 -5
- package/dist/core/columns/constructColumn.cjs.map +1 -1
- package/dist/core/columns/constructColumn.d.cts +3 -3
- package/dist/core/columns/constructColumn.d.ts +3 -3
- package/dist/core/columns/constructColumn.js +4 -5
- package/dist/core/columns/constructColumn.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.cjs +12 -18
- package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.js +12 -18
- package/dist/core/columns/coreColumnsFeature.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -7
- package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -7
- package/dist/core/columns/coreColumnsFeature.utils.cjs +4 -8
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +9 -9
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +9 -9
- package/dist/core/columns/coreColumnsFeature.utils.js +5 -9
- package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
- package/dist/core/coreFeatures.cjs.map +1 -1
- package/dist/core/coreFeatures.d.cts +1 -1
- package/dist/core/coreFeatures.d.ts +1 -1
- package/dist/core/coreFeatures.js.map +1 -1
- package/dist/core/headers/buildHeaderGroups.cjs +1 -2
- package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
- package/dist/core/headers/buildHeaderGroups.d.cts +2 -2
- package/dist/core/headers/buildHeaderGroups.d.ts +2 -2
- package/dist/core/headers/buildHeaderGroups.js +1 -2
- package/dist/core/headers/buildHeaderGroups.js.map +1 -1
- package/dist/core/headers/constructHeader.cjs +1 -4
- package/dist/core/headers/constructHeader.cjs.map +1 -1
- package/dist/core/headers/constructHeader.d.cts +2 -2
- package/dist/core/headers/constructHeader.d.ts +2 -2
- package/dist/core/headers/constructHeader.js +1 -4
- package/dist/core/headers/constructHeader.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.cjs +8 -11
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.js +8 -11
- package/dist/core/headers/coreHeadersFeature.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -6
- package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.cjs +8 -10
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.js +8 -10
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +7 -15
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -15
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +8 -26
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +16 -16
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +16 -16
- package/dist/core/row-models/coreRowModelsFeature.utils.js +8 -26
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
- package/dist/core/row-models/createCoreRowModel.cjs +4 -6
- package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
- package/dist/core/row-models/createCoreRowModel.d.cts +2 -2
- package/dist/core/row-models/createCoreRowModel.d.ts +2 -2
- package/dist/core/row-models/createCoreRowModel.js +5 -7
- package/dist/core/row-models/createCoreRowModel.js.map +1 -1
- package/dist/core/rows/constructRow.cjs +6 -10
- package/dist/core/rows/constructRow.cjs.map +1 -1
- package/dist/core/rows/constructRow.d.cts +2 -2
- package/dist/core/rows/constructRow.d.ts +2 -2
- package/dist/core/rows/constructRow.js +7 -10
- package/dist/core/rows/constructRow.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.cjs +18 -2
- package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.js +19 -3
- package/dist/core/rows/coreRowsFeature.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +41 -7
- package/dist/core/rows/coreRowsFeature.types.d.ts +41 -7
- package/dist/core/rows/coreRowsFeature.utils.cjs +62 -8
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +24 -5
- package/dist/core/rows/coreRowsFeature.utils.d.ts +24 -5
- package/dist/core/rows/coreRowsFeature.utils.js +61 -10
- package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
- package/dist/core/table/constructTable.cjs +24 -14
- package/dist/core/table/constructTable.cjs.map +1 -1
- package/dist/core/table/constructTable.d.cts +1 -1
- package/dist/core/table/constructTable.d.ts +1 -1
- package/dist/core/table/constructTable.js +24 -14
- package/dist/core/table/constructTable.js.map +1 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +32 -19
- package/dist/core/table/coreTablesFeature.types.d.ts +32 -19
- package/dist/core/table/coreTablesFeature.utils.cjs +38 -14
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +10 -7
- package/dist/core/table/coreTablesFeature.utils.d.ts +10 -7
- package/dist/core/table/coreTablesFeature.utils.js +38 -14
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
- package/dist/experimental-worker-plugin.cjs +14 -0
- package/dist/experimental-worker-plugin.d.cts +5 -0
- package/dist/experimental-worker-plugin.d.ts +5 -0
- package/dist/experimental-worker-plugin.js +6 -0
- package/dist/features/column-faceting/columnFacetingFeature.cjs +12 -18
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.js +12 -18
- package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +15 -33
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -33
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +23 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +9 -9
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +9 -9
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +24 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +7 -4
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.js +8 -5
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs +10 -15
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +2 -2
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +2 -2
- package/dist/features/column-faceting/createFacetedRowModel.js +10 -15
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs +10 -6
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.js +11 -7
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.cjs +2 -2
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.js +3 -3
- package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +83 -29
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +83 -29
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +23 -17
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +18 -14
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +18 -14
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +23 -17
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +29 -25
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +10 -4
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +10 -4
- package/dist/features/column-filtering/createFilteredRowModel.js +30 -26
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
- package/dist/features/column-filtering/filterFns.cjs +399 -0
- package/dist/features/column-filtering/filterFns.cjs.map +1 -0
- package/dist/features/column-filtering/filterFns.d.cts +210 -0
- package/dist/features/column-filtering/filterFns.d.ts +210 -0
- package/dist/features/column-filtering/filterFns.js +375 -0
- package/dist/features/column-filtering/filterFns.js.map +1 -0
- package/dist/features/column-filtering/filterRowsUtils.cjs +3 -2
- package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
- package/dist/features/column-filtering/filterRowsUtils.js +3 -2
- package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.cjs +4 -16
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.js +6 -18
- package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +14 -50
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -50
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +6 -61
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +12 -49
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -49
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -60
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +37 -24
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -4
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -4
- package/dist/features/column-grouping/createGroupedRowModel.js +39 -26
- package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +17 -21
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.js +18 -22
- package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +28 -3
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -3
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +35 -15
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +26 -14
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -14
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -17
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.cjs +124 -143
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +6 -1
- package/dist/features/column-pinning/columnPinningFeature.d.ts +6 -1
- package/dist/features/column-pinning/columnPinningFeature.js +125 -144
- package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +52 -41
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +52 -41
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +161 -162
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +101 -92
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +101 -92
- package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -149
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.types.d.cts +1 -4
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +1 -4
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +84 -44
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +6 -6
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +6 -6
- package/dist/features/column-resizing/columnResizingFeature.utils.js +85 -45
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +33 -67
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.js +34 -68
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.types.d.cts +52 -9
- package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -9
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +88 -45
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +43 -25
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -25
- package/dist/features/column-sizing/columnSizingFeature.utils.js +88 -46
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +25 -36
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.js +25 -36
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +3 -3
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +3 -3
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +30 -29
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +18 -18
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +18 -18
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +31 -30
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +1 -2
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.js +1 -2
- package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +2 -2
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +2 -2
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +6 -6
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +8 -11
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +8 -11
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +6 -6
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
- package/dist/features/row-aggregation/aggregationFns.cjs +246 -0
- package/dist/features/row-aggregation/aggregationFns.cjs.map +1 -0
- package/dist/features/row-aggregation/aggregationFns.d.cts +68 -0
- package/dist/features/row-aggregation/aggregationFns.d.ts +68 -0
- package/dist/features/row-aggregation/aggregationFns.js +235 -0
- package/dist/features/row-aggregation/aggregationFns.js.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.cjs +39 -0
- package/dist/features/row-aggregation/rowAggregationFeature.cjs.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.d.cts +10 -0
- package/dist/features/row-aggregation/rowAggregationFeature.d.ts +10 -0
- package/dist/features/row-aggregation/rowAggregationFeature.js +39 -0
- package/dist/features/row-aggregation/rowAggregationFeature.js.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.cjs +13 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.cjs.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.d.cts +195 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +195 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.js +12 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.js.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs +212 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.d.cts +34 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +34 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.js +206 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.js.map +1 -0
- package/dist/features/row-expanding/createExpandedRowModel.cjs +6 -10
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +2 -2
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +2 -2
- package/dist/features/row-expanding/createExpandedRowModel.js +6 -10
- package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +6 -15
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +6 -15
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +28 -26
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +10 -10
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +10 -10
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +29 -27
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +6 -10
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +2 -2
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +2 -2
- package/dist/features/row-pagination/createPaginatedRowModel.js +6 -10
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +5 -14
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +5 -14
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +9 -15
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +17 -17
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +17 -17
- package/dist/features/row-pagination/rowPaginationFeature.utils.js +9 -15
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.cjs +4 -16
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.js +4 -16
- package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +2 -2
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +2 -2
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +9 -14
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +7 -7
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +7 -7
- package/dist/features/row-pinning/rowPinningFeature.utils.js +9 -14
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +66 -22
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.js +67 -23
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +49 -11
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +49 -11
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +128 -72
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +57 -30
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +57 -30
- package/dist/features/row-selection/rowSelectionFeature.utils.js +129 -74
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +69 -50
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.d.cts +10 -4
- package/dist/features/row-sorting/createSortedRowModel.d.ts +10 -4
- package/dist/features/row-sorting/createSortedRowModel.js +70 -51
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +54 -22
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +54 -22
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +31 -17
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +16 -16
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +16 -16
- package/dist/features/row-sorting/rowSortingFeature.utils.js +31 -17
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/sortFns.cjs +226 -0
- package/dist/features/row-sorting/sortFns.cjs.map +1 -0
- package/dist/features/row-sorting/sortFns.d.cts +98 -0
- package/dist/features/row-sorting/sortFns.d.ts +98 -0
- package/dist/features/row-sorting/sortFns.js +217 -0
- package/dist/features/row-sorting/sortFns.js.map +1 -0
- package/dist/features/stockFeatures.cjs +2 -0
- package/dist/features/stockFeatures.cjs.map +1 -1
- package/dist/features/stockFeatures.d.cts +2 -0
- package/dist/features/stockFeatures.d.ts +2 -0
- package/dist/features/stockFeatures.js +2 -0
- package/dist/features/stockFeatures.js.map +1 -1
- package/dist/flex-render.d.cts +1 -1
- package/dist/flex-render.d.ts +1 -1
- package/dist/helpers/columnHelper.cjs.map +1 -1
- package/dist/helpers/columnHelper.d.cts +2 -2
- package/dist/helpers/columnHelper.d.ts +2 -2
- package/dist/helpers/columnHelper.js.map +1 -1
- package/dist/helpers/metaHelper.cjs +30 -0
- package/dist/helpers/metaHelper.cjs.map +1 -0
- package/dist/helpers/metaHelper.d.cts +26 -0
- package/dist/helpers/metaHelper.d.ts +26 -0
- package/dist/helpers/metaHelper.js +29 -0
- package/dist/helpers/metaHelper.js.map +1 -0
- package/dist/helpers/tableFeatures.cjs +32 -3
- package/dist/helpers/tableFeatures.cjs.map +1 -1
- package/dist/helpers/tableFeatures.d.cts +34 -5
- package/dist/helpers/tableFeatures.d.ts +34 -5
- package/dist/helpers/tableFeatures.js +32 -3
- package/dist/helpers/tableFeatures.js.map +1 -1
- package/dist/index.cjs +23 -3
- package/dist/index.d.cts +31 -28
- package/dist/index.d.ts +31 -28
- package/dist/index.js +8 -5
- package/dist/static-functions.cjs +30 -19
- package/dist/static-functions.d.cts +8 -7
- package/dist/static-functions.d.ts +8 -7
- package/dist/static-functions.js +8 -7
- package/dist/store-reactivity-bindings.cjs +3 -3
- package/dist/store-reactivity-bindings.cjs.map +1 -1
- package/dist/store-reactivity-bindings.d.cts +1 -1
- package/dist/store-reactivity-bindings.d.ts +1 -1
- package/dist/store-reactivity-bindings.js +3 -3
- package/dist/store-reactivity-bindings.js.map +1 -1
- package/dist/types/Cell.d.cts +4 -2
- package/dist/types/Cell.d.ts +4 -2
- package/dist/types/Column.d.cts +15 -15
- package/dist/types/Column.d.ts +15 -15
- package/dist/types/ColumnDef.d.cts +30 -14
- package/dist/types/ColumnDef.d.ts +30 -14
- package/dist/types/Header.d.cts +2 -2
- package/dist/types/Header.d.ts +2 -2
- package/dist/types/HeaderGroup.d.cts +2 -2
- package/dist/types/HeaderGroup.d.ts +2 -2
- package/dist/types/Row.d.cts +6 -4
- package/dist/types/Row.d.ts +6 -4
- package/dist/types/RowModel.d.cts +11 -23
- package/dist/types/RowModel.d.ts +11 -23
- package/dist/types/RowModelFns.d.cts +4 -4
- package/dist/types/RowModelFns.d.ts +4 -4
- package/dist/types/Table.d.cts +26 -31
- package/dist/types/Table.d.ts +26 -31
- package/dist/types/TableFeatures.d.cts +350 -22
- package/dist/types/TableFeatures.d.ts +350 -22
- package/dist/types/TableOptions.d.cts +22 -14
- package/dist/types/TableOptions.d.ts +22 -14
- package/dist/types/TableState.d.cts +6 -6
- package/dist/types/TableState.d.ts +6 -6
- package/dist/types/type-utils.d.cts +8 -1
- package/dist/types/type-utils.d.ts +8 -1
- package/dist/utils.cjs +51 -29
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +30 -8
- package/dist/utils.d.ts +30 -8
- package/dist/utils.js +49 -30
- package/dist/utils.js.map +1 -1
- package/dist/worker/createTableWorker.cjs +189 -0
- package/dist/worker/createTableWorker.cjs.map +1 -0
- package/dist/worker/createTableWorker.d.cts +102 -0
- package/dist/worker/createTableWorker.d.ts +102 -0
- package/dist/worker/createTableWorker.js +186 -0
- package/dist/worker/createTableWorker.js.map +1 -0
- package/dist/worker/createWorkerRowModel.cjs +78 -0
- package/dist/worker/createWorkerRowModel.cjs.map +1 -0
- package/dist/worker/createWorkerRowModel.d.cts +42 -0
- package/dist/worker/createWorkerRowModel.d.ts +42 -0
- package/dist/worker/createWorkerRowModel.js +78 -0
- package/dist/worker/createWorkerRowModel.js.map +1 -0
- package/dist/worker/initTableWorker.cjs +100 -0
- package/dist/worker/initTableWorker.cjs.map +1 -0
- package/dist/worker/initTableWorker.d.cts +33 -0
- package/dist/worker/initTableWorker.d.ts +33 -0
- package/dist/worker/initTableWorker.js +100 -0
- package/dist/worker/initTableWorker.js.map +1 -0
- package/dist/worker/rebuildRowModel.cjs +72 -0
- package/dist/worker/rebuildRowModel.cjs.map +1 -0
- package/dist/worker/rebuildRowModel.d.cts +9 -0
- package/dist/worker/rebuildRowModel.d.ts +9 -0
- package/dist/worker/rebuildRowModel.js +72 -0
- package/dist/worker/rebuildRowModel.js.map +1 -0
- package/dist/worker/serializeRowModel.cjs +53 -0
- package/dist/worker/serializeRowModel.cjs.map +1 -0
- package/dist/worker/serializeRowModel.js +52 -0
- package/dist/worker/serializeRowModel.js.map +1 -0
- package/dist/worker/tableWorkerProtocol.cjs +29 -0
- package/dist/worker/tableWorkerProtocol.cjs.map +1 -0
- package/dist/worker/tableWorkerProtocol.d.cts +88 -0
- package/dist/worker/tableWorkerProtocol.d.ts +88 -0
- package/dist/worker/tableWorkerProtocol.js +27 -0
- package/dist/worker/tableWorkerProtocol.js.map +1 -0
- package/package.json +8 -3
- package/skills/aggregation/SKILL.md +141 -0
- package/skills/api-not-found/SKILL.md +113 -0
- package/skills/client-vs-server/SKILL.md +164 -0
- package/skills/column-faceting/SKILL.md +97 -0
- package/skills/column-filtering/SKILL.md +87 -0
- package/skills/column-ordering/SKILL.md +75 -0
- package/skills/column-pinning/SKILL.md +89 -0
- package/skills/column-resizing/SKILL.md +91 -0
- package/skills/column-sizing/SKILL.md +72 -0
- package/skills/column-visibility/SKILL.md +75 -0
- package/skills/core/SKILL.md +175 -0
- package/skills/custom-features/SKILL.md +235 -0
- package/skills/expanding/SKILL.md +80 -0
- package/skills/global-filtering/SKILL.md +84 -0
- package/skills/grouping/SKILL.md +51 -401
- package/skills/migrate-v8-to-v9/SKILL.md +274 -416
- package/skills/pagination/SKILL.md +37 -344
- package/skills/row-pinning/SKILL.md +47 -234
- package/skills/row-selection/SKILL.md +75 -302
- package/skills/sorting/SKILL.md +45 -303
- package/skills/table-features/SKILL.md +159 -0
- package/skills/typescript/SKILL.md +126 -0
- package/src/core/cells/coreCellsFeature.types.ts +6 -6
- package/src/core/columns/constructColumn.ts +6 -0
- package/src/core/columns/coreColumnsFeature.types.ts +8 -8
- package/src/core/columns/coreColumnsFeature.utils.ts +4 -4
- package/src/core/coreFeatures.ts +1 -1
- package/src/core/headers/buildHeaderGroups.ts +4 -2
- package/src/core/headers/coreHeadersFeature.types.ts +12 -12
- package/src/core/headers/coreHeadersFeature.utils.ts +7 -8
- package/src/core/row-models/coreRowModelsFeature.types.ts +6 -20
- package/src/core/row-models/coreRowModelsFeature.utils.ts +8 -8
- package/src/core/row-models/createCoreRowModel.ts +7 -6
- package/src/core/rows/constructRow.ts +4 -2
- package/src/core/rows/coreRowsFeature.ts +21 -0
- package/src/core/rows/coreRowsFeature.types.ts +45 -8
- package/src/core/rows/coreRowsFeature.utils.ts +93 -5
- package/src/core/table/constructTable.ts +44 -6
- package/src/core/table/coreTablesFeature.types.ts +45 -20
- package/src/core/table/coreTablesFeature.utils.ts +59 -19
- package/src/experimental-worker-plugin.ts +22 -0
- package/src/features/column-faceting/columnFacetingFeature.types.ts +17 -48
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +53 -18
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +33 -7
- package/src/features/column-faceting/createFacetedRowModel.ts +8 -1
- package/src/features/column-faceting/createFacetedUniqueValues.ts +41 -10
- package/src/features/column-filtering/columnFilteringFeature.ts +3 -2
- package/src/features/column-filtering/columnFilteringFeature.types.ts +117 -41
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +37 -23
- package/src/features/column-filtering/createFilteredRowModel.ts +28 -17
- package/src/features/column-filtering/filterFns.ts +533 -0
- package/src/features/column-filtering/filterRowsUtils.ts +3 -2
- package/src/features/column-grouping/columnGroupingFeature.ts +3 -21
- package/src/features/column-grouping/columnGroupingFeature.types.ts +21 -95
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +4 -87
- package/src/features/column-grouping/createGroupedRowModel.ts +46 -45
- package/src/features/column-ordering/columnOrderingFeature.ts +12 -7
- package/src/features/column-ordering/columnOrderingFeature.types.ts +29 -3
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +59 -8
- package/src/features/column-pinning/columnPinningFeature.ts +76 -59
- package/src/features/column-pinning/columnPinningFeature.types.ts +53 -42
- package/src/features/column-pinning/columnPinningFeature.utils.ts +184 -170
- package/src/features/column-resizing/columnResizingFeature.types.ts +1 -4
- package/src/features/column-resizing/columnResizingFeature.utils.ts +120 -52
- package/src/features/column-sizing/columnSizingFeature.ts +24 -24
- package/src/features/column-sizing/columnSizingFeature.types.ts +53 -8
- package/src/features/column-sizing/columnSizingFeature.utils.ts +143 -62
- package/src/features/column-visibility/columnVisibilityFeature.ts +4 -0
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +48 -30
- package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +13 -5
- package/src/features/row-aggregation/aggregationFns.ts +345 -0
- package/src/features/row-aggregation/rowAggregationFeature.ts +60 -0
- package/src/features/row-aggregation/rowAggregationFeature.types.ts +339 -0
- package/src/features/row-aggregation/rowAggregationFeature.utils.ts +430 -0
- package/src/features/row-expanding/rowExpandingFeature.types.ts +8 -23
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +38 -13
- package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
- package/src/features/row-pagination/rowPaginationFeature.types.ts +6 -21
- package/src/features/row-pagination/rowPaginationFeature.utils.ts +1 -1
- package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
- package/src/features/row-selection/rowSelectionFeature.ts +53 -3
- package/src/features/row-selection/rowSelectionFeature.types.ts +54 -10
- package/src/features/row-selection/rowSelectionFeature.utils.ts +273 -91
- package/src/features/row-sorting/createSortedRowModel.ts +107 -75
- package/src/features/row-sorting/rowSortingFeature.types.ts +87 -34
- package/src/features/row-sorting/rowSortingFeature.utils.ts +49 -23
- package/src/features/row-sorting/sortFns.ts +366 -0
- package/src/features/stockFeatures.ts +3 -0
- package/src/helpers/columnHelper.ts +4 -4
- package/src/helpers/metaHelper.ts +24 -0
- package/src/helpers/tableFeatures.ts +37 -5
- package/src/index.ts +8 -8
- package/src/static-functions.ts +1 -0
- package/src/store-reactivity-bindings.ts +1 -1
- package/src/types/Cell.ts +4 -2
- package/src/types/Column.ts +13 -9
- package/src/types/ColumnDef.ts +40 -10
- package/src/types/Header.ts +2 -2
- package/src/types/HeaderGroup.ts +6 -6
- package/src/types/Row.ts +6 -4
- package/src/types/RowModel.ts +19 -74
- package/src/types/RowModelFns.ts +10 -10
- package/src/types/Table.ts +52 -27
- package/src/types/TableFeatures.ts +392 -14
- package/src/types/TableOptions.ts +67 -14
- package/src/types/TableState.ts +15 -1
- package/src/types/type-utils.ts +8 -0
- package/src/utils.ts +60 -8
- package/src/worker/createTableWorker.ts +357 -0
- package/src/worker/createWorkerRowModel.ts +121 -0
- package/src/worker/initTableWorker.ts +164 -0
- package/src/worker/rebuildRowModel.ts +120 -0
- package/src/worker/serializeRowModel.ts +80 -0
- package/src/worker/tableWorkerProtocol.ts +105 -0
- package/dist/fns/aggregationFns.cjs +0 -161
- package/dist/fns/aggregationFns.cjs.map +0 -1
- package/dist/fns/aggregationFns.d.cts +0 -85
- package/dist/fns/aggregationFns.d.ts +0 -85
- package/dist/fns/aggregationFns.js +0 -151
- package/dist/fns/aggregationFns.js.map +0 -1
- package/dist/fns/filterFns.cjs +0 -201
- package/dist/fns/filterFns.cjs.map +0 -1
- package/dist/fns/filterFns.d.cts +0 -167
- package/dist/fns/filterFns.d.ts +0 -167
- package/dist/fns/filterFns.js +0 -185
- package/dist/fns/filterFns.js.map +0 -1
- package/dist/fns/sortFns.cjs +0 -118
- package/dist/fns/sortFns.cjs.map +0 -1
- package/dist/fns/sortFns.d.cts +0 -65
- package/dist/fns/sortFns.d.ts +0 -65
- package/dist/fns/sortFns.js +0 -110
- package/dist/fns/sortFns.js.map +0 -1
- package/skills/column-definitions/SKILL.md +0 -333
- package/skills/column-layout/SKILL.md +0 -328
- package/skills/column-layout/references/subsystems.md +0 -220
- package/skills/customizing-feature-behavior/SKILL.md +0 -416
- package/skills/filtering/SKILL.md +0 -357
- package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
- package/skills/row-expanding/SKILL.md +0 -348
- package/skills/setup/SKILL.md +0 -400
- package/skills/state-management/SKILL.md +0 -388
- package/src/fns/aggregationFns.ts +0 -245
- package/src/fns/filterFns.ts +0 -382
- package/src/fns/sortFns.ts +0 -217
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnPinningFeature.utils.cjs","names":["callMemoOrStaticFn","row_getVisibleCells","row_getVisibleCellsByColumnId","cloneState","column_getIsVisible","buildHeaderGroups","table_getVisibleLeafColumns"],"sources":["../../../src/features/column-pinning/columnPinningFeature.utils.ts"],"sourcesContent":["import {\n column_getIsVisible,\n row_getVisibleCells,\n row_getVisibleCellsByColumnId,\n table_getVisibleLeafColumns,\n} from '../column-visibility/columnVisibilityFeature.utils'\nimport { buildHeaderGroups } from '../../core/headers/buildHeaderGroups'\nimport { callMemoOrStaticFn, cloneState } from '../../utils'\nimport type { Header } from '../../types/Header'\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\n/**\n * Creates the default column pinning state.\n *\n * Both pinning regions start empty. Reset APIs use this value when\n * `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const pinning = getDefaultColumnPinningState()\n * ```\n */\nexport function getDefaultColumnPinningState(): ColumnPinningState {\n return {\n left: [],\n right: [],\n }\n}\n\n// Column APIs\n\n/**\n * Moves this column's leaf column ids into a pinning region.\n *\n * Pinning a group column pins all of its leaves. The leaf ids are first removed\n * from both regions, then appended to the requested `'left'` or `'right'`\n * region. Passing `false` unpins them back to the center.\n *\n * @example\n * ```ts\n * column_pin(column, 'left')\n * ```\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 // Single pass: collect non-empty leaf-column ids.\n const leafColumns = column.getLeafColumns()\n const columnIds: Array<string> = []\n for (let i = 0; i < leafColumns.length; i++) {\n const id = leafColumns[i]!.id\n if (id) columnIds.push(id)\n }\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\n/**\n * Checks whether this column or any of its leaf columns can be pinned.\n *\n * Column-level `enablePinning` and table `enableColumnPinning` both default to\n * `true`; at least one leaf column must allow pinning.\n *\n * @example\n * ```ts\n * const canPin = column_getCanPin(column)\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\n/**\n * Reads this column's current pinning region.\n *\n * Group columns report `'left'` or `'right'` when any leaf column is pinned in\n * that region. Unpinned columns return `false`.\n *\n * @example\n * ```ts\n * const position = column_getIsPinned(column)\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.atoms.columnPinning?.get() ?? 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\n/**\n * Finds this column's index within its pinned region.\n *\n * Unpinned columns return `0`; pinned columns return their position in\n * `state.columnPinning.left` or `state.columnPinning.right`.\n *\n * @example\n * ```ts\n * const index = column_getPinnedIndex(column)\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.atoms.columnPinning?.get()?.[position].indexOf(column.id) ??\n -1)\n : 0\n}\n\n// Row APIs\n\n/**\n * Collects visible cells whose columns are not pinned left or right.\n *\n * The result preserves the row's visible-cell order for center columns.\n *\n * @example\n * ```ts\n * const centerCells = row_getCenterVisibleCells(row)\n * ```\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 'getVisibleCells',\n row_getVisibleCells,\n )\n const { left, right } =\n row.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n const leftAndRight: Array<string> = [...left, ...right]\n return allCells.filter((d) => !leftAndRight.includes(d.column.id))\n}\n\n/**\n * Collects visible cells for columns pinned to the left region.\n *\n * Cells are returned in `state.columnPinning.left` order and are marked with\n * `cell.position = 'left'`.\n *\n * @example\n * ```ts\n * const leftCells = row_getLeftVisibleCells(row)\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 { left } =\n row.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n if (!left.length) return []\n const allVisibleCells = callMemoOrStaticFn(\n row,\n 'getVisibleCellsByColumnId',\n row_getVisibleCellsByColumnId,\n )\n const cells: Array<Cell<TFeatures, TData, unknown>> = []\n for (let i = 0; i < left.length; i++) {\n const columnId = left[i]!\n const cell = allVisibleCells[columnId]\n if (cell) {\n // Assign position property directly to preserve prototype chain\n ;(cell as any).position = 'left'\n cells.push(cell)\n }\n }\n return cells\n}\n\n/**\n * Collects visible cells for columns pinned to the right region.\n *\n * Cells are returned in `state.columnPinning.right` order and are marked with\n * `cell.position = 'right'`.\n *\n * @example\n * ```ts\n * const rightCells = row_getRightVisibleCells(row)\n * ```\n */\nexport function row_getRightVisibleCells<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const { right } =\n row.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n if (!right.length) return [] as Array<Cell<TFeatures, TData, unknown>>\n const allVisibleCells = callMemoOrStaticFn(\n row,\n 'getVisibleCellsByColumnId',\n row_getVisibleCellsByColumnId,\n )\n const cells: Array<Cell<TFeatures, TData, unknown>> = []\n for (let i = 0; i < right.length; i++) {\n const columnId = right[i]!\n const cell = allVisibleCells[columnId]\n if (cell) {\n // Assign position property directly to preserve prototype chain\n ;(cell as any).position = 'right'\n cells.push(cell)\n }\n }\n return cells\n}\n\n// Table APIs\n\n/**\n * Routes a column pinning updater through the table's pinning change handler.\n *\n * The updater may be a next `{ left, right }` state or a function of the\n * previous state, matching the instance `table.setColumnPinning` behavior.\n *\n * @example\n * ```ts\n * table_setColumnPinning(table, (old) => ({ ...old, left: ['select'] }))\n * ```\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\n/**\n * Resets `columnPinning` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnPinning` when it\n * exists. Passing `true` ignores initial state and resets to empty left/right\n * arrays.\n *\n * @example\n * ```ts\n * table_resetColumnPinning(table)\n * table_resetColumnPinning(table, true)\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 : cloneState(\n table.initialState.columnPinning ?? getDefaultColumnPinningState(),\n ),\n )\n}\n\n/**\n * Checks whether any columns are pinned.\n *\n * Omit `position` to check both sides, or pass `'left'`/`'right'` to inspect a\n * single pinning region.\n *\n * @example\n * ```ts\n * const hasPinnedColumns = table_getIsSomeColumnsPinned(table)\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.atoms.columnPinning?.get()\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\n/**\n * Builds header groups for visible columns pinned to the left region.\n *\n * The leaf columns are read in `state.columnPinning.left` order and then passed\n * through the same header-group builder as the unpinned table.\n *\n * @example\n * ```ts\n * const headerGroups = table_getLeftHeaderGroups(table)\n * ```\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 leafColumnsById = table.getAllLeafColumnsById() as Record<\n string,\n Column_Internal<TFeatures, TData, unknown>\n >\n const { left } =\n table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n\n const orderedLeafColumns: Array<Column_Internal<TFeatures, TData, unknown>> =\n []\n for (let i = 0; i < left.length; i++) {\n const column = leafColumnsById[left[i]!]\n if (\n column &&\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible)\n ) {\n orderedLeafColumns.push(column)\n }\n }\n\n return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'left')\n}\n\n/**\n * Builds header groups for visible columns pinned to the right region.\n *\n * The leaf columns are read in `state.columnPinning.right` order and then\n * passed through the same header-group builder as the unpinned table.\n *\n * @example\n * ```ts\n * const headerGroups = table_getRightHeaderGroups(table)\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 leafColumnsById = table.getAllLeafColumnsById() as Record<\n string,\n Column_Internal<TFeatures, TData, unknown>\n >\n const { right } =\n table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n\n const orderedLeafColumns: Array<Column_Internal<TFeatures, TData, unknown>> =\n []\n for (let i = 0; i < right.length; i++) {\n const column = leafColumnsById[right[i]!]\n if (\n column &&\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible)\n ) {\n orderedLeafColumns.push(column)\n }\n }\n\n return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'right')\n}\n\n/**\n * Builds header groups for visible columns that are not pinned.\n *\n * Left- and right-pinned column ids are removed from the visible leaf column\n * list before header groups are built for the center region.\n *\n * @example\n * ```ts\n * const headerGroups = table_getCenterHeaderGroups(table)\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.atoms.columnPinning?.get() ?? 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\n/**\n * Builds footer groups for the left pinned region.\n *\n * Footer groups reuse the left header groups in reverse order.\n *\n * @example\n * ```ts\n * const footerGroups = table_getLeftFooterGroups(table)\n * ```\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\n/**\n * Builds footer groups for the right pinned region.\n *\n * Footer groups reuse the right header groups in reverse order.\n *\n * @example\n * ```ts\n * const footerGroups = table_getRightFooterGroups(table)\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\n/**\n * Builds footer groups for the center, unpinned region.\n *\n * Footer groups reuse the center header groups in reverse order.\n *\n * @example\n * ```ts\n * const footerGroups = table_getCenterFooterGroups(table)\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\n/**\n * Flattens every header from the left pinned header groups.\n *\n * Parent headers and placeholder headers are included.\n *\n * @example\n * ```ts\n * const headers = table_getLeftFlatHeaders(table)\n * ```\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 const result: Array<Header<TFeatures, TData, unknown>> = []\n for (let i = 0; i < leftHeaderGroups.length; i++) {\n const headers = leftHeaderGroups[i]!.headers\n for (let j = 0; j < headers.length; j++) {\n result.push(headers[j]!)\n }\n }\n return result\n}\n\n/**\n * Flattens every header from the right pinned header groups.\n *\n * Parent headers and placeholder headers are included.\n *\n * @example\n * ```ts\n * const headers = table_getRightFlatHeaders(table)\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 const result: Array<Header<TFeatures, TData, unknown>> = []\n for (let i = 0; i < rightHeaderGroups.length; i++) {\n const headers = rightHeaderGroups[i]!.headers\n for (let j = 0; j < headers.length; j++) {\n result.push(headers[j]!)\n }\n }\n return result\n}\n\n/**\n * Flattens every header from the center header groups.\n *\n * Parent headers and placeholder headers are included.\n *\n * @example\n * ```ts\n * const headers = table_getCenterFlatHeaders(table)\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 const result: Array<Header<TFeatures, TData, unknown>> = []\n for (let i = 0; i < centerHeaderGroups.length; i++) {\n const headers = centerHeaderGroups[i]!.headers\n for (let j = 0; j < headers.length; j++) {\n result.push(headers[j]!)\n }\n }\n return result\n}\n\n// leaf headers\n\n/**\n * Collects leaf headers for the left pinned region.\n *\n * Parent headers are filtered out from the left flat header list.\n *\n * @example\n * ```ts\n * const headers = table_getLeftLeafHeaders(table)\n * ```\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\n/**\n * Collects leaf headers for the right pinned region.\n *\n * Parent headers are filtered out from the right flat header list.\n *\n * @example\n * ```ts\n * const headers = table_getRightLeafHeaders(table)\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\n/**\n * Collects leaf headers for the center, unpinned region.\n *\n * Parent headers are filtered out from the center flat header list.\n *\n * @example\n * ```ts\n * const headers = table_getCenterLeafHeaders(table)\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\n/**\n * Resolves leaf columns pinned to the left region.\n *\n * The result follows `state.columnPinning.left` order and skips stale ids that\n * no longer correspond to a leaf column.\n *\n * @example\n * ```ts\n * const columns = table_getLeftLeafColumns(table)\n * ```\n */\nexport function table_getLeftLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const { left } =\n table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n const leafColumnsById = table.getAllLeafColumnsById()\n const result: Array<Column_Internal<TFeatures, TData, unknown>> = []\n for (let i = 0; i < left.length; i++) {\n const column = leafColumnsById[left[i]!]\n if (column) result.push(column)\n }\n return result\n}\n\n/**\n * Resolves leaf columns pinned to the right region.\n *\n * The result follows `state.columnPinning.right` order and skips stale ids that\n * no longer correspond to a leaf column.\n *\n * @example\n * ```ts\n * const columns = table_getRightLeafColumns(table)\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.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n const leafColumnsById = table.getAllLeafColumnsById()\n const result: Array<Column_Internal<TFeatures, TData, unknown>> = []\n for (let i = 0; i < right.length; i++) {\n const column = leafColumnsById[right[i]!]\n if (column) result.push(column)\n }\n return result\n}\n\n/**\n * Resolves leaf columns that are not pinned to either side.\n *\n * Left- and right-pinned ids are removed from `table.getAllLeafColumns()`.\n *\n * @example\n * ```ts\n * const columns = table_getCenterLeafColumns(table)\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.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n const leftAndRight: Array<string> = [...left, ...right]\n return table.getAllLeafColumns().filter((d) => !leftAndRight.includes(d.id))\n}\n\n/**\n * Resolves leaf columns for a requested pinning region.\n *\n * Pass `'left'`, `'center'`, or `'right'` for a partition, or pass `false` to\n * read all leaf columns without partitioning.\n *\n * @example\n * ```ts\n * const columns = table_getPinnedLeafColumns(table, 'center')\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\n/**\n * Resolves visible leaf columns pinned to the left region.\n *\n * Hidden pinned columns are filtered out after the left pin order is applied.\n *\n * @example\n * ```ts\n * const columns = table_getLeftVisibleLeafColumns(table)\n * ```\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\n/**\n * Resolves visible leaf columns pinned to the right region.\n *\n * Hidden pinned columns are filtered out after the right pin order is applied.\n *\n * @example\n * ```ts\n * const columns = table_getRightVisibleLeafColumns(table)\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\n/**\n * Resolves visible leaf columns that are not pinned.\n *\n * This is the center partition used by layouts that render pinned columns\n * separately from the scrollable middle region.\n *\n * @example\n * ```ts\n * const columns = table_getCenterVisibleLeafColumns(table)\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\n/**\n * Resolves visible leaf columns for a requested pinning region.\n *\n * Omit `position` to get all visible leaf columns, or pass `'left'`, `'center'`,\n * or `'right'` to get one partition.\n *\n * @example\n * ```ts\n * const columns = table_getPinnedVisibleLeafColumns(table, 'left')\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"columnPinningFeature.utils.cjs","names":["callMemoOrStaticFn","row_getVisibleCells","row_getVisibleCellsByColumnId","cloneState","column_getIsVisible","buildHeaderGroups","table_getVisibleLeafColumns"],"sources":["../../../src/features/column-pinning/columnPinningFeature.utils.ts"],"sourcesContent":["import {\n column_getIsVisible,\n row_getVisibleCells,\n row_getVisibleCellsByColumnId,\n table_getVisibleLeafColumns,\n} from '../column-visibility/columnVisibilityFeature.utils'\nimport { buildHeaderGroups } from '../../core/headers/buildHeaderGroups'\nimport { callMemoOrStaticFn, cloneState } from '../../utils'\nimport type { Header } from '../../types/Header'\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, Column_Internal } from '../../types/Column'\nimport type {\n ColumnPinningPosition,\n ColumnPinningState,\n} from './columnPinningFeature.types'\n\n// State\n\n/**\n * Creates the default column pinning state.\n *\n * Both pinning regions start empty. Reset APIs use this value when\n * `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const pinning = getDefaultColumnPinningState()\n * ```\n */\nexport function getDefaultColumnPinningState(): ColumnPinningState {\n return {\n start: [],\n end: [],\n }\n}\n\n// Column APIs\n\n/**\n * Moves this column's leaf column ids into a pinning region.\n *\n * Pinning a group column pins all of its leaves. The leaf ids are first removed\n * from both regions, then appended to the requested `'start'` or `'end'`\n * region. Passing `false` unpins them back to the center.\n *\n * `start` and `end` are logical positions. In LTR languages/layouts, `start`\n * usually corresponds to left and `end` to right. In RTL languages/layouts,\n * `start` usually corresponds to right and `end` to left.\n *\n * @example\n * ```ts\n * column_pin(column, 'start')\n * ```\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 // Single pass: collect non-empty leaf-column ids.\n const leafColumns = column.getLeafColumns()\n const columnIds: Array<string> = []\n for (let i = 0; i < leafColumns.length; i++) {\n const id = leafColumns[i]!.id\n if (id) columnIds.push(id)\n }\n\n table_setColumnPinning(column.table, (old) => {\n if (position === 'end') {\n return {\n start: old.start.filter((d) => !columnIds.includes(d)),\n end: [...old.end.filter((d) => !columnIds.includes(d)), ...columnIds],\n }\n }\n\n if (position === 'start') {\n return {\n start: [\n ...old.start.filter((d) => !columnIds.includes(d)),\n ...columnIds,\n ],\n end: old.end.filter((d) => !columnIds.includes(d)),\n }\n }\n\n return {\n start: old.start.filter((d) => !columnIds.includes(d)),\n end: old.end.filter((d) => !columnIds.includes(d)),\n }\n })\n}\n\n/**\n * Checks whether this column or any of its leaf columns can be pinned.\n *\n * Column-level `enablePinning` and table `enableColumnPinning` both default to\n * `true`; at least one leaf column must allow pinning.\n *\n * @example\n * ```ts\n * const canPin = column_getCanPin(column)\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\n/**\n * Reads this column's current pinning region.\n *\n * Group columns report `'start'` or `'end'` when any leaf column is pinned in\n * that region. Unpinned columns return `false`.\n *\n * `start` and `end` are logical positions. In LTR languages/layouts, `start`\n * usually corresponds to left and `end` to right. In RTL languages/layouts,\n * `start` usually corresponds to right and `end` to left.\n *\n * @example\n * ```ts\n * const position = column_getIsPinned(column)\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 leafColumns = column.getLeafColumns()\n\n const { start, end } =\n column.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n\n for (let i = 0; i < leafColumns.length; i++) {\n if (start.includes(leafColumns[i]!.id)) {\n return 'start'\n }\n }\n for (let i = 0; i < leafColumns.length; i++) {\n if (end.includes(leafColumns[i]!.id)) {\n return 'end'\n }\n }\n return false\n}\n\n/**\n * Finds this column's index within its pinned region.\n *\n * Unpinned columns return `0`; pinned columns return their position in\n * `state.columnPinning.start` or `state.columnPinning.end`.\n *\n * @example\n * ```ts\n * const index = column_getPinnedIndex(column)\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.atoms.columnPinning?.get()?.[position].indexOf(column.id) ??\n -1)\n : 0\n}\n\n// Row APIs\n\n/**\n * Collects visible cells whose columns are not pinned start or end.\n *\n * The result preserves the row's visible-cell order for center columns.\n *\n * @example\n * ```ts\n * const centerCells = row_getCenterVisibleCells(row)\n * ```\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 'getVisibleCells',\n row_getVisibleCells,\n )\n const { start, end } =\n row.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n if (!start.length && !end.length) {\n return allCells\n }\n const startAndEnd: Array<string> = [...start, ...end]\n return allCells.filter((d) => !startAndEnd.includes(d.column.id))\n}\n\n/**\n * Collects visible cells for columns pinned to the start region.\n *\n * Cells are returned in `state.columnPinning.start` order and are marked with\n * `cell.position = 'start'`.\n *\n * @example\n * ```ts\n * const startCells = row_getStartVisibleCells(row)\n * ```\n */\nexport function row_getStartVisibleCells<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): Array<Cell<TFeatures, TData, unknown>> {\n const { start } =\n row.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n if (!start.length) return []\n const allVisibleCells = callMemoOrStaticFn(\n row,\n 'getVisibleCellsByColumnId',\n row_getVisibleCellsByColumnId,\n )\n const cells: Array<Cell<TFeatures, TData, unknown>> = []\n for (let i = 0; i < start.length; i++) {\n const columnId = start[i]!\n const cell = allVisibleCells[columnId]\n if (cell) {\n // Assign position property directly to preserve prototype chain\n ;(cell as any).position = 'start'\n cells.push(cell)\n }\n }\n return cells\n}\n\n/**\n * Collects visible cells for columns pinned to the end region.\n *\n * Cells are returned in `state.columnPinning.end` order and are marked with\n * `cell.position = 'end'`.\n *\n * @example\n * ```ts\n * const endCells = row_getEndVisibleCells(row)\n * ```\n */\nexport function row_getEndVisibleCells<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const { end } =\n row.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n if (!end.length) return [] as Array<Cell<TFeatures, TData, unknown>>\n const allVisibleCells = callMemoOrStaticFn(\n row,\n 'getVisibleCellsByColumnId',\n row_getVisibleCellsByColumnId,\n )\n const cells: Array<Cell<TFeatures, TData, unknown>> = []\n for (let i = 0; i < end.length; i++) {\n const columnId = end[i]!\n const cell = allVisibleCells[columnId]\n if (cell) {\n // Assign position property directly to preserve prototype chain\n ;(cell as any).position = 'end'\n cells.push(cell)\n }\n }\n return cells\n}\n\n// Table APIs\n\n/**\n * Routes a column pinning updater through the table's pinning change handler.\n *\n * The updater may be a next `{ start, end }` state or a function of the\n * previous state, matching the instance `table.setColumnPinning` behavior.\n *\n * @example\n * ```ts\n * table_setColumnPinning(table, (old) => ({ ...old, start: ['select'] }))\n * ```\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\n/**\n * Resets `columnPinning` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnPinning` when it\n * exists. Passing `true` ignores initial state and resets to empty start/end\n * arrays.\n *\n * @example\n * ```ts\n * table_resetColumnPinning(table)\n * table_resetColumnPinning(table, true)\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 : cloneState(\n table.initialState.columnPinning ?? getDefaultColumnPinningState(),\n ),\n )\n}\n\n/**\n * Checks whether any columns are pinned.\n *\n * Omit `position` to check both sides, or pass `'start'`/`'end'` to inspect a\n * single pinning region.\n *\n * @example\n * ```ts\n * const hasPinnedColumns = table_getIsSomeColumnsPinned(table)\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.atoms.columnPinning?.get()\n\n if (!position) {\n return Boolean(pinningState?.start.length || pinningState?.end.length)\n }\n return Boolean(pinningState?.[position].length)\n}\n\n// header groups\n\n/**\n * Builds header groups for visible columns pinned to the start region.\n *\n * The leaf columns are read in `state.columnPinning.start` order and then passed\n * through the same header-group builder as the unpinned table.\n *\n * @example\n * ```ts\n * const headerGroups = table_getStartHeaderGroups(table)\n * ```\n */\nexport function table_getStartHeaderGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const allColumns = table.getAllColumns()\n const leafColumnsById = table.getAllLeafColumnsById()\n const { start } =\n table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n\n const orderedLeafColumns: Array<Column<TFeatures, TData, unknown>> = []\n for (let i = 0; i < start.length; i++) {\n const column = leafColumnsById[start[i]!]\n if (\n column &&\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible)\n ) {\n orderedLeafColumns.push(column)\n }\n }\n\n return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'start')\n}\n\n/**\n * Builds header groups for visible columns pinned to the end region.\n *\n * The leaf columns are read in `state.columnPinning.end` order and then\n * passed through the same header-group builder as the unpinned table.\n *\n * @example\n * ```ts\n * const headerGroups = table_getEndHeaderGroups(table)\n * ```\n */\nexport function table_getEndHeaderGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const allColumns = table.getAllColumns()\n const leafColumnsById = table.getAllLeafColumnsById()\n const { end } =\n table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n\n const orderedLeafColumns: Array<Column<TFeatures, TData, unknown>> = []\n for (let i = 0; i < end.length; i++) {\n const column = leafColumnsById[end[i]!]\n if (\n column &&\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible)\n ) {\n orderedLeafColumns.push(column)\n }\n }\n\n return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'end')\n}\n\n/**\n * Builds header groups for visible columns that are not pinned.\n *\n * Start- and end-pinned column ids are removed from the visible leaf column\n * list before header groups are built for the center region.\n *\n * @example\n * ```ts\n * const headerGroups = table_getCenterHeaderGroups(table)\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 )\n const { start, end } =\n table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n if (start.length || end.length) {\n const startAndEnd: Array<string> = [...start, ...end]\n leafColumns = leafColumns.filter(\n (column) => !startAndEnd.includes(column.id),\n )\n }\n return buildHeaderGroups(allColumns, leafColumns, table, 'center')\n}\n\n// footer groups\n\n/**\n * Builds footer groups for the start pinned region.\n *\n * Footer groups reuse the start header groups in reverse order.\n *\n * @example\n * ```ts\n * const footerGroups = table_getStartFooterGroups(table)\n * ```\n */\nexport function table_getStartFooterGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const headerGroups = callMemoOrStaticFn(\n table,\n 'getStartHeaderGroups',\n table_getStartHeaderGroups,\n )\n return [...headerGroups].reverse()\n}\n\n/**\n * Builds footer groups for the end pinned region.\n *\n * Footer groups reuse the end header groups in reverse order.\n *\n * @example\n * ```ts\n * const footerGroups = table_getEndFooterGroups(table)\n * ```\n */\nexport function table_getEndFooterGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const headerGroups = callMemoOrStaticFn(\n table,\n 'getEndHeaderGroups',\n table_getEndHeaderGroups,\n )\n return [...headerGroups].reverse()\n}\n\n/**\n * Builds footer groups for the center, unpinned region.\n *\n * Footer groups reuse the center header groups in reverse order.\n *\n * @example\n * ```ts\n * const footerGroups = table_getCenterFooterGroups(table)\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\n/**\n * Flattens every header from the start pinned header groups.\n *\n * Parent headers and placeholder headers are included.\n *\n * @example\n * ```ts\n * const headers = table_getStartFlatHeaders(table)\n * ```\n */\nexport function table_getStartFlatHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const leftHeaderGroups = callMemoOrStaticFn(\n table,\n 'getStartHeaderGroups',\n table_getStartHeaderGroups,\n )\n const result: Array<Header<TFeatures, TData, unknown>> = []\n for (let i = 0; i < leftHeaderGroups.length; i++) {\n const headers = leftHeaderGroups[i]!.headers\n for (let j = 0; j < headers.length; j++) {\n result.push(headers[j]!)\n }\n }\n return result\n}\n\n/**\n * Flattens every header from the end pinned header groups.\n *\n * Parent headers and placeholder headers are included.\n *\n * @example\n * ```ts\n * const headers = table_getEndFlatHeaders(table)\n * ```\n */\nexport function table_getEndFlatHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const rightHeaderGroups = callMemoOrStaticFn(\n table,\n 'getEndHeaderGroups',\n table_getEndHeaderGroups,\n )\n const result: Array<Header<TFeatures, TData, unknown>> = []\n for (let i = 0; i < rightHeaderGroups.length; i++) {\n const headers = rightHeaderGroups[i]!.headers\n for (let j = 0; j < headers.length; j++) {\n result.push(headers[j]!)\n }\n }\n return result\n}\n\n/**\n * Flattens every header from the center header groups.\n *\n * Parent headers and placeholder headers are included.\n *\n * @example\n * ```ts\n * const headers = table_getCenterFlatHeaders(table)\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 const result: Array<Header<TFeatures, TData, unknown>> = []\n for (let i = 0; i < centerHeaderGroups.length; i++) {\n const headers = centerHeaderGroups[i]!.headers\n for (let j = 0; j < headers.length; j++) {\n result.push(headers[j]!)\n }\n }\n return result\n}\n\n// leaf headers\n\n/**\n * Collects leaf headers for the start pinned region.\n *\n * Parent headers are filtered out from the start flat header list.\n *\n * @example\n * ```ts\n * const headers = table_getStartLeafHeaders(table)\n * ```\n */\nexport function table_getStartLeafHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return callMemoOrStaticFn(\n table,\n 'getStartFlatHeaders',\n table_getStartFlatHeaders,\n ).filter((header) => !header.subHeaders.length)\n}\n\n/**\n * Collects leaf headers for the end pinned region.\n *\n * Parent headers are filtered out from the end flat header list.\n *\n * @example\n * ```ts\n * const headers = table_getEndLeafHeaders(table)\n * ```\n */\nexport function table_getEndLeafHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return callMemoOrStaticFn(\n table,\n 'getEndFlatHeaders',\n table_getEndFlatHeaders,\n ).filter((header) => !header.subHeaders.length)\n}\n\n/**\n * Collects leaf headers for the center, unpinned region.\n *\n * Parent headers are filtered out from the center flat header list.\n *\n * @example\n * ```ts\n * const headers = table_getCenterLeafHeaders(table)\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\n/**\n * Resolves leaf columns pinned to the start region.\n *\n * The result follows `state.columnPinning.start` order and skips stale ids that\n * no longer correspond to a leaf column.\n *\n * @example\n * ```ts\n * const columns = table_getStartLeafColumns(table)\n * ```\n */\nexport function table_getStartLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const { start } =\n table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n const leafColumnsById = table.getAllLeafColumnsById()\n const result: Array<Column_Internal<TFeatures, TData, unknown>> = []\n for (let i = 0; i < start.length; i++) {\n const column = leafColumnsById[start[i]!]\n if (column) result.push(column)\n }\n return result\n}\n\n/**\n * Resolves leaf columns pinned to the end region.\n *\n * The result follows `state.columnPinning.end` order and skips stale ids that\n * no longer correspond to a leaf column.\n *\n * @example\n * ```ts\n * const columns = table_getEndLeafColumns(table)\n * ```\n */\nexport function table_getEndLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const { end } =\n table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n const leafColumnsById = table.getAllLeafColumnsById()\n const result: Array<Column_Internal<TFeatures, TData, unknown>> = []\n for (let i = 0; i < end.length; i++) {\n const column = leafColumnsById[end[i]!]\n if (column) result.push(column)\n }\n return result\n}\n\n/**\n * Resolves leaf columns that are not pinned to either logical side.\n *\n * Start- and end-pinned ids are removed from `table.getAllLeafColumns()`.\n *\n * @example\n * ```ts\n * const columns = table_getCenterLeafColumns(table)\n * ```\n */\nexport function table_getCenterLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const { start, end } =\n table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n if (!start.length && !end.length) {\n return table.getAllLeafColumns()\n }\n const startAndEnd: Array<string> = [...start, ...end]\n return table.getAllLeafColumns().filter((d) => !startAndEnd.includes(d.id))\n}\n\n/**\n * Resolves leaf columns for a requested pinning region.\n *\n * Pass `'start'`, `'center'`, or `'end'` for a partition, or pass `false` to\n * read all leaf columns without partitioning.\n *\n * @example\n * ```ts\n * const columns = table_getPinnedLeafColumns(table, 'center')\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 === 'start'\n ? callMemoOrStaticFn(\n table,\n 'getStartLeafColumns',\n table_getStartLeafColumns,\n )\n : position === 'end'\n ? callMemoOrStaticFn(\n table,\n 'getEndLeafColumns',\n table_getEndLeafColumns,\n )\n : callMemoOrStaticFn(\n table,\n 'getCenterLeafColumns',\n table_getCenterLeafColumns,\n )\n}\n\n// visible leaf columns\n\n/**\n * Resolves visible leaf columns pinned to the start region.\n *\n * Hidden pinned columns are filtered out after the start pin order is applied.\n *\n * @example\n * ```ts\n * const columns = table_getStartVisibleLeafColumns(table)\n * ```\n */\nexport function table_getStartVisibleLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return callMemoOrStaticFn(\n table,\n 'getStartLeafColumns',\n table_getStartLeafColumns,\n ).filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\n/**\n * Resolves visible leaf columns pinned to the end region.\n *\n * Hidden pinned columns are filtered out after the end pin order is applied.\n *\n * @example\n * ```ts\n * const columns = table_getEndVisibleLeafColumns(table)\n * ```\n */\nexport function table_getEndVisibleLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return callMemoOrStaticFn(\n table,\n 'getEndLeafColumns',\n table_getEndLeafColumns,\n ).filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\n/**\n * Resolves visible leaf columns that are not pinned.\n *\n * This is the center partition used by layouts that render pinned columns\n * separately from the scrollable middle region.\n *\n * @example\n * ```ts\n * const columns = table_getCenterVisibleLeafColumns(table)\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\n/**\n * Resolves visible leaf columns for a requested pinning region.\n *\n * Omit `position` to get all visible leaf columns, or pass `'start'`, `'center'`,\n * or `'end'` to get one partition.\n *\n * @example\n * ```ts\n * const columns = table_getPinnedVisibleLeafColumns(table, 'start')\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 === 'start'\n ? callMemoOrStaticFn(\n table,\n 'getStartVisibleLeafColumns',\n table_getStartVisibleLeafColumns,\n )\n : position === 'end'\n ? callMemoOrStaticFn(\n table,\n 'getEndVisibleLeafColumns',\n table_getEndVisibleLeafColumns,\n )\n : callMemoOrStaticFn(\n table,\n 'getCenterVisibleLeafColumns',\n table_getCenterVisibleLeafColumns,\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAkCA,SAAgB,+BAAmD;CACjE,OAAO;EACL,OAAO,CAAC;EACR,KAAK,CAAC;CACR;AACF;;;;;;;;;;;;;;;;;AAoBA,SAAgB,WAKd,QACA,UACA;CAEA,MAAM,cAAc,OAAO,eAAe;CAC1C,MAAM,YAA2B,CAAC;CAClC,KAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;EAC3C,MAAM,KAAK,YAAY,EAAE,CAAE;EAC3B,IAAI,IAAI,UAAU,KAAK,EAAE;CAC3B;CAEA,uBAAuB,OAAO,QAAQ,QAAQ;EAC5C,IAAI,aAAa,OACf,OAAO;GACL,OAAO,IAAI,MAAM,QAAQ,MAAM,CAAC,UAAU,SAAS,CAAC,CAAC;GACrD,KAAK,CAAC,GAAG,IAAI,IAAI,QAAQ,MAAM,CAAC,UAAU,SAAS,CAAC,CAAC,GAAG,GAAG,SAAS;EACtE;EAGF,IAAI,aAAa,SACf,OAAO;GACL,OAAO,CACL,GAAG,IAAI,MAAM,QAAQ,MAAM,CAAC,UAAU,SAAS,CAAC,CAAC,GACjD,GAAG,SACL;GACA,KAAK,IAAI,IAAI,QAAQ,MAAM,CAAC,UAAU,SAAS,CAAC,CAAC;EACnD;EAGF,OAAO;GACL,OAAO,IAAI,MAAM,QAAQ,MAAM,CAAC,UAAU,SAAS,CAAC,CAAC;GACrD,KAAK,IAAI,IAAI,QAAQ,MAAM,CAAC,UAAU,SAAS,CAAC,CAAC;EACnD;CACF,CAAC;AACH;;;;;;;;;;;;AAaA,SAAgB,iBAId,QAAmD;CAKnD,OAJoB,OAAO,eAIV,CAAC,CAAC,MAChB,gBACE,WAAW,UAAU,iBAAiB,UACtC,OAAO,MAAM,QAAQ,uBAAuB,KACjD;AACF;;;;;;;;;;;;;;;;AAiBA,SAAgB,mBAKd,QAC+B;CAC/B,MAAM,cAAc,OAAO,eAAe;CAE1C,MAAM,EAAE,OAAO,QACb,OAAO,MAAM,MAAM,eAAe,IAAI,KAAK,6BAA6B;CAE1E,KAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KACtC,IAAI,MAAM,SAAS,YAAY,EAAE,CAAE,EAAE,GACnC,OAAO;CAGX,KAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KACtC,IAAI,IAAI,SAAS,YAAY,EAAE,CAAE,EAAE,GACjC,OAAO;CAGX,OAAO;AACT;;;;;;;;;;;;AAaA,SAAgB,sBAId,QAAmD;CACnD,MAAM,WAAW,mBAAmB,MAAM;CAE1C,OAAO,WACF,OAAO,MAAM,MAAM,eAAe,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,OAAO,EAAE,KACpE,KACF;AACN;;;;;;;;;;;AAcA,SAAgB,0BAGd,KAA4B;CAC5B,MAAM,WAAWA,iCACf,KACA,mBACAC,yDACF;CACA,MAAM,EAAE,OAAO,QACb,IAAI,MAAM,MAAM,eAAe,IAAI,KAAK,6BAA6B;CACvE,IAAI,CAAC,MAAM,UAAU,CAAC,IAAI,QACxB,OAAO;CAET,MAAM,cAA6B,CAAC,GAAG,OAAO,GAAG,GAAG;CACpD,OAAO,SAAS,QAAQ,MAAM,CAAC,YAAY,SAAS,EAAE,OAAO,EAAE,CAAC;AAClE;;;;;;;;;;;;AAaA,SAAgB,yBAGd,KAAoE;CACpE,MAAM,EAAE,UACN,IAAI,MAAM,MAAM,eAAe,IAAI,KAAK,6BAA6B;CACvE,IAAI,CAAC,MAAM,QAAQ,OAAO,CAAC;CAC3B,MAAM,kBAAkBD,iCACtB,KACA,6BACAE,mEACF;CACA,MAAM,QAAgD,CAAC;CACvD,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;EAErC,MAAM,OAAO,gBADI,MAAM;EAEvB,IAAI,MAAM;GAEP,AAAC,KAAa,WAAW;GAC1B,MAAM,KAAK,IAAI;EACjB;CACF;CACA,OAAO;AACT;;;;;;;;;;;;AAaA,SAAgB,uBAGd,KAA4B;CAC5B,MAAM,EAAE,QACN,IAAI,MAAM,MAAM,eAAe,IAAI,KAAK,6BAA6B;CACvE,IAAI,CAAC,IAAI,QAAQ,OAAO,CAAC;CACzB,MAAM,kBAAkBF,iCACtB,KACA,6BACAE,mEACF;CACA,MAAM,QAAgD,CAAC;CACvD,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;EAEnC,MAAM,OAAO,gBADI,IAAI;EAErB,IAAI,MAAM;GAEP,AAAC,KAAa,WAAW;GAC1B,MAAM,KAAK,IAAI;EACjB;CACF;CACA,OAAO;AACT;;;;;;;;;;;;AAeA,SAAgB,uBAId,OACA,SACA;CACA,MAAM,QAAQ,wBAAwB,OAAO;AAC/C;;;;;;;;;;;;;;AAeA,SAAgB,yBAGd,OAAyC,cAAwB;CACjE,uBACE,OACA,eACI,6BAA6B,IAC7BC,yBACE,MAAM,aAAa,iBAAiB,6BAA6B,CACnE,CACN;AACF;;;;;;;;;;;;AAaA,SAAgB,6BAGd,OAAyC,UAAkC;CAC3E,MAAM,eAAe,MAAM,MAAM,eAAe,IAAI;CAEpD,IAAI,CAAC,UACH,OAAO,QAAQ,cAAc,MAAM,UAAU,cAAc,IAAI,MAAM;CAEvE,OAAO,QAAQ,eAAe,SAAS,CAAC,MAAM;AAChD;;;;;;;;;;;;AAeA,SAAgB,2BAGd,OAAyC;CACzC,MAAM,aAAa,MAAM,cAAc;CACvC,MAAM,kBAAkB,MAAM,sBAAsB;CACpD,MAAM,EAAE,UACN,MAAM,MAAM,eAAe,IAAI,KAAK,6BAA6B;CAEnE,MAAM,qBAA+D,CAAC;CACtE,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;EACrC,MAAM,SAAS,gBAAgB,MAAM;EACrC,IACE,UACAH,iCAAmB,QAAQ,gBAAgBI,yDAAmB,GAE9D,mBAAmB,KAAK,MAAM;CAElC;CAEA,OAAOC,4CAAkB,YAAY,oBAAoB,OAAO,OAAO;AACzE;;;;;;;;;;;;AAaA,SAAgB,yBAGd,OAAyC;CACzC,MAAM,aAAa,MAAM,cAAc;CACvC,MAAM,kBAAkB,MAAM,sBAAsB;CACpD,MAAM,EAAE,QACN,MAAM,MAAM,eAAe,IAAI,KAAK,6BAA6B;CAEnE,MAAM,qBAA+D,CAAC;CACtE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;EACnC,MAAM,SAAS,gBAAgB,IAAI;EACnC,IACE,UACAL,iCAAmB,QAAQ,gBAAgBI,yDAAmB,GAE9D,mBAAmB,KAAK,MAAM;CAElC;CAEA,OAAOC,4CAAkB,YAAY,oBAAoB,OAAO,KAAK;AACvE;;;;;;;;;;;;AAaA,SAAgB,4BAId,OACsC;CACtC,MAAM,aAAa,MAAM,cAAc;CACvC,IAAI,cAAcL,iCAChB,OACA,yBACAM,iEACF;CACA,MAAM,EAAE,OAAO,QACb,MAAM,MAAM,eAAe,IAAI,KAAK,6BAA6B;CACnE,IAAI,MAAM,UAAU,IAAI,QAAQ;EAC9B,MAAM,cAA6B,CAAC,GAAG,OAAO,GAAG,GAAG;EACpD,cAAc,YAAY,QACvB,WAAW,CAAC,YAAY,SAAS,OAAO,EAAE,CAC7C;CACF;CACA,OAAOD,4CAAkB,YAAY,aAAa,OAAO,QAAQ;AACnE;;;;;;;;;;;AAcA,SAAgB,2BAGd,OAAyC;CAMzC,OAAO,CAAC,GALaL,iCACnB,OACA,wBACA,0BAEoB,CAAC,CAAC,CAAC,QAAQ;AACnC;;;;;;;;;;;AAYA,SAAgB,yBAGd,OAAyC;CAMzC,OAAO,CAAC,GALaA,iCACnB,OACA,sBACA,wBAEoB,CAAC,CAAC,CAAC,QAAQ;AACnC;;;;;;;;;;;AAYA,SAAgB,4BAGd,OAAyC;CAMzC,OAAO,CAAC,GALaA,iCACnB,OACA,yBACA,2BAEoB,CAAC,CAAC,CAAC,QAAQ;AACnC;;;;;;;;;;;AAcA,SAAgB,0BAGd,OAAyC;CACzC,MAAM,mBAAmBA,iCACvB,OACA,wBACA,0BACF;CACA,MAAM,SAAmD,CAAC;CAC1D,KAAK,IAAI,IAAI,GAAG,IAAI,iBAAiB,QAAQ,KAAK;EAChD,MAAM,UAAU,iBAAiB,EAAE,CAAE;EACrC,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAClC,OAAO,KAAK,QAAQ,EAAG;CAE3B;CACA,OAAO;AACT;;;;;;;;;;;AAYA,SAAgB,wBAGd,OAAyC;CACzC,MAAM,oBAAoBA,iCACxB,OACA,sBACA,wBACF;CACA,MAAM,SAAmD,CAAC;CAC1D,KAAK,IAAI,IAAI,GAAG,IAAI,kBAAkB,QAAQ,KAAK;EACjD,MAAM,UAAU,kBAAkB,EAAE,CAAE;EACtC,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAClC,OAAO,KAAK,QAAQ,EAAG;CAE3B;CACA,OAAO;AACT;;;;;;;;;;;AAYA,SAAgB,2BAGd,OAAyC;CACzC,MAAM,qBAAqBA,iCACzB,OACA,yBACA,2BACF;CACA,MAAM,SAAmD,CAAC;CAC1D,KAAK,IAAI,IAAI,GAAG,IAAI,mBAAmB,QAAQ,KAAK;EAClD,MAAM,UAAU,mBAAmB,EAAE,CAAE;EACvC,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAClC,OAAO,KAAK,QAAQ,EAAG;CAE3B;CACA,OAAO;AACT;;;;;;;;;;;AAcA,SAAgB,0BAGd,OAAyC;CACzC,OAAOA,iCACL,OACA,uBACA,yBACF,CAAC,CAAC,QAAQ,WAAW,CAAC,OAAO,WAAW,MAAM;AAChD;;;;;;;;;;;AAYA,SAAgB,wBAGd,OAAyC;CACzC,OAAOA,iCACL,OACA,qBACA,uBACF,CAAC,CAAC,QAAQ,WAAW,CAAC,OAAO,WAAW,MAAM;AAChD;;;;;;;;;;;AAYA,SAAgB,2BAGd,OAAyC;CACzC,OAAOA,iCACL,OACA,wBACA,0BACF,CAAC,CAAC,QAAQ,WAAW,CAAC,OAAO,WAAW,MAAM;AAChD;;;;;;;;;;;;AAeA,SAAgB,0BAGd,OAAyC;CACzC,MAAM,EAAE,UACN,MAAM,MAAM,eAAe,IAAI,KAAK,6BAA6B;CACnE,MAAM,kBAAkB,MAAM,sBAAsB;CACpD,MAAM,SAA4D,CAAC;CACnE,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;EACrC,MAAM,SAAS,gBAAgB,MAAM;EACrC,IAAI,QAAQ,OAAO,KAAK,MAAM;CAChC;CACA,OAAO;AACT;;;;;;;;;;;;AAaA,SAAgB,wBAGd,OAAyC;CACzC,MAAM,EAAE,QACN,MAAM,MAAM,eAAe,IAAI,KAAK,6BAA6B;CACnE,MAAM,kBAAkB,MAAM,sBAAsB;CACpD,MAAM,SAA4D,CAAC;CACnE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;EACnC,MAAM,SAAS,gBAAgB,IAAI;EACnC,IAAI,QAAQ,OAAO,KAAK,MAAM;CAChC;CACA,OAAO;AACT;;;;;;;;;;;AAYA,SAAgB,2BAGd,OAAyC;CACzC,MAAM,EAAE,OAAO,QACb,MAAM,MAAM,eAAe,IAAI,KAAK,6BAA6B;CACnE,IAAI,CAAC,MAAM,UAAU,CAAC,IAAI,QACxB,OAAO,MAAM,kBAAkB;CAEjC,MAAM,cAA6B,CAAC,GAAG,OAAO,GAAG,GAAG;CACpD,OAAO,MAAM,kBAAkB,CAAC,CAAC,QAAQ,MAAM,CAAC,YAAY,SAAS,EAAE,EAAE,CAAC;AAC5E;;;;;;;;;;;;AAaA,SAAgB,2BAId,OACA,UACA;CACA,OAAO,CAAC,WACJ,MAAM,kBAAkB,IACxB,aAAa,UACXA,iCACE,OACA,uBACA,yBACF,IACA,aAAa,QACXA,iCACE,OACA,qBACA,uBACF,IACAA,iCACE,OACA,wBACA,0BACF;AACV;;;;;;;;;;;AAcA,SAAgB,iCAGd,OAAyC;CACzC,OAAOA,iCACL,OACA,uBACA,yBACF,CAAC,CAAC,QAAQ,WACRA,iCAAmB,QAAQ,gBAAgBI,yDAAmB,CAChE;AACF;;;;;;;;;;;AAYA,SAAgB,+BAGd,OAAyC;CACzC,OAAOJ,iCACL,OACA,qBACA,uBACF,CAAC,CAAC,QAAQ,WACRA,iCAAmB,QAAQ,gBAAgBI,yDAAmB,CAChE;AACF;;;;;;;;;;;;AAaA,SAAgB,kCAGd,OAAyC;CACzC,OAAOJ,iCACL,OACA,wBACA,0BACF,CAAC,CAAC,QAAQ,WACRA,iCAAmB,QAAQ,gBAAgBI,yDAAmB,CAChE;AACF;;;;;;;;;;;;AAaA,SAAgB,kCAId,OACA,UACA;CACA,OAAO,CAAC,WACJJ,iCACE,OACA,yBACAM,iEACF,IACA,aAAa,UACXN,iCACE,OACA,8BACA,gCACF,IACA,aAAa,QACXA,iCACE,OACA,4BACA,8BACF,IACAA,iCACE,OACA,+BACA,iCACF;AACV"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { CellData, RowData, Updater } from "../../types/type-utils.cjs";
|
|
2
2
|
import { HeaderGroup } from "../../types/HeaderGroup.cjs";
|
|
3
|
-
import { Header } from "../../types/Header.cjs";
|
|
4
3
|
import { ColumnPinningPosition, ColumnPinningState } from "./columnPinningFeature.types.cjs";
|
|
5
|
-
import {
|
|
4
|
+
import { Header } from "../../types/Header.cjs";
|
|
5
|
+
import { Cell } from "../../types/Cell.cjs";
|
|
6
6
|
import { Row } from "../../types/Row.cjs";
|
|
7
|
+
import { Table } from "../../types/Table.cjs";
|
|
8
|
+
import { Column } from "../../types/Column.cjs";
|
|
7
9
|
import { TableFeatures } from "../../types/TableFeatures.cjs";
|
|
8
|
-
|
|
9
|
-
import { Cell } from "../../types/Cell.cjs";
|
|
10
|
+
|
|
10
11
|
//#region src/features/column-pinning/columnPinningFeature.utils.d.ts
|
|
11
12
|
/**
|
|
12
13
|
* Creates the default column pinning state.
|
|
@@ -24,15 +25,19 @@ declare function getDefaultColumnPinningState(): ColumnPinningState;
|
|
|
24
25
|
* Moves this column's leaf column ids into a pinning region.
|
|
25
26
|
*
|
|
26
27
|
* Pinning a group column pins all of its leaves. The leaf ids are first removed
|
|
27
|
-
* from both regions, then appended to the requested `'
|
|
28
|
+
* from both regions, then appended to the requested `'start'` or `'end'`
|
|
28
29
|
* region. Passing `false` unpins them back to the center.
|
|
29
30
|
*
|
|
31
|
+
* `start` and `end` are logical positions. In LTR languages/layouts, `start`
|
|
32
|
+
* usually corresponds to left and `end` to right. In RTL languages/layouts,
|
|
33
|
+
* `start` usually corresponds to right and `end` to left.
|
|
34
|
+
*
|
|
30
35
|
* @example
|
|
31
36
|
* ```ts
|
|
32
|
-
* column_pin(column, '
|
|
37
|
+
* column_pin(column, 'start')
|
|
33
38
|
* ```
|
|
34
39
|
*/
|
|
35
|
-
declare function column_pin<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
40
|
+
declare function column_pin<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, position: ColumnPinningPosition): void;
|
|
36
41
|
/**
|
|
37
42
|
* Checks whether this column or any of its leaf columns can be pinned.
|
|
38
43
|
*
|
|
@@ -44,33 +49,37 @@ declare function column_pin<TFeatures extends TableFeatures, TData extends RowDa
|
|
|
44
49
|
* const canPin = column_getCanPin(column)
|
|
45
50
|
* ```
|
|
46
51
|
*/
|
|
47
|
-
declare function column_getCanPin<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
52
|
+
declare function column_getCanPin<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): boolean;
|
|
48
53
|
/**
|
|
49
54
|
* Reads this column's current pinning region.
|
|
50
55
|
*
|
|
51
|
-
* Group columns report `'
|
|
56
|
+
* Group columns report `'start'` or `'end'` when any leaf column is pinned in
|
|
52
57
|
* that region. Unpinned columns return `false`.
|
|
53
58
|
*
|
|
59
|
+
* `start` and `end` are logical positions. In LTR languages/layouts, `start`
|
|
60
|
+
* usually corresponds to left and `end` to right. In RTL languages/layouts,
|
|
61
|
+
* `start` usually corresponds to right and `end` to left.
|
|
62
|
+
*
|
|
54
63
|
* @example
|
|
55
64
|
* ```ts
|
|
56
65
|
* const position = column_getIsPinned(column)
|
|
57
66
|
* ```
|
|
58
67
|
*/
|
|
59
|
-
declare function column_getIsPinned<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
68
|
+
declare function column_getIsPinned<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): ColumnPinningPosition | false;
|
|
60
69
|
/**
|
|
61
70
|
* Finds this column's index within its pinned region.
|
|
62
71
|
*
|
|
63
72
|
* Unpinned columns return `0`; pinned columns return their position in
|
|
64
|
-
* `state.columnPinning.
|
|
73
|
+
* `state.columnPinning.start` or `state.columnPinning.end`.
|
|
65
74
|
*
|
|
66
75
|
* @example
|
|
67
76
|
* ```ts
|
|
68
77
|
* const index = column_getPinnedIndex(column)
|
|
69
78
|
* ```
|
|
70
79
|
*/
|
|
71
|
-
declare function column_getPinnedIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
80
|
+
declare function column_getPinnedIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): number;
|
|
72
81
|
/**
|
|
73
|
-
* Collects visible cells whose columns are not pinned
|
|
82
|
+
* Collects visible cells whose columns are not pinned start or end.
|
|
74
83
|
*
|
|
75
84
|
* The result preserves the row's visible-cell order for center columns.
|
|
76
85
|
*
|
|
@@ -81,46 +90,46 @@ declare function column_getPinnedIndex<TFeatures extends TableFeatures, TData ex
|
|
|
81
90
|
*/
|
|
82
91
|
declare function row_getCenterVisibleCells<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): Cell<TFeatures, TData, unknown>[];
|
|
83
92
|
/**
|
|
84
|
-
* Collects visible cells for columns pinned to the
|
|
93
|
+
* Collects visible cells for columns pinned to the start region.
|
|
85
94
|
*
|
|
86
|
-
* Cells are returned in `state.columnPinning.
|
|
87
|
-
* `cell.position = '
|
|
95
|
+
* Cells are returned in `state.columnPinning.start` order and are marked with
|
|
96
|
+
* `cell.position = 'start'`.
|
|
88
97
|
*
|
|
89
98
|
* @example
|
|
90
99
|
* ```ts
|
|
91
|
-
* const
|
|
100
|
+
* const startCells = row_getStartVisibleCells(row)
|
|
92
101
|
* ```
|
|
93
102
|
*/
|
|
94
|
-
declare function
|
|
103
|
+
declare function row_getStartVisibleCells<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): Array<Cell<TFeatures, TData, unknown>>;
|
|
95
104
|
/**
|
|
96
|
-
* Collects visible cells for columns pinned to the
|
|
105
|
+
* Collects visible cells for columns pinned to the end region.
|
|
97
106
|
*
|
|
98
|
-
* Cells are returned in `state.columnPinning.
|
|
99
|
-
* `cell.position = '
|
|
107
|
+
* Cells are returned in `state.columnPinning.end` order and are marked with
|
|
108
|
+
* `cell.position = 'end'`.
|
|
100
109
|
*
|
|
101
110
|
* @example
|
|
102
111
|
* ```ts
|
|
103
|
-
* const
|
|
112
|
+
* const endCells = row_getEndVisibleCells(row)
|
|
104
113
|
* ```
|
|
105
114
|
*/
|
|
106
|
-
declare function
|
|
115
|
+
declare function row_getEndVisibleCells<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): Cell<TFeatures, TData, unknown>[];
|
|
107
116
|
/**
|
|
108
117
|
* Routes a column pinning updater through the table's pinning change handler.
|
|
109
118
|
*
|
|
110
|
-
* The updater may be a next `{
|
|
119
|
+
* The updater may be a next `{ start, end }` state or a function of the
|
|
111
120
|
* previous state, matching the instance `table.setColumnPinning` behavior.
|
|
112
121
|
*
|
|
113
122
|
* @example
|
|
114
123
|
* ```ts
|
|
115
|
-
* table_setColumnPinning(table, (old) => ({ ...old,
|
|
124
|
+
* table_setColumnPinning(table, (old) => ({ ...old, start: ['select'] }))
|
|
116
125
|
* ```
|
|
117
126
|
*/
|
|
118
|
-
declare function table_setColumnPinning<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
127
|
+
declare function table_setColumnPinning<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, updater: Updater<ColumnPinningState>): void;
|
|
119
128
|
/**
|
|
120
129
|
* Resets `columnPinning` to the configured initial state or feature default.
|
|
121
130
|
*
|
|
122
131
|
* With no argument, the reset clones `table.initialState.columnPinning` when it
|
|
123
|
-
* exists. Passing `true` ignores initial state and resets to empty
|
|
132
|
+
* exists. Passing `true` ignores initial state and resets to empty start/end
|
|
124
133
|
* arrays.
|
|
125
134
|
*
|
|
126
135
|
* @example
|
|
@@ -129,11 +138,11 @@ declare function table_setColumnPinning<TFeatures extends TableFeatures, TData e
|
|
|
129
138
|
* table_resetColumnPinning(table, true)
|
|
130
139
|
* ```
|
|
131
140
|
*/
|
|
132
|
-
declare function table_resetColumnPinning<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
141
|
+
declare function table_resetColumnPinning<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, defaultState?: boolean): void;
|
|
133
142
|
/**
|
|
134
143
|
* Checks whether any columns are pinned.
|
|
135
144
|
*
|
|
136
|
-
* Omit `position` to check both sides, or pass `'
|
|
145
|
+
* Omit `position` to check both sides, or pass `'start'`/`'end'` to inspect a
|
|
137
146
|
* single pinning region.
|
|
138
147
|
*
|
|
139
148
|
* @example
|
|
@@ -141,35 +150,35 @@ declare function table_resetColumnPinning<TFeatures extends TableFeatures, TData
|
|
|
141
150
|
* const hasPinnedColumns = table_getIsSomeColumnsPinned(table)
|
|
142
151
|
* ```
|
|
143
152
|
*/
|
|
144
|
-
declare function table_getIsSomeColumnsPinned<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
153
|
+
declare function table_getIsSomeColumnsPinned<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, position?: ColumnPinningPosition): boolean;
|
|
145
154
|
/**
|
|
146
|
-
* Builds header groups for visible columns pinned to the
|
|
155
|
+
* Builds header groups for visible columns pinned to the start region.
|
|
147
156
|
*
|
|
148
|
-
* The leaf columns are read in `state.columnPinning.
|
|
157
|
+
* The leaf columns are read in `state.columnPinning.start` order and then passed
|
|
149
158
|
* through the same header-group builder as the unpinned table.
|
|
150
159
|
*
|
|
151
160
|
* @example
|
|
152
161
|
* ```ts
|
|
153
|
-
* const headerGroups =
|
|
162
|
+
* const headerGroups = table_getStartHeaderGroups(table)
|
|
154
163
|
* ```
|
|
155
164
|
*/
|
|
156
|
-
declare function
|
|
165
|
+
declare function table_getStartHeaderGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): HeaderGroup<TFeatures, TData>[];
|
|
157
166
|
/**
|
|
158
|
-
* Builds header groups for visible columns pinned to the
|
|
167
|
+
* Builds header groups for visible columns pinned to the end region.
|
|
159
168
|
*
|
|
160
|
-
* The leaf columns are read in `state.columnPinning.
|
|
169
|
+
* The leaf columns are read in `state.columnPinning.end` order and then
|
|
161
170
|
* passed through the same header-group builder as the unpinned table.
|
|
162
171
|
*
|
|
163
172
|
* @example
|
|
164
173
|
* ```ts
|
|
165
|
-
* const headerGroups =
|
|
174
|
+
* const headerGroups = table_getEndHeaderGroups(table)
|
|
166
175
|
* ```
|
|
167
176
|
*/
|
|
168
|
-
declare function
|
|
177
|
+
declare function table_getEndHeaderGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): HeaderGroup<TFeatures, TData>[];
|
|
169
178
|
/**
|
|
170
179
|
* Builds header groups for visible columns that are not pinned.
|
|
171
180
|
*
|
|
172
|
-
*
|
|
181
|
+
* Start- and end-pinned column ids are removed from the visible leaf column
|
|
173
182
|
* list before header groups are built for the center region.
|
|
174
183
|
*
|
|
175
184
|
* @example
|
|
@@ -177,29 +186,29 @@ declare function table_getRightHeaderGroups<TFeatures extends TableFeatures, TDa
|
|
|
177
186
|
* const headerGroups = table_getCenterHeaderGroups(table)
|
|
178
187
|
* ```
|
|
179
188
|
*/
|
|
180
|
-
declare function table_getCenterHeaderGroups<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
189
|
+
declare function table_getCenterHeaderGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Array<HeaderGroup<TFeatures, TData>>;
|
|
181
190
|
/**
|
|
182
|
-
* Builds footer groups for the
|
|
191
|
+
* Builds footer groups for the start pinned region.
|
|
183
192
|
*
|
|
184
|
-
* Footer groups reuse the
|
|
193
|
+
* Footer groups reuse the start header groups in reverse order.
|
|
185
194
|
*
|
|
186
195
|
* @example
|
|
187
196
|
* ```ts
|
|
188
|
-
* const footerGroups =
|
|
197
|
+
* const footerGroups = table_getStartFooterGroups(table)
|
|
189
198
|
* ```
|
|
190
199
|
*/
|
|
191
|
-
declare function
|
|
200
|
+
declare function table_getStartFooterGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): HeaderGroup<TFeatures, TData>[];
|
|
192
201
|
/**
|
|
193
|
-
* Builds footer groups for the
|
|
202
|
+
* Builds footer groups for the end pinned region.
|
|
194
203
|
*
|
|
195
|
-
* Footer groups reuse the
|
|
204
|
+
* Footer groups reuse the end header groups in reverse order.
|
|
196
205
|
*
|
|
197
206
|
* @example
|
|
198
207
|
* ```ts
|
|
199
|
-
* const footerGroups =
|
|
208
|
+
* const footerGroups = table_getEndFooterGroups(table)
|
|
200
209
|
* ```
|
|
201
210
|
*/
|
|
202
|
-
declare function
|
|
211
|
+
declare function table_getEndFooterGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): HeaderGroup<TFeatures, TData>[];
|
|
203
212
|
/**
|
|
204
213
|
* Builds footer groups for the center, unpinned region.
|
|
205
214
|
*
|
|
@@ -210,29 +219,29 @@ declare function table_getRightFooterGroups<TFeatures extends TableFeatures, TDa
|
|
|
210
219
|
* const footerGroups = table_getCenterFooterGroups(table)
|
|
211
220
|
* ```
|
|
212
221
|
*/
|
|
213
|
-
declare function table_getCenterFooterGroups<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
222
|
+
declare function table_getCenterFooterGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): HeaderGroup<TFeatures, TData>[];
|
|
214
223
|
/**
|
|
215
|
-
* Flattens every header from the
|
|
224
|
+
* Flattens every header from the start pinned header groups.
|
|
216
225
|
*
|
|
217
226
|
* Parent headers and placeholder headers are included.
|
|
218
227
|
*
|
|
219
228
|
* @example
|
|
220
229
|
* ```ts
|
|
221
|
-
* const headers =
|
|
230
|
+
* const headers = table_getStartFlatHeaders(table)
|
|
222
231
|
* ```
|
|
223
232
|
*/
|
|
224
|
-
declare function
|
|
233
|
+
declare function table_getStartFlatHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Header<TFeatures, TData, unknown>[];
|
|
225
234
|
/**
|
|
226
|
-
* Flattens every header from the
|
|
235
|
+
* Flattens every header from the end pinned header groups.
|
|
227
236
|
*
|
|
228
237
|
* Parent headers and placeholder headers are included.
|
|
229
238
|
*
|
|
230
239
|
* @example
|
|
231
240
|
* ```ts
|
|
232
|
-
* const headers =
|
|
241
|
+
* const headers = table_getEndFlatHeaders(table)
|
|
233
242
|
* ```
|
|
234
243
|
*/
|
|
235
|
-
declare function
|
|
244
|
+
declare function table_getEndFlatHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Header<TFeatures, TData, unknown>[];
|
|
236
245
|
/**
|
|
237
246
|
* Flattens every header from the center header groups.
|
|
238
247
|
*
|
|
@@ -243,29 +252,29 @@ declare function table_getRightFlatHeaders<TFeatures extends TableFeatures, TDat
|
|
|
243
252
|
* const headers = table_getCenterFlatHeaders(table)
|
|
244
253
|
* ```
|
|
245
254
|
*/
|
|
246
|
-
declare function table_getCenterFlatHeaders<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
255
|
+
declare function table_getCenterFlatHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Header<TFeatures, TData, unknown>[];
|
|
247
256
|
/**
|
|
248
|
-
* Collects leaf headers for the
|
|
257
|
+
* Collects leaf headers for the start pinned region.
|
|
249
258
|
*
|
|
250
|
-
* Parent headers are filtered out from the
|
|
259
|
+
* Parent headers are filtered out from the start flat header list.
|
|
251
260
|
*
|
|
252
261
|
* @example
|
|
253
262
|
* ```ts
|
|
254
|
-
* const headers =
|
|
263
|
+
* const headers = table_getStartLeafHeaders(table)
|
|
255
264
|
* ```
|
|
256
265
|
*/
|
|
257
|
-
declare function
|
|
266
|
+
declare function table_getStartLeafHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Header<TFeatures, TData, unknown>[];
|
|
258
267
|
/**
|
|
259
|
-
* Collects leaf headers for the
|
|
268
|
+
* Collects leaf headers for the end pinned region.
|
|
260
269
|
*
|
|
261
|
-
* Parent headers are filtered out from the
|
|
270
|
+
* Parent headers are filtered out from the end flat header list.
|
|
262
271
|
*
|
|
263
272
|
* @example
|
|
264
273
|
* ```ts
|
|
265
|
-
* const headers =
|
|
274
|
+
* const headers = table_getEndLeafHeaders(table)
|
|
266
275
|
* ```
|
|
267
276
|
*/
|
|
268
|
-
declare function
|
|
277
|
+
declare function table_getEndLeafHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Header<TFeatures, TData, unknown>[];
|
|
269
278
|
/**
|
|
270
279
|
* Collects leaf headers for the center, unpinned region.
|
|
271
280
|
*
|
|
@@ -276,46 +285,46 @@ declare function table_getRightLeafHeaders<TFeatures extends TableFeatures, TDat
|
|
|
276
285
|
* const headers = table_getCenterLeafHeaders(table)
|
|
277
286
|
* ```
|
|
278
287
|
*/
|
|
279
|
-
declare function table_getCenterLeafHeaders<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
288
|
+
declare function table_getCenterLeafHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Header<TFeatures, TData, unknown>[];
|
|
280
289
|
/**
|
|
281
|
-
* Resolves leaf columns pinned to the
|
|
290
|
+
* Resolves leaf columns pinned to the start region.
|
|
282
291
|
*
|
|
283
|
-
* The result follows `state.columnPinning.
|
|
292
|
+
* The result follows `state.columnPinning.start` order and skips stale ids that
|
|
284
293
|
* no longer correspond to a leaf column.
|
|
285
294
|
*
|
|
286
295
|
* @example
|
|
287
296
|
* ```ts
|
|
288
|
-
* const columns =
|
|
297
|
+
* const columns = table_getStartLeafColumns(table)
|
|
289
298
|
* ```
|
|
290
299
|
*/
|
|
291
|
-
declare function
|
|
300
|
+
declare function table_getStartLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Column<TFeatures, TData, unknown>[];
|
|
292
301
|
/**
|
|
293
|
-
* Resolves leaf columns pinned to the
|
|
302
|
+
* Resolves leaf columns pinned to the end region.
|
|
294
303
|
*
|
|
295
|
-
* The result follows `state.columnPinning.
|
|
304
|
+
* The result follows `state.columnPinning.end` order and skips stale ids that
|
|
296
305
|
* no longer correspond to a leaf column.
|
|
297
306
|
*
|
|
298
307
|
* @example
|
|
299
308
|
* ```ts
|
|
300
|
-
* const columns =
|
|
309
|
+
* const columns = table_getEndLeafColumns(table)
|
|
301
310
|
* ```
|
|
302
311
|
*/
|
|
303
|
-
declare function
|
|
312
|
+
declare function table_getEndLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Column<TFeatures, TData, unknown>[];
|
|
304
313
|
/**
|
|
305
|
-
* Resolves leaf columns that are not pinned to either side.
|
|
314
|
+
* Resolves leaf columns that are not pinned to either logical side.
|
|
306
315
|
*
|
|
307
|
-
*
|
|
316
|
+
* Start- and end-pinned ids are removed from `table.getAllLeafColumns()`.
|
|
308
317
|
*
|
|
309
318
|
* @example
|
|
310
319
|
* ```ts
|
|
311
320
|
* const columns = table_getCenterLeafColumns(table)
|
|
312
321
|
* ```
|
|
313
322
|
*/
|
|
314
|
-
declare function table_getCenterLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
323
|
+
declare function table_getCenterLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Column<TFeatures, TData, unknown>[];
|
|
315
324
|
/**
|
|
316
325
|
* Resolves leaf columns for a requested pinning region.
|
|
317
326
|
*
|
|
318
|
-
* Pass `'
|
|
327
|
+
* Pass `'start'`, `'center'`, or `'end'` for a partition, or pass `false` to
|
|
319
328
|
* read all leaf columns without partitioning.
|
|
320
329
|
*
|
|
321
330
|
* @example
|
|
@@ -323,29 +332,29 @@ declare function table_getCenterLeafColumns<TFeatures extends TableFeatures, TDa
|
|
|
323
332
|
* const columns = table_getPinnedLeafColumns(table, 'center')
|
|
324
333
|
* ```
|
|
325
334
|
*/
|
|
326
|
-
declare function table_getPinnedLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
335
|
+
declare function table_getPinnedLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, position: ColumnPinningPosition | 'center'): Column<TFeatures, TData, unknown>[] | Column<TFeatures, TData, unknown>[];
|
|
327
336
|
/**
|
|
328
|
-
* Resolves visible leaf columns pinned to the
|
|
337
|
+
* Resolves visible leaf columns pinned to the start region.
|
|
329
338
|
*
|
|
330
|
-
* Hidden pinned columns are filtered out after the
|
|
339
|
+
* Hidden pinned columns are filtered out after the start pin order is applied.
|
|
331
340
|
*
|
|
332
341
|
* @example
|
|
333
342
|
* ```ts
|
|
334
|
-
* const columns =
|
|
343
|
+
* const columns = table_getStartVisibleLeafColumns(table)
|
|
335
344
|
* ```
|
|
336
345
|
*/
|
|
337
|
-
declare function
|
|
346
|
+
declare function table_getStartVisibleLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Column<TFeatures, TData, unknown>[];
|
|
338
347
|
/**
|
|
339
|
-
* Resolves visible leaf columns pinned to the
|
|
348
|
+
* Resolves visible leaf columns pinned to the end region.
|
|
340
349
|
*
|
|
341
|
-
* Hidden pinned columns are filtered out after the
|
|
350
|
+
* Hidden pinned columns are filtered out after the end pin order is applied.
|
|
342
351
|
*
|
|
343
352
|
* @example
|
|
344
353
|
* ```ts
|
|
345
|
-
* const columns =
|
|
354
|
+
* const columns = table_getEndVisibleLeafColumns(table)
|
|
346
355
|
* ```
|
|
347
356
|
*/
|
|
348
|
-
declare function
|
|
357
|
+
declare function table_getEndVisibleLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Column<TFeatures, TData, unknown>[];
|
|
349
358
|
/**
|
|
350
359
|
* Resolves visible leaf columns that are not pinned.
|
|
351
360
|
*
|
|
@@ -357,19 +366,19 @@ declare function table_getRightVisibleLeafColumns<TFeatures extends TableFeature
|
|
|
357
366
|
* const columns = table_getCenterVisibleLeafColumns(table)
|
|
358
367
|
* ```
|
|
359
368
|
*/
|
|
360
|
-
declare function table_getCenterVisibleLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
369
|
+
declare function table_getCenterVisibleLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Column<TFeatures, TData, unknown>[];
|
|
361
370
|
/**
|
|
362
371
|
* Resolves visible leaf columns for a requested pinning region.
|
|
363
372
|
*
|
|
364
|
-
* Omit `position` to get all visible leaf columns, or pass `'
|
|
365
|
-
* or `'
|
|
373
|
+
* Omit `position` to get all visible leaf columns, or pass `'start'`, `'center'`,
|
|
374
|
+
* or `'end'` to get one partition.
|
|
366
375
|
*
|
|
367
376
|
* @example
|
|
368
377
|
* ```ts
|
|
369
|
-
* const columns = table_getPinnedVisibleLeafColumns(table, '
|
|
378
|
+
* const columns = table_getPinnedVisibleLeafColumns(table, 'start')
|
|
370
379
|
* ```
|
|
371
380
|
*/
|
|
372
|
-
declare function table_getPinnedVisibleLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
381
|
+
declare function table_getPinnedVisibleLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, position?: ColumnPinningPosition | 'center'): Column<TFeatures, TData, unknown>[] | Column<TFeatures, TData, unknown>[];
|
|
373
382
|
//#endregion
|
|
374
|
-
export { column_getCanPin, column_getIsPinned, column_getPinnedIndex, column_pin, getDefaultColumnPinningState, row_getCenterVisibleCells,
|
|
383
|
+
export { column_getCanPin, column_getIsPinned, column_getPinnedIndex, column_pin, getDefaultColumnPinningState, row_getCenterVisibleCells, row_getEndVisibleCells, row_getStartVisibleCells, table_getCenterFlatHeaders, table_getCenterFooterGroups, table_getCenterHeaderGroups, table_getCenterLeafColumns, table_getCenterLeafHeaders, table_getCenterVisibleLeafColumns, table_getEndFlatHeaders, table_getEndFooterGroups, table_getEndHeaderGroups, table_getEndLeafColumns, table_getEndLeafHeaders, table_getEndVisibleLeafColumns, table_getIsSomeColumnsPinned, table_getPinnedLeafColumns, table_getPinnedVisibleLeafColumns, table_getStartFlatHeaders, table_getStartFooterGroups, table_getStartHeaderGroups, table_getStartLeafColumns, table_getStartLeafHeaders, table_getStartVisibleLeafColumns, table_resetColumnPinning, table_setColumnPinning };
|
|
375
384
|
//# sourceMappingURL=columnPinningFeature.utils.d.cts.map
|