@tanstack/table-core 9.0.0-alpha.46 → 9.0.0-alpha.48
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 +10 -0
- package/dist/core/cells/constructCell.cjs +4 -3
- package/dist/core/cells/constructCell.cjs.map +1 -1
- package/dist/core/cells/constructCell.js +4 -3
- package/dist/core/cells/constructCell.js.map +1 -1
- package/dist/core/cells/coreCellsFeature.utils.cjs +11 -8
- package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -1
- package/dist/core/cells/coreCellsFeature.utils.d.cts +11 -8
- package/dist/core/cells/coreCellsFeature.utils.d.ts +11 -8
- package/dist/core/cells/coreCellsFeature.utils.js +11 -8
- package/dist/core/cells/coreCellsFeature.utils.js.map +1 -1
- package/dist/core/columns/constructColumn.cjs +6 -4
- package/dist/core/columns/constructColumn.cjs.map +1 -1
- package/dist/core/columns/constructColumn.js +6 -4
- package/dist/core/columns/constructColumn.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -6
- package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -6
- package/dist/core/columns/coreColumnsFeature.utils.cjs +47 -29
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +37 -27
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +37 -27
- package/dist/core/columns/coreColumnsFeature.utils.js +47 -29
- package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
- package/dist/core/headers/buildHeaderGroups.cjs +27 -19
- package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
- package/dist/core/headers/buildHeaderGroups.js +27 -19
- package/dist/core/headers/buildHeaderGroups.js.map +1 -1
- package/dist/core/headers/constructHeader.cjs +4 -3
- package/dist/core/headers/constructHeader.cjs.map +1 -1
- package/dist/core/headers/constructHeader.js +4 -3
- package/dist/core/headers/constructHeader.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.cjs +1 -6
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.js +2 -7
- package/dist/core/headers/coreHeadersFeature.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -4
- package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -4
- package/dist/core/headers/coreHeadersFeature.utils.cjs +43 -36
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +24 -19
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +24 -19
- package/dist/core/headers/coreHeadersFeature.utils.js +44 -37
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
- package/dist/core/reactivity/coreReactivityFeature.types.d.cts +4 -0
- package/dist/core/reactivity/coreReactivityFeature.types.d.ts +4 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +48 -36
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +48 -36
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +48 -36
- package/dist/core/row-models/coreRowModelsFeature.utils.js +48 -36
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
- package/dist/core/rows/constructRow.cjs +8 -6
- package/dist/core/rows/constructRow.cjs.map +1 -1
- package/dist/core/rows/constructRow.js +8 -6
- package/dist/core/rows/constructRow.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +4 -4
- package/dist/core/rows/coreRowsFeature.types.d.ts +4 -4
- package/dist/core/rows/coreRowsFeature.utils.cjs +43 -32
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +34 -28
- package/dist/core/rows/coreRowsFeature.utils.d.ts +34 -28
- package/dist/core/rows/coreRowsFeature.utils.js +43 -32
- package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
- package/dist/core/table/constructTable.cjs +9 -5
- package/dist/core/table/constructTable.cjs.map +1 -1
- package/dist/core/table/constructTable.js +9 -5
- package/dist/core/table/constructTable.js.map +1 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +6 -2
- package/dist/core/table/coreTablesFeature.types.d.ts +6 -2
- package/dist/core/table/coreTablesFeature.utils.cjs +7 -3
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +2 -2
- package/dist/core/table/coreTablesFeature.utils.d.ts +2 -2
- package/dist/core/table/coreTablesFeature.utils.js +7 -3
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +16 -10
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +16 -10
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +26 -18
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +26 -18
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +26 -18
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +26 -18
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +8 -5
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +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 +8 -3
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.js +8 -3
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs +7 -4
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.js +7 -4
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +21 -11
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +21 -11
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +39 -28
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +39 -28
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +39 -28
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +39 -28
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +11 -5
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.js +11 -5
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +18 -14
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +18 -14
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +55 -43
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +55 -43
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +55 -43
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +55 -43
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +14 -5
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +14 -5
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +46 -29
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +30 -23
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +30 -23
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +46 -29
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +43 -31
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +43 -31
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +152 -115
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +116 -95
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +116 -95
- package/dist/features/column-pinning/columnPinningFeature.utils.js +153 -116
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.types.d.cts +9 -9
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +9 -9
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +28 -19
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +28 -19
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +28 -19
- package/dist/features/column-resizing/columnResizingFeature.utils.js +28 -19
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +28 -4
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.js +28 -4
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.types.d.cts +19 -12
- package/dist/features/column-sizing/columnSizingFeature.types.d.ts +19 -12
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +52 -41
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +52 -41
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +52 -41
- package/dist/features/column-sizing/columnSizingFeature.utils.js +52 -41
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +23 -14
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.js +24 -15
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +19 -12
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +19 -12
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +91 -52
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +63 -40
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +63 -40
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +91 -53
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +10 -5
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +10 -5
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +20 -14
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +20 -14
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +20 -14
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +20 -14
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +16 -15
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +16 -15
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +58 -43
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +56 -41
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +56 -41
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +58 -43
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +19 -12
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +19 -12
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +49 -32
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +49 -32
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +49 -32
- package/dist/features/row-pagination/rowPaginationFeature.utils.js +49 -32
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +12 -8
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +12 -8
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +52 -36
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +39 -29
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +39 -29
- package/dist/features/row-pinning/rowPinningFeature.utils.js +52 -36
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +30 -24
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +30 -24
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +95 -72
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +89 -69
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +89 -69
- package/dist/features/row-selection/rowSelectionFeature.utils.js +95 -72
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +13 -8
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.js +13 -8
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +10 -8
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +10 -8
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +63 -46
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +61 -44
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +61 -44
- package/dist/features/row-sorting/rowSortingFeature.utils.js +63 -46
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
- package/dist/fns/aggregationFns.cjs +47 -16
- package/dist/fns/aggregationFns.cjs.map +1 -1
- package/dist/fns/aggregationFns.d.cts +33 -9
- package/dist/fns/aggregationFns.d.ts +33 -9
- package/dist/fns/aggregationFns.js +47 -17
- package/dist/fns/aggregationFns.js.map +1 -1
- package/dist/fns/filterFns.cjs +48 -17
- package/dist/fns/filterFns.cjs.map +1 -1
- package/dist/fns/filterFns.d.cts +42 -15
- package/dist/fns/filterFns.d.ts +42 -15
- package/dist/fns/filterFns.js +48 -17
- package/dist/fns/filterFns.js.map +1 -1
- package/dist/helpers/columnHelper.cjs +9 -4
- package/dist/helpers/columnHelper.cjs.map +1 -1
- package/dist/helpers/columnHelper.d.cts +9 -4
- package/dist/helpers/columnHelper.d.ts +9 -4
- package/dist/helpers/columnHelper.js +9 -4
- package/dist/helpers/columnHelper.js.map +1 -1
- package/dist/helpers/tableOptions.cjs.map +1 -1
- package/dist/helpers/tableOptions.d.cts +12 -9
- package/dist/helpers/tableOptions.d.ts +12 -9
- package/dist/helpers/tableOptions.js.map +1 -1
- package/dist/index.cjs +0 -4
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/static-functions.cjs +1 -0
- package/dist/static-functions.d.cts +2 -2
- package/dist/static-functions.d.ts +2 -2
- package/dist/static-functions.js +2 -2
- package/dist/store-reactivity-bindings.cjs +1 -0
- package/dist/store-reactivity-bindings.cjs.map +1 -1
- package/dist/store-reactivity-bindings.js +1 -0
- package/dist/store-reactivity-bindings.js.map +1 -1
- package/dist/types/ColumnDef.d.cts +38 -0
- package/dist/types/ColumnDef.d.ts +38 -0
- package/dist/types/TableOptions.d.cts +15 -0
- package/dist/types/TableOptions.d.ts +15 -0
- package/dist/types/TableState.d.cts +12 -0
- package/dist/types/TableState.d.ts +12 -0
- package/dist/utils.cjs +18 -39
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +1 -23
- package/dist/utils.d.ts +1 -23
- package/dist/utils.js +19 -36
- package/dist/utils.js.map +1 -1
- package/package.json +5 -3
- package/skills/column-definitions/SKILL.md +333 -0
- package/skills/column-layout/SKILL.md +328 -0
- package/skills/column-layout/references/subsystems.md +220 -0
- package/skills/customizing-feature-behavior/SKILL.md +416 -0
- package/skills/filtering/SKILL.md +357 -0
- package/skills/filtering/references/faceting-and-fuzzy.md +191 -0
- package/skills/grouping/SKILL.md +448 -0
- package/skills/migrate-v8-to-v9/SKILL.md +495 -0
- package/skills/pagination/SKILL.md +385 -0
- package/skills/row-expanding/SKILL.md +348 -0
- package/skills/row-pinning/SKILL.md +269 -0
- package/skills/row-selection/SKILL.md +391 -0
- package/skills/setup/SKILL.md +400 -0
- package/skills/sorting/SKILL.md +344 -0
- package/skills/state-management/SKILL.md +388 -0
- package/src/core/cells/constructCell.ts +3 -2
- package/src/core/cells/coreCellsFeature.utils.ts +11 -8
- package/src/core/columns/constructColumn.ts +5 -3
- package/src/core/columns/coreColumnsFeature.types.ts +7 -6
- package/src/core/columns/coreColumnsFeature.utils.ts +43 -29
- package/src/core/headers/buildHeaderGroups.ts +29 -30
- package/src/core/headers/constructHeader.ts +3 -2
- package/src/core/headers/coreHeadersFeature.ts +2 -27
- package/src/core/headers/coreHeadersFeature.types.ts +6 -4
- package/src/core/headers/coreHeadersFeature.utils.ts +52 -61
- package/src/core/reactivity/coreReactivityFeature.types.ts +4 -0
- package/src/core/row-models/coreRowModelsFeature.utils.ts +48 -36
- package/src/core/rows/constructRow.ts +6 -4
- package/src/core/rows/coreRowsFeature.types.ts +4 -4
- package/src/core/rows/coreRowsFeature.utils.ts +45 -32
- package/src/core/table/constructTable.ts +6 -4
- package/src/core/table/coreTablesFeature.types.ts +6 -2
- package/src/core/table/coreTablesFeature.utils.ts +5 -3
- package/src/features/column-faceting/columnFacetingFeature.types.ts +16 -10
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +26 -18
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +8 -10
- package/src/features/column-faceting/createFacetedRowModel.ts +10 -6
- package/src/features/column-faceting/createFacetedUniqueValues.ts +4 -3
- package/src/features/column-filtering/columnFilteringFeature.types.ts +21 -11
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +39 -28
- package/src/features/column-filtering/createFilteredRowModel.ts +14 -8
- package/src/features/column-grouping/columnGroupingFeature.types.ts +18 -14
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +55 -43
- package/src/features/column-ordering/columnOrderingFeature.types.ts +14 -5
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +44 -29
- package/src/features/column-pinning/columnPinningFeature.types.ts +43 -31
- package/src/features/column-pinning/columnPinningFeature.utils.ts +164 -128
- package/src/features/column-resizing/columnResizingFeature.types.ts +9 -9
- package/src/features/column-resizing/columnResizingFeature.utils.ts +28 -19
- package/src/features/column-sizing/columnSizingFeature.ts +16 -0
- package/src/features/column-sizing/columnSizingFeature.types.ts +19 -12
- package/src/features/column-sizing/columnSizingFeature.utils.ts +52 -41
- package/src/features/column-visibility/columnVisibilityFeature.ts +8 -0
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +22 -12
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +101 -56
- package/src/features/global-filtering/globalFilteringFeature.types.ts +10 -5
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +20 -14
- package/src/features/row-expanding/rowExpandingFeature.types.ts +16 -15
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +58 -43
- package/src/features/row-pagination/rowPaginationFeature.types.ts +19 -12
- package/src/features/row-pagination/rowPaginationFeature.utils.ts +49 -32
- package/src/features/row-pinning/rowPinningFeature.types.ts +12 -8
- package/src/features/row-pinning/rowPinningFeature.utils.ts +59 -47
- package/src/features/row-selection/rowSelectionFeature.types.ts +30 -24
- package/src/features/row-selection/rowSelectionFeature.utils.ts +109 -88
- package/src/features/row-sorting/createSortedRowModel.ts +16 -13
- package/src/features/row-sorting/rowSortingFeature.types.ts +10 -8
- package/src/features/row-sorting/rowSortingFeature.utils.ts +63 -46
- package/src/fns/aggregationFns.ts +53 -17
- package/src/fns/filterFns.ts +48 -17
- package/src/helpers/columnHelper.ts +9 -4
- package/src/helpers/tableOptions.ts +12 -9
- package/src/store-reactivity-bindings.ts +1 -0
- package/src/types/ColumnDef.ts +38 -0
- package/src/types/TableOptions.ts +15 -0
- package/src/types/TableState.ts +12 -0
- package/src/utils.ts +19 -46
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnPinningFeature.utils.cjs","names":["callMemoOrStaticFn","row_getVisibleCells","cloneState","column_getIsVisible","buildHeaderGroups","table_getVisibleLeafColumns"],"sources":["../../../src/features/column-pinning/columnPinningFeature.utils.ts"],"sourcesContent":["import {\n column_getIsVisible,\n row_getVisibleCells,\n table_getVisibleLeafColumns,\n} from '../column-visibility/columnVisibilityFeature.utils'\nimport { buildHeaderGroups } from '../../core/headers/buildHeaderGroups'\nimport { callMemoOrStaticFn, cloneState } from '../../utils'\nimport type { HeaderGroup } from '../../types/HeaderGroup'\nimport type { Cell } from '../../types/Cell'\nimport type { Row } from '../../types/Row'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\nimport type {\n ColumnPinningPosition,\n ColumnPinningState,\n} from './columnPinningFeature.types'\n\n// State\n\n/**\n * Returns the default column pinning state.\n *\n * Feature constructors use this value to initialize the table state or option defaults when no user value is provided.\n *\n * @example\n * ```ts\n * const initialValue = getDefaultColumnPinningState()\n * ```\n */\nexport function getDefaultColumnPinningState(): ColumnPinningState {\n return {\n left: [],\n right: [],\n }\n}\n\n// Column APIs\n\n/**\n * Pin. for a column.\n *\n * This is the static implementation behind the matching column instance API.\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 const columnIds = column\n .getLeafColumns()\n .map((d) => d.id)\n .filter(Boolean)\n\n table_setColumnPinning(column.table, (old) => {\n if (position === 'right') {\n return {\n left: old.left.filter((d) => !columnIds.includes(d)),\n right: [\n ...old.right.filter((d) => !columnIds.includes(d)),\n ...columnIds,\n ],\n }\n }\n\n if (position === 'left') {\n return {\n left: [...old.left.filter((d) => !columnIds.includes(d)), ...columnIds],\n right: old.right.filter((d) => !columnIds.includes(d)),\n }\n }\n\n return {\n left: old.left.filter((d) => !columnIds.includes(d)),\n right: old.right.filter((d) => !columnIds.includes(d)),\n }\n })\n}\n\n/**\n * Returns whether a column can use pin.\n *\n * This combines column options, table options, and any required accessor or feature state for the capability.\n *\n * @example\n * ```ts\n * const value = 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 * Returns is pinned for a column.\n *\n * This derives the value from the column definition, table options, and the feature state atoms registered on the table.\n *\n * @example\n * ```ts\n * const value = 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 * Returns pinned index for a column.\n *\n * This derives the value from the column definition, table options, and the feature state atoms registered on the table.\n *\n * @example\n * ```ts\n * const value = 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 * Returns center visible cells for a row.\n *\n * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.\n *\n * @example\n * ```ts\n * const value = 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 * Returns left visible cells for a row.\n *\n * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.\n *\n * @example\n * ```ts\n * const value = 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 'getVisibleCells',\n row_getVisibleCells,\n )\n const cells: typeof allVisibleCells = []\n for (const columnId of left) {\n const cell = allVisibleCells.find((c) => c.column.id === columnId)\n if (cell) {\n // Assign position property directly to preserve prototype chain\n cell.position = 'left'\n cells.push(cell)\n }\n }\n return cells\n}\n\n/**\n * Returns right visible cells for a row.\n *\n * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.\n *\n * @example\n * ```ts\n * const value = 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 'getVisibleCells',\n row_getVisibleCells,\n )\n const cells: typeof allVisibleCells = []\n for (const columnId of right) {\n const cell = allVisibleCells.find((c) => c.column.id === columnId)\n if (cell) {\n // Assign position property directly to preserve prototype chain\n cell.position = 'right'\n cells.push(cell)\n }\n }\n return cells\n}\n\n// Table APIs\n\n/**\n * Updates the table's column pinning state slice.\n *\n * The updater follows TanStack Table updater semantics and is routed through the corresponding `on*Change` option or backing atom.\n *\n * @example\n * ```ts\n * table_setColumnPinning(table, (old) => old)\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 the table's column pinning state slice.\n *\n * By default the reset uses `table.initialState`; when supported, a blank/default reset bypasses the saved initial value.\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 * Returns is some columns pinned for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 * Returns left header groups for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 (const columnId of left) {\n const column = leafColumnsById[columnId]\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 * Returns right header groups for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 (const columnId of right) {\n const column = leafColumnsById[columnId]\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 * Returns center header groups for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 * Returns left footer groups for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 * Returns right footer groups for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 * Returns center footer groups for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 * Returns left flat headers for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 return leftHeaderGroups\n .map((headerGroup) => {\n return headerGroup.headers\n })\n .flat()\n}\n\n/**\n * Returns right flat headers for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 return rightHeaderGroups\n .map((headerGroup) => {\n return headerGroup.headers\n })\n .flat()\n}\n\n/**\n * Returns center flat headers for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 return centerHeaderGroups\n .map((headerGroup) => {\n return headerGroup.headers\n })\n .flat()\n}\n\n// leaf headers\n\n/**\n * Returns left leaf headers for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 * Returns right leaf headers for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 * Returns center leaf headers for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 * Returns left leaf columns for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 (const columnId of left) {\n const column = leafColumnsById[columnId]\n if (column) result.push(column)\n }\n return result\n}\n\n/**\n * Returns right leaf columns for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 (const columnId of right) {\n const column = leafColumnsById[columnId]\n if (column) result.push(column)\n }\n return result\n}\n\n/**\n * Returns center leaf columns for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 * Returns pinned leaf columns for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getPinnedLeafColumns(table)\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 * Returns left visible leaf columns for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 * Returns right visible leaf columns for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 * Returns center visible leaf columns for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 * Returns pinned visible leaf columns for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getPinnedVisibleLeafColumns(table)\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_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.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.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,5 +1,6 @@
|
|
|
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";
|
|
3
4
|
import { ColumnPinningPosition, ColumnPinningState } from "./columnPinningFeature.types.cjs";
|
|
4
5
|
import { Column, Column_Internal } from "../../types/Column.cjs";
|
|
5
6
|
import { Row } from "../../types/Row.cjs";
|
|
@@ -8,20 +9,23 @@ import { Table_Internal } from "../../types/Table.cjs";
|
|
|
8
9
|
import { Cell } from "../../types/Cell.cjs";
|
|
9
10
|
//#region src/features/column-pinning/columnPinningFeature.utils.d.ts
|
|
10
11
|
/**
|
|
11
|
-
*
|
|
12
|
+
* Creates the default column pinning state.
|
|
12
13
|
*
|
|
13
|
-
*
|
|
14
|
+
* Both pinning regions start empty. Reset APIs use this value when
|
|
15
|
+
* `defaultState` is `true`.
|
|
14
16
|
*
|
|
15
17
|
* @example
|
|
16
18
|
* ```ts
|
|
17
|
-
* const
|
|
19
|
+
* const pinning = getDefaultColumnPinningState()
|
|
18
20
|
* ```
|
|
19
21
|
*/
|
|
20
22
|
declare function getDefaultColumnPinningState(): ColumnPinningState;
|
|
21
23
|
/**
|
|
22
|
-
*
|
|
24
|
+
* Moves this column's leaf column ids into a pinning region.
|
|
23
25
|
*
|
|
24
|
-
*
|
|
26
|
+
* Pinning a group column pins all of its leaves. The leaf ids are first removed
|
|
27
|
+
* from both regions, then appended to the requested `'left'` or `'right'`
|
|
28
|
+
* region. Passing `false` unpins them back to the center.
|
|
25
29
|
*
|
|
26
30
|
* @example
|
|
27
31
|
* ```ts
|
|
@@ -30,86 +34,94 @@ declare function getDefaultColumnPinningState(): ColumnPinningState;
|
|
|
30
34
|
*/
|
|
31
35
|
declare function column_pin<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, position: ColumnPinningPosition): void;
|
|
32
36
|
/**
|
|
33
|
-
*
|
|
37
|
+
* Checks whether this column or any of its leaf columns can be pinned.
|
|
34
38
|
*
|
|
35
|
-
*
|
|
39
|
+
* Column-level `enablePinning` and table `enableColumnPinning` both default to
|
|
40
|
+
* `true`; at least one leaf column must allow pinning.
|
|
36
41
|
*
|
|
37
42
|
* @example
|
|
38
43
|
* ```ts
|
|
39
|
-
* const
|
|
44
|
+
* const canPin = column_getCanPin(column)
|
|
40
45
|
* ```
|
|
41
46
|
*/
|
|
42
47
|
declare function column_getCanPin<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
|
|
43
48
|
/**
|
|
44
|
-
*
|
|
49
|
+
* Reads this column's current pinning region.
|
|
45
50
|
*
|
|
46
|
-
*
|
|
51
|
+
* Group columns report `'left'` or `'right'` when any leaf column is pinned in
|
|
52
|
+
* that region. Unpinned columns return `false`.
|
|
47
53
|
*
|
|
48
54
|
* @example
|
|
49
55
|
* ```ts
|
|
50
|
-
* const
|
|
56
|
+
* const position = column_getIsPinned(column)
|
|
51
57
|
* ```
|
|
52
58
|
*/
|
|
53
59
|
declare function column_getIsPinned<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): ColumnPinningPosition | false;
|
|
54
60
|
/**
|
|
55
|
-
*
|
|
61
|
+
* Finds this column's index within its pinned region.
|
|
56
62
|
*
|
|
57
|
-
*
|
|
63
|
+
* Unpinned columns return `0`; pinned columns return their position in
|
|
64
|
+
* `state.columnPinning.left` or `state.columnPinning.right`.
|
|
58
65
|
*
|
|
59
66
|
* @example
|
|
60
67
|
* ```ts
|
|
61
|
-
* const
|
|
68
|
+
* const index = column_getPinnedIndex(column)
|
|
62
69
|
* ```
|
|
63
70
|
*/
|
|
64
71
|
declare function column_getPinnedIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): number;
|
|
65
72
|
/**
|
|
66
|
-
*
|
|
73
|
+
* Collects visible cells whose columns are not pinned left or right.
|
|
67
74
|
*
|
|
68
|
-
*
|
|
75
|
+
* The result preserves the row's visible-cell order for center columns.
|
|
69
76
|
*
|
|
70
77
|
* @example
|
|
71
78
|
* ```ts
|
|
72
|
-
* const
|
|
79
|
+
* const centerCells = row_getCenterVisibleCells(row)
|
|
73
80
|
* ```
|
|
74
81
|
*/
|
|
75
82
|
declare function row_getCenterVisibleCells<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): any[];
|
|
76
83
|
/**
|
|
77
|
-
*
|
|
84
|
+
* Collects visible cells for columns pinned to the left region.
|
|
78
85
|
*
|
|
79
|
-
*
|
|
86
|
+
* Cells are returned in `state.columnPinning.left` order and are marked with
|
|
87
|
+
* `cell.position = 'left'`.
|
|
80
88
|
*
|
|
81
89
|
* @example
|
|
82
90
|
* ```ts
|
|
83
|
-
* const
|
|
91
|
+
* const leftCells = row_getLeftVisibleCells(row)
|
|
84
92
|
* ```
|
|
85
93
|
*/
|
|
86
94
|
declare function row_getLeftVisibleCells<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): Array<Cell<TFeatures, TData, unknown>>;
|
|
87
95
|
/**
|
|
88
|
-
*
|
|
96
|
+
* Collects visible cells for columns pinned to the right region.
|
|
89
97
|
*
|
|
90
|
-
*
|
|
98
|
+
* Cells are returned in `state.columnPinning.right` order and are marked with
|
|
99
|
+
* `cell.position = 'right'`.
|
|
91
100
|
*
|
|
92
101
|
* @example
|
|
93
102
|
* ```ts
|
|
94
|
-
* const
|
|
103
|
+
* const rightCells = row_getRightVisibleCells(row)
|
|
95
104
|
* ```
|
|
96
105
|
*/
|
|
97
|
-
declare function row_getRightVisibleCells<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>):
|
|
106
|
+
declare function row_getRightVisibleCells<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): Cell<TFeatures, TData, unknown>[];
|
|
98
107
|
/**
|
|
99
|
-
*
|
|
108
|
+
* Routes a column pinning updater through the table's pinning change handler.
|
|
100
109
|
*
|
|
101
|
-
* The updater
|
|
110
|
+
* The updater may be a next `{ left, right }` state or a function of the
|
|
111
|
+
* previous state, matching the instance `table.setColumnPinning` behavior.
|
|
102
112
|
*
|
|
103
113
|
* @example
|
|
104
114
|
* ```ts
|
|
105
|
-
* table_setColumnPinning(table, (old) => old)
|
|
115
|
+
* table_setColumnPinning(table, (old) => ({ ...old, left: ['select'] }))
|
|
106
116
|
* ```
|
|
107
117
|
*/
|
|
108
118
|
declare function table_setColumnPinning<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnPinningState>): void;
|
|
109
119
|
/**
|
|
110
|
-
* Resets the
|
|
120
|
+
* Resets `columnPinning` to the configured initial state or feature default.
|
|
111
121
|
*
|
|
112
|
-
*
|
|
122
|
+
* With no argument, the reset clones `table.initialState.columnPinning` when it
|
|
123
|
+
* exists. Passing `true` ignores initial state and resets to empty left/right
|
|
124
|
+
* arrays.
|
|
113
125
|
*
|
|
114
126
|
* @example
|
|
115
127
|
* ```ts
|
|
@@ -119,233 +131,242 @@ declare function table_setColumnPinning<TFeatures extends TableFeatures, TData e
|
|
|
119
131
|
*/
|
|
120
132
|
declare function table_resetColumnPinning<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
|
|
121
133
|
/**
|
|
122
|
-
*
|
|
134
|
+
* Checks whether any columns are pinned.
|
|
123
135
|
*
|
|
124
|
-
*
|
|
136
|
+
* Omit `position` to check both sides, or pass `'left'`/`'right'` to inspect a
|
|
137
|
+
* single pinning region.
|
|
125
138
|
*
|
|
126
139
|
* @example
|
|
127
140
|
* ```ts
|
|
128
|
-
* const
|
|
141
|
+
* const hasPinnedColumns = table_getIsSomeColumnsPinned(table)
|
|
129
142
|
* ```
|
|
130
143
|
*/
|
|
131
144
|
declare function table_getIsSomeColumnsPinned<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, position?: ColumnPinningPosition): boolean;
|
|
132
145
|
/**
|
|
133
|
-
*
|
|
146
|
+
* Builds header groups for visible columns pinned to the left region.
|
|
134
147
|
*
|
|
135
|
-
*
|
|
148
|
+
* The leaf columns are read in `state.columnPinning.left` order and then passed
|
|
149
|
+
* through the same header-group builder as the unpinned table.
|
|
136
150
|
*
|
|
137
151
|
* @example
|
|
138
152
|
* ```ts
|
|
139
|
-
* const
|
|
153
|
+
* const headerGroups = table_getLeftHeaderGroups(table)
|
|
140
154
|
* ```
|
|
141
155
|
*/
|
|
142
156
|
declare function table_getLeftHeaderGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): HeaderGroup<TFeatures, TData>[];
|
|
143
157
|
/**
|
|
144
|
-
*
|
|
158
|
+
* Builds header groups for visible columns pinned to the right region.
|
|
145
159
|
*
|
|
146
|
-
*
|
|
160
|
+
* The leaf columns are read in `state.columnPinning.right` order and then
|
|
161
|
+
* passed through the same header-group builder as the unpinned table.
|
|
147
162
|
*
|
|
148
163
|
* @example
|
|
149
164
|
* ```ts
|
|
150
|
-
* const
|
|
165
|
+
* const headerGroups = table_getRightHeaderGroups(table)
|
|
151
166
|
* ```
|
|
152
167
|
*/
|
|
153
168
|
declare function table_getRightHeaderGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): HeaderGroup<TFeatures, TData>[];
|
|
154
169
|
/**
|
|
155
|
-
*
|
|
170
|
+
* Builds header groups for visible columns that are not pinned.
|
|
156
171
|
*
|
|
157
|
-
*
|
|
172
|
+
* Left- and right-pinned column ids are removed from the visible leaf column
|
|
173
|
+
* list before header groups are built for the center region.
|
|
158
174
|
*
|
|
159
175
|
* @example
|
|
160
176
|
* ```ts
|
|
161
|
-
* const
|
|
177
|
+
* const headerGroups = table_getCenterHeaderGroups(table)
|
|
162
178
|
* ```
|
|
163
179
|
*/
|
|
164
180
|
declare function table_getCenterHeaderGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Array<HeaderGroup<TFeatures, TData>>;
|
|
165
181
|
/**
|
|
166
|
-
*
|
|
182
|
+
* Builds footer groups for the left pinned region.
|
|
167
183
|
*
|
|
168
|
-
*
|
|
184
|
+
* Footer groups reuse the left header groups in reverse order.
|
|
169
185
|
*
|
|
170
186
|
* @example
|
|
171
187
|
* ```ts
|
|
172
|
-
* const
|
|
188
|
+
* const footerGroups = table_getLeftFooterGroups(table)
|
|
173
189
|
* ```
|
|
174
190
|
*/
|
|
175
191
|
declare function table_getLeftFooterGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
176
192
|
/**
|
|
177
|
-
*
|
|
193
|
+
* Builds footer groups for the right pinned region.
|
|
178
194
|
*
|
|
179
|
-
*
|
|
195
|
+
* Footer groups reuse the right header groups in reverse order.
|
|
180
196
|
*
|
|
181
197
|
* @example
|
|
182
198
|
* ```ts
|
|
183
|
-
* const
|
|
199
|
+
* const footerGroups = table_getRightFooterGroups(table)
|
|
184
200
|
* ```
|
|
185
201
|
*/
|
|
186
202
|
declare function table_getRightFooterGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
187
203
|
/**
|
|
188
|
-
*
|
|
204
|
+
* Builds footer groups for the center, unpinned region.
|
|
189
205
|
*
|
|
190
|
-
*
|
|
206
|
+
* Footer groups reuse the center header groups in reverse order.
|
|
191
207
|
*
|
|
192
208
|
* @example
|
|
193
209
|
* ```ts
|
|
194
|
-
* const
|
|
210
|
+
* const footerGroups = table_getCenterFooterGroups(table)
|
|
195
211
|
* ```
|
|
196
212
|
*/
|
|
197
213
|
declare function table_getCenterFooterGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
198
214
|
/**
|
|
199
|
-
*
|
|
215
|
+
* Flattens every header from the left pinned header groups.
|
|
200
216
|
*
|
|
201
|
-
*
|
|
217
|
+
* Parent headers and placeholder headers are included.
|
|
202
218
|
*
|
|
203
219
|
* @example
|
|
204
220
|
* ```ts
|
|
205
|
-
* const
|
|
221
|
+
* const headers = table_getLeftFlatHeaders(table)
|
|
206
222
|
* ```
|
|
207
223
|
*/
|
|
208
|
-
declare function table_getLeftFlatHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>):
|
|
224
|
+
declare function table_getLeftFlatHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Header<TFeatures, TData, unknown>[];
|
|
209
225
|
/**
|
|
210
|
-
*
|
|
226
|
+
* Flattens every header from the right pinned header groups.
|
|
211
227
|
*
|
|
212
|
-
*
|
|
228
|
+
* Parent headers and placeholder headers are included.
|
|
213
229
|
*
|
|
214
230
|
* @example
|
|
215
231
|
* ```ts
|
|
216
|
-
* const
|
|
232
|
+
* const headers = table_getRightFlatHeaders(table)
|
|
217
233
|
* ```
|
|
218
234
|
*/
|
|
219
|
-
declare function table_getRightFlatHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>):
|
|
235
|
+
declare function table_getRightFlatHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Header<TFeatures, TData, unknown>[];
|
|
220
236
|
/**
|
|
221
|
-
*
|
|
237
|
+
* Flattens every header from the center header groups.
|
|
222
238
|
*
|
|
223
|
-
*
|
|
239
|
+
* Parent headers and placeholder headers are included.
|
|
224
240
|
*
|
|
225
241
|
* @example
|
|
226
242
|
* ```ts
|
|
227
|
-
* const
|
|
243
|
+
* const headers = table_getCenterFlatHeaders(table)
|
|
228
244
|
* ```
|
|
229
245
|
*/
|
|
230
|
-
declare function table_getCenterFlatHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>):
|
|
246
|
+
declare function table_getCenterFlatHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Header<TFeatures, TData, unknown>[];
|
|
231
247
|
/**
|
|
232
|
-
*
|
|
248
|
+
* Collects leaf headers for the left pinned region.
|
|
233
249
|
*
|
|
234
|
-
*
|
|
250
|
+
* Parent headers are filtered out from the left flat header list.
|
|
235
251
|
*
|
|
236
252
|
* @example
|
|
237
253
|
* ```ts
|
|
238
|
-
* const
|
|
254
|
+
* const headers = table_getLeftLeafHeaders(table)
|
|
239
255
|
* ```
|
|
240
256
|
*/
|
|
241
257
|
declare function table_getLeftLeafHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
242
258
|
/**
|
|
243
|
-
*
|
|
259
|
+
* Collects leaf headers for the right pinned region.
|
|
244
260
|
*
|
|
245
|
-
*
|
|
261
|
+
* Parent headers are filtered out from the right flat header list.
|
|
246
262
|
*
|
|
247
263
|
* @example
|
|
248
264
|
* ```ts
|
|
249
|
-
* const
|
|
265
|
+
* const headers = table_getRightLeafHeaders(table)
|
|
250
266
|
* ```
|
|
251
267
|
*/
|
|
252
268
|
declare function table_getRightLeafHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
253
269
|
/**
|
|
254
|
-
*
|
|
270
|
+
* Collects leaf headers for the center, unpinned region.
|
|
255
271
|
*
|
|
256
|
-
*
|
|
272
|
+
* Parent headers are filtered out from the center flat header list.
|
|
257
273
|
*
|
|
258
274
|
* @example
|
|
259
275
|
* ```ts
|
|
260
|
-
* const
|
|
276
|
+
* const headers = table_getCenterLeafHeaders(table)
|
|
261
277
|
* ```
|
|
262
278
|
*/
|
|
263
279
|
declare function table_getCenterLeafHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
264
280
|
/**
|
|
265
|
-
*
|
|
281
|
+
* Resolves leaf columns pinned to the left region.
|
|
266
282
|
*
|
|
267
|
-
*
|
|
283
|
+
* The result follows `state.columnPinning.left` order and skips stale ids that
|
|
284
|
+
* no longer correspond to a leaf column.
|
|
268
285
|
*
|
|
269
286
|
* @example
|
|
270
287
|
* ```ts
|
|
271
|
-
* const
|
|
288
|
+
* const columns = table_getLeftLeafColumns(table)
|
|
272
289
|
* ```
|
|
273
290
|
*/
|
|
274
291
|
declare function table_getLeftLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Column_Internal<TFeatures, TData, unknown>[];
|
|
275
292
|
/**
|
|
276
|
-
*
|
|
293
|
+
* Resolves leaf columns pinned to the right region.
|
|
277
294
|
*
|
|
278
|
-
*
|
|
295
|
+
* The result follows `state.columnPinning.right` order and skips stale ids that
|
|
296
|
+
* no longer correspond to a leaf column.
|
|
279
297
|
*
|
|
280
298
|
* @example
|
|
281
299
|
* ```ts
|
|
282
|
-
* const
|
|
300
|
+
* const columns = table_getRightLeafColumns(table)
|
|
283
301
|
* ```
|
|
284
302
|
*/
|
|
285
303
|
declare function table_getRightLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Column_Internal<TFeatures, TData, unknown>[];
|
|
286
304
|
/**
|
|
287
|
-
*
|
|
305
|
+
* Resolves leaf columns that are not pinned to either side.
|
|
288
306
|
*
|
|
289
|
-
*
|
|
307
|
+
* Left- and right-pinned ids are removed from `table.getAllLeafColumns()`.
|
|
290
308
|
*
|
|
291
309
|
* @example
|
|
292
310
|
* ```ts
|
|
293
|
-
* const
|
|
311
|
+
* const columns = table_getCenterLeafColumns(table)
|
|
294
312
|
* ```
|
|
295
313
|
*/
|
|
296
314
|
declare function table_getCenterLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Column<TFeatures, TData, unknown>[];
|
|
297
315
|
/**
|
|
298
|
-
*
|
|
316
|
+
* Resolves leaf columns for a requested pinning region.
|
|
299
317
|
*
|
|
300
|
-
*
|
|
318
|
+
* Pass `'left'`, `'center'`, or `'right'` for a partition, or pass `false` to
|
|
319
|
+
* read all leaf columns without partitioning.
|
|
301
320
|
*
|
|
302
321
|
* @example
|
|
303
322
|
* ```ts
|
|
304
|
-
* const
|
|
323
|
+
* const columns = table_getPinnedLeafColumns(table, 'center')
|
|
305
324
|
* ```
|
|
306
325
|
*/
|
|
307
326
|
declare function table_getPinnedLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, position: ColumnPinningPosition | 'center'): any[];
|
|
308
327
|
/**
|
|
309
|
-
*
|
|
328
|
+
* Resolves visible leaf columns pinned to the left region.
|
|
310
329
|
*
|
|
311
|
-
*
|
|
330
|
+
* Hidden pinned columns are filtered out after the left pin order is applied.
|
|
312
331
|
*
|
|
313
332
|
* @example
|
|
314
333
|
* ```ts
|
|
315
|
-
* const
|
|
334
|
+
* const columns = table_getLeftVisibleLeafColumns(table)
|
|
316
335
|
* ```
|
|
317
336
|
*/
|
|
318
337
|
declare function table_getLeftVisibleLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
319
338
|
/**
|
|
320
|
-
*
|
|
339
|
+
* Resolves visible leaf columns pinned to the right region.
|
|
321
340
|
*
|
|
322
|
-
*
|
|
341
|
+
* Hidden pinned columns are filtered out after the right pin order is applied.
|
|
323
342
|
*
|
|
324
343
|
* @example
|
|
325
344
|
* ```ts
|
|
326
|
-
* const
|
|
345
|
+
* const columns = table_getRightVisibleLeafColumns(table)
|
|
327
346
|
* ```
|
|
328
347
|
*/
|
|
329
348
|
declare function table_getRightVisibleLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
330
349
|
/**
|
|
331
|
-
*
|
|
350
|
+
* Resolves visible leaf columns that are not pinned.
|
|
332
351
|
*
|
|
333
|
-
* This
|
|
352
|
+
* This is the center partition used by layouts that render pinned columns
|
|
353
|
+
* separately from the scrollable middle region.
|
|
334
354
|
*
|
|
335
355
|
* @example
|
|
336
356
|
* ```ts
|
|
337
|
-
* const
|
|
357
|
+
* const columns = table_getCenterVisibleLeafColumns(table)
|
|
338
358
|
* ```
|
|
339
359
|
*/
|
|
340
360
|
declare function table_getCenterVisibleLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
|
|
341
361
|
/**
|
|
342
|
-
*
|
|
362
|
+
* Resolves visible leaf columns for a requested pinning region.
|
|
343
363
|
*
|
|
344
|
-
*
|
|
364
|
+
* Omit `position` to get all visible leaf columns, or pass `'left'`, `'center'`,
|
|
365
|
+
* or `'right'` to get one partition.
|
|
345
366
|
*
|
|
346
367
|
* @example
|
|
347
368
|
* ```ts
|
|
348
|
-
* const
|
|
369
|
+
* const columns = table_getPinnedVisibleLeafColumns(table, 'left')
|
|
349
370
|
* ```
|
|
350
371
|
*/
|
|
351
372
|
declare function table_getPinnedVisibleLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, position?: ColumnPinningPosition | 'center'): any[];
|