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
|
@@ -104,8 +104,89 @@ var /**
|
|
|
104
104
|
*
|
|
105
105
|
* @type {boolean}
|
|
106
106
|
*/ _initialized = /*#__PURE__*/ new WeakMap(), /**
|
|
107
|
+
* Physical top-left (row/column) of every merged cell, captured while its visual coordinates are
|
|
108
|
+
* authoritative (creation, structural edits). Read on a pure row-trimming change to re-anchor the
|
|
109
|
+
* merge's visual `row`/`col` onto the rows that stay visible — keeping the merge whole (span
|
|
110
|
+
* unchanged) instead of clipping it. Physical indexes are stable across trimming, so one capture
|
|
111
|
+
* survives any number of filter/trim toggles.
|
|
112
|
+
*
|
|
113
|
+
* @type {WeakMap<MergedCellCoords, { physicalRow: number, physicalColumn: number }>}
|
|
114
|
+
*/ _mergeAnchors = /*#__PURE__*/ new WeakMap(), /**
|
|
115
|
+
* Merges whose entire row span is currently trimmed, so they have been removed from the lookup
|
|
116
|
+
* matrix to avoid colliding with whatever physical row later surfaces at their stale visual slot.
|
|
117
|
+
* Tracked so that when such a merge becomes visible again it is force-added back to the matrix even
|
|
118
|
+
* if it lands on the exact visual `row`/`col` it held before being purged (where the
|
|
119
|
+
* "skip when unchanged" relocation optimization would otherwise leave it absent).
|
|
120
|
+
*
|
|
121
|
+
* @type {WeakSet<MergedCellCoords>}
|
|
122
|
+
*/ _purgedMerges = /*#__PURE__*/ new WeakMap(), /**
|
|
123
|
+
* Eagerly removes the merge-related cell meta (`hidden`, `copyable`, `spanned`, `rowspan`,
|
|
124
|
+
* `colspan`) for every cell covered by the provided merged cell. Done at the moment the merge
|
|
125
|
+
* is dropped — rather than lazily in `afterGetCellMeta` — so the stale flags cannot linger in
|
|
126
|
+
* the cached meta and leak into consumers that read it directly (e.g. `toHTML`) when the
|
|
127
|
+
* following render is suspended/batched and never actually runs.
|
|
128
|
+
*
|
|
129
|
+
* @param {MergedCellCoords} mergedCell The merged cell whose meta should be reset.
|
|
130
|
+
*/ _resetMergedCellMeta = /*#__PURE__*/ new WeakSet(), /**
|
|
107
131
|
* `afterInit` hook callback.
|
|
108
132
|
*/ _onAfterInit = /*#__PURE__*/ new WeakMap(), /**
|
|
133
|
+
* `afterMergeCells` hook callback. Captures the physical anchor of the just-created merge so it can
|
|
134
|
+
* be re-anchored on later trimming changes (covers user/API merges; config merges are also captured
|
|
135
|
+
* in `afterInit`/`updatePlugin`).
|
|
136
|
+
*
|
|
137
|
+
* @param {CellRange} _cellRange The merged range (unused).
|
|
138
|
+
* @param {{ row: number, col: number, rowspan: number, colspan: number }} mergeParent The merged cell.
|
|
139
|
+
*/ _onAfterMergeCellsCapture = /*#__PURE__*/ new WeakMap(), /**
|
|
140
|
+
* Row index mapper `cacheUpdated` callback. Re-anchors every merge onto its physical anchor's current
|
|
141
|
+
* visual position after any index-mapper cache change — a visibility change (Filters / `trimRows` /
|
|
142
|
+
* `nestedRows` collapse / `hiddenRows`) or an index-sequence change (a sort / move). The re-anchor is
|
|
143
|
+
* anchor-based and idempotent, and this hook fires after the mapper cache has been (re)built —
|
|
144
|
+
* including once at the end of a batched `suspendOperations`/`resumeOperations` block — so it is the
|
|
145
|
+
* authoritative place to position merges: it covers a plain filter, a sort and a filter batched
|
|
146
|
+
* together, and a standalone batched sort (where re-anchoring inside the in-batch `afterColumnSort`
|
|
147
|
+
* hook used to read a stale, pre-sort cache). Row/column moves additionally translate (and split)
|
|
148
|
+
* spans in their `afterRowMove`/`afterColumnMove` hooks; this re-anchor runs on top of that authoritative
|
|
149
|
+
* translation as a no-op.
|
|
150
|
+
*
|
|
151
|
+
* @param {{ trimmedIndexesChanged: boolean, hiddenIndexesChanged: boolean, indexesSequenceChanged:
|
|
152
|
+
* boolean }} changes Cache flags.
|
|
153
|
+
*/ _onRowIndexCacheUpdated = /*#__PURE__*/ new WeakMap(), /**
|
|
154
|
+
* Captures the physical top-left of a single merge from its current visual coords. While row
|
|
155
|
+
* trimming is active the merge's visual `row` may be a re-anchored, derived value (set by
|
|
156
|
+
* {@link MergeCells#reanchorMergesToVisibleRows}), so re-deriving the physical row from it would
|
|
157
|
+
* corrupt the authoritative anchor captured earlier — the previously stored `physicalRow` is kept
|
|
158
|
+
* instead. The column is never distorted by row trimming, so it is always refreshed (covering
|
|
159
|
+
* column insert/remove performed while a filter is active). A merge with no anchor yet (e.g. created
|
|
160
|
+
* during an active filter) is captured best-effort from its current, visible position.
|
|
161
|
+
*
|
|
162
|
+
* @param {MergedCellCoords} merge The merge to capture.
|
|
163
|
+
* @param {boolean} [trimmingActive] Whether row trimming is currently active (computed if omitted).
|
|
164
|
+
*/ _captureAnchorOf = /*#__PURE__*/ new WeakSet(), /**
|
|
165
|
+
* Captures the physical top-left of every merge (after a bulk (re)generation).
|
|
166
|
+
*/ _captureMergeAnchors = /*#__PURE__*/ new WeakSet(), /**
|
|
167
|
+
* Remaps the cached physical row of every merge's anchor after a row insert/remove. While trimming
|
|
168
|
+
* is active {@link MergeCells#captureAnchorOf} preserves the stored `physicalRow` verbatim, so the
|
|
169
|
+
* structural edit's physical renumbering has to be mirrored onto the cache here or re-anchoring would
|
|
170
|
+
* later target stale rows. Only merges still present in the collection are visited (fully removed ones
|
|
171
|
+
* were already dropped by `shiftCollections`), so each anchor always maps to a valid surviving row.
|
|
172
|
+
*
|
|
173
|
+
* @param {function(number): number} mapPhysicalRow Maps an old physical row to its new one.
|
|
174
|
+
*/ _remapRowAnchors = /*#__PURE__*/ new WeakSet(), /**
|
|
175
|
+
* Whether any row is currently trimmed (Filters / `trimRows` / `nestedRows`). Trimming compresses
|
|
176
|
+
* the visual row space, so while it is active a merge's visual `row` may be a re-anchored, derived
|
|
177
|
+
* value rather than an authoritative one.
|
|
178
|
+
*
|
|
179
|
+
* @returns {boolean}
|
|
180
|
+
*/ _isRowTrimmingActive = /*#__PURE__*/ new WeakSet(), /**
|
|
181
|
+
* Re-anchors every merge's visual `row`/`col` to the visual position of its captured physical
|
|
182
|
+
* top-left, keeping `rowspan`/`colspan`. The render translation then spans the merge over the
|
|
183
|
+
* visible rows from there. When the anchor's own physical row is hidden, the merge falls back to the
|
|
184
|
+
* topmost still-visible physical row within its span, so it follows the visible rows down instead of
|
|
185
|
+
* being left behind on a hidden row. Merges with no captured anchor are left untouched. Merges with
|
|
186
|
+
* a hidden anchor column or a fully hidden row span have no visible top-left, so they are purged
|
|
187
|
+
* from the lookup matrix (and re-added once they become visible again) to avoid leaving a stale
|
|
188
|
+
* entry that a later filter could resolve to as a phantom merge.
|
|
189
|
+
*/ _reanchorMergesToVisibleRows = /*#__PURE__*/ new WeakSet(), /**
|
|
109
190
|
* Modifies the information on whether the current selection contains multiple cells. The `afterIsMultipleSelection`
|
|
110
191
|
* hook callback.
|
|
111
192
|
*
|
|
@@ -189,6 +270,7 @@ var /**
|
|
|
189
270
|
*
|
|
190
271
|
* @param {number} row Row index.
|
|
191
272
|
* @param {number} count Number of removed rows.
|
|
273
|
+
* @param {number[]} physicalRows Physical indexes of the removed rows.
|
|
192
274
|
*/ _onAfterRemoveRow = /*#__PURE__*/ new WeakMap(), /**
|
|
193
275
|
* `beforeColumnMove` hook callback. Captures physical column positions of every merge
|
|
194
276
|
* so they can be translated onto the new visual order in `afterColumnMove`.
|
|
@@ -268,6 +350,12 @@ var /**
|
|
|
268
350
|
* @param {MouseEvent | KeyboardEvent} event The event which was responsible for opening the editor.
|
|
269
351
|
* @returns {boolean | undefined}
|
|
270
352
|
*/ _onBeforeBeginEditing = /*#__PURE__*/ new WeakMap(), /**
|
|
353
|
+
* Opts the table out of single-pass rendering while merged cells are present. A virtualized merged
|
|
354
|
+
* cell's height depends on which rows are in the viewport — the very thing the predicted layout is
|
|
355
|
+
* trying to compute — so merge tables keep the legacy measure-then-render path.
|
|
356
|
+
*
|
|
357
|
+
* @returns {boolean}
|
|
358
|
+
*/ _onModifySinglePassLayout = /*#__PURE__*/ new WeakMap(), /**
|
|
271
359
|
* Hook used to modify the row height depends on the merged cells in the row.
|
|
272
360
|
*
|
|
273
361
|
* @param {number} height The row height value provided by the Core.
|
|
@@ -402,17 +490,23 @@ var /**
|
|
|
402
490
|
this.addHook('beforeRemoveCellClassNames', _class_private_field_get(this, _onBeforeRemoveCellClassNames));
|
|
403
491
|
this.addHook('beforeBeginEditing', _class_private_field_get(this, _onBeforeBeginEditing));
|
|
404
492
|
this.addHook('modifyRowHeightByOverlayName', _class_private_field_get(this, _onModifyRowHeightByOverlayName));
|
|
493
|
+
this.addHook('modifySinglePassLayout', _class_private_field_get(this, _onModifySinglePassLayout));
|
|
405
494
|
this.addHook('beforeUndoStackChange', (action, source)=>{
|
|
406
495
|
if (source === 'MergeCells') {
|
|
407
496
|
return false;
|
|
408
497
|
}
|
|
409
498
|
});
|
|
499
|
+
this.addHook('afterMergeCells', _class_private_field_get(this, _onAfterMergeCellsCapture));
|
|
410
500
|
this.registerShortcuts();
|
|
501
|
+
// React to the row trimming map changing (Filters / `trimRows` / `nestedRows` collapse), so a
|
|
502
|
+
// merge whose anchor row gets hidden is re-anchored onto the still-visible rows.
|
|
503
|
+
this.hot.rowIndexMapper.addLocalHook('cacheUpdated', _class_private_field_get(this, _onRowIndexCacheUpdated));
|
|
411
504
|
super.enablePlugin();
|
|
412
505
|
}
|
|
413
506
|
/**
|
|
414
507
|
* Disables the plugin functionality for this Handsontable instance.
|
|
415
508
|
*/ disablePlugin() {
|
|
509
|
+
this.hot.rowIndexMapper.removeLocalHook('cacheUpdated', _class_private_field_get(this, _onRowIndexCacheUpdated));
|
|
416
510
|
this.clearCollections();
|
|
417
511
|
this.unregisterShortcuts();
|
|
418
512
|
this.hot.render();
|
|
@@ -420,6 +514,13 @@ var /**
|
|
|
420
514
|
super.disablePlugin();
|
|
421
515
|
}
|
|
422
516
|
/**
|
|
517
|
+
* Destroys the plugin instance. Removes the row index mapper local hook explicitly, because
|
|
518
|
+
* `BasePlugin#destroy` only clears `addHook`-managed hooks, not raw `addLocalHook` registrations.
|
|
519
|
+
*/ destroy() {
|
|
520
|
+
this.hot?.rowIndexMapper.removeLocalHook('cacheUpdated', _class_private_field_get(this, _onRowIndexCacheUpdated));
|
|
521
|
+
super.destroy();
|
|
522
|
+
}
|
|
523
|
+
/**
|
|
423
524
|
* Updates the plugin's state.
|
|
424
525
|
*
|
|
425
526
|
* This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the
|
|
@@ -430,6 +531,7 @@ var /**
|
|
|
430
531
|
this.enablePlugin();
|
|
431
532
|
this.generateFromSettings();
|
|
432
533
|
_class_private_field_set(this, _initialized, true);
|
|
534
|
+
_class_private_method_get(this, _captureMergeAnchors, captureMergeAnchors).call(this);
|
|
433
535
|
super.updatePlugin();
|
|
434
536
|
}
|
|
435
537
|
/**
|
|
@@ -543,6 +645,9 @@ var /**
|
|
|
543
645
|
/**
|
|
544
646
|
* Clears the merged cells from the merged cell container.
|
|
545
647
|
*/ clearCollections() {
|
|
648
|
+
arrayEach(this.mergedCellsCollection.mergedCells, (mergedCell)=>{
|
|
649
|
+
_class_private_method_get(this, _resetMergedCellMeta, resetMergedCellMeta).call(this, mergedCell);
|
|
650
|
+
});
|
|
546
651
|
this.mergedCellsCollection.clear();
|
|
547
652
|
}
|
|
548
653
|
/**
|
|
@@ -667,13 +772,7 @@ var /**
|
|
|
667
772
|
this.hot.runHooks('beforeUnmergeCells', cellRange, auto);
|
|
668
773
|
arrayEach(mergedCells, (currentCollection)=>{
|
|
669
774
|
this.mergedCellsCollection.remove(currentCollection.row, currentCollection.col);
|
|
670
|
-
|
|
671
|
-
rangeEach(0, currentCollection.colspan - 1, (j)=>{
|
|
672
|
-
this.hot.removeCellMeta(currentCollection.row + i, currentCollection.col + j, 'hidden');
|
|
673
|
-
this.hot.removeCellMeta(currentCollection.row + i, currentCollection.col + j, 'copyable');
|
|
674
|
-
});
|
|
675
|
-
});
|
|
676
|
-
this.hot.removeCellMeta(currentCollection.row, currentCollection.col, 'spanned');
|
|
775
|
+
_class_private_method_get(this, _resetMergedCellMeta, resetMergedCellMeta).call(this, currentCollection);
|
|
677
776
|
});
|
|
678
777
|
this.hot.runHooks('afterUnmergeCells', cellRange, auto);
|
|
679
778
|
this.hot.render();
|
|
@@ -699,10 +798,10 @@ var /**
|
|
|
699
798
|
/**
|
|
700
799
|
* Merges the specified range.
|
|
701
800
|
*
|
|
702
|
-
* @param {number} startRow
|
|
703
|
-
* @param {number} startColumn
|
|
704
|
-
* @param {number} endRow
|
|
705
|
-
* @param {number} endColumn
|
|
801
|
+
* @param {number} startRow Visual start row of the merged cell.
|
|
802
|
+
* @param {number} startColumn Visual start column of the merged cell.
|
|
803
|
+
* @param {number} endRow Visual end row of the merged cell.
|
|
804
|
+
* @param {number} endColumn Visual end column of the merged cell.
|
|
706
805
|
* @fires Hooks#beforeMergeCells
|
|
707
806
|
* @fires Hooks#afterMergeCells
|
|
708
807
|
*/ merge(startRow, startColumn, endRow, endColumn) {
|
|
@@ -713,10 +812,10 @@ var /**
|
|
|
713
812
|
/**
|
|
714
813
|
* Unmerges the merged cell in the provided range.
|
|
715
814
|
*
|
|
716
|
-
* @param {number} startRow
|
|
717
|
-
* @param {number} startColumn
|
|
718
|
-
* @param {number} endRow
|
|
719
|
-
* @param {number} endColumn
|
|
815
|
+
* @param {number} startRow Visual start row of the merged cell.
|
|
816
|
+
* @param {number} startColumn Visual start column of the merged cell.
|
|
817
|
+
* @param {number} endRow Visual end row of the merged cell.
|
|
818
|
+
* @param {number} endColumn Visual end column of the merged cell.
|
|
720
819
|
* @fires Hooks#beforeUnmergeCells
|
|
721
820
|
* @fires Hooks#afterUnmergeCells
|
|
722
821
|
*/ unmerge(startRow, startColumn, endRow, endColumn) {
|
|
@@ -770,16 +869,15 @@ var /**
|
|
|
770
869
|
*/ modifyViewportRowStart(calc, nrOfColumns) {
|
|
771
870
|
const rowMapper = this.hot.rowIndexMapper;
|
|
772
871
|
const visualStartRow = rowMapper.getVisualFromRenderableIndex(calc.startRow) ?? 0;
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
}
|
|
872
|
+
const mergedCellsWithinRow = this.mergedCellsCollection.getByVisualRow(visualStartRow);
|
|
873
|
+
for(let i = 0; i < mergedCellsWithinRow.length; i += 1){
|
|
874
|
+
const mergeParentForViewportStart = mergedCellsWithinRow[i];
|
|
875
|
+
const nearestNotHiddenRow = rowMapper.getNearestNotHiddenIndex(mergeParentForViewportStart.row, 1);
|
|
876
|
+
const renderableIndexAtMergeStart = nearestNotHiddenRow !== null ? rowMapper.getRenderableFromVisualIndex(nearestNotHiddenRow) : null;
|
|
877
|
+
if (renderableIndexAtMergeStart !== null && renderableIndexAtMergeStart < calc.startRow) {
|
|
878
|
+
calc.startRow = renderableIndexAtMergeStart;
|
|
879
|
+
this.modifyViewportRowStart(calc, nrOfColumns);
|
|
880
|
+
return;
|
|
783
881
|
}
|
|
784
882
|
}
|
|
785
883
|
}
|
|
@@ -792,18 +890,17 @@ var /**
|
|
|
792
890
|
*/ modifyViewportRowEnd(calc, nrOfColumns) {
|
|
793
891
|
const rowMapper = this.hot.rowIndexMapper;
|
|
794
892
|
const visualEndRow = rowMapper.getVisualFromRenderableIndex(calc.endRow) ?? 0;
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
}
|
|
893
|
+
const mergedCellsWithinRow = this.mergedCellsCollection.getByVisualRow(visualEndRow);
|
|
894
|
+
for(let i = 0; i < mergedCellsWithinRow.length; i += 1){
|
|
895
|
+
const mergeParentForViewportEnd = mergedCellsWithinRow[i];
|
|
896
|
+
const mergeEnd = mergeParentForViewportEnd.row + mergeParentForViewportEnd.rowspan - 1;
|
|
897
|
+
const nearestRow = rowMapper.getNearestNotHiddenIndex(mergeEnd, -1);
|
|
898
|
+
if (nearestRow !== null) {
|
|
899
|
+
const renderableIndexAtMergeEnd = rowMapper.getRenderableFromVisualIndex(nearestRow);
|
|
900
|
+
if (renderableIndexAtMergeEnd !== null && renderableIndexAtMergeEnd > calc.endRow) {
|
|
901
|
+
calc.endRow = renderableIndexAtMergeEnd;
|
|
902
|
+
this.modifyViewportRowEnd(calc, nrOfColumns);
|
|
903
|
+
return;
|
|
807
904
|
}
|
|
808
905
|
}
|
|
809
906
|
}
|
|
@@ -817,17 +914,16 @@ var /**
|
|
|
817
914
|
*/ modifyViewportColumnStart(calc, nrOfRows) {
|
|
818
915
|
const columnMapper = this.hot.columnIndexMapper;
|
|
819
916
|
const visualStartCol = columnMapper.getVisualFromRenderableIndex(calc.startColumn) ?? 0;
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
}
|
|
917
|
+
const mergedCellsWithinColumn = this.mergedCellsCollection.getByVisualColumn(visualStartCol);
|
|
918
|
+
for(let i = 0; i < mergedCellsWithinColumn.length; i += 1){
|
|
919
|
+
const mergeParentForViewportStart = mergedCellsWithinColumn[i];
|
|
920
|
+
const nearestCol = columnMapper.getNearestNotHiddenIndex(mergeParentForViewportStart.col, 1);
|
|
921
|
+
if (nearestCol !== null) {
|
|
922
|
+
const renderableIndexAtMergeStart = columnMapper.getRenderableFromVisualIndex(nearestCol);
|
|
923
|
+
if (renderableIndexAtMergeStart !== null && renderableIndexAtMergeStart < calc.startColumn) {
|
|
924
|
+
calc.startColumn = renderableIndexAtMergeStart;
|
|
925
|
+
this.modifyViewportColumnStart(calc, nrOfRows);
|
|
926
|
+
return;
|
|
831
927
|
}
|
|
832
928
|
}
|
|
833
929
|
}
|
|
@@ -841,18 +937,17 @@ var /**
|
|
|
841
937
|
*/ modifyViewportColumnEnd(calc, nrOfRows) {
|
|
842
938
|
const columnMapper = this.hot.columnIndexMapper;
|
|
843
939
|
const visualEndCol = columnMapper.getVisualFromRenderableIndex(calc.endColumn) ?? 0;
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
}
|
|
940
|
+
const mergedCellsWithinColumn = this.mergedCellsCollection.getByVisualColumn(visualEndCol);
|
|
941
|
+
for(let i = 0; i < mergedCellsWithinColumn.length; i += 1){
|
|
942
|
+
const mergeParentForViewportEnd = mergedCellsWithinColumn[i];
|
|
943
|
+
const mergeEnd = mergeParentForViewportEnd.col + mergeParentForViewportEnd.colspan - 1;
|
|
944
|
+
const nearestCol = columnMapper.getNearestNotHiddenIndex(mergeEnd, -1);
|
|
945
|
+
if (nearestCol !== null) {
|
|
946
|
+
const renderableIndexAtMergeEnd = columnMapper.getRenderableFromVisualIndex(nearestCol);
|
|
947
|
+
if (renderableIndexAtMergeEnd !== null && renderableIndexAtMergeEnd > calc.endColumn) {
|
|
948
|
+
calc.endColumn = renderableIndexAtMergeEnd;
|
|
949
|
+
this.modifyViewportColumnEnd(calc, nrOfRows);
|
|
950
|
+
return;
|
|
856
951
|
}
|
|
857
952
|
}
|
|
858
953
|
}
|
|
@@ -888,7 +983,7 @@ var /**
|
|
|
888
983
|
];
|
|
889
984
|
}
|
|
890
985
|
constructor(...args){
|
|
891
|
-
super(...args), _class_private_method_init(this, _addMergeActionsToContextMenu), _class_private_field_init(this, _lastSelectedFocus, {
|
|
986
|
+
super(...args), _class_private_method_init(this, _resetMergedCellMeta), _class_private_method_init(this, _captureAnchorOf), _class_private_method_init(this, _captureMergeAnchors), _class_private_method_init(this, _remapRowAnchors), _class_private_method_init(this, _isRowTrimmingActive), _class_private_method_init(this, _reanchorMergesToVisibleRows), _class_private_method_init(this, _addMergeActionsToContextMenu), _class_private_field_init(this, _lastSelectedFocus, {
|
|
892
987
|
writable: true,
|
|
893
988
|
value: void 0
|
|
894
989
|
}), _class_private_field_init(this, _lastFocusDelta, {
|
|
@@ -909,9 +1004,21 @@ var /**
|
|
|
909
1004
|
}), _class_private_field_init(this, _initialized, {
|
|
910
1005
|
writable: true,
|
|
911
1006
|
value: void 0
|
|
1007
|
+
}), _class_private_field_init(this, _mergeAnchors, {
|
|
1008
|
+
writable: true,
|
|
1009
|
+
value: void 0
|
|
1010
|
+
}), _class_private_field_init(this, _purgedMerges, {
|
|
1011
|
+
writable: true,
|
|
1012
|
+
value: void 0
|
|
912
1013
|
}), _class_private_field_init(this, _onAfterInit, {
|
|
913
1014
|
writable: true,
|
|
914
1015
|
value: void 0
|
|
1016
|
+
}), _class_private_field_init(this, _onAfterMergeCellsCapture, {
|
|
1017
|
+
writable: true,
|
|
1018
|
+
value: void 0
|
|
1019
|
+
}), _class_private_field_init(this, _onRowIndexCacheUpdated, {
|
|
1020
|
+
writable: true,
|
|
1021
|
+
value: void 0
|
|
915
1022
|
}), _class_private_field_init(this, _onAfterIsMultipleSelection, {
|
|
916
1023
|
writable: true,
|
|
917
1024
|
value: void 0
|
|
@@ -999,6 +1106,9 @@ var /**
|
|
|
999
1106
|
}), _class_private_field_init(this, _onBeforeBeginEditing, {
|
|
1000
1107
|
writable: true,
|
|
1001
1108
|
value: void 0
|
|
1109
|
+
}), _class_private_field_init(this, _onModifySinglePassLayout, {
|
|
1110
|
+
writable: true,
|
|
1111
|
+
value: void 0
|
|
1002
1112
|
}), _class_private_field_init(this, _onModifyRowHeightByOverlayName, {
|
|
1003
1113
|
writable: true,
|
|
1004
1114
|
value: void 0
|
|
@@ -1009,10 +1119,25 @@ var /**
|
|
|
1009
1119
|
mergedCellsGetter: (row, column)=>this.mergedCellsCollection.get(row, column),
|
|
1010
1120
|
rowIndexMapper: this.hot.rowIndexMapper,
|
|
1011
1121
|
columnIndexMapper: this.hot.columnIndexMapper
|
|
1012
|
-
})), _class_private_field_set(this, _cellRenderer, createMergeCellRenderer(this)), _class_private_field_set(this, _columnMoveSnapshot, null), _class_private_field_set(this, _rowMoveSnapshot, null), _class_private_field_set(this, _initialized, false), _class_private_field_set(this, _onAfterInit, ()=>{
|
|
1122
|
+
})), _class_private_field_set(this, _cellRenderer, createMergeCellRenderer(this)), _class_private_field_set(this, _columnMoveSnapshot, null), _class_private_field_set(this, _rowMoveSnapshot, null), _class_private_field_set(this, _initialized, false), _class_private_field_set(this, _mergeAnchors, new WeakMap()), _class_private_field_set(this, _purgedMerges, new WeakSet()), _class_private_field_set(this, _onAfterInit, ()=>{
|
|
1013
1123
|
this.generateFromSettings();
|
|
1014
1124
|
this.hot.render();
|
|
1015
1125
|
_class_private_field_set(this, _initialized, true);
|
|
1126
|
+
_class_private_method_get(this, _captureMergeAnchors, captureMergeAnchors).call(this);
|
|
1127
|
+
}), _class_private_field_set(this, _onAfterMergeCellsCapture, (_cellRange, mergeParent)=>{
|
|
1128
|
+
const merge = this.mergedCellsCollection.get(mergeParent.row, mergeParent.col);
|
|
1129
|
+
if (merge) {
|
|
1130
|
+
_class_private_method_get(this, _captureAnchorOf, captureAnchorOf).call(this, merge);
|
|
1131
|
+
}
|
|
1132
|
+
}), _class_private_field_set(this, _onRowIndexCacheUpdated, ({ trimmedIndexesChanged, hiddenIndexesChanged, indexesSequenceChanged })=>{
|
|
1133
|
+
// The hook is removed in `disablePlugin`/`destroy`, but keep a defensive guard in case a final
|
|
1134
|
+
// `updateCache` still reaches us after `this.hot` has been dropped.
|
|
1135
|
+
if (!this.hot || !_class_private_field_get(this, _initialized)) {
|
|
1136
|
+
return;
|
|
1137
|
+
}
|
|
1138
|
+
if (trimmedIndexesChanged || hiddenIndexesChanged || indexesSequenceChanged) {
|
|
1139
|
+
_class_private_method_get(this, _reanchorMergesToVisibleRows, reanchorMergesToVisibleRows).call(this);
|
|
1140
|
+
}
|
|
1016
1141
|
}), _class_private_field_set(this, _onAfterIsMultipleSelection, (isMultiple)=>{
|
|
1017
1142
|
if (isMultiple) {
|
|
1018
1143
|
const mergedCells = this.mergedCellsCollection.mergedCells;
|
|
@@ -1343,15 +1468,47 @@ var /**
|
|
|
1343
1468
|
return this.autofillCalculations.snapDragArea(baseArea, fullArea, dragDirection, mergedCellsWithinSelectionArea);
|
|
1344
1469
|
}), _class_private_field_set(this, _onAfterCreateCol, (column, count)=>{
|
|
1345
1470
|
this.mergedCellsCollection.shiftCollections('right', column, count);
|
|
1471
|
+
_class_private_method_get(this, _captureMergeAnchors, captureMergeAnchors).call(this);
|
|
1472
|
+
// `shiftCollections` rebuilt the matrix from every merge, re-adding any currently purged
|
|
1473
|
+
// (fully hidden) merge; re-anchor to drop those stale footprints again.
|
|
1474
|
+
_class_private_method_get(this, _reanchorMergesToVisibleRows, reanchorMergesToVisibleRows).call(this);
|
|
1346
1475
|
}), _class_private_field_set(this, _onAfterRemoveCol, (column, count)=>{
|
|
1347
1476
|
this.mergedCellsCollection.shiftCollections('left', column, count);
|
|
1477
|
+
_class_private_method_get(this, _captureMergeAnchors, captureMergeAnchors).call(this);
|
|
1478
|
+
// `shiftCollections` rebuilt the matrix from every merge, re-adding any currently purged
|
|
1479
|
+
// (fully hidden) merge; re-anchor to drop those stale footprints again.
|
|
1480
|
+
_class_private_method_get(this, _reanchorMergesToVisibleRows, reanchorMergesToVisibleRows).call(this);
|
|
1348
1481
|
}), _class_private_field_set(this, _onAfterCreateRow, (row, count, source)=>{
|
|
1349
1482
|
if (source === 'auto') {
|
|
1350
1483
|
return;
|
|
1351
1484
|
}
|
|
1352
1485
|
this.mergedCellsCollection.shiftCollections('down', row, count);
|
|
1353
|
-
|
|
1486
|
+
// Inserting renumbers physical rows at/after the insertion point up by `count`; mirror that onto the
|
|
1487
|
+
// anchors the trimming-active path keeps verbatim (the non-trimming path re-derives them below).
|
|
1488
|
+
if (_class_private_method_get(this, _isRowTrimmingActive, isRowTrimmingActive).call(this)) {
|
|
1489
|
+
const pivot = this.hot.toPhysicalRow(row);
|
|
1490
|
+
if (pivot !== null) {
|
|
1491
|
+
_class_private_method_get(this, _remapRowAnchors, remapRowAnchors).call(this, (physicalRow)=>physicalRow >= pivot ? physicalRow + count : physicalRow);
|
|
1492
|
+
}
|
|
1493
|
+
}
|
|
1494
|
+
_class_private_method_get(this, _captureMergeAnchors, captureMergeAnchors).call(this);
|
|
1495
|
+
// `shiftCollections` rebuilt the matrix from every merge, re-adding any currently purged
|
|
1496
|
+
// (fully hidden) merge; re-anchor to drop those stale footprints again.
|
|
1497
|
+
_class_private_method_get(this, _reanchorMergesToVisibleRows, reanchorMergesToVisibleRows).call(this);
|
|
1498
|
+
}), _class_private_field_set(this, _onAfterRemoveRow, (row, count, physicalRows)=>{
|
|
1354
1499
|
this.mergedCellsCollection.shiftCollections('up', row, count);
|
|
1500
|
+
// Removing renumbers each surviving physical row down by how many removed rows sat below it; mirror
|
|
1501
|
+
// that onto the anchors the trimming-active path keeps verbatim. Removed physical rows interleave
|
|
1502
|
+
// with trimmed ones, so the shift is counted per anchor rather than from a single pivot. An anchor
|
|
1503
|
+
// whose own row was removed collapses to the same index as its first surviving span row, so it needs
|
|
1504
|
+
// no special case.
|
|
1505
|
+
if (_class_private_method_get(this, _isRowTrimmingActive, isRowTrimmingActive).call(this) && Array.isArray(physicalRows)) {
|
|
1506
|
+
_class_private_method_get(this, _remapRowAnchors, remapRowAnchors).call(this, (physicalRow)=>physicalRow - physicalRows.reduce((shift, removed)=>shift + (removed < physicalRow ? 1 : 0), 0));
|
|
1507
|
+
}
|
|
1508
|
+
_class_private_method_get(this, _captureMergeAnchors, captureMergeAnchors).call(this);
|
|
1509
|
+
// `shiftCollections` rebuilt the matrix from every merge, re-adding any currently purged
|
|
1510
|
+
// (fully hidden) merge; re-anchor to drop those stale footprints again.
|
|
1511
|
+
_class_private_method_get(this, _reanchorMergesToVisibleRows, reanchorMergesToVisibleRows).call(this);
|
|
1355
1512
|
}), _class_private_field_set(this, _onBeforeColumnMove, (_columns, _finalIndex, _dropIndex, movePossible)=>{
|
|
1356
1513
|
if (!movePossible || !_class_private_field_get(this, _initialized)) {
|
|
1357
1514
|
_class_private_field_set(this, _columnMoveSnapshot, null);
|
|
@@ -1365,6 +1522,7 @@ var /**
|
|
|
1365
1522
|
return;
|
|
1366
1523
|
}
|
|
1367
1524
|
this.mergedCellsCollection.translateAfterAxisMove('column', snapshot);
|
|
1525
|
+
_class_private_method_get(this, _captureMergeAnchors, captureMergeAnchors).call(this);
|
|
1368
1526
|
this.hot.render();
|
|
1369
1527
|
}), _class_private_field_set(this, _onBeforeRowMove, (_rows, _finalIndex, _dropIndex, movePossible)=>{
|
|
1370
1528
|
if (!movePossible || !_class_private_field_get(this, _initialized)) {
|
|
@@ -1379,6 +1537,7 @@ var /**
|
|
|
1379
1537
|
return;
|
|
1380
1538
|
}
|
|
1381
1539
|
this.mergedCellsCollection.translateAfterAxisMove('row', snapshot);
|
|
1540
|
+
_class_private_method_get(this, _captureMergeAnchors, captureMergeAnchors).call(this);
|
|
1382
1541
|
this.hot.render();
|
|
1383
1542
|
}), _class_private_field_set(this, _onBeforeColumnFreeze, (_column, performed)=>{
|
|
1384
1543
|
if (!performed || !_class_private_field_get(this, _initialized)) {
|
|
@@ -1393,6 +1552,7 @@ var /**
|
|
|
1393
1552
|
return;
|
|
1394
1553
|
}
|
|
1395
1554
|
this.mergedCellsCollection.translateAfterAxisMove('column', snapshot);
|
|
1555
|
+
_class_private_method_get(this, _captureMergeAnchors, captureMergeAnchors).call(this);
|
|
1396
1556
|
this.hot.render();
|
|
1397
1557
|
}), _class_private_field_set(this, _onAfterChange, (changes, source)=>{
|
|
1398
1558
|
if (source !== 'Autofill.fill') {
|
|
@@ -1436,7 +1596,7 @@ var /**
|
|
|
1436
1596
|
const from = this.hot._createCellCoords(mergeCell.row, mergeCell.col);
|
|
1437
1597
|
const to = this.hot._createCellCoords(mergeCell.row + mergeCell.rowspan - 1, mergeCell.col + mergeCell.colspan - 1);
|
|
1438
1598
|
return this.hot.selection.getLayerLevel() === 0 && selection.isEqual(this.hot._createCellRange(from, from, to));
|
|
1439
|
-
}), _class_private_field_set(this, _onModifyRowHeightByOverlayName, (height, row, overlayType)=>{
|
|
1599
|
+
}), _class_private_field_set(this, _onModifySinglePassLayout, ()=>false), _class_private_field_set(this, _onModifyRowHeightByOverlayName, (height, row, overlayType)=>{
|
|
1440
1600
|
if (this.hot.getSettings().rowHeaders || // merged cells do not work with the bottom overlays
|
|
1441
1601
|
overlayType === 'bottom' || overlayType === 'bottom_inline_start_corner') {
|
|
1442
1602
|
return height;
|
|
@@ -1484,6 +1644,104 @@ var /**
|
|
|
1484
1644
|
});
|
|
1485
1645
|
}
|
|
1486
1646
|
}
|
|
1647
|
+
function resetMergedCellMeta(mergedCell) {
|
|
1648
|
+
rangeEach(0, mergedCell.rowspan - 1, (i)=>{
|
|
1649
|
+
rangeEach(0, mergedCell.colspan - 1, (j)=>{
|
|
1650
|
+
this.hot.removeCellMeta(mergedCell.row + i, mergedCell.col + j, 'hidden');
|
|
1651
|
+
this.hot.removeCellMeta(mergedCell.row + i, mergedCell.col + j, 'copyable');
|
|
1652
|
+
});
|
|
1653
|
+
});
|
|
1654
|
+
this.hot.removeCellMeta(mergedCell.row, mergedCell.col, 'spanned');
|
|
1655
|
+
this.hot.removeCellMeta(mergedCell.row, mergedCell.col, 'rowspan');
|
|
1656
|
+
this.hot.removeCellMeta(mergedCell.row, mergedCell.col, 'colspan');
|
|
1657
|
+
}
|
|
1658
|
+
function captureAnchorOf(merge, trimmingActive = _class_private_method_get(this, _isRowTrimmingActive, isRowTrimmingActive).call(this)) {
|
|
1659
|
+
const physicalColumn = this.hot.toPhysicalColumn(merge.col);
|
|
1660
|
+
if (physicalColumn === null) {
|
|
1661
|
+
return;
|
|
1662
|
+
}
|
|
1663
|
+
const existing = _class_private_field_get(this, _mergeAnchors).get(merge);
|
|
1664
|
+
const physicalRow = trimmingActive && existing ? existing.physicalRow : this.hot.toPhysicalRow(merge.row);
|
|
1665
|
+
if (physicalRow !== null) {
|
|
1666
|
+
_class_private_field_get(this, _mergeAnchors).set(merge, {
|
|
1667
|
+
physicalRow,
|
|
1668
|
+
physicalColumn
|
|
1669
|
+
});
|
|
1670
|
+
}
|
|
1671
|
+
}
|
|
1672
|
+
function captureMergeAnchors() {
|
|
1673
|
+
const trimmingActive = _class_private_method_get(this, _isRowTrimmingActive, isRowTrimmingActive).call(this);
|
|
1674
|
+
this.mergedCellsCollection.mergedCells.forEach((merge)=>_class_private_method_get(this, _captureAnchorOf, captureAnchorOf).call(this, merge, trimmingActive));
|
|
1675
|
+
}
|
|
1676
|
+
function remapRowAnchors(mapPhysicalRow) {
|
|
1677
|
+
this.mergedCellsCollection.mergedCells.forEach((merge)=>{
|
|
1678
|
+
const anchor = _class_private_field_get(this, _mergeAnchors).get(merge);
|
|
1679
|
+
if (!anchor) {
|
|
1680
|
+
return;
|
|
1681
|
+
}
|
|
1682
|
+
const physicalRow = mapPhysicalRow(anchor.physicalRow);
|
|
1683
|
+
if (physicalRow !== anchor.physicalRow) {
|
|
1684
|
+
_class_private_field_get(this, _mergeAnchors).set(merge, {
|
|
1685
|
+
physicalRow,
|
|
1686
|
+
physicalColumn: anchor.physicalColumn
|
|
1687
|
+
});
|
|
1688
|
+
}
|
|
1689
|
+
});
|
|
1690
|
+
}
|
|
1691
|
+
function isRowTrimmingActive() {
|
|
1692
|
+
const { rowIndexMapper } = this.hot;
|
|
1693
|
+
return rowIndexMapper.getNotTrimmedIndexesLength() < rowIndexMapper.getNumberOfIndexes();
|
|
1694
|
+
}
|
|
1695
|
+
function reanchorMergesToVisibleRows() {
|
|
1696
|
+
const { mergedCells } = this.mergedCellsCollection;
|
|
1697
|
+
// `cacheUpdated` fires on every filter/trim toggle, so bail out cheaply when there is nothing to
|
|
1698
|
+
// re-anchor.
|
|
1699
|
+
if (mergedCells.length === 0) {
|
|
1700
|
+
return;
|
|
1701
|
+
}
|
|
1702
|
+
const relocations = [];
|
|
1703
|
+
const purges = [];
|
|
1704
|
+
mergedCells.forEach((merge)=>{
|
|
1705
|
+
const anchor = _class_private_field_get(this, _mergeAnchors).get(merge);
|
|
1706
|
+
if (!anchor) {
|
|
1707
|
+
return;
|
|
1708
|
+
}
|
|
1709
|
+
const visualColumn = this.hot.toVisualColumn(anchor.physicalColumn);
|
|
1710
|
+
let visualRow = visualColumn === null ? null : this.hot.toVisualRow(anchor.physicalRow);
|
|
1711
|
+
// Anchor row hidden: re-anchor to the first still-visible physical row inside the span (the span
|
|
1712
|
+
// covers physical rows `[physicalRow, physicalRow + rowspan)` since anchors are captured while
|
|
1713
|
+
// the merge is fully visible).
|
|
1714
|
+
for(let offset = 1; visualColumn !== null && visualRow === null && offset < merge.rowspan; offset++){
|
|
1715
|
+
visualRow = this.hot.toVisualRow(anchor.physicalRow + offset);
|
|
1716
|
+
}
|
|
1717
|
+
// No visible top-left (whole row span or the anchor column is hidden): drop the stale matrix
|
|
1718
|
+
// entry so a later filter showing a different physical row at the same visual slot does not
|
|
1719
|
+
// resolve to this phantom merge. Always re-purge (removing an absent footprint is a cheap no-op)
|
|
1720
|
+
// so the entry stays gone even after `shiftCollections` rebuilds the matrix from every merge on a
|
|
1721
|
+
// structural edit.
|
|
1722
|
+
if (visualColumn === null || visualRow === null) {
|
|
1723
|
+
_class_private_field_get(this, _purgedMerges).add(merge);
|
|
1724
|
+
purges.push(merge);
|
|
1725
|
+
return;
|
|
1726
|
+
}
|
|
1727
|
+
// Force a relocation for a merge that re-enters the viewport so it is re-added to the matrix even
|
|
1728
|
+
// when it lands on the same visual coordinates it had before being purged.
|
|
1729
|
+
const wasPurged = _class_private_field_get(this, _purgedMerges).delete(merge);
|
|
1730
|
+
if (wasPurged || merge.row !== visualRow || merge.col !== visualColumn) {
|
|
1731
|
+
relocations.push({
|
|
1732
|
+
mergedCell: merge,
|
|
1733
|
+
row: visualRow,
|
|
1734
|
+
col: visualColumn
|
|
1735
|
+
});
|
|
1736
|
+
}
|
|
1737
|
+
});
|
|
1738
|
+
if (purges.length > 0) {
|
|
1739
|
+
this.mergedCellsCollection.removeFromMatrix(purges);
|
|
1740
|
+
}
|
|
1741
|
+
if (relocations.length > 0) {
|
|
1742
|
+
this.mergedCellsCollection.relocateInMatrix(relocations);
|
|
1743
|
+
}
|
|
1744
|
+
}
|
|
1487
1745
|
function addMergeActionsToContextMenu(defaultOptions) {
|
|
1488
1746
|
defaultOptions.items.push({
|
|
1489
1747
|
name: '---------'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './helpers.js';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
interface ClampMoveTargetOptions {
|
|
2
|
+
pointerRow: number;
|
|
3
|
+
pointerCol: number;
|
|
4
|
+
grabRowOffset: number;
|
|
5
|
+
grabColOffset: number;
|
|
6
|
+
rangeHeight: number;
|
|
7
|
+
rangeWidth: number;
|
|
8
|
+
totalRows: number;
|
|
9
|
+
totalCols: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Computes the clamped top-left target cell for a move.
|
|
13
|
+
*
|
|
14
|
+
* @param {ClampMoveTargetOptions} options The pointer, grab offset, range dimensions, and grid extents.
|
|
15
|
+
* @returns {{ row: number, col: number }} The clamped top-left target coordinates.
|
|
16
|
+
*/
|
|
17
|
+
export declare function clampMoveTarget({ pointerRow, pointerCol, grabRowOffset, grabColOffset, rangeHeight, rangeWidth, totalRows, totalCols, }: ClampMoveTargetOptions): {
|
|
18
|
+
row: number;
|
|
19
|
+
col: number;
|
|
20
|
+
};
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "clampMoveTarget", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return clampMoveTarget;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function clampMoveTarget({ pointerRow, pointerCol, grabRowOffset, grabColOffset, rangeHeight, rangeWidth, totalRows, totalCols }) {
|
|
12
|
+
const rawRow = pointerRow - grabRowOffset;
|
|
13
|
+
const rawCol = pointerCol - grabColOffset;
|
|
14
|
+
const maxRow = Math.max(0, totalRows - rangeHeight);
|
|
15
|
+
const maxCol = Math.max(0, totalCols - rangeWidth);
|
|
16
|
+
return {
|
|
17
|
+
row: Math.min(Math.max(0, rawRow), maxRow),
|
|
18
|
+
col: Math.min(Math.max(0, rawCol), maxCol)
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Computes the clamped top-left target cell for a move.
|
|
3
|
+
*
|
|
4
|
+
* @param {ClampMoveTargetOptions} options The pointer, grab offset, range dimensions, and grid extents.
|
|
5
|
+
* @returns {{ row: number, col: number }} The clamped top-left target coordinates.
|
|
6
|
+
*/ export function clampMoveTarget({ pointerRow, pointerCol, grabRowOffset, grabColOffset, rangeHeight, rangeWidth, totalRows, totalCols }) {
|
|
7
|
+
const rawRow = pointerRow - grabRowOffset;
|
|
8
|
+
const rawCol = pointerCol - grabColOffset;
|
|
9
|
+
const maxRow = Math.max(0, totalRows - rangeHeight);
|
|
10
|
+
const maxCol = Math.max(0, totalCols - rangeWidth);
|
|
11
|
+
return {
|
|
12
|
+
row: Math.min(Math.max(0, rawRow), maxRow),
|
|
13
|
+
col: Math.min(Math.max(0, rawCol), maxCol)
|
|
14
|
+
};
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './index.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { PLUGIN_KEY, PLUGIN_PRIORITY, MoveCells, } from './moveCells';
|