@tanstack/table-core 9.0.0-beta.5 → 9.0.0-beta.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/core/cells/constructCell.cjs +1 -4
- package/dist/core/cells/constructCell.cjs.map +1 -1
- package/dist/core/cells/constructCell.d.cts +4 -4
- package/dist/core/cells/constructCell.d.ts +4 -4
- package/dist/core/cells/constructCell.js +1 -4
- package/dist/core/cells/constructCell.js.map +1 -1
- package/dist/core/cells/coreCellsFeature.types.d.cts +7 -7
- package/dist/core/cells/coreCellsFeature.types.d.ts +7 -7
- package/dist/core/cells/coreCellsFeature.utils.d.cts +4 -4
- package/dist/core/cells/coreCellsFeature.utils.d.ts +4 -4
- package/dist/core/columns/constructColumn.cjs +4 -5
- package/dist/core/columns/constructColumn.cjs.map +1 -1
- package/dist/core/columns/constructColumn.d.cts +3 -3
- package/dist/core/columns/constructColumn.d.ts +3 -3
- package/dist/core/columns/constructColumn.js +4 -5
- package/dist/core/columns/constructColumn.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.cjs +12 -18
- package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.js +12 -18
- package/dist/core/columns/coreColumnsFeature.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -7
- package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -7
- package/dist/core/columns/coreColumnsFeature.utils.cjs +4 -8
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +9 -9
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +9 -9
- package/dist/core/columns/coreColumnsFeature.utils.js +5 -9
- package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
- package/dist/core/coreFeatures.cjs.map +1 -1
- package/dist/core/coreFeatures.d.cts +1 -1
- package/dist/core/coreFeatures.d.ts +1 -1
- package/dist/core/coreFeatures.js.map +1 -1
- package/dist/core/headers/buildHeaderGroups.cjs +1 -2
- package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
- package/dist/core/headers/buildHeaderGroups.d.cts +2 -2
- package/dist/core/headers/buildHeaderGroups.d.ts +2 -2
- package/dist/core/headers/buildHeaderGroups.js +1 -2
- package/dist/core/headers/buildHeaderGroups.js.map +1 -1
- package/dist/core/headers/constructHeader.cjs +1 -4
- package/dist/core/headers/constructHeader.cjs.map +1 -1
- package/dist/core/headers/constructHeader.d.cts +2 -2
- package/dist/core/headers/constructHeader.d.ts +2 -2
- package/dist/core/headers/constructHeader.js +1 -4
- package/dist/core/headers/constructHeader.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.cjs +8 -11
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.js +8 -11
- package/dist/core/headers/coreHeadersFeature.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -6
- package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.cjs +8 -10
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.js +8 -10
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +7 -15
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -15
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +8 -26
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +16 -16
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +16 -16
- package/dist/core/row-models/coreRowModelsFeature.utils.js +8 -26
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
- package/dist/core/row-models/createCoreRowModel.cjs +4 -6
- package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
- package/dist/core/row-models/createCoreRowModel.d.cts +2 -2
- package/dist/core/row-models/createCoreRowModel.d.ts +2 -2
- package/dist/core/row-models/createCoreRowModel.js +5 -7
- package/dist/core/row-models/createCoreRowModel.js.map +1 -1
- package/dist/core/rows/constructRow.cjs +6 -10
- package/dist/core/rows/constructRow.cjs.map +1 -1
- package/dist/core/rows/constructRow.d.cts +2 -2
- package/dist/core/rows/constructRow.d.ts +2 -2
- package/dist/core/rows/constructRow.js +7 -10
- package/dist/core/rows/constructRow.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.cjs +18 -2
- package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.js +19 -3
- package/dist/core/rows/coreRowsFeature.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +41 -7
- package/dist/core/rows/coreRowsFeature.types.d.ts +41 -7
- package/dist/core/rows/coreRowsFeature.utils.cjs +62 -8
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +24 -5
- package/dist/core/rows/coreRowsFeature.utils.d.ts +24 -5
- package/dist/core/rows/coreRowsFeature.utils.js +61 -10
- package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
- package/dist/core/table/constructTable.cjs +24 -14
- package/dist/core/table/constructTable.cjs.map +1 -1
- package/dist/core/table/constructTable.d.cts +1 -1
- package/dist/core/table/constructTable.d.ts +1 -1
- package/dist/core/table/constructTable.js +24 -14
- package/dist/core/table/constructTable.js.map +1 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +32 -19
- package/dist/core/table/coreTablesFeature.types.d.ts +32 -19
- package/dist/core/table/coreTablesFeature.utils.cjs +38 -14
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +10 -7
- package/dist/core/table/coreTablesFeature.utils.d.ts +10 -7
- package/dist/core/table/coreTablesFeature.utils.js +38 -14
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
- package/dist/experimental-worker-plugin.cjs +14 -0
- package/dist/experimental-worker-plugin.d.cts +5 -0
- package/dist/experimental-worker-plugin.d.ts +5 -0
- package/dist/experimental-worker-plugin.js +6 -0
- package/dist/features/column-faceting/columnFacetingFeature.cjs +12 -18
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.js +12 -18
- package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +15 -33
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -33
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +23 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +9 -9
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +9 -9
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +24 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +7 -4
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.js +8 -5
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs +10 -15
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +2 -2
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +2 -2
- package/dist/features/column-faceting/createFacetedRowModel.js +10 -15
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs +10 -6
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.js +11 -7
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.cjs +2 -2
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.js +3 -3
- package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +83 -29
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +83 -29
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +23 -17
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +18 -14
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +18 -14
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +23 -17
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +29 -25
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +10 -4
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +10 -4
- package/dist/features/column-filtering/createFilteredRowModel.js +30 -26
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
- package/dist/features/column-filtering/filterFns.cjs +399 -0
- package/dist/features/column-filtering/filterFns.cjs.map +1 -0
- package/dist/features/column-filtering/filterFns.d.cts +210 -0
- package/dist/features/column-filtering/filterFns.d.ts +210 -0
- package/dist/features/column-filtering/filterFns.js +375 -0
- package/dist/features/column-filtering/filterFns.js.map +1 -0
- package/dist/features/column-filtering/filterRowsUtils.cjs +3 -2
- package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
- package/dist/features/column-filtering/filterRowsUtils.js +3 -2
- package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.cjs +4 -16
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.js +6 -18
- package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +14 -50
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -50
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +6 -61
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +12 -49
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -49
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -60
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +37 -24
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -4
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -4
- package/dist/features/column-grouping/createGroupedRowModel.js +39 -26
- package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +17 -21
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.js +18 -22
- package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +28 -3
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -3
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +35 -15
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +26 -14
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -14
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -17
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.cjs +124 -143
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +6 -1
- package/dist/features/column-pinning/columnPinningFeature.d.ts +6 -1
- package/dist/features/column-pinning/columnPinningFeature.js +125 -144
- package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +52 -41
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +52 -41
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +161 -162
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +101 -92
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +101 -92
- package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -149
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.types.d.cts +1 -4
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +1 -4
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +84 -44
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +6 -6
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +6 -6
- package/dist/features/column-resizing/columnResizingFeature.utils.js +85 -45
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +33 -67
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.js +34 -68
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.types.d.cts +52 -9
- package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -9
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +88 -45
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +43 -25
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -25
- package/dist/features/column-sizing/columnSizingFeature.utils.js +88 -46
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +25 -36
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.js +25 -36
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +3 -3
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +3 -3
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +30 -29
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +18 -18
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +18 -18
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +31 -30
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +1 -2
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.js +1 -2
- package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +2 -2
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +2 -2
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +6 -6
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +8 -11
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +8 -11
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +6 -6
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
- package/dist/features/row-aggregation/aggregationFns.cjs +246 -0
- package/dist/features/row-aggregation/aggregationFns.cjs.map +1 -0
- package/dist/features/row-aggregation/aggregationFns.d.cts +68 -0
- package/dist/features/row-aggregation/aggregationFns.d.ts +68 -0
- package/dist/features/row-aggregation/aggregationFns.js +235 -0
- package/dist/features/row-aggregation/aggregationFns.js.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.cjs +39 -0
- package/dist/features/row-aggregation/rowAggregationFeature.cjs.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.d.cts +10 -0
- package/dist/features/row-aggregation/rowAggregationFeature.d.ts +10 -0
- package/dist/features/row-aggregation/rowAggregationFeature.js +39 -0
- package/dist/features/row-aggregation/rowAggregationFeature.js.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.cjs +13 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.cjs.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.d.cts +195 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +195 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.js +12 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.js.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs +212 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.d.cts +34 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +34 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.js +206 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.js.map +1 -0
- package/dist/features/row-expanding/createExpandedRowModel.cjs +6 -10
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +2 -2
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +2 -2
- package/dist/features/row-expanding/createExpandedRowModel.js +6 -10
- package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +6 -15
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +6 -15
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +28 -26
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +10 -10
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +10 -10
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +29 -27
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +6 -10
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +2 -2
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +2 -2
- package/dist/features/row-pagination/createPaginatedRowModel.js +6 -10
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +5 -14
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +5 -14
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +9 -15
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +17 -17
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +17 -17
- package/dist/features/row-pagination/rowPaginationFeature.utils.js +9 -15
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.cjs +4 -16
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.js +4 -16
- package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +2 -2
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +2 -2
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +9 -14
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +7 -7
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +7 -7
- package/dist/features/row-pinning/rowPinningFeature.utils.js +9 -14
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +66 -22
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.js +67 -23
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +49 -11
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +49 -11
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +128 -72
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +57 -30
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +57 -30
- package/dist/features/row-selection/rowSelectionFeature.utils.js +129 -74
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +69 -50
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.d.cts +10 -4
- package/dist/features/row-sorting/createSortedRowModel.d.ts +10 -4
- package/dist/features/row-sorting/createSortedRowModel.js +70 -51
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +54 -22
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +54 -22
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +31 -17
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +16 -16
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +16 -16
- package/dist/features/row-sorting/rowSortingFeature.utils.js +31 -17
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/sortFns.cjs +226 -0
- package/dist/features/row-sorting/sortFns.cjs.map +1 -0
- package/dist/features/row-sorting/sortFns.d.cts +98 -0
- package/dist/features/row-sorting/sortFns.d.ts +98 -0
- package/dist/features/row-sorting/sortFns.js +217 -0
- package/dist/features/row-sorting/sortFns.js.map +1 -0
- package/dist/features/stockFeatures.cjs +2 -0
- package/dist/features/stockFeatures.cjs.map +1 -1
- package/dist/features/stockFeatures.d.cts +2 -0
- package/dist/features/stockFeatures.d.ts +2 -0
- package/dist/features/stockFeatures.js +2 -0
- package/dist/features/stockFeatures.js.map +1 -1
- package/dist/flex-render.d.cts +1 -1
- package/dist/flex-render.d.ts +1 -1
- package/dist/helpers/columnHelper.cjs.map +1 -1
- package/dist/helpers/columnHelper.d.cts +2 -2
- package/dist/helpers/columnHelper.d.ts +2 -2
- package/dist/helpers/columnHelper.js.map +1 -1
- package/dist/helpers/metaHelper.cjs +30 -0
- package/dist/helpers/metaHelper.cjs.map +1 -0
- package/dist/helpers/metaHelper.d.cts +26 -0
- package/dist/helpers/metaHelper.d.ts +26 -0
- package/dist/helpers/metaHelper.js +29 -0
- package/dist/helpers/metaHelper.js.map +1 -0
- package/dist/helpers/tableFeatures.cjs +32 -3
- package/dist/helpers/tableFeatures.cjs.map +1 -1
- package/dist/helpers/tableFeatures.d.cts +34 -5
- package/dist/helpers/tableFeatures.d.ts +34 -5
- package/dist/helpers/tableFeatures.js +32 -3
- package/dist/helpers/tableFeatures.js.map +1 -1
- package/dist/index.cjs +23 -3
- package/dist/index.d.cts +31 -28
- package/dist/index.d.ts +31 -28
- package/dist/index.js +8 -5
- package/dist/static-functions.cjs +30 -19
- package/dist/static-functions.d.cts +8 -7
- package/dist/static-functions.d.ts +8 -7
- package/dist/static-functions.js +8 -7
- package/dist/store-reactivity-bindings.cjs +3 -3
- package/dist/store-reactivity-bindings.cjs.map +1 -1
- package/dist/store-reactivity-bindings.d.cts +1 -1
- package/dist/store-reactivity-bindings.d.ts +1 -1
- package/dist/store-reactivity-bindings.js +3 -3
- package/dist/store-reactivity-bindings.js.map +1 -1
- package/dist/types/Cell.d.cts +4 -2
- package/dist/types/Cell.d.ts +4 -2
- package/dist/types/Column.d.cts +15 -15
- package/dist/types/Column.d.ts +15 -15
- package/dist/types/ColumnDef.d.cts +30 -14
- package/dist/types/ColumnDef.d.ts +30 -14
- package/dist/types/Header.d.cts +2 -2
- package/dist/types/Header.d.ts +2 -2
- package/dist/types/HeaderGroup.d.cts +2 -2
- package/dist/types/HeaderGroup.d.ts +2 -2
- package/dist/types/Row.d.cts +6 -4
- package/dist/types/Row.d.ts +6 -4
- package/dist/types/RowModel.d.cts +11 -23
- package/dist/types/RowModel.d.ts +11 -23
- package/dist/types/RowModelFns.d.cts +4 -4
- package/dist/types/RowModelFns.d.ts +4 -4
- package/dist/types/Table.d.cts +26 -31
- package/dist/types/Table.d.ts +26 -31
- package/dist/types/TableFeatures.d.cts +350 -22
- package/dist/types/TableFeatures.d.ts +350 -22
- package/dist/types/TableOptions.d.cts +22 -14
- package/dist/types/TableOptions.d.ts +22 -14
- package/dist/types/TableState.d.cts +6 -6
- package/dist/types/TableState.d.ts +6 -6
- package/dist/types/type-utils.d.cts +8 -1
- package/dist/types/type-utils.d.ts +8 -1
- package/dist/utils.cjs +51 -29
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +30 -8
- package/dist/utils.d.ts +30 -8
- package/dist/utils.js +49 -30
- package/dist/utils.js.map +1 -1
- package/dist/worker/createTableWorker.cjs +189 -0
- package/dist/worker/createTableWorker.cjs.map +1 -0
- package/dist/worker/createTableWorker.d.cts +102 -0
- package/dist/worker/createTableWorker.d.ts +102 -0
- package/dist/worker/createTableWorker.js +186 -0
- package/dist/worker/createTableWorker.js.map +1 -0
- package/dist/worker/createWorkerRowModel.cjs +78 -0
- package/dist/worker/createWorkerRowModel.cjs.map +1 -0
- package/dist/worker/createWorkerRowModel.d.cts +42 -0
- package/dist/worker/createWorkerRowModel.d.ts +42 -0
- package/dist/worker/createWorkerRowModel.js +78 -0
- package/dist/worker/createWorkerRowModel.js.map +1 -0
- package/dist/worker/initTableWorker.cjs +100 -0
- package/dist/worker/initTableWorker.cjs.map +1 -0
- package/dist/worker/initTableWorker.d.cts +33 -0
- package/dist/worker/initTableWorker.d.ts +33 -0
- package/dist/worker/initTableWorker.js +100 -0
- package/dist/worker/initTableWorker.js.map +1 -0
- package/dist/worker/rebuildRowModel.cjs +72 -0
- package/dist/worker/rebuildRowModel.cjs.map +1 -0
- package/dist/worker/rebuildRowModel.d.cts +9 -0
- package/dist/worker/rebuildRowModel.d.ts +9 -0
- package/dist/worker/rebuildRowModel.js +72 -0
- package/dist/worker/rebuildRowModel.js.map +1 -0
- package/dist/worker/serializeRowModel.cjs +53 -0
- package/dist/worker/serializeRowModel.cjs.map +1 -0
- package/dist/worker/serializeRowModel.js +52 -0
- package/dist/worker/serializeRowModel.js.map +1 -0
- package/dist/worker/tableWorkerProtocol.cjs +29 -0
- package/dist/worker/tableWorkerProtocol.cjs.map +1 -0
- package/dist/worker/tableWorkerProtocol.d.cts +88 -0
- package/dist/worker/tableWorkerProtocol.d.ts +88 -0
- package/dist/worker/tableWorkerProtocol.js +27 -0
- package/dist/worker/tableWorkerProtocol.js.map +1 -0
- package/package.json +8 -3
- package/skills/aggregation/SKILL.md +141 -0
- package/skills/api-not-found/SKILL.md +113 -0
- package/skills/client-vs-server/SKILL.md +164 -0
- package/skills/column-faceting/SKILL.md +97 -0
- package/skills/column-filtering/SKILL.md +87 -0
- package/skills/column-ordering/SKILL.md +75 -0
- package/skills/column-pinning/SKILL.md +89 -0
- package/skills/column-resizing/SKILL.md +91 -0
- package/skills/column-sizing/SKILL.md +72 -0
- package/skills/column-visibility/SKILL.md +75 -0
- package/skills/core/SKILL.md +175 -0
- package/skills/custom-features/SKILL.md +235 -0
- package/skills/expanding/SKILL.md +80 -0
- package/skills/global-filtering/SKILL.md +84 -0
- package/skills/grouping/SKILL.md +51 -401
- package/skills/migrate-v8-to-v9/SKILL.md +274 -416
- package/skills/pagination/SKILL.md +37 -344
- package/skills/row-pinning/SKILL.md +47 -234
- package/skills/row-selection/SKILL.md +75 -302
- package/skills/sorting/SKILL.md +45 -303
- package/skills/table-features/SKILL.md +159 -0
- package/skills/typescript/SKILL.md +126 -0
- package/src/core/cells/coreCellsFeature.types.ts +6 -6
- package/src/core/columns/constructColumn.ts +6 -0
- package/src/core/columns/coreColumnsFeature.types.ts +8 -8
- package/src/core/columns/coreColumnsFeature.utils.ts +4 -4
- package/src/core/coreFeatures.ts +1 -1
- package/src/core/headers/buildHeaderGroups.ts +4 -2
- package/src/core/headers/coreHeadersFeature.types.ts +12 -12
- package/src/core/headers/coreHeadersFeature.utils.ts +7 -8
- package/src/core/row-models/coreRowModelsFeature.types.ts +6 -20
- package/src/core/row-models/coreRowModelsFeature.utils.ts +8 -8
- package/src/core/row-models/createCoreRowModel.ts +7 -6
- package/src/core/rows/constructRow.ts +4 -2
- package/src/core/rows/coreRowsFeature.ts +21 -0
- package/src/core/rows/coreRowsFeature.types.ts +45 -8
- package/src/core/rows/coreRowsFeature.utils.ts +93 -5
- package/src/core/table/constructTable.ts +44 -6
- package/src/core/table/coreTablesFeature.types.ts +45 -20
- package/src/core/table/coreTablesFeature.utils.ts +59 -19
- package/src/experimental-worker-plugin.ts +22 -0
- package/src/features/column-faceting/columnFacetingFeature.types.ts +17 -48
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +53 -18
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +33 -7
- package/src/features/column-faceting/createFacetedRowModel.ts +8 -1
- package/src/features/column-faceting/createFacetedUniqueValues.ts +41 -10
- package/src/features/column-filtering/columnFilteringFeature.ts +3 -2
- package/src/features/column-filtering/columnFilteringFeature.types.ts +117 -41
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +37 -23
- package/src/features/column-filtering/createFilteredRowModel.ts +28 -17
- package/src/features/column-filtering/filterFns.ts +533 -0
- package/src/features/column-filtering/filterRowsUtils.ts +3 -2
- package/src/features/column-grouping/columnGroupingFeature.ts +3 -21
- package/src/features/column-grouping/columnGroupingFeature.types.ts +21 -95
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +4 -87
- package/src/features/column-grouping/createGroupedRowModel.ts +46 -45
- package/src/features/column-ordering/columnOrderingFeature.ts +12 -7
- package/src/features/column-ordering/columnOrderingFeature.types.ts +29 -3
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +59 -8
- package/src/features/column-pinning/columnPinningFeature.ts +76 -59
- package/src/features/column-pinning/columnPinningFeature.types.ts +53 -42
- package/src/features/column-pinning/columnPinningFeature.utils.ts +184 -170
- package/src/features/column-resizing/columnResizingFeature.types.ts +1 -4
- package/src/features/column-resizing/columnResizingFeature.utils.ts +120 -52
- package/src/features/column-sizing/columnSizingFeature.ts +24 -24
- package/src/features/column-sizing/columnSizingFeature.types.ts +53 -8
- package/src/features/column-sizing/columnSizingFeature.utils.ts +143 -62
- package/src/features/column-visibility/columnVisibilityFeature.ts +4 -0
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +48 -30
- package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +13 -5
- package/src/features/row-aggregation/aggregationFns.ts +345 -0
- package/src/features/row-aggregation/rowAggregationFeature.ts +60 -0
- package/src/features/row-aggregation/rowAggregationFeature.types.ts +339 -0
- package/src/features/row-aggregation/rowAggregationFeature.utils.ts +430 -0
- package/src/features/row-expanding/rowExpandingFeature.types.ts +8 -23
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +38 -13
- package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
- package/src/features/row-pagination/rowPaginationFeature.types.ts +6 -21
- package/src/features/row-pagination/rowPaginationFeature.utils.ts +1 -1
- package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
- package/src/features/row-selection/rowSelectionFeature.ts +53 -3
- package/src/features/row-selection/rowSelectionFeature.types.ts +54 -10
- package/src/features/row-selection/rowSelectionFeature.utils.ts +273 -91
- package/src/features/row-sorting/createSortedRowModel.ts +107 -75
- package/src/features/row-sorting/rowSortingFeature.types.ts +87 -34
- package/src/features/row-sorting/rowSortingFeature.utils.ts +49 -23
- package/src/features/row-sorting/sortFns.ts +366 -0
- package/src/features/stockFeatures.ts +3 -0
- package/src/helpers/columnHelper.ts +4 -4
- package/src/helpers/metaHelper.ts +24 -0
- package/src/helpers/tableFeatures.ts +37 -5
- package/src/index.ts +8 -8
- package/src/static-functions.ts +1 -0
- package/src/store-reactivity-bindings.ts +1 -1
- package/src/types/Cell.ts +4 -2
- package/src/types/Column.ts +13 -9
- package/src/types/ColumnDef.ts +40 -10
- package/src/types/Header.ts +2 -2
- package/src/types/HeaderGroup.ts +6 -6
- package/src/types/Row.ts +6 -4
- package/src/types/RowModel.ts +19 -74
- package/src/types/RowModelFns.ts +10 -10
- package/src/types/Table.ts +52 -27
- package/src/types/TableFeatures.ts +392 -14
- package/src/types/TableOptions.ts +67 -14
- package/src/types/TableState.ts +15 -1
- package/src/types/type-utils.ts +8 -0
- package/src/utils.ts +60 -8
- package/src/worker/createTableWorker.ts +357 -0
- package/src/worker/createWorkerRowModel.ts +121 -0
- package/src/worker/initTableWorker.ts +164 -0
- package/src/worker/rebuildRowModel.ts +120 -0
- package/src/worker/serializeRowModel.ts +80 -0
- package/src/worker/tableWorkerProtocol.ts +105 -0
- package/dist/fns/aggregationFns.cjs +0 -161
- package/dist/fns/aggregationFns.cjs.map +0 -1
- package/dist/fns/aggregationFns.d.cts +0 -85
- package/dist/fns/aggregationFns.d.ts +0 -85
- package/dist/fns/aggregationFns.js +0 -151
- package/dist/fns/aggregationFns.js.map +0 -1
- package/dist/fns/filterFns.cjs +0 -201
- package/dist/fns/filterFns.cjs.map +0 -1
- package/dist/fns/filterFns.d.cts +0 -167
- package/dist/fns/filterFns.d.ts +0 -167
- package/dist/fns/filterFns.js +0 -185
- package/dist/fns/filterFns.js.map +0 -1
- package/dist/fns/sortFns.cjs +0 -118
- package/dist/fns/sortFns.cjs.map +0 -1
- package/dist/fns/sortFns.d.cts +0 -65
- package/dist/fns/sortFns.d.ts +0 -65
- package/dist/fns/sortFns.js +0 -110
- package/dist/fns/sortFns.js.map +0 -1
- package/skills/column-definitions/SKILL.md +0 -333
- package/skills/column-layout/SKILL.md +0 -328
- package/skills/column-layout/references/subsystems.md +0 -220
- package/skills/customizing-feature-behavior/SKILL.md +0 -416
- package/skills/filtering/SKILL.md +0 -357
- package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
- package/skills/row-expanding/SKILL.md +0 -348
- package/skills/setup/SKILL.md +0 -400
- package/skills/state-management/SKILL.md +0 -388
- package/src/fns/aggregationFns.ts +0 -245
- package/src/fns/filterFns.ts +0 -382
- package/src/fns/sortFns.ts +0 -217
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { table_getPinnedVisibleLeafColumns } from '../column-pinning/columnPinningFeature.utils'
|
|
2
|
-
import { cloneState } from '../../utils'
|
|
2
|
+
import { callMemoOrStaticFn, cloneState, makeObjectMap } from '../../utils'
|
|
3
3
|
import type { GroupingState } from '../column-grouping/columnGroupingFeature.types'
|
|
4
4
|
import type { CellData, RowData, Updater } from '../../types/type-utils'
|
|
5
5
|
import type { TableFeatures } from '../../types/TableFeatures'
|
|
6
6
|
import type { Table_Internal } from '../../types/Table'
|
|
7
|
-
import type { Column_Internal } from '../../types/Column'
|
|
7
|
+
import type { Column, Column_Internal } from '../../types/Column'
|
|
8
8
|
import type { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types'
|
|
9
|
-
import type {
|
|
9
|
+
import type {
|
|
10
|
+
ColumnIndexes,
|
|
11
|
+
ColumnOrderState,
|
|
12
|
+
} from './columnOrderingFeature.types'
|
|
10
13
|
|
|
11
14
|
/**
|
|
12
15
|
* Creates the default column order state.
|
|
@@ -23,10 +26,46 @@ export function getDefaultColumnOrderState(): ColumnOrderState {
|
|
|
23
26
|
return []
|
|
24
27
|
}
|
|
25
28
|
|
|
29
|
+
/**
|
|
30
|
+
* Builds column-id to index records for each visible pinning region.
|
|
31
|
+
*
|
|
32
|
+
* All four regions are built in one pass so a single memo entry serves every
|
|
33
|
+
* `column_getIndex` lookup without per-column scans.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* const indexes = table_getColumnIndexes(table)
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export function table_getColumnIndexes<
|
|
41
|
+
TFeatures extends TableFeatures,
|
|
42
|
+
TData extends RowData,
|
|
43
|
+
>(table: Table_Internal<TFeatures, TData>): ColumnIndexes {
|
|
44
|
+
const buildIndexes = (
|
|
45
|
+
columns: ReadonlyArray<
|
|
46
|
+
| Column<TFeatures, TData, unknown>
|
|
47
|
+
| Column_Internal<TFeatures, TData, unknown>
|
|
48
|
+
>,
|
|
49
|
+
): Record<string, number> => {
|
|
50
|
+
const indexes = makeObjectMap<number>()
|
|
51
|
+
for (let i = 0; i < columns.length; i++) {
|
|
52
|
+
indexes[columns[i]!.id] = i
|
|
53
|
+
}
|
|
54
|
+
return indexes
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return {
|
|
58
|
+
all: buildIndexes(table_getPinnedVisibleLeafColumns(table)),
|
|
59
|
+
center: buildIndexes(table_getPinnedVisibleLeafColumns(table, 'center')),
|
|
60
|
+
start: buildIndexes(table_getPinnedVisibleLeafColumns(table, 'start')),
|
|
61
|
+
end: buildIndexes(table_getPinnedVisibleLeafColumns(table, 'end')),
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
26
65
|
/**
|
|
27
66
|
* Finds this column's index within a visible pinning region.
|
|
28
67
|
*
|
|
29
|
-
* Pass `'
|
|
68
|
+
* Pass `'start'`, `'center'`, or `'end'` to search that region; omit the
|
|
30
69
|
* position to search the full visible leaf column list.
|
|
31
70
|
*
|
|
32
71
|
* @example
|
|
@@ -42,8 +81,20 @@ export function column_getIndex<
|
|
|
42
81
|
column: Column_Internal<TFeatures, TData, TValue>,
|
|
43
82
|
position?: ColumnPinningPosition | 'center',
|
|
44
83
|
) {
|
|
45
|
-
const
|
|
46
|
-
|
|
84
|
+
const indexes = callMemoOrStaticFn(
|
|
85
|
+
column.table,
|
|
86
|
+
'getColumnIndexes',
|
|
87
|
+
table_getColumnIndexes,
|
|
88
|
+
)
|
|
89
|
+
const key =
|
|
90
|
+
position === 'start'
|
|
91
|
+
? 'start'
|
|
92
|
+
: position === 'end'
|
|
93
|
+
? 'end'
|
|
94
|
+
: position === 'center'
|
|
95
|
+
? 'center'
|
|
96
|
+
: 'all'
|
|
97
|
+
return indexes[key][column.id] ?? -1
|
|
47
98
|
}
|
|
48
99
|
|
|
49
100
|
/**
|
|
@@ -53,7 +104,7 @@ export function column_getIndex<
|
|
|
53
104
|
*
|
|
54
105
|
* @example
|
|
55
106
|
* ```ts
|
|
56
|
-
* const isFirst = column_getIsFirstColumn(column, '
|
|
107
|
+
* const isFirst = column_getIsFirstColumn(column, 'start')
|
|
57
108
|
* ```
|
|
58
109
|
*/
|
|
59
110
|
export function column_getIsFirstColumn<
|
|
@@ -75,7 +126,7 @@ export function column_getIsFirstColumn<
|
|
|
75
126
|
*
|
|
76
127
|
* @example
|
|
77
128
|
* ```ts
|
|
78
|
-
* const isLast = column_getIsLastColumn(column, '
|
|
129
|
+
* const isLast = column_getIsLastColumn(column, 'end')
|
|
79
130
|
* ```
|
|
80
131
|
*/
|
|
81
132
|
export function column_getIsLastColumn<
|
|
@@ -12,36 +12,41 @@ import {
|
|
|
12
12
|
column_pin,
|
|
13
13
|
getDefaultColumnPinningState,
|
|
14
14
|
row_getCenterVisibleCells,
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
row_getEndVisibleCells,
|
|
16
|
+
row_getStartVisibleCells,
|
|
17
17
|
table_getCenterFlatHeaders,
|
|
18
18
|
table_getCenterFooterGroups,
|
|
19
19
|
table_getCenterHeaderGroups,
|
|
20
20
|
table_getCenterLeafColumns,
|
|
21
21
|
table_getCenterLeafHeaders,
|
|
22
22
|
table_getCenterVisibleLeafColumns,
|
|
23
|
+
table_getEndFlatHeaders,
|
|
24
|
+
table_getEndFooterGroups,
|
|
25
|
+
table_getEndHeaderGroups,
|
|
26
|
+
table_getEndLeafColumns,
|
|
27
|
+
table_getEndLeafHeaders,
|
|
28
|
+
table_getEndVisibleLeafColumns,
|
|
23
29
|
table_getIsSomeColumnsPinned,
|
|
24
|
-
table_getLeftFlatHeaders,
|
|
25
|
-
table_getLeftFooterGroups,
|
|
26
|
-
table_getLeftHeaderGroups,
|
|
27
|
-
table_getLeftLeafColumns,
|
|
28
|
-
table_getLeftLeafHeaders,
|
|
29
|
-
table_getLeftVisibleLeafColumns,
|
|
30
30
|
table_getPinnedLeafColumns,
|
|
31
31
|
table_getPinnedVisibleLeafColumns,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
table_getStartFlatHeaders,
|
|
33
|
+
table_getStartFooterGroups,
|
|
34
|
+
table_getStartHeaderGroups,
|
|
35
|
+
table_getStartLeafColumns,
|
|
36
|
+
table_getStartLeafHeaders,
|
|
37
|
+
table_getStartVisibleLeafColumns,
|
|
38
38
|
table_resetColumnPinning,
|
|
39
39
|
table_setColumnPinning,
|
|
40
40
|
} from './columnPinningFeature.utils'
|
|
41
41
|
import type { TableFeature } from '../../types/TableFeatures'
|
|
42
42
|
|
|
43
43
|
/**
|
|
44
|
-
* Feature that adds column pinning state and APIs for
|
|
44
|
+
* Feature that adds column pinning state and APIs for logical start, center,
|
|
45
|
+
* and end regions.
|
|
46
|
+
*
|
|
47
|
+
* In LTR languages/layouts, start usually corresponds to left and end to
|
|
48
|
+
* right. In RTL languages/layouts, start usually corresponds to right and end
|
|
49
|
+
* to left.
|
|
45
50
|
*/
|
|
46
51
|
export const columnPinningFeature: TableFeature = {
|
|
47
52
|
getInitialState: (initialState) => {
|
|
@@ -87,19 +92,19 @@ export const columnPinningFeature: TableFeature = {
|
|
|
87
92
|
row.table.atoms.columnVisibility?.get(),
|
|
88
93
|
],
|
|
89
94
|
},
|
|
90
|
-
|
|
91
|
-
fn: (row) =>
|
|
95
|
+
row_getStartVisibleCells: {
|
|
96
|
+
fn: (row) => row_getStartVisibleCells(row),
|
|
92
97
|
memoDeps: (row) => [
|
|
93
98
|
row.getAllCells(),
|
|
94
|
-
row.table.atoms.columnPinning?.get()?.
|
|
99
|
+
row.table.atoms.columnPinning?.get()?.start,
|
|
95
100
|
row.table.atoms.columnVisibility?.get(),
|
|
96
101
|
],
|
|
97
102
|
},
|
|
98
|
-
|
|
99
|
-
fn: (row) =>
|
|
103
|
+
row_getEndVisibleCells: {
|
|
104
|
+
fn: (row) => row_getEndVisibleCells(row),
|
|
100
105
|
memoDeps: (row) => [
|
|
101
106
|
row.getAllCells(),
|
|
102
|
-
row.table.atoms.columnPinning?.get()?.
|
|
107
|
+
row.table.atoms.columnPinning?.get()?.end,
|
|
103
108
|
row.table.atoms.columnVisibility?.get(),
|
|
104
109
|
],
|
|
105
110
|
},
|
|
@@ -118,8 +123,8 @@ export const columnPinningFeature: TableFeature = {
|
|
|
118
123
|
fn: (position) => table_getIsSomeColumnsPinned(table, position),
|
|
119
124
|
},
|
|
120
125
|
// header groups
|
|
121
|
-
|
|
122
|
-
fn: () =>
|
|
126
|
+
table_getStartHeaderGroups: {
|
|
127
|
+
fn: () => table_getStartHeaderGroups(table),
|
|
123
128
|
memoDeps: () => [
|
|
124
129
|
table.getAllColumns(),
|
|
125
130
|
callMemoOrStaticFn(
|
|
@@ -127,7 +132,7 @@ export const columnPinningFeature: TableFeature = {
|
|
|
127
132
|
'getVisibleLeafColumns',
|
|
128
133
|
table_getVisibleLeafColumns,
|
|
129
134
|
),
|
|
130
|
-
table.atoms.columnPinning?.get()?.
|
|
135
|
+
table.atoms.columnPinning?.get()?.start,
|
|
131
136
|
table.atoms.columnOrder?.get(),
|
|
132
137
|
],
|
|
133
138
|
},
|
|
@@ -144,8 +149,8 @@ export const columnPinningFeature: TableFeature = {
|
|
|
144
149
|
table.atoms.columnOrder?.get(),
|
|
145
150
|
],
|
|
146
151
|
},
|
|
147
|
-
|
|
148
|
-
fn: () =>
|
|
152
|
+
table_getEndHeaderGroups: {
|
|
153
|
+
fn: () => table_getEndHeaderGroups(table),
|
|
149
154
|
memoDeps: () => [
|
|
150
155
|
table.getAllColumns(),
|
|
151
156
|
callMemoOrStaticFn(
|
|
@@ -153,18 +158,18 @@ export const columnPinningFeature: TableFeature = {
|
|
|
153
158
|
'getVisibleLeafColumns',
|
|
154
159
|
table_getVisibleLeafColumns,
|
|
155
160
|
),
|
|
156
|
-
table.atoms.columnPinning?.get()?.
|
|
161
|
+
table.atoms.columnPinning?.get()?.end,
|
|
157
162
|
table.atoms.columnOrder?.get(),
|
|
158
163
|
],
|
|
159
164
|
},
|
|
160
165
|
// footer groups
|
|
161
|
-
|
|
162
|
-
fn: () =>
|
|
166
|
+
table_getStartFooterGroups: {
|
|
167
|
+
fn: () => table_getStartFooterGroups(table),
|
|
163
168
|
memoDeps: () => [
|
|
164
169
|
callMemoOrStaticFn(
|
|
165
170
|
table,
|
|
166
|
-
'
|
|
167
|
-
|
|
171
|
+
'getStartHeaderGroups',
|
|
172
|
+
table_getStartHeaderGroups,
|
|
168
173
|
),
|
|
169
174
|
],
|
|
170
175
|
},
|
|
@@ -178,34 +183,34 @@ export const columnPinningFeature: TableFeature = {
|
|
|
178
183
|
),
|
|
179
184
|
],
|
|
180
185
|
},
|
|
181
|
-
|
|
182
|
-
fn: () =>
|
|
186
|
+
table_getEndFooterGroups: {
|
|
187
|
+
fn: () => table_getEndFooterGroups(table),
|
|
183
188
|
memoDeps: () => [
|
|
184
189
|
callMemoOrStaticFn(
|
|
185
190
|
table,
|
|
186
|
-
'
|
|
187
|
-
|
|
191
|
+
'getEndHeaderGroups',
|
|
192
|
+
table_getEndHeaderGroups,
|
|
188
193
|
),
|
|
189
194
|
],
|
|
190
195
|
},
|
|
191
196
|
// flat headers
|
|
192
|
-
|
|
193
|
-
fn: () =>
|
|
197
|
+
table_getStartFlatHeaders: {
|
|
198
|
+
fn: () => table_getStartFlatHeaders(table),
|
|
194
199
|
memoDeps: () => [
|
|
195
200
|
callMemoOrStaticFn(
|
|
196
201
|
table,
|
|
197
|
-
'
|
|
198
|
-
|
|
202
|
+
'getStartHeaderGroups',
|
|
203
|
+
table_getStartHeaderGroups,
|
|
199
204
|
),
|
|
200
205
|
],
|
|
201
206
|
},
|
|
202
|
-
|
|
203
|
-
fn: () =>
|
|
207
|
+
table_getEndFlatHeaders: {
|
|
208
|
+
fn: () => table_getEndFlatHeaders(table),
|
|
204
209
|
memoDeps: () => [
|
|
205
210
|
callMemoOrStaticFn(
|
|
206
211
|
table,
|
|
207
|
-
'
|
|
208
|
-
|
|
212
|
+
'getEndHeaderGroups',
|
|
213
|
+
table_getEndHeaderGroups,
|
|
209
214
|
),
|
|
210
215
|
],
|
|
211
216
|
},
|
|
@@ -220,23 +225,23 @@ export const columnPinningFeature: TableFeature = {
|
|
|
220
225
|
],
|
|
221
226
|
},
|
|
222
227
|
// leaf headers
|
|
223
|
-
|
|
224
|
-
fn: () =>
|
|
228
|
+
table_getStartLeafHeaders: {
|
|
229
|
+
fn: () => table_getStartLeafHeaders(table),
|
|
225
230
|
memoDeps: () => [
|
|
226
231
|
callMemoOrStaticFn(
|
|
227
232
|
table,
|
|
228
|
-
'
|
|
229
|
-
|
|
233
|
+
'getStartHeaderGroups',
|
|
234
|
+
table_getStartHeaderGroups,
|
|
230
235
|
),
|
|
231
236
|
],
|
|
232
237
|
},
|
|
233
|
-
|
|
234
|
-
fn: () =>
|
|
238
|
+
table_getEndLeafHeaders: {
|
|
239
|
+
fn: () => table_getEndLeafHeaders(table),
|
|
235
240
|
memoDeps: () => [
|
|
236
241
|
callMemoOrStaticFn(
|
|
237
242
|
table,
|
|
238
|
-
'
|
|
239
|
-
|
|
243
|
+
'getEndHeaderGroups',
|
|
244
|
+
table_getEndHeaderGroups,
|
|
240
245
|
),
|
|
241
246
|
],
|
|
242
247
|
},
|
|
@@ -251,20 +256,24 @@ export const columnPinningFeature: TableFeature = {
|
|
|
251
256
|
],
|
|
252
257
|
},
|
|
253
258
|
// leaf columns
|
|
254
|
-
|
|
255
|
-
fn: () =>
|
|
259
|
+
table_getStartLeafColumns: {
|
|
260
|
+
fn: () => table_getStartLeafColumns(table),
|
|
256
261
|
memoDeps: () => [
|
|
257
262
|
table.options.columns,
|
|
258
263
|
table.atoms.columnPinning?.get(),
|
|
259
264
|
table.atoms.columnOrder?.get(),
|
|
265
|
+
table.atoms.grouping?.get(),
|
|
266
|
+
table.options.groupedColumnMode,
|
|
260
267
|
],
|
|
261
268
|
},
|
|
262
|
-
|
|
263
|
-
fn: () =>
|
|
269
|
+
table_getEndLeafColumns: {
|
|
270
|
+
fn: () => table_getEndLeafColumns(table),
|
|
264
271
|
memoDeps: () => [
|
|
265
272
|
table.options.columns,
|
|
266
273
|
table.atoms.columnPinning?.get(),
|
|
267
274
|
table.atoms.columnOrder?.get(),
|
|
275
|
+
table.atoms.grouping?.get(),
|
|
276
|
+
table.options.groupedColumnMode,
|
|
268
277
|
],
|
|
269
278
|
},
|
|
270
279
|
table_getCenterLeafColumns: {
|
|
@@ -273,6 +282,8 @@ export const columnPinningFeature: TableFeature = {
|
|
|
273
282
|
table.options.columns,
|
|
274
283
|
table.atoms.columnPinning?.get(),
|
|
275
284
|
table.atoms.columnOrder?.get(),
|
|
285
|
+
table.atoms.grouping?.get(),
|
|
286
|
+
table.options.groupedColumnMode,
|
|
276
287
|
],
|
|
277
288
|
},
|
|
278
289
|
table_getPinnedLeafColumns: {
|
|
@@ -280,13 +291,15 @@ export const columnPinningFeature: TableFeature = {
|
|
|
280
291
|
// must not memo here as it's just a shortcut function
|
|
281
292
|
},
|
|
282
293
|
// visible leaf columns
|
|
283
|
-
|
|
284
|
-
fn: () =>
|
|
294
|
+
table_getStartVisibleLeafColumns: {
|
|
295
|
+
fn: () => table_getStartVisibleLeafColumns(table),
|
|
285
296
|
memoDeps: () => [
|
|
286
297
|
table.options.columns,
|
|
287
298
|
table.atoms.columnPinning?.get(),
|
|
288
299
|
table.atoms.columnVisibility?.get(),
|
|
289
300
|
table.atoms.columnOrder?.get(),
|
|
301
|
+
table.atoms.grouping?.get(),
|
|
302
|
+
table.options.groupedColumnMode,
|
|
290
303
|
],
|
|
291
304
|
},
|
|
292
305
|
table_getCenterVisibleLeafColumns: {
|
|
@@ -296,15 +309,19 @@ export const columnPinningFeature: TableFeature = {
|
|
|
296
309
|
table.atoms.columnPinning?.get(),
|
|
297
310
|
table.atoms.columnVisibility?.get(),
|
|
298
311
|
table.atoms.columnOrder?.get(),
|
|
312
|
+
table.atoms.grouping?.get(),
|
|
313
|
+
table.options.groupedColumnMode,
|
|
299
314
|
],
|
|
300
315
|
},
|
|
301
|
-
|
|
302
|
-
fn: () =>
|
|
316
|
+
table_getEndVisibleLeafColumns: {
|
|
317
|
+
fn: () => table_getEndVisibleLeafColumns(table),
|
|
303
318
|
memoDeps: () => [
|
|
304
319
|
table.options.columns,
|
|
305
320
|
table.atoms.columnPinning?.get(),
|
|
306
321
|
table.atoms.columnVisibility?.get(),
|
|
307
322
|
table.atoms.columnOrder?.get(),
|
|
323
|
+
table.atoms.grouping?.get(),
|
|
324
|
+
table.options.groupedColumnMode,
|
|
308
325
|
],
|
|
309
326
|
},
|
|
310
327
|
table_getPinnedVisibleLeafColumns: {
|
|
@@ -5,11 +5,18 @@ import type { Header } from '../../types/Header'
|
|
|
5
5
|
import type { HeaderGroup } from '../../types/HeaderGroup'
|
|
6
6
|
import type { Column } from '../../types/Column'
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Logical column pinning region.
|
|
10
|
+
*
|
|
11
|
+
* In LTR languages/layouts, `start` usually corresponds to left and `end`
|
|
12
|
+
* usually corresponds to right. In RTL languages/layouts, `start` usually
|
|
13
|
+
* corresponds to right and `end` usually corresponds to left.
|
|
14
|
+
*/
|
|
15
|
+
export type ColumnPinningPosition = false | 'start' | 'end'
|
|
9
16
|
|
|
10
17
|
export interface ColumnPinningState {
|
|
11
|
-
|
|
12
|
-
|
|
18
|
+
start: Array<string>
|
|
19
|
+
end: Array<string>
|
|
13
20
|
}
|
|
14
21
|
|
|
15
22
|
export interface TableState_ColumnPinning {
|
|
@@ -18,7 +25,11 @@ export interface TableState_ColumnPinning {
|
|
|
18
25
|
|
|
19
26
|
export interface TableOptions_ColumnPinning {
|
|
20
27
|
/**
|
|
21
|
-
* Allows columns to be pinned into
|
|
28
|
+
* Allows columns to be pinned into logical start and end regions.
|
|
29
|
+
*
|
|
30
|
+
* In LTR languages/layouts, start usually corresponds to left and end to
|
|
31
|
+
* right. In RTL languages/layouts, start usually corresponds to right and end
|
|
32
|
+
* to left.
|
|
22
33
|
*
|
|
23
34
|
* Defaults to `true`; column-level `enablePinning` can still opt individual
|
|
24
35
|
* columns out.
|
|
@@ -52,7 +63,7 @@ export interface Column_ColumnPinning {
|
|
|
52
63
|
*/
|
|
53
64
|
getCanPin: () => boolean
|
|
54
65
|
/**
|
|
55
|
-
* Reads the column's pinned position: `'
|
|
66
|
+
* Reads the column's logical pinned position: `'start'`, `'end'`, or `false`.
|
|
56
67
|
*/
|
|
57
68
|
getIsPinned: () => ColumnPinningPosition
|
|
58
69
|
/**
|
|
@@ -60,33 +71,33 @@ export interface Column_ColumnPinning {
|
|
|
60
71
|
*/
|
|
61
72
|
getPinnedIndex: () => number
|
|
62
73
|
/**
|
|
63
|
-
* Pins this column's leaf columns
|
|
64
|
-
* is passed.
|
|
74
|
+
* Pins this column's leaf columns to logical start or end, or unpins them
|
|
75
|
+
* when `false` is passed.
|
|
65
76
|
*/
|
|
66
77
|
pin: (position: ColumnPinningPosition) => void
|
|
67
78
|
}
|
|
68
79
|
|
|
69
80
|
export interface Row_ColumnPinning<
|
|
70
|
-
TFeatures extends TableFeatures,
|
|
71
|
-
TData extends RowData,
|
|
81
|
+
in out TFeatures extends TableFeatures,
|
|
82
|
+
in out TData extends RowData,
|
|
72
83
|
> {
|
|
73
84
|
/**
|
|
74
|
-
* Gets visible row cells whose columns are not pinned
|
|
85
|
+
* Gets visible row cells whose columns are not pinned start or end.
|
|
75
86
|
*/
|
|
76
87
|
getCenterVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>
|
|
77
88
|
/**
|
|
78
|
-
* Gets visible row cells whose columns are pinned
|
|
89
|
+
* Gets visible row cells whose columns are pinned to logical start.
|
|
79
90
|
*/
|
|
80
|
-
|
|
91
|
+
getStartVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>
|
|
81
92
|
/**
|
|
82
|
-
* Gets visible row cells whose columns are pinned
|
|
93
|
+
* Gets visible row cells whose columns are pinned to logical end.
|
|
83
94
|
*/
|
|
84
|
-
|
|
95
|
+
getEndVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>
|
|
85
96
|
}
|
|
86
97
|
|
|
87
98
|
export interface Table_ColumnPinning<
|
|
88
|
-
TFeatures extends TableFeatures,
|
|
89
|
-
TData extends RowData,
|
|
99
|
+
in out TFeatures extends TableFeatures,
|
|
100
|
+
in out TData extends RowData,
|
|
90
101
|
> {
|
|
91
102
|
/**
|
|
92
103
|
* Builds flat center-region headers for columns that are not pinned,
|
|
@@ -102,7 +113,7 @@ export interface Table_ColumnPinning<
|
|
|
102
113
|
*/
|
|
103
114
|
getCenterHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>
|
|
104
115
|
/**
|
|
105
|
-
* Gets leaf columns that are not pinned
|
|
116
|
+
* Gets leaf columns that are not pinned start or end.
|
|
106
117
|
*/
|
|
107
118
|
getCenterLeafColumns: () => Array<Column<TFeatures, TData, unknown>>
|
|
108
119
|
/**
|
|
@@ -118,59 +129,59 @@ export interface Table_ColumnPinning<
|
|
|
118
129
|
*/
|
|
119
130
|
getIsSomeColumnsPinned: (position?: ColumnPinningPosition) => boolean
|
|
120
131
|
/**
|
|
121
|
-
* Builds flat
|
|
132
|
+
* Builds flat logical start-region headers for pinned columns, including parent
|
|
122
133
|
* headers.
|
|
123
134
|
*/
|
|
124
|
-
|
|
135
|
+
getStartFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>
|
|
125
136
|
/**
|
|
126
|
-
* Builds footer groups for
|
|
137
|
+
* Builds footer groups for logical start-pinned columns.
|
|
127
138
|
*/
|
|
128
|
-
|
|
139
|
+
getStartFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>
|
|
129
140
|
/**
|
|
130
|
-
* Builds header groups for
|
|
141
|
+
* Builds header groups for logical start-pinned columns.
|
|
131
142
|
*/
|
|
132
|
-
|
|
143
|
+
getStartHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>
|
|
133
144
|
/**
|
|
134
|
-
* Gets leaf columns pinned to the
|
|
145
|
+
* Gets leaf columns pinned to the logical start region in pinning-state order.
|
|
135
146
|
*/
|
|
136
|
-
|
|
147
|
+
getStartLeafColumns: () => Array<Column<TFeatures, TData, unknown>>
|
|
137
148
|
/**
|
|
138
|
-
* Builds leaf headers for
|
|
149
|
+
* Builds leaf headers for logical start-pinned columns.
|
|
139
150
|
*/
|
|
140
|
-
|
|
151
|
+
getStartLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>
|
|
141
152
|
/**
|
|
142
|
-
* Lists visible leaf columns in the
|
|
153
|
+
* Lists visible leaf columns in the logical start pinned region.
|
|
143
154
|
*/
|
|
144
|
-
|
|
155
|
+
getStartVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>
|
|
145
156
|
/**
|
|
146
|
-
* Builds flat
|
|
157
|
+
* Builds flat logical end-region headers for pinned columns, including parent
|
|
147
158
|
* headers.
|
|
148
159
|
*/
|
|
149
|
-
|
|
160
|
+
getEndFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>
|
|
150
161
|
/**
|
|
151
|
-
* Builds footer groups for
|
|
162
|
+
* Builds footer groups for logical end-pinned columns.
|
|
152
163
|
*/
|
|
153
|
-
|
|
164
|
+
getEndFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>
|
|
154
165
|
/**
|
|
155
|
-
* Builds header groups for
|
|
166
|
+
* Builds header groups for logical end-pinned columns.
|
|
156
167
|
*/
|
|
157
|
-
|
|
168
|
+
getEndHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>
|
|
158
169
|
/**
|
|
159
|
-
* Gets leaf columns pinned to the
|
|
170
|
+
* Gets leaf columns pinned to the logical end region in pinning-state order.
|
|
160
171
|
*/
|
|
161
|
-
|
|
172
|
+
getEndLeafColumns: () => Array<Column<TFeatures, TData, unknown>>
|
|
162
173
|
/**
|
|
163
|
-
* Builds leaf headers for
|
|
174
|
+
* Builds leaf headers for logical end-pinned columns.
|
|
164
175
|
*/
|
|
165
|
-
|
|
176
|
+
getEndLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>
|
|
166
177
|
/**
|
|
167
|
-
* Lists visible leaf columns in the
|
|
178
|
+
* Lists visible leaf columns in the logical end pinned region.
|
|
168
179
|
*/
|
|
169
|
-
|
|
180
|
+
getEndVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>
|
|
170
181
|
/**
|
|
171
182
|
* Resets `columnPinning` to `initialState.columnPinning`.
|
|
172
183
|
*
|
|
173
|
-
* Pass `true` to ignore initial state and reset to empty
|
|
184
|
+
* Pass `true` to ignore initial state and reset to empty start/end arrays.
|
|
174
185
|
*/
|
|
175
186
|
resetColumnPinning: (defaultState?: boolean) => void
|
|
176
187
|
/**
|