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,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The input-gathering seam for layout resolution — the ONLY file in the layout slice that touches the
|
|
3
|
+
* live DOM (through the geometry-read port) and the settings. It reads the current geometry into a
|
|
4
|
+
* plain `LayoutInput`; the pure solver in `resolveLayout` takes it from there.
|
|
5
|
+
*
|
|
6
|
+
* Following the composition-root convention, `createLayoutDeps(ctx)` picks the narrow set of
|
|
7
|
+
* dependencies this slice needs out of the `EngineContext`; its inferred `ReturnType` is the deps
|
|
8
|
+
* type. `gatherLayoutInput(deps)` is the read step.
|
|
9
|
+
*
|
|
10
|
+
* NOTE: this module is not wired into the draw yet. It exists so the pure solver has a real,
|
|
11
|
+
* reviewable source of inputs. The exact derivation of the workspace box (client box vs offset box
|
|
12
|
+
* minus borders) is refined when the snapshot is wired into the viewport in a later stage; the
|
|
13
|
+
* scrollbar math it feeds is already final and unit-tested.
|
|
14
|
+
*/ "use strict";
|
|
15
|
+
Object.defineProperty(exports, "__esModule", {
|
|
16
|
+
value: true
|
|
17
|
+
});
|
|
18
|
+
function _export(target, all) {
|
|
19
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
_export(exports, {
|
|
25
|
+
get createLayoutDeps () {
|
|
26
|
+
return createLayoutDeps;
|
|
27
|
+
},
|
|
28
|
+
get gatherLayoutInput () {
|
|
29
|
+
return gatherLayoutInput;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
const _workspaceSize = require("../workspaceSize");
|
|
33
|
+
function createLayoutDeps(ctx) {
|
|
34
|
+
return {
|
|
35
|
+
geometryReader: ctx.geometryReader,
|
|
36
|
+
wtSettings: ctx.wtSettings,
|
|
37
|
+
rootDocument: ctx.rootDocument,
|
|
38
|
+
rootWindow: ctx.rootWindow,
|
|
39
|
+
getWtTable: ctx.getWtTable,
|
|
40
|
+
getWtViewport: ctx.getWtViewport,
|
|
41
|
+
getTopOverlay: ctx.getTopOverlay,
|
|
42
|
+
getInlineStartOverlay: ctx.getInlineStartOverlay
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Maps a raw CSS `overflow` string to the narrowed `OverflowMode`. Anything that is not `scroll` or
|
|
47
|
+
* `hidden` (including `visible`, `auto`, and unset) resolves to `'auto'` — "scrollbar only on
|
|
48
|
+
* overflow" — which is the engine's default behavior.
|
|
49
|
+
*
|
|
50
|
+
* @param {string | undefined} value The raw computed `overflow-x`/`overflow-y` value.
|
|
51
|
+
* @returns {OverflowMode}
|
|
52
|
+
*/ function toOverflowMode(value) {
|
|
53
|
+
if (value === 'scroll') {
|
|
54
|
+
return 'scroll';
|
|
55
|
+
}
|
|
56
|
+
if (value === 'hidden') {
|
|
57
|
+
return 'hidden';
|
|
58
|
+
}
|
|
59
|
+
return 'auto';
|
|
60
|
+
}
|
|
61
|
+
function gatherLayoutInput(deps) {
|
|
62
|
+
const { geometryReader, wtSettings, rootDocument, rootWindow } = deps;
|
|
63
|
+
const viewport = deps.getWtViewport();
|
|
64
|
+
const wtTable = deps.getWtTable();
|
|
65
|
+
const trimmingContainer = deps.getTopOverlay().trimmingContainer;
|
|
66
|
+
const isWindow = trimmingContainer === rootWindow;
|
|
67
|
+
const isRtl = wtSettings.getSetting('rtlMode');
|
|
68
|
+
const scrollbarSize = geometryReader.getScrollbarWidth(rootDocument);
|
|
69
|
+
// The prefix-sum caches are the source of the content totals below. Build them here so a lazy
|
|
70
|
+
// `getLayout()` after a cache invalidation (which also drops the snapshot, see
|
|
71
|
+
// `Viewport#invalidateRowHeightCache`) recomputes correct totals instead of reading
|
|
72
|
+
// `getTotalSize()` as 0. `ensureBuilt()` is a no-op when already built, so the in-draw resolve
|
|
73
|
+
// (where the draw has already built the caches) is unaffected.
|
|
74
|
+
viewport.rowHeightCache.ensureBuilt();
|
|
75
|
+
viewport.columnWidthCache.ensureBuilt();
|
|
76
|
+
const rowHeaderWidth = viewport.getRowHeaderWidth();
|
|
77
|
+
const columnHeaderHeight = viewport.getColumnHeaderHeight();
|
|
78
|
+
// Match the hider extent the engine actually renders into: the internal row-height calculator
|
|
79
|
+
// carries a known 1px miscalculation that `Overlays#adjustElementsSize` compensates for by adding
|
|
80
|
+
// 1px to the hider height (and does not when AutoRowSize supplies exact heights — the
|
|
81
|
+
// `externalRowCalculator` case). Fold the same compensation into the total so the predicted
|
|
82
|
+
// vertical-scroll boundary matches today's post-render measurement exactly.
|
|
83
|
+
const hiderHeightCompensation = wtSettings.getSetting('externalRowCalculator') ? 0 : 1;
|
|
84
|
+
const totalContentWidth = rowHeaderWidth + viewport.columnWidthCache.getTotalSize();
|
|
85
|
+
const totalContentHeight = columnHeaderHeight + viewport.rowHeightCache.getTotalSize() + hiderHeightCompensation;
|
|
86
|
+
// The element whose overflow decides the scrollbars is the one that actually scrolls: the document
|
|
87
|
+
// in window mode, the table `holder` in element mode. This is NOT the trimming container — a
|
|
88
|
+
// trimming container with `overflow: hidden` still clips to its box while the inner holder shows
|
|
89
|
+
// the scrollbar, which is why the engine's `hasVerticalScroll()` is content-vs-workspace and
|
|
90
|
+
// overflow-agnostic on the container. Reading the holder keeps the prediction aligned with it.
|
|
91
|
+
const overflowElement = isWindow ? rootDocument.documentElement : wtTable.holder;
|
|
92
|
+
const overflowX = toOverflowMode(geometryReader.getStyle(overflowElement, 'overflow-x'));
|
|
93
|
+
const overflowY = toOverflowMode(geometryReader.getStyle(overflowElement, 'overflow-y'));
|
|
94
|
+
if (isWindow) {
|
|
95
|
+
const documentElement = rootDocument.documentElement;
|
|
96
|
+
// Read each layout-forcing dimension once — the live reader is uncached, so the workspace box
|
|
97
|
+
// and the window-context client size would otherwise force two reflows each per call.
|
|
98
|
+
const documentClientWidth = geometryReader.clientWidth(documentElement);
|
|
99
|
+
const documentClientHeight = geometryReader.clientHeight(documentElement);
|
|
100
|
+
return {
|
|
101
|
+
scrollMode: 'window',
|
|
102
|
+
workspaceWidth: documentClientWidth,
|
|
103
|
+
workspaceHeight: documentClientHeight,
|
|
104
|
+
totalContentWidth,
|
|
105
|
+
totalContentHeight,
|
|
106
|
+
scrollbarSize,
|
|
107
|
+
overflowX,
|
|
108
|
+
overflowY,
|
|
109
|
+
rowHeaderWidth,
|
|
110
|
+
columnHeaderHeight,
|
|
111
|
+
isRtl,
|
|
112
|
+
windowContext: {
|
|
113
|
+
documentScrollWidth: geometryReader.scrollWidth(documentElement),
|
|
114
|
+
documentScrollHeight: geometryReader.scrollHeight(documentElement),
|
|
115
|
+
documentClientWidth,
|
|
116
|
+
documentClientHeight,
|
|
117
|
+
currentHiderWidth: geometryReader.offsetWidth(wtTable.hider),
|
|
118
|
+
currentHiderHeight: geometryReader.offsetHeight(wtTable.hider)
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
scrollMode: 'element',
|
|
124
|
+
// Source the workspace box from the RAW measure functions (not the public
|
|
125
|
+
// `getWorkspaceWidth`/`getWorkspaceHeight`, which on the single-pass path return this very
|
|
126
|
+
// snapshot — calling them here would recurse). The raw measures carry the exact legacy semantics,
|
|
127
|
+
// notably the `#3119` zero-height→window fallback, so the snapshot stays behavior-identical.
|
|
128
|
+
workspaceWidth: (0, _workspaceSize.measureWorkspaceWidth)(viewport),
|
|
129
|
+
workspaceHeight: (0, _workspaceSize.measureWorkspaceHeight)(viewport),
|
|
130
|
+
totalContentWidth,
|
|
131
|
+
totalContentHeight,
|
|
132
|
+
scrollbarSize,
|
|
133
|
+
overflowX,
|
|
134
|
+
overflowY,
|
|
135
|
+
rowHeaderWidth,
|
|
136
|
+
columnHeaderHeight,
|
|
137
|
+
isRtl
|
|
138
|
+
};
|
|
139
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The input-gathering seam for layout resolution — the ONLY file in the layout slice that touches the
|
|
3
|
+
* live DOM (through the geometry-read port) and the settings. It reads the current geometry into a
|
|
4
|
+
* plain `LayoutInput`; the pure solver in `resolveLayout` takes it from there.
|
|
5
|
+
*
|
|
6
|
+
* Following the composition-root convention, `createLayoutDeps(ctx)` picks the narrow set of
|
|
7
|
+
* dependencies this slice needs out of the `EngineContext`; its inferred `ReturnType` is the deps
|
|
8
|
+
* type. `gatherLayoutInput(deps)` is the read step.
|
|
9
|
+
*
|
|
10
|
+
* NOTE: this module is not wired into the draw yet. It exists so the pure solver has a real,
|
|
11
|
+
* reviewable source of inputs. The exact derivation of the workspace box (client box vs offset box
|
|
12
|
+
* minus borders) is refined when the snapshot is wired into the viewport in a later stage; the
|
|
13
|
+
* scrollbar math it feeds is already final and unit-tested.
|
|
14
|
+
*/ import { measureWorkspaceWidth, measureWorkspaceHeight } from '../workspaceSize.mjs';
|
|
15
|
+
/**
|
|
16
|
+
* Narrows the engine context to the dependencies the layout slice reads.
|
|
17
|
+
*
|
|
18
|
+
* @param {EngineContext} ctx The engine composition context.
|
|
19
|
+
* @returns {object} The layout dependency set.
|
|
20
|
+
*/ export function createLayoutDeps(ctx) {
|
|
21
|
+
return {
|
|
22
|
+
geometryReader: ctx.geometryReader,
|
|
23
|
+
wtSettings: ctx.wtSettings,
|
|
24
|
+
rootDocument: ctx.rootDocument,
|
|
25
|
+
rootWindow: ctx.rootWindow,
|
|
26
|
+
getWtTable: ctx.getWtTable,
|
|
27
|
+
getWtViewport: ctx.getWtViewport,
|
|
28
|
+
getTopOverlay: ctx.getTopOverlay,
|
|
29
|
+
getInlineStartOverlay: ctx.getInlineStartOverlay
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Maps a raw CSS `overflow` string to the narrowed `OverflowMode`. Anything that is not `scroll` or
|
|
34
|
+
* `hidden` (including `visible`, `auto`, and unset) resolves to `'auto'` — "scrollbar only on
|
|
35
|
+
* overflow" — which is the engine's default behavior.
|
|
36
|
+
*
|
|
37
|
+
* @param {string | undefined} value The raw computed `overflow-x`/`overflow-y` value.
|
|
38
|
+
* @returns {OverflowMode}
|
|
39
|
+
*/ function toOverflowMode(value) {
|
|
40
|
+
if (value === 'scroll') {
|
|
41
|
+
return 'scroll';
|
|
42
|
+
}
|
|
43
|
+
if (value === 'hidden') {
|
|
44
|
+
return 'hidden';
|
|
45
|
+
}
|
|
46
|
+
return 'auto';
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Reads the current geometry and settings into a pure `LayoutInput`.
|
|
50
|
+
*
|
|
51
|
+
* @param {LayoutDeps} deps The layout dependency set.
|
|
52
|
+
* @returns {LayoutInput}
|
|
53
|
+
*/ export function gatherLayoutInput(deps) {
|
|
54
|
+
const { geometryReader, wtSettings, rootDocument, rootWindow } = deps;
|
|
55
|
+
const viewport = deps.getWtViewport();
|
|
56
|
+
const wtTable = deps.getWtTable();
|
|
57
|
+
const trimmingContainer = deps.getTopOverlay().trimmingContainer;
|
|
58
|
+
const isWindow = trimmingContainer === rootWindow;
|
|
59
|
+
const isRtl = wtSettings.getSetting('rtlMode');
|
|
60
|
+
const scrollbarSize = geometryReader.getScrollbarWidth(rootDocument);
|
|
61
|
+
// The prefix-sum caches are the source of the content totals below. Build them here so a lazy
|
|
62
|
+
// `getLayout()` after a cache invalidation (which also drops the snapshot, see
|
|
63
|
+
// `Viewport#invalidateRowHeightCache`) recomputes correct totals instead of reading
|
|
64
|
+
// `getTotalSize()` as 0. `ensureBuilt()` is a no-op when already built, so the in-draw resolve
|
|
65
|
+
// (where the draw has already built the caches) is unaffected.
|
|
66
|
+
viewport.rowHeightCache.ensureBuilt();
|
|
67
|
+
viewport.columnWidthCache.ensureBuilt();
|
|
68
|
+
const rowHeaderWidth = viewport.getRowHeaderWidth();
|
|
69
|
+
const columnHeaderHeight = viewport.getColumnHeaderHeight();
|
|
70
|
+
// Match the hider extent the engine actually renders into: the internal row-height calculator
|
|
71
|
+
// carries a known 1px miscalculation that `Overlays#adjustElementsSize` compensates for by adding
|
|
72
|
+
// 1px to the hider height (and does not when AutoRowSize supplies exact heights — the
|
|
73
|
+
// `externalRowCalculator` case). Fold the same compensation into the total so the predicted
|
|
74
|
+
// vertical-scroll boundary matches today's post-render measurement exactly.
|
|
75
|
+
const hiderHeightCompensation = wtSettings.getSetting('externalRowCalculator') ? 0 : 1;
|
|
76
|
+
const totalContentWidth = rowHeaderWidth + viewport.columnWidthCache.getTotalSize();
|
|
77
|
+
const totalContentHeight = columnHeaderHeight + viewport.rowHeightCache.getTotalSize() + hiderHeightCompensation;
|
|
78
|
+
// The element whose overflow decides the scrollbars is the one that actually scrolls: the document
|
|
79
|
+
// in window mode, the table `holder` in element mode. This is NOT the trimming container — a
|
|
80
|
+
// trimming container with `overflow: hidden` still clips to its box while the inner holder shows
|
|
81
|
+
// the scrollbar, which is why the engine's `hasVerticalScroll()` is content-vs-workspace and
|
|
82
|
+
// overflow-agnostic on the container. Reading the holder keeps the prediction aligned with it.
|
|
83
|
+
const overflowElement = isWindow ? rootDocument.documentElement : wtTable.holder;
|
|
84
|
+
const overflowX = toOverflowMode(geometryReader.getStyle(overflowElement, 'overflow-x'));
|
|
85
|
+
const overflowY = toOverflowMode(geometryReader.getStyle(overflowElement, 'overflow-y'));
|
|
86
|
+
if (isWindow) {
|
|
87
|
+
const documentElement = rootDocument.documentElement;
|
|
88
|
+
// Read each layout-forcing dimension once — the live reader is uncached, so the workspace box
|
|
89
|
+
// and the window-context client size would otherwise force two reflows each per call.
|
|
90
|
+
const documentClientWidth = geometryReader.clientWidth(documentElement);
|
|
91
|
+
const documentClientHeight = geometryReader.clientHeight(documentElement);
|
|
92
|
+
return {
|
|
93
|
+
scrollMode: 'window',
|
|
94
|
+
workspaceWidth: documentClientWidth,
|
|
95
|
+
workspaceHeight: documentClientHeight,
|
|
96
|
+
totalContentWidth,
|
|
97
|
+
totalContentHeight,
|
|
98
|
+
scrollbarSize,
|
|
99
|
+
overflowX,
|
|
100
|
+
overflowY,
|
|
101
|
+
rowHeaderWidth,
|
|
102
|
+
columnHeaderHeight,
|
|
103
|
+
isRtl,
|
|
104
|
+
windowContext: {
|
|
105
|
+
documentScrollWidth: geometryReader.scrollWidth(documentElement),
|
|
106
|
+
documentScrollHeight: geometryReader.scrollHeight(documentElement),
|
|
107
|
+
documentClientWidth,
|
|
108
|
+
documentClientHeight,
|
|
109
|
+
currentHiderWidth: geometryReader.offsetWidth(wtTable.hider),
|
|
110
|
+
currentHiderHeight: geometryReader.offsetHeight(wtTable.hider)
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
return {
|
|
115
|
+
scrollMode: 'element',
|
|
116
|
+
// Source the workspace box from the RAW measure functions (not the public
|
|
117
|
+
// `getWorkspaceWidth`/`getWorkspaceHeight`, which on the single-pass path return this very
|
|
118
|
+
// snapshot — calling them here would recurse). The raw measures carry the exact legacy semantics,
|
|
119
|
+
// notably the `#3119` zero-height→window fallback, so the snapshot stays behavior-identical.
|
|
120
|
+
workspaceWidth: measureWorkspaceWidth(viewport),
|
|
121
|
+
workspaceHeight: measureWorkspaceHeight(viewport),
|
|
122
|
+
totalContentWidth,
|
|
123
|
+
totalContentHeight,
|
|
124
|
+
scrollbarSize,
|
|
125
|
+
overflowX,
|
|
126
|
+
overflowY,
|
|
127
|
+
rowHeaderWidth,
|
|
128
|
+
columnHeaderHeight,
|
|
129
|
+
isRtl
|
|
130
|
+
};
|
|
131
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './layoutSnapshot.js';
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Value objects for the single-pass layout resolution.
|
|
3
|
+
*
|
|
4
|
+
* `LayoutInput` is everything the layout math needs, expressed as plain numbers and enums — no DOM
|
|
5
|
+
* nodes, no live reads. `LayoutSnapshot` is the immutable answer: whether each scrollbar will be
|
|
6
|
+
* present after the draw, and the boxes that follow from that. Both are pure data so the solver
|
|
7
|
+
* (`resolveLayout`) can be unit-tested without a browser.
|
|
8
|
+
*
|
|
9
|
+
* This module is intentionally free of any DOM or engine imports. Gathering the input from the live
|
|
10
|
+
* DOM is the job of `createLayoutDeps`; consuming the snapshot is the job of the viewport (wired in a
|
|
11
|
+
* later stage). Keeping the three concerns apart is what lets a caching or predictive adapter replace
|
|
12
|
+
* the input-gathering step without touching the math.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* How the table scrolls: inside its own element, or by scrolling the whole window/document.
|
|
16
|
+
*/
|
|
17
|
+
export type ScrollMode = 'window' | 'element';
|
|
18
|
+
/**
|
|
19
|
+
* The CSS `overflow` behavior for one axis, narrowed to the three values that change the scrollbar
|
|
20
|
+
* decision. `'auto'` means "a scrollbar appears only when the content overflows"; `'scroll'` forces
|
|
21
|
+
* one; `'hidden'` forbids one.
|
|
22
|
+
*/
|
|
23
|
+
export type OverflowMode = 'auto' | 'scroll' | 'hidden';
|
|
24
|
+
/**
|
|
25
|
+
* Window-mode metrics. In window mode the scrollbars belong to the document, and other page content
|
|
26
|
+
* contributes to the document's scroll size, so the solver predicts the post-render document scroll
|
|
27
|
+
* size by delta: `documentScrollHeight - currentHiderHeight + newHiderHeight`. These are only read in
|
|
28
|
+
* window mode; in element mode the field is absent.
|
|
29
|
+
*/
|
|
30
|
+
export interface WindowLayoutContext {
|
|
31
|
+
documentScrollWidth: number;
|
|
32
|
+
documentScrollHeight: number;
|
|
33
|
+
documentClientWidth: number;
|
|
34
|
+
documentClientHeight: number;
|
|
35
|
+
currentHiderWidth: number;
|
|
36
|
+
currentHiderHeight: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Everything the layout math needs, as pure data.
|
|
40
|
+
*/
|
|
41
|
+
export interface LayoutInput {
|
|
42
|
+
scrollMode: ScrollMode;
|
|
43
|
+
/**
|
|
44
|
+
* The outer box the content plus our own scrollbars must fit into, in pixels. Stable and
|
|
45
|
+
* scrollbar-independent by construction (it is the container box, not a post-render measurement).
|
|
46
|
+
*/
|
|
47
|
+
workspaceWidth: number;
|
|
48
|
+
workspaceHeight: number;
|
|
49
|
+
/**
|
|
50
|
+
* Total size of everything the table will render along each axis, from the prefix-sum caches plus
|
|
51
|
+
* the header extents. `totalContentWidth` includes the row-header width; `totalContentHeight`
|
|
52
|
+
* includes the column-header height.
|
|
53
|
+
*/
|
|
54
|
+
totalContentWidth: number;
|
|
55
|
+
totalContentHeight: number;
|
|
56
|
+
/**
|
|
57
|
+
* Thickness of one scrollbar, in pixels. `0` on overlay scrollbars (e.g. macOS trackpad mode).
|
|
58
|
+
*/
|
|
59
|
+
scrollbarSize: number;
|
|
60
|
+
overflowX: OverflowMode;
|
|
61
|
+
overflowY: OverflowMode;
|
|
62
|
+
/**
|
|
63
|
+
* Width taken by the row headers, subtracted from the inner width to get the column viewport.
|
|
64
|
+
*/
|
|
65
|
+
rowHeaderWidth: number;
|
|
66
|
+
/**
|
|
67
|
+
* Height taken by all column-header levels, subtracted from the inner height to get the row
|
|
68
|
+
* viewport.
|
|
69
|
+
*/
|
|
70
|
+
columnHeaderHeight: number;
|
|
71
|
+
/**
|
|
72
|
+
* Right-to-left layout. Carried through to the snapshot for downstream overlay placement; it does
|
|
73
|
+
* not change whether scrollbars appear.
|
|
74
|
+
*/
|
|
75
|
+
isRtl: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Present only in window mode (see `WindowLayoutContext`).
|
|
78
|
+
*/
|
|
79
|
+
windowContext?: WindowLayoutContext;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* The immutable result of resolving a `LayoutInput`. Every field is a number or boolean known before
|
|
83
|
+
* a single cell is written to the DOM, so the draw can render once in final geometry.
|
|
84
|
+
*/
|
|
85
|
+
export interface LayoutSnapshot {
|
|
86
|
+
readonly scrollMode: ScrollMode;
|
|
87
|
+
readonly hasVerticalScroll: boolean;
|
|
88
|
+
readonly hasHorizontalScroll: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* The stable outer box (equal to the input workspace box — scrollbar-independent).
|
|
91
|
+
*/
|
|
92
|
+
readonly workspaceWidth: number;
|
|
93
|
+
readonly workspaceHeight: number;
|
|
94
|
+
/**
|
|
95
|
+
* The outer box minus the scrollbar that the opposite axis consumes.
|
|
96
|
+
*/
|
|
97
|
+
readonly innerWidth: number;
|
|
98
|
+
readonly innerHeight: number;
|
|
99
|
+
/**
|
|
100
|
+
* The inner box minus the header extent — the area available for cells along each axis.
|
|
101
|
+
*/
|
|
102
|
+
readonly viewportWidth: number;
|
|
103
|
+
readonly viewportHeight: number;
|
|
104
|
+
/**
|
|
105
|
+
* The viewport as the RENDER band sees it: the workspace box minus the header extent, WITHOUT
|
|
106
|
+
* subtracting either scrollbar. The rendered band is kept scrollbar-unaware on purpose so it always
|
|
107
|
+
* covers the strip a scrollbar will later sit over — that keeps `getCell` on the row/column under the
|
|
108
|
+
* scrollbar returning a real TD, so native `scrollIntoView` still works. Wider/taller than the
|
|
109
|
+
* scrollbar-aware `visibleViewport*` by exactly one scrollbar when the opposite axis scrolls.
|
|
110
|
+
*/
|
|
111
|
+
readonly renderViewportWidth: number;
|
|
112
|
+
readonly renderViewportHeight: number;
|
|
113
|
+
/**
|
|
114
|
+
* The viewport as the VISIBLE band sees it: the workspace box minus the header extent AND the
|
|
115
|
+
* opposite-axis scrollbar when present. This scrollbar-aware area drives the fully/partially-visible
|
|
116
|
+
* row and column counts and the scroll-to-cell decisions. Always equal to `viewportWidth` /
|
|
117
|
+
* `viewportHeight` — the explicit name exists so consumers reading it beside `renderViewport*` state
|
|
118
|
+
* intent; keep both.
|
|
119
|
+
*/
|
|
120
|
+
readonly visibleViewportWidth: number;
|
|
121
|
+
readonly visibleViewportHeight: number;
|
|
122
|
+
readonly rowHeaderWidth: number;
|
|
123
|
+
readonly columnHeaderHeight: number;
|
|
124
|
+
readonly totalContentWidth: number;
|
|
125
|
+
readonly totalContentHeight: number;
|
|
126
|
+
/**
|
|
127
|
+
* The size the hider element must take so its scrollable content matches the total content.
|
|
128
|
+
*/
|
|
129
|
+
readonly hiderWidth: number;
|
|
130
|
+
readonly hiderHeight: number;
|
|
131
|
+
readonly scrollbarSize: number;
|
|
132
|
+
readonly isRtl: boolean;
|
|
133
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Value objects for the single-pass layout resolution.
|
|
3
|
+
*
|
|
4
|
+
* `LayoutInput` is everything the layout math needs, expressed as plain numbers and enums — no DOM
|
|
5
|
+
* nodes, no live reads. `LayoutSnapshot` is the immutable answer: whether each scrollbar will be
|
|
6
|
+
* present after the draw, and the boxes that follow from that. Both are pure data so the solver
|
|
7
|
+
* (`resolveLayout`) can be unit-tested without a browser.
|
|
8
|
+
*
|
|
9
|
+
* This module is intentionally free of any DOM or engine imports. Gathering the input from the live
|
|
10
|
+
* DOM is the job of `createLayoutDeps`; consuming the snapshot is the job of the viewport (wired in a
|
|
11
|
+
* later stage). Keeping the three concerns apart is what lets a caching or predictive adapter replace
|
|
12
|
+
* the input-gathering step without touching the math.
|
|
13
|
+
*/ /**
|
|
14
|
+
* How the table scrolls: inside its own element, or by scrolling the whole window/document.
|
|
15
|
+
*/ "use strict";
|
|
16
|
+
Object.defineProperty(exports, "__esModule", {
|
|
17
|
+
value: true
|
|
18
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Value objects for the single-pass layout resolution.
|
|
3
|
+
*
|
|
4
|
+
* `LayoutInput` is everything the layout math needs, expressed as plain numbers and enums — no DOM
|
|
5
|
+
* nodes, no live reads. `LayoutSnapshot` is the immutable answer: whether each scrollbar will be
|
|
6
|
+
* present after the draw, and the boxes that follow from that. Both are pure data so the solver
|
|
7
|
+
* (`resolveLayout`) can be unit-tested without a browser.
|
|
8
|
+
*
|
|
9
|
+
* This module is intentionally free of any DOM or engine imports. Gathering the input from the live
|
|
10
|
+
* DOM is the job of `createLayoutDeps`; consuming the snapshot is the job of the viewport (wired in a
|
|
11
|
+
* later stage). Keeping the three concerns apart is what lets a caching or predictive adapter replace
|
|
12
|
+
* the input-gathering step without touching the math.
|
|
13
|
+
*/ /**
|
|
14
|
+
* How the table scrolls: inside its own element, or by scrolling the whole window/document.
|
|
15
|
+
*/ /**
|
|
16
|
+
* The immutable result of resolving a `LayoutInput`. Every field is a number or boolean known before
|
|
17
|
+
* a single cell is written to the DOM, so the draw can render once in final geometry.
|
|
18
|
+
*/ export { };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './resolveLayout.js';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The pure layout solver.
|
|
3
|
+
*
|
|
4
|
+
* `resolveLayout` turns a `LayoutInput` (plain numbers) into a frozen `LayoutSnapshot`. Its only real
|
|
5
|
+
* work is the two-variable scrollbar fix-point: a vertical scrollbar consumes width, which can make a
|
|
6
|
+
* horizontal one necessary, which consumes height, which can make the vertical one necessary. The
|
|
7
|
+
* solve is monotone — a scrollbar only ever shrinks the box, never grows it — so a single corrective
|
|
8
|
+
* pass after the first guess always converges. There is no loop and no DOM.
|
|
9
|
+
*/
|
|
10
|
+
import type { LayoutInput, LayoutSnapshot } from './layoutSnapshot';
|
|
11
|
+
/**
|
|
12
|
+
* Resolves a layout input into an immutable snapshot. Pure: same input, same output, no side effects.
|
|
13
|
+
*
|
|
14
|
+
* @param {LayoutInput} input The layout input.
|
|
15
|
+
* @returns {LayoutSnapshot}
|
|
16
|
+
*/
|
|
17
|
+
export declare function resolveLayout(input: LayoutInput): LayoutSnapshot;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The pure layout solver.
|
|
3
|
+
*
|
|
4
|
+
* `resolveLayout` turns a `LayoutInput` (plain numbers) into a frozen `LayoutSnapshot`. Its only real
|
|
5
|
+
* work is the two-variable scrollbar fix-point: a vertical scrollbar consumes width, which can make a
|
|
6
|
+
* horizontal one necessary, which consumes height, which can make the vertical one necessary. The
|
|
7
|
+
* solve is monotone — a scrollbar only ever shrinks the box, never grows it — so a single corrective
|
|
8
|
+
* pass after the first guess always converges. There is no loop and no DOM.
|
|
9
|
+
*/ "use strict";
|
|
10
|
+
Object.defineProperty(exports, "__esModule", {
|
|
11
|
+
value: true
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "resolveLayout", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function() {
|
|
16
|
+
return resolveLayout;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* Decides the two scrollbars for a table that scrolls inside its own element.
|
|
21
|
+
*
|
|
22
|
+
* @param {LayoutInput} input The layout input.
|
|
23
|
+
* @returns {{ hasVerticalScroll: boolean, hasHorizontalScroll: boolean }}
|
|
24
|
+
*/ function solveElementScrollbars(input) {
|
|
25
|
+
const { totalContentWidth: contentWidth, totalContentHeight: contentHeight, workspaceWidth, workspaceHeight, scrollbarSize } = input;
|
|
26
|
+
const forcedVertical = input.overflowY === 'scroll';
|
|
27
|
+
const forcedHorizontal = input.overflowX === 'scroll';
|
|
28
|
+
const suppressVertical = input.overflowY === 'hidden';
|
|
29
|
+
const suppressHorizontal = input.overflowX === 'hidden';
|
|
30
|
+
// First guess: does the content overflow the raw box on each axis?
|
|
31
|
+
let hasVerticalScroll = forcedVertical || !suppressVertical && contentHeight > workspaceHeight;
|
|
32
|
+
const hasHorizontalScroll = forcedHorizontal || !suppressHorizontal && contentWidth > workspaceWidth - (hasVerticalScroll ? scrollbarSize : 0);
|
|
33
|
+
// Corrective pass: a horizontal scrollbar we just decided on consumes height, which may now push
|
|
34
|
+
// the content past the vertical box. This can only turn the vertical scrollbar on, never off (the
|
|
35
|
+
// box only shrinks), so one pass is enough.
|
|
36
|
+
if (hasHorizontalScroll && !hasVerticalScroll && !suppressVertical) {
|
|
37
|
+
hasVerticalScroll = contentHeight > workspaceHeight - scrollbarSize;
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
hasVerticalScroll,
|
|
41
|
+
hasHorizontalScroll
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Decides the two scrollbars for a table that scrolls with the window. The scrollbars belong to the
|
|
46
|
+
* document, so the solver predicts the document's post-render scroll size by swapping the table's
|
|
47
|
+
* current hider extent for the extent it is about to take.
|
|
48
|
+
*
|
|
49
|
+
* @param {LayoutInput} input The layout input (must carry `windowContext`).
|
|
50
|
+
* @returns {{ hasVerticalScroll: boolean, hasHorizontalScroll: boolean }}
|
|
51
|
+
*/ function solveWindowScrollbars(input) {
|
|
52
|
+
const context = input.windowContext;
|
|
53
|
+
if (!context) {
|
|
54
|
+
// No window metrics supplied — treat as no document scroll. This keeps the solver total; callers
|
|
55
|
+
// in window mode always supply the context.
|
|
56
|
+
return {
|
|
57
|
+
hasVerticalScroll: false,
|
|
58
|
+
hasHorizontalScroll: false
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
const predictedScrollHeight = context.documentScrollHeight - context.currentHiderHeight + input.totalContentHeight;
|
|
62
|
+
const predictedScrollWidth = context.documentScrollWidth - context.currentHiderWidth + input.totalContentWidth;
|
|
63
|
+
const hasVerticalScroll = input.overflowY === 'scroll' || input.overflowY !== 'hidden' && predictedScrollHeight > context.documentClientHeight;
|
|
64
|
+
const hasHorizontalScroll = input.overflowX === 'scroll' || input.overflowX !== 'hidden' && predictedScrollWidth > context.documentClientWidth;
|
|
65
|
+
return {
|
|
66
|
+
hasVerticalScroll,
|
|
67
|
+
hasHorizontalScroll
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function resolveLayout(input) {
|
|
71
|
+
const { hasVerticalScroll, hasHorizontalScroll } = input.scrollMode === 'window' ? solveWindowScrollbars(input) : solveElementScrollbars(input);
|
|
72
|
+
const { workspaceWidth, workspaceHeight, scrollbarSize } = input;
|
|
73
|
+
const innerWidth = workspaceWidth - (hasVerticalScroll ? scrollbarSize : 0);
|
|
74
|
+
const innerHeight = workspaceHeight - (hasHorizontalScroll ? scrollbarSize : 0);
|
|
75
|
+
// Render band = scrollbar-unaware (workspace − header, no scrollbar); visible band = scrollbar-aware
|
|
76
|
+
// (inner − header). The two differ by exactly one scrollbar on the axis the opposite scrollbar eats.
|
|
77
|
+
const renderViewportWidth = workspaceWidth - input.rowHeaderWidth;
|
|
78
|
+
const renderViewportHeight = workspaceHeight - input.columnHeaderHeight;
|
|
79
|
+
const visibleViewportWidth = innerWidth - input.rowHeaderWidth;
|
|
80
|
+
const visibleViewportHeight = innerHeight - input.columnHeaderHeight;
|
|
81
|
+
return Object.freeze({
|
|
82
|
+
scrollMode: input.scrollMode,
|
|
83
|
+
hasVerticalScroll,
|
|
84
|
+
hasHorizontalScroll,
|
|
85
|
+
workspaceWidth,
|
|
86
|
+
workspaceHeight,
|
|
87
|
+
innerWidth,
|
|
88
|
+
innerHeight,
|
|
89
|
+
viewportWidth: visibleViewportWidth,
|
|
90
|
+
viewportHeight: visibleViewportHeight,
|
|
91
|
+
renderViewportWidth,
|
|
92
|
+
renderViewportHeight,
|
|
93
|
+
visibleViewportWidth,
|
|
94
|
+
visibleViewportHeight,
|
|
95
|
+
rowHeaderWidth: input.rowHeaderWidth,
|
|
96
|
+
columnHeaderHeight: input.columnHeaderHeight,
|
|
97
|
+
totalContentWidth: input.totalContentWidth,
|
|
98
|
+
totalContentHeight: input.totalContentHeight,
|
|
99
|
+
hiderWidth: input.totalContentWidth,
|
|
100
|
+
hiderHeight: input.totalContentHeight,
|
|
101
|
+
scrollbarSize,
|
|
102
|
+
isRtl: input.isRtl
|
|
103
|
+
});
|
|
104
|
+
}
|