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
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
interface CanMoveRangeOptions {
|
|
2
|
+
rangeCount: number;
|
|
3
|
+
isEntireRow: boolean;
|
|
4
|
+
isEntireColumn: boolean;
|
|
5
|
+
isHeader: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Tells whether the current selection is eligible for a `moveCells` drag: exactly one contiguous cell
|
|
9
|
+
* range that is not a full row, full column, or header selection.
|
|
10
|
+
*
|
|
11
|
+
* @param {CanMoveRangeOptions} options The selection shape flags.
|
|
12
|
+
* @returns {boolean}
|
|
13
|
+
*/
|
|
14
|
+
export declare function canMoveRange({ rangeCount, isEntireRow, isEntireColumn, isHeader }: CanMoveRangeOptions): boolean;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "canMoveRange", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return canMoveRange;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function canMoveRange({ rangeCount, isEntireRow, isEntireColumn, isHeader }) {
|
|
12
|
+
return rangeCount === 1 && !isEntireRow && !isEntireColumn && !isHeader;
|
|
13
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tells whether the current selection is eligible for a `moveCells` drag: exactly one contiguous cell
|
|
3
|
+
* range that is not a full row, full column, or header selection.
|
|
4
|
+
*
|
|
5
|
+
* @param {CanMoveRangeOptions} options The selection shape flags.
|
|
6
|
+
* @returns {boolean}
|
|
7
|
+
*/ export function canMoveRange({ rangeCount, isEntireRow, isEntireColumn, isHeader }) {
|
|
8
|
+
return rangeCount === 1 && !isEntireRow && !isEntireColumn && !isHeader;
|
|
9
|
+
}
|
package/selection/selection.d.ts
CHANGED
|
@@ -241,6 +241,23 @@ declare class Selection {
|
|
|
241
241
|
* @returns {boolean}
|
|
242
242
|
*/
|
|
243
243
|
isMultiple(cellRange?: CellRange | undefined): unknown;
|
|
244
|
+
/**
|
|
245
|
+
* Tells whether the `moveCells` move zone should show on the area (multi-cell) selection border:
|
|
246
|
+
* the selection is movable (see {@link Selection##isSelectionMovable}) and spans more than one cell.
|
|
247
|
+
*
|
|
248
|
+
* @private
|
|
249
|
+
* @returns {boolean}
|
|
250
|
+
*/
|
|
251
|
+
isRangeMovable(): boolean;
|
|
252
|
+
/**
|
|
253
|
+
* Tells whether the `moveCells` move zone should show on the focus (single-cell) selection border:
|
|
254
|
+
* the selection is movable (see {@link Selection##isSelectionMovable}) and there is exactly one
|
|
255
|
+
* selected cell.
|
|
256
|
+
*
|
|
257
|
+
* @private
|
|
258
|
+
* @returns {boolean}
|
|
259
|
+
*/
|
|
260
|
+
isSingleCellMovable(): boolean;
|
|
244
261
|
/**
|
|
245
262
|
* Checks if the last selection involves changing the focus cell position only.
|
|
246
263
|
*
|
|
@@ -301,6 +318,14 @@ declare class Selection {
|
|
|
301
318
|
* @returns {boolean}
|
|
302
319
|
*/
|
|
303
320
|
inInSelection(coords: CellCoords): boolean;
|
|
321
|
+
/**
|
|
322
|
+
* Returns the visual layer index of the selected range containing the given coords, or `null`.
|
|
323
|
+
* When multiple ranges overlap the coord, the topmost layer (highest index) wins.
|
|
324
|
+
*
|
|
325
|
+
* @param {CellCoords} coords The visual cell coordinates to test.
|
|
326
|
+
* @returns {number | null} The highest-index (topmost) layer that contains `coords`, or `null` if none do.
|
|
327
|
+
*/
|
|
328
|
+
getLayerContaining(coords: CellCoords): number | null;
|
|
304
329
|
/**
|
|
305
330
|
* Returns `true` if the cell corner should be visible.
|
|
306
331
|
*
|
|
@@ -323,6 +348,32 @@ declare class Selection {
|
|
|
323
348
|
* @returns {boolean} `true` if the corner element has to be visible, `false` otherwise.
|
|
324
349
|
*/
|
|
325
350
|
isAreaCornerVisible(layerLevel: number): unknown;
|
|
351
|
+
/**
|
|
352
|
+
* Tells whether the adjustment handles should render for the given highlight layer.
|
|
353
|
+
*
|
|
354
|
+
* @private
|
|
355
|
+
* @param {number} layerLevel The area highlight layer level.
|
|
356
|
+
* @returns {boolean}
|
|
357
|
+
*/
|
|
358
|
+
isAdjustHandlesVisibleFor(layerLevel: number): boolean;
|
|
359
|
+
/**
|
|
360
|
+
* Returns the selection layer currently showing adjustment handles, or `null`.
|
|
361
|
+
* This is an internal method used by the SelectionHandles plugin's hover and drag wiring, and is
|
|
362
|
+
* not part of the public API.
|
|
363
|
+
*
|
|
364
|
+
* @private
|
|
365
|
+
* @returns {number | null}
|
|
366
|
+
*/
|
|
367
|
+
getHandlesHoveredLayer(): number | null;
|
|
368
|
+
/**
|
|
369
|
+
* Sets which selection layer currently shows adjustment handles and refreshes the borders.
|
|
370
|
+
* This is an internal method called by the SelectionHandles plugin's hover wiring, and is not part
|
|
371
|
+
* of the public API.
|
|
372
|
+
*
|
|
373
|
+
* @private
|
|
374
|
+
* @param {number | null} layer The hovered layer level, or `null` to hide all handles.
|
|
375
|
+
*/
|
|
376
|
+
setHandlesHoveredLayer(layer: number | null): void;
|
|
326
377
|
/**
|
|
327
378
|
* Clear the selection by resetting the collected ranges and highlights.
|
|
328
379
|
*/
|
|
@@ -342,9 +393,12 @@ declare class Selection {
|
|
|
342
393
|
* @param {{row: number, col: number} | boolean} [options.focusPosition] The argument allows changing the cell/header
|
|
343
394
|
* focus position. The value takes an object with a `row` and `col` properties from -N to N, where
|
|
344
395
|
* negative values point to the headers and positive values point to the cell range. If `false`, the focus
|
|
345
|
-
* position won't be changed.
|
|
396
|
+
* position won't be changed. When the {@link Options#navigableHeaders} option is disabled (the default), a
|
|
397
|
+
* `focusPosition` that points to a header is relocated to the nearest cell in the data set.
|
|
346
398
|
* @param {boolean} [options.disableHeadersHighlight] If `true`, disables highlighting the headers even when
|
|
347
|
-
* the logical coordinates points on them.
|
|
399
|
+
* the logical coordinates points on them. This only suppresses the highlight shown on headers of a fully-selected
|
|
400
|
+
* row or column. It doesn't affect the focus indicator on the individual cell or header that holds the focus,
|
|
401
|
+
* which stays visible even when {@link Options#navigableHeaders} moves the focus onto a header.
|
|
348
402
|
*/
|
|
349
403
|
selectAll(includeRowHeaders?: boolean, includeColumnHeaders?: boolean, options?: {
|
|
350
404
|
focusPosition?: SelectionFocusPosition | boolean;
|
package/selection/selection.js
CHANGED
|
@@ -14,6 +14,7 @@ const _object = require("./../helpers/object");
|
|
|
14
14
|
const _mixed = require("./../helpers/mixed");
|
|
15
15
|
const _number = require("./../helpers/number");
|
|
16
16
|
const _localHooks = /*#__PURE__*/ _interop_require_default(require("./../mixins/localHooks"));
|
|
17
|
+
const _moveCells = require("./moveCells");
|
|
17
18
|
const _transformation = require("./transformation");
|
|
18
19
|
const _utils = require("./utils");
|
|
19
20
|
const _templateLiteralTag = require("./../helpers/templateLiteralTag");
|
|
@@ -164,6 +165,10 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
164
165
|
*
|
|
165
166
|
* @type {number}
|
|
166
167
|
*/ _activeSelectionLayer = /*#__PURE__*/ new WeakMap(), /**
|
|
168
|
+
* Visual layer index of the range currently hovered while `selectionHandles` is on, or `null`.
|
|
169
|
+
*
|
|
170
|
+
* @type {number | null}
|
|
171
|
+
*/ _handlesHoveredLayer = /*#__PURE__*/ new WeakMap(), /**
|
|
167
172
|
* Applies header-type highlights for the given cell range.
|
|
168
173
|
*
|
|
169
174
|
* @param {CellRange} cellRange The cell range to highlight.
|
|
@@ -176,7 +181,20 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
176
181
|
* @param {object | null | undefined} activeCornerHeaderHighlight The active corner header highlight instance.
|
|
177
182
|
* @param {object | null | undefined} rowHighlight The row highlight instance.
|
|
178
183
|
* @param {object | null | undefined} columnHighlight The column highlight instance.
|
|
179
|
-
*/ _applyHeaderHighlights = /*#__PURE__*/ new WeakSet()
|
|
184
|
+
*/ _applyHeaderHighlights = /*#__PURE__*/ new WeakSet(), /**
|
|
185
|
+
* Tells whether the current selection is eligible for a `moveCells` drag at all: the feature is
|
|
186
|
+
* on (the setting is enabled AND the plugin has not been disabled at runtime), no editor is open,
|
|
187
|
+
* visual selection is not disabled, and the selection shape passes {@link canMoveRange}
|
|
188
|
+
* (exactly one contiguous range that is not a full row, full column, or header selection).
|
|
189
|
+
* Mirrors the eligibility gate applied when a move drag starts, so the move zone and grab
|
|
190
|
+
* cursor never show for a selection that a drag would reject. The editor check matches
|
|
191
|
+
* {@link Selection#isCellCornerVisible} — starting a drag mid-edit would swallow the mousedown
|
|
192
|
+
* that normally commits the editor, so the release could rewrite a cell whose editor still holds
|
|
193
|
+
* an uncommitted value.
|
|
194
|
+
*
|
|
195
|
+
* @private
|
|
196
|
+
* @returns {boolean}
|
|
197
|
+
*/ _isSelectionMovable = /*#__PURE__*/ new WeakSet();
|
|
180
198
|
/**
|
|
181
199
|
* @typedef {object} SelectionState
|
|
182
200
|
* @property {CellRange[]} ranges The array of all ranges.
|
|
@@ -629,6 +647,27 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
629
647
|
return isMultipleListener.value;
|
|
630
648
|
}
|
|
631
649
|
/**
|
|
650
|
+
* Tells whether the `moveCells` move zone should show on the area (multi-cell) selection border:
|
|
651
|
+
* the selection is movable (see {@link Selection##isSelectionMovable}) and spans more than one cell.
|
|
652
|
+
*
|
|
653
|
+
* @private
|
|
654
|
+
* @returns {boolean}
|
|
655
|
+
*/ isRangeMovable() {
|
|
656
|
+
const range = this.getActiveSelectedRange();
|
|
657
|
+
return _class_private_method_get(this, _isSelectionMovable, isSelectionMovable).call(this) && !!range && !range.isSingle();
|
|
658
|
+
}
|
|
659
|
+
/**
|
|
660
|
+
* Tells whether the `moveCells` move zone should show on the focus (single-cell) selection border:
|
|
661
|
+
* the selection is movable (see {@link Selection##isSelectionMovable}) and there is exactly one
|
|
662
|
+
* selected cell.
|
|
663
|
+
*
|
|
664
|
+
* @private
|
|
665
|
+
* @returns {boolean}
|
|
666
|
+
*/ isSingleCellMovable() {
|
|
667
|
+
const range = this.getActiveSelectedRange();
|
|
668
|
+
return _class_private_method_get(this, _isSelectionMovable, isSelectionMovable).call(this) && !!range && range.isSingle();
|
|
669
|
+
}
|
|
670
|
+
/**
|
|
632
671
|
* Checks if the last selection involves changing the focus cell position only.
|
|
633
672
|
*
|
|
634
673
|
* @returns {boolean}
|
|
@@ -717,6 +756,23 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
717
756
|
return this.selectedRange.includes(coords);
|
|
718
757
|
}
|
|
719
758
|
/**
|
|
759
|
+
* Returns the visual layer index of the selected range containing the given coords, or `null`.
|
|
760
|
+
* When multiple ranges overlap the coord, the topmost layer (highest index) wins.
|
|
761
|
+
*
|
|
762
|
+
* @param {CellCoords} coords The visual cell coordinates to test.
|
|
763
|
+
* @returns {number | null} The highest-index (topmost) layer that contains `coords`, or `null` if none do.
|
|
764
|
+
*/ getLayerContaining(coords) {
|
|
765
|
+
if (this.selectedRange.isEmpty()) {
|
|
766
|
+
return null;
|
|
767
|
+
}
|
|
768
|
+
for(let layer = this.selectedRange.size() - 1; layer >= 0; layer--){
|
|
769
|
+
if (this.selectedRange.peekByIndex(layer)?.includes(coords)) {
|
|
770
|
+
return layer;
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
return null;
|
|
774
|
+
}
|
|
775
|
+
/**
|
|
720
776
|
* Returns `true` if the cell corner should be visible.
|
|
721
777
|
*
|
|
722
778
|
* @private
|
|
@@ -746,6 +802,61 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
746
802
|
return this.settings.fillHandle && !this.tableProps.isEditorOpened() && this.isMultiple();
|
|
747
803
|
}
|
|
748
804
|
/**
|
|
805
|
+
* Tells whether the adjustment handles should render for the given highlight layer.
|
|
806
|
+
*
|
|
807
|
+
* @private
|
|
808
|
+
* @param {number} layerLevel The area highlight layer level.
|
|
809
|
+
* @returns {boolean}
|
|
810
|
+
*/ isAdjustHandlesVisibleFor(layerLevel) {
|
|
811
|
+
// The editor check matches `isCellCornerVisible`/`isAreaCornerVisible`: the handles must not
|
|
812
|
+
// render (nor start a drag) while a cell editor holds an uncommitted value. The plugin check
|
|
813
|
+
// keeps a runtime `disablePlugin()` effective even though the setting still reads `true`.
|
|
814
|
+
if (this.settings.selectionHandles !== true || this.tableProps.isEditorOpened() || !this.tableProps.isPluginEnabled('selectionHandles')) {
|
|
815
|
+
return false;
|
|
816
|
+
}
|
|
817
|
+
if (this.settings.selectionMode === 'single') {
|
|
818
|
+
return false;
|
|
819
|
+
}
|
|
820
|
+
if (_class_private_field_get(this, _handlesHoveredLayer) !== layerLevel) {
|
|
821
|
+
return false;
|
|
822
|
+
}
|
|
823
|
+
// Hide handles for full-row, full-column, and select-all selections
|
|
824
|
+
// because those cannot be meaningfully resized via edge handles.
|
|
825
|
+
// A select-all range spans all columns (isEntireRowSelected) AND all rows
|
|
826
|
+
// (isEntireColumnSelected), so it is already covered by those two checks —
|
|
827
|
+
// no separate isSelectedByCorner() call is needed here, and adding one would
|
|
828
|
+
// incorrectly suppress handles on valid non-top layers in multiple-selection
|
|
829
|
+
// mode (isSelectedByCorner() always inspects the topmost layer via getLayerLevel()).
|
|
830
|
+
if (this.isEntireRowSelected(layerLevel) || this.isEntireColumnSelected(layerLevel)) {
|
|
831
|
+
return false;
|
|
832
|
+
}
|
|
833
|
+
return true;
|
|
834
|
+
}
|
|
835
|
+
/**
|
|
836
|
+
* Returns the selection layer currently showing adjustment handles, or `null`.
|
|
837
|
+
* This is an internal method used by the SelectionHandles plugin's hover and drag wiring, and is
|
|
838
|
+
* not part of the public API.
|
|
839
|
+
*
|
|
840
|
+
* @private
|
|
841
|
+
* @returns {number | null}
|
|
842
|
+
*/ getHandlesHoveredLayer() {
|
|
843
|
+
return _class_private_field_get(this, _handlesHoveredLayer);
|
|
844
|
+
}
|
|
845
|
+
/**
|
|
846
|
+
* Sets which selection layer currently shows adjustment handles and refreshes the borders.
|
|
847
|
+
* This is an internal method called by the SelectionHandles plugin's hover wiring, and is not part
|
|
848
|
+
* of the public API.
|
|
849
|
+
*
|
|
850
|
+
* @private
|
|
851
|
+
* @param {number | null} layer The hovered layer level, or `null` to hide all handles.
|
|
852
|
+
*/ setHandlesHoveredLayer(layer) {
|
|
853
|
+
if (_class_private_field_get(this, _handlesHoveredLayer) === layer) {
|
|
854
|
+
return;
|
|
855
|
+
}
|
|
856
|
+
_class_private_field_set(this, _handlesHoveredLayer, layer);
|
|
857
|
+
this.refresh();
|
|
858
|
+
}
|
|
859
|
+
/**
|
|
749
860
|
* Clear the selection by resetting the collected ranges and highlights.
|
|
750
861
|
*/ clear() {
|
|
751
862
|
// TODO: collections selectedByColumnHeader and selectedByRowHeader should be clear too.
|
|
@@ -773,9 +884,12 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
773
884
|
* @param {{row: number, col: number} | boolean} [options.focusPosition] The argument allows changing the cell/header
|
|
774
885
|
* focus position. The value takes an object with a `row` and `col` properties from -N to N, where
|
|
775
886
|
* negative values point to the headers and positive values point to the cell range. If `false`, the focus
|
|
776
|
-
* position won't be changed.
|
|
887
|
+
* position won't be changed. When the {@link Options#navigableHeaders} option is disabled (the default), a
|
|
888
|
+
* `focusPosition` that points to a header is relocated to the nearest cell in the data set.
|
|
777
889
|
* @param {boolean} [options.disableHeadersHighlight] If `true`, disables highlighting the headers even when
|
|
778
|
-
* the logical coordinates points on them.
|
|
890
|
+
* the logical coordinates points on them. This only suppresses the highlight shown on headers of a fully-selected
|
|
891
|
+
* row or column. It doesn't affect the focus indicator on the individual cell or header that holds the focus,
|
|
892
|
+
* which stays visible even when {@link Options#navigableHeaders} moves the focus onto a header.
|
|
779
893
|
*/ selectAll(includeRowHeaders = false, includeColumnHeaders = false, options = {
|
|
780
894
|
focusPosition: false,
|
|
781
895
|
disableHeadersHighlight: false
|
|
@@ -905,7 +1019,12 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
905
1019
|
this.selectedByColumnHeader.add(this.getLayerLevel());
|
|
906
1020
|
this.setRangeEnd(to);
|
|
907
1021
|
this.runLocalHooks('afterSelectColumns', from, to, highlight);
|
|
908
|
-
|
|
1022
|
+
// For mouse-driven selection the process is finished by the document-level `mouseup`/`touchend`
|
|
1023
|
+
// handler once the user releases the button. Finishing here as well would fire `afterSelectionEnd`
|
|
1024
|
+
// prematurely on the initial `mousedown`, causing it to run twice for a header drag (#7133).
|
|
1025
|
+
if (this.getSelectionSource() !== 'mouse') {
|
|
1026
|
+
this.finish();
|
|
1027
|
+
}
|
|
909
1028
|
}
|
|
910
1029
|
return isValid;
|
|
911
1030
|
}
|
|
@@ -952,7 +1071,12 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
952
1071
|
this.selectedByRowHeader.add(this.getLayerLevel());
|
|
953
1072
|
this.setRangeEnd(to);
|
|
954
1073
|
this.runLocalHooks('afterSelectRows', from, to, highlight);
|
|
955
|
-
|
|
1074
|
+
// For mouse-driven selection the process is finished by the document-level `mouseup`/`touchend`
|
|
1075
|
+
// handler once the user releases the button. Finishing here as well would fire `afterSelectionEnd`
|
|
1076
|
+
// prematurely on the initial `mousedown`, causing it to run twice for a header drag (#7133).
|
|
1077
|
+
if (this.getSelectionSource() !== 'mouse') {
|
|
1078
|
+
this.finish();
|
|
1079
|
+
}
|
|
956
1080
|
}
|
|
957
1081
|
return isValid;
|
|
958
1082
|
}
|
|
@@ -1090,6 +1214,7 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
1090
1214
|
* Initializes the Selection manager with grid settings and table API references, and sets up transformation modules and highlight layers.
|
|
1091
1215
|
*/ constructor(settings, tableProps){
|
|
1092
1216
|
_class_private_method_init(this, _applyHeaderHighlights);
|
|
1217
|
+
_class_private_method_init(this, _isSelectionMovable);
|
|
1093
1218
|
/**
|
|
1094
1219
|
* The module for modifying coordinates of the start and end selection.
|
|
1095
1220
|
*
|
|
@@ -1126,6 +1251,10 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
1126
1251
|
writable: true,
|
|
1127
1252
|
value: void 0
|
|
1128
1253
|
});
|
|
1254
|
+
_class_private_field_init(this, _handlesHoveredLayer, {
|
|
1255
|
+
writable: true,
|
|
1256
|
+
value: void 0
|
|
1257
|
+
});
|
|
1129
1258
|
/**
|
|
1130
1259
|
* The flag which determines if the selection is in progress.
|
|
1131
1260
|
*
|
|
@@ -1155,6 +1284,7 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
1155
1284
|
_class_private_field_set(this, _selectionSource, 'unknown');
|
|
1156
1285
|
_class_private_field_set(this, _expectedLayersCount, -1);
|
|
1157
1286
|
_class_private_field_set(this, _activeSelectionLayer, 0);
|
|
1287
|
+
_class_private_field_set(this, _handlesHoveredLayer, null);
|
|
1158
1288
|
this.settings = settings;
|
|
1159
1289
|
this.tableProps = tableProps;
|
|
1160
1290
|
this.highlight = new _highlight.default({
|
|
@@ -1170,6 +1300,9 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
1170
1300
|
disabledCellSelection: (row, column)=>this.tableProps.isDisabledCellSelection(row, column),
|
|
1171
1301
|
cellCornerVisible: ()=>this.isCellCornerVisible(),
|
|
1172
1302
|
areaCornerVisible: (layerLevel)=>this.isAreaCornerVisible(layerLevel),
|
|
1303
|
+
adjustHandlesVisible: (layerLevel)=>this.isAdjustHandlesVisibleFor(layerLevel),
|
|
1304
|
+
moveEnabled: ()=>this.isRangeMovable(),
|
|
1305
|
+
cellMoveEnabled: ()=>this.isSingleCellMovable(),
|
|
1173
1306
|
visualToRenderableCoords: (coords)=>this.tableProps.visualToRenderableCoords(coords),
|
|
1174
1307
|
renderableToVisualCoords: (coords)=>this.tableProps.renderableToVisualCoords(coords),
|
|
1175
1308
|
createCellCoords: (row, column)=>this.tableProps.createCellCoords(row, column),
|
|
@@ -1235,5 +1368,16 @@ function applyHeaderHighlights(cellRange, countRows, countCols, rowHeaderHighlig
|
|
|
1235
1368
|
activeCornerHeaderHighlight?.add(this.tableProps.createCellCoords(-this.tableProps.countColHeaders(), -this.tableProps.countRowHeaders())).add(this.tableProps.createCellCoords(-1, -1)).commit();
|
|
1236
1369
|
}
|
|
1237
1370
|
}
|
|
1371
|
+
function isSelectionMovable() {
|
|
1372
|
+
if (this.settings.moveCells !== true || this.settings.disableVisualSelection || this.tableProps.isEditorOpened() || !this.tableProps.isPluginEnabled('moveCells')) {
|
|
1373
|
+
return false;
|
|
1374
|
+
}
|
|
1375
|
+
return (0, _moveCells.canMoveRange)({
|
|
1376
|
+
rangeCount: this.getSelectedRange().size(),
|
|
1377
|
+
isEntireRow: this.isEntireRowSelected(),
|
|
1378
|
+
isEntireColumn: this.isEntireColumnSelected(),
|
|
1379
|
+
isHeader: this.isSelectedByRowHeader() || this.isSelectedByColumnHeader()
|
|
1380
|
+
});
|
|
1381
|
+
}
|
|
1238
1382
|
(0, _object.mixin)(Selection, _localHooks.default);
|
|
1239
1383
|
const _default = Selection;
|
package/selection/selection.mjs
CHANGED
|
@@ -54,6 +54,7 @@ import { createObjectPropListener, mixin } from './../helpers/object.mjs';
|
|
|
54
54
|
import { isUndefined } from './../helpers/mixed.mjs';
|
|
55
55
|
import { clamp } from './../helpers/number.mjs';
|
|
56
56
|
import localHooks from './../mixins/localHooks.mjs';
|
|
57
|
+
import { canMoveRange } from './moveCells.mjs';
|
|
57
58
|
import { ExtenderTransformation, FocusTransformation } from './transformation/index.mjs';
|
|
58
59
|
import { detectSelectionType, normalizeSelectionFactory, SELECTION_TYPE_EMPTY, SELECTION_TYPE_UNRECOGNIZED } from './utils.mjs';
|
|
59
60
|
import { toSingleLine } from './../helpers/templateLiteralTag.mjs';
|
|
@@ -108,6 +109,10 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
108
109
|
*
|
|
109
110
|
* @type {number}
|
|
110
111
|
*/ _activeSelectionLayer = /*#__PURE__*/ new WeakMap(), /**
|
|
112
|
+
* Visual layer index of the range currently hovered while `selectionHandles` is on, or `null`.
|
|
113
|
+
*
|
|
114
|
+
* @type {number | null}
|
|
115
|
+
*/ _handlesHoveredLayer = /*#__PURE__*/ new WeakMap(), /**
|
|
111
116
|
* Applies header-type highlights for the given cell range.
|
|
112
117
|
*
|
|
113
118
|
* @param {CellRange} cellRange The cell range to highlight.
|
|
@@ -120,7 +125,20 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
120
125
|
* @param {object | null | undefined} activeCornerHeaderHighlight The active corner header highlight instance.
|
|
121
126
|
* @param {object | null | undefined} rowHighlight The row highlight instance.
|
|
122
127
|
* @param {object | null | undefined} columnHighlight The column highlight instance.
|
|
123
|
-
*/ _applyHeaderHighlights = /*#__PURE__*/ new WeakSet()
|
|
128
|
+
*/ _applyHeaderHighlights = /*#__PURE__*/ new WeakSet(), /**
|
|
129
|
+
* Tells whether the current selection is eligible for a `moveCells` drag at all: the feature is
|
|
130
|
+
* on (the setting is enabled AND the plugin has not been disabled at runtime), no editor is open,
|
|
131
|
+
* visual selection is not disabled, and the selection shape passes {@link canMoveRange}
|
|
132
|
+
* (exactly one contiguous range that is not a full row, full column, or header selection).
|
|
133
|
+
* Mirrors the eligibility gate applied when a move drag starts, so the move zone and grab
|
|
134
|
+
* cursor never show for a selection that a drag would reject. The editor check matches
|
|
135
|
+
* {@link Selection#isCellCornerVisible} — starting a drag mid-edit would swallow the mousedown
|
|
136
|
+
* that normally commits the editor, so the release could rewrite a cell whose editor still holds
|
|
137
|
+
* an uncommitted value.
|
|
138
|
+
*
|
|
139
|
+
* @private
|
|
140
|
+
* @returns {boolean}
|
|
141
|
+
*/ _isSelectionMovable = /*#__PURE__*/ new WeakSet();
|
|
124
142
|
/**
|
|
125
143
|
* @typedef {object} SelectionState
|
|
126
144
|
* @property {CellRange[]} ranges The array of all ranges.
|
|
@@ -573,6 +591,27 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
573
591
|
return isMultipleListener.value;
|
|
574
592
|
}
|
|
575
593
|
/**
|
|
594
|
+
* Tells whether the `moveCells` move zone should show on the area (multi-cell) selection border:
|
|
595
|
+
* the selection is movable (see {@link Selection##isSelectionMovable}) and spans more than one cell.
|
|
596
|
+
*
|
|
597
|
+
* @private
|
|
598
|
+
* @returns {boolean}
|
|
599
|
+
*/ isRangeMovable() {
|
|
600
|
+
const range = this.getActiveSelectedRange();
|
|
601
|
+
return _class_private_method_get(this, _isSelectionMovable, isSelectionMovable).call(this) && !!range && !range.isSingle();
|
|
602
|
+
}
|
|
603
|
+
/**
|
|
604
|
+
* Tells whether the `moveCells` move zone should show on the focus (single-cell) selection border:
|
|
605
|
+
* the selection is movable (see {@link Selection##isSelectionMovable}) and there is exactly one
|
|
606
|
+
* selected cell.
|
|
607
|
+
*
|
|
608
|
+
* @private
|
|
609
|
+
* @returns {boolean}
|
|
610
|
+
*/ isSingleCellMovable() {
|
|
611
|
+
const range = this.getActiveSelectedRange();
|
|
612
|
+
return _class_private_method_get(this, _isSelectionMovable, isSelectionMovable).call(this) && !!range && range.isSingle();
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
576
615
|
* Checks if the last selection involves changing the focus cell position only.
|
|
577
616
|
*
|
|
578
617
|
* @returns {boolean}
|
|
@@ -661,6 +700,23 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
661
700
|
return this.selectedRange.includes(coords);
|
|
662
701
|
}
|
|
663
702
|
/**
|
|
703
|
+
* Returns the visual layer index of the selected range containing the given coords, or `null`.
|
|
704
|
+
* When multiple ranges overlap the coord, the topmost layer (highest index) wins.
|
|
705
|
+
*
|
|
706
|
+
* @param {CellCoords} coords The visual cell coordinates to test.
|
|
707
|
+
* @returns {number | null} The highest-index (topmost) layer that contains `coords`, or `null` if none do.
|
|
708
|
+
*/ getLayerContaining(coords) {
|
|
709
|
+
if (this.selectedRange.isEmpty()) {
|
|
710
|
+
return null;
|
|
711
|
+
}
|
|
712
|
+
for(let layer = this.selectedRange.size() - 1; layer >= 0; layer--){
|
|
713
|
+
if (this.selectedRange.peekByIndex(layer)?.includes(coords)) {
|
|
714
|
+
return layer;
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
return null;
|
|
718
|
+
}
|
|
719
|
+
/**
|
|
664
720
|
* Returns `true` if the cell corner should be visible.
|
|
665
721
|
*
|
|
666
722
|
* @private
|
|
@@ -690,6 +746,61 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
690
746
|
return this.settings.fillHandle && !this.tableProps.isEditorOpened() && this.isMultiple();
|
|
691
747
|
}
|
|
692
748
|
/**
|
|
749
|
+
* Tells whether the adjustment handles should render for the given highlight layer.
|
|
750
|
+
*
|
|
751
|
+
* @private
|
|
752
|
+
* @param {number} layerLevel The area highlight layer level.
|
|
753
|
+
* @returns {boolean}
|
|
754
|
+
*/ isAdjustHandlesVisibleFor(layerLevel) {
|
|
755
|
+
// The editor check matches `isCellCornerVisible`/`isAreaCornerVisible`: the handles must not
|
|
756
|
+
// render (nor start a drag) while a cell editor holds an uncommitted value. The plugin check
|
|
757
|
+
// keeps a runtime `disablePlugin()` effective even though the setting still reads `true`.
|
|
758
|
+
if (this.settings.selectionHandles !== true || this.tableProps.isEditorOpened() || !this.tableProps.isPluginEnabled('selectionHandles')) {
|
|
759
|
+
return false;
|
|
760
|
+
}
|
|
761
|
+
if (this.settings.selectionMode === 'single') {
|
|
762
|
+
return false;
|
|
763
|
+
}
|
|
764
|
+
if (_class_private_field_get(this, _handlesHoveredLayer) !== layerLevel) {
|
|
765
|
+
return false;
|
|
766
|
+
}
|
|
767
|
+
// Hide handles for full-row, full-column, and select-all selections
|
|
768
|
+
// because those cannot be meaningfully resized via edge handles.
|
|
769
|
+
// A select-all range spans all columns (isEntireRowSelected) AND all rows
|
|
770
|
+
// (isEntireColumnSelected), so it is already covered by those two checks —
|
|
771
|
+
// no separate isSelectedByCorner() call is needed here, and adding one would
|
|
772
|
+
// incorrectly suppress handles on valid non-top layers in multiple-selection
|
|
773
|
+
// mode (isSelectedByCorner() always inspects the topmost layer via getLayerLevel()).
|
|
774
|
+
if (this.isEntireRowSelected(layerLevel) || this.isEntireColumnSelected(layerLevel)) {
|
|
775
|
+
return false;
|
|
776
|
+
}
|
|
777
|
+
return true;
|
|
778
|
+
}
|
|
779
|
+
/**
|
|
780
|
+
* Returns the selection layer currently showing adjustment handles, or `null`.
|
|
781
|
+
* This is an internal method used by the SelectionHandles plugin's hover and drag wiring, and is
|
|
782
|
+
* not part of the public API.
|
|
783
|
+
*
|
|
784
|
+
* @private
|
|
785
|
+
* @returns {number | null}
|
|
786
|
+
*/ getHandlesHoveredLayer() {
|
|
787
|
+
return _class_private_field_get(this, _handlesHoveredLayer);
|
|
788
|
+
}
|
|
789
|
+
/**
|
|
790
|
+
* Sets which selection layer currently shows adjustment handles and refreshes the borders.
|
|
791
|
+
* This is an internal method called by the SelectionHandles plugin's hover wiring, and is not part
|
|
792
|
+
* of the public API.
|
|
793
|
+
*
|
|
794
|
+
* @private
|
|
795
|
+
* @param {number | null} layer The hovered layer level, or `null` to hide all handles.
|
|
796
|
+
*/ setHandlesHoveredLayer(layer) {
|
|
797
|
+
if (_class_private_field_get(this, _handlesHoveredLayer) === layer) {
|
|
798
|
+
return;
|
|
799
|
+
}
|
|
800
|
+
_class_private_field_set(this, _handlesHoveredLayer, layer);
|
|
801
|
+
this.refresh();
|
|
802
|
+
}
|
|
803
|
+
/**
|
|
693
804
|
* Clear the selection by resetting the collected ranges and highlights.
|
|
694
805
|
*/ clear() {
|
|
695
806
|
// TODO: collections selectedByColumnHeader and selectedByRowHeader should be clear too.
|
|
@@ -717,9 +828,12 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
717
828
|
* @param {{row: number, col: number} | boolean} [options.focusPosition] The argument allows changing the cell/header
|
|
718
829
|
* focus position. The value takes an object with a `row` and `col` properties from -N to N, where
|
|
719
830
|
* negative values point to the headers and positive values point to the cell range. If `false`, the focus
|
|
720
|
-
* position won't be changed.
|
|
831
|
+
* position won't be changed. When the {@link Options#navigableHeaders} option is disabled (the default), a
|
|
832
|
+
* `focusPosition` that points to a header is relocated to the nearest cell in the data set.
|
|
721
833
|
* @param {boolean} [options.disableHeadersHighlight] If `true`, disables highlighting the headers even when
|
|
722
|
-
* the logical coordinates points on them.
|
|
834
|
+
* the logical coordinates points on them. This only suppresses the highlight shown on headers of a fully-selected
|
|
835
|
+
* row or column. It doesn't affect the focus indicator on the individual cell or header that holds the focus,
|
|
836
|
+
* which stays visible even when {@link Options#navigableHeaders} moves the focus onto a header.
|
|
723
837
|
*/ selectAll(includeRowHeaders = false, includeColumnHeaders = false, options = {
|
|
724
838
|
focusPosition: false,
|
|
725
839
|
disableHeadersHighlight: false
|
|
@@ -849,7 +963,12 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
849
963
|
this.selectedByColumnHeader.add(this.getLayerLevel());
|
|
850
964
|
this.setRangeEnd(to);
|
|
851
965
|
this.runLocalHooks('afterSelectColumns', from, to, highlight);
|
|
852
|
-
|
|
966
|
+
// For mouse-driven selection the process is finished by the document-level `mouseup`/`touchend`
|
|
967
|
+
// handler once the user releases the button. Finishing here as well would fire `afterSelectionEnd`
|
|
968
|
+
// prematurely on the initial `mousedown`, causing it to run twice for a header drag (#7133).
|
|
969
|
+
if (this.getSelectionSource() !== 'mouse') {
|
|
970
|
+
this.finish();
|
|
971
|
+
}
|
|
853
972
|
}
|
|
854
973
|
return isValid;
|
|
855
974
|
}
|
|
@@ -896,7 +1015,12 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
896
1015
|
this.selectedByRowHeader.add(this.getLayerLevel());
|
|
897
1016
|
this.setRangeEnd(to);
|
|
898
1017
|
this.runLocalHooks('afterSelectRows', from, to, highlight);
|
|
899
|
-
|
|
1018
|
+
// For mouse-driven selection the process is finished by the document-level `mouseup`/`touchend`
|
|
1019
|
+
// handler once the user releases the button. Finishing here as well would fire `afterSelectionEnd`
|
|
1020
|
+
// prematurely on the initial `mousedown`, causing it to run twice for a header drag (#7133).
|
|
1021
|
+
if (this.getSelectionSource() !== 'mouse') {
|
|
1022
|
+
this.finish();
|
|
1023
|
+
}
|
|
900
1024
|
}
|
|
901
1025
|
return isValid;
|
|
902
1026
|
}
|
|
@@ -1034,6 +1158,7 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
1034
1158
|
* Initializes the Selection manager with grid settings and table API references, and sets up transformation modules and highlight layers.
|
|
1035
1159
|
*/ constructor(settings, tableProps){
|
|
1036
1160
|
_class_private_method_init(this, _applyHeaderHighlights);
|
|
1161
|
+
_class_private_method_init(this, _isSelectionMovable);
|
|
1037
1162
|
/**
|
|
1038
1163
|
* The module for modifying coordinates of the start and end selection.
|
|
1039
1164
|
*
|
|
@@ -1070,6 +1195,10 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
1070
1195
|
writable: true,
|
|
1071
1196
|
value: void 0
|
|
1072
1197
|
});
|
|
1198
|
+
_class_private_field_init(this, _handlesHoveredLayer, {
|
|
1199
|
+
writable: true,
|
|
1200
|
+
value: void 0
|
|
1201
|
+
});
|
|
1073
1202
|
/**
|
|
1074
1203
|
* The flag which determines if the selection is in progress.
|
|
1075
1204
|
*
|
|
@@ -1099,6 +1228,7 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
1099
1228
|
_class_private_field_set(this, _selectionSource, 'unknown');
|
|
1100
1229
|
_class_private_field_set(this, _expectedLayersCount, -1);
|
|
1101
1230
|
_class_private_field_set(this, _activeSelectionLayer, 0);
|
|
1231
|
+
_class_private_field_set(this, _handlesHoveredLayer, null);
|
|
1102
1232
|
this.settings = settings;
|
|
1103
1233
|
this.tableProps = tableProps;
|
|
1104
1234
|
this.highlight = new Highlight({
|
|
@@ -1114,6 +1244,9 @@ var _extenderTransformation = /*#__PURE__*/ new WeakMap(), _focusTransformation
|
|
|
1114
1244
|
disabledCellSelection: (row, column)=>this.tableProps.isDisabledCellSelection(row, column),
|
|
1115
1245
|
cellCornerVisible: ()=>this.isCellCornerVisible(),
|
|
1116
1246
|
areaCornerVisible: (layerLevel)=>this.isAreaCornerVisible(layerLevel),
|
|
1247
|
+
adjustHandlesVisible: (layerLevel)=>this.isAdjustHandlesVisibleFor(layerLevel),
|
|
1248
|
+
moveEnabled: ()=>this.isRangeMovable(),
|
|
1249
|
+
cellMoveEnabled: ()=>this.isSingleCellMovable(),
|
|
1117
1250
|
visualToRenderableCoords: (coords)=>this.tableProps.visualToRenderableCoords(coords),
|
|
1118
1251
|
renderableToVisualCoords: (coords)=>this.tableProps.renderableToVisualCoords(coords),
|
|
1119
1252
|
createCellCoords: (row, column)=>this.tableProps.createCellCoords(row, column),
|
|
@@ -1179,5 +1312,16 @@ function applyHeaderHighlights(cellRange, countRows, countCols, rowHeaderHighlig
|
|
|
1179
1312
|
activeCornerHeaderHighlight?.add(this.tableProps.createCellCoords(-this.tableProps.countColHeaders(), -this.tableProps.countRowHeaders())).add(this.tableProps.createCellCoords(-1, -1)).commit();
|
|
1180
1313
|
}
|
|
1181
1314
|
}
|
|
1315
|
+
function isSelectionMovable() {
|
|
1316
|
+
if (this.settings.moveCells !== true || this.settings.disableVisualSelection || this.tableProps.isEditorOpened() || !this.tableProps.isPluginEnabled('moveCells')) {
|
|
1317
|
+
return false;
|
|
1318
|
+
}
|
|
1319
|
+
return canMoveRange({
|
|
1320
|
+
rangeCount: this.getSelectedRange().size(),
|
|
1321
|
+
isEntireRow: this.isEntireRowSelected(),
|
|
1322
|
+
isEntireColumn: this.isEntireColumnSelected(),
|
|
1323
|
+
isHeader: this.isSelectedByRowHeader() || this.isSelectedByColumnHeader()
|
|
1324
|
+
});
|
|
1325
|
+
}
|
|
1182
1326
|
mixin(Selection, localHooks);
|
|
1183
1327
|
export default Selection;
|
package/selection/types.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export interface SelectionTableProps {
|
|
|
23
23
|
columnIndexMapper: IndexMapper;
|
|
24
24
|
propToCol(prop: string | number): number;
|
|
25
25
|
isEditorOpened(): boolean;
|
|
26
|
+
isPluginEnabled(pluginName: string): boolean;
|
|
26
27
|
isDisabledCellSelection(row: number, column: number): boolean;
|
|
27
28
|
visualToRenderableCoords(coords: CellCoords): {
|
|
28
29
|
row: number | null;
|
|
@@ -57,6 +58,8 @@ export interface SelectionSettings {
|
|
|
57
58
|
selectionMode?: 'single' | 'range' | 'multiple';
|
|
58
59
|
disableVisualSelection?: boolean | string | string[];
|
|
59
60
|
fillHandle?: unknown;
|
|
61
|
+
selectionHandles?: boolean;
|
|
62
|
+
moveCells?: boolean;
|
|
60
63
|
[key: string]: unknown;
|
|
61
64
|
}
|
|
62
65
|
/**
|