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
package/helpers/dom/element.js
CHANGED
|
@@ -54,6 +54,9 @@ _export(exports, {
|
|
|
54
54
|
get getCssTransform () {
|
|
55
55
|
return getCssTransform;
|
|
56
56
|
},
|
|
57
|
+
get getDeepActiveElement () {
|
|
58
|
+
return getDeepActiveElement;
|
|
59
|
+
},
|
|
57
60
|
get getFractionalScalingCompensation () {
|
|
58
61
|
return getFractionalScalingCompensation;
|
|
59
62
|
},
|
|
@@ -90,6 +93,9 @@ _export(exports, {
|
|
|
90
93
|
get getSelectionText () {
|
|
91
94
|
return getSelectionText;
|
|
92
95
|
},
|
|
96
|
+
get getShadowHostChain () {
|
|
97
|
+
return getShadowHostChain;
|
|
98
|
+
},
|
|
93
99
|
get getStyle () {
|
|
94
100
|
return getStyle;
|
|
95
101
|
},
|
|
@@ -165,6 +171,9 @@ _export(exports, {
|
|
|
165
171
|
get matchesCSSRules () {
|
|
166
172
|
return matchesCSSRules;
|
|
167
173
|
},
|
|
174
|
+
get missingSanitizerMessage () {
|
|
175
|
+
return missingSanitizerMessage;
|
|
176
|
+
},
|
|
168
177
|
get observeVisibilityChangeOnce () {
|
|
169
178
|
return observeVisibilityChangeOnce;
|
|
170
179
|
},
|
|
@@ -498,6 +507,9 @@ function empty(element) {
|
|
|
498
507
|
}
|
|
499
508
|
const HTML_CHARACTERS = /(<([^>]*)>|&([^;]*);)/;
|
|
500
509
|
const SANITIZER_WARN_KEY = 'sanitizer';
|
|
510
|
+
function missingSanitizerMessage(context) {
|
|
511
|
+
return `HTML content is being written to the DOM ("${context}") without a sanitizer. ` + 'Configure the "sanitizer" option to prevent XSS vulnerabilities.';
|
|
512
|
+
}
|
|
501
513
|
/**
|
|
502
514
|
* Default scope used when a caller writes raw HTML without supplying a per-instance
|
|
503
515
|
* scope. Keeps the warning to once per process for such callers.
|
|
@@ -506,13 +518,17 @@ function fastInnerHTML(element, content, sanitizer = true, context = 'innerHTML'
|
|
|
506
518
|
if (HTML_CHARACTERS.test(content)) {
|
|
507
519
|
let sanitized;
|
|
508
520
|
if (typeof sanitizer === 'function') {
|
|
509
|
-
|
|
521
|
+
// `?? ''` rather than `?? content`: a sanitizer that returns nothing for input it strips
|
|
522
|
+
// entirely must not have the raw input written back, which would undo the sanitizing. The
|
|
523
|
+
// declared return type is `string`, but JavaScript callers are not held to it, and without
|
|
524
|
+
// this guard the literal word "undefined" reaches the DOM.
|
|
525
|
+
sanitized = sanitizer(content, context) ?? '';
|
|
510
526
|
} else {
|
|
511
527
|
// `false` means the caller renders raw HTML deliberately (for example, the `html` cell type).
|
|
512
528
|
// Any other non-function value (the default `true`) is an implicit raw write, so nudge once
|
|
513
529
|
// toward configuring a sanitizer to prevent XSS.
|
|
514
530
|
if (sanitizer !== false) {
|
|
515
|
-
(0, _console.warnOnce)(scope, SANITIZER_WARN_KEY,
|
|
531
|
+
(0, _console.warnOnce)(scope, SANITIZER_WARN_KEY, missingSanitizerMessage(context));
|
|
516
532
|
}
|
|
517
533
|
sanitized = content;
|
|
518
534
|
}
|
|
@@ -674,28 +690,74 @@ function getMaximumScrollTop(element) {
|
|
|
674
690
|
function getMaximumScrollLeft(element) {
|
|
675
691
|
return element.scrollWidth - element.clientWidth;
|
|
676
692
|
}
|
|
693
|
+
const OVERFLOW_TRIMMING_VALUES = [
|
|
694
|
+
'scroll',
|
|
695
|
+
'hidden',
|
|
696
|
+
'auto',
|
|
697
|
+
'clip'
|
|
698
|
+
];
|
|
699
|
+
const OVERFLOW_CONCRETE_VALUES = [
|
|
700
|
+
'visible',
|
|
701
|
+
'clip',
|
|
702
|
+
'hidden',
|
|
703
|
+
'scroll',
|
|
704
|
+
'auto',
|
|
705
|
+
'overlay'
|
|
706
|
+
];
|
|
707
|
+
/**
|
|
708
|
+
* Checks whether a single overflow axis traps the table on that axis.
|
|
709
|
+
*
|
|
710
|
+
* `overflow: clip` establishes no scroll port. When an axis is `clip` while the perpendicular axis
|
|
711
|
+
* stays `visible`, it does not trap the table's scroll — the table still scrolls with the window on
|
|
712
|
+
* the visible axis. A width-constrained, window-scrolled table sets `overflow-x: clip` on its root
|
|
713
|
+
* (see core.ts, DEV-1025); treating that root as the trimming container drops the overlays out of
|
|
714
|
+
* window-scroll mode (frozen rows stop pinning, vertical virtualization stops). Such a single-axis
|
|
715
|
+
* clip must not qualify the axis as trimming.
|
|
716
|
+
*
|
|
717
|
+
* @param {string} axis The `overflow-x`/`overflow-y` value of the axis being tested.
|
|
718
|
+
* @param {string} perpendicular The `overflow` value of the other axis.
|
|
719
|
+
* @returns {boolean}
|
|
720
|
+
*/ function overflowAxisTraps(axis, perpendicular) {
|
|
721
|
+
return OVERFLOW_TRIMMING_VALUES.includes(axis) && !(axis === 'clip' && (perpendicular === 'visible' || perpendicular === ''));
|
|
722
|
+
}
|
|
723
|
+
/**
|
|
724
|
+
* Resolves the effective `overflow-x`/`overflow-y` of an element, preferring inline styles.
|
|
725
|
+
*
|
|
726
|
+
* The inline `overflow` shorthand can carry two values (`overflow: clip visible` → x, y). Some
|
|
727
|
+
* engines (jsdom) neither split that shorthand into `overflowX`/`overflowY` nor reflect it in the
|
|
728
|
+
* computed style, so the shorthand string is parsed directly. An inline value is only preferred when
|
|
729
|
+
* it is a concrete overflow keyword; a global keyword (`inherit`, `initial`, `revert`, `unset`) or
|
|
730
|
+
* any other non-concrete value falls back to the computed style, which resolves it to the real value
|
|
731
|
+
* (e.g. an inherited `auto`). Otherwise an inline `inherit` would be read literally and miss the
|
|
732
|
+
* scroll value it inherits.
|
|
733
|
+
*
|
|
734
|
+
* @param {HTMLElement} el The element to read overflow from.
|
|
735
|
+
* @param {CSSStyleDeclaration} computedStyle The element's computed style.
|
|
736
|
+
* @returns {{ x: string, y: string }}
|
|
737
|
+
*/ function resolveOverflowAxes(el, computedStyle) {
|
|
738
|
+
const shorthand = el.style.overflow.split(/\s+/).filter(Boolean);
|
|
739
|
+
const [shorthandX = '', shorthandY = shorthandX] = shorthand;
|
|
740
|
+
const resolveAxis = (inlineAxis, shorthandAxis, computedProperty)=>{
|
|
741
|
+
const inline = inlineAxis || shorthandAxis;
|
|
742
|
+
return OVERFLOW_CONCRETE_VALUES.includes(inline) ? inline : computedStyle.getPropertyValue(computedProperty);
|
|
743
|
+
};
|
|
744
|
+
return {
|
|
745
|
+
x: resolveAxis(el.style.overflowX, shorthandX, 'overflow-x'),
|
|
746
|
+
y: resolveAxis(el.style.overflowY, shorthandY, 'overflow-y')
|
|
747
|
+
};
|
|
748
|
+
}
|
|
677
749
|
function getTrimmingContainer(base) {
|
|
678
750
|
const rootDocument = base.ownerDocument;
|
|
679
751
|
const rootWindow = rootDocument.defaultView;
|
|
680
752
|
let el = base.parentElement;
|
|
681
753
|
while(el && el.style && rootDocument.body !== el){
|
|
682
|
-
if (el.style.overflow !== 'visible' && el.style.overflow !== '') {
|
|
683
|
-
return el;
|
|
684
|
-
}
|
|
685
754
|
if (rootWindow) {
|
|
686
|
-
const
|
|
687
|
-
|
|
688
|
-
'scroll',
|
|
689
|
-
'hidden',
|
|
690
|
-
'auto',
|
|
691
|
-
'clip'
|
|
692
|
-
];
|
|
693
|
-
const property = computedStyle.getPropertyValue('overflow');
|
|
694
|
-
const propertyY = computedStyle.getPropertyValue('overflow-y');
|
|
695
|
-
const propertyX = computedStyle.getPropertyValue('overflow-x');
|
|
696
|
-
if (allowedProperties.includes(property) || allowedProperties.includes(propertyY) || allowedProperties.includes(propertyX)) {
|
|
755
|
+
const { x, y } = resolveOverflowAxes(el, rootWindow.getComputedStyle(el));
|
|
756
|
+
if (overflowAxisTraps(x, y) || overflowAxisTraps(y, x)) {
|
|
697
757
|
return el;
|
|
698
758
|
}
|
|
759
|
+
} else if (el.style.overflow !== 'visible' && el.style.overflow !== '') {
|
|
760
|
+
return el;
|
|
699
761
|
}
|
|
700
762
|
el = el.parentElement;
|
|
701
763
|
}
|
|
@@ -917,7 +979,7 @@ function isOutsideInput(element) {
|
|
|
917
979
|
return isInput(element) && 'hotInput' in element.dataset === false;
|
|
918
980
|
}
|
|
919
981
|
function selectElementIfAllowed(element) {
|
|
920
|
-
const activeElement = element.ownerDocument
|
|
982
|
+
const activeElement = getDeepActiveElement(element.ownerDocument);
|
|
921
983
|
if (isHTMLElement(activeElement) && !isOutsideInput(activeElement) && (element instanceof HTMLInputElement || element instanceof HTMLTextAreaElement)) {
|
|
922
984
|
element.select();
|
|
923
985
|
}
|
|
@@ -935,6 +997,7 @@ function observeVisibilityChangeOnce(elementToBeObserved, callback) {
|
|
|
935
997
|
});
|
|
936
998
|
});
|
|
937
999
|
visibilityObserver.observe(elementToBeObserved);
|
|
1000
|
+
return visibilityObserver;
|
|
938
1001
|
}
|
|
939
1002
|
function makeElementContentEditableAndSelectItsContent(element, invisibleSelection = true, ariaHidden = true) {
|
|
940
1003
|
const ownerDocument = element.ownerDocument;
|
|
@@ -982,7 +1045,30 @@ function isHTMLInputElement(element) {
|
|
|
982
1045
|
return element.tagName === 'INPUT';
|
|
983
1046
|
}
|
|
984
1047
|
function isShadowRoot(node) {
|
|
985
|
-
|
|
1048
|
+
if (typeof node !== 'object' || node === null) {
|
|
1049
|
+
return false;
|
|
1050
|
+
}
|
|
1051
|
+
return 'nodeType' in node && node.nodeType === Node.DOCUMENT_FRAGMENT_NODE && 'host' in node;
|
|
1052
|
+
}
|
|
1053
|
+
function getShadowHostChain(node) {
|
|
1054
|
+
const hosts = [];
|
|
1055
|
+
let rootNode = node.getRootNode();
|
|
1056
|
+
while(isShadowRoot(rootNode)){
|
|
1057
|
+
const { host } = rootNode;
|
|
1058
|
+
if (!isHTMLElement(host)) {
|
|
1059
|
+
break;
|
|
1060
|
+
}
|
|
1061
|
+
hosts.push(host);
|
|
1062
|
+
rootNode = host.getRootNode();
|
|
1063
|
+
}
|
|
1064
|
+
return hosts;
|
|
1065
|
+
}
|
|
1066
|
+
function getDeepActiveElement(rootDocument) {
|
|
1067
|
+
let element = rootDocument.activeElement;
|
|
1068
|
+
while(element?.shadowRoot?.activeElement){
|
|
1069
|
+
element = element.shadowRoot.activeElement;
|
|
1070
|
+
}
|
|
1071
|
+
return element;
|
|
986
1072
|
}
|
|
987
1073
|
function getChildEl(parent, index) {
|
|
988
1074
|
const node = parent.childNodes[index];
|
package/helpers/dom/element.mjs
CHANGED
|
@@ -410,6 +410,21 @@ export const HTML_CHARACTERS = /(<([^>]*)>|&([^;]*);)/;
|
|
|
410
410
|
* write surfaces (headers, context menu, dialogs, notifications, editors)
|
|
411
411
|
* collapse into a single warning per Handsontable instance.
|
|
412
412
|
*/ export const SANITIZER_WARN_KEY = 'sanitizer';
|
|
413
|
+
/**
|
|
414
|
+
* Builds the missing-sanitizer warning. Every surface that writes raw HTML uses this, whether it
|
|
415
|
+
* goes through `fastInnerHTML` or sanitizes a string first (`utils/sanitizer.ts`), so the wording
|
|
416
|
+
* cannot drift between them.
|
|
417
|
+
*
|
|
418
|
+
* It lives here rather than beside its second caller because `utils/sanitizer.ts` already imports
|
|
419
|
+
* from this module, and the reverse direction would be a cycle. That makes it public through
|
|
420
|
+
* `Handsontable.dom`, like `HTML_CHARACTERS` and `SANITIZER_WARN_KEY` above it - accepted
|
|
421
|
+
* deliberately: it is a pure string builder, and it is useful to anyone writing their own sink.
|
|
422
|
+
*
|
|
423
|
+
* @param {string} context The write surface that is about to receive raw HTML.
|
|
424
|
+
* @returns {string} The warning message.
|
|
425
|
+
*/ export function missingSanitizerMessage(context) {
|
|
426
|
+
return `HTML content is being written to the DOM ("${context}") without a sanitizer. ` + 'Configure the "sanitizer" option to prevent XSS vulnerabilities.';
|
|
427
|
+
}
|
|
413
428
|
/**
|
|
414
429
|
* Default scope used when a caller writes raw HTML without supplying a per-instance
|
|
415
430
|
* scope. Keeps the warning to once per process for such callers.
|
|
@@ -419,24 +434,28 @@ export const HTML_CHARACTERS = /(<([^>]*)>|&([^;]*);)/;
|
|
|
419
434
|
*
|
|
420
435
|
* @param {HTMLElement} element An element to write into.
|
|
421
436
|
* @param {string} content The text to write.
|
|
422
|
-
* @param {boolean|function(string,
|
|
437
|
+
* @param {boolean|function(string, SanitizerContext): string} [sanitizer] When a function, use it as the sanitizer; when `false`,
|
|
423
438
|
* write the content as raw HTML on purpose (no warning); when `true` (the default), write the content as raw HTML and
|
|
424
439
|
* warn once that no sanitizer is configured.
|
|
425
|
-
* @param {
|
|
440
|
+
* @param {SanitizerContext} [context] The sanitization context passed as the second argument to a custom sanitizer function, and
|
|
426
441
|
* used in the missing-sanitizer warning to identify the write surface.
|
|
427
|
-
* @param {object} [scope] Object the "warn once" state is bound to (
|
|
428
|
-
* is shown at most once per Handsontable instance.
|
|
442
|
+
* @param {object} [scope] Object the "warn once" state is bound to (`hot.rootElement` at every call site
|
|
443
|
+
* inside the grid), so the warning is shown at most once per Handsontable instance.
|
|
429
444
|
*/ export function fastInnerHTML(element, content, sanitizer = true, context = 'innerHTML', scope = defaultSanitizerWarnScope) {
|
|
430
445
|
if (HTML_CHARACTERS.test(content)) {
|
|
431
446
|
let sanitized;
|
|
432
447
|
if (typeof sanitizer === 'function') {
|
|
433
|
-
|
|
448
|
+
// `?? ''` rather than `?? content`: a sanitizer that returns nothing for input it strips
|
|
449
|
+
// entirely must not have the raw input written back, which would undo the sanitizing. The
|
|
450
|
+
// declared return type is `string`, but JavaScript callers are not held to it, and without
|
|
451
|
+
// this guard the literal word "undefined" reaches the DOM.
|
|
452
|
+
sanitized = sanitizer(content, context) ?? '';
|
|
434
453
|
} else {
|
|
435
454
|
// `false` means the caller renders raw HTML deliberately (for example, the `html` cell type).
|
|
436
455
|
// Any other non-function value (the default `true`) is an implicit raw write, so nudge once
|
|
437
456
|
// toward configuring a sanitizer to prevent XSS.
|
|
438
457
|
if (sanitizer !== false) {
|
|
439
|
-
warnOnce(scope, SANITIZER_WARN_KEY,
|
|
458
|
+
warnOnce(scope, SANITIZER_WARN_KEY, missingSanitizerMessage(context));
|
|
440
459
|
}
|
|
441
460
|
sanitized = content;
|
|
442
461
|
}
|
|
@@ -659,6 +678,62 @@ export function getScrollLeft(element, rootWindow = window) {
|
|
|
659
678
|
*/ export function getMaximumScrollLeft(element) {
|
|
660
679
|
return element.scrollWidth - element.clientWidth;
|
|
661
680
|
}
|
|
681
|
+
const OVERFLOW_TRIMMING_VALUES = [
|
|
682
|
+
'scroll',
|
|
683
|
+
'hidden',
|
|
684
|
+
'auto',
|
|
685
|
+
'clip'
|
|
686
|
+
];
|
|
687
|
+
const OVERFLOW_CONCRETE_VALUES = [
|
|
688
|
+
'visible',
|
|
689
|
+
'clip',
|
|
690
|
+
'hidden',
|
|
691
|
+
'scroll',
|
|
692
|
+
'auto',
|
|
693
|
+
'overlay'
|
|
694
|
+
];
|
|
695
|
+
/**
|
|
696
|
+
* Checks whether a single overflow axis traps the table on that axis.
|
|
697
|
+
*
|
|
698
|
+
* `overflow: clip` establishes no scroll port. When an axis is `clip` while the perpendicular axis
|
|
699
|
+
* stays `visible`, it does not trap the table's scroll — the table still scrolls with the window on
|
|
700
|
+
* the visible axis. A width-constrained, window-scrolled table sets `overflow-x: clip` on its root
|
|
701
|
+
* (see core.ts, DEV-1025); treating that root as the trimming container drops the overlays out of
|
|
702
|
+
* window-scroll mode (frozen rows stop pinning, vertical virtualization stops). Such a single-axis
|
|
703
|
+
* clip must not qualify the axis as trimming.
|
|
704
|
+
*
|
|
705
|
+
* @param {string} axis The `overflow-x`/`overflow-y` value of the axis being tested.
|
|
706
|
+
* @param {string} perpendicular The `overflow` value of the other axis.
|
|
707
|
+
* @returns {boolean}
|
|
708
|
+
*/ function overflowAxisTraps(axis, perpendicular) {
|
|
709
|
+
return OVERFLOW_TRIMMING_VALUES.includes(axis) && !(axis === 'clip' && (perpendicular === 'visible' || perpendicular === ''));
|
|
710
|
+
}
|
|
711
|
+
/**
|
|
712
|
+
* Resolves the effective `overflow-x`/`overflow-y` of an element, preferring inline styles.
|
|
713
|
+
*
|
|
714
|
+
* The inline `overflow` shorthand can carry two values (`overflow: clip visible` → x, y). Some
|
|
715
|
+
* engines (jsdom) neither split that shorthand into `overflowX`/`overflowY` nor reflect it in the
|
|
716
|
+
* computed style, so the shorthand string is parsed directly. An inline value is only preferred when
|
|
717
|
+
* it is a concrete overflow keyword; a global keyword (`inherit`, `initial`, `revert`, `unset`) or
|
|
718
|
+
* any other non-concrete value falls back to the computed style, which resolves it to the real value
|
|
719
|
+
* (e.g. an inherited `auto`). Otherwise an inline `inherit` would be read literally and miss the
|
|
720
|
+
* scroll value it inherits.
|
|
721
|
+
*
|
|
722
|
+
* @param {HTMLElement} el The element to read overflow from.
|
|
723
|
+
* @param {CSSStyleDeclaration} computedStyle The element's computed style.
|
|
724
|
+
* @returns {{ x: string, y: string }}
|
|
725
|
+
*/ function resolveOverflowAxes(el, computedStyle) {
|
|
726
|
+
const shorthand = el.style.overflow.split(/\s+/).filter(Boolean);
|
|
727
|
+
const [shorthandX = '', shorthandY = shorthandX] = shorthand;
|
|
728
|
+
const resolveAxis = (inlineAxis, shorthandAxis, computedProperty)=>{
|
|
729
|
+
const inline = inlineAxis || shorthandAxis;
|
|
730
|
+
return OVERFLOW_CONCRETE_VALUES.includes(inline) ? inline : computedStyle.getPropertyValue(computedProperty);
|
|
731
|
+
};
|
|
732
|
+
return {
|
|
733
|
+
x: resolveAxis(el.style.overflowX, shorthandX, 'overflow-x'),
|
|
734
|
+
y: resolveAxis(el.style.overflowY, shorthandY, 'overflow-y')
|
|
735
|
+
};
|
|
736
|
+
}
|
|
662
737
|
/**
|
|
663
738
|
* Returns a DOM element responsible for trimming the provided element.
|
|
664
739
|
*
|
|
@@ -669,23 +744,13 @@ export function getScrollLeft(element, rootWindow = window) {
|
|
|
669
744
|
const rootWindow = rootDocument.defaultView;
|
|
670
745
|
let el = base.parentElement;
|
|
671
746
|
while(el && el.style && rootDocument.body !== el){
|
|
672
|
-
if (el.style.overflow !== 'visible' && el.style.overflow !== '') {
|
|
673
|
-
return el;
|
|
674
|
-
}
|
|
675
747
|
if (rootWindow) {
|
|
676
|
-
const
|
|
677
|
-
|
|
678
|
-
'scroll',
|
|
679
|
-
'hidden',
|
|
680
|
-
'auto',
|
|
681
|
-
'clip'
|
|
682
|
-
];
|
|
683
|
-
const property = computedStyle.getPropertyValue('overflow');
|
|
684
|
-
const propertyY = computedStyle.getPropertyValue('overflow-y');
|
|
685
|
-
const propertyX = computedStyle.getPropertyValue('overflow-x');
|
|
686
|
-
if (allowedProperties.includes(property) || allowedProperties.includes(propertyY) || allowedProperties.includes(propertyX)) {
|
|
748
|
+
const { x, y } = resolveOverflowAxes(el, rootWindow.getComputedStyle(el));
|
|
749
|
+
if (overflowAxisTraps(x, y) || overflowAxisTraps(y, x)) {
|
|
687
750
|
return el;
|
|
688
751
|
}
|
|
752
|
+
} else if (el.style.overflow !== 'visible' && el.style.overflow !== '') {
|
|
753
|
+
return el;
|
|
689
754
|
}
|
|
690
755
|
el = el.parentElement;
|
|
691
756
|
}
|
|
@@ -1027,7 +1092,7 @@ export function getScrollbarWidth(rootDocument = document) {
|
|
|
1027
1092
|
*
|
|
1028
1093
|
* @param {HTMLElement} element - DOM element.
|
|
1029
1094
|
*/ export function selectElementIfAllowed(element) {
|
|
1030
|
-
const activeElement = element.ownerDocument
|
|
1095
|
+
const activeElement = getDeepActiveElement(element.ownerDocument);
|
|
1031
1096
|
if (isHTMLElement(activeElement) && !isOutsideInput(activeElement) && (element instanceof HTMLInputElement || element instanceof HTMLTextAreaElement)) {
|
|
1032
1097
|
element.select();
|
|
1033
1098
|
}
|
|
@@ -1044,8 +1109,12 @@ export function getScrollbarWidth(rootDocument = document) {
|
|
|
1044
1109
|
* Set up an observer to recognize when the provided element first becomes visible and trigger a callback when it
|
|
1045
1110
|
* happens.
|
|
1046
1111
|
*
|
|
1112
|
+
* The observer is returned so the caller can disconnect it earlier - a pending delivery carries the state from
|
|
1113
|
+
* the moment its snapshot was taken, so it can arrive after the observed element (or its owner) is gone.
|
|
1114
|
+
*
|
|
1047
1115
|
* @param {HTMLElement} elementToBeObserved Element to be observed.
|
|
1048
1116
|
* @param {Function} callback The callback function.
|
|
1117
|
+
* @returns {IntersectionObserver} The observer watching the element.
|
|
1049
1118
|
*/ export function observeVisibilityChangeOnce(elementToBeObserved, callback) {
|
|
1050
1119
|
const visibilityObserver = new IntersectionObserver((entries, observer)=>{
|
|
1051
1120
|
entries.forEach((entry)=>{
|
|
@@ -1056,6 +1125,7 @@ export function getScrollbarWidth(rootDocument = document) {
|
|
|
1056
1125
|
});
|
|
1057
1126
|
});
|
|
1058
1127
|
visibilityObserver.observe(elementToBeObserved);
|
|
1128
|
+
return visibilityObserver;
|
|
1059
1129
|
}
|
|
1060
1130
|
/**
|
|
1061
1131
|
* Add a `contenteditable` attribute, select the contents and optionally add the `invisibleSelection`
|
|
@@ -1141,10 +1211,49 @@ export function getScrollbarWidth(rootDocument = document) {
|
|
|
1141
1211
|
/**
|
|
1142
1212
|
* Check if the node is a ShadowRoot (a document fragment attached to a host element).
|
|
1143
1213
|
*
|
|
1144
|
-
* @param {Node} node Node to check.
|
|
1214
|
+
* @param {Node|EventTarget} node Node to check.
|
|
1145
1215
|
* @returns {boolean} `true` if the node is a ShadowRoot.
|
|
1146
1216
|
*/ export function isShadowRoot(node) {
|
|
1147
|
-
|
|
1217
|
+
if (typeof node !== 'object' || node === null) {
|
|
1218
|
+
return false;
|
|
1219
|
+
}
|
|
1220
|
+
return 'nodeType' in node && node.nodeType === Node.DOCUMENT_FRAGMENT_NODE && 'host' in node;
|
|
1221
|
+
}
|
|
1222
|
+
/**
|
|
1223
|
+
* Gets the chain of shadow host elements the node is rendered within, ordered from the
|
|
1224
|
+
* closest host outward to the host attached to the document.
|
|
1225
|
+
*
|
|
1226
|
+
* @param {Node} node The node to read the host chain from.
|
|
1227
|
+
* @returns {HTMLElement[]} The shadow host elements; empty when the node is not in a Shadow DOM tree.
|
|
1228
|
+
*/ export function getShadowHostChain(node) {
|
|
1229
|
+
const hosts = [];
|
|
1230
|
+
let rootNode = node.getRootNode();
|
|
1231
|
+
while(isShadowRoot(rootNode)){
|
|
1232
|
+
const { host } = rootNode;
|
|
1233
|
+
if (!isHTMLElement(host)) {
|
|
1234
|
+
break;
|
|
1235
|
+
}
|
|
1236
|
+
hosts.push(host);
|
|
1237
|
+
rootNode = host.getRootNode();
|
|
1238
|
+
}
|
|
1239
|
+
return hosts;
|
|
1240
|
+
}
|
|
1241
|
+
/**
|
|
1242
|
+
* Gets the deepest active (focused) element in the document. When the focus is inside
|
|
1243
|
+
* a Shadow DOM tree, `document.activeElement` points at the shadow host instead of the
|
|
1244
|
+
* focused element. This helper descends through the open shadow roots and returns
|
|
1245
|
+
* the element that actually holds the focus.
|
|
1246
|
+
*
|
|
1247
|
+
* @param {Document} rootDocument The document to read the active element from.
|
|
1248
|
+
* @returns {Element|null} The deepest focused element. The browser reports `document.body`
|
|
1249
|
+
* when no other element holds the focus; `null` appears only in edge cases such as
|
|
1250
|
+
* a document with no body.
|
|
1251
|
+
*/ export function getDeepActiveElement(rootDocument) {
|
|
1252
|
+
let element = rootDocument.activeElement;
|
|
1253
|
+
while(element?.shadowRoot?.activeElement){
|
|
1254
|
+
element = element.shadowRoot.activeElement;
|
|
1255
|
+
}
|
|
1256
|
+
return element;
|
|
1148
1257
|
}
|
|
1149
1258
|
/**
|
|
1150
1259
|
* Gets a child node at the specified index cast to the specified HTML element type.
|
package/helpers/dom/event.d.ts
CHANGED
|
@@ -39,6 +39,64 @@ export declare function isMiddleClick(event: Event): boolean;
|
|
|
39
39
|
* @returns {boolean}
|
|
40
40
|
*/
|
|
41
41
|
export declare function isTouchEvent(event: Event): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* One finger, as a touch event reports it.
|
|
44
|
+
*/
|
|
45
|
+
export interface TouchPoint {
|
|
46
|
+
identifier: number;
|
|
47
|
+
clientX: number;
|
|
48
|
+
clientY: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* A DOM event that carries touch lists.
|
|
52
|
+
*
|
|
53
|
+
* `touches` is every finger currently on the screen, in the order they were placed. `changedTouches`
|
|
54
|
+
* is only the fingers this particular event is about - the ones that landed, moved, lifted or were
|
|
55
|
+
* cancelled.
|
|
56
|
+
*/
|
|
57
|
+
export interface TouchListEvent extends Event {
|
|
58
|
+
touches: ArrayLike<TouchPoint>;
|
|
59
|
+
changedTouches: ArrayLike<TouchPoint>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Narrows a DOM event to one that carries touch lists.
|
|
63
|
+
*
|
|
64
|
+
* Detects them by property rather than with `instanceof TouchEvent`, so it also holds for an event
|
|
65
|
+
* that crossed an iframe boundary - every frame has its own `TouchEvent` constructor - and on
|
|
66
|
+
* desktop Safari, which does not expose `TouchEvent` at all. Use `isTouchEvent` when you need the
|
|
67
|
+
* stricter same-frame check instead.
|
|
68
|
+
*
|
|
69
|
+
* @param {Event} event The event object.
|
|
70
|
+
* @returns {boolean} `true` when the event carries touch lists.
|
|
71
|
+
*/
|
|
72
|
+
export declare function hasTouchList(event: Event): event is TouchListEvent;
|
|
73
|
+
/**
|
|
74
|
+
* Reads the finger a touch event is about - the first of its `changedTouches`.
|
|
75
|
+
*
|
|
76
|
+
* Use this on `touchstart` to learn which finger began a gesture, and keep the returned
|
|
77
|
+
* `identifier` to follow that same finger through `getTouchPointById()`. Reading `touches[0]`
|
|
78
|
+
* instead would give the first finger placed *anywhere* on the screen, which is a different finger
|
|
79
|
+
* as soon as one was already resting there.
|
|
80
|
+
*
|
|
81
|
+
* @param {Event} event The event object.
|
|
82
|
+
* @returns {object|null} The finger as `{identifier, clientX, clientY}`, or `null` when the event
|
|
83
|
+
* carries no touch lists or names no changed finger.
|
|
84
|
+
*/
|
|
85
|
+
export declare function getFirstChangedTouch(event: Event): TouchPoint | null;
|
|
86
|
+
/**
|
|
87
|
+
* Reads where one specific finger currently is.
|
|
88
|
+
*
|
|
89
|
+
* Looks the finger up in `touches`, which holds only the fingers still on the screen. A `null`
|
|
90
|
+
* result therefore answers two questions at once: where is my finger, and is it still down? That is
|
|
91
|
+
* what makes it the right test for ending a gesture on `touchend` and `touchcancel` - both fire once
|
|
92
|
+
* per finger, so "some finger lifted" is never the same question as "my finger lifted".
|
|
93
|
+
*
|
|
94
|
+
* @param {Event} event The event object.
|
|
95
|
+
* @param {number} identifier The `Touch.identifier` to look for.
|
|
96
|
+
* @returns {object|null} The finger as `{identifier, clientX, clientY}`, matching
|
|
97
|
+
* `getFirstChangedTouch()`, or `null` when it is no longer touching the screen.
|
|
98
|
+
*/
|
|
99
|
+
export declare function getTouchPointById(event: Event, identifier: number): TouchPoint | null;
|
|
42
100
|
/**
|
|
43
101
|
* Calculates the event offset until reaching the element defined by `relativeElement` argument.
|
|
44
102
|
*
|
package/helpers/dom/event.js
CHANGED
|
@@ -9,6 +9,15 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
+
get getFirstChangedTouch () {
|
|
13
|
+
return getFirstChangedTouch;
|
|
14
|
+
},
|
|
15
|
+
get getTouchPointById () {
|
|
16
|
+
return getTouchPointById;
|
|
17
|
+
},
|
|
18
|
+
get hasTouchList () {
|
|
19
|
+
return hasTouchList;
|
|
20
|
+
},
|
|
12
21
|
get isImmediatePropagationStopped () {
|
|
13
22
|
return isImmediatePropagationStopped;
|
|
14
23
|
},
|
|
@@ -51,6 +60,36 @@ function isMiddleClick(event) {
|
|
|
51
60
|
function isTouchEvent(event) {
|
|
52
61
|
return typeof TouchEvent !== 'undefined' && event instanceof TouchEvent;
|
|
53
62
|
}
|
|
63
|
+
function hasTouchList(event) {
|
|
64
|
+
return 'touches' in event && 'changedTouches' in event;
|
|
65
|
+
}
|
|
66
|
+
function getFirstChangedTouch(event) {
|
|
67
|
+
if (!hasTouchList(event) || event.changedTouches.length === 0) {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
const { identifier, clientX, clientY } = event.changedTouches[0];
|
|
71
|
+
return {
|
|
72
|
+
identifier,
|
|
73
|
+
clientX,
|
|
74
|
+
clientY
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function getTouchPointById(event, identifier) {
|
|
78
|
+
if (!hasTouchList(event)) {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
for(let i = 0; i < event.touches.length; i++){
|
|
82
|
+
const touch = event.touches[i];
|
|
83
|
+
if (touch.identifier === identifier) {
|
|
84
|
+
return {
|
|
85
|
+
identifier: touch.identifier,
|
|
86
|
+
clientX: touch.clientX,
|
|
87
|
+
clientY: touch.clientY
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
54
93
|
function offsetRelativeTo(event, untilElement) {
|
|
55
94
|
const offset = {
|
|
56
95
|
x: event.offsetX,
|
package/helpers/dom/event.mjs
CHANGED
|
@@ -47,6 +47,69 @@ import { eventTargetEl, isHTMLElement } from './element.mjs';
|
|
|
47
47
|
*/ export function isTouchEvent(event) {
|
|
48
48
|
return typeof TouchEvent !== 'undefined' && event instanceof TouchEvent;
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Narrows a DOM event to one that carries touch lists.
|
|
52
|
+
*
|
|
53
|
+
* Detects them by property rather than with `instanceof TouchEvent`, so it also holds for an event
|
|
54
|
+
* that crossed an iframe boundary - every frame has its own `TouchEvent` constructor - and on
|
|
55
|
+
* desktop Safari, which does not expose `TouchEvent` at all. Use `isTouchEvent` when you need the
|
|
56
|
+
* stricter same-frame check instead.
|
|
57
|
+
*
|
|
58
|
+
* @param {Event} event The event object.
|
|
59
|
+
* @returns {boolean} `true` when the event carries touch lists.
|
|
60
|
+
*/ export function hasTouchList(event) {
|
|
61
|
+
return 'touches' in event && 'changedTouches' in event;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Reads the finger a touch event is about - the first of its `changedTouches`.
|
|
65
|
+
*
|
|
66
|
+
* Use this on `touchstart` to learn which finger began a gesture, and keep the returned
|
|
67
|
+
* `identifier` to follow that same finger through `getTouchPointById()`. Reading `touches[0]`
|
|
68
|
+
* instead would give the first finger placed *anywhere* on the screen, which is a different finger
|
|
69
|
+
* as soon as one was already resting there.
|
|
70
|
+
*
|
|
71
|
+
* @param {Event} event The event object.
|
|
72
|
+
* @returns {object|null} The finger as `{identifier, clientX, clientY}`, or `null` when the event
|
|
73
|
+
* carries no touch lists or names no changed finger.
|
|
74
|
+
*/ export function getFirstChangedTouch(event) {
|
|
75
|
+
if (!hasTouchList(event) || event.changedTouches.length === 0) {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
const { identifier, clientX, clientY } = event.changedTouches[0];
|
|
79
|
+
return {
|
|
80
|
+
identifier,
|
|
81
|
+
clientX,
|
|
82
|
+
clientY
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Reads where one specific finger currently is.
|
|
87
|
+
*
|
|
88
|
+
* Looks the finger up in `touches`, which holds only the fingers still on the screen. A `null`
|
|
89
|
+
* result therefore answers two questions at once: where is my finger, and is it still down? That is
|
|
90
|
+
* what makes it the right test for ending a gesture on `touchend` and `touchcancel` - both fire once
|
|
91
|
+
* per finger, so "some finger lifted" is never the same question as "my finger lifted".
|
|
92
|
+
*
|
|
93
|
+
* @param {Event} event The event object.
|
|
94
|
+
* @param {number} identifier The `Touch.identifier` to look for.
|
|
95
|
+
* @returns {object|null} The finger as `{identifier, clientX, clientY}`, matching
|
|
96
|
+
* `getFirstChangedTouch()`, or `null` when it is no longer touching the screen.
|
|
97
|
+
*/ export function getTouchPointById(event, identifier) {
|
|
98
|
+
if (!hasTouchList(event)) {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
for(let i = 0; i < event.touches.length; i++){
|
|
102
|
+
const touch = event.touches[i];
|
|
103
|
+
if (touch.identifier === identifier) {
|
|
104
|
+
return {
|
|
105
|
+
identifier: touch.identifier,
|
|
106
|
+
clientX: touch.clientX,
|
|
107
|
+
clientY: touch.clientY
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
50
113
|
/**
|
|
51
114
|
* Calculates the event offset until reaching the element defined by `relativeElement` argument.
|
|
52
115
|
*
|
package/helpers/errors.d.ts
CHANGED
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
* Use this helper instead of `throw new Error()` to ensure all Handsontable errors
|
|
5
5
|
* can be recognized by checking `error.cause?.handsontable === true`.
|
|
6
6
|
*
|
|
7
|
+
* The cause is assigned after construction rather than passed as the `new Error(message, options)`
|
|
8
|
+
* options bag: that overload is ES2022 (Chrome 94 / Firefox 91 / Safari 15.0), above the floor
|
|
9
|
+
* declared in `../../../browser-targets.js`. Engines below it ignore the second argument silently,
|
|
10
|
+
* which would leave `error.cause` undefined and break detection with no visible failure.
|
|
11
|
+
*
|
|
7
12
|
* @param message The error message to display.
|
|
8
13
|
* @throws {Error} Always throws an Error with `cause: { handsontable: true }`.
|
|
9
14
|
*/
|
package/helpers/errors.js
CHANGED
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
* Use this helper instead of `throw new Error()` to ensure all Handsontable errors
|
|
5
5
|
* can be recognized by checking `error.cause?.handsontable === true`.
|
|
6
6
|
*
|
|
7
|
+
* The cause is assigned after construction rather than passed as the `new Error(message, options)`
|
|
8
|
+
* options bag: that overload is ES2022 (Chrome 94 / Firefox 91 / Safari 15.0), above the floor
|
|
9
|
+
* declared in `../../../browser-targets.js`. Engines below it ignore the second argument silently,
|
|
10
|
+
* which would leave `error.cause` undefined and break detection with no visible failure.
|
|
11
|
+
*
|
|
7
12
|
* @param message The error message to display.
|
|
8
13
|
* @throws {Error} Always throws an Error with `cause: { handsontable: true }`.
|
|
9
14
|
*/ "use strict";
|
|
@@ -17,10 +22,9 @@ Object.defineProperty(exports, "throwWithCause", {
|
|
|
17
22
|
}
|
|
18
23
|
});
|
|
19
24
|
function throwWithCause(message) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
});
|
|
25
|
+
const error = new Error(message);
|
|
26
|
+
error.cause = {
|
|
27
|
+
handsontable: true
|
|
28
|
+
};
|
|
29
|
+
throw error;
|
|
26
30
|
}
|