handsontable 18.0.0 → 18.1.0-rc7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/walkontable/src/axisSizing/axisSizeSource.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/axisSizeSource.d.ts +55 -0
- package/3rdparty/walkontable/src/axisSizing/axisSizeSource.js +15 -0
- package/3rdparty/walkontable/src/axisSizing/axisSizeSource.mjs +14 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.d.ts +32 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.js +45 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.mjs +33 -0
- package/3rdparty/walkontable/src/axisSizing/columnUtils.d.mts +2 -0
- package/3rdparty/walkontable/src/{utils/column.d.ts → axisSizing/columnUtils.d.ts} +12 -10
- package/3rdparty/walkontable/src/axisSizing/columnUtils.js +147 -0
- package/3rdparty/walkontable/src/axisSizing/columnUtils.mjs +142 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.d.ts +58 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.js +129 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.mjs +119 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.d.ts +162 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.js +424 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.mjs +522 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/index.d.ts +130 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/index.js +256 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/index.mjs +262 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.d.ts +51 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.js +121 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.mjs +117 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.d.ts +53 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.js +206 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.mjs +203 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.d.ts +53 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.js +40 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.mjs +41 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.d.ts +47 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.js +121 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.mjs +115 -0
- package/3rdparty/walkontable/src/axisSizing/rowUtils.d.mts +2 -0
- package/3rdparty/walkontable/src/{utils/row.d.ts → axisSizing/rowUtils.d.ts} +11 -9
- package/3rdparty/walkontable/src/axisSizing/rowUtils.js +111 -0
- package/3rdparty/walkontable/src/axisSizing/rowUtils.mjs +106 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.d.mts +2 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.d.ts +84 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.js +102 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.mjs +92 -0
- package/3rdparty/walkontable/src/calculator/axisCalculation.d.ts +1 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.d.ts +10 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.js +10 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +10 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.d.ts +9 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +9 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +9 -1
- package/3rdparty/walkontable/src/calculator/viewportColumns.d.ts +1 -1
- package/3rdparty/walkontable/src/calculator/viewportRows.d.ts +1 -1
- package/3rdparty/walkontable/src/cell/range.d.ts +10 -0
- package/3rdparty/walkontable/src/cell/range.js +14 -3
- package/3rdparty/walkontable/src/cell/range.mjs +11 -0
- package/3rdparty/walkontable/src/core/_base.d.ts +21 -21
- package/3rdparty/walkontable/src/core/_base.js +58 -147
- package/3rdparty/walkontable/src/core/_base.mjs +17 -147
- package/3rdparty/walkontable/src/core/clone.d.ts +4 -14
- package/3rdparty/walkontable/src/core/clone.js +51 -5
- package/3rdparty/walkontable/src/core/clone.mjs +10 -5
- package/3rdparty/walkontable/src/core/core.d.ts +1 -5
- package/3rdparty/walkontable/src/core/core.js +52 -47
- package/3rdparty/walkontable/src/core/core.mjs +12 -48
- package/3rdparty/walkontable/src/domMeasure/geometryReader.d.mts +1 -0
- package/3rdparty/walkontable/src/domMeasure/geometryReader.d.ts +172 -0
- package/3rdparty/walkontable/src/domMeasure/geometryReader.js +19 -0
- package/3rdparty/walkontable/src/domMeasure/geometryReader.mjs +16 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.d.mts +1 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.d.ts +134 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.js +200 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.mjs +198 -0
- package/3rdparty/walkontable/src/event.d.ts +25 -12
- package/3rdparty/walkontable/src/event.js +91 -224
- package/3rdparty/walkontable/src/event.mjs +90 -224
- package/3rdparty/walkontable/src/facade/core.d.ts +6 -6
- package/3rdparty/walkontable/src/index.d.ts +1 -1
- package/3rdparty/walkontable/src/index.js +2 -2
- package/3rdparty/walkontable/src/index.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/index.d.ts +6 -6
- package/3rdparty/walkontable/src/overlay/index.js +11 -11
- package/3rdparty/walkontable/src/overlay/index.mjs +6 -6
- package/3rdparty/walkontable/src/overlay/overlays.d.ts +375 -0
- package/3rdparty/walkontable/src/overlay/overlays.js +612 -0
- package/3rdparty/walkontable/src/overlay/overlays.mjs +601 -0
- package/3rdparty/walkontable/src/overlay/{_base.d.ts → regions/_base.d.ts} +65 -16
- package/3rdparty/walkontable/src/overlay/{_base.js → regions/_base.js} +160 -50
- package/3rdparty/walkontable/src/overlay/{_base.mjs → regions/_base.mjs} +163 -47
- package/3rdparty/walkontable/src/overlay/regions/bottomInlineStartCornerOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.d.ts → regions/bottomInlineStartCornerOverlay.d.ts} +5 -10
- package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.js → regions/bottomInlineStartCornerOverlay.js} +18 -20
- package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.mjs → regions/bottomInlineStartCornerOverlay.mjs} +18 -20
- package/3rdparty/walkontable/src/overlay/regions/bottomOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{bottom.d.ts → regions/bottomOverlay.d.ts} +16 -11
- package/3rdparty/walkontable/src/overlay/{bottom.js → regions/bottomOverlay.js} +113 -66
- package/3rdparty/walkontable/src/overlay/{bottom.mjs → regions/bottomOverlay.mjs} +113 -66
- package/3rdparty/walkontable/src/overlay/regions/inlineStartOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{inlineStart.d.ts → regions/inlineStartOverlay.d.ts} +17 -11
- package/3rdparty/walkontable/src/overlay/{inlineStart.js → regions/inlineStartOverlay.js} +122 -67
- package/3rdparty/walkontable/src/overlay/{inlineStart.mjs → regions/inlineStartOverlay.mjs} +122 -67
- package/3rdparty/walkontable/src/overlay/regions/topInlineStartCornerOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.d.ts → regions/topInlineStartCornerOverlay.d.ts} +5 -10
- package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.js → regions/topInlineStartCornerOverlay.js} +13 -16
- package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.mjs → regions/topInlineStartCornerOverlay.mjs} +13 -16
- package/3rdparty/walkontable/src/overlay/regions/topOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{top.d.ts → regions/topOverlay.d.ts} +32 -11
- package/3rdparty/walkontable/src/overlay/{top.js → regions/topOverlay.js} +163 -77
- package/3rdparty/walkontable/src/overlay/{top.mjs → regions/topOverlay.mjs} +163 -77
- package/3rdparty/walkontable/src/overlay/resizeMonitor.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/resizeMonitor.d.ts +49 -0
- package/3rdparty/walkontable/src/overlay/resizeMonitor.js +154 -0
- package/3rdparty/walkontable/src/overlay/resizeMonitor.mjs +153 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.d.ts +62 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.js +290 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.mjs +295 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.d.ts +176 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.js +549 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.mjs +557 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.d.ts +67 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.js +178 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.mjs +179 -0
- package/3rdparty/walkontable/src/{stickyScrollStrategy.d.ts → overlay/strategies/stickyScrollStrategy.d.ts} +33 -21
- package/3rdparty/walkontable/src/{stickyScrollStrategy.js → overlay/strategies/stickyScrollStrategy.js} +60 -41
- package/3rdparty/walkontable/src/{stickyScrollStrategy.mjs → overlay/strategies/stickyScrollStrategy.mjs} +58 -38
- package/3rdparty/walkontable/src/ports.d.mts +1 -0
- package/3rdparty/walkontable/src/ports.d.ts +54 -0
- package/3rdparty/walkontable/src/ports.js +23 -0
- package/3rdparty/walkontable/src/ports.mjs +24 -0
- package/3rdparty/walkontable/src/{renderer → render}/_base.d.ts +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/cells.js +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/cells.mjs +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.d.ts +1 -0
- package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.js +43 -1
- package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.mjs +44 -2
- package/3rdparty/walkontable/src/render/index.d.mts +1 -0
- package/3rdparty/walkontable/src/{renderer → render}/index.d.ts +11 -3
- package/3rdparty/walkontable/src/{renderer → render}/index.js +13 -3
- package/3rdparty/walkontable/src/{renderer → render}/index.mjs +11 -1
- package/3rdparty/walkontable/src/{renderer → render}/rows.js +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/rows.mjs +1 -1
- package/3rdparty/walkontable/src/render/tableRenderer.d.mts +1 -0
- package/3rdparty/walkontable/src/{renderer/table.d.ts → render/tableRenderer.d.ts} +12 -2
- package/3rdparty/walkontable/src/render/tableRenderer.js +382 -0
- package/3rdparty/walkontable/src/{renderer/table.mjs → render/tableRenderer.mjs} +159 -6
- package/3rdparty/walkontable/src/{scroll.d.ts → scroll/scroll.d.ts} +27 -10
- package/3rdparty/walkontable/src/{scroll.js → scroll/scroll.js} +108 -32
- package/3rdparty/walkontable/src/{scroll.mjs → scroll/scroll.mjs} +106 -29
- package/3rdparty/walkontable/src/selection/border/border.d.ts +313 -5
- package/3rdparty/walkontable/src/selection/border/border.js +861 -51
- package/3rdparty/walkontable/src/selection/border/border.mjs +863 -53
- package/3rdparty/walkontable/src/selection/border/types.d.ts +30 -0
- package/3rdparty/walkontable/src/selection/manager.js +237 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +238 -1
- package/3rdparty/walkontable/src/settings/accessor.d.mts +2 -0
- package/3rdparty/walkontable/src/settings/accessor.d.ts +74 -0
- package/3rdparty/walkontable/src/settings/accessor.js +78 -0
- package/3rdparty/walkontable/src/settings/accessor.mjs +71 -0
- package/3rdparty/walkontable/src/settings/defaults.d.mts +1 -0
- package/3rdparty/walkontable/src/{settings.d.ts → settings/defaults.d.ts} +16 -77
- package/3rdparty/walkontable/src/settings/defaults.js +146 -0
- package/3rdparty/walkontable/src/settings/defaults.mjs +225 -0
- package/3rdparty/walkontable/src/settings/index.d.mts +1 -0
- package/3rdparty/walkontable/src/settings/index.d.ts +6 -0
- package/3rdparty/walkontable/src/settings/index.js +20 -0
- package/3rdparty/walkontable/src/settings/index.mjs +5 -0
- package/3rdparty/walkontable/src/table/baseTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/baseTable.d.ts +284 -0
- package/3rdparty/walkontable/src/table/baseTable.js +295 -0
- package/3rdparty/walkontable/src/table/baseTable.mjs +283 -0
- package/3rdparty/walkontable/src/table/cellAccess.d.mts +1 -0
- package/3rdparty/walkontable/src/table/cellAccess.d.ts +101 -0
- package/3rdparty/walkontable/src/table/cellAccess.js +238 -0
- package/3rdparty/walkontable/src/table/cellAccess.mjs +229 -0
- package/3rdparty/walkontable/src/table/domScaffold.d.mts +1 -0
- package/3rdparty/walkontable/src/table/domScaffold.d.ts +37 -0
- package/3rdparty/walkontable/src/table/domScaffold.js +145 -0
- package/3rdparty/walkontable/src/table/domScaffold.mjs +136 -0
- package/3rdparty/walkontable/src/table/drawCycle.d.mts +1 -0
- package/3rdparty/walkontable/src/table/drawCycle.d.ts +16 -0
- package/3rdparty/walkontable/src/table/drawCycle.js +405 -0
- package/3rdparty/walkontable/src/table/drawCycle.mjs +403 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.d.mts +1 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.d.ts +38 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.js +15 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.mjs +14 -0
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.d.ts +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.js +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.mjs +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.d.ts +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.d.ts +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.js +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.mjs +1 -1
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.d.mts +2 -0
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.d.ts +226 -0
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.js +251 -0
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.mjs +241 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.d.mts +1 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.d.ts +14 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.js +196 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.mjs +179 -0
- package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.d.ts +16 -0
- package/3rdparty/walkontable/src/table/{bottomInlineStartCorner.js → regions/bottomInlineStartCornerTable.js} +9 -12
- package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.mjs +21 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.d.ts +15 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.js +35 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.mjs +20 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.d.ts +12 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.js +32 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.mjs +17 -0
- package/3rdparty/walkontable/src/table/regions/masterTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/{master.d.ts → regions/masterTable.d.ts} +4 -13
- package/3rdparty/walkontable/src/table/{master.js → regions/masterTable.js} +23 -48
- package/3rdparty/walkontable/src/table/{master.mjs → regions/masterTable.mjs} +22 -47
- package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.d.ts +16 -0
- package/3rdparty/walkontable/src/table/{topInlineStartCorner.js → regions/topInlineStartCornerTable.js} +9 -12
- package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.mjs +21 -0
- package/3rdparty/walkontable/src/table/regions/topTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/topTable.d.ts +15 -0
- package/3rdparty/walkontable/src/table/regions/topTable.js +35 -0
- package/3rdparty/walkontable/src/table/regions/topTable.mjs +20 -0
- package/3rdparty/walkontable/src/types.d.ts +7 -69
- package/3rdparty/walkontable/src/types.mjs +2 -1
- package/3rdparty/walkontable/src/utils/pointerToCoords.d.mts +1 -0
- package/3rdparty/walkontable/src/utils/{cellCoords.d.ts → pointerToCoords.d.ts} +24 -0
- package/3rdparty/walkontable/src/utils/pointerToCoords.js +181 -0
- package/3rdparty/walkontable/src/utils/pointerToCoords.mjs +186 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.d.ts +40 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.js +139 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.mjs +131 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.d.ts +133 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.js +18 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.mjs +18 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.d.ts +17 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.js +104 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.mjs +99 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.d.ts +84 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.js +588 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.mjs +601 -0
- package/3rdparty/walkontable/src/viewport/viewport.d.ts +267 -0
- package/3rdparty/walkontable/src/viewport/viewport.js +368 -0
- package/3rdparty/walkontable/src/viewport/viewport.mjs +360 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.d.ts +59 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.js +284 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.mjs +282 -0
- package/3rdparty/walkontable/src/wire.d.mts +1 -0
- package/3rdparty/walkontable/src/wire.d.ts +81 -0
- package/3rdparty/walkontable/src/wire.js +56 -0
- package/3rdparty/walkontable/src/wire.mjs +56 -0
- package/CHANGELOG.md +114 -1
- package/LICENSE.txt +1 -1
- package/README.md +2 -2
- package/base.d.ts +13 -4
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/cellTypes/checkboxType/accessors/valueSetter.d.ts +1 -1
- package/cellTypes/checkboxType/accessors/valueSetter.js +3 -1
- package/cellTypes/checkboxType/accessors/valueSetter.mjs +3 -1
- package/cellTypes/index.d.ts +3 -2
- package/cellTypes/index.js +9 -0
- package/cellTypes/index.mjs +5 -2
- package/cellTypes/intlDatetimeType/index.d.mts +1 -0
- package/cellTypes/intlDatetimeType/index.d.ts +1 -0
- package/cellTypes/intlDatetimeType/index.js +19 -0
- package/cellTypes/intlDatetimeType/index.mjs +1 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.d.mts +1 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.d.ts +16 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.js +31 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.mjs +15 -0
- package/cellTypes/multiSelectType/index.d.ts +1 -1
- package/cellTypes/multiSelectType/index.js +3 -0
- package/cellTypes/multiSelectType/index.mjs +1 -1
- package/cellTypes/multiSelectType/multiSelectType.d.ts +1 -0
- package/cellTypes/multiSelectType/multiSelectType.js +4 -0
- package/cellTypes/multiSelectType/multiSelectType.mjs +1 -0
- package/cellTypes/numericType/accessors/valueSetter.js +30 -2
- package/cellTypes/numericType/accessors/valueSetter.mjs +31 -3
- package/core/hooks/bucket.d.ts +40 -6
- package/core/hooks/bucket.js +108 -72
- package/core/hooks/bucket.mjs +113 -72
- package/core/hooks/constants.js +254 -16
- package/core/hooks/constants.mjs +254 -16
- package/core/hooks/index.js +27 -22
- package/core/hooks/index.mjs +27 -22
- package/core/layout/constants.d.ts +11 -0
- package/core/layout/constants.js +6 -0
- package/core/layout/constants.mjs +12 -0
- package/core/layout/domSlot.d.ts +3 -1
- package/core/layout/domSlot.js +16 -2
- package/core/layout/domSlot.mjs +16 -2
- package/core/layout/index.d.ts +2 -2
- package/core/layout/index.js +6 -0
- package/core/layout/index.mjs +2 -2
- package/core/layout/layoutManager.d.ts +13 -0
- package/core/layout/layoutManager.js +21 -4
- package/core/layout/layoutManager.mjs +22 -2
- package/core/settings.d.ts +102 -6
- package/core/types.d.ts +15 -1
- package/core/types.mjs +9 -0
- package/core.js +534 -88
- package/core.mjs +537 -91
- package/dataMap/dataMap.d.ts +3 -13
- package/dataMap/dataMap.js +100 -41
- package/dataMap/dataMap.mjs +101 -42
- package/dataMap/dataSource.js +4 -1
- package/dataMap/dataSource.mjs +4 -1
- package/dataMap/metaManager/index.d.ts +62 -8
- package/dataMap/metaManager/index.js +66 -0
- package/dataMap/metaManager/index.mjs +66 -0
- package/dataMap/metaManager/lazyFactoryMap.d.ts +68 -43
- package/dataMap/metaManager/lazyFactoryMap.js +497 -110
- package/dataMap/metaManager/lazyFactoryMap.mjs +511 -111
- package/dataMap/metaManager/metaLayers/cellMeta.d.ts +55 -8
- package/dataMap/metaManager/metaLayers/cellMeta.js +108 -8
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +108 -8
- package/dataMap/metaManager/metaLayers/columnMeta.d.ts +2 -1
- package/dataMap/metaManager/metaLayers/columnMeta.js +1 -0
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -0
- package/dataMap/metaManager/metaSchema.js +759 -39
- package/dataMap/metaManager/metaSchema.mjs +759 -39
- package/dataMap/metaManager/mods/dynamicCellMeta.d.ts +24 -10
- package/dataMap/metaManager/mods/dynamicCellMeta.js +252 -28
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +253 -29
- package/dataMap/sourceDataValidator.d.ts +13 -21
- package/dataMap/sourceDataValidator.js +39 -29
- package/dataMap/sourceDataValidator.mjs +50 -33
- package/dist/handsontable.full.js +30027 -11261
- package/dist/handsontable.full.min.js +168 -112
- package/dist/handsontable.js +32468 -13762
- package/dist/handsontable.min.js +172 -116
- package/dist/languages/all.js +2 -1
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/fa-IR.js +2 -1
- package/dist/languages/fa-IR.min.js +1 -1
- package/dist/themes/classic.js +9 -3
- package/dist/themes/classic.min.js +4 -4
- package/dist/themes/horizon.js +9 -3
- package/dist/themes/horizon.min.js +4 -4
- package/dist/themes/main.js +9 -3
- package/dist/themes/main.min.js +4 -4
- package/dist/themes/static/variables/colors/ant.js +3 -3
- package/dist/themes/static/variables/colors/ant.min.js +3 -3
- package/dist/themes/static/variables/colors/classic.js +3 -3
- package/dist/themes/static/variables/colors/classic.min.js +3 -3
- package/dist/themes/static/variables/colors/horizon.js +3 -3
- package/dist/themes/static/variables/colors/horizon.min.js +3 -3
- package/dist/themes/static/variables/colors/main.js +3 -3
- package/dist/themes/static/variables/colors/main.min.js +3 -3
- package/dist/themes/static/variables/colors/material.js +3 -3
- package/dist/themes/static/variables/colors/material.min.js +3 -3
- package/dist/themes/static/variables/colors/shadcn.js +3 -3
- package/dist/themes/static/variables/colors/shadcn.min.js +3 -3
- package/dist/themes/static/variables/density.js +3 -3
- package/dist/themes/static/variables/density.min.js +3 -3
- package/dist/themes/static/variables/helpers/iconsMap.js +4 -9
- package/dist/themes/static/variables/helpers/iconsMap.min.js +4 -9
- package/dist/themes/static/variables/icons/horizon.js +3 -3
- package/dist/themes/static/variables/icons/horizon.min.js +3 -3
- package/dist/themes/static/variables/icons/main.js +3 -3
- package/dist/themes/static/variables/icons/main.min.js +3 -3
- package/dist/themes/static/variables/sizing.js +3 -3
- package/dist/themes/static/variables/sizing.min.js +3 -3
- package/dist/themes/static/variables/tokens/classic.js +9 -3
- package/dist/themes/static/variables/tokens/classic.min.js +4 -4
- package/dist/themes/static/variables/tokens/horizon.js +9 -3
- package/dist/themes/static/variables/tokens/horizon.min.js +4 -4
- package/dist/themes/static/variables/tokens/main.js +9 -3
- package/dist/themes/static/variables/tokens/main.min.js +4 -4
- package/editorManager.js +152 -3
- package/editorManager.mjs +152 -3
- package/editors/autocompleteEditor/autocompleteEditor.js +58 -11
- package/editors/autocompleteEditor/autocompleteEditor.mjs +59 -12
- package/editors/baseEditor/baseEditor.d.ts +15 -3
- package/editors/baseEditor/baseEditor.js +5 -3
- package/editors/baseEditor/baseEditor.mjs +15 -3
- package/editors/factory.js +5 -2
- package/editors/factory.mjs +5 -2
- package/editors/index.d.ts +3 -2
- package/editors/index.js +8 -0
- package/editors/index.mjs +3 -1
- package/editors/intlDatetimeEditor/index.d.mts +1 -0
- package/editors/intlDatetimeEditor/index.d.ts +1 -0
- package/editors/intlDatetimeEditor/index.js +19 -0
- package/editors/intlDatetimeEditor/index.mjs +1 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.d.mts +1 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.d.ts +42 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.js +108 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.mjs +93 -0
- package/editors/multiSelectEditor/multiSelectEditor.js +11 -9
- package/editors/multiSelectEditor/multiSelectEditor.mjs +12 -10
- package/editors/selectEditor/selectEditor.js +2 -1
- package/editors/selectEditor/selectEditor.mjs +2 -1
- package/editors/textEditor/textEditor.js +1 -1
- package/editors/textEditor/textEditor.mjs +2 -2
- package/eventManager.d.ts +3 -3
- package/focusManager/grid.d.ts +28 -0
- package/focusManager/grid.js +85 -2
- package/focusManager/grid.mjs +81 -3
- package/focusManager/scopeManager.js +1 -1
- package/focusManager/scopeManager.mjs +2 -2
- package/handsontable-non-commercial-license.pdf +0 -0
- package/helpers/array.d.ts +25 -0
- package/helpers/array.js +41 -4
- package/helpers/array.mjs +56 -4
- package/helpers/console.d.ts +25 -3
- package/helpers/console.js +40 -7
- package/helpers/console.mjs +52 -7
- package/helpers/dateTime.d.ts +14 -0
- package/helpers/dateTime.js +74 -2
- package/helpers/dateTime.mjs +73 -2
- package/helpers/dom/cellCoords.js +156 -13
- package/helpers/dom/cellCoords.mjs +156 -13
- package/helpers/dom/element.d.ts +47 -8
- package/helpers/dom/element.js +104 -18
- package/helpers/dom/element.mjs +132 -23
- package/helpers/dom/event.d.ts +58 -0
- package/helpers/dom/event.js +39 -0
- package/helpers/dom/event.mjs +63 -0
- package/helpers/errors.d.ts +5 -0
- package/helpers/errors.js +10 -6
- package/helpers/errors.mjs +10 -6
- package/helpers/feature.d.ts +19 -0
- package/helpers/feature.js +21 -0
- package/helpers/feature.mjs +30 -0
- package/helpers/function.d.ts +1 -1
- package/helpers/function.js +4 -1
- package/helpers/function.mjs +4 -1
- package/helpers/mixed.d.ts +103 -0
- package/helpers/mixed.js +373 -4
- package/helpers/mixed.mjs +413 -4
- package/helpers/moves.js +2 -1
- package/helpers/moves.mjs +2 -1
- package/helpers/number.d.ts +22 -0
- package/helpers/number.js +49 -0
- package/helpers/number.mjs +66 -0
- package/helpers/string.d.ts +14 -10
- package/helpers/string.js +17 -9
- package/helpers/string.mjs +27 -17
- package/helpers/templateString.d.mts +1 -0
- package/helpers/templateString.d.ts +13 -0
- package/helpers/templateString.js +29 -0
- package/helpers/templateString.mjs +19 -0
- package/helpers/uiButton.d.mts +1 -0
- package/helpers/uiButton.d.ts +21 -0
- package/helpers/uiButton.js +37 -0
- package/helpers/uiButton.mjs +31 -0
- package/i18n/languages/fa-IR.d.ts +1 -0
- package/i18n/languages/fa-IR.js +1 -0
- package/i18n/languages/fa-IR.mjs +1 -0
- package/index.d.ts +3 -3
- package/languages/all.js +2 -1
- package/languages/fa-IR.js +2 -1
- package/languages/fa-IR.mjs +1 -0
- package/languages/index.js +2 -1
- package/package.json +61 -1
- package/plugins/autoColumnSize/autoColumnSize.d.ts +24 -1
- package/plugins/autoColumnSize/autoColumnSize.js +501 -82
- package/plugins/autoColumnSize/autoColumnSize.mjs +508 -83
- package/plugins/autoRowSize/autoRowSize.d.ts +40 -5
- package/plugins/autoRowSize/autoRowSize.js +68 -24
- package/plugins/autoRowSize/autoRowSize.mjs +98 -29
- package/plugins/autofill/autofill.js +30 -12
- package/plugins/autofill/autofill.mjs +30 -12
- package/plugins/base/base.d.ts +10 -0
- package/plugins/collapsibleColumns/collapsibleColumns.d.ts +4 -0
- package/plugins/collapsibleColumns/collapsibleColumns.js +89 -8
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +93 -8
- package/plugins/columnSorting/columnSorting.d.ts +31 -2
- package/plugins/columnSorting/columnSorting.js +151 -24
- package/plugins/columnSorting/columnSorting.mjs +153 -26
- package/plugins/columnSorting/columnStatesManager.d.ts +1 -1
- package/plugins/columnSorting/columnStatesManager.js +1 -7
- package/plugins/columnSorting/columnStatesManager.mjs +1 -7
- package/plugins/columnSorting/domHelpers.d.ts +3 -0
- package/plugins/columnSorting/domHelpers.js +9 -0
- package/plugins/columnSorting/domHelpers.mjs +3 -3
- package/plugins/columnSorting/rootComparator.js +21 -16
- package/plugins/columnSorting/rootComparator.mjs +21 -16
- package/plugins/columnSorting/sortFunction/checkbox.js +7 -5
- package/plugins/columnSorting/sortFunction/checkbox.mjs +7 -5
- package/plugins/columnSorting/sortFunction/default.js +15 -4
- package/plugins/columnSorting/sortFunction/default.mjs +15 -4
- package/plugins/columnSorting/sortFunction/intlDatetime.d.mts +1 -0
- package/plugins/columnSorting/sortFunction/intlDatetime.d.ts +10 -0
- package/plugins/columnSorting/sortFunction/intlDatetime.js +23 -0
- package/plugins/columnSorting/sortFunction/intlDatetime.mjs +12 -0
- package/plugins/columnSorting/sortService/registry.js +2 -0
- package/plugins/columnSorting/sortService/registry.mjs +2 -0
- package/plugins/columnSorting/utils.d.ts +8 -0
- package/plugins/columnSorting/utils.js +37 -45
- package/plugins/columnSorting/utils.mjs +42 -47
- package/plugins/columnSummary/columnSummary.js +9 -5
- package/plugins/columnSummary/columnSummary.mjs +9 -5
- package/plugins/columnSummary/endpoints.d.ts +69 -2
- package/plugins/columnSummary/endpoints.js +181 -29
- package/plugins/columnSummary/endpoints.mjs +181 -29
- package/plugins/comments/commentEditor.js +1 -1
- package/plugins/comments/commentEditor.mjs +2 -2
- package/plugins/contextMenu/contextMenu.d.ts +12 -1
- package/plugins/contextMenu/contextMenu.js +30 -6
- package/plugins/contextMenu/contextMenu.mjs +30 -6
- package/plugins/contextMenu/index.d.ts +1 -1
- package/plugins/contextMenu/menu/menu.d.ts +22 -1
- package/plugins/contextMenu/menu/menu.js +211 -3
- package/plugins/contextMenu/menu/menu.mjs +212 -4
- package/plugins/contextMenu/menu/menuItemRenderer.js +2 -2
- package/plugins/contextMenu/menu/menuItemRenderer.mjs +2 -2
- package/plugins/contextMenu/predefinedItems/alignment.js +14 -14
- package/plugins/contextMenu/predefinedItems/alignment.mjs +14 -14
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +3 -3
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +3 -3
- package/plugins/contextMenu/utils.js +1 -1
- package/plugins/contextMenu/utils.mjs +1 -1
- package/plugins/copyPaste/copyPaste.js +70 -16
- package/plugins/copyPaste/copyPaste.mjs +71 -17
- package/plugins/copyPaste/copyableRanges.js +6 -2
- package/plugins/copyPaste/copyableRanges.mjs +6 -2
- package/plugins/copyPaste/pasteEvent.d.ts +1 -1
- package/plugins/customBorders/customBorders.d.ts +21 -40
- package/plugins/customBorders/customBorders.js +1080 -201
- package/plugins/customBorders/customBorders.mjs +1082 -203
- package/plugins/customBorders/utils.d.ts +71 -0
- package/plugins/customBorders/utils.js +63 -0
- package/plugins/customBorders/utils.mjs +101 -0
- package/plugins/dataProvider/dataProvider.d.ts +2 -1
- package/plugins/dataProvider/dataProvider.js +22 -7
- package/plugins/dataProvider/dataProvider.mjs +22 -7
- package/plugins/dataProvider/query/crud.js +1 -1
- package/plugins/dataProvider/query/crud.mjs +1 -1
- package/plugins/dialog/dialog.js +14 -9
- package/plugins/dialog/dialog.mjs +14 -9
- package/plugins/dialog/templates/confirm.d.ts +1 -1
- package/plugins/dialog/templates/confirm.js +2 -1
- package/plugins/dialog/templates/confirm.mjs +2 -1
- package/plugins/dialog/ui.d.ts +5 -3
- package/plugins/dialog/ui.js +12 -4
- package/plugins/dialog/ui.mjs +12 -4
- package/plugins/dragToScroll/dragToScroll.d.ts +2 -2
- package/plugins/dragToScroll/dragToScroll.js +150 -14
- package/plugins/dragToScroll/dragToScroll.mjs +151 -15
- package/plugins/dropdownMenu/dropdownMenu.d.ts +5 -1
- package/plugins/dropdownMenu/dropdownMenu.js +45 -3
- package/plugins/dropdownMenu/dropdownMenu.mjs +46 -4
- package/plugins/dropdownMenu/index.d.ts +1 -0
- package/plugins/emptyDataState/emptyDataState.js +4 -6
- package/plugins/emptyDataState/emptyDataState.mjs +4 -6
- package/plugins/emptyDataState/ui.js +2 -1
- package/plugins/emptyDataState/ui.mjs +2 -1
- package/plugins/exportFile/dataProvider.js +7 -9
- package/plugins/exportFile/dataProvider.mjs +7 -9
- package/plugins/exportFile/exportFile.d.ts +10 -3
- package/plugins/exportFile/types/_base.js +4 -10
- package/plugins/exportFile/types/_base.mjs +4 -10
- package/plugins/exportFile/types/xlsx/cell-style.js +4 -2
- package/plugins/exportFile/types/xlsx/cell-style.mjs +4 -2
- package/plugins/exportFile/types/xlsx/date-utils.d.ts +15 -0
- package/plugins/exportFile/types/xlsx/date-utils.js +31 -0
- package/plugins/exportFile/types/xlsx/date-utils.mjs +36 -0
- package/plugins/exportFile/types/xlsx.js +13 -9
- package/plugins/exportFile/types/xlsx.mjs +14 -10
- package/plugins/exportFile/utils.d.ts +9 -1
- package/plugins/exportFile/utils.js +27 -4
- package/plugins/exportFile/utils.mjs +40 -2
- package/plugins/filters/component/_base.d.ts +1 -2
- package/plugins/filters/component/_base.js +1 -2
- package/plugins/filters/component/_base.mjs +1 -2
- package/plugins/filters/component/condition.d.ts +1 -0
- package/plugins/filters/component/condition.js +2 -0
- package/plugins/filters/component/condition.mjs +2 -0
- package/plugins/filters/component/value.d.ts +5 -6
- package/plugins/filters/component/value.js +53 -34
- package/plugins/filters/component/value.mjs +54 -35
- package/plugins/filters/condition/date/after.js +2 -1
- package/plugins/filters/condition/date/after.mjs +2 -1
- package/plugins/filters/condition/date/afterOrEqual.js +2 -1
- package/plugins/filters/condition/date/afterOrEqual.mjs +2 -1
- package/plugins/filters/condition/date/before.js +2 -1
- package/plugins/filters/condition/date/before.mjs +2 -1
- package/plugins/filters/condition/date/beforeOrEqual.js +2 -1
- package/plugins/filters/condition/date/beforeOrEqual.mjs +2 -1
- package/plugins/filters/condition/equal.d.ts +7 -0
- package/plugins/filters/condition/equal.js +4 -0
- package/plugins/filters/condition/equal.mjs +10 -0
- package/plugins/filters/condition/intlDatetime/after.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/after.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/after.js +77 -0
- package/plugins/filters/condition/intlDatetime/after.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.js +77 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/before.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/before.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/before.js +77 -0
- package/plugins/filters/condition/intlDatetime/before.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.js +77 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/between.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/between.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/between.js +78 -0
- package/plugins/filters/condition/intlDatetime/between.mjs +23 -0
- package/plugins/filters/condition/intlDatetime/today.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/today.d.ts +17 -0
- package/plugins/filters/condition/intlDatetime/today.js +76 -0
- package/plugins/filters/condition/intlDatetime/today.mjs +20 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.d.ts +17 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.js +77 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.mjs +21 -0
- package/plugins/filters/condition/intlDatetime/yesterday.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/yesterday.d.ts +17 -0
- package/plugins/filters/condition/intlDatetime/yesterday.js +77 -0
- package/plugins/filters/condition/intlDatetime/yesterday.mjs +21 -0
- package/plugins/filters/conditionCollection.js +4 -7
- package/plugins/filters/conditionCollection.mjs +4 -7
- package/plugins/filters/conditionUpdateObserver.d.ts +2 -2
- package/plugins/filters/conditionUpdateObserver.js +148 -49
- package/plugins/filters/conditionUpdateObserver.mjs +148 -49
- package/plugins/filters/constants.d.ts +1 -0
- package/plugins/filters/constants.js +31 -0
- package/plugins/filters/constants.mjs +28 -0
- package/plugins/filters/dataFilter.d.ts +4 -12
- package/plugins/filters/dataFilter.js +7 -19
- package/plugins/filters/dataFilter.mjs +8 -20
- package/plugins/filters/filters.d.ts +33 -9
- package/plugins/filters/filters.js +91 -31
- package/plugins/filters/filters.mjs +92 -32
- package/plugins/filters/sortComparators.d.ts +9 -2
- package/plugins/filters/sortComparators.js +34 -1
- package/plugins/filters/sortComparators.mjs +38 -3
- package/plugins/filters/ui/input.d.ts +4 -0
- package/plugins/filters/ui/input.js +18 -6
- package/plugins/filters/ui/input.mjs +18 -6
- package/plugins/filters/ui/multipleSelect.js +27 -4
- package/plugins/filters/ui/multipleSelect.mjs +27 -4
- package/plugins/filters/ui/select.js +1 -1
- package/plugins/filters/ui/select.mjs +1 -1
- package/plugins/formulas/engine/register.d.ts +5 -4
- package/plugins/formulas/engine/register.js +5 -2
- package/plugins/formulas/engine/register.mjs +9 -5
- package/plugins/formulas/engine/settings.d.ts +2 -6
- package/plugins/formulas/engine/settings.js +29 -4
- package/plugins/formulas/engine/settings.mjs +29 -4
- package/plugins/formulas/engine/types.d.ts +12 -2
- package/plugins/formulas/formulas.d.ts +39 -0
- package/plugins/formulas/formulas.js +789 -47
- package/plugins/formulas/formulas.mjs +793 -49
- package/plugins/formulas/hyperlinkUrl.d.mts +1 -0
- package/plugins/formulas/hyperlinkUrl.d.ts +12 -0
- package/plugins/formulas/hyperlinkUrl.js +32 -0
- package/plugins/formulas/hyperlinkUrl.mjs +32 -0
- package/plugins/formulas/indexSyncer/axisSyncer.d.ts +1 -0
- package/plugins/formulas/indexSyncer/axisSyncer.js +72 -15
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +72 -15
- package/plugins/formulas/utils.d.ts +9 -0
- package/plugins/formulas/utils.js +21 -0
- package/plugins/formulas/utils.mjs +25 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +6 -1
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +6 -1
- package/plugins/hiddenColumns/hiddenColumns.js +6 -3
- package/plugins/hiddenColumns/hiddenColumns.mjs +6 -3
- package/plugins/hiddenRows/contextMenuItem/showRow.js +6 -1
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +6 -1
- package/plugins/hiddenRows/hiddenRows.js +6 -3
- package/plugins/hiddenRows/hiddenRows.mjs +6 -3
- package/plugins/index.d.ts +5 -1
- package/plugins/index.js +10 -0
- package/plugins/index.mjs +5 -1
- package/plugins/loading/content.d.ts +5 -3
- package/plugins/loading/content.js +3 -2
- package/plugins/loading/content.mjs +8 -5
- package/plugins/loading/loading.d.ts +5 -2
- package/plugins/loading/loading.mjs +5 -2
- package/plugins/manualColumnMove/manualColumnMove.d.ts +10 -0
- package/plugins/manualColumnMove/manualColumnMove.js +122 -20
- package/plugins/manualColumnMove/manualColumnMove.mjs +123 -21
- package/plugins/manualColumnResize/manualColumnResize.d.ts +20 -7
- package/plugins/manualColumnResize/manualColumnResize.js +33 -13
- package/plugins/manualColumnResize/manualColumnResize.mjs +34 -14
- package/plugins/manualRowResize/manualRowResize.d.ts +21 -8
- package/plugins/manualRowResize/manualRowResize.js +34 -14
- package/plugins/manualRowResize/manualRowResize.mjs +35 -15
- package/plugins/mergeCells/cellCoords.d.ts +8 -0
- package/plugins/mergeCells/cellCoords.js +11 -0
- package/plugins/mergeCells/cellCoords.mjs +11 -0
- package/plugins/mergeCells/cellsCollection.d.ts +46 -2
- package/plugins/mergeCells/cellsCollection.js +189 -68
- package/plugins/mergeCells/cellsCollection.mjs +189 -68
- package/plugins/mergeCells/focusOrder.d.ts +26 -20
- package/plugins/mergeCells/focusOrder.js +358 -177
- package/plugins/mergeCells/focusOrder.mjs +363 -172
- package/plugins/mergeCells/mergeCells.d.ts +13 -8
- package/plugins/mergeCells/mergeCells.js +322 -64
- package/plugins/mergeCells/mergeCells.mjs +322 -64
- package/plugins/moveCells/helpers.d.mts +1 -0
- package/plugins/moveCells/helpers.d.ts +21 -0
- package/plugins/moveCells/helpers.js +20 -0
- package/plugins/moveCells/helpers.mjs +15 -0
- package/plugins/moveCells/index.d.mts +1 -0
- package/plugins/moveCells/index.d.ts +1 -0
- package/plugins/moveCells/index.js +22 -0
- package/plugins/moveCells/index.mjs +1 -0
- package/plugins/moveCells/moveCells.d.mts +1 -0
- package/plugins/moveCells/moveCells.d.ts +80 -0
- package/plugins/moveCells/moveCells.js +602 -0
- package/plugins/moveCells/moveCells.mjs +587 -0
- package/plugins/multiColumnSorting/multiColumnSorting.d.ts +8 -8
- package/plugins/multiColumnSorting/multiColumnSorting.js +11 -16
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +11 -16
- package/plugins/multiColumnSorting/rootComparator.js +26 -19
- package/plugins/multiColumnSorting/rootComparator.mjs +26 -19
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.d.ts +19 -4
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +273 -58
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +273 -58
- package/plugins/nestedHeaders/nestedHeaders.d.ts +10 -1
- package/plugins/nestedHeaders/nestedHeaders.js +222 -23
- package/plugins/nestedHeaders/nestedHeaders.mjs +222 -23
- package/plugins/nestedHeaders/stateManager/columnArrangement.d.mts +1 -0
- package/plugins/nestedHeaders/stateManager/columnArrangement.d.ts +37 -0
- package/plugins/nestedHeaders/stateManager/columnArrangement.js +35 -0
- package/plugins/nestedHeaders/stateManager/columnArrangement.mjs +30 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.d.mts +1 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.d.ts +57 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.js +115 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.mjs +135 -0
- package/plugins/nestedHeaders/stateManager/headersTree.d.ts +14 -1
- package/plugins/nestedHeaders/stateManager/index.d.ts +76 -13
- package/plugins/nestedHeaders/stateManager/index.js +381 -38
- package/plugins/nestedHeaders/stateManager/index.mjs +382 -39
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +3 -2
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +3 -2
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -1
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +5 -1
- package/plugins/nestedHeaders/stateManager/sourceSettings.d.ts +23 -6
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +20 -4
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +20 -4
- package/plugins/nestedHeaders/stateManager/utils.d.ts +17 -1
- package/plugins/nestedHeaders/stateManager/utils.js +6 -1
- package/plugins/nestedHeaders/stateManager/utils.mjs +6 -1
- package/plugins/nestedHeaders/utils/ghostTable.js +21 -8
- package/plugins/nestedHeaders/utils/ghostTable.mjs +21 -8
- package/plugins/nestedRows/data/dataManager.d.ts +4 -1
- package/plugins/nestedRows/data/dataManager.js +10 -4
- package/plugins/nestedRows/data/dataManager.mjs +10 -4
- package/plugins/nestedRows/nestedRows.d.ts +127 -1
- package/plugins/nestedRows/nestedRows.js +330 -8
- package/plugins/nestedRows/nestedRows.mjs +330 -8
- package/plugins/nestedRows/ui/collapsing.d.ts +58 -0
- package/plugins/nestedRows/ui/collapsing.js +236 -40
- package/plugins/nestedRows/ui/collapsing.mjs +236 -40
- package/plugins/notification/notification.d.ts +2 -1
- package/plugins/notification/notification.js +6 -3
- package/plugins/notification/notification.mjs +6 -3
- package/plugins/notification/ui.d.ts +8 -5
- package/plugins/notification/ui.js +18 -6
- package/plugins/notification/ui.mjs +18 -6
- package/plugins/pagination/pagination.js +2 -2
- package/plugins/pagination/pagination.mjs +2 -2
- package/plugins/search/search.js +23 -2
- package/plugins/search/search.mjs +23 -2
- package/plugins/selectionHandles/helpers.d.mts +1 -0
- package/plugins/selectionHandles/helpers.d.ts +17 -0
- package/plugins/selectionHandles/helpers.js +16 -0
- package/plugins/selectionHandles/helpers.mjs +11 -0
- package/plugins/selectionHandles/index.d.mts +1 -0
- package/plugins/selectionHandles/index.d.ts +1 -0
- package/plugins/selectionHandles/index.js +22 -0
- package/plugins/selectionHandles/index.mjs +1 -0
- package/plugins/selectionHandles/selectionHandles.d.mts +1 -0
- package/plugins/selectionHandles/selectionHandles.d.ts +52 -0
- package/plugins/selectionHandles/selectionHandles.js +342 -0
- package/plugins/selectionHandles/selectionHandles.mjs +323 -0
- package/plugins/trimRows/trimRows.d.ts +1 -1
- package/plugins/trimRows/trimRows.js +6 -2
- package/plugins/trimRows/trimRows.mjs +6 -2
- package/plugins/types.d.ts +4 -0
- package/plugins/undoRedo/actions/cellAlignment.js +1 -1
- package/plugins/undoRedo/actions/cellAlignment.mjs +1 -1
- package/plugins/undoRedo/actions/createColumn.js +4 -1
- package/plugins/undoRedo/actions/createColumn.mjs +4 -1
- package/plugins/undoRedo/actions/createRow.js +4 -1
- package/plugins/undoRedo/actions/createRow.mjs +4 -1
- package/plugins/undoRedo/actions/fixedCounts.d.mts +1 -0
- package/plugins/undoRedo/actions/fixedCounts.d.ts +36 -0
- package/plugins/undoRedo/actions/fixedCounts.js +63 -0
- package/plugins/undoRedo/actions/fixedCounts.mjs +62 -0
- package/plugins/undoRedo/actions/index.js +2 -0
- package/plugins/undoRedo/actions/index.mjs +2 -0
- package/plugins/undoRedo/actions/moveCells.d.mts +1 -0
- package/plugins/undoRedo/actions/moveCells.d.ts +104 -0
- package/plugins/undoRedo/actions/moveCells.js +225 -0
- package/plugins/undoRedo/actions/moveCells.mjs +227 -0
- package/plugins/undoRedo/actions/removeColumn.d.ts +18 -2
- package/plugins/undoRedo/actions/removeColumn.js +11 -4
- package/plugins/undoRedo/actions/removeColumn.mjs +12 -5
- package/plugins/undoRedo/actions/removeRow.js +2 -57
- package/plugins/undoRedo/actions/removeRow.mjs +2 -57
- package/plugins/undoRedo/undoRedo.d.ts +26 -0
- package/plugins/undoRedo/undoRedo.js +36 -2
- package/plugins/undoRedo/undoRedo.mjs +36 -2
- package/plugins/undoRedo/utils.d.ts +29 -0
- package/plugins/undoRedo/utils.js +55 -3
- package/plugins/undoRedo/utils.mjs +59 -0
- package/renderSizeProbe.d.mts +1 -0
- package/renderSizeProbe.d.ts +60 -0
- package/renderSizeProbe.js +163 -0
- package/renderSizeProbe.mjs +176 -0
- package/renderers/checkboxRenderer/checkboxRenderer.js +9 -4
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +9 -4
- package/renderers/index.d.ts +3 -2
- package/renderers/index.js +8 -0
- package/renderers/index.mjs +3 -1
- package/renderers/intlDatetimeRenderer/index.d.mts +1 -0
- package/renderers/intlDatetimeRenderer/index.d.ts +1 -0
- package/renderers/intlDatetimeRenderer/index.js +22 -0
- package/renderers/intlDatetimeRenderer/index.mjs +1 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.d.mts +1 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.d.ts +26 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.js +82 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.mjs +67 -0
- package/renderers/multiSelectRenderer/multiSelectRenderer.js +2 -3
- package/renderers/multiSelectRenderer/multiSelectRenderer.mjs +2 -3
- package/renderers/multiSelectRenderer/utils/utils.d.ts +1 -1
- package/renderers/multiSelectRenderer/utils/utils.js +11 -8
- package/renderers/multiSelectRenderer/utils/utils.mjs +11 -8
- package/renderers/passwordRenderer/passwordRenderer.js +6 -1
- package/renderers/passwordRenderer/passwordRenderer.mjs +6 -1
- package/renderers/renderCell.d.mts +1 -0
- package/renderers/renderCell.d.ts +37 -0
- package/renderers/renderCell.js +43 -0
- package/renderers/renderCell.mjs +48 -0
- package/selection/highlight/types/areaLayered.d.ts +3 -1
- package/selection/highlight/types/areaLayered.js +4 -2
- package/selection/highlight/types/areaLayered.mjs +6 -2
- package/selection/highlight/types/focus.d.ts +3 -1
- package/selection/highlight/types/focus.js +3 -2
- package/selection/highlight/types/focus.mjs +5 -2
- package/selection/mouseEventHandler.js +29 -26
- package/selection/mouseEventHandler.mjs +29 -26
- package/selection/moveCells.d.mts +1 -0
- package/selection/moveCells.d.ts +15 -0
- package/selection/moveCells.js +13 -0
- package/selection/moveCells.mjs +9 -0
- package/selection/selection.d.ts +56 -2
- package/selection/selection.js +149 -5
- package/selection/selection.mjs +149 -5
- package/selection/types.d.ts +3 -0
- package/settings.d.ts +24 -3
- package/shortcuts/context.d.ts +4 -0
- package/shortcuts/context.js +16 -8
- package/shortcuts/context.mjs +20 -8
- package/shortcuts/contexts/commands/populateSelectedCellsData.js +1 -1
- package/shortcuts/contexts/commands/populateSelectedCellsData.mjs +1 -1
- package/styles/handsontable.css +504 -158
- package/styles/handsontable.min.css +4 -4
- package/styles/handsontableStyles.d.mts +2 -0
- package/styles/handsontableStyles.d.ts +2 -0
- package/styles/handsontableStyles.js +1 -1
- package/styles/handsontableStyles.mjs +1 -1
- package/styles/ht-icons-horizon.css +1 -10
- package/styles/ht-icons-horizon.min.css +4 -4
- package/styles/ht-icons-main.css +1 -10
- package/styles/ht-icons-main.min.css +4 -4
- package/styles/ht-theme-classic-no-icons.css +6 -0
- package/styles/ht-theme-classic-no-icons.min.css +4 -4
- package/styles/ht-theme-classic.css +7 -10
- package/styles/ht-theme-classic.min.css +4 -4
- package/styles/ht-theme-horizon-no-icons.css +6 -0
- package/styles/ht-theme-horizon-no-icons.min.css +4 -4
- package/styles/ht-theme-horizon.css +7 -10
- package/styles/ht-theme-horizon.min.css +4 -4
- package/styles/ht-theme-main-no-icons.css +6 -0
- package/styles/ht-theme-main-no-icons.min.css +4 -4
- package/styles/ht-theme-main.css +7 -10
- package/styles/ht-theme-main.min.css +4 -4
- package/tableView.d.ts +17 -4
- package/tableView.js +208 -42
- package/tableView.mjs +209 -43
- package/themes/engine/index.d.ts +2 -1
- package/themes/engine/index.js +3 -0
- package/themes/engine/index.mjs +1 -1
- package/themes/engine/manager.d.ts +75 -3
- package/themes/engine/manager.js +242 -6
- package/themes/engine/manager.mjs +249 -6
- package/themes/engine/utils/cssVariables.d.ts +18 -1
- package/themes/engine/utils/cssVariables.js +27 -11
- package/themes/engine/utils/cssVariables.mjs +28 -11
- package/themes/engine/utils/validation.js +7 -0
- package/themes/engine/utils/validation.mjs +7 -0
- package/themes/static/variables/helpers/iconsMap.js +1 -6
- package/themes/static/variables/helpers/iconsMap.mjs +1 -6
- package/themes/static/variables/tokens/classic.js +6 -0
- package/themes/static/variables/tokens/classic.mjs +6 -0
- package/themes/static/variables/tokens/horizon.js +6 -0
- package/themes/static/variables/tokens/horizon.mjs +6 -0
- package/themes/static/variables/tokens/main.js +6 -0
- package/themes/static/variables/tokens/main.mjs +6 -0
- package/themes/types.d.ts +1 -1
- package/translations/indexMapper.d.ts +14 -9
- package/translations/indexMapper.js +104 -43
- package/translations/indexMapper.mjs +104 -43
- package/translations/mapCollections/aggregatedCollection.js +20 -35
- package/translations/mapCollections/aggregatedCollection.mjs +20 -35
- package/translations/mapCollections/mapCollection.d.ts +10 -4
- package/translations/mapCollections/mapCollection.js +2 -2
- package/translations/mapCollections/mapCollection.mjs +2 -2
- package/translations/maps/booleanMap.d.mts +1 -0
- package/translations/maps/booleanMap.d.ts +86 -0
- package/translations/maps/booleanMap.js +300 -0
- package/translations/maps/booleanMap.mjs +308 -0
- package/translations/maps/hidingMap.d.ts +5 -2
- package/translations/maps/hidingMap.js +8 -3
- package/translations/maps/hidingMap.mjs +8 -3
- package/translations/maps/index.d.ts +5 -2
- package/translations/maps/index.js +7 -3
- package/translations/maps/index.mjs +10 -2
- package/translations/maps/indexMap.d.ts +26 -2
- package/translations/maps/indexMap.js +78 -6
- package/translations/maps/indexMap.mjs +78 -6
- package/translations/maps/indexesSequence.d.ts +53 -2
- package/translations/maps/indexesSequence.js +225 -3
- package/translations/maps/indexesSequence.mjs +233 -3
- package/translations/maps/trimmingMap.d.ts +5 -2
- package/translations/maps/trimmingMap.js +8 -3
- package/translations/maps/trimmingMap.mjs +8 -3
- package/translations/maps/utils/actionsOnIndexes.js +20 -1
- package/translations/maps/utils/actionsOnIndexes.mjs +20 -1
- package/translations/maps/utils/indexesSequence.js +12 -3
- package/translations/maps/utils/indexesSequence.mjs +12 -3
- package/translations/maps/utils/physicallyIndexed.js +12 -1
- package/translations/maps/utils/physicallyIndexed.mjs +12 -1
- package/utils/entitlementLicenseKey/classify.d.mts +1 -0
- package/utils/entitlementLicenseKey/classify.d.ts +34 -0
- package/utils/entitlementLicenseKey/classify.js +97 -0
- package/utils/entitlementLicenseKey/classify.mjs +96 -0
- package/utils/entitlementLicenseKey/constants.d.mts +1 -0
- package/utils/entitlementLicenseKey/constants.d.ts +69 -0
- package/utils/entitlementLicenseKey/constants.js +54 -0
- package/utils/entitlementLicenseKey/constants.mjs +66 -0
- package/utils/entitlementLicenseKey/detectFormat.d.mts +1 -0
- package/utils/entitlementLicenseKey/detectFormat.d.ts +23 -0
- package/utils/entitlementLicenseKey/detectFormat.js +60 -0
- package/utils/entitlementLicenseKey/detectFormat.mjs +60 -0
- package/utils/entitlementLicenseKey/encoding.d.mts +1 -0
- package/utils/entitlementLicenseKey/encoding.d.ts +58 -0
- package/utils/entitlementLicenseKey/encoding.js +161 -0
- package/utils/entitlementLicenseKey/encoding.mjs +172 -0
- package/utils/entitlementLicenseKey/extractKeyData.d.mts +1 -0
- package/utils/entitlementLicenseKey/extractKeyData.d.ts +47 -0
- package/utils/entitlementLicenseKey/extractKeyData.js +213 -0
- package/utils/entitlementLicenseKey/extractKeyData.mjs +232 -0
- package/utils/entitlementLicenseKey/grants.d.mts +1 -0
- package/utils/entitlementLicenseKey/grants.d.ts +54 -0
- package/utils/entitlementLicenseKey/grants.js +68 -0
- package/utils/entitlementLicenseKey/grants.mjs +84 -0
- package/utils/entitlementLicenseKey/index.d.mts +1 -0
- package/utils/entitlementLicenseKey/index.d.ts +8 -0
- package/utils/entitlementLicenseKey/index.js +53 -0
- package/utils/entitlementLicenseKey/index.mjs +6 -0
- package/utils/entitlementLicenseKey/sha512.d.mts +1 -0
- package/utils/entitlementLicenseKey/sha512.d.ts +11 -0
- package/utils/entitlementLicenseKey/sha512.js +328 -0
- package/utils/entitlementLicenseKey/sha512.mjs +327 -0
- package/utils/entitlementLicenseKey/types.d.mts +1 -0
- package/utils/entitlementLicenseKey/types.d.ts +84 -0
- package/utils/entitlementLicenseKey/types.js +8 -0
- package/utils/entitlementLicenseKey/types.mjs +10 -0
- package/utils/ghostTable.d.ts +1 -0
- package/utils/ghostTable.js +60 -11
- package/utils/ghostTable.mjs +60 -11
- package/utils/licenseBranding/badge.d.mts +1 -0
- package/utils/licenseBranding/badge.d.ts +21 -0
- package/utils/licenseBranding/badge.js +237 -0
- package/utils/licenseBranding/badge.mjs +244 -0
- package/utils/licenseBranding/content.d.mts +1 -0
- package/utils/licenseBranding/content.d.ts +54 -0
- package/utils/licenseBranding/content.js +93 -0
- package/utils/licenseBranding/content.mjs +79 -0
- package/utils/licenseBranding/index.d.mts +1 -0
- package/utils/licenseBranding/index.d.ts +14 -0
- package/utils/licenseBranding/index.js +55 -0
- package/utils/licenseBranding/index.mjs +56 -0
- package/utils/licenseBranding/lockScreen.d.mts +1 -0
- package/utils/licenseBranding/lockScreen.d.ts +23 -0
- package/utils/licenseBranding/lockScreen.js +150 -0
- package/utils/licenseBranding/lockScreen.mjs +159 -0
- package/utils/licenseNotification.d.ts +19 -0
- package/utils/licenseNotification.js +56 -29
- package/utils/licenseNotification.mjs +61 -29
- package/utils/movableMeta.d.mts +1 -0
- package/utils/movableMeta.d.ts +40 -0
- package/utils/movableMeta.js +47 -0
- package/utils/movableMeta.mjs +46 -0
- package/utils/parseTable.js +16 -7
- package/utils/parseTable.mjs +16 -7
- package/utils/samplesGenerator.d.ts +41 -14
- package/utils/samplesGenerator.js +114 -42
- package/utils/samplesGenerator.mjs +114 -42
- package/utils/sanitizer.d.mts +1 -0
- package/utils/sanitizer.d.ts +47 -0
- package/utils/sanitizer.js +43 -0
- package/utils/sanitizer.mjs +55 -0
- package/utils/stylesHandler.d.ts +13 -0
- package/utils/stylesHandler.js +55 -2
- package/utils/stylesHandler.mjs +55 -2
- package/validators/autocompleteValidator/autocompleteValidator.js +3 -0
- package/validators/autocompleteValidator/autocompleteValidator.mjs +3 -0
- package/validators/index.d.ts +3 -2
- package/validators/index.js +8 -0
- package/validators/index.mjs +3 -1
- package/validators/intlDatetimeValidator/index.d.mts +1 -0
- package/validators/intlDatetimeValidator/index.d.ts +1 -0
- package/validators/intlDatetimeValidator/index.js +25 -0
- package/validators/intlDatetimeValidator/index.mjs +1 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.d.mts +1 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.d.ts +28 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.js +49 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.mjs +37 -0
- package/3rdparty/walkontable/src/overlay/bottom.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/top.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.d.mts +0 -1
- package/3rdparty/walkontable/src/overlays.d.ts +0 -329
- package/3rdparty/walkontable/src/overlays.js +0 -870
- package/3rdparty/walkontable/src/overlays.mjs +0 -860
- package/3rdparty/walkontable/src/renderer/table.d.mts +0 -1
- package/3rdparty/walkontable/src/renderer/table.js +0 -229
- package/3rdparty/walkontable/src/settings.d.mts +0 -2
- package/3rdparty/walkontable/src/settings.js +0 -196
- package/3rdparty/walkontable/src/settings.mjs +0 -263
- package/3rdparty/walkontable/src/table/bottom.d.mts +0 -2
- package/3rdparty/walkontable/src/table/bottom.d.ts +0 -19
- package/3rdparty/walkontable/src/table/bottom.js +0 -38
- package/3rdparty/walkontable/src/table/bottom.mjs +0 -23
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.d.mts +0 -2
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.d.ts +0 -20
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +0 -24
- package/3rdparty/walkontable/src/table/inlineStart.d.mts +0 -2
- package/3rdparty/walkontable/src/table/inlineStart.d.ts +0 -16
- package/3rdparty/walkontable/src/table/inlineStart.js +0 -35
- package/3rdparty/walkontable/src/table/inlineStart.mjs +0 -20
- package/3rdparty/walkontable/src/table/master.d.mts +0 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.d.mts +0 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.d.ts +0 -75
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -122
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -112
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.d.mts +0 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.d.ts +0 -75
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -122
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -112
- package/3rdparty/walkontable/src/table/top.d.mts +0 -2
- package/3rdparty/walkontable/src/table/top.d.ts +0 -19
- package/3rdparty/walkontable/src/table/top.js +0 -38
- package/3rdparty/walkontable/src/table/top.mjs +0 -23
- package/3rdparty/walkontable/src/table/topInlineStartCorner.d.mts +0 -2
- package/3rdparty/walkontable/src/table/topInlineStartCorner.d.ts +0 -20
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +0 -24
- package/3rdparty/walkontable/src/table.d.mts +0 -2
- package/3rdparty/walkontable/src/table.d.ts +0 -741
- package/3rdparty/walkontable/src/table.js +0 -1120
- package/3rdparty/walkontable/src/table.mjs +0 -1105
- package/3rdparty/walkontable/src/utils/cellCoords.d.mts +0 -1
- package/3rdparty/walkontable/src/utils/cellCoords.js +0 -54
- package/3rdparty/walkontable/src/utils/cellCoords.mjs +0 -54
- package/3rdparty/walkontable/src/utils/column.d.mts +0 -2
- package/3rdparty/walkontable/src/utils/column.js +0 -75
- package/3rdparty/walkontable/src/utils/column.mjs +0 -70
- package/3rdparty/walkontable/src/utils/positionCache.d.mts +0 -1
- package/3rdparty/walkontable/src/utils/positionCache.d.ts +0 -91
- package/3rdparty/walkontable/src/utils/positionCache.js +0 -193
- package/3rdparty/walkontable/src/utils/positionCache.mjs +0 -194
- package/3rdparty/walkontable/src/utils/row.d.mts +0 -2
- package/3rdparty/walkontable/src/utils/row.js +0 -46
- package/3rdparty/walkontable/src/utils/row.mjs +0 -41
- package/3rdparty/walkontable/src/viewport.d.ts +0 -254
- package/3rdparty/walkontable/src/viewport.js +0 -533
- package/3rdparty/walkontable/src/viewport.mjs +0 -523
- /package/3rdparty/walkontable/src/{renderer → axisSizing/positionCache}/index.d.mts +0 -0
- /package/3rdparty/walkontable/src/{overlays.d.mts → overlay/overlays.d.mts} +0 -0
- /package/3rdparty/walkontable/src/overlay/{_base.d.mts → regions/_base.d.mts} +0 -0
- /package/3rdparty/walkontable/src/{stickyScrollStrategy.d.mts → overlay/strategies/stickyScrollStrategy.d.mts} +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/_base.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/_base.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/_base.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/cells.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/cells.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rows.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rows.d.ts +0 -0
- /package/3rdparty/walkontable/src/{scroll.d.mts → scroll/scroll.d.mts} +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.d.mts +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.d.mts +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.js +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.mjs +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.d.mts +0 -0
- /package/3rdparty/walkontable/src/{viewport.d.mts → viewport/viewport.d.mts} +0 -0
|
@@ -0,0 +1,557 @@
|
|
|
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_apply_descriptor_get(receiver, descriptor) {
|
|
7
|
+
if (descriptor.get) {
|
|
8
|
+
return descriptor.get.call(receiver);
|
|
9
|
+
}
|
|
10
|
+
return descriptor.value;
|
|
11
|
+
}
|
|
12
|
+
function _class_apply_descriptor_set(receiver, descriptor, value) {
|
|
13
|
+
if (descriptor.set) {
|
|
14
|
+
descriptor.set.call(receiver, value);
|
|
15
|
+
} else {
|
|
16
|
+
if (!descriptor.writable) {
|
|
17
|
+
throw new TypeError("attempted to set read only private field");
|
|
18
|
+
}
|
|
19
|
+
descriptor.value = value;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function _class_extract_field_descriptor(receiver, privateMap, action) {
|
|
23
|
+
if (!privateMap.has(receiver)) {
|
|
24
|
+
throw new TypeError("attempted to " + action + " private field on non-instance");
|
|
25
|
+
}
|
|
26
|
+
return privateMap.get(receiver);
|
|
27
|
+
}
|
|
28
|
+
function _class_private_field_get(receiver, privateMap) {
|
|
29
|
+
var descriptor = _class_extract_field_descriptor(receiver, privateMap, "get");
|
|
30
|
+
return _class_apply_descriptor_get(receiver, descriptor);
|
|
31
|
+
}
|
|
32
|
+
function _class_private_field_init(obj, privateMap, value) {
|
|
33
|
+
_check_private_redeclaration(obj, privateMap);
|
|
34
|
+
privateMap.set(obj, value);
|
|
35
|
+
}
|
|
36
|
+
function _class_private_field_set(receiver, privateMap, value) {
|
|
37
|
+
var descriptor = _class_extract_field_descriptor(receiver, privateMap, "set");
|
|
38
|
+
_class_apply_descriptor_set(receiver, descriptor, value);
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
function _class_private_method_get(receiver, privateSet, fn) {
|
|
42
|
+
if (!privateSet.has(receiver)) {
|
|
43
|
+
throw new TypeError("attempted to get private field on non-instance");
|
|
44
|
+
}
|
|
45
|
+
return fn;
|
|
46
|
+
}
|
|
47
|
+
function _class_private_method_init(obj, privateSet) {
|
|
48
|
+
_check_private_redeclaration(obj, privateSet);
|
|
49
|
+
privateSet.add(obj);
|
|
50
|
+
}
|
|
51
|
+
import { getScrollableElement, isHTMLElement } from '../../../../../helpers/dom/element.mjs';
|
|
52
|
+
/**
|
|
53
|
+
* Assembles the ScrollSync's dependencies. Most come from the engine composition context; the ones
|
|
54
|
+
* that drive the owning Overlays coordinator (`refreshAll`/`registerListeners`/`eventManager`/the
|
|
55
|
+
* `destroyed` flag) and the sticky-scroll strategy (`tryActivate`/`syncOffsets`) come from the
|
|
56
|
+
* Overlays instance and its already-built `StickyScrollStrategy` — passed as callbacks so ScrollSync
|
|
57
|
+
* never imports either at runtime (only as a type), keeping the scroll slice free of an overlay cycle.
|
|
58
|
+
*
|
|
59
|
+
* @param {EngineContext} ctx The engine composition context.
|
|
60
|
+
* @param {Overlays} overlays The owning Overlays coordinator.
|
|
61
|
+
* @param {StickyScrollStrategy} stickyScroll The overlays' sticky-scroll strategy.
|
|
62
|
+
* @returns {object} The ScrollSync dependency set.
|
|
63
|
+
*/ export function createScrollSyncDeps(ctx, overlays, stickyScroll) {
|
|
64
|
+
return {
|
|
65
|
+
wtSettings: ctx.wtSettings,
|
|
66
|
+
rootWindow: ctx.rootWindow,
|
|
67
|
+
geometryReader: ctx.geometryReader,
|
|
68
|
+
wtTable: ctx.getWtTable(),
|
|
69
|
+
getWtViewport: ctx.getWtViewport,
|
|
70
|
+
// Resolve the overlays off the owning coordinator (its own fields set by `initOverlays`), not via
|
|
71
|
+
// `ctx.getTopOverlay` (which reads `wot.wtOverlays`): `cacheScrollCallbackPositions` runs inside
|
|
72
|
+
// the Overlays constructor, before `wot.wtOverlays` is assigned. Matches the original direct
|
|
73
|
+
// `this.topOverlay` access.
|
|
74
|
+
getTopOverlay: ()=>overlays.topOverlay,
|
|
75
|
+
getInlineStartOverlay: ()=>overlays.inlineStartOverlay,
|
|
76
|
+
getBottomOverlay: ()=>overlays.bottomOverlay,
|
|
77
|
+
eventManager: overlays.eventManager,
|
|
78
|
+
getDestroyed: ()=>overlays.destroyed,
|
|
79
|
+
refreshAll: ()=>overlays.refreshAll(),
|
|
80
|
+
registerListeners: ()=>overlays.registerListeners(),
|
|
81
|
+
tryActivateStickyScroll: (verticalScrolling, horizontalScrolling)=>stickyScroll.tryActivate(verticalScrolling, horizontalScrolling),
|
|
82
|
+
syncStickyScrollOffsets: ()=>stickyScroll.syncOffsets()
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
var _deps = /*#__PURE__*/ new WeakMap(), /**
|
|
86
|
+
* The element that scrolls the table (the trimming container or the window).
|
|
87
|
+
*
|
|
88
|
+
* @type {HTMLElement | Window}
|
|
89
|
+
*/ _scrollableElement = /*#__PURE__*/ new WeakMap(), /**
|
|
90
|
+
* Whether `#scrollableElement` was resolved while the table generated no boxes, which makes it an
|
|
91
|
+
* answer taken against nothing.
|
|
92
|
+
*
|
|
93
|
+
* Cleared by the first resolution pass that settles it, and also by a pass that gives up because the
|
|
94
|
+
* answer stopped changing – the two helpers behind it can disagree permanently. Covers the scrolling
|
|
95
|
+
* element only; the sizes measured in that state are tracked separately, by
|
|
96
|
+
* `#sizesMeasuredBeforeLayoutSettled`.
|
|
97
|
+
*
|
|
98
|
+
* @type {boolean}
|
|
99
|
+
*/ _isScrollableElementProvisional = /*#__PURE__*/ new WeakMap(), /**
|
|
100
|
+
* The scrolling element the last non-settling resolution pass computed, so a pass that computes the
|
|
101
|
+
* same answer again can stop retrying.
|
|
102
|
+
*
|
|
103
|
+
* @type {HTMLElement | Window | null}
|
|
104
|
+
*/ _lastProvisionalScrollableElement = /*#__PURE__*/ new WeakMap(), /**
|
|
105
|
+
* Whether the sizes measured before the layout settled still have to be dropped, which the next
|
|
106
|
+
* draw does on its way in. Stays set until a draw has rendered the cell band and re-measured them
|
|
107
|
+
* (`confirmSizesRemeasured`), so a draw whose `skipRender` hook cancels the render cannot spend it.
|
|
108
|
+
*
|
|
109
|
+
* @type {boolean}
|
|
110
|
+
*/ _sizesMeasuredBeforeLayoutSettled = /*#__PURE__*/ new WeakMap(), /**
|
|
111
|
+
* Whether a drop has run and is still waiting for a draw to re-measure what it invalidated. The
|
|
112
|
+
* mark above is spent only while this is set, so a draw that renders the cells without having
|
|
113
|
+
* dropped anything cannot spend it – which is what an entry-fast draw that `createCalculators`
|
|
114
|
+
* escalates to a full render does: it passed the reset gate as a scroll draw and the render gate
|
|
115
|
+
* as a full one.
|
|
116
|
+
*
|
|
117
|
+
* @type {boolean}
|
|
118
|
+
*/ _sizesAwaitingRemeasure = /*#__PURE__*/ new WeakMap(), /**
|
|
119
|
+
* Whether a vertical scroll happened in the current frame.
|
|
120
|
+
*
|
|
121
|
+
* @type {boolean}
|
|
122
|
+
*/ _verticalScrolling = /*#__PURE__*/ new WeakMap(), /**
|
|
123
|
+
* Whether a horizontal scroll happened in the current frame.
|
|
124
|
+
*
|
|
125
|
+
* @type {boolean}
|
|
126
|
+
*/ _horizontalScrolling = /*#__PURE__*/ new WeakMap(), /**
|
|
127
|
+
* The last synchronized horizontal scroll offset.
|
|
128
|
+
*
|
|
129
|
+
* @type {number}
|
|
130
|
+
*/ _lastScrollX = /*#__PURE__*/ new WeakMap(), /**
|
|
131
|
+
* The last synchronized vertical scroll offset.
|
|
132
|
+
*
|
|
133
|
+
* @type {number}
|
|
134
|
+
*/ _lastScrollY = /*#__PURE__*/ new WeakMap(), /**
|
|
135
|
+
* Whether any overlay's rendering state changed in the current draw (drives `syncScrollWithMaster`).
|
|
136
|
+
*
|
|
137
|
+
* @type {boolean}
|
|
138
|
+
*/ _hasRenderingStateChanged = /*#__PURE__*/ new WeakMap(), /**
|
|
139
|
+
* Cached vertical scroll position used to deduplicate `onScrollVertically` callbacks.
|
|
140
|
+
*
|
|
141
|
+
* @type {number | null}
|
|
142
|
+
*/ _lastVerticalScrollPositionForCallback = /*#__PURE__*/ new WeakMap(), /**
|
|
143
|
+
* Cached horizontal scroll position used to deduplicate `onScrollHorizontally` callbacks.
|
|
144
|
+
*
|
|
145
|
+
* @type {number | null}
|
|
146
|
+
*/ _lastHorizontalScrollPositionForCallback = /*#__PURE__*/ new WeakMap(), /**
|
|
147
|
+
* Checks whether the vertical scroll position has changed since the last `onScrollVertically`
|
|
148
|
+
* callback and updates the cache. Returns `true` when the callback should fire.
|
|
149
|
+
*
|
|
150
|
+
* @returns {boolean}
|
|
151
|
+
*/ _didVerticalScrollPositionChange = /*#__PURE__*/ new WeakSet(), /**
|
|
152
|
+
* Checks whether the horizontal scroll position has changed since the last `onScrollHorizontally`
|
|
153
|
+
* callback and updates the cache. Returns `true` when the callback should fire.
|
|
154
|
+
*
|
|
155
|
+
* @returns {boolean}
|
|
156
|
+
*/ _didHorizontalScrollPositionChange = /*#__PURE__*/ new WeakSet(), /**
|
|
157
|
+
* Resolves the scrolling element and records whether the answer is provisional.
|
|
158
|
+
*
|
|
159
|
+
* A table outside the layout resolves every ancestor style to an empty declaration, which reads as
|
|
160
|
+
* "no ancestor clips or scrolls" and hands the whole grid to the window. A provisional answer is
|
|
161
|
+
* retaken on the next draw that finds the table rendered (see `Overlays#afterDraw`).
|
|
162
|
+
*
|
|
163
|
+
* Re-arming the flag starts a fresh series of retries, so the answer an earlier series gave up on
|
|
164
|
+
* is forgotten with it: `updateMainScrollableElements()` is public and `updateSettings` calls it
|
|
165
|
+
* whenever `height` moves to or from `''`, so a grid that already gave up while it was outside the
|
|
166
|
+
* layout would otherwise match its own stale answer on the first retry and give up again at once.
|
|
167
|
+
*
|
|
168
|
+
* @returns {HTMLElement | Window}
|
|
169
|
+
*/ _takeScrollableElement = /*#__PURE__*/ new WeakSet(), /**
|
|
170
|
+
* Computes the element that scrolls the table: the master holder when the trimming container clips
|
|
171
|
+
* overflow, otherwise the nearest scrollable ancestor of the master TABLE.
|
|
172
|
+
*
|
|
173
|
+
* Answers the question and nothing else. Whether the answer is provisional is recorded by the
|
|
174
|
+
* callers, which is also where a provisional answer is acted on.
|
|
175
|
+
*
|
|
176
|
+
* @returns {HTMLElement | Window}
|
|
177
|
+
*/ _computeScrollableElement = /*#__PURE__*/ new WeakSet();
|
|
178
|
+
/**
|
|
179
|
+
* Owns the scroll state shared across the overlays and the master<->clone scroll synchronization:
|
|
180
|
+
* which element scrolls the table (`scrollableElement`), the per-frame scroll-direction flags, the
|
|
181
|
+
* last scroll offsets, and the callback-position cache that deduplicates the `onScroll*` hooks.
|
|
182
|
+
*
|
|
183
|
+
* It reacts to a scroll event by mirroring the master scroll position onto the overlay clone holders
|
|
184
|
+
* (`syncScrollPositions`), pushes the master scroll position onto the clones after a rendering-state
|
|
185
|
+
* change (`syncScrollWithMaster`), and recomputes the scrollable element + re-binds listeners when
|
|
186
|
+
* the trimming container changes (`updateMainScrollableElements`).
|
|
187
|
+
*
|
|
188
|
+
* Extracted from the Overlays coordinator so the scroll-position lifecycle is self-contained; the
|
|
189
|
+
* coordinator keeps thin public delegates and get/set accessors for the state that its own draw
|
|
190
|
+
* participation and the whitebox tests rely on.
|
|
191
|
+
*
|
|
192
|
+
* @class ScrollSync
|
|
193
|
+
*/ export class ScrollSync {
|
|
194
|
+
/**
|
|
195
|
+
* The element that scrolls the table.
|
|
196
|
+
*
|
|
197
|
+
* @returns {HTMLElement | Window}
|
|
198
|
+
*/ get scrollableElement() {
|
|
199
|
+
return _class_private_field_get(this, _scrollableElement);
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Whether the scrollable element was resolved against a table that had no layout at that moment,
|
|
203
|
+
* so the answer is provisional and has to be retaken once the table is rendered.
|
|
204
|
+
*
|
|
205
|
+
* @returns {boolean}
|
|
206
|
+
*/ get isScrollableElementProvisional() {
|
|
207
|
+
return _class_private_field_get(this, _isScrollableElementProvisional);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Whether a vertical scroll happened in the current frame.
|
|
211
|
+
*
|
|
212
|
+
* @returns {boolean}
|
|
213
|
+
*/ get verticalScrolling() {
|
|
214
|
+
return _class_private_field_get(this, _verticalScrolling);
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* @param {boolean} value Whether a vertical scroll happened in the current frame.
|
|
218
|
+
*/ set verticalScrolling(value) {
|
|
219
|
+
_class_private_field_set(this, _verticalScrolling, value);
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Whether a horizontal scroll happened in the current frame.
|
|
223
|
+
*
|
|
224
|
+
* @returns {boolean}
|
|
225
|
+
*/ get horizontalScrolling() {
|
|
226
|
+
return _class_private_field_get(this, _horizontalScrolling);
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* @param {boolean} value Whether a horizontal scroll happened in the current frame.
|
|
230
|
+
*/ set horizontalScrolling(value) {
|
|
231
|
+
_class_private_field_set(this, _horizontalScrolling, value);
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Records whether any overlay's rendering state changed in the current draw. Set from the
|
|
235
|
+
* coordinator's `beforeDraw`; consumed by `syncScrollWithMaster`.
|
|
236
|
+
*
|
|
237
|
+
* @param {boolean} value Whether any overlay's rendering state changed.
|
|
238
|
+
*/ setRenderingStateChanged(value) {
|
|
239
|
+
_class_private_field_set(this, _hasRenderingStateChanged, value);
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Caches the initial vertical and horizontal scroll positions for callback deduplication.
|
|
243
|
+
*/ cacheScrollCallbackPositions() {
|
|
244
|
+
_class_private_field_set(this, _lastVerticalScrollPositionForCallback, _class_private_field_get(this, _deps).getTopOverlay().getScrollPosition());
|
|
245
|
+
_class_private_field_set(this, _lastHorizontalScrollPositionForCallback, _class_private_field_get(this, _deps).getInlineStartOverlay().getScrollPosition());
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Synchronize scroll position between master table and overlay table.
|
|
249
|
+
*/ syncScrollPositions() {
|
|
250
|
+
if (_class_private_field_get(this, _deps).getDestroyed()) {
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
const topOverlay = _class_private_field_get(this, _deps).getTopOverlay();
|
|
254
|
+
const inlineStartOverlay = _class_private_field_get(this, _deps).getInlineStartOverlay();
|
|
255
|
+
const bottomOverlay = _class_private_field_get(this, _deps).getBottomOverlay();
|
|
256
|
+
const wtViewport = _class_private_field_get(this, _deps).getWtViewport();
|
|
257
|
+
const { wtSettings } = _class_private_field_get(this, _deps);
|
|
258
|
+
const scrollableElement = _class_private_field_get(this, _scrollableElement);
|
|
259
|
+
const topHolder = topOverlay.clone?.wtTable.holder; // todo rethink
|
|
260
|
+
const leftHolder = inlineStartOverlay.clone?.wtTable.holder; // todo rethink
|
|
261
|
+
const preventOverflow = wtSettings.getSetting('preventOverflow');
|
|
262
|
+
let scrollX = scrollableElement instanceof HTMLElement ? scrollableElement.scrollLeft : 0;
|
|
263
|
+
let scrollY = scrollableElement instanceof HTMLElement ? scrollableElement.scrollTop : 0;
|
|
264
|
+
if (wtViewport.isHorizontallyScrollableByWindow() && (typeof preventOverflow === 'boolean' && preventOverflow || preventOverflow !== 'horizontal') && scrollableElement instanceof Window) {
|
|
265
|
+
scrollX = scrollableElement.scrollX;
|
|
266
|
+
}
|
|
267
|
+
if (wtViewport.isVerticallyScrollableByWindow() && (typeof preventOverflow === 'boolean' && preventOverflow || preventOverflow !== 'vertical') && scrollableElement instanceof Window) {
|
|
268
|
+
scrollY = scrollableElement.scrollY;
|
|
269
|
+
}
|
|
270
|
+
_class_private_field_set(this, _horizontalScrolling, _class_private_field_get(this, _lastScrollX) !== scrollX);
|
|
271
|
+
_class_private_field_set(this, _verticalScrolling, _class_private_field_get(this, _lastScrollY) !== scrollY);
|
|
272
|
+
_class_private_field_set(this, _lastScrollX, scrollX);
|
|
273
|
+
_class_private_field_set(this, _lastScrollY, scrollY);
|
|
274
|
+
_class_private_field_get(this, _deps).tryActivateStickyScroll(_class_private_field_get(this, _verticalScrolling), _class_private_field_get(this, _horizontalScrolling));
|
|
275
|
+
if (_class_private_field_get(this, _horizontalScrolling)) {
|
|
276
|
+
if (isHTMLElement(topHolder)) {
|
|
277
|
+
topHolder.scrollLeft = scrollX;
|
|
278
|
+
}
|
|
279
|
+
const bottomHolder = bottomOverlay.needFullRender ? bottomOverlay.clone?.wtTable.holder : null; // todo rethink
|
|
280
|
+
if (bottomHolder) {
|
|
281
|
+
bottomHolder.scrollLeft = scrollX;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
if (_class_private_field_get(this, _verticalScrolling)) {
|
|
285
|
+
// In window-scroll mode the left overlay's row positions are driven by
|
|
286
|
+
// spreader.style.top; the holder must not accumulate scroll offset.
|
|
287
|
+
// Setting scrollTop to window.scrollY would be capped to the tiny
|
|
288
|
+
// hider/holder size difference caused by fractional zoom rounding,
|
|
289
|
+
// shifting the visible rows and misaligning them with the master table.
|
|
290
|
+
if (isHTMLElement(leftHolder)) {
|
|
291
|
+
if (wtViewport.isVerticallyScrollableByWindow()) {
|
|
292
|
+
leftHolder.scrollTop = 0;
|
|
293
|
+
} else {
|
|
294
|
+
leftHolder.scrollTop = scrollY;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
_class_private_field_get(this, _deps).refreshAll();
|
|
299
|
+
_class_private_field_get(this, _deps).syncStickyScrollOffsets();
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Fires the `onScroll*` overlay hooks when the scroll position changed since they last fired, then
|
|
303
|
+
* resets the per-frame scroll-direction flags. Called by the coordinator from `refreshAll`.
|
|
304
|
+
*/ fireScrollCallbacksAndReset() {
|
|
305
|
+
if (_class_private_field_get(this, _verticalScrolling) && _class_private_method_get(this, _didVerticalScrollPositionChange, didVerticalScrollPositionChange).call(this)) {
|
|
306
|
+
_class_private_field_get(this, _deps).getInlineStartOverlay().onScroll(); // todo the inlineStartOverlay.onScroll() fires hook. Why is it needed there, not in any another place?
|
|
307
|
+
}
|
|
308
|
+
if (_class_private_field_get(this, _horizontalScrolling) && _class_private_method_get(this, _didHorizontalScrollPositionChange, didHorizontalScrollPositionChange).call(this)) {
|
|
309
|
+
_class_private_field_get(this, _deps).getTopOverlay().onScroll();
|
|
310
|
+
}
|
|
311
|
+
_class_private_field_set(this, _verticalScrolling, false);
|
|
312
|
+
_class_private_field_set(this, _horizontalScrolling, false);
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Synchronize overlay scrollbars with the master scrollbar.
|
|
316
|
+
*/ syncScrollWithMaster() {
|
|
317
|
+
if (!_class_private_field_get(this, _hasRenderingStateChanged)) {
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
320
|
+
const topOverlay = _class_private_field_get(this, _deps).getTopOverlay();
|
|
321
|
+
const bottomOverlay = _class_private_field_get(this, _deps).getBottomOverlay();
|
|
322
|
+
const inlineStartOverlay = _class_private_field_get(this, _deps).getInlineStartOverlay();
|
|
323
|
+
const masterScrollable = topOverlay.mainTableScrollableElement;
|
|
324
|
+
if (!(masterScrollable instanceof HTMLElement)) {
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
const { scrollLeft, scrollTop } = masterScrollable;
|
|
328
|
+
if (topOverlay.needFullRender && topOverlay.clone) {
|
|
329
|
+
topOverlay.clone.wtTable.holder.scrollLeft = scrollLeft; // todo rethink, *overlay.setScroll*()
|
|
330
|
+
}
|
|
331
|
+
if (bottomOverlay.needFullRender && bottomOverlay.clone) {
|
|
332
|
+
bottomOverlay.clone.wtTable.holder.scrollLeft = scrollLeft; // todo rethink, *overlay.setScroll*()
|
|
333
|
+
}
|
|
334
|
+
if (inlineStartOverlay.needFullRender && inlineStartOverlay.clone) {
|
|
335
|
+
inlineStartOverlay.clone.wtTable.holder.scrollTop = scrollTop; // todo rethink, *overlay.setScroll*()
|
|
336
|
+
}
|
|
337
|
+
_class_private_field_set(this, _hasRenderingStateChanged, false);
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Drops the sizes measured before the layout settled, if `resolveProvisionalLayout()` found any.
|
|
341
|
+
*
|
|
342
|
+
* Called from `Overlays#beforeDraw`, so the draw that follows re-measures the row heights it just
|
|
343
|
+
* invalidated and resizes the elements from the results. Doing it the other way round – dropping
|
|
344
|
+
* the sizes and then asking for a redraw – leaves the row heights dropped for good whenever that
|
|
345
|
+
* redraw renders no cells.
|
|
346
|
+
*
|
|
347
|
+
* "Sizes" is the engine's own record of them: the oversized-row heights and the column-width
|
|
348
|
+
* prefix sum. A rebuilt width cache re-asks `wtTable.getColumnWidth`, so it re-enters
|
|
349
|
+
* `modifyColWidth` and `AutoColumnSize` answers from its own map – a width that plugin measured
|
|
350
|
+
* while the table had no layout is not dropped by this and outlives the settle. That gap is the
|
|
351
|
+
* narrow-container `AutoColumnSize` follow-up, filed separately.
|
|
352
|
+
*
|
|
353
|
+
* The mark is not spent here, because a draw that got this far can still render nothing: a
|
|
354
|
+
* `beforeDraw` hook that sets `skipRender` (NestedRows does this, and so can any user hook) cancels
|
|
355
|
+
* the cell render, and then `markOversizedRows` never runs to take the heights again. It is spent
|
|
356
|
+
* by `confirmSizesRemeasured()`, from the `afterDraw` of a draw that did render the band. The drop
|
|
357
|
+
* is idempotent, so repeating it on the next draw costs one invalidation.
|
|
358
|
+
*/ resetSizesMeasuredBeforeLayoutSettled() {
|
|
359
|
+
if (!_class_private_field_get(this, _sizesMeasuredBeforeLayoutSettled)) {
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
_class_private_field_set(this, _sizesAwaitingRemeasure, true);
|
|
363
|
+
const wtViewport = _class_private_field_get(this, _deps).getWtViewport();
|
|
364
|
+
wtViewport.resetAllOversizedRows();
|
|
365
|
+
wtViewport.invalidateColumnWidthCache();
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Spends the mark left by `resolveProvisionalLayout()`, once a draw has rendered the cell band and
|
|
369
|
+
* therefore re-measured the sizes that `resetSizesMeasuredBeforeLayoutSettled()` dropped on its way
|
|
370
|
+
* in. Called from `Overlays#afterDraw`.
|
|
371
|
+
*
|
|
372
|
+
* A draw that rendered the cells without having dropped anything spends nothing: the two gates read
|
|
373
|
+
* different values of the same fast/full question (the reset gate reads it at draw entry, the render
|
|
374
|
+
* gate after `createCalculators` could downgrade it), so an escalated scroll draw satisfies the
|
|
375
|
+
* second without ever passing the first.
|
|
376
|
+
*/ confirmSizesRemeasured() {
|
|
377
|
+
if (!_class_private_field_get(this, _sizesAwaitingRemeasure)) {
|
|
378
|
+
return;
|
|
379
|
+
}
|
|
380
|
+
_class_private_field_set(this, _sizesAwaitingRemeasure, false);
|
|
381
|
+
_class_private_field_set(this, _sizesMeasuredBeforeLayoutSettled, false);
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Settles the layout decisions and measurements of a table that was constructed while it had no
|
|
385
|
+
* layout – most often a light-DOM child of a shadow host whose `<slot>` renders later, or a subtree
|
|
386
|
+
* assembled before it was appended to the document. Such a table reads every ancestor style as an
|
|
387
|
+
* empty declaration and measures every size against nothing, so two things are wrong at once:
|
|
388
|
+
* the scrollable element resolves to the window, and the row heights and column widths describe a
|
|
389
|
+
* layout the table never had.
|
|
390
|
+
*
|
|
391
|
+
* Runs from the `afterDraw` of a full draw, so the overlays have already refreshed their trimming
|
|
392
|
+
* containers and the holder has its final overflow; in `beforeDraw`, and on a fast draw that never
|
|
393
|
+
* aligned the overlays at all, both are still stale and the scrollable element would settle on the
|
|
394
|
+
* window again. While the answer is still the window even though an element
|
|
395
|
+
* trims the table, the layout has not settled yet and the pass is retried on the next draw – but
|
|
396
|
+
* only while the answer keeps changing. `getTrimmingContainer` counts `overflow: hidden` and
|
|
397
|
+
* `getScrollableElement` does not, so the two can disagree permanently, and a table in an iframe
|
|
398
|
+
* driven from the parent realm does exactly that: `MasterTable#alignOverlaysWithTrimmingContainer`
|
|
399
|
+
* misses it with a realm-bound `instanceof` and leaves the holder `overflow: visible`. Retrying
|
|
400
|
+
* such a table forever would rebind every listener on every draw.
|
|
401
|
+
*
|
|
402
|
+
* Once it does settle, the sizes measured before it are marked for dropping, which the next draw
|
|
403
|
+
* does on its way in (`resetSizesMeasuredBeforeLayoutSettled`). Left in place they survive until
|
|
404
|
+
* something else redraws the grid, which is what made it fill short of its container and look like
|
|
405
|
+
* it needed a click to finish loading (DEV-2515).
|
|
406
|
+
*/ resolveProvisionalLayout() {
|
|
407
|
+
if (!_class_private_field_get(this, _isScrollableElementProvisional) || !_class_private_field_get(this, _deps).geometryReader.isRendered(_class_private_field_get(this, _deps).wtTable.wtRootElement)) {
|
|
408
|
+
return;
|
|
409
|
+
}
|
|
410
|
+
const { rootWindow } = _class_private_field_get(this, _deps);
|
|
411
|
+
const scrollableElement = _class_private_method_get(this, _computeScrollableElement, computeScrollableElement).call(this);
|
|
412
|
+
const settles = scrollableElement !== rootWindow || _class_private_field_get(this, _deps).getTopOverlay().trimmingContainer === rootWindow;
|
|
413
|
+
if (!settles) {
|
|
414
|
+
// The answer is checked before anything is rebound, so a pass that cannot settle costs one
|
|
415
|
+
// style read. Retry only while the answer keeps changing: a repeated answer is what a
|
|
416
|
+
// permanent disagreement between the two helpers looks like, and rebinding the listeners on
|
|
417
|
+
// every draw would drop every in-flight scroll event for the instance's life.
|
|
418
|
+
_class_private_field_set(this, _isScrollableElementProvisional, scrollableElement !== _class_private_field_get(this, _lastProvisionalScrollableElement));
|
|
419
|
+
_class_private_field_set(this, _lastProvisionalScrollableElement, scrollableElement);
|
|
420
|
+
return;
|
|
421
|
+
}
|
|
422
|
+
this.updateMainScrollableElements();
|
|
423
|
+
// The sizes are not dropped here. Dropping them after a draw leaves them dropped: the follow-up
|
|
424
|
+
// is a redraw request, and a draw that re-renders nothing never re-runs `markOversizedRows`, so
|
|
425
|
+
// the row heights this pass invalidated would never be taken again. The next draw drops them on
|
|
426
|
+
// its way in instead, so reset, re-measure and resize run in the order the draw cycle documents.
|
|
427
|
+
_class_private_field_set(this, _sizesMeasuredBeforeLayoutSettled, true);
|
|
428
|
+
// No redraw is requested from here. The flag stays set until a draw consumes it, and settling
|
|
429
|
+
// means the root element went from no layout to a layout, which is a size change the grid already
|
|
430
|
+
// observes and redraws for. Forcing a draw from this frame instead measures a DOM whose column
|
|
431
|
+
// widths have not settled: it records row heights for rows that leave the band on the next draw,
|
|
432
|
+
// and those records survive – measured as 6 rendered rows and 56px of dead space where 9 rows
|
|
433
|
+
// belong.
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Update the main scrollable elements for all the overlays.
|
|
437
|
+
*/ updateMainScrollableElements() {
|
|
438
|
+
_class_private_field_get(this, _deps).eventManager.clearEvents(true);
|
|
439
|
+
_class_private_field_get(this, _deps).getInlineStartOverlay().updateMainScrollableElement();
|
|
440
|
+
_class_private_field_get(this, _deps).getTopOverlay().updateMainScrollableElement();
|
|
441
|
+
if (_class_private_field_get(this, _deps).getBottomOverlay().needFullRender) {
|
|
442
|
+
_class_private_field_get(this, _deps).getBottomOverlay().updateMainScrollableElement();
|
|
443
|
+
}
|
|
444
|
+
_class_private_field_set(this, _scrollableElement, _class_private_method_get(this, _takeScrollableElement, takeScrollableElement).call(this));
|
|
445
|
+
_class_private_field_get(this, _deps).registerListeners();
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* @param {ScrollSyncDeps} deps The ScrollSync dependencies.
|
|
449
|
+
*/ constructor(deps){
|
|
450
|
+
_class_private_method_init(this, _didVerticalScrollPositionChange);
|
|
451
|
+
_class_private_method_init(this, _didHorizontalScrollPositionChange);
|
|
452
|
+
_class_private_method_init(this, _takeScrollableElement);
|
|
453
|
+
_class_private_method_init(this, _computeScrollableElement);
|
|
454
|
+
/**
|
|
455
|
+
* The ScrollSync dependencies.
|
|
456
|
+
*
|
|
457
|
+
* @type {ScrollSyncDeps}
|
|
458
|
+
*/ _class_private_field_init(this, _deps, {
|
|
459
|
+
writable: true,
|
|
460
|
+
value: void 0
|
|
461
|
+
});
|
|
462
|
+
_class_private_field_init(this, _scrollableElement, {
|
|
463
|
+
writable: true,
|
|
464
|
+
value: void 0
|
|
465
|
+
});
|
|
466
|
+
_class_private_field_init(this, _isScrollableElementProvisional, {
|
|
467
|
+
writable: true,
|
|
468
|
+
value: void 0
|
|
469
|
+
});
|
|
470
|
+
_class_private_field_init(this, _lastProvisionalScrollableElement, {
|
|
471
|
+
writable: true,
|
|
472
|
+
value: void 0
|
|
473
|
+
});
|
|
474
|
+
_class_private_field_init(this, _sizesMeasuredBeforeLayoutSettled, {
|
|
475
|
+
writable: true,
|
|
476
|
+
value: void 0
|
|
477
|
+
});
|
|
478
|
+
_class_private_field_init(this, _sizesAwaitingRemeasure, {
|
|
479
|
+
writable: true,
|
|
480
|
+
value: void 0
|
|
481
|
+
});
|
|
482
|
+
_class_private_field_init(this, _verticalScrolling, {
|
|
483
|
+
writable: true,
|
|
484
|
+
value: void 0
|
|
485
|
+
});
|
|
486
|
+
_class_private_field_init(this, _horizontalScrolling, {
|
|
487
|
+
writable: true,
|
|
488
|
+
value: void 0
|
|
489
|
+
});
|
|
490
|
+
_class_private_field_init(this, _lastScrollX, {
|
|
491
|
+
writable: true,
|
|
492
|
+
value: void 0
|
|
493
|
+
});
|
|
494
|
+
_class_private_field_init(this, _lastScrollY, {
|
|
495
|
+
writable: true,
|
|
496
|
+
value: void 0
|
|
497
|
+
});
|
|
498
|
+
_class_private_field_init(this, _hasRenderingStateChanged, {
|
|
499
|
+
writable: true,
|
|
500
|
+
value: void 0
|
|
501
|
+
});
|
|
502
|
+
_class_private_field_init(this, _lastVerticalScrollPositionForCallback, {
|
|
503
|
+
writable: true,
|
|
504
|
+
value: void 0
|
|
505
|
+
});
|
|
506
|
+
_class_private_field_init(this, _lastHorizontalScrollPositionForCallback, {
|
|
507
|
+
writable: true,
|
|
508
|
+
value: void 0
|
|
509
|
+
});
|
|
510
|
+
_class_private_field_set(this, _isScrollableElementProvisional, false);
|
|
511
|
+
_class_private_field_set(this, _lastProvisionalScrollableElement, null);
|
|
512
|
+
_class_private_field_set(this, _sizesMeasuredBeforeLayoutSettled, false);
|
|
513
|
+
_class_private_field_set(this, _sizesAwaitingRemeasure, false);
|
|
514
|
+
_class_private_field_set(this, _verticalScrolling, false);
|
|
515
|
+
_class_private_field_set(this, _horizontalScrolling, false);
|
|
516
|
+
_class_private_field_set(this, _hasRenderingStateChanged, false);
|
|
517
|
+
_class_private_field_set(this, _lastVerticalScrollPositionForCallback, null);
|
|
518
|
+
_class_private_field_set(this, _lastHorizontalScrollPositionForCallback, null);
|
|
519
|
+
_class_private_field_set(this, _deps, deps);
|
|
520
|
+
_class_private_field_set(this, _scrollableElement, _class_private_method_get(this, _takeScrollableElement, takeScrollableElement).call(this));
|
|
521
|
+
_class_private_field_set(this, _lastScrollX, _class_private_field_get(this, _deps).rootWindow.scrollX);
|
|
522
|
+
_class_private_field_set(this, _lastScrollY, _class_private_field_get(this, _deps).rootWindow.scrollY);
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
function didVerticalScrollPositionChange() {
|
|
526
|
+
const current = _class_private_field_get(this, _deps).getTopOverlay().getScrollPosition();
|
|
527
|
+
if (_class_private_field_get(this, _lastVerticalScrollPositionForCallback) === current) {
|
|
528
|
+
return false;
|
|
529
|
+
}
|
|
530
|
+
_class_private_field_set(this, _lastVerticalScrollPositionForCallback, current);
|
|
531
|
+
return true;
|
|
532
|
+
}
|
|
533
|
+
function didHorizontalScrollPositionChange() {
|
|
534
|
+
const current = _class_private_field_get(this, _deps).getInlineStartOverlay().getScrollPosition();
|
|
535
|
+
if (_class_private_field_get(this, _lastHorizontalScrollPositionForCallback) === current) {
|
|
536
|
+
return false;
|
|
537
|
+
}
|
|
538
|
+
_class_private_field_set(this, _lastHorizontalScrollPositionForCallback, current);
|
|
539
|
+
return true;
|
|
540
|
+
}
|
|
541
|
+
function takeScrollableElement() {
|
|
542
|
+
const { wtTable, geometryReader } = _class_private_field_get(this, _deps);
|
|
543
|
+
_class_private_field_set(this, _isScrollableElementProvisional, !geometryReader.isRendered(wtTable.wtRootElement));
|
|
544
|
+
_class_private_field_set(this, _lastProvisionalScrollableElement, null);
|
|
545
|
+
return _class_private_method_get(this, _computeScrollableElement, computeScrollableElement).call(this);
|
|
546
|
+
}
|
|
547
|
+
function computeScrollableElement() {
|
|
548
|
+
const { wtTable, geometryReader } = _class_private_field_get(this, _deps);
|
|
549
|
+
const tableParentNode = wtTable.wtRootElement.parentNode;
|
|
550
|
+
// Use nodeType === 1 instead of instanceof Element so the check works across realms (iframes).
|
|
551
|
+
// Falls back to getScrollableElement when there is no element parent (null or detached).
|
|
552
|
+
const isOverflowClip = tableParentNode !== null && tableParentNode.nodeType === 1 && (()=>{
|
|
553
|
+
const overflow = geometryReader.getComputedStyle(tableParentNode).getPropertyValue('overflow');
|
|
554
|
+
return overflow === 'hidden' || overflow === 'clip';
|
|
555
|
+
})();
|
|
556
|
+
return isOverflowClip ? wtTable.holder : getScrollableElement(wtTable.TABLE);
|
|
557
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './spreaderSize.js';
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { EngineContext } from '../wire';
|
|
2
|
+
import type { default as Overlays } from './overlays';
|
|
3
|
+
/**
|
|
4
|
+
* Assembles the SpreaderSize's dependencies. Most come from the engine composition context; the
|
|
5
|
+
* scrollable element is resolved through the owning Overlays instance (it is computed there and can
|
|
6
|
+
* change on `updateSettings`), so it is read via a thunk rather than captured.
|
|
7
|
+
*
|
|
8
|
+
* @param {EngineContext} ctx The engine composition context.
|
|
9
|
+
* @param {Overlays} overlays The owning Overlays coordinator.
|
|
10
|
+
* @returns {object} The SpreaderSize dependency set.
|
|
11
|
+
*/
|
|
12
|
+
export declare function createSpreaderSizeDeps(ctx: EngineContext, overlays: Overlays): {
|
|
13
|
+
wtSettings: import("../settings").default;
|
|
14
|
+
rootWindow: Window;
|
|
15
|
+
geometryReader: import("../domMeasure/geometryReader").GeometryReader;
|
|
16
|
+
wtTable: import("../table/baseTable").default;
|
|
17
|
+
getWtViewport: () => import("../viewport/viewport").default;
|
|
18
|
+
getTopOverlay: () => import(".").Overlay;
|
|
19
|
+
getInlineStartOverlay: () => import(".").Overlay;
|
|
20
|
+
getBottomOverlay: () => import(".").Overlay;
|
|
21
|
+
getScrollableElement: () => HTMLElement | Window;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* The SpreaderSize dependencies, inferred from `createSpreaderSizeDeps`.
|
|
25
|
+
*/
|
|
26
|
+
export type SpreaderSizeDeps = ReturnType<typeof createSpreaderSizeDeps>;
|
|
27
|
+
/**
|
|
28
|
+
* Owns the master hider/spreader sizing math: it computes the hider's width/height from the summed
|
|
29
|
+
* cell sizes (plus the header sizes and the border compensations), writes them to the DOM, and then
|
|
30
|
+
* delegates to the top/inline-start/bottom overlays to size their own elements. It also caches the
|
|
31
|
+
* last measured spreader size so the coordinator can skip a redundant resize when nothing changed.
|
|
32
|
+
*
|
|
33
|
+
* Extracted from the Overlays coordinator so the sizing lifecycle is self-contained; the coordinator
|
|
34
|
+
* keeps thin public `adjustElementsSize`/`updateLastSpreaderSize`/`expandHider*` delegates because
|
|
35
|
+
* those are part of the public overlay API.
|
|
36
|
+
*
|
|
37
|
+
* @class SpreaderSize
|
|
38
|
+
*/
|
|
39
|
+
export declare class SpreaderSize {
|
|
40
|
+
#private;
|
|
41
|
+
/**
|
|
42
|
+
* @param {SpreaderSizeDeps} deps The SpreaderSize dependencies.
|
|
43
|
+
*/
|
|
44
|
+
constructor(deps: SpreaderSizeDeps);
|
|
45
|
+
/**
|
|
46
|
+
* Update the last cached spreader size with the current size.
|
|
47
|
+
*
|
|
48
|
+
* @returns {boolean} `true` if the lastSize cache was updated, `false` otherwise.
|
|
49
|
+
*/
|
|
50
|
+
updateLastSpreaderSize(): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Adjust overlays elements size and master table size.
|
|
53
|
+
*/
|
|
54
|
+
adjustElementsSize(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Expand the hider vertically element by the provided delta value.
|
|
57
|
+
*
|
|
58
|
+
* @param {number} heightDelta The delta value to expand the hider element by.
|
|
59
|
+
*/
|
|
60
|
+
expandHiderVerticallyBy(heightDelta: number): void;
|
|
61
|
+
/**
|
|
62
|
+
* Expand the hider horizontally element by the provided delta value.
|
|
63
|
+
*
|
|
64
|
+
* @param {number} widthDelta The delta value to expand the hider element by.
|
|
65
|
+
*/
|
|
66
|
+
expandHiderHorizontallyBy(widthDelta: number): void;
|
|
67
|
+
}
|