handsontable 18.0.0 → 18.1.0-rc7
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/3rdparty/walkontable/src/axisSizing/axisSizeSource.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/axisSizeSource.d.ts +55 -0
- package/3rdparty/walkontable/src/axisSizing/axisSizeSource.js +15 -0
- package/3rdparty/walkontable/src/axisSizing/axisSizeSource.mjs +14 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.d.ts +32 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.js +45 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.mjs +33 -0
- package/3rdparty/walkontable/src/axisSizing/columnUtils.d.mts +2 -0
- package/3rdparty/walkontable/src/{utils/column.d.ts → axisSizing/columnUtils.d.ts} +12 -10
- package/3rdparty/walkontable/src/axisSizing/columnUtils.js +147 -0
- package/3rdparty/walkontable/src/axisSizing/columnUtils.mjs +142 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.d.ts +58 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.js +129 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.mjs +119 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.d.ts +162 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.js +424 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.mjs +522 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/index.d.ts +130 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/index.js +256 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/index.mjs +262 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.d.ts +51 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.js +121 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.mjs +117 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.d.ts +53 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.js +206 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.mjs +203 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.d.ts +53 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.js +40 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.mjs +41 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.d.ts +47 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.js +121 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.mjs +115 -0
- package/3rdparty/walkontable/src/axisSizing/rowUtils.d.mts +2 -0
- package/3rdparty/walkontable/src/{utils/row.d.ts → axisSizing/rowUtils.d.ts} +11 -9
- package/3rdparty/walkontable/src/axisSizing/rowUtils.js +111 -0
- package/3rdparty/walkontable/src/axisSizing/rowUtils.mjs +106 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.d.mts +2 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.d.ts +84 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.js +102 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.mjs +92 -0
- package/3rdparty/walkontable/src/calculator/axisCalculation.d.ts +1 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.d.ts +10 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.js +10 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +10 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.d.ts +9 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +9 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +9 -1
- package/3rdparty/walkontable/src/calculator/viewportColumns.d.ts +1 -1
- package/3rdparty/walkontable/src/calculator/viewportRows.d.ts +1 -1
- package/3rdparty/walkontable/src/cell/range.d.ts +10 -0
- package/3rdparty/walkontable/src/cell/range.js +14 -3
- package/3rdparty/walkontable/src/cell/range.mjs +11 -0
- package/3rdparty/walkontable/src/core/_base.d.ts +21 -21
- package/3rdparty/walkontable/src/core/_base.js +58 -147
- package/3rdparty/walkontable/src/core/_base.mjs +17 -147
- package/3rdparty/walkontable/src/core/clone.d.ts +4 -14
- package/3rdparty/walkontable/src/core/clone.js +51 -5
- package/3rdparty/walkontable/src/core/clone.mjs +10 -5
- package/3rdparty/walkontable/src/core/core.d.ts +1 -5
- package/3rdparty/walkontable/src/core/core.js +52 -47
- package/3rdparty/walkontable/src/core/core.mjs +12 -48
- package/3rdparty/walkontable/src/domMeasure/geometryReader.d.mts +1 -0
- package/3rdparty/walkontable/src/domMeasure/geometryReader.d.ts +172 -0
- package/3rdparty/walkontable/src/domMeasure/geometryReader.js +19 -0
- package/3rdparty/walkontable/src/domMeasure/geometryReader.mjs +16 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.d.mts +1 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.d.ts +134 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.js +200 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.mjs +198 -0
- package/3rdparty/walkontable/src/event.d.ts +25 -12
- package/3rdparty/walkontable/src/event.js +91 -224
- package/3rdparty/walkontable/src/event.mjs +90 -224
- package/3rdparty/walkontable/src/facade/core.d.ts +6 -6
- package/3rdparty/walkontable/src/index.d.ts +1 -1
- package/3rdparty/walkontable/src/index.js +2 -2
- package/3rdparty/walkontable/src/index.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/index.d.ts +6 -6
- package/3rdparty/walkontable/src/overlay/index.js +11 -11
- package/3rdparty/walkontable/src/overlay/index.mjs +6 -6
- package/3rdparty/walkontable/src/overlay/overlays.d.ts +375 -0
- package/3rdparty/walkontable/src/overlay/overlays.js +612 -0
- package/3rdparty/walkontable/src/overlay/overlays.mjs +601 -0
- package/3rdparty/walkontable/src/overlay/{_base.d.ts → regions/_base.d.ts} +65 -16
- package/3rdparty/walkontable/src/overlay/{_base.js → regions/_base.js} +160 -50
- package/3rdparty/walkontable/src/overlay/{_base.mjs → regions/_base.mjs} +163 -47
- package/3rdparty/walkontable/src/overlay/regions/bottomInlineStartCornerOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.d.ts → regions/bottomInlineStartCornerOverlay.d.ts} +5 -10
- package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.js → regions/bottomInlineStartCornerOverlay.js} +18 -20
- package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.mjs → regions/bottomInlineStartCornerOverlay.mjs} +18 -20
- package/3rdparty/walkontable/src/overlay/regions/bottomOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{bottom.d.ts → regions/bottomOverlay.d.ts} +16 -11
- package/3rdparty/walkontable/src/overlay/{bottom.js → regions/bottomOverlay.js} +113 -66
- package/3rdparty/walkontable/src/overlay/{bottom.mjs → regions/bottomOverlay.mjs} +113 -66
- package/3rdparty/walkontable/src/overlay/regions/inlineStartOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{inlineStart.d.ts → regions/inlineStartOverlay.d.ts} +17 -11
- package/3rdparty/walkontable/src/overlay/{inlineStart.js → regions/inlineStartOverlay.js} +122 -67
- package/3rdparty/walkontable/src/overlay/{inlineStart.mjs → regions/inlineStartOverlay.mjs} +122 -67
- package/3rdparty/walkontable/src/overlay/regions/topInlineStartCornerOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.d.ts → regions/topInlineStartCornerOverlay.d.ts} +5 -10
- package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.js → regions/topInlineStartCornerOverlay.js} +13 -16
- package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.mjs → regions/topInlineStartCornerOverlay.mjs} +13 -16
- package/3rdparty/walkontable/src/overlay/regions/topOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{top.d.ts → regions/topOverlay.d.ts} +32 -11
- package/3rdparty/walkontable/src/overlay/{top.js → regions/topOverlay.js} +163 -77
- package/3rdparty/walkontable/src/overlay/{top.mjs → regions/topOverlay.mjs} +163 -77
- package/3rdparty/walkontable/src/overlay/resizeMonitor.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/resizeMonitor.d.ts +49 -0
- package/3rdparty/walkontable/src/overlay/resizeMonitor.js +154 -0
- package/3rdparty/walkontable/src/overlay/resizeMonitor.mjs +153 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.d.ts +62 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.js +290 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.mjs +295 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.d.ts +176 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.js +549 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.mjs +557 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.d.ts +67 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.js +178 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.mjs +179 -0
- package/3rdparty/walkontable/src/{stickyScrollStrategy.d.ts → overlay/strategies/stickyScrollStrategy.d.ts} +33 -21
- package/3rdparty/walkontable/src/{stickyScrollStrategy.js → overlay/strategies/stickyScrollStrategy.js} +60 -41
- package/3rdparty/walkontable/src/{stickyScrollStrategy.mjs → overlay/strategies/stickyScrollStrategy.mjs} +58 -38
- package/3rdparty/walkontable/src/ports.d.mts +1 -0
- package/3rdparty/walkontable/src/ports.d.ts +54 -0
- package/3rdparty/walkontable/src/ports.js +23 -0
- package/3rdparty/walkontable/src/ports.mjs +24 -0
- package/3rdparty/walkontable/src/{renderer → render}/_base.d.ts +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/cells.js +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/cells.mjs +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.d.ts +1 -0
- package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.js +43 -1
- package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.mjs +44 -2
- package/3rdparty/walkontable/src/render/index.d.mts +1 -0
- package/3rdparty/walkontable/src/{renderer → render}/index.d.ts +11 -3
- package/3rdparty/walkontable/src/{renderer → render}/index.js +13 -3
- package/3rdparty/walkontable/src/{renderer → render}/index.mjs +11 -1
- package/3rdparty/walkontable/src/{renderer → render}/rows.js +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/rows.mjs +1 -1
- package/3rdparty/walkontable/src/render/tableRenderer.d.mts +1 -0
- package/3rdparty/walkontable/src/{renderer/table.d.ts → render/tableRenderer.d.ts} +12 -2
- package/3rdparty/walkontable/src/render/tableRenderer.js +382 -0
- package/3rdparty/walkontable/src/{renderer/table.mjs → render/tableRenderer.mjs} +159 -6
- package/3rdparty/walkontable/src/{scroll.d.ts → scroll/scroll.d.ts} +27 -10
- package/3rdparty/walkontable/src/{scroll.js → scroll/scroll.js} +108 -32
- package/3rdparty/walkontable/src/{scroll.mjs → scroll/scroll.mjs} +106 -29
- package/3rdparty/walkontable/src/selection/border/border.d.ts +313 -5
- package/3rdparty/walkontable/src/selection/border/border.js +861 -51
- package/3rdparty/walkontable/src/selection/border/border.mjs +863 -53
- package/3rdparty/walkontable/src/selection/border/types.d.ts +30 -0
- package/3rdparty/walkontable/src/selection/manager.js +237 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +238 -1
- package/3rdparty/walkontable/src/settings/accessor.d.mts +2 -0
- package/3rdparty/walkontable/src/settings/accessor.d.ts +74 -0
- package/3rdparty/walkontable/src/settings/accessor.js +78 -0
- package/3rdparty/walkontable/src/settings/accessor.mjs +71 -0
- package/3rdparty/walkontable/src/settings/defaults.d.mts +1 -0
- package/3rdparty/walkontable/src/{settings.d.ts → settings/defaults.d.ts} +16 -77
- package/3rdparty/walkontable/src/settings/defaults.js +146 -0
- package/3rdparty/walkontable/src/settings/defaults.mjs +225 -0
- package/3rdparty/walkontable/src/settings/index.d.mts +1 -0
- package/3rdparty/walkontable/src/settings/index.d.ts +6 -0
- package/3rdparty/walkontable/src/settings/index.js +20 -0
- package/3rdparty/walkontable/src/settings/index.mjs +5 -0
- package/3rdparty/walkontable/src/table/baseTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/baseTable.d.ts +284 -0
- package/3rdparty/walkontable/src/table/baseTable.js +295 -0
- package/3rdparty/walkontable/src/table/baseTable.mjs +283 -0
- package/3rdparty/walkontable/src/table/cellAccess.d.mts +1 -0
- package/3rdparty/walkontable/src/table/cellAccess.d.ts +101 -0
- package/3rdparty/walkontable/src/table/cellAccess.js +238 -0
- package/3rdparty/walkontable/src/table/cellAccess.mjs +229 -0
- package/3rdparty/walkontable/src/table/domScaffold.d.mts +1 -0
- package/3rdparty/walkontable/src/table/domScaffold.d.ts +37 -0
- package/3rdparty/walkontable/src/table/domScaffold.js +145 -0
- package/3rdparty/walkontable/src/table/domScaffold.mjs +136 -0
- package/3rdparty/walkontable/src/table/drawCycle.d.mts +1 -0
- package/3rdparty/walkontable/src/table/drawCycle.d.ts +16 -0
- package/3rdparty/walkontable/src/table/drawCycle.js +405 -0
- package/3rdparty/walkontable/src/table/drawCycle.mjs +403 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.d.mts +1 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.d.ts +38 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.js +15 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.mjs +14 -0
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.d.ts +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.js +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.mjs +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.d.ts +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.d.ts +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.js +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.mjs +1 -1
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.d.mts +2 -0
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.d.ts +226 -0
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.js +251 -0
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.mjs +241 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.d.mts +1 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.d.ts +14 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.js +196 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.mjs +179 -0
- package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.d.ts +16 -0
- package/3rdparty/walkontable/src/table/{bottomInlineStartCorner.js → regions/bottomInlineStartCornerTable.js} +9 -12
- package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.mjs +21 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.d.ts +15 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.js +35 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.mjs +20 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.d.ts +12 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.js +32 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.mjs +17 -0
- package/3rdparty/walkontable/src/table/regions/masterTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/{master.d.ts → regions/masterTable.d.ts} +4 -13
- package/3rdparty/walkontable/src/table/{master.js → regions/masterTable.js} +23 -48
- package/3rdparty/walkontable/src/table/{master.mjs → regions/masterTable.mjs} +22 -47
- package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.d.ts +16 -0
- package/3rdparty/walkontable/src/table/{topInlineStartCorner.js → regions/topInlineStartCornerTable.js} +9 -12
- package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.mjs +21 -0
- package/3rdparty/walkontable/src/table/regions/topTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/topTable.d.ts +15 -0
- package/3rdparty/walkontable/src/table/regions/topTable.js +35 -0
- package/3rdparty/walkontable/src/table/regions/topTable.mjs +20 -0
- package/3rdparty/walkontable/src/types.d.ts +7 -69
- package/3rdparty/walkontable/src/types.mjs +2 -1
- package/3rdparty/walkontable/src/utils/pointerToCoords.d.mts +1 -0
- package/3rdparty/walkontable/src/utils/{cellCoords.d.ts → pointerToCoords.d.ts} +24 -0
- package/3rdparty/walkontable/src/utils/pointerToCoords.js +181 -0
- package/3rdparty/walkontable/src/utils/pointerToCoords.mjs +186 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.d.ts +40 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.js +139 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.mjs +131 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.d.ts +133 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.js +18 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.mjs +18 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.d.ts +17 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.js +104 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.mjs +99 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.d.ts +84 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.js +588 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.mjs +601 -0
- package/3rdparty/walkontable/src/viewport/viewport.d.ts +267 -0
- package/3rdparty/walkontable/src/viewport/viewport.js +368 -0
- package/3rdparty/walkontable/src/viewport/viewport.mjs +360 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.d.ts +59 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.js +284 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.mjs +282 -0
- package/3rdparty/walkontable/src/wire.d.mts +1 -0
- package/3rdparty/walkontable/src/wire.d.ts +81 -0
- package/3rdparty/walkontable/src/wire.js +56 -0
- package/3rdparty/walkontable/src/wire.mjs +56 -0
- package/CHANGELOG.md +114 -1
- package/LICENSE.txt +1 -1
- package/README.md +2 -2
- package/base.d.ts +13 -4
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/cellTypes/checkboxType/accessors/valueSetter.d.ts +1 -1
- package/cellTypes/checkboxType/accessors/valueSetter.js +3 -1
- package/cellTypes/checkboxType/accessors/valueSetter.mjs +3 -1
- package/cellTypes/index.d.ts +3 -2
- package/cellTypes/index.js +9 -0
- package/cellTypes/index.mjs +5 -2
- package/cellTypes/intlDatetimeType/index.d.mts +1 -0
- package/cellTypes/intlDatetimeType/index.d.ts +1 -0
- package/cellTypes/intlDatetimeType/index.js +19 -0
- package/cellTypes/intlDatetimeType/index.mjs +1 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.d.mts +1 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.d.ts +16 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.js +31 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.mjs +15 -0
- package/cellTypes/multiSelectType/index.d.ts +1 -1
- package/cellTypes/multiSelectType/index.js +3 -0
- package/cellTypes/multiSelectType/index.mjs +1 -1
- package/cellTypes/multiSelectType/multiSelectType.d.ts +1 -0
- package/cellTypes/multiSelectType/multiSelectType.js +4 -0
- package/cellTypes/multiSelectType/multiSelectType.mjs +1 -0
- package/cellTypes/numericType/accessors/valueSetter.js +30 -2
- package/cellTypes/numericType/accessors/valueSetter.mjs +31 -3
- package/core/hooks/bucket.d.ts +40 -6
- package/core/hooks/bucket.js +108 -72
- package/core/hooks/bucket.mjs +113 -72
- package/core/hooks/constants.js +254 -16
- package/core/hooks/constants.mjs +254 -16
- package/core/hooks/index.js +27 -22
- package/core/hooks/index.mjs +27 -22
- package/core/layout/constants.d.ts +11 -0
- package/core/layout/constants.js +6 -0
- package/core/layout/constants.mjs +12 -0
- package/core/layout/domSlot.d.ts +3 -1
- package/core/layout/domSlot.js +16 -2
- package/core/layout/domSlot.mjs +16 -2
- package/core/layout/index.d.ts +2 -2
- package/core/layout/index.js +6 -0
- package/core/layout/index.mjs +2 -2
- package/core/layout/layoutManager.d.ts +13 -0
- package/core/layout/layoutManager.js +21 -4
- package/core/layout/layoutManager.mjs +22 -2
- package/core/settings.d.ts +102 -6
- package/core/types.d.ts +15 -1
- package/core/types.mjs +9 -0
- package/core.js +534 -88
- package/core.mjs +537 -91
- package/dataMap/dataMap.d.ts +3 -13
- package/dataMap/dataMap.js +100 -41
- package/dataMap/dataMap.mjs +101 -42
- package/dataMap/dataSource.js +4 -1
- package/dataMap/dataSource.mjs +4 -1
- package/dataMap/metaManager/index.d.ts +62 -8
- package/dataMap/metaManager/index.js +66 -0
- package/dataMap/metaManager/index.mjs +66 -0
- package/dataMap/metaManager/lazyFactoryMap.d.ts +68 -43
- package/dataMap/metaManager/lazyFactoryMap.js +497 -110
- package/dataMap/metaManager/lazyFactoryMap.mjs +511 -111
- package/dataMap/metaManager/metaLayers/cellMeta.d.ts +55 -8
- package/dataMap/metaManager/metaLayers/cellMeta.js +108 -8
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +108 -8
- package/dataMap/metaManager/metaLayers/columnMeta.d.ts +2 -1
- package/dataMap/metaManager/metaLayers/columnMeta.js +1 -0
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -0
- package/dataMap/metaManager/metaSchema.js +759 -39
- package/dataMap/metaManager/metaSchema.mjs +759 -39
- package/dataMap/metaManager/mods/dynamicCellMeta.d.ts +24 -10
- package/dataMap/metaManager/mods/dynamicCellMeta.js +252 -28
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +253 -29
- package/dataMap/sourceDataValidator.d.ts +13 -21
- package/dataMap/sourceDataValidator.js +39 -29
- package/dataMap/sourceDataValidator.mjs +50 -33
- package/dist/handsontable.full.js +30027 -11261
- package/dist/handsontable.full.min.js +168 -112
- package/dist/handsontable.js +32468 -13762
- package/dist/handsontable.min.js +172 -116
- package/dist/languages/all.js +2 -1
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/fa-IR.js +2 -1
- package/dist/languages/fa-IR.min.js +1 -1
- package/dist/themes/classic.js +9 -3
- package/dist/themes/classic.min.js +4 -4
- package/dist/themes/horizon.js +9 -3
- package/dist/themes/horizon.min.js +4 -4
- package/dist/themes/main.js +9 -3
- package/dist/themes/main.min.js +4 -4
- package/dist/themes/static/variables/colors/ant.js +3 -3
- package/dist/themes/static/variables/colors/ant.min.js +3 -3
- package/dist/themes/static/variables/colors/classic.js +3 -3
- package/dist/themes/static/variables/colors/classic.min.js +3 -3
- package/dist/themes/static/variables/colors/horizon.js +3 -3
- package/dist/themes/static/variables/colors/horizon.min.js +3 -3
- package/dist/themes/static/variables/colors/main.js +3 -3
- package/dist/themes/static/variables/colors/main.min.js +3 -3
- package/dist/themes/static/variables/colors/material.js +3 -3
- package/dist/themes/static/variables/colors/material.min.js +3 -3
- package/dist/themes/static/variables/colors/shadcn.js +3 -3
- package/dist/themes/static/variables/colors/shadcn.min.js +3 -3
- package/dist/themes/static/variables/density.js +3 -3
- package/dist/themes/static/variables/density.min.js +3 -3
- package/dist/themes/static/variables/helpers/iconsMap.js +4 -9
- package/dist/themes/static/variables/helpers/iconsMap.min.js +4 -9
- package/dist/themes/static/variables/icons/horizon.js +3 -3
- package/dist/themes/static/variables/icons/horizon.min.js +3 -3
- package/dist/themes/static/variables/icons/main.js +3 -3
- package/dist/themes/static/variables/icons/main.min.js +3 -3
- package/dist/themes/static/variables/sizing.js +3 -3
- package/dist/themes/static/variables/sizing.min.js +3 -3
- package/dist/themes/static/variables/tokens/classic.js +9 -3
- package/dist/themes/static/variables/tokens/classic.min.js +4 -4
- package/dist/themes/static/variables/tokens/horizon.js +9 -3
- package/dist/themes/static/variables/tokens/horizon.min.js +4 -4
- package/dist/themes/static/variables/tokens/main.js +9 -3
- package/dist/themes/static/variables/tokens/main.min.js +4 -4
- package/editorManager.js +152 -3
- package/editorManager.mjs +152 -3
- package/editors/autocompleteEditor/autocompleteEditor.js +58 -11
- package/editors/autocompleteEditor/autocompleteEditor.mjs +59 -12
- package/editors/baseEditor/baseEditor.d.ts +15 -3
- package/editors/baseEditor/baseEditor.js +5 -3
- package/editors/baseEditor/baseEditor.mjs +15 -3
- package/editors/factory.js +5 -2
- package/editors/factory.mjs +5 -2
- package/editors/index.d.ts +3 -2
- package/editors/index.js +8 -0
- package/editors/index.mjs +3 -1
- package/editors/intlDatetimeEditor/index.d.mts +1 -0
- package/editors/intlDatetimeEditor/index.d.ts +1 -0
- package/editors/intlDatetimeEditor/index.js +19 -0
- package/editors/intlDatetimeEditor/index.mjs +1 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.d.mts +1 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.d.ts +42 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.js +108 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.mjs +93 -0
- package/editors/multiSelectEditor/multiSelectEditor.js +11 -9
- package/editors/multiSelectEditor/multiSelectEditor.mjs +12 -10
- package/editors/selectEditor/selectEditor.js +2 -1
- package/editors/selectEditor/selectEditor.mjs +2 -1
- package/editors/textEditor/textEditor.js +1 -1
- package/editors/textEditor/textEditor.mjs +2 -2
- package/eventManager.d.ts +3 -3
- package/focusManager/grid.d.ts +28 -0
- package/focusManager/grid.js +85 -2
- package/focusManager/grid.mjs +81 -3
- package/focusManager/scopeManager.js +1 -1
- package/focusManager/scopeManager.mjs +2 -2
- package/handsontable-non-commercial-license.pdf +0 -0
- package/helpers/array.d.ts +25 -0
- package/helpers/array.js +41 -4
- package/helpers/array.mjs +56 -4
- package/helpers/console.d.ts +25 -3
- package/helpers/console.js +40 -7
- package/helpers/console.mjs +52 -7
- package/helpers/dateTime.d.ts +14 -0
- package/helpers/dateTime.js +74 -2
- package/helpers/dateTime.mjs +73 -2
- package/helpers/dom/cellCoords.js +156 -13
- package/helpers/dom/cellCoords.mjs +156 -13
- package/helpers/dom/element.d.ts +47 -8
- package/helpers/dom/element.js +104 -18
- package/helpers/dom/element.mjs +132 -23
- package/helpers/dom/event.d.ts +58 -0
- package/helpers/dom/event.js +39 -0
- package/helpers/dom/event.mjs +63 -0
- package/helpers/errors.d.ts +5 -0
- package/helpers/errors.js +10 -6
- package/helpers/errors.mjs +10 -6
- package/helpers/feature.d.ts +19 -0
- package/helpers/feature.js +21 -0
- package/helpers/feature.mjs +30 -0
- package/helpers/function.d.ts +1 -1
- package/helpers/function.js +4 -1
- package/helpers/function.mjs +4 -1
- package/helpers/mixed.d.ts +103 -0
- package/helpers/mixed.js +373 -4
- package/helpers/mixed.mjs +413 -4
- package/helpers/moves.js +2 -1
- package/helpers/moves.mjs +2 -1
- package/helpers/number.d.ts +22 -0
- package/helpers/number.js +49 -0
- package/helpers/number.mjs +66 -0
- package/helpers/string.d.ts +14 -10
- package/helpers/string.js +17 -9
- package/helpers/string.mjs +27 -17
- package/helpers/templateString.d.mts +1 -0
- package/helpers/templateString.d.ts +13 -0
- package/helpers/templateString.js +29 -0
- package/helpers/templateString.mjs +19 -0
- package/helpers/uiButton.d.mts +1 -0
- package/helpers/uiButton.d.ts +21 -0
- package/helpers/uiButton.js +37 -0
- package/helpers/uiButton.mjs +31 -0
- package/i18n/languages/fa-IR.d.ts +1 -0
- package/i18n/languages/fa-IR.js +1 -0
- package/i18n/languages/fa-IR.mjs +1 -0
- package/index.d.ts +3 -3
- package/languages/all.js +2 -1
- package/languages/fa-IR.js +2 -1
- package/languages/fa-IR.mjs +1 -0
- package/languages/index.js +2 -1
- package/package.json +61 -1
- package/plugins/autoColumnSize/autoColumnSize.d.ts +24 -1
- package/plugins/autoColumnSize/autoColumnSize.js +501 -82
- package/plugins/autoColumnSize/autoColumnSize.mjs +508 -83
- package/plugins/autoRowSize/autoRowSize.d.ts +40 -5
- package/plugins/autoRowSize/autoRowSize.js +68 -24
- package/plugins/autoRowSize/autoRowSize.mjs +98 -29
- package/plugins/autofill/autofill.js +30 -12
- package/plugins/autofill/autofill.mjs +30 -12
- package/plugins/base/base.d.ts +10 -0
- package/plugins/collapsibleColumns/collapsibleColumns.d.ts +4 -0
- package/plugins/collapsibleColumns/collapsibleColumns.js +89 -8
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +93 -8
- package/plugins/columnSorting/columnSorting.d.ts +31 -2
- package/plugins/columnSorting/columnSorting.js +151 -24
- package/plugins/columnSorting/columnSorting.mjs +153 -26
- package/plugins/columnSorting/columnStatesManager.d.ts +1 -1
- package/plugins/columnSorting/columnStatesManager.js +1 -7
- package/plugins/columnSorting/columnStatesManager.mjs +1 -7
- package/plugins/columnSorting/domHelpers.d.ts +3 -0
- package/plugins/columnSorting/domHelpers.js +9 -0
- package/plugins/columnSorting/domHelpers.mjs +3 -3
- package/plugins/columnSorting/rootComparator.js +21 -16
- package/plugins/columnSorting/rootComparator.mjs +21 -16
- package/plugins/columnSorting/sortFunction/checkbox.js +7 -5
- package/plugins/columnSorting/sortFunction/checkbox.mjs +7 -5
- package/plugins/columnSorting/sortFunction/default.js +15 -4
- package/plugins/columnSorting/sortFunction/default.mjs +15 -4
- package/plugins/columnSorting/sortFunction/intlDatetime.d.mts +1 -0
- package/plugins/columnSorting/sortFunction/intlDatetime.d.ts +10 -0
- package/plugins/columnSorting/sortFunction/intlDatetime.js +23 -0
- package/plugins/columnSorting/sortFunction/intlDatetime.mjs +12 -0
- package/plugins/columnSorting/sortService/registry.js +2 -0
- package/plugins/columnSorting/sortService/registry.mjs +2 -0
- package/plugins/columnSorting/utils.d.ts +8 -0
- package/plugins/columnSorting/utils.js +37 -45
- package/plugins/columnSorting/utils.mjs +42 -47
- package/plugins/columnSummary/columnSummary.js +9 -5
- package/plugins/columnSummary/columnSummary.mjs +9 -5
- package/plugins/columnSummary/endpoints.d.ts +69 -2
- package/plugins/columnSummary/endpoints.js +181 -29
- package/plugins/columnSummary/endpoints.mjs +181 -29
- package/plugins/comments/commentEditor.js +1 -1
- package/plugins/comments/commentEditor.mjs +2 -2
- package/plugins/contextMenu/contextMenu.d.ts +12 -1
- package/plugins/contextMenu/contextMenu.js +30 -6
- package/plugins/contextMenu/contextMenu.mjs +30 -6
- package/plugins/contextMenu/index.d.ts +1 -1
- package/plugins/contextMenu/menu/menu.d.ts +22 -1
- package/plugins/contextMenu/menu/menu.js +211 -3
- package/plugins/contextMenu/menu/menu.mjs +212 -4
- package/plugins/contextMenu/menu/menuItemRenderer.js +2 -2
- package/plugins/contextMenu/menu/menuItemRenderer.mjs +2 -2
- package/plugins/contextMenu/predefinedItems/alignment.js +14 -14
- package/plugins/contextMenu/predefinedItems/alignment.mjs +14 -14
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +3 -3
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +3 -3
- package/plugins/contextMenu/utils.js +1 -1
- package/plugins/contextMenu/utils.mjs +1 -1
- package/plugins/copyPaste/copyPaste.js +70 -16
- package/plugins/copyPaste/copyPaste.mjs +71 -17
- package/plugins/copyPaste/copyableRanges.js +6 -2
- package/plugins/copyPaste/copyableRanges.mjs +6 -2
- package/plugins/copyPaste/pasteEvent.d.ts +1 -1
- package/plugins/customBorders/customBorders.d.ts +21 -40
- package/plugins/customBorders/customBorders.js +1080 -201
- package/plugins/customBorders/customBorders.mjs +1082 -203
- package/plugins/customBorders/utils.d.ts +71 -0
- package/plugins/customBorders/utils.js +63 -0
- package/plugins/customBorders/utils.mjs +101 -0
- package/plugins/dataProvider/dataProvider.d.ts +2 -1
- package/plugins/dataProvider/dataProvider.js +22 -7
- package/plugins/dataProvider/dataProvider.mjs +22 -7
- package/plugins/dataProvider/query/crud.js +1 -1
- package/plugins/dataProvider/query/crud.mjs +1 -1
- package/plugins/dialog/dialog.js +14 -9
- package/plugins/dialog/dialog.mjs +14 -9
- package/plugins/dialog/templates/confirm.d.ts +1 -1
- package/plugins/dialog/templates/confirm.js +2 -1
- package/plugins/dialog/templates/confirm.mjs +2 -1
- package/plugins/dialog/ui.d.ts +5 -3
- package/plugins/dialog/ui.js +12 -4
- package/plugins/dialog/ui.mjs +12 -4
- package/plugins/dragToScroll/dragToScroll.d.ts +2 -2
- package/plugins/dragToScroll/dragToScroll.js +150 -14
- package/plugins/dragToScroll/dragToScroll.mjs +151 -15
- package/plugins/dropdownMenu/dropdownMenu.d.ts +5 -1
- package/plugins/dropdownMenu/dropdownMenu.js +45 -3
- package/plugins/dropdownMenu/dropdownMenu.mjs +46 -4
- package/plugins/dropdownMenu/index.d.ts +1 -0
- package/plugins/emptyDataState/emptyDataState.js +4 -6
- package/plugins/emptyDataState/emptyDataState.mjs +4 -6
- package/plugins/emptyDataState/ui.js +2 -1
- package/plugins/emptyDataState/ui.mjs +2 -1
- package/plugins/exportFile/dataProvider.js +7 -9
- package/plugins/exportFile/dataProvider.mjs +7 -9
- package/plugins/exportFile/exportFile.d.ts +10 -3
- package/plugins/exportFile/types/_base.js +4 -10
- package/plugins/exportFile/types/_base.mjs +4 -10
- package/plugins/exportFile/types/xlsx/cell-style.js +4 -2
- package/plugins/exportFile/types/xlsx/cell-style.mjs +4 -2
- package/plugins/exportFile/types/xlsx/date-utils.d.ts +15 -0
- package/plugins/exportFile/types/xlsx/date-utils.js +31 -0
- package/plugins/exportFile/types/xlsx/date-utils.mjs +36 -0
- package/plugins/exportFile/types/xlsx.js +13 -9
- package/plugins/exportFile/types/xlsx.mjs +14 -10
- package/plugins/exportFile/utils.d.ts +9 -1
- package/plugins/exportFile/utils.js +27 -4
- package/plugins/exportFile/utils.mjs +40 -2
- package/plugins/filters/component/_base.d.ts +1 -2
- package/plugins/filters/component/_base.js +1 -2
- package/plugins/filters/component/_base.mjs +1 -2
- package/plugins/filters/component/condition.d.ts +1 -0
- package/plugins/filters/component/condition.js +2 -0
- package/plugins/filters/component/condition.mjs +2 -0
- package/plugins/filters/component/value.d.ts +5 -6
- package/plugins/filters/component/value.js +53 -34
- package/plugins/filters/component/value.mjs +54 -35
- package/plugins/filters/condition/date/after.js +2 -1
- package/plugins/filters/condition/date/after.mjs +2 -1
- package/plugins/filters/condition/date/afterOrEqual.js +2 -1
- package/plugins/filters/condition/date/afterOrEqual.mjs +2 -1
- package/plugins/filters/condition/date/before.js +2 -1
- package/plugins/filters/condition/date/before.mjs +2 -1
- package/plugins/filters/condition/date/beforeOrEqual.js +2 -1
- package/plugins/filters/condition/date/beforeOrEqual.mjs +2 -1
- package/plugins/filters/condition/equal.d.ts +7 -0
- package/plugins/filters/condition/equal.js +4 -0
- package/plugins/filters/condition/equal.mjs +10 -0
- package/plugins/filters/condition/intlDatetime/after.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/after.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/after.js +77 -0
- package/plugins/filters/condition/intlDatetime/after.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.js +77 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/before.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/before.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/before.js +77 -0
- package/plugins/filters/condition/intlDatetime/before.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.js +77 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/between.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/between.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/between.js +78 -0
- package/plugins/filters/condition/intlDatetime/between.mjs +23 -0
- package/plugins/filters/condition/intlDatetime/today.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/today.d.ts +17 -0
- package/plugins/filters/condition/intlDatetime/today.js +76 -0
- package/plugins/filters/condition/intlDatetime/today.mjs +20 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.d.ts +17 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.js +77 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.mjs +21 -0
- package/plugins/filters/condition/intlDatetime/yesterday.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/yesterday.d.ts +17 -0
- package/plugins/filters/condition/intlDatetime/yesterday.js +77 -0
- package/plugins/filters/condition/intlDatetime/yesterday.mjs +21 -0
- package/plugins/filters/conditionCollection.js +4 -7
- package/plugins/filters/conditionCollection.mjs +4 -7
- package/plugins/filters/conditionUpdateObserver.d.ts +2 -2
- package/plugins/filters/conditionUpdateObserver.js +148 -49
- package/plugins/filters/conditionUpdateObserver.mjs +148 -49
- package/plugins/filters/constants.d.ts +1 -0
- package/plugins/filters/constants.js +31 -0
- package/plugins/filters/constants.mjs +28 -0
- package/plugins/filters/dataFilter.d.ts +4 -12
- package/plugins/filters/dataFilter.js +7 -19
- package/plugins/filters/dataFilter.mjs +8 -20
- package/plugins/filters/filters.d.ts +33 -9
- package/plugins/filters/filters.js +91 -31
- package/plugins/filters/filters.mjs +92 -32
- package/plugins/filters/sortComparators.d.ts +9 -2
- package/plugins/filters/sortComparators.js +34 -1
- package/plugins/filters/sortComparators.mjs +38 -3
- package/plugins/filters/ui/input.d.ts +4 -0
- package/plugins/filters/ui/input.js +18 -6
- package/plugins/filters/ui/input.mjs +18 -6
- package/plugins/filters/ui/multipleSelect.js +27 -4
- package/plugins/filters/ui/multipleSelect.mjs +27 -4
- package/plugins/filters/ui/select.js +1 -1
- package/plugins/filters/ui/select.mjs +1 -1
- package/plugins/formulas/engine/register.d.ts +5 -4
- package/plugins/formulas/engine/register.js +5 -2
- package/plugins/formulas/engine/register.mjs +9 -5
- package/plugins/formulas/engine/settings.d.ts +2 -6
- package/plugins/formulas/engine/settings.js +29 -4
- package/plugins/formulas/engine/settings.mjs +29 -4
- package/plugins/formulas/engine/types.d.ts +12 -2
- package/plugins/formulas/formulas.d.ts +39 -0
- package/plugins/formulas/formulas.js +789 -47
- package/plugins/formulas/formulas.mjs +793 -49
- package/plugins/formulas/hyperlinkUrl.d.mts +1 -0
- package/plugins/formulas/hyperlinkUrl.d.ts +12 -0
- package/plugins/formulas/hyperlinkUrl.js +32 -0
- package/plugins/formulas/hyperlinkUrl.mjs +32 -0
- package/plugins/formulas/indexSyncer/axisSyncer.d.ts +1 -0
- package/plugins/formulas/indexSyncer/axisSyncer.js +72 -15
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +72 -15
- package/plugins/formulas/utils.d.ts +9 -0
- package/plugins/formulas/utils.js +21 -0
- package/plugins/formulas/utils.mjs +25 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +6 -1
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +6 -1
- package/plugins/hiddenColumns/hiddenColumns.js +6 -3
- package/plugins/hiddenColumns/hiddenColumns.mjs +6 -3
- package/plugins/hiddenRows/contextMenuItem/showRow.js +6 -1
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +6 -1
- package/plugins/hiddenRows/hiddenRows.js +6 -3
- package/plugins/hiddenRows/hiddenRows.mjs +6 -3
- package/plugins/index.d.ts +5 -1
- package/plugins/index.js +10 -0
- package/plugins/index.mjs +5 -1
- package/plugins/loading/content.d.ts +5 -3
- package/plugins/loading/content.js +3 -2
- package/plugins/loading/content.mjs +8 -5
- package/plugins/loading/loading.d.ts +5 -2
- package/plugins/loading/loading.mjs +5 -2
- package/plugins/manualColumnMove/manualColumnMove.d.ts +10 -0
- package/plugins/manualColumnMove/manualColumnMove.js +122 -20
- package/plugins/manualColumnMove/manualColumnMove.mjs +123 -21
- package/plugins/manualColumnResize/manualColumnResize.d.ts +20 -7
- package/plugins/manualColumnResize/manualColumnResize.js +33 -13
- package/plugins/manualColumnResize/manualColumnResize.mjs +34 -14
- package/plugins/manualRowResize/manualRowResize.d.ts +21 -8
- package/plugins/manualRowResize/manualRowResize.js +34 -14
- package/plugins/manualRowResize/manualRowResize.mjs +35 -15
- package/plugins/mergeCells/cellCoords.d.ts +8 -0
- package/plugins/mergeCells/cellCoords.js +11 -0
- package/plugins/mergeCells/cellCoords.mjs +11 -0
- package/plugins/mergeCells/cellsCollection.d.ts +46 -2
- package/plugins/mergeCells/cellsCollection.js +189 -68
- package/plugins/mergeCells/cellsCollection.mjs +189 -68
- package/plugins/mergeCells/focusOrder.d.ts +26 -20
- package/plugins/mergeCells/focusOrder.js +358 -177
- package/plugins/mergeCells/focusOrder.mjs +363 -172
- package/plugins/mergeCells/mergeCells.d.ts +13 -8
- package/plugins/mergeCells/mergeCells.js +322 -64
- package/plugins/mergeCells/mergeCells.mjs +322 -64
- package/plugins/moveCells/helpers.d.mts +1 -0
- package/plugins/moveCells/helpers.d.ts +21 -0
- package/plugins/moveCells/helpers.js +20 -0
- package/plugins/moveCells/helpers.mjs +15 -0
- package/plugins/moveCells/index.d.mts +1 -0
- package/plugins/moveCells/index.d.ts +1 -0
- package/plugins/moveCells/index.js +22 -0
- package/plugins/moveCells/index.mjs +1 -0
- package/plugins/moveCells/moveCells.d.mts +1 -0
- package/plugins/moveCells/moveCells.d.ts +80 -0
- package/plugins/moveCells/moveCells.js +602 -0
- package/plugins/moveCells/moveCells.mjs +587 -0
- package/plugins/multiColumnSorting/multiColumnSorting.d.ts +8 -8
- package/plugins/multiColumnSorting/multiColumnSorting.js +11 -16
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +11 -16
- package/plugins/multiColumnSorting/rootComparator.js +26 -19
- package/plugins/multiColumnSorting/rootComparator.mjs +26 -19
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.d.ts +19 -4
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +273 -58
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +273 -58
- package/plugins/nestedHeaders/nestedHeaders.d.ts +10 -1
- package/plugins/nestedHeaders/nestedHeaders.js +222 -23
- package/plugins/nestedHeaders/nestedHeaders.mjs +222 -23
- package/plugins/nestedHeaders/stateManager/columnArrangement.d.mts +1 -0
- package/plugins/nestedHeaders/stateManager/columnArrangement.d.ts +37 -0
- package/plugins/nestedHeaders/stateManager/columnArrangement.js +35 -0
- package/plugins/nestedHeaders/stateManager/columnArrangement.mjs +30 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.d.mts +1 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.d.ts +57 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.js +115 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.mjs +135 -0
- package/plugins/nestedHeaders/stateManager/headersTree.d.ts +14 -1
- package/plugins/nestedHeaders/stateManager/index.d.ts +76 -13
- package/plugins/nestedHeaders/stateManager/index.js +381 -38
- package/plugins/nestedHeaders/stateManager/index.mjs +382 -39
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +3 -2
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +3 -2
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -1
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +5 -1
- package/plugins/nestedHeaders/stateManager/sourceSettings.d.ts +23 -6
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +20 -4
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +20 -4
- package/plugins/nestedHeaders/stateManager/utils.d.ts +17 -1
- package/plugins/nestedHeaders/stateManager/utils.js +6 -1
- package/plugins/nestedHeaders/stateManager/utils.mjs +6 -1
- package/plugins/nestedHeaders/utils/ghostTable.js +21 -8
- package/plugins/nestedHeaders/utils/ghostTable.mjs +21 -8
- package/plugins/nestedRows/data/dataManager.d.ts +4 -1
- package/plugins/nestedRows/data/dataManager.js +10 -4
- package/plugins/nestedRows/data/dataManager.mjs +10 -4
- package/plugins/nestedRows/nestedRows.d.ts +127 -1
- package/plugins/nestedRows/nestedRows.js +330 -8
- package/plugins/nestedRows/nestedRows.mjs +330 -8
- package/plugins/nestedRows/ui/collapsing.d.ts +58 -0
- package/plugins/nestedRows/ui/collapsing.js +236 -40
- package/plugins/nestedRows/ui/collapsing.mjs +236 -40
- package/plugins/notification/notification.d.ts +2 -1
- package/plugins/notification/notification.js +6 -3
- package/plugins/notification/notification.mjs +6 -3
- package/plugins/notification/ui.d.ts +8 -5
- package/plugins/notification/ui.js +18 -6
- package/plugins/notification/ui.mjs +18 -6
- package/plugins/pagination/pagination.js +2 -2
- package/plugins/pagination/pagination.mjs +2 -2
- package/plugins/search/search.js +23 -2
- package/plugins/search/search.mjs +23 -2
- package/plugins/selectionHandles/helpers.d.mts +1 -0
- package/plugins/selectionHandles/helpers.d.ts +17 -0
- package/plugins/selectionHandles/helpers.js +16 -0
- package/plugins/selectionHandles/helpers.mjs +11 -0
- package/plugins/selectionHandles/index.d.mts +1 -0
- package/plugins/selectionHandles/index.d.ts +1 -0
- package/plugins/selectionHandles/index.js +22 -0
- package/plugins/selectionHandles/index.mjs +1 -0
- package/plugins/selectionHandles/selectionHandles.d.mts +1 -0
- package/plugins/selectionHandles/selectionHandles.d.ts +52 -0
- package/plugins/selectionHandles/selectionHandles.js +342 -0
- package/plugins/selectionHandles/selectionHandles.mjs +323 -0
- package/plugins/trimRows/trimRows.d.ts +1 -1
- package/plugins/trimRows/trimRows.js +6 -2
- package/plugins/trimRows/trimRows.mjs +6 -2
- package/plugins/types.d.ts +4 -0
- package/plugins/undoRedo/actions/cellAlignment.js +1 -1
- package/plugins/undoRedo/actions/cellAlignment.mjs +1 -1
- package/plugins/undoRedo/actions/createColumn.js +4 -1
- package/plugins/undoRedo/actions/createColumn.mjs +4 -1
- package/plugins/undoRedo/actions/createRow.js +4 -1
- package/plugins/undoRedo/actions/createRow.mjs +4 -1
- package/plugins/undoRedo/actions/fixedCounts.d.mts +1 -0
- package/plugins/undoRedo/actions/fixedCounts.d.ts +36 -0
- package/plugins/undoRedo/actions/fixedCounts.js +63 -0
- package/plugins/undoRedo/actions/fixedCounts.mjs +62 -0
- package/plugins/undoRedo/actions/index.js +2 -0
- package/plugins/undoRedo/actions/index.mjs +2 -0
- package/plugins/undoRedo/actions/moveCells.d.mts +1 -0
- package/plugins/undoRedo/actions/moveCells.d.ts +104 -0
- package/plugins/undoRedo/actions/moveCells.js +225 -0
- package/plugins/undoRedo/actions/moveCells.mjs +227 -0
- package/plugins/undoRedo/actions/removeColumn.d.ts +18 -2
- package/plugins/undoRedo/actions/removeColumn.js +11 -4
- package/plugins/undoRedo/actions/removeColumn.mjs +12 -5
- package/plugins/undoRedo/actions/removeRow.js +2 -57
- package/plugins/undoRedo/actions/removeRow.mjs +2 -57
- package/plugins/undoRedo/undoRedo.d.ts +26 -0
- package/plugins/undoRedo/undoRedo.js +36 -2
- package/plugins/undoRedo/undoRedo.mjs +36 -2
- package/plugins/undoRedo/utils.d.ts +29 -0
- package/plugins/undoRedo/utils.js +55 -3
- package/plugins/undoRedo/utils.mjs +59 -0
- package/renderSizeProbe.d.mts +1 -0
- package/renderSizeProbe.d.ts +60 -0
- package/renderSizeProbe.js +163 -0
- package/renderSizeProbe.mjs +176 -0
- package/renderers/checkboxRenderer/checkboxRenderer.js +9 -4
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +9 -4
- package/renderers/index.d.ts +3 -2
- package/renderers/index.js +8 -0
- package/renderers/index.mjs +3 -1
- package/renderers/intlDatetimeRenderer/index.d.mts +1 -0
- package/renderers/intlDatetimeRenderer/index.d.ts +1 -0
- package/renderers/intlDatetimeRenderer/index.js +22 -0
- package/renderers/intlDatetimeRenderer/index.mjs +1 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.d.mts +1 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.d.ts +26 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.js +82 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.mjs +67 -0
- package/renderers/multiSelectRenderer/multiSelectRenderer.js +2 -3
- package/renderers/multiSelectRenderer/multiSelectRenderer.mjs +2 -3
- package/renderers/multiSelectRenderer/utils/utils.d.ts +1 -1
- package/renderers/multiSelectRenderer/utils/utils.js +11 -8
- package/renderers/multiSelectRenderer/utils/utils.mjs +11 -8
- package/renderers/passwordRenderer/passwordRenderer.js +6 -1
- package/renderers/passwordRenderer/passwordRenderer.mjs +6 -1
- package/renderers/renderCell.d.mts +1 -0
- package/renderers/renderCell.d.ts +37 -0
- package/renderers/renderCell.js +43 -0
- package/renderers/renderCell.mjs +48 -0
- package/selection/highlight/types/areaLayered.d.ts +3 -1
- package/selection/highlight/types/areaLayered.js +4 -2
- package/selection/highlight/types/areaLayered.mjs +6 -2
- package/selection/highlight/types/focus.d.ts +3 -1
- package/selection/highlight/types/focus.js +3 -2
- package/selection/highlight/types/focus.mjs +5 -2
- package/selection/mouseEventHandler.js +29 -26
- package/selection/mouseEventHandler.mjs +29 -26
- package/selection/moveCells.d.mts +1 -0
- package/selection/moveCells.d.ts +15 -0
- package/selection/moveCells.js +13 -0
- package/selection/moveCells.mjs +9 -0
- package/selection/selection.d.ts +56 -2
- package/selection/selection.js +149 -5
- package/selection/selection.mjs +149 -5
- package/selection/types.d.ts +3 -0
- package/settings.d.ts +24 -3
- package/shortcuts/context.d.ts +4 -0
- package/shortcuts/context.js +16 -8
- package/shortcuts/context.mjs +20 -8
- package/shortcuts/contexts/commands/populateSelectedCellsData.js +1 -1
- package/shortcuts/contexts/commands/populateSelectedCellsData.mjs +1 -1
- package/styles/handsontable.css +504 -158
- package/styles/handsontable.min.css +4 -4
- package/styles/handsontableStyles.d.mts +2 -0
- package/styles/handsontableStyles.d.ts +2 -0
- package/styles/handsontableStyles.js +1 -1
- package/styles/handsontableStyles.mjs +1 -1
- package/styles/ht-icons-horizon.css +1 -10
- package/styles/ht-icons-horizon.min.css +4 -4
- package/styles/ht-icons-main.css +1 -10
- package/styles/ht-icons-main.min.css +4 -4
- package/styles/ht-theme-classic-no-icons.css +6 -0
- package/styles/ht-theme-classic-no-icons.min.css +4 -4
- package/styles/ht-theme-classic.css +7 -10
- package/styles/ht-theme-classic.min.css +4 -4
- package/styles/ht-theme-horizon-no-icons.css +6 -0
- package/styles/ht-theme-horizon-no-icons.min.css +4 -4
- package/styles/ht-theme-horizon.css +7 -10
- package/styles/ht-theme-horizon.min.css +4 -4
- package/styles/ht-theme-main-no-icons.css +6 -0
- package/styles/ht-theme-main-no-icons.min.css +4 -4
- package/styles/ht-theme-main.css +7 -10
- package/styles/ht-theme-main.min.css +4 -4
- package/tableView.d.ts +17 -4
- package/tableView.js +208 -42
- package/tableView.mjs +209 -43
- package/themes/engine/index.d.ts +2 -1
- package/themes/engine/index.js +3 -0
- package/themes/engine/index.mjs +1 -1
- package/themes/engine/manager.d.ts +75 -3
- package/themes/engine/manager.js +242 -6
- package/themes/engine/manager.mjs +249 -6
- package/themes/engine/utils/cssVariables.d.ts +18 -1
- package/themes/engine/utils/cssVariables.js +27 -11
- package/themes/engine/utils/cssVariables.mjs +28 -11
- package/themes/engine/utils/validation.js +7 -0
- package/themes/engine/utils/validation.mjs +7 -0
- package/themes/static/variables/helpers/iconsMap.js +1 -6
- package/themes/static/variables/helpers/iconsMap.mjs +1 -6
- package/themes/static/variables/tokens/classic.js +6 -0
- package/themes/static/variables/tokens/classic.mjs +6 -0
- package/themes/static/variables/tokens/horizon.js +6 -0
- package/themes/static/variables/tokens/horizon.mjs +6 -0
- package/themes/static/variables/tokens/main.js +6 -0
- package/themes/static/variables/tokens/main.mjs +6 -0
- package/themes/types.d.ts +1 -1
- package/translations/indexMapper.d.ts +14 -9
- package/translations/indexMapper.js +104 -43
- package/translations/indexMapper.mjs +104 -43
- package/translations/mapCollections/aggregatedCollection.js +20 -35
- package/translations/mapCollections/aggregatedCollection.mjs +20 -35
- package/translations/mapCollections/mapCollection.d.ts +10 -4
- package/translations/mapCollections/mapCollection.js +2 -2
- package/translations/mapCollections/mapCollection.mjs +2 -2
- package/translations/maps/booleanMap.d.mts +1 -0
- package/translations/maps/booleanMap.d.ts +86 -0
- package/translations/maps/booleanMap.js +300 -0
- package/translations/maps/booleanMap.mjs +308 -0
- package/translations/maps/hidingMap.d.ts +5 -2
- package/translations/maps/hidingMap.js +8 -3
- package/translations/maps/hidingMap.mjs +8 -3
- package/translations/maps/index.d.ts +5 -2
- package/translations/maps/index.js +7 -3
- package/translations/maps/index.mjs +10 -2
- package/translations/maps/indexMap.d.ts +26 -2
- package/translations/maps/indexMap.js +78 -6
- package/translations/maps/indexMap.mjs +78 -6
- package/translations/maps/indexesSequence.d.ts +53 -2
- package/translations/maps/indexesSequence.js +225 -3
- package/translations/maps/indexesSequence.mjs +233 -3
- package/translations/maps/trimmingMap.d.ts +5 -2
- package/translations/maps/trimmingMap.js +8 -3
- package/translations/maps/trimmingMap.mjs +8 -3
- package/translations/maps/utils/actionsOnIndexes.js +20 -1
- package/translations/maps/utils/actionsOnIndexes.mjs +20 -1
- package/translations/maps/utils/indexesSequence.js +12 -3
- package/translations/maps/utils/indexesSequence.mjs +12 -3
- package/translations/maps/utils/physicallyIndexed.js +12 -1
- package/translations/maps/utils/physicallyIndexed.mjs +12 -1
- package/utils/entitlementLicenseKey/classify.d.mts +1 -0
- package/utils/entitlementLicenseKey/classify.d.ts +34 -0
- package/utils/entitlementLicenseKey/classify.js +97 -0
- package/utils/entitlementLicenseKey/classify.mjs +96 -0
- package/utils/entitlementLicenseKey/constants.d.mts +1 -0
- package/utils/entitlementLicenseKey/constants.d.ts +69 -0
- package/utils/entitlementLicenseKey/constants.js +54 -0
- package/utils/entitlementLicenseKey/constants.mjs +66 -0
- package/utils/entitlementLicenseKey/detectFormat.d.mts +1 -0
- package/utils/entitlementLicenseKey/detectFormat.d.ts +23 -0
- package/utils/entitlementLicenseKey/detectFormat.js +60 -0
- package/utils/entitlementLicenseKey/detectFormat.mjs +60 -0
- package/utils/entitlementLicenseKey/encoding.d.mts +1 -0
- package/utils/entitlementLicenseKey/encoding.d.ts +58 -0
- package/utils/entitlementLicenseKey/encoding.js +161 -0
- package/utils/entitlementLicenseKey/encoding.mjs +172 -0
- package/utils/entitlementLicenseKey/extractKeyData.d.mts +1 -0
- package/utils/entitlementLicenseKey/extractKeyData.d.ts +47 -0
- package/utils/entitlementLicenseKey/extractKeyData.js +213 -0
- package/utils/entitlementLicenseKey/extractKeyData.mjs +232 -0
- package/utils/entitlementLicenseKey/grants.d.mts +1 -0
- package/utils/entitlementLicenseKey/grants.d.ts +54 -0
- package/utils/entitlementLicenseKey/grants.js +68 -0
- package/utils/entitlementLicenseKey/grants.mjs +84 -0
- package/utils/entitlementLicenseKey/index.d.mts +1 -0
- package/utils/entitlementLicenseKey/index.d.ts +8 -0
- package/utils/entitlementLicenseKey/index.js +53 -0
- package/utils/entitlementLicenseKey/index.mjs +6 -0
- package/utils/entitlementLicenseKey/sha512.d.mts +1 -0
- package/utils/entitlementLicenseKey/sha512.d.ts +11 -0
- package/utils/entitlementLicenseKey/sha512.js +328 -0
- package/utils/entitlementLicenseKey/sha512.mjs +327 -0
- package/utils/entitlementLicenseKey/types.d.mts +1 -0
- package/utils/entitlementLicenseKey/types.d.ts +84 -0
- package/utils/entitlementLicenseKey/types.js +8 -0
- package/utils/entitlementLicenseKey/types.mjs +10 -0
- package/utils/ghostTable.d.ts +1 -0
- package/utils/ghostTable.js +60 -11
- package/utils/ghostTable.mjs +60 -11
- package/utils/licenseBranding/badge.d.mts +1 -0
- package/utils/licenseBranding/badge.d.ts +21 -0
- package/utils/licenseBranding/badge.js +237 -0
- package/utils/licenseBranding/badge.mjs +244 -0
- package/utils/licenseBranding/content.d.mts +1 -0
- package/utils/licenseBranding/content.d.ts +54 -0
- package/utils/licenseBranding/content.js +93 -0
- package/utils/licenseBranding/content.mjs +79 -0
- package/utils/licenseBranding/index.d.mts +1 -0
- package/utils/licenseBranding/index.d.ts +14 -0
- package/utils/licenseBranding/index.js +55 -0
- package/utils/licenseBranding/index.mjs +56 -0
- package/utils/licenseBranding/lockScreen.d.mts +1 -0
- package/utils/licenseBranding/lockScreen.d.ts +23 -0
- package/utils/licenseBranding/lockScreen.js +150 -0
- package/utils/licenseBranding/lockScreen.mjs +159 -0
- package/utils/licenseNotification.d.ts +19 -0
- package/utils/licenseNotification.js +56 -29
- package/utils/licenseNotification.mjs +61 -29
- package/utils/movableMeta.d.mts +1 -0
- package/utils/movableMeta.d.ts +40 -0
- package/utils/movableMeta.js +47 -0
- package/utils/movableMeta.mjs +46 -0
- package/utils/parseTable.js +16 -7
- package/utils/parseTable.mjs +16 -7
- package/utils/samplesGenerator.d.ts +41 -14
- package/utils/samplesGenerator.js +114 -42
- package/utils/samplesGenerator.mjs +114 -42
- package/utils/sanitizer.d.mts +1 -0
- package/utils/sanitizer.d.ts +47 -0
- package/utils/sanitizer.js +43 -0
- package/utils/sanitizer.mjs +55 -0
- package/utils/stylesHandler.d.ts +13 -0
- package/utils/stylesHandler.js +55 -2
- package/utils/stylesHandler.mjs +55 -2
- package/validators/autocompleteValidator/autocompleteValidator.js +3 -0
- package/validators/autocompleteValidator/autocompleteValidator.mjs +3 -0
- package/validators/index.d.ts +3 -2
- package/validators/index.js +8 -0
- package/validators/index.mjs +3 -1
- package/validators/intlDatetimeValidator/index.d.mts +1 -0
- package/validators/intlDatetimeValidator/index.d.ts +1 -0
- package/validators/intlDatetimeValidator/index.js +25 -0
- package/validators/intlDatetimeValidator/index.mjs +1 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.d.mts +1 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.d.ts +28 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.js +49 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.mjs +37 -0
- package/3rdparty/walkontable/src/overlay/bottom.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/top.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.d.mts +0 -1
- package/3rdparty/walkontable/src/overlays.d.ts +0 -329
- package/3rdparty/walkontable/src/overlays.js +0 -870
- package/3rdparty/walkontable/src/overlays.mjs +0 -860
- package/3rdparty/walkontable/src/renderer/table.d.mts +0 -1
- package/3rdparty/walkontable/src/renderer/table.js +0 -229
- package/3rdparty/walkontable/src/settings.d.mts +0 -2
- package/3rdparty/walkontable/src/settings.js +0 -196
- package/3rdparty/walkontable/src/settings.mjs +0 -263
- package/3rdparty/walkontable/src/table/bottom.d.mts +0 -2
- package/3rdparty/walkontable/src/table/bottom.d.ts +0 -19
- package/3rdparty/walkontable/src/table/bottom.js +0 -38
- package/3rdparty/walkontable/src/table/bottom.mjs +0 -23
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.d.mts +0 -2
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.d.ts +0 -20
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +0 -24
- package/3rdparty/walkontable/src/table/inlineStart.d.mts +0 -2
- package/3rdparty/walkontable/src/table/inlineStart.d.ts +0 -16
- package/3rdparty/walkontable/src/table/inlineStart.js +0 -35
- package/3rdparty/walkontable/src/table/inlineStart.mjs +0 -20
- package/3rdparty/walkontable/src/table/master.d.mts +0 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.d.mts +0 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.d.ts +0 -75
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -122
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -112
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.d.mts +0 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.d.ts +0 -75
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -122
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -112
- package/3rdparty/walkontable/src/table/top.d.mts +0 -2
- package/3rdparty/walkontable/src/table/top.d.ts +0 -19
- package/3rdparty/walkontable/src/table/top.js +0 -38
- package/3rdparty/walkontable/src/table/top.mjs +0 -23
- package/3rdparty/walkontable/src/table/topInlineStartCorner.d.mts +0 -2
- package/3rdparty/walkontable/src/table/topInlineStartCorner.d.ts +0 -20
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +0 -24
- package/3rdparty/walkontable/src/table.d.mts +0 -2
- package/3rdparty/walkontable/src/table.d.ts +0 -741
- package/3rdparty/walkontable/src/table.js +0 -1120
- package/3rdparty/walkontable/src/table.mjs +0 -1105
- package/3rdparty/walkontable/src/utils/cellCoords.d.mts +0 -1
- package/3rdparty/walkontable/src/utils/cellCoords.js +0 -54
- package/3rdparty/walkontable/src/utils/cellCoords.mjs +0 -54
- package/3rdparty/walkontable/src/utils/column.d.mts +0 -2
- package/3rdparty/walkontable/src/utils/column.js +0 -75
- package/3rdparty/walkontable/src/utils/column.mjs +0 -70
- package/3rdparty/walkontable/src/utils/positionCache.d.mts +0 -1
- package/3rdparty/walkontable/src/utils/positionCache.d.ts +0 -91
- package/3rdparty/walkontable/src/utils/positionCache.js +0 -193
- package/3rdparty/walkontable/src/utils/positionCache.mjs +0 -194
- package/3rdparty/walkontable/src/utils/row.d.mts +0 -2
- package/3rdparty/walkontable/src/utils/row.js +0 -46
- package/3rdparty/walkontable/src/utils/row.mjs +0 -41
- package/3rdparty/walkontable/src/viewport.d.ts +0 -254
- package/3rdparty/walkontable/src/viewport.js +0 -533
- package/3rdparty/walkontable/src/viewport.mjs +0 -523
- /package/3rdparty/walkontable/src/{renderer → axisSizing/positionCache}/index.d.mts +0 -0
- /package/3rdparty/walkontable/src/{overlays.d.mts → overlay/overlays.d.mts} +0 -0
- /package/3rdparty/walkontable/src/overlay/{_base.d.mts → regions/_base.d.mts} +0 -0
- /package/3rdparty/walkontable/src/{stickyScrollStrategy.d.mts → overlay/strategies/stickyScrollStrategy.d.mts} +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/_base.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/_base.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/_base.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/cells.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/cells.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rows.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rows.d.ts +0 -0
- /package/3rdparty/walkontable/src/{scroll.d.mts → scroll/scroll.d.mts} +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.d.mts +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.d.mts +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.js +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.mjs +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.d.mts +0 -0
- /package/3rdparty/walkontable/src/{viewport.d.mts → viewport/viewport.d.mts} +0 -0
|
@@ -57,6 +57,7 @@ import { ACTIVE_HEADER_TYPE, HEADER_TYPE } from '../../selection/index.mjs';
|
|
|
57
57
|
import { BasePlugin } from '../base/index.mjs';
|
|
58
58
|
import StateManager from './stateManager/index.mjs';
|
|
59
59
|
import { createColumnVisibilityAdapter } from './stateManager/columnVisibility.mjs';
|
|
60
|
+
import { createColumnArrangementAdapter } from './stateManager/columnArrangement.mjs';
|
|
60
61
|
import GhostTable from './utils/ghostTable.mjs';
|
|
61
62
|
import { resolveRowspanNavigationContextRow } from './utils/navigation.mjs';
|
|
62
63
|
export const PLUGIN_KEY = 'nestedHeaders';
|
|
@@ -64,13 +65,61 @@ export const PLUGIN_PRIORITY = 280;
|
|
|
64
65
|
var /**
|
|
65
66
|
* Manages the state tree of nested header spans and their visibility.
|
|
66
67
|
*/ _stateManager = /*#__PURE__*/ new WeakMap(), /**
|
|
68
|
+
* Set by afterColumnMove when a move runs inside a batched (suspended) index operation. The
|
|
69
|
+
* structure cannot be re-derived there (the mapper's caches are stale until resume), so the rebuild
|
|
70
|
+
* is deferred to the cacheUpdated that fires on resume, where the visual<->physical mapping is fresh.
|
|
71
|
+
*/ _structureRebuildPending = /*#__PURE__*/ new WeakMap(), /**
|
|
72
|
+
* The physical indexes of the columns a move is relocating, captured in `beforeColumnMove` (where
|
|
73
|
+
* the pre-move mapping is fresh). After the move, `#reparentMovedColumns` translates them to their
|
|
74
|
+
* new visual positions and re-parents them into the cohesive group they were dropped inside. Cleared
|
|
75
|
+
* once consumed. Null when no move is in flight.
|
|
76
|
+
*/ _movedPhysicalColumns = /*#__PURE__*/ new WeakMap(), /**
|
|
77
|
+
* The column index sequence captured in `beforeColumnMove`, before the move is applied. Compared
|
|
78
|
+
* against the post-move sequence so a no-op move (e.g. clicking a selected group header, which
|
|
79
|
+
* "moves" the columns to their own position) skips re-parenting - recomputing membership there
|
|
80
|
+
* would needlessly drop a column's existing adoption. Null when no move is in flight.
|
|
81
|
+
*/ _preMoveColumnSequence = /*#__PURE__*/ new WeakMap(), /**
|
|
67
82
|
* Handler bound to columnIndexMapper's cacheUpdated local hook. Keeps header colspan state
|
|
68
83
|
* in sync with the current hiding map whenever visibility or column order changes.
|
|
69
84
|
*/ _onColumnIndexMapperCacheUpdated = /*#__PURE__*/ new WeakMap(), /**
|
|
85
|
+
* Handler bound to the afterColumnMove hook. A non-batched move is re-derived directly by
|
|
86
|
+
* #onColumnIndexMapperCacheUpdated (the cache update carries the 'move' source). A batched move's
|
|
87
|
+
* cache update fires on resume with the source already cleared, so flag a pending rebuild here -
|
|
88
|
+
* the resume cache update consumes it once the mapping is fresh.
|
|
89
|
+
*/ _onAfterColumnMove = /*#__PURE__*/ new WeakMap(), /**
|
|
90
|
+
* Handler bound to the beforeColumnMove hook. Captures the moved columns as physical indexes while
|
|
91
|
+
* the pre-move mapping is fresh; `#reparentMovedColumns` consumes them after the move to re-parent
|
|
92
|
+
* each into the cohesive group it lands inside (or standalone).
|
|
93
|
+
*
|
|
94
|
+
* @param {number[]} movedColumns Visual indexes of the columns being moved.
|
|
95
|
+
* @param {number} finalIndex The target visual index (unused).
|
|
96
|
+
* @param {number|undefined} dropIndex The drop visual index (unused).
|
|
97
|
+
* @param {boolean} movePossible Whether the move can be performed.
|
|
98
|
+
*/ _onBeforeColumnMove = /*#__PURE__*/ new WeakMap(), /**
|
|
99
|
+
* Re-parents the columns captured by `#onBeforeColumnMove` after the move completes. Translates the
|
|
100
|
+
* stored physical indexes to their new visual positions (the mapping is fresh by the time this runs)
|
|
101
|
+
* and hands them to the state manager, which records the membership overrides the derive needs to
|
|
102
|
+
* keep `columnDropMode: 'adopt'` groups cohesive.
|
|
103
|
+
*/ _reparentMovedColumns = /*#__PURE__*/ new WeakSet(), /**
|
|
104
|
+
* Reports whether the captured moved columns account for the whole reordering between the pre-move
|
|
105
|
+
* and current physical index sequences. Removing those columns from both sequences must leave
|
|
106
|
+
* identical residuals, which holds by construction for any single `moveIndexes` call and fails when
|
|
107
|
+
* the cache update came from an unrelated reordering consuming a stale capture.
|
|
108
|
+
*
|
|
109
|
+
* @param {number[]} movedPhysicalColumns The physical indexes captured before the move.
|
|
110
|
+
* @param {number[]} previousSequence The physical index sequence captured before the move.
|
|
111
|
+
* @param {number[]} currentSequence The physical index sequence after the move.
|
|
112
|
+
* @returns {boolean} `true` when the captured columns explain the observed reordering.
|
|
113
|
+
*/ _capturedMoveExplainsReorder = /*#__PURE__*/ new WeakSet(), /**
|
|
70
114
|
* Stores the initial focus coordinates before a column header click initiates a range selection.
|
|
71
115
|
*/ _focusInitialCoords = /*#__PURE__*/ new WeakMap(), /**
|
|
72
116
|
* Indicates whether a column selection drag triggered by a nested header click is currently in progress.
|
|
73
117
|
*/ _isColumnsSelectionInProgress = /*#__PURE__*/ new WeakMap(), /**
|
|
118
|
+
* Holds the columns to be selected when the pointer moves over a nested header during a drag. The selection
|
|
119
|
+
* is applied in the `afterOnCellMouseOver` hook so that it stays gated by `stopImmediatePropagation` called
|
|
120
|
+
* in a `beforeOnCellMouseOver` listener - mirroring how the mouse-down path applies its selection in
|
|
121
|
+
* `afterOnCellMouseDown`. Reset on every `beforeOnCellMouseOver` to avoid applying a stale range.
|
|
122
|
+
*/ _columnsToSelectOnMouseOver = /*#__PURE__*/ new WeakMap(), /**
|
|
74
123
|
* Keeps the last highlight position made by column selection. The coords are necessary to scroll
|
|
75
124
|
* the viewport to the correct position when the nested header is clicked when the `navigableHeaders`
|
|
76
125
|
* option is disabled.
|
|
@@ -142,8 +191,16 @@ var /**
|
|
|
142
191
|
*/ _onBeforeOnCellMouseDown = /*#__PURE__*/ new WeakMap(), /**
|
|
143
192
|
* Initiates a column selection when a nested header cell is clicked, selecting all columns covered by the header span.
|
|
144
193
|
*/ _onAfterOnCellMouseDown = /*#__PURE__*/ new WeakMap(), /**
|
|
145
|
-
*
|
|
194
|
+
* Computes the column selection range when the pointer moves over a nested header cell during a drag
|
|
195
|
+
* selection and stores it for the `afterOnCellMouseOver` hook to apply. Blocks the core's default
|
|
196
|
+
* selection handling through the `controller` so the range is driven solely by this plugin. The actual
|
|
197
|
+
* selection is deferred to `afterOnCellMouseOver` so it stays cancellable through `stopImmediatePropagation`.
|
|
146
198
|
*/ _onBeforeOnCellMouseOver = /*#__PURE__*/ new WeakMap(), /**
|
|
199
|
+
* Applies the column selection computed in `beforeOnCellMouseOver`. Running in the `afterOnCellMouseOver`
|
|
200
|
+
* hook keeps the selection cancellable - the core skips this hook when `stopImmediatePropagation` is called
|
|
201
|
+
* in a `beforeOnCellMouseOver` listener, so a drag over nested headers can be blocked the same way it is for
|
|
202
|
+
* regular column headers.
|
|
203
|
+
*/ _onAfterOnCellMouseOver = /*#__PURE__*/ new WeakMap(), /**
|
|
147
204
|
* Clears the in-progress column selection flag when the pointer button is released.
|
|
148
205
|
*/ _onBeforeOnCellMouseUp = /*#__PURE__*/ new WeakMap(), /**
|
|
149
206
|
* Adjusts the selection highlight position when navigable headers are enabled and a multi-column header is selected.
|
|
@@ -154,8 +211,19 @@ var /**
|
|
|
154
211
|
*/ _onBeforeSelectColumns = /*#__PURE__*/ new WeakMap(), /**
|
|
155
212
|
* Replaces the default column header renderer array with layer-specific renderers generated by this plugin.
|
|
156
213
|
*/ _onAfterGetColumnHeaderRenderers = /*#__PURE__*/ new WeakMap(), /**
|
|
157
|
-
* Extends the viewport
|
|
214
|
+
* Extends the viewport's rendered column range so that every nested header group intersecting
|
|
215
|
+
* the viewport is rendered in full. A wide colspan straddling a viewport edge would otherwise
|
|
216
|
+
* render only partially, so its `<th>` width changes as columns enter or leave the render range
|
|
217
|
+
* while scrolling - which makes the center-aligned header label jump. Expanding both the start
|
|
218
|
+
* and the end boundary to the group's edges keeps each colspan `<th>` at a constant width while
|
|
219
|
+
* the group is visible (issue #4628).
|
|
158
220
|
*/ _onAfterViewportColumnCalculatorOverride = /*#__PURE__*/ new WeakMap(), /**
|
|
221
|
+
* Extends the viewport start column to include any header spans that begin before the calculated
|
|
222
|
+
* viewport start boundary.
|
|
223
|
+
*/ _extendViewportStartColumn = /*#__PURE__*/ new WeakSet(), /**
|
|
224
|
+
* Extends the viewport end column to include any header spans that end after the calculated
|
|
225
|
+
* viewport end boundary, keeping a colspan header that straddles the right edge fully rendered.
|
|
226
|
+
*/ _extendViewportEndColumn = /*#__PURE__*/ new WeakSet(), /**
|
|
159
227
|
* `modifyColWidth` hook callback - returns width from cache, when is greater than incoming from hook.
|
|
160
228
|
*
|
|
161
229
|
* When `autoColumnSize` is explicitly disabled, the user opts out of auto-sizing
|
|
@@ -194,6 +262,7 @@ _onInit = /*#__PURE__*/ new WeakMap(), /**
|
|
|
194
262
|
*
|
|
195
263
|
* @param {number} visualColumnIndex A visual column index from which the columns were removed.
|
|
196
264
|
* @param {number} amount The number of removed columns.
|
|
265
|
+
* @param {number[]} physicalColumns The physical indexes of the removed columns.
|
|
197
266
|
*/ _onAfterRemoveCol = /*#__PURE__*/ new WeakMap(), /**
|
|
198
267
|
* Builds the widths map before the view is rendered.
|
|
199
268
|
*/ _onBeforeViewRender = /*#__PURE__*/ new WeakMap();
|
|
@@ -301,9 +370,12 @@ _onInit = /*#__PURE__*/ new WeakMap(), /**
|
|
|
301
370
|
this.addHook('afterLoadData', _class_private_field_get(this, _onAfterLoadData));
|
|
302
371
|
this.addHook('afterCreateCol', _class_private_field_get(this, _onAfterCreateCol));
|
|
303
372
|
this.addHook('afterRemoveCol', _class_private_field_get(this, _onAfterRemoveCol));
|
|
373
|
+
this.addHook('beforeColumnMove', _class_private_field_get(this, _onBeforeColumnMove));
|
|
374
|
+
this.addHook('afterColumnMove', _class_private_field_get(this, _onAfterColumnMove));
|
|
304
375
|
this.addHook('beforeOnCellMouseDown', _class_private_field_get(this, _onBeforeOnCellMouseDown));
|
|
305
376
|
this.addHook('afterOnCellMouseDown', _class_private_field_get(this, _onAfterOnCellMouseDown));
|
|
306
377
|
this.addHook('beforeOnCellMouseOver', _class_private_field_get(this, _onBeforeOnCellMouseOver));
|
|
378
|
+
this.addHook('afterOnCellMouseOver', _class_private_field_get(this, _onAfterOnCellMouseOver));
|
|
307
379
|
this.addHook('beforeOnCellMouseUp', _class_private_field_get(this, _onBeforeOnCellMouseUp));
|
|
308
380
|
this.addHook('beforeSelectionHighlightSet', _class_private_field_get(this, _onBeforeSelectionHighlightSet));
|
|
309
381
|
this.addHook('modifyTransformStart', _class_private_field_get(this, _onModifyTransformStart));
|
|
@@ -338,6 +410,8 @@ _onInit = /*#__PURE__*/ new WeakMap(), /**
|
|
|
338
410
|
_class_private_field_set(this, _rowspanHeaderNavigationContextRow, null);
|
|
339
411
|
_class_private_field_set(this, _expectedNextKeyboardHighlightCoords, null);
|
|
340
412
|
_class_private_field_get(this, _stateManager).setColumnsLimit(this.hot.countCols());
|
|
413
|
+
// Derive the header structure against the live column arrangement so it follows column moves.
|
|
414
|
+
_class_private_field_get(this, _stateManager).setColumnArrangement(createColumnArrangementAdapter(this.hot));
|
|
341
415
|
if (Array.isArray(nestedHeaders)) {
|
|
342
416
|
this.detectedOverlappedHeaders = _class_private_field_get(this, _stateManager).setState(nestedHeaders);
|
|
343
417
|
}
|
|
@@ -507,18 +581,36 @@ _onInit = /*#__PURE__*/ new WeakMap(), /**
|
|
|
507
581
|
return _class_private_field_get(this, _stateManager).getHeaderTreeNodeData(coords.row, coords.col);
|
|
508
582
|
}
|
|
509
583
|
constructor(...args){
|
|
510
|
-
super(...args), _class_private_method_init(this, _applyColspan), _class_private_method_init(this, _applyRowspan), _class_private_method_init(this, _findRenderableHeaderRow), _class_private_method_init(this, _getRootHeaderRowspan), _class_private_method_init(this, _isNavigableHeaderCell), _class_private_method_init(this, _findNearestNavigableHeaderColumn), _class_private_field_init(this, _stateManager, {
|
|
584
|
+
super(...args), _class_private_method_init(this, _reparentMovedColumns), _class_private_method_init(this, _capturedMoveExplainsReorder), _class_private_method_init(this, _applyColspan), _class_private_method_init(this, _applyRowspan), _class_private_method_init(this, _findRenderableHeaderRow), _class_private_method_init(this, _getRootHeaderRowspan), _class_private_method_init(this, _isNavigableHeaderCell), _class_private_method_init(this, _findNearestNavigableHeaderColumn), _class_private_method_init(this, _extendViewportStartColumn), _class_private_method_init(this, _extendViewportEndColumn), _class_private_field_init(this, _stateManager, {
|
|
585
|
+
writable: true,
|
|
586
|
+
value: void 0
|
|
587
|
+
}), _class_private_field_init(this, _structureRebuildPending, {
|
|
588
|
+
writable: true,
|
|
589
|
+
value: void 0
|
|
590
|
+
}), _class_private_field_init(this, _movedPhysicalColumns, {
|
|
591
|
+
writable: true,
|
|
592
|
+
value: void 0
|
|
593
|
+
}), _class_private_field_init(this, _preMoveColumnSequence, {
|
|
511
594
|
writable: true,
|
|
512
595
|
value: void 0
|
|
513
596
|
}), _class_private_field_init(this, _onColumnIndexMapperCacheUpdated, {
|
|
514
597
|
writable: true,
|
|
515
598
|
value: void 0
|
|
599
|
+
}), _class_private_field_init(this, _onAfterColumnMove, {
|
|
600
|
+
writable: true,
|
|
601
|
+
value: void 0
|
|
602
|
+
}), _class_private_field_init(this, _onBeforeColumnMove, {
|
|
603
|
+
writable: true,
|
|
604
|
+
value: void 0
|
|
516
605
|
}), _class_private_field_init(this, _focusInitialCoords, {
|
|
517
606
|
writable: true,
|
|
518
607
|
value: void 0
|
|
519
608
|
}), _class_private_field_init(this, _isColumnsSelectionInProgress, {
|
|
520
609
|
writable: true,
|
|
521
610
|
value: void 0
|
|
611
|
+
}), _class_private_field_init(this, _columnsToSelectOnMouseOver, {
|
|
612
|
+
writable: true,
|
|
613
|
+
value: void 0
|
|
522
614
|
}), _class_private_field_init(this, _recentlyHighlightCoords, {
|
|
523
615
|
writable: true,
|
|
524
616
|
value: void 0
|
|
@@ -557,6 +649,9 @@ _onInit = /*#__PURE__*/ new WeakMap(), /**
|
|
|
557
649
|
}), _class_private_field_init(this, _onBeforeOnCellMouseOver, {
|
|
558
650
|
writable: true,
|
|
559
651
|
value: void 0
|
|
652
|
+
}), _class_private_field_init(this, _onAfterOnCellMouseOver, {
|
|
653
|
+
writable: true,
|
|
654
|
+
value: void 0
|
|
560
655
|
}), _class_private_field_init(this, _onBeforeOnCellMouseUp, {
|
|
561
656
|
writable: true,
|
|
562
657
|
value: void 0
|
|
@@ -602,10 +697,33 @@ _onInit = /*#__PURE__*/ new WeakMap(), /**
|
|
|
602
697
|
}), _class_private_field_init(this, _onBeforeViewRender, {
|
|
603
698
|
writable: true,
|
|
604
699
|
value: void 0
|
|
605
|
-
}), _class_private_field_set(this, _stateManager, new StateManager()), _class_private_field_set(this, _onColumnIndexMapperCacheUpdated, ({ hiddenIndexesChanged })=>{
|
|
700
|
+
}), _class_private_field_set(this, _stateManager, new StateManager()), _class_private_field_set(this, _structureRebuildPending, false), _class_private_field_set(this, _movedPhysicalColumns, null), _class_private_field_set(this, _preMoveColumnSequence, null), _class_private_field_set(this, _onColumnIndexMapperCacheUpdated, ({ indexesSequenceChanged, hiddenIndexesChanged })=>{
|
|
606
701
|
if (!this.enabled) {
|
|
607
702
|
return;
|
|
608
703
|
}
|
|
704
|
+
// A column move changes the visual<->physical mapping without mutating the authored settings, so
|
|
705
|
+
// re-derive the header tree to make the structure (labels and group spans) follow the data; a
|
|
706
|
+
// group whose columns are no longer adjacent renders as multiple same-label banners. A non-batched
|
|
707
|
+
// move carries the 'move' change source on this cache update. A batched / suspended move's cache
|
|
708
|
+
// update fires on resume with the source already cleared, so afterColumnMove flags a pending
|
|
709
|
+
// rebuild for that case. Both re-derive here, where the mapping is fresh. The 'move' gate excludes
|
|
710
|
+
// init / insert / remove, which rebuild through their own paths (setState, afterCreateCol,
|
|
711
|
+
// afterRemoveCol) and would otherwise be double-processed (e.g. re-applying a collapse twice).
|
|
712
|
+
const isColumnMove = indexesSequenceChanged && this.hot.columnIndexMapper.indexesChangeSource === 'move';
|
|
713
|
+
if (isColumnMove || _class_private_field_get(this, _structureRebuildPending)) {
|
|
714
|
+
// Re-parent the moved columns first (cohesive groups adopt/release members), then re-derive so
|
|
715
|
+
// the tree reflects both the new arrangement and the membership changes.
|
|
716
|
+
_class_private_method_get(this, _reparentMovedColumns, reparentMovedColumns).call(this);
|
|
717
|
+
_class_private_field_get(this, _stateManager).rebuildState();
|
|
718
|
+
// Only release the captured move state once it has been consumed here. A move that splits a
|
|
719
|
+
// collapsed group makes CollapsibleColumns expand it from its own beforeColumnMove handler; that
|
|
720
|
+
// expansion mutates the hiding map and fires a synchronous cacheUpdated (hiddenIndexesChanged
|
|
721
|
+
// only) before moveIndexes runs. Clearing the capture unconditionally on that intermediate update
|
|
722
|
+
// dropped #movedPhysicalColumns, so the real move's cacheUpdated found nothing to re-parent.
|
|
723
|
+
_class_private_field_set(this, _structureRebuildPending, false);
|
|
724
|
+
_class_private_field_set(this, _movedPhysicalColumns, null);
|
|
725
|
+
_class_private_field_set(this, _preMoveColumnSequence, null);
|
|
726
|
+
}
|
|
609
727
|
// syncVisibility must run on every cache update (including a pure column move) so the tree's
|
|
610
728
|
// colspan / isHidden stay aligned with the current visual<->physical mapping (DEV-1717).
|
|
611
729
|
_class_private_field_get(this, _stateManager).syncVisibility(createColumnVisibilityAdapter(this.hot));
|
|
@@ -616,7 +734,16 @@ _onInit = /*#__PURE__*/ new WeakMap(), /**
|
|
|
616
734
|
if (hiddenIndexesChanged) {
|
|
617
735
|
this.ghostTable.buildWidthsMap();
|
|
618
736
|
}
|
|
619
|
-
}), _class_private_field_set(this,
|
|
737
|
+
}), _class_private_field_set(this, _onAfterColumnMove, ()=>{
|
|
738
|
+
if (this.enabled && this.hot.columnIndexMapper.isBatched) {
|
|
739
|
+
_class_private_field_set(this, _structureRebuildPending, true);
|
|
740
|
+
}
|
|
741
|
+
}), _class_private_field_set(this, _onBeforeColumnMove, (movedColumns, finalIndex, dropIndex, movePossible)=>{
|
|
742
|
+
if (this.enabled && movePossible !== false) {
|
|
743
|
+
_class_private_field_set(this, _movedPhysicalColumns, movedColumns.map((visualColumn)=>this.hot.toPhysicalColumn(visualColumn)));
|
|
744
|
+
_class_private_field_set(this, _preMoveColumnSequence, this.hot.columnIndexMapper.getIndexesSequence());
|
|
745
|
+
}
|
|
746
|
+
}), _class_private_field_set(this, _focusInitialCoords, null), _class_private_field_set(this, _isColumnsSelectionInProgress, false), _class_private_field_set(this, _columnsToSelectOnMouseOver, null), _class_private_field_set(this, _recentlyHighlightCoords, null), _class_private_field_set(this, _rowspanHeaderNavigationContextRow, null), _class_private_field_set(this, _expectedNextKeyboardHighlightCoords, null), _class_private_field_set(this, _updateWidthsMap, false), /**
|
|
620
747
|
* Custom helper for getting widths of the nested headers.
|
|
621
748
|
*/ // @TODO This should be changed after refactor handsontable/utils/ghostTable.
|
|
622
749
|
this.ghostTable = new GhostTable({
|
|
@@ -799,6 +926,7 @@ _onInit = /*#__PURE__*/ new WeakMap(), /**
|
|
|
799
926
|
selection.selectColumns(...columnsToSelect);
|
|
800
927
|
}
|
|
801
928
|
}), _class_private_field_set(this, _onBeforeOnCellMouseOver, (event, coords, TD, controller)=>{
|
|
929
|
+
_class_private_field_set(this, _columnsToSelectOnMouseOver, null);
|
|
802
930
|
if (!this.hot.view.isMouseDown() || controller.column) {
|
|
803
931
|
return;
|
|
804
932
|
}
|
|
@@ -837,6 +965,13 @@ _onInit = /*#__PURE__*/ new WeakMap(), /**
|
|
|
837
965
|
headerLevel
|
|
838
966
|
];
|
|
839
967
|
}
|
|
968
|
+
_class_private_field_set(this, _columnsToSelectOnMouseOver, columnsToSelect);
|
|
969
|
+
}), _class_private_field_set(this, _onAfterOnCellMouseOver, ()=>{
|
|
970
|
+
if (_class_private_field_get(this, _columnsToSelectOnMouseOver) === null) {
|
|
971
|
+
return;
|
|
972
|
+
}
|
|
973
|
+
const columnsToSelect = _class_private_field_get(this, _columnsToSelectOnMouseOver);
|
|
974
|
+
_class_private_field_set(this, _columnsToSelectOnMouseOver, null);
|
|
840
975
|
this.hot.selection.selectColumns(...columnsToSelect);
|
|
841
976
|
}), _class_private_field_set(this, _onBeforeOnCellMouseUp, ()=>{
|
|
842
977
|
_class_private_field_set(this, _isColumnsSelectionInProgress, false);
|
|
@@ -1018,21 +1153,8 @@ _onInit = /*#__PURE__*/ new WeakMap(), /**
|
|
|
1018
1153
|
}
|
|
1019
1154
|
}
|
|
1020
1155
|
}), _class_private_field_set(this, _onAfterViewportColumnCalculatorOverride, (calc)=>{
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
let nonRenderable = !!headerLayersCount;
|
|
1024
|
-
for(let headerLayer = 0; headerLayer < headerLayersCount; headerLayer++){
|
|
1025
|
-
const startColumn = _class_private_field_get(this, _stateManager).findLeftMostColumnIndex(headerLayer, calc.startColumn);
|
|
1026
|
-
const renderedStartColumn = this.hot.columnIndexMapper.getRenderableFromVisualIndex(startColumn);
|
|
1027
|
-
if (startColumn >= 0) {
|
|
1028
|
-
nonRenderable = false;
|
|
1029
|
-
}
|
|
1030
|
-
if (isNumeric(renderedStartColumn) && renderedStartColumn !== null && renderedStartColumn < calc.startColumn) {
|
|
1031
|
-
newStartColumn = renderedStartColumn;
|
|
1032
|
-
break;
|
|
1033
|
-
}
|
|
1034
|
-
}
|
|
1035
|
-
calc.startColumn = nonRenderable ? _class_private_field_get(this, _stateManager).getHeaderTreeNodeData(0, newStartColumn)?.columnIndex ?? newStartColumn : newStartColumn;
|
|
1156
|
+
_class_private_method_get(this, _extendViewportStartColumn, extendViewportStartColumn).call(this, calc);
|
|
1157
|
+
_class_private_method_get(this, _extendViewportEndColumn, extendViewportEndColumn).call(this, calc);
|
|
1036
1158
|
}), _class_private_field_set(this, _onModifyColWidth, (width, column)=>{
|
|
1037
1159
|
if (this.hot.getSettings().autoColumnSize === false) {
|
|
1038
1160
|
return width;
|
|
@@ -1067,10 +1189,13 @@ _onInit = /*#__PURE__*/ new WeakMap(), /**
|
|
|
1067
1189
|
this.updatePlugin();
|
|
1068
1190
|
}
|
|
1069
1191
|
}), _class_private_field_set(this, _onAfterCreateCol, (visualColumnIndex, amount)=>{
|
|
1070
|
-
|
|
1192
|
+
// The authored header settings are keyed by physical column, but the hook reports a visual index.
|
|
1193
|
+
// Translate it so the structure stays aligned after a column move, where visual != physical.
|
|
1194
|
+
const physicalColumnIndex = this.hot.columnIndexMapper.getPhysicalFromVisualIndex(visualColumnIndex) ?? visualColumnIndex;
|
|
1195
|
+
_class_private_field_get(this, _stateManager).insertColumns(visualColumnIndex, physicalColumnIndex, amount);
|
|
1071
1196
|
_class_private_field_set(this, _updateWidthsMap, true);
|
|
1072
|
-
}), _class_private_field_set(this, _onAfterRemoveCol, (visualColumnIndex, amount)=>{
|
|
1073
|
-
_class_private_field_get(this, _stateManager).removeColumns(visualColumnIndex, amount);
|
|
1197
|
+
}), _class_private_field_set(this, _onAfterRemoveCol, (visualColumnIndex, amount, physicalColumns)=>{
|
|
1198
|
+
_class_private_field_get(this, _stateManager).removeColumns(visualColumnIndex, amount, physicalColumns);
|
|
1074
1199
|
_class_private_field_set(this, _updateWidthsMap, true);
|
|
1075
1200
|
}), _class_private_field_set(this, _onBeforeViewRender, ()=>{
|
|
1076
1201
|
if (_class_private_field_get(this, _updateWidthsMap)) {
|
|
@@ -1080,6 +1205,44 @@ _onInit = /*#__PURE__*/ new WeakMap(), /**
|
|
|
1080
1205
|
});
|
|
1081
1206
|
}
|
|
1082
1207
|
}
|
|
1208
|
+
function reparentMovedColumns() {
|
|
1209
|
+
const movedPhysicalColumns = _class_private_field_get(this, _movedPhysicalColumns);
|
|
1210
|
+
const previous = _class_private_field_get(this, _preMoveColumnSequence);
|
|
1211
|
+
if (movedPhysicalColumns === null || previous === null) {
|
|
1212
|
+
return;
|
|
1213
|
+
}
|
|
1214
|
+
// A no-op move (the column order is unchanged - e.g. clicking a selected group header) must not
|
|
1215
|
+
// re-parent: recomputing membership for the "moved" columns would drop a prior adoption and split
|
|
1216
|
+
// the group. Only re-parent when the move actually reordered the columns.
|
|
1217
|
+
const sequence = this.hot.columnIndexMapper.getIndexesSequence();
|
|
1218
|
+
if (previous.length === sequence.length && previous.every((physicalColumn, index)=>physicalColumn === sequence[index])) {
|
|
1219
|
+
return;
|
|
1220
|
+
}
|
|
1221
|
+
// The capture is only valid for the move that produced this cache update. A hard-vetoed move
|
|
1222
|
+
// (a beforeColumnMove handler returning false) leaves the capture set with no move performed, and
|
|
1223
|
+
// a later 'move' cache update from another path (e.g. manualColumnFreeze calling moveIndexes
|
|
1224
|
+
// directly, which skips beforeColumnMove) would then re-parent the stale columns. moveIndexes
|
|
1225
|
+
// rebuilds the sequence as the non-moved columns in their original order with the moved columns
|
|
1226
|
+
// reinserted, so removing the captured columns from both sequences must leave identical residuals.
|
|
1227
|
+
// When they differ, this update came from a different reordering - skip rather than misapply it.
|
|
1228
|
+
if (!_class_private_method_get(this, _capturedMoveExplainsReorder, capturedMoveExplainsReorder).call(this, movedPhysicalColumns, previous, sequence)) {
|
|
1229
|
+
return;
|
|
1230
|
+
}
|
|
1231
|
+
const movedVisualColumns = [];
|
|
1232
|
+
movedPhysicalColumns.forEach((physicalColumn)=>{
|
|
1233
|
+
const visualColumn = this.hot.columnIndexMapper.getVisualFromPhysicalIndex(physicalColumn);
|
|
1234
|
+
if (visualColumn !== null) {
|
|
1235
|
+
movedVisualColumns.push(visualColumn);
|
|
1236
|
+
}
|
|
1237
|
+
});
|
|
1238
|
+
_class_private_field_get(this, _stateManager).reparentColumns(movedVisualColumns);
|
|
1239
|
+
}
|
|
1240
|
+
function capturedMoveExplainsReorder(movedPhysicalColumns, previousSequence, currentSequence) {
|
|
1241
|
+
const movedSet = new Set(movedPhysicalColumns);
|
|
1242
|
+
const residualBefore = previousSequence.filter((physicalColumn)=>!movedSet.has(physicalColumn));
|
|
1243
|
+
const residualAfter = currentSequence.filter((physicalColumn)=>!movedSet.has(physicalColumn));
|
|
1244
|
+
return residualBefore.length === residualAfter.length && residualBefore.every((physicalColumn, index)=>physicalColumn === residualAfter[index]);
|
|
1245
|
+
}
|
|
1083
1246
|
function applyColspan(TH, colspan, visualColumnIndex, renderedColumnIndex, fixedColumnsStart) {
|
|
1084
1247
|
if (colspan === undefined || colspan <= 1) {
|
|
1085
1248
|
return;
|
|
@@ -1147,3 +1310,39 @@ function findNearestNavigableHeaderColumn(headerRow, visualColumnIndex, directio
|
|
|
1147
1310
|
}
|
|
1148
1311
|
return null;
|
|
1149
1312
|
}
|
|
1313
|
+
function extendViewportStartColumn(calc) {
|
|
1314
|
+
const headerLayersCount = _class_private_field_get(this, _stateManager).getLayersCount();
|
|
1315
|
+
let newStartColumn = calc.startColumn;
|
|
1316
|
+
let nonRenderable = !!headerLayersCount;
|
|
1317
|
+
for(let headerLayer = 0; headerLayer < headerLayersCount; headerLayer++){
|
|
1318
|
+
const startColumn = _class_private_field_get(this, _stateManager).findLeftMostColumnIndex(headerLayer, calc.startColumn);
|
|
1319
|
+
const renderedStartColumn = this.hot.columnIndexMapper.getRenderableFromVisualIndex(startColumn);
|
|
1320
|
+
if (startColumn >= 0) {
|
|
1321
|
+
nonRenderable = false;
|
|
1322
|
+
}
|
|
1323
|
+
if (isNumeric(renderedStartColumn) && renderedStartColumn !== null && renderedStartColumn < calc.startColumn) {
|
|
1324
|
+
newStartColumn = renderedStartColumn;
|
|
1325
|
+
break;
|
|
1326
|
+
}
|
|
1327
|
+
}
|
|
1328
|
+
calc.startColumn = nonRenderable ? _class_private_field_get(this, _stateManager).getHeaderTreeNodeData(0, newStartColumn)?.columnIndex ?? newStartColumn : newStartColumn;
|
|
1329
|
+
}
|
|
1330
|
+
function extendViewportEndColumn(calc) {
|
|
1331
|
+
const columnIndexMapper = this.hot.columnIndexMapper;
|
|
1332
|
+
const headerLayersCount = _class_private_field_get(this, _stateManager).getLayersCount();
|
|
1333
|
+
const visualEndColumn = columnIndexMapper.getVisualFromRenderableIndex(calc.endColumn);
|
|
1334
|
+
if (visualEndColumn === null) {
|
|
1335
|
+
return;
|
|
1336
|
+
}
|
|
1337
|
+
for(let headerLayer = 0; headerLayer < headerLayersCount; headerLayer++){
|
|
1338
|
+
const endColumn = _class_private_field_get(this, _stateManager).findRightMostColumnIndex(headerLayer, visualEndColumn);
|
|
1339
|
+
const nearestColumn = columnIndexMapper.getNearestNotHiddenIndex(endColumn, -1);
|
|
1340
|
+
const renderedEndColumn = nearestColumn === null ? null : columnIndexMapper.getRenderableFromVisualIndex(nearestColumn);
|
|
1341
|
+
// The top header layer holds the widest spans, so the first layer that expands the
|
|
1342
|
+
// boundary already yields the largest extent - no deeper layer can exceed it.
|
|
1343
|
+
if (renderedEndColumn !== null && renderedEndColumn > calc.endColumn) {
|
|
1344
|
+
calc.endColumn = renderedEndColumn;
|
|
1345
|
+
break;
|
|
1346
|
+
}
|
|
1347
|
+
}
|
|
1348
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './columnArrangement.js';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { HotInstance } from '../../../core/types';
|
|
2
|
+
/**
|
|
3
|
+
* A port that exposes the current visual-to-physical column arrangement, abstracting the
|
|
4
|
+
* Handsontable column index mapper away from the header-tree derivation logic.
|
|
5
|
+
*
|
|
6
|
+
* The nested-header structure is authored in physical-column space (the position of each header in
|
|
7
|
+
* the `nestedHeaders` settings, where visual equals physical at initialization). Deriving the render
|
|
8
|
+
* structure means walking the columns in their current visual order and reading the header authored
|
|
9
|
+
* for whatever physical column now sits at each visual position - which is exactly what this port
|
|
10
|
+
* provides. It is the structural counterpart to `ColumnVisibility`.
|
|
11
|
+
*/
|
|
12
|
+
export interface ColumnArrangement {
|
|
13
|
+
/**
|
|
14
|
+
* Returns the physical column index currently mapped to the given visual column index.
|
|
15
|
+
*
|
|
16
|
+
* @param {number} visualColumnIndex - The visual column index to translate.
|
|
17
|
+
* @returns {number} The physical column index.
|
|
18
|
+
*/
|
|
19
|
+
getPhysicalFromVisual(visualColumnIndex: number): number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Creates a ColumnArrangement port adapter backed by the Handsontable column index mapper.
|
|
23
|
+
* The adapter reports the live visual-to-physical mapping, so a column move (which reorders the
|
|
24
|
+
* mapper's index sequence) is reflected the next time the structure is derived.
|
|
25
|
+
*
|
|
26
|
+
* @param {HotInstance} hot - The Handsontable instance.
|
|
27
|
+
* @returns {ColumnArrangement} The arrangement port backed by the column index mapper.
|
|
28
|
+
*/
|
|
29
|
+
export declare function createColumnArrangementAdapter(hot: HotInstance): ColumnArrangement;
|
|
30
|
+
/**
|
|
31
|
+
* Creates an identity ColumnArrangement where every visual column maps to the same physical column.
|
|
32
|
+
* This reproduces the pre-move state (visual equals physical) and is used as the regression baseline
|
|
33
|
+
* and in tests, where deriving against it must yield the same structure as the legacy build.
|
|
34
|
+
*
|
|
35
|
+
* @returns {ColumnArrangement} An identity arrangement.
|
|
36
|
+
*/
|
|
37
|
+
export declare function createIdentityColumnArrangement(): ColumnArrangement;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get createColumnArrangementAdapter () {
|
|
13
|
+
return createColumnArrangementAdapter;
|
|
14
|
+
},
|
|
15
|
+
get createIdentityColumnArrangement () {
|
|
16
|
+
return createIdentityColumnArrangement;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
function createColumnArrangementAdapter(hot) {
|
|
20
|
+
return {
|
|
21
|
+
getPhysicalFromVisual (visualColumnIndex) {
|
|
22
|
+
const physicalIndex = hot.columnIndexMapper.getPhysicalFromVisualIndex(visualColumnIndex);
|
|
23
|
+
// A null result means the visual index is out of range; fall back to the identity mapping so
|
|
24
|
+
// the caller (which only iterates indexes within the authored width) stays well defined.
|
|
25
|
+
return physicalIndex === null ? visualColumnIndex : physicalIndex;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function createIdentityColumnArrangement() {
|
|
30
|
+
return {
|
|
31
|
+
getPhysicalFromVisual (visualColumnIndex) {
|
|
32
|
+
return visualColumnIndex;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a ColumnArrangement port adapter backed by the Handsontable column index mapper.
|
|
3
|
+
* The adapter reports the live visual-to-physical mapping, so a column move (which reorders the
|
|
4
|
+
* mapper's index sequence) is reflected the next time the structure is derived.
|
|
5
|
+
*
|
|
6
|
+
* @param {HotInstance} hot - The Handsontable instance.
|
|
7
|
+
* @returns {ColumnArrangement} The arrangement port backed by the column index mapper.
|
|
8
|
+
*/ export function createColumnArrangementAdapter(hot) {
|
|
9
|
+
return {
|
|
10
|
+
getPhysicalFromVisual (visualColumnIndex) {
|
|
11
|
+
const physicalIndex = hot.columnIndexMapper.getPhysicalFromVisualIndex(visualColumnIndex);
|
|
12
|
+
// A null result means the visual index is out of range; fall back to the identity mapping so
|
|
13
|
+
// the caller (which only iterates indexes within the authored width) stays well defined.
|
|
14
|
+
return physicalIndex === null ? visualColumnIndex : physicalIndex;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Creates an identity ColumnArrangement where every visual column maps to the same physical column.
|
|
20
|
+
* This reproduces the pre-move state (visual equals physical) and is used as the regression baseline
|
|
21
|
+
* and in tests, where deriving against it must yield the same structure as the legacy build.
|
|
22
|
+
*
|
|
23
|
+
* @returns {ColumnArrangement} An identity arrangement.
|
|
24
|
+
*/ export function createIdentityColumnArrangement() {
|
|
25
|
+
return {
|
|
26
|
+
getPhysicalFromVisual (visualColumnIndex) {
|
|
27
|
+
return visualColumnIndex;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './deriveSettings.js';
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { ColumnArrangement } from './columnArrangement';
|
|
2
|
+
import type { SourceHeaderCell } from './sourceSettings';
|
|
3
|
+
/**
|
|
4
|
+
* Membership overrides re-parent specific columns after a move: `physical column -> header level ->
|
|
5
|
+
* owner identity`. The owner identity is the destination group's authored owner index (`>= 0`), or a
|
|
6
|
+
* negative value meaning "standalone" (rendered as its own header). An entry overrides the authored
|
|
7
|
+
* owner for that column at that level; absence falls back to the authored structure. Only group levels
|
|
8
|
+
* carry overrides - a leaf always keeps its own label.
|
|
9
|
+
*/
|
|
10
|
+
export type MembershipOverrides = Map<number, Map<number, number>>;
|
|
11
|
+
/**
|
|
12
|
+
* Computes, for one normalized header layer, the index of the header cell that owns each column.
|
|
13
|
+
*
|
|
14
|
+
* In the normalized representation a header that spans N columns is one cell at its left edge with
|
|
15
|
+
* `origColspan = N`, followed by N-1 placeholder cells. The owner index of every column in that span
|
|
16
|
+
* is the left-edge index. Because the authored configuration is properly nested, this left-edge
|
|
17
|
+
* index is a stable identity for the group at that level - two distinct groups (even with the same
|
|
18
|
+
* label) own different columns, so they never merge when a move makes them adjacent.
|
|
19
|
+
*
|
|
20
|
+
* @param {SourceHeaderCell[]} layer - A single normalized header layer (one row of the matrix).
|
|
21
|
+
* @returns {number[]} For each column index, the owning header cell's index within the layer.
|
|
22
|
+
*/
|
|
23
|
+
export declare function computeOwnerIndex(layer: SourceHeaderCell[]): number[];
|
|
24
|
+
/**
|
|
25
|
+
* Resolves the group owner key for one physical column at one header level, applying the
|
|
26
|
+
* standalone-sentinel and override-precedence contract shared by the derive and re-parent logic.
|
|
27
|
+
*
|
|
28
|
+
* A membership override (from a column move) wins: a non-negative value is the destination group's
|
|
29
|
+
* authored owner index, a negative value means standalone. With no override the authored owner index
|
|
30
|
+
* applies; a physical column with no authored header at this level gets a unique negative key
|
|
31
|
+
* (`-1 - physical`) so it never coalesces with a real group.
|
|
32
|
+
*
|
|
33
|
+
* @param {number} physical - The physical column index.
|
|
34
|
+
* @param {number[]} ownerIndex - The authored owner index per physical column for this level.
|
|
35
|
+
* @param {number} [override] - The membership override for this column at this level, if any.
|
|
36
|
+
* @returns {number} The group owner key (`>= 0` group, `< 0` standalone).
|
|
37
|
+
*/
|
|
38
|
+
export declare function resolveOwnerKey(physical: number, ownerIndex: number[], override?: number): number;
|
|
39
|
+
/**
|
|
40
|
+
* Derives the visual-order nested-header settings from the authored (physical-order) settings and a
|
|
41
|
+
* column arrangement. This is the structural counterpart to `syncVisibilityOnTree`: visibility
|
|
42
|
+
* answers "which columns are hidden", this answers "which header sits over each visual column".
|
|
43
|
+
*
|
|
44
|
+
* With an identity arrangement the output equals the authored input, so the legacy build is
|
|
45
|
+
* reproduced exactly. With a moved arrangement the headers follow their physical columns, and groups
|
|
46
|
+
* whose columns are no longer adjacent split into several same-label cells (the AG Grid model).
|
|
47
|
+
*
|
|
48
|
+
* The output width is the authored column count (every layer is normalized to that width), so the
|
|
49
|
+
* structure spans exactly the columns the nested-headers definition covers - the same span as the
|
|
50
|
+
* legacy build. The arrangement supplies only the visual-to-physical mapping.
|
|
51
|
+
*
|
|
52
|
+
* @param {SourceHeaderCell[][]} authoredSettings - The normalized header settings in authored order.
|
|
53
|
+
* @param {ColumnArrangement} arrangement - The current visual-to-physical column arrangement.
|
|
54
|
+
* @param {MembershipOverrides} [membershipOverrides] - Per-column re-parenting from column moves.
|
|
55
|
+
* @returns {SourceHeaderCell[][]} The normalized header settings in visual order.
|
|
56
|
+
*/
|
|
57
|
+
export declare function deriveVisualSettings(authoredSettings: SourceHeaderCell[][], arrangement: ColumnArrangement, membershipOverrides?: MembershipOverrides): SourceHeaderCell[][];
|