handsontable 18.0.0 → 18.1.0-rc7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/walkontable/src/axisSizing/axisSizeSource.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/axisSizeSource.d.ts +55 -0
- package/3rdparty/walkontable/src/axisSizing/axisSizeSource.js +15 -0
- package/3rdparty/walkontable/src/axisSizing/axisSizeSource.mjs +14 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.d.ts +32 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.js +45 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.mjs +33 -0
- package/3rdparty/walkontable/src/axisSizing/columnUtils.d.mts +2 -0
- package/3rdparty/walkontable/src/{utils/column.d.ts → axisSizing/columnUtils.d.ts} +12 -10
- package/3rdparty/walkontable/src/axisSizing/columnUtils.js +147 -0
- package/3rdparty/walkontable/src/axisSizing/columnUtils.mjs +142 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.d.ts +58 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.js +129 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.mjs +119 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.d.ts +162 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.js +424 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.mjs +522 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/index.d.ts +130 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/index.js +256 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/index.mjs +262 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.d.ts +51 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.js +121 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.mjs +117 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.d.ts +53 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.js +206 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.mjs +203 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.d.ts +53 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.js +40 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.mjs +41 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.d.ts +47 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.js +121 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.mjs +115 -0
- package/3rdparty/walkontable/src/axisSizing/rowUtils.d.mts +2 -0
- package/3rdparty/walkontable/src/{utils/row.d.ts → axisSizing/rowUtils.d.ts} +11 -9
- package/3rdparty/walkontable/src/axisSizing/rowUtils.js +111 -0
- package/3rdparty/walkontable/src/axisSizing/rowUtils.mjs +106 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.d.mts +2 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.d.ts +84 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.js +102 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.mjs +92 -0
- package/3rdparty/walkontable/src/calculator/axisCalculation.d.ts +1 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.d.ts +10 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.js +10 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +10 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.d.ts +9 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +9 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +9 -1
- package/3rdparty/walkontable/src/calculator/viewportColumns.d.ts +1 -1
- package/3rdparty/walkontable/src/calculator/viewportRows.d.ts +1 -1
- package/3rdparty/walkontable/src/cell/range.d.ts +10 -0
- package/3rdparty/walkontable/src/cell/range.js +14 -3
- package/3rdparty/walkontable/src/cell/range.mjs +11 -0
- package/3rdparty/walkontable/src/core/_base.d.ts +21 -21
- package/3rdparty/walkontable/src/core/_base.js +58 -147
- package/3rdparty/walkontable/src/core/_base.mjs +17 -147
- package/3rdparty/walkontable/src/core/clone.d.ts +4 -14
- package/3rdparty/walkontable/src/core/clone.js +51 -5
- package/3rdparty/walkontable/src/core/clone.mjs +10 -5
- package/3rdparty/walkontable/src/core/core.d.ts +1 -5
- package/3rdparty/walkontable/src/core/core.js +52 -47
- package/3rdparty/walkontable/src/core/core.mjs +12 -48
- package/3rdparty/walkontable/src/domMeasure/geometryReader.d.mts +1 -0
- package/3rdparty/walkontable/src/domMeasure/geometryReader.d.ts +172 -0
- package/3rdparty/walkontable/src/domMeasure/geometryReader.js +19 -0
- package/3rdparty/walkontable/src/domMeasure/geometryReader.mjs +16 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.d.mts +1 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.d.ts +134 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.js +200 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.mjs +198 -0
- package/3rdparty/walkontable/src/event.d.ts +25 -12
- package/3rdparty/walkontable/src/event.js +91 -224
- package/3rdparty/walkontable/src/event.mjs +90 -224
- package/3rdparty/walkontable/src/facade/core.d.ts +6 -6
- package/3rdparty/walkontable/src/index.d.ts +1 -1
- package/3rdparty/walkontable/src/index.js +2 -2
- package/3rdparty/walkontable/src/index.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/index.d.ts +6 -6
- package/3rdparty/walkontable/src/overlay/index.js +11 -11
- package/3rdparty/walkontable/src/overlay/index.mjs +6 -6
- package/3rdparty/walkontable/src/overlay/overlays.d.ts +375 -0
- package/3rdparty/walkontable/src/overlay/overlays.js +612 -0
- package/3rdparty/walkontable/src/overlay/overlays.mjs +601 -0
- package/3rdparty/walkontable/src/overlay/{_base.d.ts → regions/_base.d.ts} +65 -16
- package/3rdparty/walkontable/src/overlay/{_base.js → regions/_base.js} +160 -50
- package/3rdparty/walkontable/src/overlay/{_base.mjs → regions/_base.mjs} +163 -47
- package/3rdparty/walkontable/src/overlay/regions/bottomInlineStartCornerOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.d.ts → regions/bottomInlineStartCornerOverlay.d.ts} +5 -10
- package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.js → regions/bottomInlineStartCornerOverlay.js} +18 -20
- package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.mjs → regions/bottomInlineStartCornerOverlay.mjs} +18 -20
- package/3rdparty/walkontable/src/overlay/regions/bottomOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{bottom.d.ts → regions/bottomOverlay.d.ts} +16 -11
- package/3rdparty/walkontable/src/overlay/{bottom.js → regions/bottomOverlay.js} +113 -66
- package/3rdparty/walkontable/src/overlay/{bottom.mjs → regions/bottomOverlay.mjs} +113 -66
- package/3rdparty/walkontable/src/overlay/regions/inlineStartOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{inlineStart.d.ts → regions/inlineStartOverlay.d.ts} +17 -11
- package/3rdparty/walkontable/src/overlay/{inlineStart.js → regions/inlineStartOverlay.js} +122 -67
- package/3rdparty/walkontable/src/overlay/{inlineStart.mjs → regions/inlineStartOverlay.mjs} +122 -67
- package/3rdparty/walkontable/src/overlay/regions/topInlineStartCornerOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.d.ts → regions/topInlineStartCornerOverlay.d.ts} +5 -10
- package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.js → regions/topInlineStartCornerOverlay.js} +13 -16
- package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.mjs → regions/topInlineStartCornerOverlay.mjs} +13 -16
- package/3rdparty/walkontable/src/overlay/regions/topOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{top.d.ts → regions/topOverlay.d.ts} +32 -11
- package/3rdparty/walkontable/src/overlay/{top.js → regions/topOverlay.js} +163 -77
- package/3rdparty/walkontable/src/overlay/{top.mjs → regions/topOverlay.mjs} +163 -77
- package/3rdparty/walkontable/src/overlay/resizeMonitor.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/resizeMonitor.d.ts +49 -0
- package/3rdparty/walkontable/src/overlay/resizeMonitor.js +154 -0
- package/3rdparty/walkontable/src/overlay/resizeMonitor.mjs +153 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.d.ts +62 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.js +290 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.mjs +295 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.d.ts +176 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.js +549 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.mjs +557 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.d.ts +67 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.js +178 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.mjs +179 -0
- package/3rdparty/walkontable/src/{stickyScrollStrategy.d.ts → overlay/strategies/stickyScrollStrategy.d.ts} +33 -21
- package/3rdparty/walkontable/src/{stickyScrollStrategy.js → overlay/strategies/stickyScrollStrategy.js} +60 -41
- package/3rdparty/walkontable/src/{stickyScrollStrategy.mjs → overlay/strategies/stickyScrollStrategy.mjs} +58 -38
- package/3rdparty/walkontable/src/ports.d.mts +1 -0
- package/3rdparty/walkontable/src/ports.d.ts +54 -0
- package/3rdparty/walkontable/src/ports.js +23 -0
- package/3rdparty/walkontable/src/ports.mjs +24 -0
- package/3rdparty/walkontable/src/{renderer → render}/_base.d.ts +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/cells.js +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/cells.mjs +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.d.ts +1 -0
- package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.js +43 -1
- package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.mjs +44 -2
- package/3rdparty/walkontable/src/render/index.d.mts +1 -0
- package/3rdparty/walkontable/src/{renderer → render}/index.d.ts +11 -3
- package/3rdparty/walkontable/src/{renderer → render}/index.js +13 -3
- package/3rdparty/walkontable/src/{renderer → render}/index.mjs +11 -1
- package/3rdparty/walkontable/src/{renderer → render}/rows.js +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/rows.mjs +1 -1
- package/3rdparty/walkontable/src/render/tableRenderer.d.mts +1 -0
- package/3rdparty/walkontable/src/{renderer/table.d.ts → render/tableRenderer.d.ts} +12 -2
- package/3rdparty/walkontable/src/render/tableRenderer.js +382 -0
- package/3rdparty/walkontable/src/{renderer/table.mjs → render/tableRenderer.mjs} +159 -6
- package/3rdparty/walkontable/src/{scroll.d.ts → scroll/scroll.d.ts} +27 -10
- package/3rdparty/walkontable/src/{scroll.js → scroll/scroll.js} +108 -32
- package/3rdparty/walkontable/src/{scroll.mjs → scroll/scroll.mjs} +106 -29
- package/3rdparty/walkontable/src/selection/border/border.d.ts +313 -5
- package/3rdparty/walkontable/src/selection/border/border.js +861 -51
- package/3rdparty/walkontable/src/selection/border/border.mjs +863 -53
- package/3rdparty/walkontable/src/selection/border/types.d.ts +30 -0
- package/3rdparty/walkontable/src/selection/manager.js +237 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +238 -1
- package/3rdparty/walkontable/src/settings/accessor.d.mts +2 -0
- package/3rdparty/walkontable/src/settings/accessor.d.ts +74 -0
- package/3rdparty/walkontable/src/settings/accessor.js +78 -0
- package/3rdparty/walkontable/src/settings/accessor.mjs +71 -0
- package/3rdparty/walkontable/src/settings/defaults.d.mts +1 -0
- package/3rdparty/walkontable/src/{settings.d.ts → settings/defaults.d.ts} +16 -77
- package/3rdparty/walkontable/src/settings/defaults.js +146 -0
- package/3rdparty/walkontable/src/settings/defaults.mjs +225 -0
- package/3rdparty/walkontable/src/settings/index.d.mts +1 -0
- package/3rdparty/walkontable/src/settings/index.d.ts +6 -0
- package/3rdparty/walkontable/src/settings/index.js +20 -0
- package/3rdparty/walkontable/src/settings/index.mjs +5 -0
- package/3rdparty/walkontable/src/table/baseTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/baseTable.d.ts +284 -0
- package/3rdparty/walkontable/src/table/baseTable.js +295 -0
- package/3rdparty/walkontable/src/table/baseTable.mjs +283 -0
- package/3rdparty/walkontable/src/table/cellAccess.d.mts +1 -0
- package/3rdparty/walkontable/src/table/cellAccess.d.ts +101 -0
- package/3rdparty/walkontable/src/table/cellAccess.js +238 -0
- package/3rdparty/walkontable/src/table/cellAccess.mjs +229 -0
- package/3rdparty/walkontable/src/table/domScaffold.d.mts +1 -0
- package/3rdparty/walkontable/src/table/domScaffold.d.ts +37 -0
- package/3rdparty/walkontable/src/table/domScaffold.js +145 -0
- package/3rdparty/walkontable/src/table/domScaffold.mjs +136 -0
- package/3rdparty/walkontable/src/table/drawCycle.d.mts +1 -0
- package/3rdparty/walkontable/src/table/drawCycle.d.ts +16 -0
- package/3rdparty/walkontable/src/table/drawCycle.js +405 -0
- package/3rdparty/walkontable/src/table/drawCycle.mjs +403 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.d.mts +1 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.d.ts +38 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.js +15 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.mjs +14 -0
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.d.ts +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.js +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.mjs +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.d.ts +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.d.ts +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.js +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.mjs +1 -1
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.d.mts +2 -0
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.d.ts +226 -0
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.js +251 -0
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.mjs +241 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.d.mts +1 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.d.ts +14 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.js +196 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.mjs +179 -0
- package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.d.ts +16 -0
- package/3rdparty/walkontable/src/table/{bottomInlineStartCorner.js → regions/bottomInlineStartCornerTable.js} +9 -12
- package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.mjs +21 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.d.ts +15 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.js +35 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.mjs +20 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.d.ts +12 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.js +32 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.mjs +17 -0
- package/3rdparty/walkontable/src/table/regions/masterTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/{master.d.ts → regions/masterTable.d.ts} +4 -13
- package/3rdparty/walkontable/src/table/{master.js → regions/masterTable.js} +23 -48
- package/3rdparty/walkontable/src/table/{master.mjs → regions/masterTable.mjs} +22 -47
- package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.d.ts +16 -0
- package/3rdparty/walkontable/src/table/{topInlineStartCorner.js → regions/topInlineStartCornerTable.js} +9 -12
- package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.mjs +21 -0
- package/3rdparty/walkontable/src/table/regions/topTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/topTable.d.ts +15 -0
- package/3rdparty/walkontable/src/table/regions/topTable.js +35 -0
- package/3rdparty/walkontable/src/table/regions/topTable.mjs +20 -0
- package/3rdparty/walkontable/src/types.d.ts +7 -69
- package/3rdparty/walkontable/src/types.mjs +2 -1
- package/3rdparty/walkontable/src/utils/pointerToCoords.d.mts +1 -0
- package/3rdparty/walkontable/src/utils/{cellCoords.d.ts → pointerToCoords.d.ts} +24 -0
- package/3rdparty/walkontable/src/utils/pointerToCoords.js +181 -0
- package/3rdparty/walkontable/src/utils/pointerToCoords.mjs +186 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.d.ts +40 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.js +139 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.mjs +131 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.d.ts +133 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.js +18 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.mjs +18 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.d.ts +17 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.js +104 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.mjs +99 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.d.ts +84 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.js +588 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.mjs +601 -0
- package/3rdparty/walkontable/src/viewport/viewport.d.ts +267 -0
- package/3rdparty/walkontable/src/viewport/viewport.js +368 -0
- package/3rdparty/walkontable/src/viewport/viewport.mjs +360 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.d.ts +59 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.js +284 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.mjs +282 -0
- package/3rdparty/walkontable/src/wire.d.mts +1 -0
- package/3rdparty/walkontable/src/wire.d.ts +81 -0
- package/3rdparty/walkontable/src/wire.js +56 -0
- package/3rdparty/walkontable/src/wire.mjs +56 -0
- package/CHANGELOG.md +114 -1
- package/LICENSE.txt +1 -1
- package/README.md +2 -2
- package/base.d.ts +13 -4
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/cellTypes/checkboxType/accessors/valueSetter.d.ts +1 -1
- package/cellTypes/checkboxType/accessors/valueSetter.js +3 -1
- package/cellTypes/checkboxType/accessors/valueSetter.mjs +3 -1
- package/cellTypes/index.d.ts +3 -2
- package/cellTypes/index.js +9 -0
- package/cellTypes/index.mjs +5 -2
- package/cellTypes/intlDatetimeType/index.d.mts +1 -0
- package/cellTypes/intlDatetimeType/index.d.ts +1 -0
- package/cellTypes/intlDatetimeType/index.js +19 -0
- package/cellTypes/intlDatetimeType/index.mjs +1 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.d.mts +1 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.d.ts +16 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.js +31 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.mjs +15 -0
- package/cellTypes/multiSelectType/index.d.ts +1 -1
- package/cellTypes/multiSelectType/index.js +3 -0
- package/cellTypes/multiSelectType/index.mjs +1 -1
- package/cellTypes/multiSelectType/multiSelectType.d.ts +1 -0
- package/cellTypes/multiSelectType/multiSelectType.js +4 -0
- package/cellTypes/multiSelectType/multiSelectType.mjs +1 -0
- package/cellTypes/numericType/accessors/valueSetter.js +30 -2
- package/cellTypes/numericType/accessors/valueSetter.mjs +31 -3
- package/core/hooks/bucket.d.ts +40 -6
- package/core/hooks/bucket.js +108 -72
- package/core/hooks/bucket.mjs +113 -72
- package/core/hooks/constants.js +254 -16
- package/core/hooks/constants.mjs +254 -16
- package/core/hooks/index.js +27 -22
- package/core/hooks/index.mjs +27 -22
- package/core/layout/constants.d.ts +11 -0
- package/core/layout/constants.js +6 -0
- package/core/layout/constants.mjs +12 -0
- package/core/layout/domSlot.d.ts +3 -1
- package/core/layout/domSlot.js +16 -2
- package/core/layout/domSlot.mjs +16 -2
- package/core/layout/index.d.ts +2 -2
- package/core/layout/index.js +6 -0
- package/core/layout/index.mjs +2 -2
- package/core/layout/layoutManager.d.ts +13 -0
- package/core/layout/layoutManager.js +21 -4
- package/core/layout/layoutManager.mjs +22 -2
- package/core/settings.d.ts +102 -6
- package/core/types.d.ts +15 -1
- package/core/types.mjs +9 -0
- package/core.js +534 -88
- package/core.mjs +537 -91
- package/dataMap/dataMap.d.ts +3 -13
- package/dataMap/dataMap.js +100 -41
- package/dataMap/dataMap.mjs +101 -42
- package/dataMap/dataSource.js +4 -1
- package/dataMap/dataSource.mjs +4 -1
- package/dataMap/metaManager/index.d.ts +62 -8
- package/dataMap/metaManager/index.js +66 -0
- package/dataMap/metaManager/index.mjs +66 -0
- package/dataMap/metaManager/lazyFactoryMap.d.ts +68 -43
- package/dataMap/metaManager/lazyFactoryMap.js +497 -110
- package/dataMap/metaManager/lazyFactoryMap.mjs +511 -111
- package/dataMap/metaManager/metaLayers/cellMeta.d.ts +55 -8
- package/dataMap/metaManager/metaLayers/cellMeta.js +108 -8
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +108 -8
- package/dataMap/metaManager/metaLayers/columnMeta.d.ts +2 -1
- package/dataMap/metaManager/metaLayers/columnMeta.js +1 -0
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -0
- package/dataMap/metaManager/metaSchema.js +759 -39
- package/dataMap/metaManager/metaSchema.mjs +759 -39
- package/dataMap/metaManager/mods/dynamicCellMeta.d.ts +24 -10
- package/dataMap/metaManager/mods/dynamicCellMeta.js +252 -28
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +253 -29
- package/dataMap/sourceDataValidator.d.ts +13 -21
- package/dataMap/sourceDataValidator.js +39 -29
- package/dataMap/sourceDataValidator.mjs +50 -33
- package/dist/handsontable.full.js +30027 -11261
- package/dist/handsontable.full.min.js +168 -112
- package/dist/handsontable.js +32468 -13762
- package/dist/handsontable.min.js +172 -116
- package/dist/languages/all.js +2 -1
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/fa-IR.js +2 -1
- package/dist/languages/fa-IR.min.js +1 -1
- package/dist/themes/classic.js +9 -3
- package/dist/themes/classic.min.js +4 -4
- package/dist/themes/horizon.js +9 -3
- package/dist/themes/horizon.min.js +4 -4
- package/dist/themes/main.js +9 -3
- package/dist/themes/main.min.js +4 -4
- package/dist/themes/static/variables/colors/ant.js +3 -3
- package/dist/themes/static/variables/colors/ant.min.js +3 -3
- package/dist/themes/static/variables/colors/classic.js +3 -3
- package/dist/themes/static/variables/colors/classic.min.js +3 -3
- package/dist/themes/static/variables/colors/horizon.js +3 -3
- package/dist/themes/static/variables/colors/horizon.min.js +3 -3
- package/dist/themes/static/variables/colors/main.js +3 -3
- package/dist/themes/static/variables/colors/main.min.js +3 -3
- package/dist/themes/static/variables/colors/material.js +3 -3
- package/dist/themes/static/variables/colors/material.min.js +3 -3
- package/dist/themes/static/variables/colors/shadcn.js +3 -3
- package/dist/themes/static/variables/colors/shadcn.min.js +3 -3
- package/dist/themes/static/variables/density.js +3 -3
- package/dist/themes/static/variables/density.min.js +3 -3
- package/dist/themes/static/variables/helpers/iconsMap.js +4 -9
- package/dist/themes/static/variables/helpers/iconsMap.min.js +4 -9
- package/dist/themes/static/variables/icons/horizon.js +3 -3
- package/dist/themes/static/variables/icons/horizon.min.js +3 -3
- package/dist/themes/static/variables/icons/main.js +3 -3
- package/dist/themes/static/variables/icons/main.min.js +3 -3
- package/dist/themes/static/variables/sizing.js +3 -3
- package/dist/themes/static/variables/sizing.min.js +3 -3
- package/dist/themes/static/variables/tokens/classic.js +9 -3
- package/dist/themes/static/variables/tokens/classic.min.js +4 -4
- package/dist/themes/static/variables/tokens/horizon.js +9 -3
- package/dist/themes/static/variables/tokens/horizon.min.js +4 -4
- package/dist/themes/static/variables/tokens/main.js +9 -3
- package/dist/themes/static/variables/tokens/main.min.js +4 -4
- package/editorManager.js +152 -3
- package/editorManager.mjs +152 -3
- package/editors/autocompleteEditor/autocompleteEditor.js +58 -11
- package/editors/autocompleteEditor/autocompleteEditor.mjs +59 -12
- package/editors/baseEditor/baseEditor.d.ts +15 -3
- package/editors/baseEditor/baseEditor.js +5 -3
- package/editors/baseEditor/baseEditor.mjs +15 -3
- package/editors/factory.js +5 -2
- package/editors/factory.mjs +5 -2
- package/editors/index.d.ts +3 -2
- package/editors/index.js +8 -0
- package/editors/index.mjs +3 -1
- package/editors/intlDatetimeEditor/index.d.mts +1 -0
- package/editors/intlDatetimeEditor/index.d.ts +1 -0
- package/editors/intlDatetimeEditor/index.js +19 -0
- package/editors/intlDatetimeEditor/index.mjs +1 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.d.mts +1 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.d.ts +42 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.js +108 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.mjs +93 -0
- package/editors/multiSelectEditor/multiSelectEditor.js +11 -9
- package/editors/multiSelectEditor/multiSelectEditor.mjs +12 -10
- package/editors/selectEditor/selectEditor.js +2 -1
- package/editors/selectEditor/selectEditor.mjs +2 -1
- package/editors/textEditor/textEditor.js +1 -1
- package/editors/textEditor/textEditor.mjs +2 -2
- package/eventManager.d.ts +3 -3
- package/focusManager/grid.d.ts +28 -0
- package/focusManager/grid.js +85 -2
- package/focusManager/grid.mjs +81 -3
- package/focusManager/scopeManager.js +1 -1
- package/focusManager/scopeManager.mjs +2 -2
- package/handsontable-non-commercial-license.pdf +0 -0
- package/helpers/array.d.ts +25 -0
- package/helpers/array.js +41 -4
- package/helpers/array.mjs +56 -4
- package/helpers/console.d.ts +25 -3
- package/helpers/console.js +40 -7
- package/helpers/console.mjs +52 -7
- package/helpers/dateTime.d.ts +14 -0
- package/helpers/dateTime.js +74 -2
- package/helpers/dateTime.mjs +73 -2
- package/helpers/dom/cellCoords.js +156 -13
- package/helpers/dom/cellCoords.mjs +156 -13
- package/helpers/dom/element.d.ts +47 -8
- package/helpers/dom/element.js +104 -18
- package/helpers/dom/element.mjs +132 -23
- package/helpers/dom/event.d.ts +58 -0
- package/helpers/dom/event.js +39 -0
- package/helpers/dom/event.mjs +63 -0
- package/helpers/errors.d.ts +5 -0
- package/helpers/errors.js +10 -6
- package/helpers/errors.mjs +10 -6
- package/helpers/feature.d.ts +19 -0
- package/helpers/feature.js +21 -0
- package/helpers/feature.mjs +30 -0
- package/helpers/function.d.ts +1 -1
- package/helpers/function.js +4 -1
- package/helpers/function.mjs +4 -1
- package/helpers/mixed.d.ts +103 -0
- package/helpers/mixed.js +373 -4
- package/helpers/mixed.mjs +413 -4
- package/helpers/moves.js +2 -1
- package/helpers/moves.mjs +2 -1
- package/helpers/number.d.ts +22 -0
- package/helpers/number.js +49 -0
- package/helpers/number.mjs +66 -0
- package/helpers/string.d.ts +14 -10
- package/helpers/string.js +17 -9
- package/helpers/string.mjs +27 -17
- package/helpers/templateString.d.mts +1 -0
- package/helpers/templateString.d.ts +13 -0
- package/helpers/templateString.js +29 -0
- package/helpers/templateString.mjs +19 -0
- package/helpers/uiButton.d.mts +1 -0
- package/helpers/uiButton.d.ts +21 -0
- package/helpers/uiButton.js +37 -0
- package/helpers/uiButton.mjs +31 -0
- package/i18n/languages/fa-IR.d.ts +1 -0
- package/i18n/languages/fa-IR.js +1 -0
- package/i18n/languages/fa-IR.mjs +1 -0
- package/index.d.ts +3 -3
- package/languages/all.js +2 -1
- package/languages/fa-IR.js +2 -1
- package/languages/fa-IR.mjs +1 -0
- package/languages/index.js +2 -1
- package/package.json +61 -1
- package/plugins/autoColumnSize/autoColumnSize.d.ts +24 -1
- package/plugins/autoColumnSize/autoColumnSize.js +501 -82
- package/plugins/autoColumnSize/autoColumnSize.mjs +508 -83
- package/plugins/autoRowSize/autoRowSize.d.ts +40 -5
- package/plugins/autoRowSize/autoRowSize.js +68 -24
- package/plugins/autoRowSize/autoRowSize.mjs +98 -29
- package/plugins/autofill/autofill.js +30 -12
- package/plugins/autofill/autofill.mjs +30 -12
- package/plugins/base/base.d.ts +10 -0
- package/plugins/collapsibleColumns/collapsibleColumns.d.ts +4 -0
- package/plugins/collapsibleColumns/collapsibleColumns.js +89 -8
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +93 -8
- package/plugins/columnSorting/columnSorting.d.ts +31 -2
- package/plugins/columnSorting/columnSorting.js +151 -24
- package/plugins/columnSorting/columnSorting.mjs +153 -26
- package/plugins/columnSorting/columnStatesManager.d.ts +1 -1
- package/plugins/columnSorting/columnStatesManager.js +1 -7
- package/plugins/columnSorting/columnStatesManager.mjs +1 -7
- package/plugins/columnSorting/domHelpers.d.ts +3 -0
- package/plugins/columnSorting/domHelpers.js +9 -0
- package/plugins/columnSorting/domHelpers.mjs +3 -3
- package/plugins/columnSorting/rootComparator.js +21 -16
- package/plugins/columnSorting/rootComparator.mjs +21 -16
- package/plugins/columnSorting/sortFunction/checkbox.js +7 -5
- package/plugins/columnSorting/sortFunction/checkbox.mjs +7 -5
- package/plugins/columnSorting/sortFunction/default.js +15 -4
- package/plugins/columnSorting/sortFunction/default.mjs +15 -4
- package/plugins/columnSorting/sortFunction/intlDatetime.d.mts +1 -0
- package/plugins/columnSorting/sortFunction/intlDatetime.d.ts +10 -0
- package/plugins/columnSorting/sortFunction/intlDatetime.js +23 -0
- package/plugins/columnSorting/sortFunction/intlDatetime.mjs +12 -0
- package/plugins/columnSorting/sortService/registry.js +2 -0
- package/plugins/columnSorting/sortService/registry.mjs +2 -0
- package/plugins/columnSorting/utils.d.ts +8 -0
- package/plugins/columnSorting/utils.js +37 -45
- package/plugins/columnSorting/utils.mjs +42 -47
- package/plugins/columnSummary/columnSummary.js +9 -5
- package/plugins/columnSummary/columnSummary.mjs +9 -5
- package/plugins/columnSummary/endpoints.d.ts +69 -2
- package/plugins/columnSummary/endpoints.js +181 -29
- package/plugins/columnSummary/endpoints.mjs +181 -29
- package/plugins/comments/commentEditor.js +1 -1
- package/plugins/comments/commentEditor.mjs +2 -2
- package/plugins/contextMenu/contextMenu.d.ts +12 -1
- package/plugins/contextMenu/contextMenu.js +30 -6
- package/plugins/contextMenu/contextMenu.mjs +30 -6
- package/plugins/contextMenu/index.d.ts +1 -1
- package/plugins/contextMenu/menu/menu.d.ts +22 -1
- package/plugins/contextMenu/menu/menu.js +211 -3
- package/plugins/contextMenu/menu/menu.mjs +212 -4
- package/plugins/contextMenu/menu/menuItemRenderer.js +2 -2
- package/plugins/contextMenu/menu/menuItemRenderer.mjs +2 -2
- package/plugins/contextMenu/predefinedItems/alignment.js +14 -14
- package/plugins/contextMenu/predefinedItems/alignment.mjs +14 -14
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +3 -3
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +3 -3
- package/plugins/contextMenu/utils.js +1 -1
- package/plugins/contextMenu/utils.mjs +1 -1
- package/plugins/copyPaste/copyPaste.js +70 -16
- package/plugins/copyPaste/copyPaste.mjs +71 -17
- package/plugins/copyPaste/copyableRanges.js +6 -2
- package/plugins/copyPaste/copyableRanges.mjs +6 -2
- package/plugins/copyPaste/pasteEvent.d.ts +1 -1
- package/plugins/customBorders/customBorders.d.ts +21 -40
- package/plugins/customBorders/customBorders.js +1080 -201
- package/plugins/customBorders/customBorders.mjs +1082 -203
- package/plugins/customBorders/utils.d.ts +71 -0
- package/plugins/customBorders/utils.js +63 -0
- package/plugins/customBorders/utils.mjs +101 -0
- package/plugins/dataProvider/dataProvider.d.ts +2 -1
- package/plugins/dataProvider/dataProvider.js +22 -7
- package/plugins/dataProvider/dataProvider.mjs +22 -7
- package/plugins/dataProvider/query/crud.js +1 -1
- package/plugins/dataProvider/query/crud.mjs +1 -1
- package/plugins/dialog/dialog.js +14 -9
- package/plugins/dialog/dialog.mjs +14 -9
- package/plugins/dialog/templates/confirm.d.ts +1 -1
- package/plugins/dialog/templates/confirm.js +2 -1
- package/plugins/dialog/templates/confirm.mjs +2 -1
- package/plugins/dialog/ui.d.ts +5 -3
- package/plugins/dialog/ui.js +12 -4
- package/plugins/dialog/ui.mjs +12 -4
- package/plugins/dragToScroll/dragToScroll.d.ts +2 -2
- package/plugins/dragToScroll/dragToScroll.js +150 -14
- package/plugins/dragToScroll/dragToScroll.mjs +151 -15
- package/plugins/dropdownMenu/dropdownMenu.d.ts +5 -1
- package/plugins/dropdownMenu/dropdownMenu.js +45 -3
- package/plugins/dropdownMenu/dropdownMenu.mjs +46 -4
- package/plugins/dropdownMenu/index.d.ts +1 -0
- package/plugins/emptyDataState/emptyDataState.js +4 -6
- package/plugins/emptyDataState/emptyDataState.mjs +4 -6
- package/plugins/emptyDataState/ui.js +2 -1
- package/plugins/emptyDataState/ui.mjs +2 -1
- package/plugins/exportFile/dataProvider.js +7 -9
- package/plugins/exportFile/dataProvider.mjs +7 -9
- package/plugins/exportFile/exportFile.d.ts +10 -3
- package/plugins/exportFile/types/_base.js +4 -10
- package/plugins/exportFile/types/_base.mjs +4 -10
- package/plugins/exportFile/types/xlsx/cell-style.js +4 -2
- package/plugins/exportFile/types/xlsx/cell-style.mjs +4 -2
- package/plugins/exportFile/types/xlsx/date-utils.d.ts +15 -0
- package/plugins/exportFile/types/xlsx/date-utils.js +31 -0
- package/plugins/exportFile/types/xlsx/date-utils.mjs +36 -0
- package/plugins/exportFile/types/xlsx.js +13 -9
- package/plugins/exportFile/types/xlsx.mjs +14 -10
- package/plugins/exportFile/utils.d.ts +9 -1
- package/plugins/exportFile/utils.js +27 -4
- package/plugins/exportFile/utils.mjs +40 -2
- package/plugins/filters/component/_base.d.ts +1 -2
- package/plugins/filters/component/_base.js +1 -2
- package/plugins/filters/component/_base.mjs +1 -2
- package/plugins/filters/component/condition.d.ts +1 -0
- package/plugins/filters/component/condition.js +2 -0
- package/plugins/filters/component/condition.mjs +2 -0
- package/plugins/filters/component/value.d.ts +5 -6
- package/plugins/filters/component/value.js +53 -34
- package/plugins/filters/component/value.mjs +54 -35
- package/plugins/filters/condition/date/after.js +2 -1
- package/plugins/filters/condition/date/after.mjs +2 -1
- package/plugins/filters/condition/date/afterOrEqual.js +2 -1
- package/plugins/filters/condition/date/afterOrEqual.mjs +2 -1
- package/plugins/filters/condition/date/before.js +2 -1
- package/plugins/filters/condition/date/before.mjs +2 -1
- package/plugins/filters/condition/date/beforeOrEqual.js +2 -1
- package/plugins/filters/condition/date/beforeOrEqual.mjs +2 -1
- package/plugins/filters/condition/equal.d.ts +7 -0
- package/plugins/filters/condition/equal.js +4 -0
- package/plugins/filters/condition/equal.mjs +10 -0
- package/plugins/filters/condition/intlDatetime/after.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/after.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/after.js +77 -0
- package/plugins/filters/condition/intlDatetime/after.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.js +77 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/before.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/before.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/before.js +77 -0
- package/plugins/filters/condition/intlDatetime/before.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.js +77 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/between.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/between.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/between.js +78 -0
- package/plugins/filters/condition/intlDatetime/between.mjs +23 -0
- package/plugins/filters/condition/intlDatetime/today.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/today.d.ts +17 -0
- package/plugins/filters/condition/intlDatetime/today.js +76 -0
- package/plugins/filters/condition/intlDatetime/today.mjs +20 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.d.ts +17 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.js +77 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.mjs +21 -0
- package/plugins/filters/condition/intlDatetime/yesterday.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/yesterday.d.ts +17 -0
- package/plugins/filters/condition/intlDatetime/yesterday.js +77 -0
- package/plugins/filters/condition/intlDatetime/yesterday.mjs +21 -0
- package/plugins/filters/conditionCollection.js +4 -7
- package/plugins/filters/conditionCollection.mjs +4 -7
- package/plugins/filters/conditionUpdateObserver.d.ts +2 -2
- package/plugins/filters/conditionUpdateObserver.js +148 -49
- package/plugins/filters/conditionUpdateObserver.mjs +148 -49
- package/plugins/filters/constants.d.ts +1 -0
- package/plugins/filters/constants.js +31 -0
- package/plugins/filters/constants.mjs +28 -0
- package/plugins/filters/dataFilter.d.ts +4 -12
- package/plugins/filters/dataFilter.js +7 -19
- package/plugins/filters/dataFilter.mjs +8 -20
- package/plugins/filters/filters.d.ts +33 -9
- package/plugins/filters/filters.js +91 -31
- package/plugins/filters/filters.mjs +92 -32
- package/plugins/filters/sortComparators.d.ts +9 -2
- package/plugins/filters/sortComparators.js +34 -1
- package/plugins/filters/sortComparators.mjs +38 -3
- package/plugins/filters/ui/input.d.ts +4 -0
- package/plugins/filters/ui/input.js +18 -6
- package/plugins/filters/ui/input.mjs +18 -6
- package/plugins/filters/ui/multipleSelect.js +27 -4
- package/plugins/filters/ui/multipleSelect.mjs +27 -4
- package/plugins/filters/ui/select.js +1 -1
- package/plugins/filters/ui/select.mjs +1 -1
- package/plugins/formulas/engine/register.d.ts +5 -4
- package/plugins/formulas/engine/register.js +5 -2
- package/plugins/formulas/engine/register.mjs +9 -5
- package/plugins/formulas/engine/settings.d.ts +2 -6
- package/plugins/formulas/engine/settings.js +29 -4
- package/plugins/formulas/engine/settings.mjs +29 -4
- package/plugins/formulas/engine/types.d.ts +12 -2
- package/plugins/formulas/formulas.d.ts +39 -0
- package/plugins/formulas/formulas.js +789 -47
- package/plugins/formulas/formulas.mjs +793 -49
- package/plugins/formulas/hyperlinkUrl.d.mts +1 -0
- package/plugins/formulas/hyperlinkUrl.d.ts +12 -0
- package/plugins/formulas/hyperlinkUrl.js +32 -0
- package/plugins/formulas/hyperlinkUrl.mjs +32 -0
- package/plugins/formulas/indexSyncer/axisSyncer.d.ts +1 -0
- package/plugins/formulas/indexSyncer/axisSyncer.js +72 -15
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +72 -15
- package/plugins/formulas/utils.d.ts +9 -0
- package/plugins/formulas/utils.js +21 -0
- package/plugins/formulas/utils.mjs +25 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +6 -1
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +6 -1
- package/plugins/hiddenColumns/hiddenColumns.js +6 -3
- package/plugins/hiddenColumns/hiddenColumns.mjs +6 -3
- package/plugins/hiddenRows/contextMenuItem/showRow.js +6 -1
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +6 -1
- package/plugins/hiddenRows/hiddenRows.js +6 -3
- package/plugins/hiddenRows/hiddenRows.mjs +6 -3
- package/plugins/index.d.ts +5 -1
- package/plugins/index.js +10 -0
- package/plugins/index.mjs +5 -1
- package/plugins/loading/content.d.ts +5 -3
- package/plugins/loading/content.js +3 -2
- package/plugins/loading/content.mjs +8 -5
- package/plugins/loading/loading.d.ts +5 -2
- package/plugins/loading/loading.mjs +5 -2
- package/plugins/manualColumnMove/manualColumnMove.d.ts +10 -0
- package/plugins/manualColumnMove/manualColumnMove.js +122 -20
- package/plugins/manualColumnMove/manualColumnMove.mjs +123 -21
- package/plugins/manualColumnResize/manualColumnResize.d.ts +20 -7
- package/plugins/manualColumnResize/manualColumnResize.js +33 -13
- package/plugins/manualColumnResize/manualColumnResize.mjs +34 -14
- package/plugins/manualRowResize/manualRowResize.d.ts +21 -8
- package/plugins/manualRowResize/manualRowResize.js +34 -14
- package/plugins/manualRowResize/manualRowResize.mjs +35 -15
- package/plugins/mergeCells/cellCoords.d.ts +8 -0
- package/plugins/mergeCells/cellCoords.js +11 -0
- package/plugins/mergeCells/cellCoords.mjs +11 -0
- package/plugins/mergeCells/cellsCollection.d.ts +46 -2
- package/plugins/mergeCells/cellsCollection.js +189 -68
- package/plugins/mergeCells/cellsCollection.mjs +189 -68
- package/plugins/mergeCells/focusOrder.d.ts +26 -20
- package/plugins/mergeCells/focusOrder.js +358 -177
- package/plugins/mergeCells/focusOrder.mjs +363 -172
- package/plugins/mergeCells/mergeCells.d.ts +13 -8
- package/plugins/mergeCells/mergeCells.js +322 -64
- package/plugins/mergeCells/mergeCells.mjs +322 -64
- package/plugins/moveCells/helpers.d.mts +1 -0
- package/plugins/moveCells/helpers.d.ts +21 -0
- package/plugins/moveCells/helpers.js +20 -0
- package/plugins/moveCells/helpers.mjs +15 -0
- package/plugins/moveCells/index.d.mts +1 -0
- package/plugins/moveCells/index.d.ts +1 -0
- package/plugins/moveCells/index.js +22 -0
- package/plugins/moveCells/index.mjs +1 -0
- package/plugins/moveCells/moveCells.d.mts +1 -0
- package/plugins/moveCells/moveCells.d.ts +80 -0
- package/plugins/moveCells/moveCells.js +602 -0
- package/plugins/moveCells/moveCells.mjs +587 -0
- package/plugins/multiColumnSorting/multiColumnSorting.d.ts +8 -8
- package/plugins/multiColumnSorting/multiColumnSorting.js +11 -16
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +11 -16
- package/plugins/multiColumnSorting/rootComparator.js +26 -19
- package/plugins/multiColumnSorting/rootComparator.mjs +26 -19
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.d.ts +19 -4
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +273 -58
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +273 -58
- package/plugins/nestedHeaders/nestedHeaders.d.ts +10 -1
- package/plugins/nestedHeaders/nestedHeaders.js +222 -23
- package/plugins/nestedHeaders/nestedHeaders.mjs +222 -23
- package/plugins/nestedHeaders/stateManager/columnArrangement.d.mts +1 -0
- package/plugins/nestedHeaders/stateManager/columnArrangement.d.ts +37 -0
- package/plugins/nestedHeaders/stateManager/columnArrangement.js +35 -0
- package/plugins/nestedHeaders/stateManager/columnArrangement.mjs +30 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.d.mts +1 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.d.ts +57 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.js +115 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.mjs +135 -0
- package/plugins/nestedHeaders/stateManager/headersTree.d.ts +14 -1
- package/plugins/nestedHeaders/stateManager/index.d.ts +76 -13
- package/plugins/nestedHeaders/stateManager/index.js +381 -38
- package/plugins/nestedHeaders/stateManager/index.mjs +382 -39
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +3 -2
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +3 -2
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -1
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +5 -1
- package/plugins/nestedHeaders/stateManager/sourceSettings.d.ts +23 -6
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +20 -4
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +20 -4
- package/plugins/nestedHeaders/stateManager/utils.d.ts +17 -1
- package/plugins/nestedHeaders/stateManager/utils.js +6 -1
- package/plugins/nestedHeaders/stateManager/utils.mjs +6 -1
- package/plugins/nestedHeaders/utils/ghostTable.js +21 -8
- package/plugins/nestedHeaders/utils/ghostTable.mjs +21 -8
- package/plugins/nestedRows/data/dataManager.d.ts +4 -1
- package/plugins/nestedRows/data/dataManager.js +10 -4
- package/plugins/nestedRows/data/dataManager.mjs +10 -4
- package/plugins/nestedRows/nestedRows.d.ts +127 -1
- package/plugins/nestedRows/nestedRows.js +330 -8
- package/plugins/nestedRows/nestedRows.mjs +330 -8
- package/plugins/nestedRows/ui/collapsing.d.ts +58 -0
- package/plugins/nestedRows/ui/collapsing.js +236 -40
- package/plugins/nestedRows/ui/collapsing.mjs +236 -40
- package/plugins/notification/notification.d.ts +2 -1
- package/plugins/notification/notification.js +6 -3
- package/plugins/notification/notification.mjs +6 -3
- package/plugins/notification/ui.d.ts +8 -5
- package/plugins/notification/ui.js +18 -6
- package/plugins/notification/ui.mjs +18 -6
- package/plugins/pagination/pagination.js +2 -2
- package/plugins/pagination/pagination.mjs +2 -2
- package/plugins/search/search.js +23 -2
- package/plugins/search/search.mjs +23 -2
- package/plugins/selectionHandles/helpers.d.mts +1 -0
- package/plugins/selectionHandles/helpers.d.ts +17 -0
- package/plugins/selectionHandles/helpers.js +16 -0
- package/plugins/selectionHandles/helpers.mjs +11 -0
- package/plugins/selectionHandles/index.d.mts +1 -0
- package/plugins/selectionHandles/index.d.ts +1 -0
- package/plugins/selectionHandles/index.js +22 -0
- package/plugins/selectionHandles/index.mjs +1 -0
- package/plugins/selectionHandles/selectionHandles.d.mts +1 -0
- package/plugins/selectionHandles/selectionHandles.d.ts +52 -0
- package/plugins/selectionHandles/selectionHandles.js +342 -0
- package/plugins/selectionHandles/selectionHandles.mjs +323 -0
- package/plugins/trimRows/trimRows.d.ts +1 -1
- package/plugins/trimRows/trimRows.js +6 -2
- package/plugins/trimRows/trimRows.mjs +6 -2
- package/plugins/types.d.ts +4 -0
- package/plugins/undoRedo/actions/cellAlignment.js +1 -1
- package/plugins/undoRedo/actions/cellAlignment.mjs +1 -1
- package/plugins/undoRedo/actions/createColumn.js +4 -1
- package/plugins/undoRedo/actions/createColumn.mjs +4 -1
- package/plugins/undoRedo/actions/createRow.js +4 -1
- package/plugins/undoRedo/actions/createRow.mjs +4 -1
- package/plugins/undoRedo/actions/fixedCounts.d.mts +1 -0
- package/plugins/undoRedo/actions/fixedCounts.d.ts +36 -0
- package/plugins/undoRedo/actions/fixedCounts.js +63 -0
- package/plugins/undoRedo/actions/fixedCounts.mjs +62 -0
- package/plugins/undoRedo/actions/index.js +2 -0
- package/plugins/undoRedo/actions/index.mjs +2 -0
- package/plugins/undoRedo/actions/moveCells.d.mts +1 -0
- package/plugins/undoRedo/actions/moveCells.d.ts +104 -0
- package/plugins/undoRedo/actions/moveCells.js +225 -0
- package/plugins/undoRedo/actions/moveCells.mjs +227 -0
- package/plugins/undoRedo/actions/removeColumn.d.ts +18 -2
- package/plugins/undoRedo/actions/removeColumn.js +11 -4
- package/plugins/undoRedo/actions/removeColumn.mjs +12 -5
- package/plugins/undoRedo/actions/removeRow.js +2 -57
- package/plugins/undoRedo/actions/removeRow.mjs +2 -57
- package/plugins/undoRedo/undoRedo.d.ts +26 -0
- package/plugins/undoRedo/undoRedo.js +36 -2
- package/plugins/undoRedo/undoRedo.mjs +36 -2
- package/plugins/undoRedo/utils.d.ts +29 -0
- package/plugins/undoRedo/utils.js +55 -3
- package/plugins/undoRedo/utils.mjs +59 -0
- package/renderSizeProbe.d.mts +1 -0
- package/renderSizeProbe.d.ts +60 -0
- package/renderSizeProbe.js +163 -0
- package/renderSizeProbe.mjs +176 -0
- package/renderers/checkboxRenderer/checkboxRenderer.js +9 -4
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +9 -4
- package/renderers/index.d.ts +3 -2
- package/renderers/index.js +8 -0
- package/renderers/index.mjs +3 -1
- package/renderers/intlDatetimeRenderer/index.d.mts +1 -0
- package/renderers/intlDatetimeRenderer/index.d.ts +1 -0
- package/renderers/intlDatetimeRenderer/index.js +22 -0
- package/renderers/intlDatetimeRenderer/index.mjs +1 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.d.mts +1 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.d.ts +26 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.js +82 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.mjs +67 -0
- package/renderers/multiSelectRenderer/multiSelectRenderer.js +2 -3
- package/renderers/multiSelectRenderer/multiSelectRenderer.mjs +2 -3
- package/renderers/multiSelectRenderer/utils/utils.d.ts +1 -1
- package/renderers/multiSelectRenderer/utils/utils.js +11 -8
- package/renderers/multiSelectRenderer/utils/utils.mjs +11 -8
- package/renderers/passwordRenderer/passwordRenderer.js +6 -1
- package/renderers/passwordRenderer/passwordRenderer.mjs +6 -1
- package/renderers/renderCell.d.mts +1 -0
- package/renderers/renderCell.d.ts +37 -0
- package/renderers/renderCell.js +43 -0
- package/renderers/renderCell.mjs +48 -0
- package/selection/highlight/types/areaLayered.d.ts +3 -1
- package/selection/highlight/types/areaLayered.js +4 -2
- package/selection/highlight/types/areaLayered.mjs +6 -2
- package/selection/highlight/types/focus.d.ts +3 -1
- package/selection/highlight/types/focus.js +3 -2
- package/selection/highlight/types/focus.mjs +5 -2
- package/selection/mouseEventHandler.js +29 -26
- package/selection/mouseEventHandler.mjs +29 -26
- package/selection/moveCells.d.mts +1 -0
- package/selection/moveCells.d.ts +15 -0
- package/selection/moveCells.js +13 -0
- package/selection/moveCells.mjs +9 -0
- package/selection/selection.d.ts +56 -2
- package/selection/selection.js +149 -5
- package/selection/selection.mjs +149 -5
- package/selection/types.d.ts +3 -0
- package/settings.d.ts +24 -3
- package/shortcuts/context.d.ts +4 -0
- package/shortcuts/context.js +16 -8
- package/shortcuts/context.mjs +20 -8
- package/shortcuts/contexts/commands/populateSelectedCellsData.js +1 -1
- package/shortcuts/contexts/commands/populateSelectedCellsData.mjs +1 -1
- package/styles/handsontable.css +504 -158
- package/styles/handsontable.min.css +4 -4
- package/styles/handsontableStyles.d.mts +2 -0
- package/styles/handsontableStyles.d.ts +2 -0
- package/styles/handsontableStyles.js +1 -1
- package/styles/handsontableStyles.mjs +1 -1
- package/styles/ht-icons-horizon.css +1 -10
- package/styles/ht-icons-horizon.min.css +4 -4
- package/styles/ht-icons-main.css +1 -10
- package/styles/ht-icons-main.min.css +4 -4
- package/styles/ht-theme-classic-no-icons.css +6 -0
- package/styles/ht-theme-classic-no-icons.min.css +4 -4
- package/styles/ht-theme-classic.css +7 -10
- package/styles/ht-theme-classic.min.css +4 -4
- package/styles/ht-theme-horizon-no-icons.css +6 -0
- package/styles/ht-theme-horizon-no-icons.min.css +4 -4
- package/styles/ht-theme-horizon.css +7 -10
- package/styles/ht-theme-horizon.min.css +4 -4
- package/styles/ht-theme-main-no-icons.css +6 -0
- package/styles/ht-theme-main-no-icons.min.css +4 -4
- package/styles/ht-theme-main.css +7 -10
- package/styles/ht-theme-main.min.css +4 -4
- package/tableView.d.ts +17 -4
- package/tableView.js +208 -42
- package/tableView.mjs +209 -43
- package/themes/engine/index.d.ts +2 -1
- package/themes/engine/index.js +3 -0
- package/themes/engine/index.mjs +1 -1
- package/themes/engine/manager.d.ts +75 -3
- package/themes/engine/manager.js +242 -6
- package/themes/engine/manager.mjs +249 -6
- package/themes/engine/utils/cssVariables.d.ts +18 -1
- package/themes/engine/utils/cssVariables.js +27 -11
- package/themes/engine/utils/cssVariables.mjs +28 -11
- package/themes/engine/utils/validation.js +7 -0
- package/themes/engine/utils/validation.mjs +7 -0
- package/themes/static/variables/helpers/iconsMap.js +1 -6
- package/themes/static/variables/helpers/iconsMap.mjs +1 -6
- package/themes/static/variables/tokens/classic.js +6 -0
- package/themes/static/variables/tokens/classic.mjs +6 -0
- package/themes/static/variables/tokens/horizon.js +6 -0
- package/themes/static/variables/tokens/horizon.mjs +6 -0
- package/themes/static/variables/tokens/main.js +6 -0
- package/themes/static/variables/tokens/main.mjs +6 -0
- package/themes/types.d.ts +1 -1
- package/translations/indexMapper.d.ts +14 -9
- package/translations/indexMapper.js +104 -43
- package/translations/indexMapper.mjs +104 -43
- package/translations/mapCollections/aggregatedCollection.js +20 -35
- package/translations/mapCollections/aggregatedCollection.mjs +20 -35
- package/translations/mapCollections/mapCollection.d.ts +10 -4
- package/translations/mapCollections/mapCollection.js +2 -2
- package/translations/mapCollections/mapCollection.mjs +2 -2
- package/translations/maps/booleanMap.d.mts +1 -0
- package/translations/maps/booleanMap.d.ts +86 -0
- package/translations/maps/booleanMap.js +300 -0
- package/translations/maps/booleanMap.mjs +308 -0
- package/translations/maps/hidingMap.d.ts +5 -2
- package/translations/maps/hidingMap.js +8 -3
- package/translations/maps/hidingMap.mjs +8 -3
- package/translations/maps/index.d.ts +5 -2
- package/translations/maps/index.js +7 -3
- package/translations/maps/index.mjs +10 -2
- package/translations/maps/indexMap.d.ts +26 -2
- package/translations/maps/indexMap.js +78 -6
- package/translations/maps/indexMap.mjs +78 -6
- package/translations/maps/indexesSequence.d.ts +53 -2
- package/translations/maps/indexesSequence.js +225 -3
- package/translations/maps/indexesSequence.mjs +233 -3
- package/translations/maps/trimmingMap.d.ts +5 -2
- package/translations/maps/trimmingMap.js +8 -3
- package/translations/maps/trimmingMap.mjs +8 -3
- package/translations/maps/utils/actionsOnIndexes.js +20 -1
- package/translations/maps/utils/actionsOnIndexes.mjs +20 -1
- package/translations/maps/utils/indexesSequence.js +12 -3
- package/translations/maps/utils/indexesSequence.mjs +12 -3
- package/translations/maps/utils/physicallyIndexed.js +12 -1
- package/translations/maps/utils/physicallyIndexed.mjs +12 -1
- package/utils/entitlementLicenseKey/classify.d.mts +1 -0
- package/utils/entitlementLicenseKey/classify.d.ts +34 -0
- package/utils/entitlementLicenseKey/classify.js +97 -0
- package/utils/entitlementLicenseKey/classify.mjs +96 -0
- package/utils/entitlementLicenseKey/constants.d.mts +1 -0
- package/utils/entitlementLicenseKey/constants.d.ts +69 -0
- package/utils/entitlementLicenseKey/constants.js +54 -0
- package/utils/entitlementLicenseKey/constants.mjs +66 -0
- package/utils/entitlementLicenseKey/detectFormat.d.mts +1 -0
- package/utils/entitlementLicenseKey/detectFormat.d.ts +23 -0
- package/utils/entitlementLicenseKey/detectFormat.js +60 -0
- package/utils/entitlementLicenseKey/detectFormat.mjs +60 -0
- package/utils/entitlementLicenseKey/encoding.d.mts +1 -0
- package/utils/entitlementLicenseKey/encoding.d.ts +58 -0
- package/utils/entitlementLicenseKey/encoding.js +161 -0
- package/utils/entitlementLicenseKey/encoding.mjs +172 -0
- package/utils/entitlementLicenseKey/extractKeyData.d.mts +1 -0
- package/utils/entitlementLicenseKey/extractKeyData.d.ts +47 -0
- package/utils/entitlementLicenseKey/extractKeyData.js +213 -0
- package/utils/entitlementLicenseKey/extractKeyData.mjs +232 -0
- package/utils/entitlementLicenseKey/grants.d.mts +1 -0
- package/utils/entitlementLicenseKey/grants.d.ts +54 -0
- package/utils/entitlementLicenseKey/grants.js +68 -0
- package/utils/entitlementLicenseKey/grants.mjs +84 -0
- package/utils/entitlementLicenseKey/index.d.mts +1 -0
- package/utils/entitlementLicenseKey/index.d.ts +8 -0
- package/utils/entitlementLicenseKey/index.js +53 -0
- package/utils/entitlementLicenseKey/index.mjs +6 -0
- package/utils/entitlementLicenseKey/sha512.d.mts +1 -0
- package/utils/entitlementLicenseKey/sha512.d.ts +11 -0
- package/utils/entitlementLicenseKey/sha512.js +328 -0
- package/utils/entitlementLicenseKey/sha512.mjs +327 -0
- package/utils/entitlementLicenseKey/types.d.mts +1 -0
- package/utils/entitlementLicenseKey/types.d.ts +84 -0
- package/utils/entitlementLicenseKey/types.js +8 -0
- package/utils/entitlementLicenseKey/types.mjs +10 -0
- package/utils/ghostTable.d.ts +1 -0
- package/utils/ghostTable.js +60 -11
- package/utils/ghostTable.mjs +60 -11
- package/utils/licenseBranding/badge.d.mts +1 -0
- package/utils/licenseBranding/badge.d.ts +21 -0
- package/utils/licenseBranding/badge.js +237 -0
- package/utils/licenseBranding/badge.mjs +244 -0
- package/utils/licenseBranding/content.d.mts +1 -0
- package/utils/licenseBranding/content.d.ts +54 -0
- package/utils/licenseBranding/content.js +93 -0
- package/utils/licenseBranding/content.mjs +79 -0
- package/utils/licenseBranding/index.d.mts +1 -0
- package/utils/licenseBranding/index.d.ts +14 -0
- package/utils/licenseBranding/index.js +55 -0
- package/utils/licenseBranding/index.mjs +56 -0
- package/utils/licenseBranding/lockScreen.d.mts +1 -0
- package/utils/licenseBranding/lockScreen.d.ts +23 -0
- package/utils/licenseBranding/lockScreen.js +150 -0
- package/utils/licenseBranding/lockScreen.mjs +159 -0
- package/utils/licenseNotification.d.ts +19 -0
- package/utils/licenseNotification.js +56 -29
- package/utils/licenseNotification.mjs +61 -29
- package/utils/movableMeta.d.mts +1 -0
- package/utils/movableMeta.d.ts +40 -0
- package/utils/movableMeta.js +47 -0
- package/utils/movableMeta.mjs +46 -0
- package/utils/parseTable.js +16 -7
- package/utils/parseTable.mjs +16 -7
- package/utils/samplesGenerator.d.ts +41 -14
- package/utils/samplesGenerator.js +114 -42
- package/utils/samplesGenerator.mjs +114 -42
- package/utils/sanitizer.d.mts +1 -0
- package/utils/sanitizer.d.ts +47 -0
- package/utils/sanitizer.js +43 -0
- package/utils/sanitizer.mjs +55 -0
- package/utils/stylesHandler.d.ts +13 -0
- package/utils/stylesHandler.js +55 -2
- package/utils/stylesHandler.mjs +55 -2
- package/validators/autocompleteValidator/autocompleteValidator.js +3 -0
- package/validators/autocompleteValidator/autocompleteValidator.mjs +3 -0
- package/validators/index.d.ts +3 -2
- package/validators/index.js +8 -0
- package/validators/index.mjs +3 -1
- package/validators/intlDatetimeValidator/index.d.mts +1 -0
- package/validators/intlDatetimeValidator/index.d.ts +1 -0
- package/validators/intlDatetimeValidator/index.js +25 -0
- package/validators/intlDatetimeValidator/index.mjs +1 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.d.mts +1 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.d.ts +28 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.js +49 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.mjs +37 -0
- package/3rdparty/walkontable/src/overlay/bottom.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/top.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.d.mts +0 -1
- package/3rdparty/walkontable/src/overlays.d.ts +0 -329
- package/3rdparty/walkontable/src/overlays.js +0 -870
- package/3rdparty/walkontable/src/overlays.mjs +0 -860
- package/3rdparty/walkontable/src/renderer/table.d.mts +0 -1
- package/3rdparty/walkontable/src/renderer/table.js +0 -229
- package/3rdparty/walkontable/src/settings.d.mts +0 -2
- package/3rdparty/walkontable/src/settings.js +0 -196
- package/3rdparty/walkontable/src/settings.mjs +0 -263
- package/3rdparty/walkontable/src/table/bottom.d.mts +0 -2
- package/3rdparty/walkontable/src/table/bottom.d.ts +0 -19
- package/3rdparty/walkontable/src/table/bottom.js +0 -38
- package/3rdparty/walkontable/src/table/bottom.mjs +0 -23
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.d.mts +0 -2
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.d.ts +0 -20
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +0 -24
- package/3rdparty/walkontable/src/table/inlineStart.d.mts +0 -2
- package/3rdparty/walkontable/src/table/inlineStart.d.ts +0 -16
- package/3rdparty/walkontable/src/table/inlineStart.js +0 -35
- package/3rdparty/walkontable/src/table/inlineStart.mjs +0 -20
- package/3rdparty/walkontable/src/table/master.d.mts +0 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.d.mts +0 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.d.ts +0 -75
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -122
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -112
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.d.mts +0 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.d.ts +0 -75
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -122
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -112
- package/3rdparty/walkontable/src/table/top.d.mts +0 -2
- package/3rdparty/walkontable/src/table/top.d.ts +0 -19
- package/3rdparty/walkontable/src/table/top.js +0 -38
- package/3rdparty/walkontable/src/table/top.mjs +0 -23
- package/3rdparty/walkontable/src/table/topInlineStartCorner.d.mts +0 -2
- package/3rdparty/walkontable/src/table/topInlineStartCorner.d.ts +0 -20
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +0 -24
- package/3rdparty/walkontable/src/table.d.mts +0 -2
- package/3rdparty/walkontable/src/table.d.ts +0 -741
- package/3rdparty/walkontable/src/table.js +0 -1120
- package/3rdparty/walkontable/src/table.mjs +0 -1105
- package/3rdparty/walkontable/src/utils/cellCoords.d.mts +0 -1
- package/3rdparty/walkontable/src/utils/cellCoords.js +0 -54
- package/3rdparty/walkontable/src/utils/cellCoords.mjs +0 -54
- package/3rdparty/walkontable/src/utils/column.d.mts +0 -2
- package/3rdparty/walkontable/src/utils/column.js +0 -75
- package/3rdparty/walkontable/src/utils/column.mjs +0 -70
- package/3rdparty/walkontable/src/utils/positionCache.d.mts +0 -1
- package/3rdparty/walkontable/src/utils/positionCache.d.ts +0 -91
- package/3rdparty/walkontable/src/utils/positionCache.js +0 -193
- package/3rdparty/walkontable/src/utils/positionCache.mjs +0 -194
- package/3rdparty/walkontable/src/utils/row.d.mts +0 -2
- package/3rdparty/walkontable/src/utils/row.js +0 -46
- package/3rdparty/walkontable/src/utils/row.mjs +0 -41
- package/3rdparty/walkontable/src/viewport.d.ts +0 -254
- package/3rdparty/walkontable/src/viewport.js +0 -533
- package/3rdparty/walkontable/src/viewport.mjs +0 -523
- /package/3rdparty/walkontable/src/{renderer → axisSizing/positionCache}/index.d.mts +0 -0
- /package/3rdparty/walkontable/src/{overlays.d.mts → overlay/overlays.d.mts} +0 -0
- /package/3rdparty/walkontable/src/overlay/{_base.d.mts → regions/_base.d.mts} +0 -0
- /package/3rdparty/walkontable/src/{stickyScrollStrategy.d.mts → overlay/strategies/stickyScrollStrategy.d.mts} +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/_base.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/_base.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/_base.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/cells.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/cells.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rows.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rows.d.ts +0 -0
- /package/3rdparty/walkontable/src/{scroll.d.mts → scroll/scroll.d.mts} +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.d.mts +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.d.mts +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.js +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.mjs +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.d.mts +0 -0
- /package/3rdparty/walkontable/src/{viewport.d.mts → viewport/viewport.d.mts} +0 -0
package/tableView.mjs
CHANGED
|
@@ -48,14 +48,27 @@ function _class_private_method_init(obj, privateSet) {
|
|
|
48
48
|
_check_private_redeclaration(obj, privateSet);
|
|
49
49
|
privateSet.add(obj);
|
|
50
50
|
}
|
|
51
|
-
import { addClass, removeClass, clearTextSelection, empty, eventTargetEl, fastInnerHTML, fastInnerText, getScrollbarWidth, hasClass, isChildOf, isInput, isOutsideInput, isVisible, setAttribute, getParentWindow } from './helpers/dom/element.mjs';
|
|
51
|
+
import { addClass, removeClass, clearTextSelection, empty, eventTargetEl, fastInnerHTML, fastInnerText, getScrollbarWidth, hasClass, isChildOf, getDeepActiveElement, getShadowHostChain, isHTMLElement, isInput, isOutsideInput, isShadowRoot, isVisible, setAttribute, getParentWindow } from './helpers/dom/element.mjs';
|
|
52
52
|
import EventManager from './eventManager.mjs';
|
|
53
|
+
import { formatCellValue, renderCell } from './renderers/renderCell.mjs';
|
|
54
|
+
import { RenderSizeProbe } from './renderSizeProbe.mjs';
|
|
53
55
|
import { isImmediatePropagationStopped, isRightClick, isLeftClick, isMiddleClick } from './helpers/dom/event.mjs';
|
|
54
56
|
import Walkontable from './3rdparty/walkontable/src/index.mjs';
|
|
55
57
|
import { handleMouseEvent } from './selection/mouseEventHandler.mjs';
|
|
56
58
|
import { isRootInstance } from './utils/rootInstance.mjs';
|
|
59
|
+
import { getSanitizer } from './utils/sanitizer.mjs';
|
|
57
60
|
import { resolveWithInstance } from './utils/staticRegister.mjs';
|
|
58
61
|
import { A11Y_COLCOUNT, A11Y_MULTISELECTABLE, A11Y_PRESENTATION, A11Y_ROWCOUNT, A11Y_TREEGRID } from './helpers/a11y.mjs';
|
|
62
|
+
/**
|
|
63
|
+
* Checks whether a size setting (`rowHeights`, `minRowHeights`, or `colWidths`) guarantees a uniform
|
|
64
|
+
* size for every item. Only a plain number (or unset) is uniform; an array or function defines
|
|
65
|
+
* per-item sizes, and a string is treated conservatively as non-uniform.
|
|
66
|
+
*
|
|
67
|
+
* @param {unknown} value The size setting value.
|
|
68
|
+
* @returns {boolean}
|
|
69
|
+
*/ function isUniformSizeSetting(value) {
|
|
70
|
+
return value === undefined || value === null || typeof value === 'number';
|
|
71
|
+
}
|
|
59
72
|
var /**
|
|
60
73
|
* The total number of the column header renderers applied to the table through the
|
|
61
74
|
* `afterGetColumnHeaderRenderers` hook.
|
|
@@ -67,12 +80,24 @@ var /**
|
|
|
67
80
|
*
|
|
68
81
|
* @type {number}
|
|
69
82
|
*/ _rowHeadersCount = /*#__PURE__*/ new WeakMap(), /**
|
|
83
|
+
* Whether the sizes measured from theme values cached against unresolved styles still have to be
|
|
84
|
+
* dropped. Set by the first render that finds the styles resolvable again, and kept until a render
|
|
85
|
+
* has actually reached the cells and re-measured them (see `#discardSizesMeasuredWithoutStyles`).
|
|
86
|
+
*
|
|
87
|
+
* @type {boolean}
|
|
88
|
+
*/ _sizesMeasuredWithoutStylesPending = /*#__PURE__*/ new WeakMap(), /**
|
|
70
89
|
* Defines if the text should be selected during mousemove.
|
|
71
90
|
*
|
|
72
91
|
* @type {boolean}
|
|
73
92
|
*/ _selectionMouseDown = /*#__PURE__*/ new WeakMap(), /**
|
|
74
93
|
* @type {boolean}
|
|
75
94
|
*/ _mouseDown = /*#__PURE__*/ new WeakMap(), /**
|
|
95
|
+
* Tracks whether the document-level mousedown handler already classified the current click
|
|
96
|
+
* cycle as an outside click and consulted the `outsideClickDeselects` setting. The mouseup
|
|
97
|
+
* handler skips its own deselect pass then, so the setting's callback fires once per click.
|
|
98
|
+
*
|
|
99
|
+
* @type {boolean}
|
|
100
|
+
*/ _outsideClickHandled = /*#__PURE__*/ new WeakMap(), /**
|
|
76
101
|
* Main <TABLE> element.
|
|
77
102
|
*
|
|
78
103
|
* @type {HTMLTableElement}
|
|
@@ -117,6 +142,38 @@ var /**
|
|
|
117
142
|
* @private
|
|
118
143
|
* @returns {boolean}
|
|
119
144
|
*/ _isSyntheticMouseEvent = /*#__PURE__*/ new WeakSet(), /**
|
|
145
|
+
* Checks whether the event path points into the grid. The path counts as internal when it
|
|
146
|
+
* contains the grid's root element or its portal element. A complete path (one that crosses
|
|
147
|
+
* shadow boundaries and therefore contains ShadowRoot entries) is trusted as-is - a miss
|
|
148
|
+
* means a genuine outside click, even when the path shares the grid's shadow hosts. Only a
|
|
149
|
+
* filtered path (no ShadowRoot entries) falls back to the shadow host chain check, which
|
|
150
|
+
* matters for sandboxed hosts (e.g. Salesforce Lightning Web Security) that collapse paths
|
|
151
|
+
* observed at the document level to the visible host chain, hiding the grid internals.
|
|
152
|
+
*
|
|
153
|
+
* @param {EventTarget[]} eventPath The event propagation path (`event.composedPath()`).
|
|
154
|
+
* @private
|
|
155
|
+
* @returns {boolean}
|
|
156
|
+
*/ _isPathWithinGrid = /*#__PURE__*/ new WeakSet(), /**
|
|
157
|
+
* Discards the row heights measured from theme values that were cached while the grid's root
|
|
158
|
+
* element resolved no computed styles, on the first draw that finds them resolvable again.
|
|
159
|
+
*
|
|
160
|
+
* A grid whose theme variables were cached against unresolved styles has an unknown default row
|
|
161
|
+
* height, so every rendered row is recorded oversized at a height it never had, and nothing
|
|
162
|
+
* re-measures those records on its own (DEV-2515 – the theme half of the unrendered-table problem
|
|
163
|
+
* described in `walkontable/AGENTS.md`).
|
|
164
|
+
*
|
|
165
|
+
* The styles handler answers both halves, because it is what cached the values: whether an earlier
|
|
166
|
+
* pass read them against unresolved styles, and whether they resolve now. Gating on the unknown row
|
|
167
|
+
* height instead would wipe the caches on every draw of a page that loads no grid stylesheet at
|
|
168
|
+
* all, where that value never resolves.
|
|
169
|
+
*
|
|
170
|
+
* Runs before `_wt.draw()`, not from the engine's `beforeDraw` setting: that setting fires after
|
|
171
|
+
* `createCalculators()`, so the rendered row band of that very draw would still be built from the
|
|
172
|
+
* heights this drops – the grid renders short for one frame and nothing schedules another draw. The
|
|
173
|
+
* drop stays pending (`#sizesMeasuredWithoutStylesPending`) until a draw has actually rendered the
|
|
174
|
+
* cells and re-measured them, which is what `afterRender` reports; a `beforeViewRender` listener
|
|
175
|
+
* that sets `skipRender` cancels the render, and then nothing takes the row heights again.
|
|
176
|
+
*/ _discardSizesMeasuredWithoutStyles = /*#__PURE__*/ new WeakSet(), /**
|
|
120
177
|
* Return the value of the `aria-colcount` attribute.
|
|
121
178
|
*
|
|
122
179
|
* @returns {number} The value of the `aria-colcount` attribute.
|
|
@@ -141,6 +198,7 @@ var /**
|
|
|
141
198
|
if (!this.hot.isRenderSuspended()) {
|
|
142
199
|
const isFullRender = this.hot.forceFullRender;
|
|
143
200
|
this.hot.runHooks('beforeRender', isFullRender);
|
|
201
|
+
_class_private_method_get(this, _discardSizesMeasuredWithoutStyles, discardSizesMeasuredWithoutStyles).call(this);
|
|
144
202
|
this._wt.draw(!isFullRender);
|
|
145
203
|
_class_private_method_get(this, _updateScrollbarClassNames, updateScrollbarClassNames).call(this);
|
|
146
204
|
if (this.postponedAdjustElementsSize) {
|
|
@@ -302,18 +360,34 @@ var /**
|
|
|
302
360
|
if (selection.isInProgress() && isLeftClick(event)) {
|
|
303
361
|
selection.finish();
|
|
304
362
|
}
|
|
363
|
+
const wasInsideGridClick = _class_private_field_get(this, _mouseDown);
|
|
364
|
+
const wasOutsideClickHandled = _class_private_field_get(this, _outsideClickHandled);
|
|
305
365
|
_class_private_field_set(this, _mouseDown, false);
|
|
366
|
+
_class_private_field_set(this, _outsideClickHandled, false);
|
|
306
367
|
// Ignore synthetic mouseup events from Android touch interactions.
|
|
307
368
|
if (_class_private_method_get(this, _isSyntheticMouseEvent, isSyntheticMouseEvent).call(this, event)) {
|
|
308
369
|
return;
|
|
309
370
|
}
|
|
310
|
-
const
|
|
311
|
-
|
|
371
|
+
const activeElement = getDeepActiveElement(rootDocument);
|
|
372
|
+
const activeHTMLElement = isHTMLElement(activeElement) ? activeElement : null;
|
|
373
|
+
const isOutsideInputElement = activeHTMLElement !== null && isOutsideInput(activeHTMLElement);
|
|
374
|
+
if (activeHTMLElement !== null && isInput(activeHTMLElement) && !isOutsideInputElement) {
|
|
312
375
|
return;
|
|
313
376
|
}
|
|
314
|
-
|
|
377
|
+
const eventPath = event.composedPath();
|
|
378
|
+
const isPathThroughGridUi = eventPath.includes(rootWrapperElement ?? rootElement) || this.hot.rootPortalElement && eventPath.includes(this.hot.rootPortalElement);
|
|
379
|
+
const isFocusLostToOutside = this.hot.getFocusManager().isForeignFocusTarget(activeHTMLElement) || !wasInsideGridClick && !this.hot.getFocusManager().hasBrowserFocus() && !isPathThroughGridUi;
|
|
380
|
+
if (isOutsideInputElement || isFocusLostToOutside || !selection.isSelected() && !selection.isSelectedByAnyHeader() && !_class_private_method_get(this, _isPathWithinGrid, isPathWithinGrid).call(this, eventPath) && !isRightClick(event)) {
|
|
315
381
|
this.hot.unlisten();
|
|
316
382
|
}
|
|
383
|
+
if (!wasOutsideClickHandled && activeHTMLElement !== null && isFocusLostToOutside && selection.isSelected() && !_class_private_method_get(this, _isPathWithinGrid, isPathWithinGrid).call(this, eventPath) && !isRightClick(event)) {
|
|
384
|
+
const clickTarget = eventPath.length > 0 ? eventPath[0] : event.target;
|
|
385
|
+
const clickTargetElement = isHTMLElement(clickTarget) ? clickTarget : activeHTMLElement;
|
|
386
|
+
const outsideClickDeselects = typeof this.settings.outsideClickDeselects === 'function' ? this.settings.outsideClickDeselects(clickTargetElement) : this.settings.outsideClickDeselects;
|
|
387
|
+
if (outsideClickDeselects) {
|
|
388
|
+
this.hot.deselectCell();
|
|
389
|
+
}
|
|
390
|
+
}
|
|
317
391
|
});
|
|
318
392
|
this.eventManager.addEventListener(documentElement, 'contextmenu', (event)=>{
|
|
319
393
|
if (selection.isInProgress() && isRightClick(event)) {
|
|
@@ -342,10 +416,11 @@ var /**
|
|
|
342
416
|
}, 400));
|
|
343
417
|
});
|
|
344
418
|
this.eventManager.addEventListener(documentElement, 'mousedown', (event)=>{
|
|
345
|
-
const
|
|
419
|
+
const eventPath = event.composedPath();
|
|
420
|
+
const originalTarget = eventPath.length > 0 ? eventPath[0] : event.target;
|
|
346
421
|
const eventX = event.clientX;
|
|
347
422
|
const eventY = event.clientY;
|
|
348
|
-
|
|
423
|
+
_class_private_field_set(this, _outsideClickHandled, false);
|
|
349
424
|
if (_class_private_field_get(this, _mouseDown) || !rootElement || !this.hot.view) {
|
|
350
425
|
return; // it must have been started in a cell
|
|
351
426
|
}
|
|
@@ -355,29 +430,19 @@ var /**
|
|
|
355
430
|
}
|
|
356
431
|
// immediate click on "holder" means click on the right side of vertical scrollbar
|
|
357
432
|
const { holder } = this._wt.wtTable;
|
|
358
|
-
if (
|
|
433
|
+
if (originalTarget === holder) {
|
|
359
434
|
const scrollbarWidth = getScrollbarWidth(rootDocument);
|
|
360
|
-
|
|
435
|
+
const rootNode = rootElement.getRootNode();
|
|
436
|
+
const pointReader = isShadowRoot(rootNode) ? rootNode : rootDocument;
|
|
437
|
+
if (pointReader.elementFromPoint(eventX + scrollbarWidth, eventY) !== holder || pointReader.elementFromPoint(eventX, eventY + scrollbarWidth) !== holder) {
|
|
361
438
|
return;
|
|
362
439
|
}
|
|
363
|
-
} else {
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
if (next === null) {
|
|
367
|
-
if (event.isTargetWebComponent) {
|
|
368
|
-
break;
|
|
369
|
-
}
|
|
370
|
-
// click on something that was a row but now is detached (possibly because your click triggered a rerender)
|
|
371
|
-
return;
|
|
372
|
-
}
|
|
373
|
-
if (next === rootElement || next === rootPortalElement) {
|
|
374
|
-
// click inside container or portal
|
|
375
|
-
return;
|
|
376
|
-
}
|
|
377
|
-
next = next.parentNode;
|
|
378
|
-
}
|
|
440
|
+
} else if (_class_private_method_get(this, _isPathWithinGrid, isPathWithinGrid).call(this, eventPath)) {
|
|
441
|
+
// click inside container, portal, or a shadow host the grid is rendered within
|
|
442
|
+
return;
|
|
379
443
|
}
|
|
380
444
|
// function did not return until here, we have an outside click!
|
|
445
|
+
_class_private_field_set(this, _outsideClickHandled, true);
|
|
381
446
|
const outsideClickDeselects = typeof this.settings.outsideClickDeselects === 'function' ? this.settings.outsideClickDeselects(originalTarget) : this.settings.outsideClickDeselects;
|
|
382
447
|
if (outsideClickDeselects) {
|
|
383
448
|
this.hot.deselectCell();
|
|
@@ -603,12 +668,21 @@ var /**
|
|
|
603
668
|
ariaTags: this.settings.ariaTags,
|
|
604
669
|
rtlMode: this.hot.isRtl(),
|
|
605
670
|
externalRowCalculator: this.hot.getPlugin('autoRowSize') && this.hot.getPlugin('autoRowSize').isEnabled(),
|
|
671
|
+
// Single-pass rendering is on by default; the `modifySinglePassLayout` hook lets a plugin or
|
|
672
|
+
// user code force the legacy measure-then-render path by returning `false` (e.g. `mergeCells`,
|
|
673
|
+
// whose virtualized row heights depend on the viewport the layout is computing). Evaluated per
|
|
674
|
+
// read so toggling a plugin via `updateSettings` takes effect without re-initializing Walkontable.
|
|
675
|
+
singlePassLayout: ()=>this.hot.runHooks('modifySinglePassLayout', true),
|
|
606
676
|
table: _class_private_field_get(this, _table),
|
|
607
677
|
isDataViewInstance: ()=>isRootInstance(this.hot),
|
|
608
678
|
preventOverflow: ()=>this.settings.preventOverflow,
|
|
609
679
|
preventWheel: ()=>this.settings.preventWheel,
|
|
610
680
|
viewportColumnRenderingThreshold: ()=>this.settings.viewportColumnRenderingThreshold,
|
|
611
681
|
viewportRowRenderingThreshold: ()=>this.settings.viewportRowRenderingThreshold,
|
|
682
|
+
// 'auto' is the dynamic-overscan mode; an explicit number is an exact manual offset, which
|
|
683
|
+
// also opts the axis out of the engine's directional scroll-overscan.
|
|
684
|
+
viewportColumnRenderingOffsetIsAuto: ()=>this.settings.viewportColumnRenderingOffset === 'auto',
|
|
685
|
+
viewportRowRenderingOffsetIsAuto: ()=>this.settings.viewportRowRenderingOffset === 'auto',
|
|
612
686
|
data: (renderableRow, renderableColumn)=>{
|
|
613
687
|
const [visualRow, visualCol] = this.translateFromRenderableToVisualIndex(renderableRow, renderableColumn);
|
|
614
688
|
return this.hot.getDataAtCell(visualRow, visualCol);
|
|
@@ -687,6 +761,13 @@ var /**
|
|
|
687
761
|
const visualRowIndex = visualIndex === null ? renderedRowIndex : visualIndex;
|
|
688
762
|
return this.hot.runHooks('modifyRowHeightByOverlayName', this.hot.getRowHeight(visualRowIndex), visualRowIndex, overlayType);
|
|
689
763
|
},
|
|
764
|
+
rowHeightsUniform: ()=>{
|
|
765
|
+
const { rowHeights, minRowHeights } = this.hot.getSettings();
|
|
766
|
+
return isUniformSizeSetting(rowHeights) && isUniformSizeSetting(minRowHeights) && !this.hot.hasHook('modifyRowHeight');
|
|
767
|
+
},
|
|
768
|
+
columnWidthsUniform: ()=>{
|
|
769
|
+
return isUniformSizeSetting(this.hot.getSettings().colWidths) && !this.hot.hasHook('modifyColWidth');
|
|
770
|
+
},
|
|
690
771
|
cellRenderer: (renderedRowIndex, renderedColumnIndex, TD)=>{
|
|
691
772
|
const [visualRowIndex, visualColumnIndex] = this.translateFromRenderableToVisualIndex(renderedRowIndex, renderedColumnIndex);
|
|
692
773
|
// Coords may be modified. For example, by the `MergeCells` plugin. It should affect cell value and cell meta.
|
|
@@ -703,15 +784,7 @@ var /**
|
|
|
703
784
|
value = this.hot.runHooks('beforeValueRender', value, cellProperties);
|
|
704
785
|
}
|
|
705
786
|
const renderer = this.hot.getCellRenderer(cellProperties);
|
|
706
|
-
|
|
707
|
-
if (typeof cellProperties.valueFormatter === 'function') {
|
|
708
|
-
formattedValue = cellProperties.valueFormatter(formattedValue, cellProperties);
|
|
709
|
-
} else if (typeof renderer === 'function' && 'valueFormatter' in renderer) {
|
|
710
|
-
const { valueFormatter } = renderer;
|
|
711
|
-
if (typeof valueFormatter === 'function') {
|
|
712
|
-
formattedValue = valueFormatter.call(cellProperties, formattedValue, cellProperties);
|
|
713
|
-
}
|
|
714
|
-
}
|
|
787
|
+
const formattedValue = formatCellValue(value, cellProperties, renderer);
|
|
715
788
|
this.hot.runHooks('beforeRenderer', TD, visualRowIndex, visualColumnIndex, prop, value, cellProperties);
|
|
716
789
|
const rendererArgs = [
|
|
717
790
|
this.hot,
|
|
@@ -722,14 +795,8 @@ var /**
|
|
|
722
795
|
formattedValue,
|
|
723
796
|
cellProperties
|
|
724
797
|
];
|
|
725
|
-
renderer
|
|
726
|
-
if (!cellProperties._isBaseRendererCalled) {
|
|
727
|
-
this.hot.getCellRenderer({
|
|
728
|
-
renderer: 'base'
|
|
729
|
-
})(...rendererArgs);
|
|
730
|
-
}
|
|
798
|
+
renderCell(renderer, rendererArgs);
|
|
731
799
|
this.hot.runHooks('afterRenderer', TD, visualRowIndex, visualColumnIndex, prop, value, cellProperties);
|
|
732
|
-
cellProperties._isBaseRendererCalled = false;
|
|
733
800
|
},
|
|
734
801
|
selections: this.hot.selection.highlight,
|
|
735
802
|
hideBorderOnMouseDownOver: ()=>this.settings.fragmentSelection,
|
|
@@ -870,6 +937,12 @@ var /**
|
|
|
870
937
|
event.preventDefault();
|
|
871
938
|
this.hot.runHooks('afterOnCellCornerDblClick', event);
|
|
872
939
|
},
|
|
940
|
+
onSelectionHandleMouseDown: (event, edge)=>{
|
|
941
|
+
this.hot.runHooks('afterOnSelectionHandleMouseDown', event, edge);
|
|
942
|
+
},
|
|
943
|
+
onSelectionEdgeMouseDown: (event, edge)=>{
|
|
944
|
+
this.hot.runHooks('afterOnSelectionEdgeMouseDown', event, edge);
|
|
945
|
+
},
|
|
873
946
|
beforeDraw: (force, skipRender)=>this.beforeRender(force, skipRender),
|
|
874
947
|
onDraw: (force)=>this.afterRender(force),
|
|
875
948
|
onBeforeViewportScrollVertically: (renderableRow, snapping)=>{
|
|
@@ -1030,8 +1103,41 @@ var /**
|
|
|
1030
1103
|
},
|
|
1031
1104
|
rowHeaderWidth: ()=>this.settings.rowHeaderWidth,
|
|
1032
1105
|
columnHeaderHeight: ()=>{
|
|
1033
|
-
const
|
|
1034
|
-
|
|
1106
|
+
const hookHeight = this.hot.runHooks('modifyColumnHeaderHeight');
|
|
1107
|
+
const configured = this.settings.columnHeaderHeight;
|
|
1108
|
+
const probe = this.renderSizeProbe.columnHeaderHeights;
|
|
1109
|
+
// Merge the three provided-height sources per header level: the `columnHeaderHeight` option
|
|
1110
|
+
// (scalar or per-level array), the `modifyColumnHeaderHeight` hook (AutoRowSize), and the
|
|
1111
|
+
// render-size probe (content-driven headers with no plugin). The engine reads this per level.
|
|
1112
|
+
const levels = Math.max(Array.isArray(configured) ? configured.length : 0, probe.size ? Math.max(...probe.keys()) + 1 : 0);
|
|
1113
|
+
if (levels === 0) {
|
|
1114
|
+
return configured || hookHeight;
|
|
1115
|
+
}
|
|
1116
|
+
const perLevel = [];
|
|
1117
|
+
for(let level = 0; level < levels; level++){
|
|
1118
|
+
const configuredAtLevel = Array.isArray(configured) ? configured[level] : configured;
|
|
1119
|
+
// The explicit `columnHeaderHeight` option takes precedence over the
|
|
1120
|
+
// `modifyColumnHeaderHeight` hook (the legacy `option || hook` semantics — an explicit
|
|
1121
|
+
// option caps the header and the hook must not override it). The render-size probe may
|
|
1122
|
+
// still grow the header past that when the actual header content is taller, replacing the
|
|
1123
|
+
// old oversized-header DOM measurement.
|
|
1124
|
+
let base;
|
|
1125
|
+
if (typeof configuredAtLevel === 'number') {
|
|
1126
|
+
base = configuredAtLevel;
|
|
1127
|
+
} else if (typeof hookHeight === 'number') {
|
|
1128
|
+
base = hookHeight;
|
|
1129
|
+
}
|
|
1130
|
+
const probeAtLevel = probe.get(level);
|
|
1131
|
+
const candidates = [];
|
|
1132
|
+
if (typeof base === 'number') {
|
|
1133
|
+
candidates.push(base);
|
|
1134
|
+
}
|
|
1135
|
+
if (typeof probeAtLevel === 'number') {
|
|
1136
|
+
candidates.push(probeAtLevel);
|
|
1137
|
+
}
|
|
1138
|
+
perLevel[level] = candidates.length ? Math.max(...candidates) : undefined;
|
|
1139
|
+
}
|
|
1140
|
+
return perLevel;
|
|
1035
1141
|
},
|
|
1036
1142
|
stylesHandler: ()=>{
|
|
1037
1143
|
return this.hot.stylesHandler;
|
|
@@ -1120,11 +1226,27 @@ var /**
|
|
|
1120
1226
|
/**
|
|
1121
1227
|
* `afterRender` callback.
|
|
1122
1228
|
*
|
|
1229
|
+
* The engine fires `onDraw` only from a draw that rendered the cell band, which is what spends the
|
|
1230
|
+
* pending theme-measurement drop: the sizes it invalidated have just been taken again against the
|
|
1231
|
+
* resolved styles (see `#discardSizesMeasuredWithoutStyles`).
|
|
1232
|
+
*
|
|
1123
1233
|
* @private
|
|
1124
1234
|
* @param {boolean} force If `true` rendering was triggered by a change of settings or data or `false` if
|
|
1125
1235
|
* rendering was triggered by scrolling or moving selection.
|
|
1126
1236
|
*/ afterRender(force) {
|
|
1237
|
+
_class_private_field_set(this, _sizesMeasuredWithoutStylesPending, false);
|
|
1127
1238
|
if (force) {
|
|
1239
|
+
// Measure the rendered grid while the DOM is final, before external `afterViewRender` listeners
|
|
1240
|
+
// may mutate it.
|
|
1241
|
+
this.renderSizeProbe.measure(this._wt);
|
|
1242
|
+
// Single-pass header reconcile: the probe has just measured content-driven column-header
|
|
1243
|
+
// heights (which the engine no longer measures mid-draw). If a header is taller than the
|
|
1244
|
+
// default, re-apply the heights so the overlays match the master. This is a synchronous,
|
|
1245
|
+
// hook-free reconcile - it never calls `hot.render()`, so the render-hook counts are unchanged.
|
|
1246
|
+
const defaultRowHeight = this.hot.stylesHandler.getDefaultRowHeight() ?? 0;
|
|
1247
|
+
if (this.renderSizeProbe.hasColumnHeaderTallerThan(defaultRowHeight)) {
|
|
1248
|
+
this._wt.wtOverlays.refreshColumnHeaderHeights();
|
|
1249
|
+
}
|
|
1128
1250
|
this.hot.runHooks('afterViewRender', this.hot.forceFullRender);
|
|
1129
1251
|
}
|
|
1130
1252
|
}
|
|
@@ -1228,7 +1350,7 @@ var /**
|
|
|
1228
1350
|
}
|
|
1229
1351
|
}
|
|
1230
1352
|
if (renderedIndex > -1) {
|
|
1231
|
-
fastInnerHTML(element, String(content(index, headerLevel)), this.hot
|
|
1353
|
+
fastInnerHTML(element, String(content(index, headerLevel)), getSanitizer(this.hot), 'header', this.hot.rootElement);
|
|
1232
1354
|
} else {
|
|
1233
1355
|
// workaround for https://github.com/handsontable/handsontable/issues/1946
|
|
1234
1356
|
fastInnerText(element, String.fromCharCode(160));
|
|
@@ -1580,6 +1702,8 @@ var /**
|
|
|
1580
1702
|
* @param {Hanstontable} hotInstance Instance of {@link Handsontable}.
|
|
1581
1703
|
*/ constructor(hotInstance){
|
|
1582
1704
|
_class_private_method_init(this, _isSyntheticMouseEvent);
|
|
1705
|
+
_class_private_method_init(this, _isPathWithinGrid);
|
|
1706
|
+
_class_private_method_init(this, _discardSizesMeasuredWithoutStyles);
|
|
1583
1707
|
_class_private_method_init(this, _getAriaColcount);
|
|
1584
1708
|
_class_private_method_init(this, _updateAriaColcount);
|
|
1585
1709
|
_class_private_method_init(this, _updateScrollbarClassNames);
|
|
@@ -1591,6 +1715,10 @@ var /**
|
|
|
1591
1715
|
writable: true,
|
|
1592
1716
|
value: void 0
|
|
1593
1717
|
});
|
|
1718
|
+
_class_private_field_init(this, _sizesMeasuredWithoutStylesPending, {
|
|
1719
|
+
writable: true,
|
|
1720
|
+
value: void 0
|
|
1721
|
+
});
|
|
1594
1722
|
_class_private_field_init(this, _selectionMouseDown, {
|
|
1595
1723
|
writable: true,
|
|
1596
1724
|
value: void 0
|
|
@@ -1599,6 +1727,10 @@ var /**
|
|
|
1599
1727
|
writable: true,
|
|
1600
1728
|
value: void 0
|
|
1601
1729
|
});
|
|
1730
|
+
_class_private_field_init(this, _outsideClickHandled, {
|
|
1731
|
+
writable: true,
|
|
1732
|
+
value: void 0
|
|
1733
|
+
});
|
|
1602
1734
|
_class_private_field_init(this, _table, {
|
|
1603
1735
|
writable: true,
|
|
1604
1736
|
value: void 0
|
|
@@ -1633,8 +1765,17 @@ var /**
|
|
|
1633
1765
|
* @private
|
|
1634
1766
|
* @type {boolean}
|
|
1635
1767
|
*/ this.postponedAdjustElementsSize = false;
|
|
1768
|
+
/**
|
|
1769
|
+
* The measurement-only probe of the rendered grid. Runs after each full master draw to record
|
|
1770
|
+
* content-driven row and column-header heights. It does not yet feed those values back into
|
|
1771
|
+
* rendering (see {@link RenderSizeProbe}).
|
|
1772
|
+
*
|
|
1773
|
+
* @type {RenderSizeProbe}
|
|
1774
|
+
*/ this.renderSizeProbe = new RenderSizeProbe();
|
|
1775
|
+
_class_private_field_set(this, _sizesMeasuredWithoutStylesPending, false);
|
|
1636
1776
|
_class_private_field_set(this, _selectionMouseDown, false);
|
|
1637
1777
|
_class_private_field_set(this, _mouseDown, false);
|
|
1778
|
+
_class_private_field_set(this, _outsideClickHandled, false);
|
|
1638
1779
|
_class_private_field_set(this, _table, null);
|
|
1639
1780
|
_class_private_field_set(this, _lastWidth, 0);
|
|
1640
1781
|
_class_private_field_set(this, _lastHeight, 0);
|
|
@@ -1655,6 +1796,31 @@ function isSyntheticMouseEvent(event) {
|
|
|
1655
1796
|
}
|
|
1656
1797
|
return _class_private_field_get(this, _recentTouchEnd);
|
|
1657
1798
|
}
|
|
1799
|
+
function isPathWithinGrid(eventPath) {
|
|
1800
|
+
const { rootElement, rootPortalElement } = this.hot;
|
|
1801
|
+
if (eventPath.includes(rootElement) || !!rootPortalElement && eventPath.includes(rootPortalElement)) {
|
|
1802
|
+
return true;
|
|
1803
|
+
}
|
|
1804
|
+
if (eventPath.some((entry)=>isShadowRoot(entry))) {
|
|
1805
|
+
return false;
|
|
1806
|
+
}
|
|
1807
|
+
return getShadowHostChain(rootElement).some((host)=>eventPath.includes(host));
|
|
1808
|
+
}
|
|
1809
|
+
function discardSizesMeasuredWithoutStyles() {
|
|
1810
|
+
if (this.hot.stylesHandler.recacheValuesMeasuredWithoutStyles()) {
|
|
1811
|
+
_class_private_field_set(this, _sizesMeasuredWithoutStylesPending, true);
|
|
1812
|
+
}
|
|
1813
|
+
if (!_class_private_field_get(this, _sizesMeasuredWithoutStylesPending)) {
|
|
1814
|
+
return;
|
|
1815
|
+
}
|
|
1816
|
+
// `resetAllOversizedRows` already invalidates the row-height cache, so only the width cache is
|
|
1817
|
+
// left to drop. `invalidateIndexSizesCache()` would invalidate the row heights a second time, and
|
|
1818
|
+
// this is the same pair the engine-side reset performs. Dropping the width cache re-asks
|
|
1819
|
+
// `modifyColWidth`, so a width `AutoColumnSize` measured against no layout comes straight back –
|
|
1820
|
+
// that is the narrow-container follow-up, not this pass.
|
|
1821
|
+
this._wt.wtViewport.resetAllOversizedRows();
|
|
1822
|
+
this.invalidateColumnWidthCache();
|
|
1823
|
+
}
|
|
1658
1824
|
function getAriaColcount() {
|
|
1659
1825
|
return parseInt(this.hot.rootElement.getAttribute('aria-colcount') ?? '0', 10);
|
|
1660
1826
|
}
|
package/themes/engine/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { createTheme, ThemeBuilder } from './builder';
|
|
2
|
-
export { createThemeManager, ThemeManager } from './manager';
|
|
2
|
+
export { createThemeManager, ThemeManager, isThemeOverrideEmpty } from './manager';
|
|
3
|
+
export type { ThemeOverrides } from './manager';
|
|
3
4
|
export type { ThemeConfig, ThemeParams, BaseTheme, ThemeColorScheme, DensityType } from '../types';
|
package/themes/engine/index.js
CHANGED
package/themes/engine/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { createTheme, ThemeBuilder } from './builder.mjs';
|
|
2
|
-
export { createThemeManager, ThemeManager } from './manager.mjs';
|
|
2
|
+
export { createThemeManager, ThemeManager, isThemeOverrideEmpty } from './manager.mjs';
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import type { ThemeConfig } from '../types';
|
|
1
|
+
import type { ThemeConfig, ThemeColorScheme, DensityType } from '../types';
|
|
2
2
|
import type { ThemeBuilder } from './builder';
|
|
3
3
|
interface HotInstance {
|
|
4
|
+
guid: string;
|
|
4
5
|
rootDocument: Document;
|
|
5
6
|
rootWrapperElement: HTMLElement;
|
|
7
|
+
rootPortalElement: HTMLElement;
|
|
6
8
|
stylesHandler: {
|
|
7
9
|
clearCache(): void;
|
|
8
10
|
};
|
|
@@ -11,6 +13,37 @@ interface HotInstance {
|
|
|
11
13
|
themeManager: ThemeManager | null | undefined;
|
|
12
14
|
[key: string]: unknown;
|
|
13
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Per-instance theme overrides applied on top of the theme configuration.
|
|
18
|
+
*
|
|
19
|
+
* They let a single grid pick a color scheme and a density without declaring its own theme, leaving
|
|
20
|
+
* the shared theme object (and therefore every other grid using it) untouched.
|
|
21
|
+
*/
|
|
22
|
+
export interface ThemeOverrides {
|
|
23
|
+
colorScheme?: ThemeColorScheme;
|
|
24
|
+
density?: DensityType;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Unvalidated theme overrides as they arrive from the grid settings.
|
|
28
|
+
*
|
|
29
|
+
* The values are `unknown` because the settings object is an external boundary — `setOverrides()`
|
|
30
|
+
* validates them and throws on an unsupported value.
|
|
31
|
+
*/
|
|
32
|
+
export interface ThemeOverridesInput {
|
|
33
|
+
colorScheme?: unknown;
|
|
34
|
+
density?: unknown;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Checks whether an override value means "use the theme value".
|
|
38
|
+
*
|
|
39
|
+
* `undefined` is the documented way to clear an override, and the other empty values are treated
|
|
40
|
+
* the same so a framework wrapper passing `null` or `''` for an unset prop clears rather than
|
|
41
|
+
* fails. Exported so the settings layer applies exactly the same rule.
|
|
42
|
+
*
|
|
43
|
+
* @param {*} value The raw override value.
|
|
44
|
+
* @returns {boolean} `true` when the value clears the override.
|
|
45
|
+
*/
|
|
46
|
+
export declare function isThemeOverrideEmpty(value: unknown): boolean;
|
|
14
47
|
/**
|
|
15
48
|
* ThemeManager class provides methods to manage the theme styles.
|
|
16
49
|
*
|
|
@@ -42,16 +75,25 @@ export declare class ThemeManager {
|
|
|
42
75
|
* @type {object}
|
|
43
76
|
*/
|
|
44
77
|
themeConfig: ThemeConfig | null;
|
|
78
|
+
/**
|
|
79
|
+
* Class that scopes the per-instance override rules to this grid only. Stamped on the wrapper and
|
|
80
|
+
* the portal element, so menus and dialogs rendered in the portal follow the same overrides.
|
|
81
|
+
*
|
|
82
|
+
* @type {string}
|
|
83
|
+
*/
|
|
84
|
+
scopeClassName: string;
|
|
45
85
|
/**
|
|
46
86
|
* The theme manager constructor.
|
|
47
87
|
*
|
|
48
88
|
* @param {object} options - The options object.
|
|
49
89
|
* @param {Handsontable} options.hot - The Handsontable instance.
|
|
50
90
|
* @param {object} options.themeObject - The theme object.
|
|
91
|
+
* @param {object} [options.overrides] - The per-instance color scheme and density overrides.
|
|
51
92
|
*/
|
|
52
|
-
constructor({ hot, themeObject }: {
|
|
93
|
+
constructor({ hot, themeObject, overrides }: {
|
|
53
94
|
hot: HotInstance;
|
|
54
95
|
themeObject: ThemeBuilder;
|
|
96
|
+
overrides?: ThemeOverridesInput;
|
|
55
97
|
});
|
|
56
98
|
/**
|
|
57
99
|
* Gets the theme class name.
|
|
@@ -59,6 +101,34 @@ export declare class ThemeManager {
|
|
|
59
101
|
* @returns {string} The theme class name.
|
|
60
102
|
*/
|
|
61
103
|
getClassName(): string;
|
|
104
|
+
/**
|
|
105
|
+
* Gets the per-instance color scheme and density overrides.
|
|
106
|
+
*
|
|
107
|
+
* @returns {object} A copy of the currently applied overrides.
|
|
108
|
+
*/
|
|
109
|
+
getOverrides(): ThemeOverrides;
|
|
110
|
+
/**
|
|
111
|
+
* Gets the color scheme this grid renders with, taking the per-instance override into account.
|
|
112
|
+
*
|
|
113
|
+
* @returns {string|undefined} The color scheme ('light', 'dark', or 'auto').
|
|
114
|
+
*/
|
|
115
|
+
getColorScheme(): ThemeColorScheme | undefined;
|
|
116
|
+
/**
|
|
117
|
+
* Gets the density type this grid renders with, taking the per-instance override into account.
|
|
118
|
+
*
|
|
119
|
+
* @returns {string|undefined} The density type ('default', 'compact', or 'comfortable').
|
|
120
|
+
*/
|
|
121
|
+
getDensityType(): DensityType | undefined;
|
|
122
|
+
/**
|
|
123
|
+
* Applies per-instance color scheme and density overrides and re-injects the theme styles.
|
|
124
|
+
*
|
|
125
|
+
* The shared theme object is never mutated, so other grids using the same theme keep their look.
|
|
126
|
+
*
|
|
127
|
+
* @param {object} overrides The color scheme and density overrides. An `undefined` value clears
|
|
128
|
+
* the given override and falls back to the theme configuration.
|
|
129
|
+
* @returns {boolean} `true` when the effective overrides changed and the styles were re-injected.
|
|
130
|
+
*/
|
|
131
|
+
setOverrides(overrides: ThemeOverridesInput): boolean;
|
|
62
132
|
/**
|
|
63
133
|
* Updates the theme manager.
|
|
64
134
|
*
|
|
@@ -84,10 +154,12 @@ export declare class ThemeManager {
|
|
|
84
154
|
* @param {object} options - The options object.
|
|
85
155
|
* @param {Handsontable} options.hot - The Handsontable instance.
|
|
86
156
|
* @param {object} options.themeObject - The theme object.
|
|
157
|
+
* @param {object} [options.overrides] - The per-instance color scheme and density overrides.
|
|
87
158
|
* @returns {ThemeManager} The ThemeManager instance.
|
|
88
159
|
*/
|
|
89
|
-
export declare function createThemeManager({ hot, themeObject }: {
|
|
160
|
+
export declare function createThemeManager({ hot, themeObject, overrides }: {
|
|
90
161
|
hot: HotInstance;
|
|
91
162
|
themeObject: ThemeBuilder;
|
|
163
|
+
overrides?: ThemeOverridesInput;
|
|
92
164
|
}): ThemeManager;
|
|
93
165
|
export {};
|