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
|
@@ -1,9 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
function _check_private_redeclaration(obj, privateCollection) {
|
|
2
|
+
if (privateCollection.has(obj)) {
|
|
3
|
+
throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
function _class_private_method_get(receiver, privateSet, fn) {
|
|
7
|
+
if (!privateSet.has(receiver)) {
|
|
8
|
+
throw new TypeError("attempted to get private field on non-instance");
|
|
9
|
+
}
|
|
10
|
+
return fn;
|
|
11
|
+
}
|
|
12
|
+
function _class_private_method_init(obj, privateSet) {
|
|
13
|
+
_check_private_redeclaration(obj, privateSet);
|
|
14
|
+
privateSet.add(obj);
|
|
15
|
+
}
|
|
16
|
+
import { addClass, getScrollTop, hasClass, removeClass, setOverlayPosition, resetCssTransform } from '../../../../../helpers/dom/element.mjs';
|
|
17
|
+
import { isMobileBrowser } from '../../../../../helpers/browser.mjs';
|
|
18
|
+
import TopOverlayTable from '../../table/regions/topTable.mjs';
|
|
3
19
|
import { Overlay } from './_base.mjs';
|
|
4
|
-
import { getCornerStyle } from '
|
|
5
|
-
import { CLONE_TOP } from '
|
|
6
|
-
import { throwWithCause } from '
|
|
20
|
+
import { getCornerStyle } from '../../selection/index.mjs';
|
|
21
|
+
import { CLONE_TOP } from '../constants.mjs';
|
|
22
|
+
import { throwWithCause } from '../../../../../helpers/errors.mjs';
|
|
23
|
+
var /**
|
|
24
|
+
* Computes the top overlay's header-border state without mutating the DOM. Pure: reads settings and
|
|
25
|
+
* the current class state only. Splitting the decision from the write lets the single-pass draw
|
|
26
|
+
* resolve the `innerBorderTop` toggle before rendering, instead of after (which forces a re-draw).
|
|
27
|
+
*
|
|
28
|
+
* @param {number} position The overlay offset that decides whether the top border is shown.
|
|
29
|
+
* @param {boolean} skipInnerBorderAdjusting The #7256 guard that suppresses the toggle.
|
|
30
|
+
* @returns {{ hasEmptyColumns: boolean, innerBorderTop: string, positionChanged: boolean }}
|
|
31
|
+
*/ _computeHeaderBordersState = /*#__PURE__*/ new WeakSet();
|
|
7
32
|
/**
|
|
8
33
|
* @class TopOverlay
|
|
9
34
|
*/ export class TopOverlay extends Overlay {
|
|
@@ -13,8 +38,8 @@ import { throwWithCause } from '../../../../helpers/errors.mjs';
|
|
|
13
38
|
* @see Table#constructor
|
|
14
39
|
* @param {...*} args Parameters that will be forwarded to the `Table` constructor.
|
|
15
40
|
* @returns {TopOverlayTable}
|
|
16
|
-
*/ createTable(
|
|
17
|
-
return new TopOverlayTable(
|
|
41
|
+
*/ createTable(deps) {
|
|
42
|
+
return new TopOverlayTable(deps);
|
|
18
43
|
}
|
|
19
44
|
/**
|
|
20
45
|
* Checks if overlay should be fully rendered.
|
|
@@ -28,20 +53,21 @@ import { throwWithCause } from '../../../../helpers/errors.mjs';
|
|
|
28
53
|
*
|
|
29
54
|
* @returns {boolean}
|
|
30
55
|
*/ resetFixedPosition() {
|
|
31
|
-
if (!this.needFullRender || !this.shouldBeRendered() || !this.
|
|
56
|
+
if (!this.needFullRender || !this.shouldBeRendered() || !this.deps.getWtTable().holder.parentNode || !this.clone) {
|
|
32
57
|
// removed from DOM
|
|
33
58
|
return false;
|
|
34
59
|
}
|
|
35
60
|
const overlayRoot = this.clone.wtTable.holder.parentNode;
|
|
36
|
-
const { rootWindow } = this.
|
|
61
|
+
const { rootWindow } = this.deps;
|
|
37
62
|
const preventOverflow = this.wtSettings.getSetting('preventOverflow');
|
|
38
63
|
let overlayPosition = 0;
|
|
39
64
|
let skipInnerBorderAdjusting = false;
|
|
40
65
|
if (this.trimmingContainer === rootWindow && (!preventOverflow || preventOverflow !== 'vertical')) {
|
|
41
|
-
const
|
|
42
|
-
const
|
|
66
|
+
const wtTable = this.deps.getWtTable();
|
|
67
|
+
const { geometryReader } = this.deps;
|
|
68
|
+
const hiderRect = geometryReader.getBoundingClientRect(wtTable.hider);
|
|
43
69
|
const bottom = Math.ceil(hiderRect.bottom);
|
|
44
|
-
const rootHeight =
|
|
70
|
+
const rootHeight = geometryReader.offsetHeight(overlayRoot);
|
|
45
71
|
// This checks if the overlay is going to an infinite loop caused by added (or removed)
|
|
46
72
|
// `innerBorderTop` class name. Toggling the class name shifts the viewport by 1px and
|
|
47
73
|
// triggers the `scroll` event. It causes the table to render. The new render cycle takes into,
|
|
@@ -70,7 +96,7 @@ import { throwWithCause } from '../../../../helpers/errors.mjs';
|
|
|
70
96
|
* @param {number} pos The scroll position.
|
|
71
97
|
* @returns {boolean}
|
|
72
98
|
*/ setScrollPosition(pos) {
|
|
73
|
-
const { rootWindow } = this.
|
|
99
|
+
const { rootWindow } = this.deps;
|
|
74
100
|
const scrollableElement = this.mainTableScrollableElement;
|
|
75
101
|
const scrollEl = scrollableElement;
|
|
76
102
|
const getScrollPosition = ()=>{
|
|
@@ -97,22 +123,16 @@ import { throwWithCause } from '../../../../helpers/errors.mjs';
|
|
|
97
123
|
this.wtSettings.getSetting('onScrollHorizontally');
|
|
98
124
|
}
|
|
99
125
|
/**
|
|
100
|
-
* Calculates total sum cells height.
|
|
126
|
+
* Calculates total sum cells height. Delegates to the viewport's row-height prefix-sum cache
|
|
127
|
+
* (`Viewport#sumRowHeights`), so a call costs O(1) instead of walking every row in the
|
|
128
|
+
* `[from, to)` range — `scrollTo` passes ranges that start at row 0, which made keyboard
|
|
129
|
+
* navigation near the bottom of a large grid re-sum the whole dataset on every keypress.
|
|
101
130
|
*
|
|
102
131
|
* @param {number} from Row index which calculates started from.
|
|
103
132
|
* @param {number} to Row index where calculation is finished.
|
|
104
133
|
* @returns {number} Height sum.
|
|
105
134
|
*/ sumCellSizes(from, to) {
|
|
106
|
-
|
|
107
|
-
const defaultRowHeight = stylesHandler.getDefaultRowHeight();
|
|
108
|
-
let row = from;
|
|
109
|
-
let sum = 0;
|
|
110
|
-
while(row < to){
|
|
111
|
-
const height = this.wot.wtTable.getRowHeight(row);
|
|
112
|
-
sum += height === undefined ? defaultRowHeight : height;
|
|
113
|
-
row += 1;
|
|
114
|
-
}
|
|
115
|
-
return sum;
|
|
135
|
+
return this.deps.getWtViewport().sumRowHeights(from, to);
|
|
116
136
|
}
|
|
117
137
|
/**
|
|
118
138
|
* Adjust overlay root element, children and master table element sizes (width, height).
|
|
@@ -129,29 +149,61 @@ import { throwWithCause } from '../../../../helpers/errors.mjs';
|
|
|
129
149
|
if (!this.clone) {
|
|
130
150
|
return;
|
|
131
151
|
}
|
|
132
|
-
const
|
|
133
|
-
const
|
|
152
|
+
const wtTable = this.deps.getWtTable();
|
|
153
|
+
const wtViewport = this.deps.getWtViewport();
|
|
154
|
+
const { rootDocument, rootWindow } = this.deps;
|
|
134
155
|
const overlayRoot = this.clone.wtTable.holder.parentNode;
|
|
135
156
|
const overlayRootStyle = overlayRoot.style;
|
|
136
157
|
const preventOverflow = this.wtSettings.getSetting('preventOverflow');
|
|
137
158
|
if (this.trimmingContainer !== rootWindow || preventOverflow === 'horizontal') {
|
|
138
159
|
let width = wtViewport.getWorkspaceWidth();
|
|
139
160
|
if (wtViewport.hasVerticalScroll()) {
|
|
140
|
-
width -= getScrollbarWidth(rootDocument);
|
|
161
|
+
width -= this.deps.geometryReader.getScrollbarWidth(rootDocument);
|
|
141
162
|
}
|
|
142
|
-
width = Math.min(width, wtTable.wtRootElement
|
|
163
|
+
width = Math.min(width, this.deps.geometryReader.scrollWidth(wtTable.wtRootElement));
|
|
143
164
|
overlayRootStyle.width = `${width}px`;
|
|
144
165
|
} else {
|
|
145
166
|
overlayRootStyle.width = '';
|
|
146
167
|
}
|
|
147
168
|
this.clone.wtTable.holder.style.width = overlayRootStyle.width;
|
|
148
|
-
let tableHeight = outerHeight(this.clone.wtTable.TABLE);
|
|
169
|
+
let tableHeight = this.deps.geometryReader.outerHeight(this.clone.wtTable.TABLE);
|
|
149
170
|
if (!wtTable.hasDefinedSize()) {
|
|
150
171
|
tableHeight = 0;
|
|
151
172
|
}
|
|
152
173
|
overlayRootStyle.height = `${tableHeight}px`;
|
|
153
174
|
}
|
|
154
175
|
/**
|
|
176
|
+
* Tells whether the holder must reserve the selection corner's protruding half-height (#6937),
|
|
177
|
+
* needed only when the selection's bottom-end corner falls within the frozen top rows this overlay
|
|
178
|
+
* renders — otherwise the reserved strip leaves a leftover top border at the seam. On mobile the
|
|
179
|
+
* handles always protrude so the range check suffices; on desktop the fill handle must also be
|
|
180
|
+
* enabled (`cornerVisible` truthy), mirroring `Border#appear`.
|
|
181
|
+
*
|
|
182
|
+
* @private
|
|
183
|
+
* @param {Selection|null} focusSelection The focus Selection instance (or `null` when none).
|
|
184
|
+
* @returns {boolean}
|
|
185
|
+
*/ shouldReserveSelectionCornerOffset(focusSelection) {
|
|
186
|
+
if (!focusSelection || !focusSelection.cellRange) {
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
189
|
+
const fixedRowsTop = this.wtSettings.getSetting('fixedRowsTop');
|
|
190
|
+
const bottomEndRow = focusSelection.cellRange.getBottomEndCorner().row;
|
|
191
|
+
// The corner is at the selection's bottom-end; reserve only when it lands inside the frozen rows
|
|
192
|
+
// this overlay renders.
|
|
193
|
+
if (bottomEndRow === null || bottomEndRow >= fixedRowsTop) {
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
if (isMobileBrowser()) {
|
|
197
|
+
return true;
|
|
198
|
+
}
|
|
199
|
+
const border = focusSelection.settings.border;
|
|
200
|
+
const cornerVisible = border?.cornerVisible;
|
|
201
|
+
if (typeof cornerVisible === 'function') {
|
|
202
|
+
return !!cornerVisible(focusSelection.settings.layerLevel);
|
|
203
|
+
}
|
|
204
|
+
return !!cornerVisible;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
155
207
|
* Adjust overlay root childs size.
|
|
156
208
|
*/ adjustRootChildrenSize() {
|
|
157
209
|
if (!this.clone) {
|
|
@@ -159,7 +211,10 @@ import { throwWithCause } from '../../../../helpers/errors.mjs';
|
|
|
159
211
|
}
|
|
160
212
|
const { holder } = this.clone.wtTable;
|
|
161
213
|
const cornerStyle = getCornerStyle(this.wot);
|
|
162
|
-
const
|
|
214
|
+
const focusSelection = this.deps.getSelectionManager().getFocusSelection();
|
|
215
|
+
// Reserve the corner's protruding half-height only when it lands in this overlay's frozen rows;
|
|
216
|
+
// otherwise the holder grows taller than its table and leaves a leftover top border at the seam.
|
|
217
|
+
const selectionCornerOffset = this.shouldReserveSelectionCornerOffset(focusSelection) ? parseInt(cornerStyle.height, 10) / 2 : 0;
|
|
163
218
|
this.clone.wtTable.hider.style.width = this.hider.style.width;
|
|
164
219
|
const holderParent = holder.parentNode;
|
|
165
220
|
holder.style.width = holderParent.style.width;
|
|
@@ -171,10 +226,12 @@ import { throwWithCause } from '../../../../helpers/errors.mjs';
|
|
|
171
226
|
* Adjust the overlay dimensions and position.
|
|
172
227
|
*/ applyToDOM() {
|
|
173
228
|
const total = this.wtSettings.getSetting('totalRows') ?? 0;
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
229
|
+
const rowsRenderCalculator = this.deps.getWtViewport().rowsRenderCalculator;
|
|
230
|
+
if (typeof rowsRenderCalculator?.startPosition === 'number') {
|
|
231
|
+
this.spreader.style.top = `${rowsRenderCalculator.startPosition}px`;
|
|
232
|
+
} else if (total === 0 || rowsRenderCalculator === null) {
|
|
233
|
+
// 0 rows, or nothing rendered yet — a `null` calculator is the drawn-but-never-rendered state
|
|
234
|
+
// a skipped first draw leaves behind (see `restoreRenderedStateIfSafe` in `table/drawCycle.ts`).
|
|
178
235
|
this.spreader.style.top = '0';
|
|
179
236
|
} else {
|
|
180
237
|
throwWithCause('Incorrect value of the rowsRenderCalculator');
|
|
@@ -192,8 +249,9 @@ import { throwWithCause } from '../../../../helpers/errors.mjs';
|
|
|
192
249
|
}
|
|
193
250
|
const styleProperty = this.isRtl() ? 'right' : 'left';
|
|
194
251
|
const { spreader } = this.clone.wtTable;
|
|
195
|
-
|
|
196
|
-
|
|
252
|
+
const columnsRenderCalculator = this.deps.getWtViewport().columnsRenderCalculator;
|
|
253
|
+
if (typeof columnsRenderCalculator?.startPosition === 'number') {
|
|
254
|
+
spreader.style[styleProperty] = `${columnsRenderCalculator.startPosition}px`;
|
|
197
255
|
} else {
|
|
198
256
|
spreader.style[styleProperty] = '';
|
|
199
257
|
}
|
|
@@ -206,6 +264,7 @@ import { throwWithCause } from '../../../../helpers/errors.mjs';
|
|
|
206
264
|
* @returns {boolean}
|
|
207
265
|
*/ scrollTo(sourceRow, bottomEdge) {
|
|
208
266
|
const { wot, wtSettings } = this;
|
|
267
|
+
const { geometryReader } = this.deps;
|
|
209
268
|
const sourceInstance = wot.cloneSource ? wot.cloneSource : wot;
|
|
210
269
|
const mainHolder = sourceInstance.wtTable.holder;
|
|
211
270
|
const columnHeaders = wtSettings.getSetting('columnHeaders');
|
|
@@ -214,14 +273,14 @@ import { throwWithCause } from '../../../../helpers/errors.mjs';
|
|
|
214
273
|
let newY = this.getTableParentOffset();
|
|
215
274
|
let scrollbarCompensation = 0;
|
|
216
275
|
if (bottomEdge) {
|
|
217
|
-
const rowHeight = this.
|
|
218
|
-
const viewportHeight = this.
|
|
276
|
+
const rowHeight = this.deps.getWtTable().getRowHeight(sourceRow) ?? 0;
|
|
277
|
+
const viewportHeight = this.deps.getWtViewport().getViewportHeight();
|
|
219
278
|
if (rowHeight > viewportHeight) {
|
|
220
279
|
bottomEdge = false;
|
|
221
280
|
}
|
|
222
281
|
}
|
|
223
|
-
if (bottomEdge &&
|
|
224
|
-
scrollbarCompensation = getScrollbarWidth(this.
|
|
282
|
+
if (bottomEdge && geometryReader.offsetHeight(mainHolder) !== geometryReader.clientHeight(mainHolder)) {
|
|
283
|
+
scrollbarCompensation = geometryReader.getScrollbarWidth(this.deps.rootDocument);
|
|
225
284
|
}
|
|
226
285
|
if (bottomEdge) {
|
|
227
286
|
const fixedRowsBottom = wtSettings.getSetting('fixedRowsBottom');
|
|
@@ -238,8 +297,8 @@ import { throwWithCause } from '../../../../helpers/errors.mjs';
|
|
|
238
297
|
newY += scrollbarCompensation;
|
|
239
298
|
// If the table is scrolled all the way up when starting the scroll and going to be scrolled to the bottom,
|
|
240
299
|
// we need to compensate for the potential header bottom border height.
|
|
241
|
-
if (getMaximumScrollTop(this.mainTableScrollableElement) === newY - columnHeaderBorderCompensation && columnHeaderBorderCompensation > 0) {
|
|
242
|
-
this.
|
|
300
|
+
if (geometryReader.getMaximumScrollTop(this.mainTableScrollableElement) === newY - columnHeaderBorderCompensation && columnHeaderBorderCompensation > 0) {
|
|
301
|
+
this.deps.getWtOverlays().expandHiderVerticallyBy(columnHeaderBorderCompensation);
|
|
243
302
|
}
|
|
244
303
|
return this.setScrollPosition(newY);
|
|
245
304
|
}
|
|
@@ -248,8 +307,8 @@ import { throwWithCause } from '../../../../helpers/errors.mjs';
|
|
|
248
307
|
*
|
|
249
308
|
* @returns {number}
|
|
250
309
|
*/ getTableParentOffset() {
|
|
251
|
-
if (this.mainTableScrollableElement === this.
|
|
252
|
-
return this.
|
|
310
|
+
if (this.mainTableScrollableElement === this.deps.rootWindow) {
|
|
311
|
+
return this.deps.getWtTable().holderOffset.top;
|
|
253
312
|
}
|
|
254
313
|
return 0;
|
|
255
314
|
}
|
|
@@ -258,18 +317,18 @@ import { throwWithCause } from '../../../../helpers/errors.mjs';
|
|
|
258
317
|
*
|
|
259
318
|
* @returns {number} Main table's vertical scroll position.
|
|
260
319
|
*/ getScrollPosition() {
|
|
261
|
-
return getScrollTop(this.mainTableScrollableElement, this.
|
|
320
|
+
return getScrollTop(this.mainTableScrollableElement, this.deps.rootWindow);
|
|
262
321
|
}
|
|
263
322
|
/**
|
|
264
323
|
* Gets the main overlay's vertical overlay offset.
|
|
265
324
|
*
|
|
266
325
|
* @returns {number} Main table's vertical overlay offset.
|
|
267
326
|
*/ getOverlayOffset() {
|
|
268
|
-
const { rootWindow } = this.
|
|
327
|
+
const { rootWindow } = this.deps;
|
|
269
328
|
const preventOverflow = this.wtSettings.getSetting('preventOverflow');
|
|
270
329
|
let overlayOffset = 0;
|
|
271
330
|
if (this.trimmingContainer === rootWindow && (!preventOverflow || preventOverflow !== 'vertical')) {
|
|
272
|
-
const rootHeight = this.
|
|
331
|
+
const rootHeight = this.deps.getWtTable().getTotalHeight();
|
|
273
332
|
const overlayRootHeight = this.clone ? this.clone.wtTable.getTotalHeight() : 0;
|
|
274
333
|
const maxOffset = rootHeight - overlayRootHeight;
|
|
275
334
|
overlayOffset = Math.max(this.getScrollPosition() - this.getTableParentOffset(), 0);
|
|
@@ -280,47 +339,45 @@ import { throwWithCause } from '../../../../helpers/errors.mjs';
|
|
|
280
339
|
return overlayOffset;
|
|
281
340
|
}
|
|
282
341
|
/**
|
|
342
|
+
* Pre-applies the `innerBorderTop` class before the cell render, from the pre-render scroll
|
|
343
|
+
* position and settings. On the single-pass gated path the border is then already in its final
|
|
344
|
+
* state when cells render, so the post-render `resetFixedPosition` toggle becomes a no-op
|
|
345
|
+
* (`positionChanged` stays `false`) and the nested `wot.draw(true)` re-render is never triggered.
|
|
346
|
+
* Element mode only — the window path resolves the border from post-render geometry
|
|
347
|
+
* (`getOverlayOffset` + the #7256 guard) and is excluded by the single-pass gate.
|
|
348
|
+
*/ prepareHeaderBorders() {
|
|
349
|
+
if (!this.needFullRender || !this.shouldBeRendered() || !this.deps.getWtTable().holder.parentNode || !this.clone || this.trimmingContainer === this.deps.rootWindow) {
|
|
350
|
+
return;
|
|
351
|
+
}
|
|
352
|
+
this.adjustHeaderBordersPosition(this.getScrollPosition());
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
283
355
|
* Adds css classes to hide the header border's header (cell-selection border hiding issue).
|
|
284
356
|
*
|
|
285
357
|
* @param {number} position Header Y position if trimming container is window or scroll top if not.
|
|
286
358
|
* @param {boolean} [skipInnerBorderAdjusting=false] If `true` the inner border adjusting will be skipped.
|
|
287
359
|
* @returns {boolean}
|
|
288
360
|
*/ adjustHeaderBordersPosition(position, skipInnerBorderAdjusting = false) {
|
|
289
|
-
const
|
|
290
|
-
const
|
|
291
|
-
|
|
292
|
-
const preventHorizontalOverflow = wtSettings.getSetting('preventOverflow') === 'horizontal';
|
|
293
|
-
if (totalColumns) {
|
|
294
|
-
removeClass(masterParent, 'emptyColumns');
|
|
295
|
-
} else {
|
|
361
|
+
const masterParent = this.deps.getWtTable().holder.parentNode;
|
|
362
|
+
const state = _class_private_method_get(this, _computeHeaderBordersState, computeHeaderBordersState).call(this, position, skipInnerBorderAdjusting);
|
|
363
|
+
if (state.hasEmptyColumns) {
|
|
296
364
|
addClass(masterParent, 'emptyColumns');
|
|
365
|
+
} else {
|
|
366
|
+
removeClass(masterParent, 'emptyColumns');
|
|
297
367
|
}
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
const columnHeaders = wtSettings.getSetting('columnHeaders');
|
|
303
|
-
if ((areFixedRowsTopChanged || fixedRowsTop === 0) && columnHeaders.length > 0) {
|
|
304
|
-
const previousState = hasClass(masterParent, 'innerBorderTop');
|
|
305
|
-
this.cachedFixedRowsTop = wtSettings.getSetting('fixedRowsTop');
|
|
306
|
-
if (position || wtSettings.getSetting('totalRows') === 0) {
|
|
307
|
-
addClass(masterParent, 'innerBorderTop');
|
|
308
|
-
positionChanged = !previousState;
|
|
309
|
-
} else {
|
|
310
|
-
removeClass(masterParent, 'innerBorderTop');
|
|
311
|
-
positionChanged = previousState;
|
|
312
|
-
}
|
|
313
|
-
}
|
|
368
|
+
if (state.innerBorderTop === 'add') {
|
|
369
|
+
addClass(masterParent, 'innerBorderTop');
|
|
370
|
+
} else if (state.innerBorderTop === 'remove') {
|
|
371
|
+
removeClass(masterParent, 'innerBorderTop');
|
|
314
372
|
}
|
|
315
|
-
|
|
373
|
+
if (state.innerBorderTop !== 'keep') {
|
|
374
|
+
this.cachedFixedRowsTop = this.wtSettings.getSetting('fixedRowsTop');
|
|
375
|
+
}
|
|
376
|
+
return state.positionChanged;
|
|
316
377
|
}
|
|
317
378
|
/**
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
* @param {Settings} wtSettings The Walkontable settings.
|
|
321
|
-
* @param {DomBindings} domBindings Dom elements bound to the current instance.
|
|
322
|
-
*/ constructor(wotInstance, facadeGetter, wtSettings, domBindings){
|
|
323
|
-
super(wotInstance, facadeGetter, CLONE_TOP, wtSettings, domBindings), /**
|
|
379
|
+
*/ constructor(deps){
|
|
380
|
+
super(deps, CLONE_TOP), _class_private_method_init(this, _computeHeaderBordersState), /**
|
|
324
381
|
* Cached value which holds the previous value of the `fixedRowsTop` option.
|
|
325
382
|
* It is used as a comparison value that can be used to detect changes in this value.
|
|
326
383
|
*
|
|
@@ -329,3 +386,32 @@ import { throwWithCause } from '../../../../helpers/errors.mjs';
|
|
|
329
386
|
this.cachedFixedRowsTop = this.wtSettings.getSetting('fixedRowsTop');
|
|
330
387
|
}
|
|
331
388
|
}
|
|
389
|
+
function computeHeaderBordersState(position, skipInnerBorderAdjusting) {
|
|
390
|
+
const { wtSettings } = this;
|
|
391
|
+
const masterParent = this.deps.getWtTable().holder.parentNode;
|
|
392
|
+
const totalColumns = wtSettings.getSetting('totalColumns') ?? 0;
|
|
393
|
+
const preventHorizontalOverflow = wtSettings.getSetting('preventOverflow') === 'horizontal';
|
|
394
|
+
const hasEmptyColumns = !totalColumns;
|
|
395
|
+
let innerBorderTop = 'keep';
|
|
396
|
+
let positionChanged = false;
|
|
397
|
+
if (!skipInnerBorderAdjusting && !preventHorizontalOverflow) {
|
|
398
|
+
const fixedRowsTop = wtSettings.getSetting('fixedRowsTop');
|
|
399
|
+
const areFixedRowsTopChanged = this.cachedFixedRowsTop !== fixedRowsTop;
|
|
400
|
+
const columnHeaders = wtSettings.getSetting('columnHeaders');
|
|
401
|
+
if ((areFixedRowsTopChanged || fixedRowsTop === 0) && columnHeaders.length > 0) {
|
|
402
|
+
const previousState = hasClass(masterParent, 'innerBorderTop');
|
|
403
|
+
if (position || wtSettings.getSetting('totalRows') === 0) {
|
|
404
|
+
innerBorderTop = 'add';
|
|
405
|
+
positionChanged = !previousState;
|
|
406
|
+
} else {
|
|
407
|
+
innerBorderTop = 'remove';
|
|
408
|
+
positionChanged = previousState;
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
return {
|
|
413
|
+
hasEmptyColumns,
|
|
414
|
+
innerBorderTop,
|
|
415
|
+
positionChanged
|
|
416
|
+
};
|
|
417
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './resizeMonitor.js';
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { EngineContext } from '../wire';
|
|
2
|
+
/**
|
|
3
|
+
* Assembles the ResizeMonitor's dependencies from the engine composition context. It needs only the
|
|
4
|
+
* settings accessor (to fire the `onContainerElementResize` setting) and the master table (for the
|
|
5
|
+
* wrapper element it observes) — no callback back into the owning Overlays coordinator.
|
|
6
|
+
*
|
|
7
|
+
* @param {EngineContext} ctx The engine composition context.
|
|
8
|
+
* @returns {object} The ResizeMonitor dependency set.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createResizeMonitorDeps(ctx: EngineContext): {
|
|
11
|
+
wtSettings: import("../settings").default;
|
|
12
|
+
wtTable: import("../table/baseTable").default;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* The ResizeMonitor dependencies, inferred from `createResizeMonitorDeps`.
|
|
16
|
+
*/
|
|
17
|
+
export type ResizeMonitorDeps = ReturnType<typeof createResizeMonitorDeps>;
|
|
18
|
+
/**
|
|
19
|
+
* Watches the Walkontable wrapper's parent element for size changes and fires the
|
|
20
|
+
* `onContainerElementResize` setting when one is detected.
|
|
21
|
+
*
|
|
22
|
+
* The class owns the `ResizeObserver` plus the endless-loop guard: a dynamic parent size (for example
|
|
23
|
+
* `dvh` units) can make the observer callback re-trigger itself indefinitely, so a rolling count with
|
|
24
|
+
* a short reset window disconnects the observer once the callback fires too many times in direct
|
|
25
|
+
* succession. Extracted from the Overlays coordinator so the loop-guard lifecycle stays self-contained.
|
|
26
|
+
*
|
|
27
|
+
* @class ResizeMonitor
|
|
28
|
+
*/
|
|
29
|
+
export declare class ResizeMonitor {
|
|
30
|
+
#private;
|
|
31
|
+
/**
|
|
32
|
+
* @param {ResizeMonitorDeps} deps The ResizeMonitor dependencies.
|
|
33
|
+
*/
|
|
34
|
+
constructor(deps: ResizeMonitorDeps);
|
|
35
|
+
/**
|
|
36
|
+
* Starts observing the Walkontable wrapper's parent element for size changes. No-op when the
|
|
37
|
+
* wrapper has no parent element.
|
|
38
|
+
*/
|
|
39
|
+
observe(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Resets the direct-succession resize counter. Called when a window resize accounts for the size
|
|
42
|
+
* change, so it is excluded from the endless-loop-blocking logic.
|
|
43
|
+
*/
|
|
44
|
+
resetResizeCount(): void;
|
|
45
|
+
/**
|
|
46
|
+
* Cleans up on destroy: clears the pending reset timeout and disconnects the observer.
|
|
47
|
+
*/
|
|
48
|
+
destroy(): void;
|
|
49
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get ResizeMonitor () {
|
|
13
|
+
return ResizeMonitor;
|
|
14
|
+
},
|
|
15
|
+
get createResizeMonitorDeps () {
|
|
16
|
+
return createResizeMonitorDeps;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _feature = require("../../../../helpers/feature");
|
|
20
|
+
const _console = require("../../../../helpers/console");
|
|
21
|
+
function _check_private_redeclaration(obj, privateCollection) {
|
|
22
|
+
if (privateCollection.has(obj)) {
|
|
23
|
+
throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function _class_apply_descriptor_get(receiver, descriptor) {
|
|
27
|
+
if (descriptor.get) {
|
|
28
|
+
return descriptor.get.call(receiver);
|
|
29
|
+
}
|
|
30
|
+
return descriptor.value;
|
|
31
|
+
}
|
|
32
|
+
function _class_apply_descriptor_set(receiver, descriptor, value) {
|
|
33
|
+
if (descriptor.set) {
|
|
34
|
+
descriptor.set.call(receiver, value);
|
|
35
|
+
} else {
|
|
36
|
+
if (!descriptor.writable) {
|
|
37
|
+
throw new TypeError("attempted to set read only private field");
|
|
38
|
+
}
|
|
39
|
+
descriptor.value = value;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function _class_extract_field_descriptor(receiver, privateMap, action) {
|
|
43
|
+
if (!privateMap.has(receiver)) {
|
|
44
|
+
throw new TypeError("attempted to " + action + " private field on non-instance");
|
|
45
|
+
}
|
|
46
|
+
return privateMap.get(receiver);
|
|
47
|
+
}
|
|
48
|
+
function _class_private_field_get(receiver, privateMap) {
|
|
49
|
+
var descriptor = _class_extract_field_descriptor(receiver, privateMap, "get");
|
|
50
|
+
return _class_apply_descriptor_get(receiver, descriptor);
|
|
51
|
+
}
|
|
52
|
+
function _class_private_field_init(obj, privateMap, value) {
|
|
53
|
+
_check_private_redeclaration(obj, privateMap);
|
|
54
|
+
privateMap.set(obj, value);
|
|
55
|
+
}
|
|
56
|
+
function _class_private_field_set(receiver, privateMap, value) {
|
|
57
|
+
var descriptor = _class_extract_field_descriptor(receiver, privateMap, "set");
|
|
58
|
+
_class_apply_descriptor_set(receiver, descriptor, value);
|
|
59
|
+
return value;
|
|
60
|
+
}
|
|
61
|
+
function createResizeMonitorDeps(ctx) {
|
|
62
|
+
return {
|
|
63
|
+
wtSettings: ctx.wtSettings,
|
|
64
|
+
wtTable: ctx.getWtTable()
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
var _deps = /*#__PURE__*/ new WeakMap(), /**
|
|
68
|
+
* The amount of times the ResizeObserver callback was fired in direct succession.
|
|
69
|
+
*
|
|
70
|
+
* @type {number}
|
|
71
|
+
*/ _containerDomResizeCount = /*#__PURE__*/ new WeakMap(), /**
|
|
72
|
+
* The timeout ID for the ResizeObserver endless-loop-blocking logic.
|
|
73
|
+
*
|
|
74
|
+
* @type {number}
|
|
75
|
+
*/ _containerDomResizeCountTimeout = /*#__PURE__*/ new WeakMap(), /**
|
|
76
|
+
* The instance of the ResizeObserver that observes the size of the Walkontable wrapper element.
|
|
77
|
+
* In case of the size change detection the `onContainerElementResize` is fired.
|
|
78
|
+
*
|
|
79
|
+
* @type {ResizeObserver}
|
|
80
|
+
*/ _resizeObserver = /*#__PURE__*/ new WeakMap();
|
|
81
|
+
class ResizeMonitor {
|
|
82
|
+
/**
|
|
83
|
+
* Starts observing the Walkontable wrapper's parent element for size changes. No-op when the
|
|
84
|
+
* wrapper has no parent element.
|
|
85
|
+
*/ observe() {
|
|
86
|
+
const parentElement = _class_private_field_get(this, _deps).wtTable.wtRootElement.parentElement;
|
|
87
|
+
if (parentElement) {
|
|
88
|
+
_class_private_field_get(this, _resizeObserver).observe(parentElement);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Resets the direct-succession resize counter. Called when a window resize accounts for the size
|
|
93
|
+
* change, so it is excluded from the endless-loop-blocking logic.
|
|
94
|
+
*/ resetResizeCount() {
|
|
95
|
+
_class_private_field_set(this, _containerDomResizeCount, 0);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Cleans up on destroy: clears the pending reset timeout and disconnects the observer.
|
|
99
|
+
*/ destroy() {
|
|
100
|
+
if (_class_private_field_get(this, _containerDomResizeCountTimeout) !== null) {
|
|
101
|
+
clearTimeout(_class_private_field_get(this, _containerDomResizeCountTimeout));
|
|
102
|
+
_class_private_field_set(this, _containerDomResizeCountTimeout, null);
|
|
103
|
+
}
|
|
104
|
+
_class_private_field_get(this, _resizeObserver).disconnect();
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* @param {ResizeMonitorDeps} deps The ResizeMonitor dependencies.
|
|
108
|
+
*/ constructor(deps){
|
|
109
|
+
/**
|
|
110
|
+
* The ResizeMonitor dependencies.
|
|
111
|
+
*
|
|
112
|
+
* @type {ResizeMonitorDeps}
|
|
113
|
+
*/ _class_private_field_init(this, _deps, {
|
|
114
|
+
writable: true,
|
|
115
|
+
value: void 0
|
|
116
|
+
});
|
|
117
|
+
_class_private_field_init(this, _containerDomResizeCount, {
|
|
118
|
+
writable: true,
|
|
119
|
+
value: void 0
|
|
120
|
+
});
|
|
121
|
+
_class_private_field_init(this, _containerDomResizeCountTimeout, {
|
|
122
|
+
writable: true,
|
|
123
|
+
value: void 0
|
|
124
|
+
});
|
|
125
|
+
_class_private_field_init(this, _resizeObserver, {
|
|
126
|
+
writable: true,
|
|
127
|
+
value: void 0
|
|
128
|
+
});
|
|
129
|
+
_class_private_field_set(this, _containerDomResizeCount, 0);
|
|
130
|
+
_class_private_field_set(this, _containerDomResizeCountTimeout, null);
|
|
131
|
+
_class_private_field_set(this, _resizeObserver, new ResizeObserver((entries)=>{
|
|
132
|
+
(0, _feature.requestAnimationFrame)(()=>{
|
|
133
|
+
if (!Array.isArray(entries) || !entries.length) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
_class_private_field_set(this, _containerDomResizeCount, _class_private_field_get(this, _containerDomResizeCount) + 1);
|
|
137
|
+
if (_class_private_field_get(this, _containerDomResizeCount) === 300) {
|
|
138
|
+
(0, _console.warn)('The ResizeObserver callback was fired too many times in direct succession.' + '\nThis may be due to an infinite loop caused by setting a dynamic height/width (for example, ' + 'with the `dvh` units) to a Handsontable container\'s parent. ' + '\nThe observer will be disconnected.');
|
|
139
|
+
_class_private_field_get(this, _resizeObserver).disconnect();
|
|
140
|
+
}
|
|
141
|
+
// This logic is required to prevent an endless loop of the ResizeObserver callback.
|
|
142
|
+
// https://github.com/handsontable/dev-handsontable/issues/1898#issuecomment-2154794817
|
|
143
|
+
if (_class_private_field_get(this, _containerDomResizeCountTimeout) !== null) {
|
|
144
|
+
clearTimeout(_class_private_field_get(this, _containerDomResizeCountTimeout));
|
|
145
|
+
}
|
|
146
|
+
_class_private_field_set(this, _containerDomResizeCountTimeout, setTimeout(()=>{
|
|
147
|
+
_class_private_field_set(this, _containerDomResizeCount, 0);
|
|
148
|
+
}, 100));
|
|
149
|
+
_class_private_field_get(this, _deps).wtSettings.getSetting('onContainerElementResize');
|
|
150
|
+
});
|
|
151
|
+
}));
|
|
152
|
+
_class_private_field_set(this, _deps, deps);
|
|
153
|
+
}
|
|
154
|
+
}
|