@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
|
@@ -24,10 +24,7 @@ const rowPinningFeature = {
|
|
|
24
24
|
row_getIsPinned: { fn: (row) => require_rowPinningFeature_utils.row_getIsPinned(row) },
|
|
25
25
|
row_getPinnedIndex: {
|
|
26
26
|
fn: (row) => require_rowPinningFeature_utils.row_getPinnedIndex(row),
|
|
27
|
-
memoDeps: (row) =>
|
|
28
|
-
var _row$table$atoms$rowP;
|
|
29
|
-
return [row.table.getRowModel().rows, (_row$table$atoms$rowP = row.table.atoms.rowPinning) === null || _row$table$atoms$rowP === void 0 ? void 0 : _row$table$atoms$rowP.get()];
|
|
30
|
-
}
|
|
27
|
+
memoDeps: (row) => [row.table.getRowModel().rows, row.table.atoms.rowPinning?.get()]
|
|
31
28
|
},
|
|
32
29
|
row_pin: { fn: (row, position, includeLeafRows, includeParentRows) => require_rowPinningFeature_utils.row_pin(row, position, includeLeafRows, includeParentRows) }
|
|
33
30
|
});
|
|
@@ -39,24 +36,15 @@ const rowPinningFeature = {
|
|
|
39
36
|
table_getIsSomeRowsPinned: { fn: (position) => require_rowPinningFeature_utils.table_getIsSomeRowsPinned(table, position) },
|
|
40
37
|
table_getTopRows: {
|
|
41
38
|
fn: () => require_rowPinningFeature_utils.table_getTopRows(table),
|
|
42
|
-
memoDeps: () =>
|
|
43
|
-
var _table$atoms$rowPinni;
|
|
44
|
-
return [table.getRowModel().rows, (_table$atoms$rowPinni = table.atoms.rowPinning) === null || _table$atoms$rowPinni === void 0 || (_table$atoms$rowPinni = _table$atoms$rowPinni.get()) === null || _table$atoms$rowPinni === void 0 ? void 0 : _table$atoms$rowPinni.top];
|
|
45
|
-
}
|
|
39
|
+
memoDeps: () => [table.getRowModel().rows, table.atoms.rowPinning?.get()?.top]
|
|
46
40
|
},
|
|
47
41
|
table_getBottomRows: {
|
|
48
42
|
fn: () => require_rowPinningFeature_utils.table_getBottomRows(table),
|
|
49
|
-
memoDeps: () =>
|
|
50
|
-
var _table$atoms$rowPinni2;
|
|
51
|
-
return [table.getRowModel().rows, (_table$atoms$rowPinni2 = table.atoms.rowPinning) === null || _table$atoms$rowPinni2 === void 0 || (_table$atoms$rowPinni2 = _table$atoms$rowPinni2.get()) === null || _table$atoms$rowPinni2 === void 0 ? void 0 : _table$atoms$rowPinni2.bottom];
|
|
52
|
-
}
|
|
43
|
+
memoDeps: () => [table.getRowModel().rows, table.atoms.rowPinning?.get()?.bottom]
|
|
53
44
|
},
|
|
54
45
|
table_getCenterRows: {
|
|
55
46
|
fn: () => require_rowPinningFeature_utils.table_getCenterRows(table),
|
|
56
|
-
memoDeps: () =>
|
|
57
|
-
var _table$atoms$rowPinni3;
|
|
58
|
-
return [table.getRowModel().rows, (_table$atoms$rowPinni3 = table.atoms.rowPinning) === null || _table$atoms$rowPinni3 === void 0 ? void 0 : _table$atoms$rowPinni3.get()];
|
|
59
|
-
}
|
|
47
|
+
memoDeps: () => [table.getRowModel().rows, table.atoms.rowPinning?.get()]
|
|
60
48
|
}
|
|
61
49
|
});
|
|
62
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rowPinningFeature.cjs","names":["getDefaultRowPinningState","makeStateUpdater","row_getCanPin","row_getIsPinned","row_getPinnedIndex","row_pin","table_setRowPinning","table_resetRowPinning","table_getIsSomeRowsPinned","table_getTopRows","table_getBottomRows","table_getCenterRows"],"sources":["../../../src/features/row-pinning/rowPinningFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n getDefaultRowPinningState,\n row_getCanPin,\n row_getIsPinned,\n row_getPinnedIndex,\n row_pin,\n table_getBottomRows,\n table_getCenterRows,\n table_getIsSomeRowsPinned,\n table_getTopRows,\n table_resetRowPinning,\n table_setRowPinning,\n} from './rowPinningFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds row pinning state and APIs for top, center, and bottom rows.\n */\nexport const rowPinningFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n ...initialState,\n rowPinning: {\n ...getDefaultRowPinningState(),\n ...initialState.rowPinning,\n },\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onRowPinningChange: makeStateUpdater('rowPinning', table),\n }\n },\n\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('rowPinningFeature', prototype, table, {\n row_getCanPin: {\n fn: (row) => row_getCanPin(row),\n },\n row_getIsPinned: {\n fn: (row) => row_getIsPinned(row),\n },\n row_getPinnedIndex: {\n fn: (row) => row_getPinnedIndex(row),\n memoDeps: (row) => [\n row.table.getRowModel().rows,\n row.table.atoms.rowPinning?.get(),\n ],\n },\n row_pin: {\n fn: (row, position, includeLeafRows, includeParentRows) =>\n row_pin(row, position, includeLeafRows, includeParentRows),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('rowPinningFeature', table, {\n table_setRowPinning: {\n fn: (updater) => table_setRowPinning(table, updater),\n },\n table_resetRowPinning: {\n fn: (defaultState) => table_resetRowPinning(table, defaultState),\n },\n table_getIsSomeRowsPinned: {\n fn: (position) => table_getIsSomeRowsPinned(table, position),\n },\n table_getTopRows: {\n fn: () => table_getTopRows(table),\n memoDeps: () => [\n table.getRowModel().rows,\n table.atoms.rowPinning?.get()?.top,\n ],\n },\n table_getBottomRows: {\n fn: () => table_getBottomRows(table),\n memoDeps: () => [\n table.getRowModel().rows,\n table.atoms.rowPinning?.get()?.bottom,\n ],\n },\n table_getCenterRows: {\n fn: () => table_getCenterRows(table),\n memoDeps: () => [\n table.getRowModel().rows,\n table.atoms.rowPinning?.get(),\n ],\n },\n })\n },\n}\n"],"mappings":";;;;;;;AAuBA,MAAa,oBAAkC;CAC7C,kBAAkB,iBAAiB;EACjC,OAAO;GACL,GAAG;GACH,YAAY;IACV,GAAGA,0DAA0B;IAC7B,GAAG,aAAa;GAClB;EACF;CACF;CAEA,yBAAyB,UAAU;EACjC,OAAO,EACL,oBAAoBC,+BAAiB,cAAc,KAAK,EAC1D;CACF;CAEA,qBAAqB,WAAW,UAAU;EACxC,kCAAoB,qBAAqB,WAAW,OAAO;GACzD,eAAe,EACb,KAAK,QAAQC,8CAAc,GAAG,EAChC;GACA,iBAAiB,EACf,KAAK,QAAQC,gDAAgB,GAAG,EAClC;GACA,oBAAoB;IAClB,KAAK,QAAQC,mDAAmB,GAAG;IACnC,WAAW,QAAQ
|
|
1
|
+
{"version":3,"file":"rowPinningFeature.cjs","names":["getDefaultRowPinningState","makeStateUpdater","row_getCanPin","row_getIsPinned","row_getPinnedIndex","row_pin","table_setRowPinning","table_resetRowPinning","table_getIsSomeRowsPinned","table_getTopRows","table_getBottomRows","table_getCenterRows"],"sources":["../../../src/features/row-pinning/rowPinningFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n getDefaultRowPinningState,\n row_getCanPin,\n row_getIsPinned,\n row_getPinnedIndex,\n row_pin,\n table_getBottomRows,\n table_getCenterRows,\n table_getIsSomeRowsPinned,\n table_getTopRows,\n table_resetRowPinning,\n table_setRowPinning,\n} from './rowPinningFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds row pinning state and APIs for top, center, and bottom rows.\n */\nexport const rowPinningFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n ...initialState,\n rowPinning: {\n ...getDefaultRowPinningState(),\n ...initialState.rowPinning,\n },\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onRowPinningChange: makeStateUpdater('rowPinning', table),\n }\n },\n\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('rowPinningFeature', prototype, table, {\n row_getCanPin: {\n fn: (row) => row_getCanPin(row),\n },\n row_getIsPinned: {\n fn: (row) => row_getIsPinned(row),\n },\n row_getPinnedIndex: {\n fn: (row) => row_getPinnedIndex(row),\n memoDeps: (row) => [\n row.table.getRowModel().rows,\n row.table.atoms.rowPinning?.get(),\n ],\n },\n row_pin: {\n fn: (row, position, includeLeafRows, includeParentRows) =>\n row_pin(row, position, includeLeafRows, includeParentRows),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('rowPinningFeature', table, {\n table_setRowPinning: {\n fn: (updater) => table_setRowPinning(table, updater),\n },\n table_resetRowPinning: {\n fn: (defaultState) => table_resetRowPinning(table, defaultState),\n },\n table_getIsSomeRowsPinned: {\n fn: (position) => table_getIsSomeRowsPinned(table, position),\n },\n table_getTopRows: {\n fn: () => table_getTopRows(table),\n memoDeps: () => [\n table.getRowModel().rows,\n table.atoms.rowPinning?.get()?.top,\n ],\n },\n table_getBottomRows: {\n fn: () => table_getBottomRows(table),\n memoDeps: () => [\n table.getRowModel().rows,\n table.atoms.rowPinning?.get()?.bottom,\n ],\n },\n table_getCenterRows: {\n fn: () => table_getCenterRows(table),\n memoDeps: () => [\n table.getRowModel().rows,\n table.atoms.rowPinning?.get(),\n ],\n },\n })\n },\n}\n"],"mappings":";;;;;;;AAuBA,MAAa,oBAAkC;CAC7C,kBAAkB,iBAAiB;EACjC,OAAO;GACL,GAAG;GACH,YAAY;IACV,GAAGA,0DAA0B;IAC7B,GAAG,aAAa;GAClB;EACF;CACF;CAEA,yBAAyB,UAAU;EACjC,OAAO,EACL,oBAAoBC,+BAAiB,cAAc,KAAK,EAC1D;CACF;CAEA,qBAAqB,WAAW,UAAU;EACxC,kCAAoB,qBAAqB,WAAW,OAAO;GACzD,eAAe,EACb,KAAK,QAAQC,8CAAc,GAAG,EAChC;GACA,iBAAiB,EACf,KAAK,QAAQC,gDAAgB,GAAG,EAClC;GACA,oBAAoB;IAClB,KAAK,QAAQC,mDAAmB,GAAG;IACnC,WAAW,QAAQ,CACjB,IAAI,MAAM,YAAY,CAAC,CAAC,MACxB,IAAI,MAAM,MAAM,YAAY,IAAI,CAClC;GACF;GACA,SAAS,EACP,KAAK,KAAK,UAAU,iBAAiB,sBACnCC,wCAAQ,KAAK,UAAU,iBAAiB,iBAAiB,EAC7D;EACF,CAAC;CACH;CAEA,qBAAqB,UAAU;EAC7B,8BAAgB,qBAAqB,OAAO;GAC1C,qBAAqB,EACnB,KAAK,YAAYC,oDAAoB,OAAO,OAAO,EACrD;GACA,uBAAuB,EACrB,KAAK,iBAAiBC,sDAAsB,OAAO,YAAY,EACjE;GACA,2BAA2B,EACzB,KAAK,aAAaC,0DAA0B,OAAO,QAAQ,EAC7D;GACA,kBAAkB;IAChB,UAAUC,iDAAiB,KAAK;IAChC,gBAAgB,CACd,MAAM,YAAY,CAAC,CAAC,MACpB,MAAM,MAAM,YAAY,IAAI,CAAC,EAAE,GACjC;GACF;GACA,qBAAqB;IACnB,UAAUC,oDAAoB,KAAK;IACnC,gBAAgB,CACd,MAAM,YAAY,CAAC,CAAC,MACpB,MAAM,MAAM,YAAY,IAAI,CAAC,EAAE,MACjC;GACF;GACA,qBAAqB;IACnB,UAAUC,oDAAoB,KAAK;IACnC,gBAAgB,CACd,MAAM,YAAY,CAAC,CAAC,MACpB,MAAM,MAAM,YAAY,IAAI,CAC9B;GACF;EACF,CAAC;CACH;AACF"}
|
|
@@ -24,10 +24,7 @@ const rowPinningFeature = {
|
|
|
24
24
|
row_getIsPinned: { fn: (row) => row_getIsPinned(row) },
|
|
25
25
|
row_getPinnedIndex: {
|
|
26
26
|
fn: (row) => row_getPinnedIndex(row),
|
|
27
|
-
memoDeps: (row) =>
|
|
28
|
-
var _row$table$atoms$rowP;
|
|
29
|
-
return [row.table.getRowModel().rows, (_row$table$atoms$rowP = row.table.atoms.rowPinning) === null || _row$table$atoms$rowP === void 0 ? void 0 : _row$table$atoms$rowP.get()];
|
|
30
|
-
}
|
|
27
|
+
memoDeps: (row) => [row.table.getRowModel().rows, row.table.atoms.rowPinning?.get()]
|
|
31
28
|
},
|
|
32
29
|
row_pin: { fn: (row, position, includeLeafRows, includeParentRows) => row_pin(row, position, includeLeafRows, includeParentRows) }
|
|
33
30
|
});
|
|
@@ -39,24 +36,15 @@ const rowPinningFeature = {
|
|
|
39
36
|
table_getIsSomeRowsPinned: { fn: (position) => table_getIsSomeRowsPinned(table, position) },
|
|
40
37
|
table_getTopRows: {
|
|
41
38
|
fn: () => table_getTopRows(table),
|
|
42
|
-
memoDeps: () =>
|
|
43
|
-
var _table$atoms$rowPinni;
|
|
44
|
-
return [table.getRowModel().rows, (_table$atoms$rowPinni = table.atoms.rowPinning) === null || _table$atoms$rowPinni === void 0 || (_table$atoms$rowPinni = _table$atoms$rowPinni.get()) === null || _table$atoms$rowPinni === void 0 ? void 0 : _table$atoms$rowPinni.top];
|
|
45
|
-
}
|
|
39
|
+
memoDeps: () => [table.getRowModel().rows, table.atoms.rowPinning?.get()?.top]
|
|
46
40
|
},
|
|
47
41
|
table_getBottomRows: {
|
|
48
42
|
fn: () => table_getBottomRows(table),
|
|
49
|
-
memoDeps: () =>
|
|
50
|
-
var _table$atoms$rowPinni2;
|
|
51
|
-
return [table.getRowModel().rows, (_table$atoms$rowPinni2 = table.atoms.rowPinning) === null || _table$atoms$rowPinni2 === void 0 || (_table$atoms$rowPinni2 = _table$atoms$rowPinni2.get()) === null || _table$atoms$rowPinni2 === void 0 ? void 0 : _table$atoms$rowPinni2.bottom];
|
|
52
|
-
}
|
|
43
|
+
memoDeps: () => [table.getRowModel().rows, table.atoms.rowPinning?.get()?.bottom]
|
|
53
44
|
},
|
|
54
45
|
table_getCenterRows: {
|
|
55
46
|
fn: () => table_getCenterRows(table),
|
|
56
|
-
memoDeps: () =>
|
|
57
|
-
var _table$atoms$rowPinni3;
|
|
58
|
-
return [table.getRowModel().rows, (_table$atoms$rowPinni3 = table.atoms.rowPinning) === null || _table$atoms$rowPinni3 === void 0 ? void 0 : _table$atoms$rowPinni3.get()];
|
|
59
|
-
}
|
|
47
|
+
memoDeps: () => [table.getRowModel().rows, table.atoms.rowPinning?.get()]
|
|
60
48
|
}
|
|
61
49
|
});
|
|
62
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rowPinningFeature.js","names":[],"sources":["../../../src/features/row-pinning/rowPinningFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n getDefaultRowPinningState,\n row_getCanPin,\n row_getIsPinned,\n row_getPinnedIndex,\n row_pin,\n table_getBottomRows,\n table_getCenterRows,\n table_getIsSomeRowsPinned,\n table_getTopRows,\n table_resetRowPinning,\n table_setRowPinning,\n} from './rowPinningFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds row pinning state and APIs for top, center, and bottom rows.\n */\nexport const rowPinningFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n ...initialState,\n rowPinning: {\n ...getDefaultRowPinningState(),\n ...initialState.rowPinning,\n },\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onRowPinningChange: makeStateUpdater('rowPinning', table),\n }\n },\n\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('rowPinningFeature', prototype, table, {\n row_getCanPin: {\n fn: (row) => row_getCanPin(row),\n },\n row_getIsPinned: {\n fn: (row) => row_getIsPinned(row),\n },\n row_getPinnedIndex: {\n fn: (row) => row_getPinnedIndex(row),\n memoDeps: (row) => [\n row.table.getRowModel().rows,\n row.table.atoms.rowPinning?.get(),\n ],\n },\n row_pin: {\n fn: (row, position, includeLeafRows, includeParentRows) =>\n row_pin(row, position, includeLeafRows, includeParentRows),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('rowPinningFeature', table, {\n table_setRowPinning: {\n fn: (updater) => table_setRowPinning(table, updater),\n },\n table_resetRowPinning: {\n fn: (defaultState) => table_resetRowPinning(table, defaultState),\n },\n table_getIsSomeRowsPinned: {\n fn: (position) => table_getIsSomeRowsPinned(table, position),\n },\n table_getTopRows: {\n fn: () => table_getTopRows(table),\n memoDeps: () => [\n table.getRowModel().rows,\n table.atoms.rowPinning?.get()?.top,\n ],\n },\n table_getBottomRows: {\n fn: () => table_getBottomRows(table),\n memoDeps: () => [\n table.getRowModel().rows,\n table.atoms.rowPinning?.get()?.bottom,\n ],\n },\n table_getCenterRows: {\n fn: () => table_getCenterRows(table),\n memoDeps: () => [\n table.getRowModel().rows,\n table.atoms.rowPinning?.get(),\n ],\n },\n })\n },\n}\n"],"mappings":";;;;;;;AAuBA,MAAa,oBAAkC;CAC7C,kBAAkB,iBAAiB;EACjC,OAAO;GACL,GAAG;GACH,YAAY;IACV,GAAG,0BAA0B;IAC7B,GAAG,aAAa;GAClB;EACF;CACF;CAEA,yBAAyB,UAAU;EACjC,OAAO,EACL,oBAAoB,iBAAiB,cAAc,KAAK,EAC1D;CACF;CAEA,qBAAqB,WAAW,UAAU;EACxC,oBAAoB,qBAAqB,WAAW,OAAO;GACzD,eAAe,EACb,KAAK,QAAQ,cAAc,GAAG,EAChC;GACA,iBAAiB,EACf,KAAK,QAAQ,gBAAgB,GAAG,EAClC;GACA,oBAAoB;IAClB,KAAK,QAAQ,mBAAmB,GAAG;IACnC,WAAW,QAAQ
|
|
1
|
+
{"version":3,"file":"rowPinningFeature.js","names":[],"sources":["../../../src/features/row-pinning/rowPinningFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n getDefaultRowPinningState,\n row_getCanPin,\n row_getIsPinned,\n row_getPinnedIndex,\n row_pin,\n table_getBottomRows,\n table_getCenterRows,\n table_getIsSomeRowsPinned,\n table_getTopRows,\n table_resetRowPinning,\n table_setRowPinning,\n} from './rowPinningFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds row pinning state and APIs for top, center, and bottom rows.\n */\nexport const rowPinningFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n ...initialState,\n rowPinning: {\n ...getDefaultRowPinningState(),\n ...initialState.rowPinning,\n },\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onRowPinningChange: makeStateUpdater('rowPinning', table),\n }\n },\n\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('rowPinningFeature', prototype, table, {\n row_getCanPin: {\n fn: (row) => row_getCanPin(row),\n },\n row_getIsPinned: {\n fn: (row) => row_getIsPinned(row),\n },\n row_getPinnedIndex: {\n fn: (row) => row_getPinnedIndex(row),\n memoDeps: (row) => [\n row.table.getRowModel().rows,\n row.table.atoms.rowPinning?.get(),\n ],\n },\n row_pin: {\n fn: (row, position, includeLeafRows, includeParentRows) =>\n row_pin(row, position, includeLeafRows, includeParentRows),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('rowPinningFeature', table, {\n table_setRowPinning: {\n fn: (updater) => table_setRowPinning(table, updater),\n },\n table_resetRowPinning: {\n fn: (defaultState) => table_resetRowPinning(table, defaultState),\n },\n table_getIsSomeRowsPinned: {\n fn: (position) => table_getIsSomeRowsPinned(table, position),\n },\n table_getTopRows: {\n fn: () => table_getTopRows(table),\n memoDeps: () => [\n table.getRowModel().rows,\n table.atoms.rowPinning?.get()?.top,\n ],\n },\n table_getBottomRows: {\n fn: () => table_getBottomRows(table),\n memoDeps: () => [\n table.getRowModel().rows,\n table.atoms.rowPinning?.get()?.bottom,\n ],\n },\n table_getCenterRows: {\n fn: () => table_getCenterRows(table),\n memoDeps: () => [\n table.getRowModel().rows,\n table.atoms.rowPinning?.get(),\n ],\n },\n })\n },\n}\n"],"mappings":";;;;;;;AAuBA,MAAa,oBAAkC;CAC7C,kBAAkB,iBAAiB;EACjC,OAAO;GACL,GAAG;GACH,YAAY;IACV,GAAG,0BAA0B;IAC7B,GAAG,aAAa;GAClB;EACF;CACF;CAEA,yBAAyB,UAAU;EACjC,OAAO,EACL,oBAAoB,iBAAiB,cAAc,KAAK,EAC1D;CACF;CAEA,qBAAqB,WAAW,UAAU;EACxC,oBAAoB,qBAAqB,WAAW,OAAO;GACzD,eAAe,EACb,KAAK,QAAQ,cAAc,GAAG,EAChC;GACA,iBAAiB,EACf,KAAK,QAAQ,gBAAgB,GAAG,EAClC;GACA,oBAAoB;IAClB,KAAK,QAAQ,mBAAmB,GAAG;IACnC,WAAW,QAAQ,CACjB,IAAI,MAAM,YAAY,CAAC,CAAC,MACxB,IAAI,MAAM,MAAM,YAAY,IAAI,CAClC;GACF;GACA,SAAS,EACP,KAAK,KAAK,UAAU,iBAAiB,sBACnC,QAAQ,KAAK,UAAU,iBAAiB,iBAAiB,EAC7D;EACF,CAAC;CACH;CAEA,qBAAqB,UAAU;EAC7B,gBAAgB,qBAAqB,OAAO;GAC1C,qBAAqB,EACnB,KAAK,YAAY,oBAAoB,OAAO,OAAO,EACrD;GACA,uBAAuB,EACrB,KAAK,iBAAiB,sBAAsB,OAAO,YAAY,EACjE;GACA,2BAA2B,EACzB,KAAK,aAAa,0BAA0B,OAAO,QAAQ,EAC7D;GACA,kBAAkB;IAChB,UAAU,iBAAiB,KAAK;IAChC,gBAAgB,CACd,MAAM,YAAY,CAAC,CAAC,MACpB,MAAM,MAAM,YAAY,IAAI,CAAC,EAAE,GACjC;GACF;GACA,qBAAqB;IACnB,UAAU,oBAAoB,KAAK;IACnC,gBAAgB,CACd,MAAM,YAAY,CAAC,CAAC,MACpB,MAAM,MAAM,YAAY,IAAI,CAAC,EAAE,MACjC;GACF;GACA,qBAAqB;IACnB,UAAU,oBAAoB,KAAK;IACnC,gBAAgB,CACd,MAAM,YAAY,CAAC,CAAC,MACpB,MAAM,MAAM,YAAY,IAAI,CAC9B;GACF;EACF,CAAC;CACH;AACF"}
|
|
@@ -11,7 +11,7 @@ interface RowPinningState {
|
|
|
11
11
|
interface TableState_RowPinning {
|
|
12
12
|
rowPinning: RowPinningState;
|
|
13
13
|
}
|
|
14
|
-
interface TableOptions_RowPinning<TFeatures extends TableFeatures, TData extends RowData> {
|
|
14
|
+
interface TableOptions_RowPinning<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
15
15
|
/**
|
|
16
16
|
* Allows rows to be pinned to top or bottom regions.
|
|
17
17
|
*
|
|
@@ -50,7 +50,7 @@ interface Row_RowPinning {
|
|
|
50
50
|
*/
|
|
51
51
|
pin: (position: RowPinningPosition, includeLeafRows?: boolean, includeParentRows?: boolean) => void;
|
|
52
52
|
}
|
|
53
|
-
interface Table_RowPinning<TFeatures extends TableFeatures, TData extends RowData> {
|
|
53
|
+
interface Table_RowPinning<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
54
54
|
/**
|
|
55
55
|
* Gets rows pinned to the bottom region.
|
|
56
56
|
*/
|
|
@@ -11,7 +11,7 @@ interface RowPinningState {
|
|
|
11
11
|
interface TableState_RowPinning {
|
|
12
12
|
rowPinning: RowPinningState;
|
|
13
13
|
}
|
|
14
|
-
interface TableOptions_RowPinning<TFeatures extends TableFeatures, TData extends RowData> {
|
|
14
|
+
interface TableOptions_RowPinning<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
15
15
|
/**
|
|
16
16
|
* Allows rows to be pinned to top or bottom regions.
|
|
17
17
|
*
|
|
@@ -50,7 +50,7 @@ interface Row_RowPinning {
|
|
|
50
50
|
*/
|
|
51
51
|
pin: (position: RowPinningPosition, includeLeafRows?: boolean, includeParentRows?: boolean) => void;
|
|
52
52
|
}
|
|
53
|
-
interface Table_RowPinning<TFeatures extends TableFeatures, TData extends RowData> {
|
|
53
|
+
interface Table_RowPinning<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
54
54
|
/**
|
|
55
55
|
* Gets rows pinned to the bottom region.
|
|
56
56
|
*/
|
|
@@ -31,8 +31,7 @@ function getDefaultRowPinningState() {
|
|
|
31
31
|
* ```
|
|
32
32
|
*/
|
|
33
33
|
function table_setRowPinning(table, updater) {
|
|
34
|
-
|
|
35
|
-
(_table$options$onRowP = (_table$options = table.options).onRowPinningChange) === null || _table$options$onRowP === void 0 || _table$options$onRowP.call(_table$options, updater);
|
|
34
|
+
table.options.onRowPinningChange?.(updater);
|
|
36
35
|
}
|
|
37
36
|
/**
|
|
38
37
|
* Resets `rowPinning` to the configured initial state or feature default.
|
|
@@ -62,15 +61,13 @@ function table_resetRowPinning(table, defaultState) {
|
|
|
62
61
|
* ```
|
|
63
62
|
*/
|
|
64
63
|
function table_getIsSomeRowsPinned(table, position) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return Boolean(rowPinning === null || rowPinning === void 0 ? void 0 : rowPinning[position].length);
|
|
64
|
+
const rowPinning = table.atoms.rowPinning?.get();
|
|
65
|
+
if (!position) return Boolean(rowPinning?.top.length || rowPinning?.bottom.length);
|
|
66
|
+
return Boolean(rowPinning?.[position].length);
|
|
69
67
|
}
|
|
70
68
|
function table_getPinnedRows(table, position) {
|
|
71
|
-
var _table$atoms$rowPinni2;
|
|
72
69
|
const visibleRows = table.getRowModel().rows;
|
|
73
|
-
const pinnedRowIds =
|
|
70
|
+
const pinnedRowIds = table.atoms.rowPinning?.get()?.[position] ?? [];
|
|
74
71
|
const keepPinnedRows = table.options.keepPinnedRows ?? true;
|
|
75
72
|
const result = [];
|
|
76
73
|
for (let i = 0; i < pinnedRowIds.length; i++) {
|
|
@@ -126,10 +123,9 @@ function table_getBottomRows(table) {
|
|
|
126
123
|
* ```
|
|
127
124
|
*/
|
|
128
125
|
function table_getCenterRows(table) {
|
|
129
|
-
|
|
130
|
-
const { top, bottom } = ((_table$atoms$rowPinni3 = table.atoms.rowPinning) === null || _table$atoms$rowPinni3 === void 0 ? void 0 : _table$atoms$rowPinni3.get()) ?? getDefaultRowPinningState();
|
|
126
|
+
const { top, bottom } = table.atoms.rowPinning?.get() ?? getDefaultRowPinningState();
|
|
131
127
|
const allRows = table.getRowModel().rows;
|
|
132
|
-
const topAndBottom = new Set([...top, ...bottom]);
|
|
128
|
+
const topAndBottom = /* @__PURE__ */ new Set([...top, ...bottom]);
|
|
133
129
|
return allRows.filter((d) => !topAndBottom.has(d.id));
|
|
134
130
|
}
|
|
135
131
|
/**
|
|
@@ -160,8 +156,7 @@ function row_getCanPin(row) {
|
|
|
160
156
|
* ```
|
|
161
157
|
*/
|
|
162
158
|
function row_getIsPinned(row) {
|
|
163
|
-
|
|
164
|
-
const { top, bottom } = ((_row$table$atoms$rowP = row.table.atoms.rowPinning) === null || _row$table$atoms$rowP === void 0 ? void 0 : _row$table$atoms$rowP.get()) ?? getDefaultRowPinningState();
|
|
159
|
+
const { top, bottom } = row.table.atoms.rowPinning?.get() ?? getDefaultRowPinningState();
|
|
165
160
|
return top.includes(row.id) ? "top" : bottom.includes(row.id) ? "bottom" : false;
|
|
166
161
|
}
|
|
167
162
|
/**
|
|
@@ -193,7 +188,7 @@ function row_getPinnedIndex(row) {
|
|
|
193
188
|
function row_pin(row, position, includeLeafRows, includeParentRows) {
|
|
194
189
|
const leafRowIds = includeLeafRows ? row.getLeafRows().map(({ id }) => id) : [];
|
|
195
190
|
const parentRowIds = includeParentRows ? row.getParentRows().map(({ id }) => id) : [];
|
|
196
|
-
const rowIds = new Set([
|
|
191
|
+
const rowIds = /* @__PURE__ */ new Set([
|
|
197
192
|
...parentRowIds,
|
|
198
193
|
row.id,
|
|
199
194
|
...leafRowIds
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rowPinningFeature.utils.cjs","names":["cloneState","row_getIsAllParentsExpanded","callMemoOrStaticFn"],"sources":["../../../src/features/row-pinning/rowPinningFeature.utils.ts"],"sourcesContent":["import { row_getIsAllParentsExpanded } from '../row-expanding/rowExpandingFeature.utils'\nimport { callMemoOrStaticFn, cloneState } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type {\n RowPinningPosition,\n RowPinningState,\n} from './rowPinningFeature.types'\n\n// State Utils\n\n/**\n * Creates the default row 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 = getDefaultRowPinningState()\n * ```\n */\nexport function getDefaultRowPinningState(): RowPinningState {\n return {\n top: [],\n bottom: [],\n }\n}\n\n/**\n * Routes a row pinning updater through the table's row-pinning change handler.\n *\n * The updater may be a next `{ top, bottom }` state or a function of the\n * previous state, matching the instance `table.setRowPinning` behavior.\n *\n * @example\n * ```ts\n * table_setRowPinning(table, (old) => ({ ...old, top: [rowId] }))\n * ```\n */\nexport function table_setRowPinning<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<RowPinningState>,\n): void {\n table.options.onRowPinningChange?.(updater)\n}\n\n/**\n * Resets `rowPinning` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.rowPinning` when it\n * exists. Passing `true` ignores initial state and resets to empty top/bottom\n * arrays.\n *\n * @example\n * ```ts\n * table_resetRowPinning(table)\n * table_resetRowPinning(table, true)\n * ```\n */\nexport function table_resetRowPinning<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void {\n table_setRowPinning(\n table,\n defaultState\n ? getDefaultRowPinningState()\n : cloneState(\n table.initialState.rowPinning ?? getDefaultRowPinningState(),\n ),\n )\n}\n\n// Table Utils\n\n/**\n * Checks whether any rows are pinned.\n *\n * Omit `position` to check both regions, or pass `'top'`/`'bottom'` to inspect\n * one region.\n *\n * @example\n * ```ts\n * const hasPinnedRows = table_getIsSomeRowsPinned(table)\n * ```\n */\nexport function table_getIsSomeRowsPinned<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n position?: RowPinningPosition,\n): boolean {\n const rowPinning = table.atoms.rowPinning?.get()\n\n if (!position) {\n return Boolean(rowPinning?.top.length || rowPinning?.bottom.length)\n }\n return Boolean(rowPinning?.[position].length)\n}\n\nfunction table_getPinnedRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n position: 'top' | 'bottom',\n): Array<Row<TFeatures, TData>> {\n const visibleRows = table.getRowModel().rows\n const pinnedRowIds = table.atoms.rowPinning?.get()?.[position] ?? []\n const keepPinnedRows = table.options.keepPinnedRows ?? true\n\n const result: Array<Row<TFeatures, TData>> = []\n for (let i = 0; i < pinnedRowIds.length; i++) {\n const rowId = pinnedRowIds[i]!\n let row: Row<TFeatures, TData> | undefined\n if (keepPinnedRows) {\n // get all rows that are pinned even if they would not be otherwise\n // visible; account for expanded parent rows, but not pagination/filtering\n const fullRow = table.getRow(rowId, true)\n if (row_getIsAllParentsExpanded(fullRow)) row = fullRow\n } else {\n // else get only visible rows that are pinned\n row = visibleRows.find((r) => r.id === rowId)\n }\n if (!row)\n continue\n // Assign position property directly to preserve prototype chain\n ;(row as any).position = position\n result.push(row)\n }\n return result\n}\n\n/**\n * Resolves the visible rows pinned to the top region.\n *\n * The result follows `state.rowPinning.top` order and marks each row with\n * `position = 'top'`.\n *\n * @example\n * ```ts\n * const rows = table_getTopRows(table)\n * ```\n */\nexport function table_getTopRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Array<Row<TFeatures, TData>> {\n return table_getPinnedRows(table, 'top')\n}\n\n/**\n * Resolves the visible rows pinned to the bottom region.\n *\n * The result follows `state.rowPinning.bottom` order and marks each row with\n * `position = 'bottom'`.\n *\n * @example\n * ```ts\n * const rows = table_getBottomRows(table)\n * ```\n */\nexport function table_getBottomRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Array<Row<TFeatures, TData>> {\n return table_getPinnedRows(table, 'bottom')\n}\n\n/**\n * Resolves rows that are not pinned to top or bottom.\n *\n * The current row model is filtered by `state.rowPinning.top` and\n * `state.rowPinning.bottom`.\n *\n * @example\n * ```ts\n * const rows = table_getCenterRows(table)\n * ```\n */\nexport function table_getCenterRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Array<Row<TFeatures, TData>> {\n const { top, bottom } =\n table.atoms.rowPinning?.get() ?? getDefaultRowPinningState()\n const allRows = table.getRowModel().rows\n\n const topAndBottom = new Set([...top, ...bottom])\n return allRows.filter((d) => !topAndBottom.has(d.id))\n}\n\n// Row Utils\n\n/**\n * Checks whether this row can be pinned.\n *\n * `options.enableRowPinning` may be a boolean or a row predicate; it defaults\n * to `true`.\n *\n * @example\n * ```ts\n * const canPin = row_getCanPin(row)\n * ```\n */\nexport function row_getCanPin<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): boolean {\n const { enableRowPinning } = row.table.options\n if (typeof enableRowPinning === 'function') {\n return enableRowPinning(row)\n }\n return enableRowPinning ?? true\n}\n\n/**\n * Reads this row's current pinning region.\n *\n * Rows listed in `state.rowPinning.top` return `'top'`, rows listed in\n * `bottom` return `'bottom'`, and unpinned rows return `false`.\n *\n * @example\n * ```ts\n * const position = row_getIsPinned(row)\n * ```\n */\nexport function row_getIsPinned<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): RowPinningPosition {\n const { top, bottom } =\n row.table.atoms.rowPinning?.get() ?? getDefaultRowPinningState()\n\n return top.includes(row.id)\n ? 'top'\n : bottom.includes(row.id)\n ? 'bottom'\n : false\n}\n\n/**\n * Finds this row's visible index within its pinned region.\n *\n * Unpinned rows return `-1`.\n *\n * @example\n * ```ts\n * const index = row_getPinnedIndex(row)\n * ```\n */\nexport function row_getPinnedIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): number {\n const position = row_getIsPinned(row)\n if (!position) return -1\n\n const visiblePinnedRowIds = (\n position === 'top'\n ? callMemoOrStaticFn(row.table, 'getTopRows', table_getTopRows)\n : callMemoOrStaticFn(row.table, 'getBottomRows', table_getBottomRows)\n ).map(({ id }) => id)\n\n return visiblePinnedRowIds.indexOf(row.id)\n}\n\n/**\n * Pins or unpins a row.\n *\n * Optional flags let callers include parent rows or leaf rows when updating\n * the row pinning state.\n *\n * @example\n * ```ts\n * row_pin(row, 'top')\n * ```\n */\nexport function row_pin<TFeatures extends TableFeatures, TData extends RowData>(\n row: Row<TFeatures, TData>,\n position: RowPinningPosition,\n includeLeafRows?: boolean,\n includeParentRows?: boolean,\n): void {\n const leafRowIds = includeLeafRows\n ? row.getLeafRows().map(({ id }) => id)\n : []\n const parentRowIds = includeParentRows\n ? row.getParentRows().map(({ id }) => id)\n : []\n const rowIds: Set<string> = new Set([...parentRowIds, row.id, ...leafRowIds])\n\n table_setRowPinning(row.table, (old) => {\n if (position === 'bottom') {\n return {\n top: old.top.filter((d) => !rowIds.has(d)),\n bottom: [\n ...old.bottom.filter((d) => !rowIds.has(d)),\n ...Array.from(rowIds),\n ],\n }\n }\n\n if (position === 'top') {\n return {\n top: [...old.top.filter((d) => !rowIds.has(d)), ...Array.from(rowIds)],\n bottom: old.bottom.filter((d) => !rowIds.has(d)),\n }\n }\n\n return {\n top: old.top.filter((d) => !rowIds.has(d)),\n bottom: old.bottom.filter((d) => !rowIds.has(d)),\n }\n })\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rowPinningFeature.utils.cjs","names":["cloneState","row_getIsAllParentsExpanded","callMemoOrStaticFn"],"sources":["../../../src/features/row-pinning/rowPinningFeature.utils.ts"],"sourcesContent":["import { row_getIsAllParentsExpanded } from '../row-expanding/rowExpandingFeature.utils'\nimport { callMemoOrStaticFn, cloneState } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type {\n RowPinningPosition,\n RowPinningState,\n} from './rowPinningFeature.types'\n\n// State Utils\n\n/**\n * Creates the default row 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 = getDefaultRowPinningState()\n * ```\n */\nexport function getDefaultRowPinningState(): RowPinningState {\n return {\n top: [],\n bottom: [],\n }\n}\n\n/**\n * Routes a row pinning updater through the table's row-pinning change handler.\n *\n * The updater may be a next `{ top, bottom }` state or a function of the\n * previous state, matching the instance `table.setRowPinning` behavior.\n *\n * @example\n * ```ts\n * table_setRowPinning(table, (old) => ({ ...old, top: [rowId] }))\n * ```\n */\nexport function table_setRowPinning<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<RowPinningState>,\n): void {\n table.options.onRowPinningChange?.(updater)\n}\n\n/**\n * Resets `rowPinning` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.rowPinning` when it\n * exists. Passing `true` ignores initial state and resets to empty top/bottom\n * arrays.\n *\n * @example\n * ```ts\n * table_resetRowPinning(table)\n * table_resetRowPinning(table, true)\n * ```\n */\nexport function table_resetRowPinning<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void {\n table_setRowPinning(\n table,\n defaultState\n ? getDefaultRowPinningState()\n : cloneState(\n table.initialState.rowPinning ?? getDefaultRowPinningState(),\n ),\n )\n}\n\n// Table Utils\n\n/**\n * Checks whether any rows are pinned.\n *\n * Omit `position` to check both regions, or pass `'top'`/`'bottom'` to inspect\n * one region.\n *\n * @example\n * ```ts\n * const hasPinnedRows = table_getIsSomeRowsPinned(table)\n * ```\n */\nexport function table_getIsSomeRowsPinned<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n position?: RowPinningPosition,\n): boolean {\n const rowPinning = table.atoms.rowPinning?.get()\n\n if (!position) {\n return Boolean(rowPinning?.top.length || rowPinning?.bottom.length)\n }\n return Boolean(rowPinning?.[position].length)\n}\n\nfunction table_getPinnedRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n position: 'top' | 'bottom',\n): Array<Row<TFeatures, TData>> {\n const visibleRows = table.getRowModel().rows\n const pinnedRowIds = table.atoms.rowPinning?.get()?.[position] ?? []\n const keepPinnedRows = table.options.keepPinnedRows ?? true\n\n const result: Array<Row<TFeatures, TData>> = []\n for (let i = 0; i < pinnedRowIds.length; i++) {\n const rowId = pinnedRowIds[i]!\n let row: Row<TFeatures, TData> | undefined\n if (keepPinnedRows) {\n // get all rows that are pinned even if they would not be otherwise\n // visible; account for expanded parent rows, but not pagination/filtering\n const fullRow = table.getRow(rowId, true)\n if (row_getIsAllParentsExpanded(fullRow)) row = fullRow\n } else {\n // else get only visible rows that are pinned\n row = visibleRows.find((r) => r.id === rowId)\n }\n if (!row)\n continue\n // Assign position property directly to preserve prototype chain\n ;(row as any).position = position\n result.push(row)\n }\n return result\n}\n\n/**\n * Resolves the visible rows pinned to the top region.\n *\n * The result follows `state.rowPinning.top` order and marks each row with\n * `position = 'top'`.\n *\n * @example\n * ```ts\n * const rows = table_getTopRows(table)\n * ```\n */\nexport function table_getTopRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Array<Row<TFeatures, TData>> {\n return table_getPinnedRows(table, 'top')\n}\n\n/**\n * Resolves the visible rows pinned to the bottom region.\n *\n * The result follows `state.rowPinning.bottom` order and marks each row with\n * `position = 'bottom'`.\n *\n * @example\n * ```ts\n * const rows = table_getBottomRows(table)\n * ```\n */\nexport function table_getBottomRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Array<Row<TFeatures, TData>> {\n return table_getPinnedRows(table, 'bottom')\n}\n\n/**\n * Resolves rows that are not pinned to top or bottom.\n *\n * The current row model is filtered by `state.rowPinning.top` and\n * `state.rowPinning.bottom`.\n *\n * @example\n * ```ts\n * const rows = table_getCenterRows(table)\n * ```\n */\nexport function table_getCenterRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Array<Row<TFeatures, TData>> {\n const { top, bottom } =\n table.atoms.rowPinning?.get() ?? getDefaultRowPinningState()\n const allRows = table.getRowModel().rows\n\n const topAndBottom = new Set([...top, ...bottom])\n return allRows.filter((d) => !topAndBottom.has(d.id))\n}\n\n// Row Utils\n\n/**\n * Checks whether this row can be pinned.\n *\n * `options.enableRowPinning` may be a boolean or a row predicate; it defaults\n * to `true`.\n *\n * @example\n * ```ts\n * const canPin = row_getCanPin(row)\n * ```\n */\nexport function row_getCanPin<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): boolean {\n const { enableRowPinning } = row.table.options\n if (typeof enableRowPinning === 'function') {\n return enableRowPinning(row)\n }\n return enableRowPinning ?? true\n}\n\n/**\n * Reads this row's current pinning region.\n *\n * Rows listed in `state.rowPinning.top` return `'top'`, rows listed in\n * `bottom` return `'bottom'`, and unpinned rows return `false`.\n *\n * @example\n * ```ts\n * const position = row_getIsPinned(row)\n * ```\n */\nexport function row_getIsPinned<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): RowPinningPosition {\n const { top, bottom } =\n row.table.atoms.rowPinning?.get() ?? getDefaultRowPinningState()\n\n return top.includes(row.id)\n ? 'top'\n : bottom.includes(row.id)\n ? 'bottom'\n : false\n}\n\n/**\n * Finds this row's visible index within its pinned region.\n *\n * Unpinned rows return `-1`.\n *\n * @example\n * ```ts\n * const index = row_getPinnedIndex(row)\n * ```\n */\nexport function row_getPinnedIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): number {\n const position = row_getIsPinned(row)\n if (!position) return -1\n\n const visiblePinnedRowIds = (\n position === 'top'\n ? callMemoOrStaticFn(row.table, 'getTopRows', table_getTopRows)\n : callMemoOrStaticFn(row.table, 'getBottomRows', table_getBottomRows)\n ).map(({ id }) => id)\n\n return visiblePinnedRowIds.indexOf(row.id)\n}\n\n/**\n * Pins or unpins a row.\n *\n * Optional flags let callers include parent rows or leaf rows when updating\n * the row pinning state.\n *\n * @example\n * ```ts\n * row_pin(row, 'top')\n * ```\n */\nexport function row_pin<TFeatures extends TableFeatures, TData extends RowData>(\n row: Row<TFeatures, TData>,\n position: RowPinningPosition,\n includeLeafRows?: boolean,\n includeParentRows?: boolean,\n): void {\n const leafRowIds = includeLeafRows\n ? row.getLeafRows().map(({ id }) => id)\n : []\n const parentRowIds = includeParentRows\n ? row.getParentRows().map(({ id }) => id)\n : []\n const rowIds: Set<string> = new Set([...parentRowIds, row.id, ...leafRowIds])\n\n table_setRowPinning(row.table, (old) => {\n if (position === 'bottom') {\n return {\n top: old.top.filter((d) => !rowIds.has(d)),\n bottom: [\n ...old.bottom.filter((d) => !rowIds.has(d)),\n ...Array.from(rowIds),\n ],\n }\n }\n\n if (position === 'top') {\n return {\n top: [...old.top.filter((d) => !rowIds.has(d)), ...Array.from(rowIds)],\n bottom: old.bottom.filter((d) => !rowIds.has(d)),\n }\n }\n\n return {\n top: old.top.filter((d) => !rowIds.has(d)),\n bottom: old.bottom.filter((d) => !rowIds.has(d)),\n }\n })\n}\n"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { RowData, Updater } from "../../types/type-utils.cjs";
|
|
2
2
|
import { RowPinningPosition, RowPinningState } from "./rowPinningFeature.types.cjs";
|
|
3
3
|
import { Row } from "../../types/Row.cjs";
|
|
4
|
+
import { Table } from "../../types/Table.cjs";
|
|
4
5
|
import { TableFeatures } from "../../types/TableFeatures.cjs";
|
|
5
|
-
import { Table_Internal } from "../../types/Table.cjs";
|
|
6
6
|
|
|
7
7
|
//#region src/features/row-pinning/rowPinningFeature.utils.d.ts
|
|
8
8
|
/**
|
|
@@ -28,7 +28,7 @@ declare function getDefaultRowPinningState(): RowPinningState;
|
|
|
28
28
|
* table_setRowPinning(table, (old) => ({ ...old, top: [rowId] }))
|
|
29
29
|
* ```
|
|
30
30
|
*/
|
|
31
|
-
declare function table_setRowPinning<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
31
|
+
declare function table_setRowPinning<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, updater: Updater<RowPinningState>): void;
|
|
32
32
|
/**
|
|
33
33
|
* Resets `rowPinning` to the configured initial state or feature default.
|
|
34
34
|
*
|
|
@@ -42,7 +42,7 @@ declare function table_setRowPinning<TFeatures extends TableFeatures, TData exte
|
|
|
42
42
|
* table_resetRowPinning(table, true)
|
|
43
43
|
* ```
|
|
44
44
|
*/
|
|
45
|
-
declare function table_resetRowPinning<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
45
|
+
declare function table_resetRowPinning<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, defaultState?: boolean): void;
|
|
46
46
|
/**
|
|
47
47
|
* Checks whether any rows are pinned.
|
|
48
48
|
*
|
|
@@ -54,7 +54,7 @@ declare function table_resetRowPinning<TFeatures extends TableFeatures, TData ex
|
|
|
54
54
|
* const hasPinnedRows = table_getIsSomeRowsPinned(table)
|
|
55
55
|
* ```
|
|
56
56
|
*/
|
|
57
|
-
declare function table_getIsSomeRowsPinned<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
57
|
+
declare function table_getIsSomeRowsPinned<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, position?: RowPinningPosition): boolean;
|
|
58
58
|
/**
|
|
59
59
|
* Resolves the visible rows pinned to the top region.
|
|
60
60
|
*
|
|
@@ -66,7 +66,7 @@ declare function table_getIsSomeRowsPinned<TFeatures extends TableFeatures, TDat
|
|
|
66
66
|
* const rows = table_getTopRows(table)
|
|
67
67
|
* ```
|
|
68
68
|
*/
|
|
69
|
-
declare function table_getTopRows<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
69
|
+
declare function table_getTopRows<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Array<Row<TFeatures, TData>>;
|
|
70
70
|
/**
|
|
71
71
|
* Resolves the visible rows pinned to the bottom region.
|
|
72
72
|
*
|
|
@@ -78,7 +78,7 @@ declare function table_getTopRows<TFeatures extends TableFeatures, TData extends
|
|
|
78
78
|
* const rows = table_getBottomRows(table)
|
|
79
79
|
* ```
|
|
80
80
|
*/
|
|
81
|
-
declare function table_getBottomRows<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
81
|
+
declare function table_getBottomRows<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Array<Row<TFeatures, TData>>;
|
|
82
82
|
/**
|
|
83
83
|
* Resolves rows that are not pinned to top or bottom.
|
|
84
84
|
*
|
|
@@ -90,7 +90,7 @@ declare function table_getBottomRows<TFeatures extends TableFeatures, TData exte
|
|
|
90
90
|
* const rows = table_getCenterRows(table)
|
|
91
91
|
* ```
|
|
92
92
|
*/
|
|
93
|
-
declare function table_getCenterRows<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
93
|
+
declare function table_getCenterRows<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Array<Row<TFeatures, TData>>;
|
|
94
94
|
/**
|
|
95
95
|
* Checks whether this row can be pinned.
|
|
96
96
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { RowData, Updater } from "../../types/type-utils.js";
|
|
2
2
|
import { RowPinningPosition, RowPinningState } from "./rowPinningFeature.types.js";
|
|
3
3
|
import { Row } from "../../types/Row.js";
|
|
4
|
+
import { Table } from "../../types/Table.js";
|
|
4
5
|
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
5
|
-
import { Table_Internal } from "../../types/Table.js";
|
|
6
6
|
|
|
7
7
|
//#region src/features/row-pinning/rowPinningFeature.utils.d.ts
|
|
8
8
|
/**
|
|
@@ -28,7 +28,7 @@ declare function getDefaultRowPinningState(): RowPinningState;
|
|
|
28
28
|
* table_setRowPinning(table, (old) => ({ ...old, top: [rowId] }))
|
|
29
29
|
* ```
|
|
30
30
|
*/
|
|
31
|
-
declare function table_setRowPinning<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
31
|
+
declare function table_setRowPinning<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, updater: Updater<RowPinningState>): void;
|
|
32
32
|
/**
|
|
33
33
|
* Resets `rowPinning` to the configured initial state or feature default.
|
|
34
34
|
*
|
|
@@ -42,7 +42,7 @@ declare function table_setRowPinning<TFeatures extends TableFeatures, TData exte
|
|
|
42
42
|
* table_resetRowPinning(table, true)
|
|
43
43
|
* ```
|
|
44
44
|
*/
|
|
45
|
-
declare function table_resetRowPinning<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
45
|
+
declare function table_resetRowPinning<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, defaultState?: boolean): void;
|
|
46
46
|
/**
|
|
47
47
|
* Checks whether any rows are pinned.
|
|
48
48
|
*
|
|
@@ -54,7 +54,7 @@ declare function table_resetRowPinning<TFeatures extends TableFeatures, TData ex
|
|
|
54
54
|
* const hasPinnedRows = table_getIsSomeRowsPinned(table)
|
|
55
55
|
* ```
|
|
56
56
|
*/
|
|
57
|
-
declare function table_getIsSomeRowsPinned<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
57
|
+
declare function table_getIsSomeRowsPinned<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, position?: RowPinningPosition): boolean;
|
|
58
58
|
/**
|
|
59
59
|
* Resolves the visible rows pinned to the top region.
|
|
60
60
|
*
|
|
@@ -66,7 +66,7 @@ declare function table_getIsSomeRowsPinned<TFeatures extends TableFeatures, TDat
|
|
|
66
66
|
* const rows = table_getTopRows(table)
|
|
67
67
|
* ```
|
|
68
68
|
*/
|
|
69
|
-
declare function table_getTopRows<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
69
|
+
declare function table_getTopRows<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Array<Row<TFeatures, TData>>;
|
|
70
70
|
/**
|
|
71
71
|
* Resolves the visible rows pinned to the bottom region.
|
|
72
72
|
*
|
|
@@ -78,7 +78,7 @@ declare function table_getTopRows<TFeatures extends TableFeatures, TData extends
|
|
|
78
78
|
* const rows = table_getBottomRows(table)
|
|
79
79
|
* ```
|
|
80
80
|
*/
|
|
81
|
-
declare function table_getBottomRows<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
81
|
+
declare function table_getBottomRows<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Array<Row<TFeatures, TData>>;
|
|
82
82
|
/**
|
|
83
83
|
* Resolves rows that are not pinned to top or bottom.
|
|
84
84
|
*
|
|
@@ -90,7 +90,7 @@ declare function table_getBottomRows<TFeatures extends TableFeatures, TData exte
|
|
|
90
90
|
* const rows = table_getCenterRows(table)
|
|
91
91
|
* ```
|
|
92
92
|
*/
|
|
93
|
-
declare function table_getCenterRows<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
93
|
+
declare function table_getCenterRows<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Array<Row<TFeatures, TData>>;
|
|
94
94
|
/**
|
|
95
95
|
* Checks whether this row can be pinned.
|
|
96
96
|
*
|
|
@@ -31,8 +31,7 @@ function getDefaultRowPinningState() {
|
|
|
31
31
|
* ```
|
|
32
32
|
*/
|
|
33
33
|
function table_setRowPinning(table, updater) {
|
|
34
|
-
|
|
35
|
-
(_table$options$onRowP = (_table$options = table.options).onRowPinningChange) === null || _table$options$onRowP === void 0 || _table$options$onRowP.call(_table$options, updater);
|
|
34
|
+
table.options.onRowPinningChange?.(updater);
|
|
36
35
|
}
|
|
37
36
|
/**
|
|
38
37
|
* Resets `rowPinning` to the configured initial state or feature default.
|
|
@@ -62,15 +61,13 @@ function table_resetRowPinning(table, defaultState) {
|
|
|
62
61
|
* ```
|
|
63
62
|
*/
|
|
64
63
|
function table_getIsSomeRowsPinned(table, position) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return Boolean(rowPinning === null || rowPinning === void 0 ? void 0 : rowPinning[position].length);
|
|
64
|
+
const rowPinning = table.atoms.rowPinning?.get();
|
|
65
|
+
if (!position) return Boolean(rowPinning?.top.length || rowPinning?.bottom.length);
|
|
66
|
+
return Boolean(rowPinning?.[position].length);
|
|
69
67
|
}
|
|
70
68
|
function table_getPinnedRows(table, position) {
|
|
71
|
-
var _table$atoms$rowPinni2;
|
|
72
69
|
const visibleRows = table.getRowModel().rows;
|
|
73
|
-
const pinnedRowIds =
|
|
70
|
+
const pinnedRowIds = table.atoms.rowPinning?.get()?.[position] ?? [];
|
|
74
71
|
const keepPinnedRows = table.options.keepPinnedRows ?? true;
|
|
75
72
|
const result = [];
|
|
76
73
|
for (let i = 0; i < pinnedRowIds.length; i++) {
|
|
@@ -126,10 +123,9 @@ function table_getBottomRows(table) {
|
|
|
126
123
|
* ```
|
|
127
124
|
*/
|
|
128
125
|
function table_getCenterRows(table) {
|
|
129
|
-
|
|
130
|
-
const { top, bottom } = ((_table$atoms$rowPinni3 = table.atoms.rowPinning) === null || _table$atoms$rowPinni3 === void 0 ? void 0 : _table$atoms$rowPinni3.get()) ?? getDefaultRowPinningState();
|
|
126
|
+
const { top, bottom } = table.atoms.rowPinning?.get() ?? getDefaultRowPinningState();
|
|
131
127
|
const allRows = table.getRowModel().rows;
|
|
132
|
-
const topAndBottom = new Set([...top, ...bottom]);
|
|
128
|
+
const topAndBottom = /* @__PURE__ */ new Set([...top, ...bottom]);
|
|
133
129
|
return allRows.filter((d) => !topAndBottom.has(d.id));
|
|
134
130
|
}
|
|
135
131
|
/**
|
|
@@ -160,8 +156,7 @@ function row_getCanPin(row) {
|
|
|
160
156
|
* ```
|
|
161
157
|
*/
|
|
162
158
|
function row_getIsPinned(row) {
|
|
163
|
-
|
|
164
|
-
const { top, bottom } = ((_row$table$atoms$rowP = row.table.atoms.rowPinning) === null || _row$table$atoms$rowP === void 0 ? void 0 : _row$table$atoms$rowP.get()) ?? getDefaultRowPinningState();
|
|
159
|
+
const { top, bottom } = row.table.atoms.rowPinning?.get() ?? getDefaultRowPinningState();
|
|
165
160
|
return top.includes(row.id) ? "top" : bottom.includes(row.id) ? "bottom" : false;
|
|
166
161
|
}
|
|
167
162
|
/**
|
|
@@ -193,7 +188,7 @@ function row_getPinnedIndex(row) {
|
|
|
193
188
|
function row_pin(row, position, includeLeafRows, includeParentRows) {
|
|
194
189
|
const leafRowIds = includeLeafRows ? row.getLeafRows().map(({ id }) => id) : [];
|
|
195
190
|
const parentRowIds = includeParentRows ? row.getParentRows().map(({ id }) => id) : [];
|
|
196
|
-
const rowIds = new Set([
|
|
191
|
+
const rowIds = /* @__PURE__ */ new Set([
|
|
197
192
|
...parentRowIds,
|
|
198
193
|
row.id,
|
|
199
194
|
...leafRowIds
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rowPinningFeature.utils.js","names":[],"sources":["../../../src/features/row-pinning/rowPinningFeature.utils.ts"],"sourcesContent":["import { row_getIsAllParentsExpanded } from '../row-expanding/rowExpandingFeature.utils'\nimport { callMemoOrStaticFn, cloneState } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type {\n RowPinningPosition,\n RowPinningState,\n} from './rowPinningFeature.types'\n\n// State Utils\n\n/**\n * Creates the default row 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 = getDefaultRowPinningState()\n * ```\n */\nexport function getDefaultRowPinningState(): RowPinningState {\n return {\n top: [],\n bottom: [],\n }\n}\n\n/**\n * Routes a row pinning updater through the table's row-pinning change handler.\n *\n * The updater may be a next `{ top, bottom }` state or a function of the\n * previous state, matching the instance `table.setRowPinning` behavior.\n *\n * @example\n * ```ts\n * table_setRowPinning(table, (old) => ({ ...old, top: [rowId] }))\n * ```\n */\nexport function table_setRowPinning<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<RowPinningState>,\n): void {\n table.options.onRowPinningChange?.(updater)\n}\n\n/**\n * Resets `rowPinning` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.rowPinning` when it\n * exists. Passing `true` ignores initial state and resets to empty top/bottom\n * arrays.\n *\n * @example\n * ```ts\n * table_resetRowPinning(table)\n * table_resetRowPinning(table, true)\n * ```\n */\nexport function table_resetRowPinning<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void {\n table_setRowPinning(\n table,\n defaultState\n ? getDefaultRowPinningState()\n : cloneState(\n table.initialState.rowPinning ?? getDefaultRowPinningState(),\n ),\n )\n}\n\n// Table Utils\n\n/**\n * Checks whether any rows are pinned.\n *\n * Omit `position` to check both regions, or pass `'top'`/`'bottom'` to inspect\n * one region.\n *\n * @example\n * ```ts\n * const hasPinnedRows = table_getIsSomeRowsPinned(table)\n * ```\n */\nexport function table_getIsSomeRowsPinned<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n position?: RowPinningPosition,\n): boolean {\n const rowPinning = table.atoms.rowPinning?.get()\n\n if (!position) {\n return Boolean(rowPinning?.top.length || rowPinning?.bottom.length)\n }\n return Boolean(rowPinning?.[position].length)\n}\n\nfunction table_getPinnedRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n position: 'top' | 'bottom',\n): Array<Row<TFeatures, TData>> {\n const visibleRows = table.getRowModel().rows\n const pinnedRowIds = table.atoms.rowPinning?.get()?.[position] ?? []\n const keepPinnedRows = table.options.keepPinnedRows ?? true\n\n const result: Array<Row<TFeatures, TData>> = []\n for (let i = 0; i < pinnedRowIds.length; i++) {\n const rowId = pinnedRowIds[i]!\n let row: Row<TFeatures, TData> | undefined\n if (keepPinnedRows) {\n // get all rows that are pinned even if they would not be otherwise\n // visible; account for expanded parent rows, but not pagination/filtering\n const fullRow = table.getRow(rowId, true)\n if (row_getIsAllParentsExpanded(fullRow)) row = fullRow\n } else {\n // else get only visible rows that are pinned\n row = visibleRows.find((r) => r.id === rowId)\n }\n if (!row)\n continue\n // Assign position property directly to preserve prototype chain\n ;(row as any).position = position\n result.push(row)\n }\n return result\n}\n\n/**\n * Resolves the visible rows pinned to the top region.\n *\n * The result follows `state.rowPinning.top` order and marks each row with\n * `position = 'top'`.\n *\n * @example\n * ```ts\n * const rows = table_getTopRows(table)\n * ```\n */\nexport function table_getTopRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Array<Row<TFeatures, TData>> {\n return table_getPinnedRows(table, 'top')\n}\n\n/**\n * Resolves the visible rows pinned to the bottom region.\n *\n * The result follows `state.rowPinning.bottom` order and marks each row with\n * `position = 'bottom'`.\n *\n * @example\n * ```ts\n * const rows = table_getBottomRows(table)\n * ```\n */\nexport function table_getBottomRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Array<Row<TFeatures, TData>> {\n return table_getPinnedRows(table, 'bottom')\n}\n\n/**\n * Resolves rows that are not pinned to top or bottom.\n *\n * The current row model is filtered by `state.rowPinning.top` and\n * `state.rowPinning.bottom`.\n *\n * @example\n * ```ts\n * const rows = table_getCenterRows(table)\n * ```\n */\nexport function table_getCenterRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Array<Row<TFeatures, TData>> {\n const { top, bottom } =\n table.atoms.rowPinning?.get() ?? getDefaultRowPinningState()\n const allRows = table.getRowModel().rows\n\n const topAndBottom = new Set([...top, ...bottom])\n return allRows.filter((d) => !topAndBottom.has(d.id))\n}\n\n// Row Utils\n\n/**\n * Checks whether this row can be pinned.\n *\n * `options.enableRowPinning` may be a boolean or a row predicate; it defaults\n * to `true`.\n *\n * @example\n * ```ts\n * const canPin = row_getCanPin(row)\n * ```\n */\nexport function row_getCanPin<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): boolean {\n const { enableRowPinning } = row.table.options\n if (typeof enableRowPinning === 'function') {\n return enableRowPinning(row)\n }\n return enableRowPinning ?? true\n}\n\n/**\n * Reads this row's current pinning region.\n *\n * Rows listed in `state.rowPinning.top` return `'top'`, rows listed in\n * `bottom` return `'bottom'`, and unpinned rows return `false`.\n *\n * @example\n * ```ts\n * const position = row_getIsPinned(row)\n * ```\n */\nexport function row_getIsPinned<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): RowPinningPosition {\n const { top, bottom } =\n row.table.atoms.rowPinning?.get() ?? getDefaultRowPinningState()\n\n return top.includes(row.id)\n ? 'top'\n : bottom.includes(row.id)\n ? 'bottom'\n : false\n}\n\n/**\n * Finds this row's visible index within its pinned region.\n *\n * Unpinned rows return `-1`.\n *\n * @example\n * ```ts\n * const index = row_getPinnedIndex(row)\n * ```\n */\nexport function row_getPinnedIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): number {\n const position = row_getIsPinned(row)\n if (!position) return -1\n\n const visiblePinnedRowIds = (\n position === 'top'\n ? callMemoOrStaticFn(row.table, 'getTopRows', table_getTopRows)\n : callMemoOrStaticFn(row.table, 'getBottomRows', table_getBottomRows)\n ).map(({ id }) => id)\n\n return visiblePinnedRowIds.indexOf(row.id)\n}\n\n/**\n * Pins or unpins a row.\n *\n * Optional flags let callers include parent rows or leaf rows when updating\n * the row pinning state.\n *\n * @example\n * ```ts\n * row_pin(row, 'top')\n * ```\n */\nexport function row_pin<TFeatures extends TableFeatures, TData extends RowData>(\n row: Row<TFeatures, TData>,\n position: RowPinningPosition,\n includeLeafRows?: boolean,\n includeParentRows?: boolean,\n): void {\n const leafRowIds = includeLeafRows\n ? row.getLeafRows().map(({ id }) => id)\n : []\n const parentRowIds = includeParentRows\n ? row.getParentRows().map(({ id }) => id)\n : []\n const rowIds: Set<string> = new Set([...parentRowIds, row.id, ...leafRowIds])\n\n table_setRowPinning(row.table, (old) => {\n if (position === 'bottom') {\n return {\n top: old.top.filter((d) => !rowIds.has(d)),\n bottom: [\n ...old.bottom.filter((d) => !rowIds.has(d)),\n ...Array.from(rowIds),\n ],\n }\n }\n\n if (position === 'top') {\n return {\n top: [...old.top.filter((d) => !rowIds.has(d)), ...Array.from(rowIds)],\n bottom: old.bottom.filter((d) => !rowIds.has(d)),\n }\n }\n\n return {\n top: old.top.filter((d) => !rowIds.has(d)),\n bottom: old.bottom.filter((d) => !rowIds.has(d)),\n }\n })\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rowPinningFeature.utils.js","names":[],"sources":["../../../src/features/row-pinning/rowPinningFeature.utils.ts"],"sourcesContent":["import { row_getIsAllParentsExpanded } from '../row-expanding/rowExpandingFeature.utils'\nimport { callMemoOrStaticFn, cloneState } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type {\n RowPinningPosition,\n RowPinningState,\n} from './rowPinningFeature.types'\n\n// State Utils\n\n/**\n * Creates the default row 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 = getDefaultRowPinningState()\n * ```\n */\nexport function getDefaultRowPinningState(): RowPinningState {\n return {\n top: [],\n bottom: [],\n }\n}\n\n/**\n * Routes a row pinning updater through the table's row-pinning change handler.\n *\n * The updater may be a next `{ top, bottom }` state or a function of the\n * previous state, matching the instance `table.setRowPinning` behavior.\n *\n * @example\n * ```ts\n * table_setRowPinning(table, (old) => ({ ...old, top: [rowId] }))\n * ```\n */\nexport function table_setRowPinning<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<RowPinningState>,\n): void {\n table.options.onRowPinningChange?.(updater)\n}\n\n/**\n * Resets `rowPinning` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.rowPinning` when it\n * exists. Passing `true` ignores initial state and resets to empty top/bottom\n * arrays.\n *\n * @example\n * ```ts\n * table_resetRowPinning(table)\n * table_resetRowPinning(table, true)\n * ```\n */\nexport function table_resetRowPinning<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void {\n table_setRowPinning(\n table,\n defaultState\n ? getDefaultRowPinningState()\n : cloneState(\n table.initialState.rowPinning ?? getDefaultRowPinningState(),\n ),\n )\n}\n\n// Table Utils\n\n/**\n * Checks whether any rows are pinned.\n *\n * Omit `position` to check both regions, or pass `'top'`/`'bottom'` to inspect\n * one region.\n *\n * @example\n * ```ts\n * const hasPinnedRows = table_getIsSomeRowsPinned(table)\n * ```\n */\nexport function table_getIsSomeRowsPinned<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n position?: RowPinningPosition,\n): boolean {\n const rowPinning = table.atoms.rowPinning?.get()\n\n if (!position) {\n return Boolean(rowPinning?.top.length || rowPinning?.bottom.length)\n }\n return Boolean(rowPinning?.[position].length)\n}\n\nfunction table_getPinnedRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n position: 'top' | 'bottom',\n): Array<Row<TFeatures, TData>> {\n const visibleRows = table.getRowModel().rows\n const pinnedRowIds = table.atoms.rowPinning?.get()?.[position] ?? []\n const keepPinnedRows = table.options.keepPinnedRows ?? true\n\n const result: Array<Row<TFeatures, TData>> = []\n for (let i = 0; i < pinnedRowIds.length; i++) {\n const rowId = pinnedRowIds[i]!\n let row: Row<TFeatures, TData> | undefined\n if (keepPinnedRows) {\n // get all rows that are pinned even if they would not be otherwise\n // visible; account for expanded parent rows, but not pagination/filtering\n const fullRow = table.getRow(rowId, true)\n if (row_getIsAllParentsExpanded(fullRow)) row = fullRow\n } else {\n // else get only visible rows that are pinned\n row = visibleRows.find((r) => r.id === rowId)\n }\n if (!row)\n continue\n // Assign position property directly to preserve prototype chain\n ;(row as any).position = position\n result.push(row)\n }\n return result\n}\n\n/**\n * Resolves the visible rows pinned to the top region.\n *\n * The result follows `state.rowPinning.top` order and marks each row with\n * `position = 'top'`.\n *\n * @example\n * ```ts\n * const rows = table_getTopRows(table)\n * ```\n */\nexport function table_getTopRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Array<Row<TFeatures, TData>> {\n return table_getPinnedRows(table, 'top')\n}\n\n/**\n * Resolves the visible rows pinned to the bottom region.\n *\n * The result follows `state.rowPinning.bottom` order and marks each row with\n * `position = 'bottom'`.\n *\n * @example\n * ```ts\n * const rows = table_getBottomRows(table)\n * ```\n */\nexport function table_getBottomRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Array<Row<TFeatures, TData>> {\n return table_getPinnedRows(table, 'bottom')\n}\n\n/**\n * Resolves rows that are not pinned to top or bottom.\n *\n * The current row model is filtered by `state.rowPinning.top` and\n * `state.rowPinning.bottom`.\n *\n * @example\n * ```ts\n * const rows = table_getCenterRows(table)\n * ```\n */\nexport function table_getCenterRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Array<Row<TFeatures, TData>> {\n const { top, bottom } =\n table.atoms.rowPinning?.get() ?? getDefaultRowPinningState()\n const allRows = table.getRowModel().rows\n\n const topAndBottom = new Set([...top, ...bottom])\n return allRows.filter((d) => !topAndBottom.has(d.id))\n}\n\n// Row Utils\n\n/**\n * Checks whether this row can be pinned.\n *\n * `options.enableRowPinning` may be a boolean or a row predicate; it defaults\n * to `true`.\n *\n * @example\n * ```ts\n * const canPin = row_getCanPin(row)\n * ```\n */\nexport function row_getCanPin<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): boolean {\n const { enableRowPinning } = row.table.options\n if (typeof enableRowPinning === 'function') {\n return enableRowPinning(row)\n }\n return enableRowPinning ?? true\n}\n\n/**\n * Reads this row's current pinning region.\n *\n * Rows listed in `state.rowPinning.top` return `'top'`, rows listed in\n * `bottom` return `'bottom'`, and unpinned rows return `false`.\n *\n * @example\n * ```ts\n * const position = row_getIsPinned(row)\n * ```\n */\nexport function row_getIsPinned<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): RowPinningPosition {\n const { top, bottom } =\n row.table.atoms.rowPinning?.get() ?? getDefaultRowPinningState()\n\n return top.includes(row.id)\n ? 'top'\n : bottom.includes(row.id)\n ? 'bottom'\n : false\n}\n\n/**\n * Finds this row's visible index within its pinned region.\n *\n * Unpinned rows return `-1`.\n *\n * @example\n * ```ts\n * const index = row_getPinnedIndex(row)\n * ```\n */\nexport function row_getPinnedIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): number {\n const position = row_getIsPinned(row)\n if (!position) return -1\n\n const visiblePinnedRowIds = (\n position === 'top'\n ? callMemoOrStaticFn(row.table, 'getTopRows', table_getTopRows)\n : callMemoOrStaticFn(row.table, 'getBottomRows', table_getBottomRows)\n ).map(({ id }) => id)\n\n return visiblePinnedRowIds.indexOf(row.id)\n}\n\n/**\n * Pins or unpins a row.\n *\n * Optional flags let callers include parent rows or leaf rows when updating\n * the row pinning state.\n *\n * @example\n * ```ts\n * row_pin(row, 'top')\n * ```\n */\nexport function row_pin<TFeatures extends TableFeatures, TData extends RowData>(\n row: Row<TFeatures, TData>,\n position: RowPinningPosition,\n includeLeafRows?: boolean,\n includeParentRows?: boolean,\n): void {\n const leafRowIds = includeLeafRows\n ? row.getLeafRows().map(({ id }) => id)\n : []\n const parentRowIds = includeParentRows\n ? row.getParentRows().map(({ id }) => id)\n : []\n const rowIds: Set<string> = new Set([...parentRowIds, row.id, ...leafRowIds])\n\n table_setRowPinning(row.table, (old) => {\n if (position === 'bottom') {\n return {\n top: old.top.filter((d) => !rowIds.has(d)),\n bottom: [\n ...old.bottom.filter((d) => !rowIds.has(d)),\n ...Array.from(rowIds),\n ],\n }\n }\n\n if (position === 'top') {\n return {\n top: [...old.top.filter((d) => !rowIds.has(d)), ...Array.from(rowIds)],\n bottom: old.bottom.filter((d) => !rowIds.has(d)),\n }\n }\n\n return {\n top: old.top.filter((d) => !rowIds.has(d)),\n bottom: old.bottom.filter((d) => !rowIds.has(d)),\n }\n })\n}\n"],"mappings":"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"}
|