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
|
@@ -2,7 +2,7 @@ import { isObject } from '../../helpers/object.mjs';
|
|
|
2
2
|
import { isRightClick } from '../../helpers/dom/event.mjs';
|
|
3
3
|
import { eventTargetEl, isBottomMostColumnHeader } from '../../helpers/dom/element.mjs';
|
|
4
4
|
import { isEmpty } from '../../helpers/mixed.mjs';
|
|
5
|
-
import { parseToLocalDate, parseToLocalTime } from '../../helpers/dateTime.mjs';
|
|
5
|
+
import { parseToLocalDate, parseToLocalTime, parseToLocalDateTime } from '../../helpers/dateTime.mjs';
|
|
6
6
|
import { DO_NOT_SWAP, FIRST_BEFORE_SECOND, FIRST_AFTER_SECOND } from './sortService/index.mjs';
|
|
7
7
|
import { warn } from '../../helpers/console.mjs';
|
|
8
8
|
import { toSingleLine } from '../../helpers/templateLiteralTag.mjs';
|
|
@@ -91,12 +91,26 @@ export const HEADER_SPAN_CLASS = 'colHeader';
|
|
|
91
91
|
return targetHeader !== null && isBottomMostColumnHeader(targetHeader);
|
|
92
92
|
}
|
|
93
93
|
/**
|
|
94
|
-
* Creates
|
|
94
|
+
* Creates a date/time sorting compare function around the given parse function.
|
|
95
|
+
*
|
|
96
|
+
* Parse results are memoized per sort run as epoch milliseconds (or `null` for unparsable input).
|
|
97
|
+
* The compare function is created once per sort run, so each distinct cell value pays the
|
|
98
|
+
* regex-and-`Date` parsing once instead of on every comparison (~2*log(n) times per row in a sort).
|
|
95
99
|
*
|
|
100
|
+
* @param {Function} parseValue Converts a raw cell value to a `Date` or `null` when unparsable.
|
|
96
101
|
* @param {string} sortOrder Sort order (`asc` for ascending, `desc` for descending).
|
|
97
102
|
* @param {object} columnPluginSettings Plugin settings for the column.
|
|
98
103
|
* @returns {Function} The compare function.
|
|
99
|
-
*/
|
|
104
|
+
*/ function createParsingCompareFunction(parseValue, sortOrder, columnPluginSettings) {
|
|
105
|
+
const parseCache = new Map();
|
|
106
|
+
const getParsedTime = (value)=>{
|
|
107
|
+
let parsedTime = parseCache.get(value);
|
|
108
|
+
if (parsedTime === undefined) {
|
|
109
|
+
parsedTime = parseValue(value)?.getTime() ?? null;
|
|
110
|
+
parseCache.set(value, parsedTime);
|
|
111
|
+
}
|
|
112
|
+
return parsedTime;
|
|
113
|
+
};
|
|
100
114
|
return function(value, nextValue) {
|
|
101
115
|
const { sortEmptyCells } = columnPluginSettings;
|
|
102
116
|
if (value === nextValue) {
|
|
@@ -119,23 +133,32 @@ export const HEADER_SPAN_CLASS = 'colHeader';
|
|
|
119
133
|
}
|
|
120
134
|
return FIRST_BEFORE_SECOND;
|
|
121
135
|
}
|
|
122
|
-
const
|
|
123
|
-
const
|
|
124
|
-
if (
|
|
136
|
+
const firstTime = getParsedTime(value);
|
|
137
|
+
const nextTime = getParsedTime(nextValue);
|
|
138
|
+
if (firstTime === null) {
|
|
125
139
|
return FIRST_AFTER_SECOND;
|
|
126
140
|
}
|
|
127
|
-
if (
|
|
141
|
+
if (nextTime === null) {
|
|
128
142
|
return FIRST_BEFORE_SECOND;
|
|
129
143
|
}
|
|
130
|
-
if (
|
|
144
|
+
if (nextTime > firstTime) {
|
|
131
145
|
return sortOrder === 'asc' ? FIRST_BEFORE_SECOND : FIRST_AFTER_SECOND;
|
|
132
146
|
}
|
|
133
|
-
if (
|
|
147
|
+
if (nextTime < firstTime) {
|
|
134
148
|
return sortOrder === 'asc' ? FIRST_AFTER_SECOND : FIRST_BEFORE_SECOND;
|
|
135
149
|
}
|
|
136
150
|
return DO_NOT_SWAP;
|
|
137
151
|
};
|
|
138
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Creates intl-date sorting compare function.
|
|
155
|
+
*
|
|
156
|
+
* @param {string} sortOrder Sort order (`asc` for ascending, `desc` for descending).
|
|
157
|
+
* @param {object} columnPluginSettings Plugin settings for the column.
|
|
158
|
+
* @returns {Function} The compare function.
|
|
159
|
+
*/ export function createIntlDateCompareFunction(sortOrder, columnPluginSettings) {
|
|
160
|
+
return createParsingCompareFunction(parseToLocalDate, sortOrder, columnPluginSettings);
|
|
161
|
+
}
|
|
139
162
|
/**
|
|
140
163
|
* Creates intl-time sorting compare function.
|
|
141
164
|
*
|
|
@@ -143,44 +166,16 @@ export const HEADER_SPAN_CLASS = 'colHeader';
|
|
|
143
166
|
* @param {object} columnPluginSettings Plugin settings for the column.
|
|
144
167
|
* @returns {Function} The compare function.
|
|
145
168
|
*/ export function createIntlTimeCompareFunction(sortOrder, columnPluginSettings) {
|
|
146
|
-
return
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
if (sortEmptyCells) {
|
|
157
|
-
return sortOrder === 'asc' ? FIRST_BEFORE_SECOND : FIRST_AFTER_SECOND;
|
|
158
|
-
}
|
|
159
|
-
return FIRST_AFTER_SECOND;
|
|
160
|
-
}
|
|
161
|
-
if (isEmpty(nextValue)) {
|
|
162
|
-
// Just second value is empty and `sortEmptyCells` option was set
|
|
163
|
-
if (sortEmptyCells) {
|
|
164
|
-
return sortOrder === 'asc' ? FIRST_AFTER_SECOND : FIRST_BEFORE_SECOND;
|
|
165
|
-
}
|
|
166
|
-
return FIRST_BEFORE_SECOND;
|
|
167
|
-
}
|
|
168
|
-
const firstDate = parseToLocalTime(value);
|
|
169
|
-
const nextDate = parseToLocalTime(nextValue);
|
|
170
|
-
if (firstDate === null) {
|
|
171
|
-
return FIRST_AFTER_SECOND;
|
|
172
|
-
}
|
|
173
|
-
if (nextDate === null) {
|
|
174
|
-
return FIRST_BEFORE_SECOND;
|
|
175
|
-
}
|
|
176
|
-
if (nextDate > firstDate) {
|
|
177
|
-
return sortOrder === 'asc' ? FIRST_BEFORE_SECOND : FIRST_AFTER_SECOND;
|
|
178
|
-
}
|
|
179
|
-
if (nextDate < firstDate) {
|
|
180
|
-
return sortOrder === 'asc' ? FIRST_AFTER_SECOND : FIRST_BEFORE_SECOND;
|
|
181
|
-
}
|
|
182
|
-
return DO_NOT_SWAP;
|
|
183
|
-
};
|
|
169
|
+
return createParsingCompareFunction(parseToLocalTime, sortOrder, columnPluginSettings);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Creates a date-time sorting compare function.
|
|
173
|
+
*
|
|
174
|
+
* @param {string} sortOrder Sort order (`asc` for ascending, `desc` for descending).
|
|
175
|
+
* @param {object} columnPluginSettings Plugin settings for the column.
|
|
176
|
+
* @returns {Function} The compare function.
|
|
177
|
+
*/ export function createDateTimeCompareFunction(sortOrder, columnPluginSettings) {
|
|
178
|
+
return createParsingCompareFunction(parseToLocalDateTime, sortOrder, columnPluginSettings);
|
|
184
179
|
}
|
|
185
180
|
/**
|
|
186
181
|
* Warn users about problems when using `columnSorting` and `multiColumnSorting` plugins simultaneously.
|
|
@@ -376,11 +376,15 @@ class ColumnSummary extends _base.BasePlugin {
|
|
|
376
376
|
*/ getCellValue(row, col) {
|
|
377
377
|
const visualRowIndex = this.hot.toVisualRow(row);
|
|
378
378
|
let cellValue = visualRowIndex !== null ? this.hot.getDataAtCell(visualRowIndex, col) : this.hot.getSourceDataAtCell(row, col);
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
379
|
+
// A trimmed row has no visual coordinates, so its cell meta - and with it the
|
|
380
|
+
// `columnSummaryResult` class - cannot be read. Fall back to the endpoint destinations, or a
|
|
381
|
+
// hidden summary row is summed as plain data and inflates every summary covering it.
|
|
382
|
+
//
|
|
383
|
+
// The two tests are deliberately exclusive, not OR-ed: a *visible* destination cell still holds
|
|
384
|
+
// the user's own value on the first calculation pass, before any result was written, and that
|
|
385
|
+
// value counts towards the summary. Three long-standing specs pin that behavior.
|
|
386
|
+
const isSummaryResult = visualRowIndex !== null ? (this.hot.getCellMetaTransient(visualRowIndex, col).className || '').indexOf('columnSummaryResult') > -1 : this.endpoints.isSummaryDestination(row, col);
|
|
387
|
+
if (isSummaryResult) {
|
|
384
388
|
return null;
|
|
385
389
|
}
|
|
386
390
|
if (this.endpoints.currentEndpoint.forceNumeric) {
|
|
@@ -468,11 +468,15 @@ var /**
|
|
|
468
468
|
*/ getCellValue(row, col) {
|
|
469
469
|
const visualRowIndex = this.hot.toVisualRow(row);
|
|
470
470
|
let cellValue = visualRowIndex !== null ? this.hot.getDataAtCell(visualRowIndex, col) : this.hot.getSourceDataAtCell(row, col);
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
471
|
+
// A trimmed row has no visual coordinates, so its cell meta - and with it the
|
|
472
|
+
// `columnSummaryResult` class - cannot be read. Fall back to the endpoint destinations, or a
|
|
473
|
+
// hidden summary row is summed as plain data and inflates every summary covering it.
|
|
474
|
+
//
|
|
475
|
+
// The two tests are deliberately exclusive, not OR-ed: a *visible* destination cell still holds
|
|
476
|
+
// the user's own value on the first calculation pass, before any result was written, and that
|
|
477
|
+
// value counts towards the summary. Three long-standing specs pin that behavior.
|
|
478
|
+
const isSummaryResult = visualRowIndex !== null ? (this.hot.getCellMetaTransient(visualRowIndex, col).className || '').indexOf('columnSummaryResult') > -1 : this.endpoints.isSummaryDestination(row, col);
|
|
479
|
+
if (isSummaryResult) {
|
|
476
480
|
return null;
|
|
477
481
|
}
|
|
478
482
|
if (this.endpoints.currentEndpoint.forceNumeric) {
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import type { HotInstance } from '../../core/types';
|
|
2
2
|
import type { ColumnSummary } from './columnSummary';
|
|
3
|
+
/**
|
|
4
|
+
* `HotInstance` augmented with the internal `_setCellMetaDeclarative` method. The method exists on the
|
|
5
|
+
* Core runtime object but is intentionally NOT part of the public `HotInstance` type, so it is not
|
|
6
|
+
* exposed to third-party code (it is an implementation detail of how built-in plugins apply
|
|
7
|
+
* configuration-derived cell meta that must survive the viewport meta eviction but reset on
|
|
8
|
+
* `updateSettings`, without firing the public `setCellMeta` hooks). ColumnSummary is an internal
|
|
9
|
+
* consumer and reaches it through this local type.
|
|
10
|
+
*/
|
|
11
|
+
type HotInstanceInternal = HotInstance & {
|
|
12
|
+
_setCellMetaDeclarative(row: number, column: number, key: string, value: unknown): void;
|
|
13
|
+
};
|
|
3
14
|
export interface EndpointConfig {
|
|
4
15
|
ranges?: number[][];
|
|
5
16
|
reversedRowCoords?: boolean;
|
|
@@ -24,16 +35,18 @@ export interface EndpointConfig {
|
|
|
24
35
|
* @class Endpoints
|
|
25
36
|
*/
|
|
26
37
|
declare class Endpoints {
|
|
38
|
+
#private;
|
|
27
39
|
/**
|
|
28
40
|
* The main plugin instance.
|
|
29
41
|
*/
|
|
30
42
|
plugin: ColumnSummary;
|
|
31
43
|
/**
|
|
32
|
-
* Handsontable instance.
|
|
44
|
+
* Handsontable instance. Typed as `HotInstanceInternal` so this internal consumer can call the
|
|
45
|
+
* non-public `_setCellMetaDeclarative` method (see the type's note).
|
|
33
46
|
*
|
|
34
47
|
* @type {object}
|
|
35
48
|
*/
|
|
36
|
-
hot:
|
|
49
|
+
hot: HotInstanceInternal;
|
|
37
50
|
/**
|
|
38
51
|
* Array of declared plugin endpoints (calculation destination points).
|
|
39
52
|
*
|
|
@@ -85,12 +98,66 @@ declare class Endpoints {
|
|
|
85
98
|
* @returns {object}
|
|
86
99
|
*/
|
|
87
100
|
getEndpoint(index: number): EndpointConfig;
|
|
101
|
+
/**
|
|
102
|
+
* Returns the number of physical rows the dataset holds, ignoring trimming.
|
|
103
|
+
*
|
|
104
|
+
* Endpoint destination rows and calculation ranges are physical indexes, so they must never be
|
|
105
|
+
* compared against `countRows()` - that counts only the *visible* rows and shrinks whenever a
|
|
106
|
+
* plugin trims rows (NestedRows collapsing a group, TrimRows, the Filters plugin).
|
|
107
|
+
*
|
|
108
|
+
* @returns {number}
|
|
109
|
+
*/
|
|
110
|
+
countPhysicalRows(): number;
|
|
111
|
+
/**
|
|
112
|
+
* Returns the number of rows an endpoint may address, that is the physical row count capped by
|
|
113
|
+
* `maxRows`. Used for the settings defaults that need a row count rather than a bounds check.
|
|
114
|
+
*
|
|
115
|
+
* `maxRows` is normalized the same way `DataMap#getLength` does it: `0` or less means zero rows,
|
|
116
|
+
* anything falsy means no cap.
|
|
117
|
+
*
|
|
118
|
+
* @returns {number}
|
|
119
|
+
*/
|
|
120
|
+
countAddressableRows(): number;
|
|
121
|
+
/**
|
|
122
|
+
* Checks whether an endpoint points outside the table.
|
|
123
|
+
*
|
|
124
|
+
* A *trimmed* destination row is not out of bounds - the row exists, it is only hidden - so it is
|
|
125
|
+
* deliberately not reported here. A row that is visible but sits past `maxRows` is out of bounds,
|
|
126
|
+
* because the grid renders no cell for it.
|
|
127
|
+
*
|
|
128
|
+
* @param {object} endpoint Contains the endpoint information.
|
|
129
|
+
* @param {number} [rowOffset=0] Row offset to apply before the check.
|
|
130
|
+
* @param {number} [colOffset=0] Column offset to apply before the check.
|
|
131
|
+
* @returns {boolean}
|
|
132
|
+
*/
|
|
133
|
+
isEndpointOutOfBounds(endpoint: EndpointConfig, rowOffset?: number, colOffset?: number): boolean;
|
|
88
134
|
/**
|
|
89
135
|
* Get an array with all the endpoints.
|
|
90
136
|
*
|
|
91
137
|
* @returns {Array}
|
|
92
138
|
*/
|
|
93
139
|
getAllEndpoints(): EndpointConfig[];
|
|
140
|
+
/**
|
|
141
|
+
* Records the destinations of the endpoints a refresh pass is about to calculate.
|
|
142
|
+
*
|
|
143
|
+
* The resolved endpoints are passed in rather than read through `getAllEndpoints()`, which would
|
|
144
|
+
* re-invoke a settings function and could describe a different layout than the pass is working on.
|
|
145
|
+
*
|
|
146
|
+
* @param {object[]} endpoints The endpoints the current pass will calculate.
|
|
147
|
+
*/
|
|
148
|
+
cacheSummaryDestinations(endpoints: EndpointConfig[]): void;
|
|
149
|
+
/**
|
|
150
|
+
* Checks whether a physical cell holds the result of an endpoint.
|
|
151
|
+
*
|
|
152
|
+
* `getCellValue` normally recognizes a result by its `columnSummaryResult` class, but cell meta is
|
|
153
|
+
* addressed by visual coordinates, so a trimmed row has no readable class. Without this check a
|
|
154
|
+
* hidden summary row is summed as if it were plain data and inflates every summary covering it.
|
|
155
|
+
*
|
|
156
|
+
* @param {number} physicalRow Physical row index.
|
|
157
|
+
* @param {number} column Column index.
|
|
158
|
+
* @returns {boolean}
|
|
159
|
+
*/
|
|
160
|
+
isSummaryDestination(physicalRow: number, column: number): boolean;
|
|
94
161
|
/**
|
|
95
162
|
* Used to fill the blanks in the endpoint data provided by a settings function.
|
|
96
163
|
*
|
|
@@ -11,6 +11,51 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
const _array = require("../../helpers/array");
|
|
12
12
|
const _console = require("../../helpers/console");
|
|
13
13
|
const _utils = require("./utils");
|
|
14
|
+
function _check_private_redeclaration(obj, privateCollection) {
|
|
15
|
+
if (privateCollection.has(obj)) {
|
|
16
|
+
throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function _class_apply_descriptor_get(receiver, descriptor) {
|
|
20
|
+
if (descriptor.get) {
|
|
21
|
+
return descriptor.get.call(receiver);
|
|
22
|
+
}
|
|
23
|
+
return descriptor.value;
|
|
24
|
+
}
|
|
25
|
+
function _class_apply_descriptor_set(receiver, descriptor, value) {
|
|
26
|
+
if (descriptor.set) {
|
|
27
|
+
descriptor.set.call(receiver, value);
|
|
28
|
+
} else {
|
|
29
|
+
if (!descriptor.writable) {
|
|
30
|
+
throw new TypeError("attempted to set read only private field");
|
|
31
|
+
}
|
|
32
|
+
descriptor.value = value;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function _class_extract_field_descriptor(receiver, privateMap, action) {
|
|
36
|
+
if (!privateMap.has(receiver)) {
|
|
37
|
+
throw new TypeError("attempted to " + action + " private field on non-instance");
|
|
38
|
+
}
|
|
39
|
+
return privateMap.get(receiver);
|
|
40
|
+
}
|
|
41
|
+
function _class_private_field_get(receiver, privateMap) {
|
|
42
|
+
var descriptor = _class_extract_field_descriptor(receiver, privateMap, "get");
|
|
43
|
+
return _class_apply_descriptor_get(receiver, descriptor);
|
|
44
|
+
}
|
|
45
|
+
function _class_private_field_init(obj, privateMap, value) {
|
|
46
|
+
_check_private_redeclaration(obj, privateMap);
|
|
47
|
+
privateMap.set(obj, value);
|
|
48
|
+
}
|
|
49
|
+
function _class_private_field_set(receiver, privateMap, value) {
|
|
50
|
+
var descriptor = _class_extract_field_descriptor(receiver, privateMap, "set");
|
|
51
|
+
_class_apply_descriptor_set(receiver, descriptor, value);
|
|
52
|
+
return value;
|
|
53
|
+
}
|
|
54
|
+
var /**
|
|
55
|
+
* Destination columns keyed by physical destination row, built once per refresh pass. Used to
|
|
56
|
+
* keep summary results out of other summaries when their row is trimmed and the
|
|
57
|
+
* `columnSummaryResult` class is unreachable.
|
|
58
|
+
*/ _summaryDestinations = /*#__PURE__*/ new WeakMap();
|
|
14
59
|
/**
|
|
15
60
|
* Class used to make all endpoint-related operations.
|
|
16
61
|
*
|
|
@@ -35,6 +80,51 @@ const _utils = require("./utils");
|
|
|
35
80
|
return this.endpoints[index];
|
|
36
81
|
}
|
|
37
82
|
/**
|
|
83
|
+
* Returns the number of physical rows the dataset holds, ignoring trimming.
|
|
84
|
+
*
|
|
85
|
+
* Endpoint destination rows and calculation ranges are physical indexes, so they must never be
|
|
86
|
+
* compared against `countRows()` - that counts only the *visible* rows and shrinks whenever a
|
|
87
|
+
* plugin trims rows (NestedRows collapsing a group, TrimRows, the Filters plugin).
|
|
88
|
+
*
|
|
89
|
+
* @returns {number}
|
|
90
|
+
*/ countPhysicalRows() {
|
|
91
|
+
return this.hot.rowIndexMapper.getNumberOfIndexes();
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Returns the number of rows an endpoint may address, that is the physical row count capped by
|
|
95
|
+
* `maxRows`. Used for the settings defaults that need a row count rather than a bounds check.
|
|
96
|
+
*
|
|
97
|
+
* `maxRows` is normalized the same way `DataMap#getLength` does it: `0` or less means zero rows,
|
|
98
|
+
* anything falsy means no cap.
|
|
99
|
+
*
|
|
100
|
+
* @returns {number}
|
|
101
|
+
*/ countAddressableRows() {
|
|
102
|
+
const maxRows = this.hot.getSettings().maxRows;
|
|
103
|
+
let cap;
|
|
104
|
+
if ((maxRows ?? 0) < 0 || maxRows === 0) {
|
|
105
|
+
cap = 0;
|
|
106
|
+
} else {
|
|
107
|
+
cap = maxRows || Infinity;
|
|
108
|
+
}
|
|
109
|
+
return Math.min(this.countPhysicalRows(), cap);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Checks whether an endpoint points outside the table.
|
|
113
|
+
*
|
|
114
|
+
* A *trimmed* destination row is not out of bounds - the row exists, it is only hidden - so it is
|
|
115
|
+
* deliberately not reported here. A row that is visible but sits past `maxRows` is out of bounds,
|
|
116
|
+
* because the grid renders no cell for it.
|
|
117
|
+
*
|
|
118
|
+
* @param {object} endpoint Contains the endpoint information.
|
|
119
|
+
* @param {number} [rowOffset=0] Row offset to apply before the check.
|
|
120
|
+
* @param {number} [colOffset=0] Column offset to apply before the check.
|
|
121
|
+
* @returns {boolean}
|
|
122
|
+
*/ isEndpointOutOfBounds(endpoint, rowOffset = 0, colOffset = 0) {
|
|
123
|
+
const destinationRow = endpoint.destinationRow + rowOffset;
|
|
124
|
+
const destinationVisualRow = this.hot.toVisualRow(destinationRow);
|
|
125
|
+
return destinationRow >= this.countPhysicalRows() || endpoint.destinationColumn + colOffset >= this.hot.countCols() || destinationVisualRow !== null && destinationVisualRow >= this.hot.countRows();
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
38
128
|
* Get an array with all the endpoints.
|
|
39
129
|
*
|
|
40
130
|
* @returns {Array}
|
|
@@ -45,6 +135,40 @@ const _utils = require("./utils");
|
|
|
45
135
|
return this.endpoints;
|
|
46
136
|
}
|
|
47
137
|
/**
|
|
138
|
+
* Records the destinations of the endpoints a refresh pass is about to calculate.
|
|
139
|
+
*
|
|
140
|
+
* The resolved endpoints are passed in rather than read through `getAllEndpoints()`, which would
|
|
141
|
+
* re-invoke a settings function and could describe a different layout than the pass is working on.
|
|
142
|
+
*
|
|
143
|
+
* @param {object[]} endpoints The endpoints the current pass will calculate.
|
|
144
|
+
*/ cacheSummaryDestinations(endpoints) {
|
|
145
|
+
_class_private_field_set(this, _summaryDestinations, new Map());
|
|
146
|
+
(0, _array.arrayEach)(endpoints, (endpoint)=>{
|
|
147
|
+
let columns = _class_private_field_get(this, _summaryDestinations).get(endpoint.destinationRow);
|
|
148
|
+
if (columns === undefined) {
|
|
149
|
+
columns = new Set();
|
|
150
|
+
_class_private_field_get(this, _summaryDestinations).set(endpoint.destinationRow, columns);
|
|
151
|
+
}
|
|
152
|
+
columns.add(endpoint.destinationColumn);
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Checks whether a physical cell holds the result of an endpoint.
|
|
157
|
+
*
|
|
158
|
+
* `getCellValue` normally recognizes a result by its `columnSummaryResult` class, but cell meta is
|
|
159
|
+
* addressed by visual coordinates, so a trimmed row has no readable class. Without this check a
|
|
160
|
+
* hidden summary row is summed as if it were plain data and inflates every summary covering it.
|
|
161
|
+
*
|
|
162
|
+
* @param {number} physicalRow Physical row index.
|
|
163
|
+
* @param {number} column Column index.
|
|
164
|
+
* @returns {boolean}
|
|
165
|
+
*/ isSummaryDestination(physicalRow, column) {
|
|
166
|
+
if (_class_private_field_get(this, _summaryDestinations) === null) {
|
|
167
|
+
this.cacheSummaryDestinations(this.getAllEndpoints());
|
|
168
|
+
}
|
|
169
|
+
return _class_private_field_get(this, _summaryDestinations).get(physicalRow)?.has(column) === true;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
48
172
|
* Used to fill the blanks in the endpoint data provided by a settings function.
|
|
49
173
|
*
|
|
50
174
|
* @private
|
|
@@ -73,7 +197,7 @@ const _utils = require("./utils");
|
|
|
73
197
|
this.assignSetting(val, newEndpoint, 'ranges', [
|
|
74
198
|
[
|
|
75
199
|
0,
|
|
76
|
-
this.
|
|
200
|
+
this.countAddressableRows() - 1
|
|
77
201
|
]
|
|
78
202
|
]);
|
|
79
203
|
this.assignSetting(val, newEndpoint, 'reversedRowCoords', false);
|
|
@@ -115,7 +239,7 @@ const _utils = require("./utils");
|
|
|
115
239
|
endpoint[name] = defaultValue;
|
|
116
240
|
} else {
|
|
117
241
|
/* eslint-disable no-lonely-if */ if (name === 'destinationRow' && endpoint.reversedRowCoords) {
|
|
118
|
-
endpoint[name] = this.
|
|
242
|
+
endpoint[name] = this.countAddressableRows() - settings[name] - 1;
|
|
119
243
|
} else {
|
|
120
244
|
endpoint[name] = settings[name];
|
|
121
245
|
}
|
|
@@ -311,12 +435,7 @@ const _utils = require("./utils");
|
|
|
311
435
|
* @param {boolean} [useOffset=true] Use the cell offset value.
|
|
312
436
|
*/ resetAllEndpoints(endpoints = this.getAllEndpoints(), useOffset = true) {
|
|
313
437
|
const anyEndpointOutOfRange = endpoints.some((endpoint)=>{
|
|
314
|
-
|
|
315
|
-
const alterColOffset = endpoint.alterColumnOffset || 0;
|
|
316
|
-
if (endpoint.destinationRow + alterRowOffset >= this.hot.countRows() || endpoint.destinationColumn + alterColOffset >= this.hot.countCols()) {
|
|
317
|
-
return true;
|
|
318
|
-
}
|
|
319
|
-
return false;
|
|
438
|
+
return this.isEndpointOutOfBounds(endpoint, endpoint.alterRowOffset || 0, endpoint.alterColumnOffset || 0);
|
|
320
439
|
});
|
|
321
440
|
if (anyEndpointOutOfRange) {
|
|
322
441
|
return;
|
|
@@ -333,8 +452,10 @@ const _utils = require("./utils");
|
|
|
333
452
|
/**
|
|
334
453
|
* Calculate and refresh all defined endpoints.
|
|
335
454
|
*/ refreshAllEndpoints() {
|
|
455
|
+
const endpoints = this.getAllEndpoints();
|
|
336
456
|
this.cellsToSetCache = [];
|
|
337
|
-
|
|
457
|
+
this.cacheSummaryDestinations(endpoints);
|
|
458
|
+
(0, _array.arrayEach)(endpoints, (value)=>{
|
|
338
459
|
this.currentEndpoint = value;
|
|
339
460
|
this.plugin.calculate(value);
|
|
340
461
|
this.setEndpointValue(value, 'init');
|
|
@@ -350,21 +471,23 @@ const _utils = require("./utils");
|
|
|
350
471
|
*
|
|
351
472
|
* @param {Array} changes Array of changes from the `afterChange` hook.
|
|
352
473
|
*/ refreshChangedEndpoints(changes) {
|
|
474
|
+
const endpoints = this.getAllEndpoints();
|
|
353
475
|
const needToRefresh = [];
|
|
354
476
|
this.cellsToSetCache = [];
|
|
477
|
+
this.cacheSummaryDestinations(endpoints);
|
|
355
478
|
(0, _array.arrayEach)(changes, (value, key, changesObj)=>{
|
|
356
479
|
const change = value;
|
|
357
480
|
if (`${change[2] || ''}` === `${change[3]}`) {
|
|
358
481
|
return;
|
|
359
482
|
}
|
|
360
|
-
(0, _array.arrayEach)(
|
|
483
|
+
(0, _array.arrayEach)(endpoints, (endpoint, j)=>{
|
|
361
484
|
if (this.hot.propToCol(changesObj[key][1]) === endpoint.sourceColumn && needToRefresh.indexOf(j) === -1) {
|
|
362
485
|
needToRefresh.push(j);
|
|
363
486
|
}
|
|
364
487
|
});
|
|
365
488
|
});
|
|
366
489
|
(0, _array.arrayEach)(needToRefresh, (value)=>{
|
|
367
|
-
this.refreshEndpoint(
|
|
490
|
+
this.refreshEndpoint(endpoints[value]);
|
|
368
491
|
});
|
|
369
492
|
if (this.cellsToSetCache.length) {
|
|
370
493
|
this.hot.setDataAtCell(this.cellsToSetCache, null, undefined, 'ColumnSummary.reset');
|
|
@@ -377,11 +500,15 @@ const _utils = require("./utils");
|
|
|
377
500
|
* @param {Set<number>|number[]} visualColumns Visual column indexes to match against.
|
|
378
501
|
*/ refreshEndpointsBySourceColumns(visualColumns) {
|
|
379
502
|
const columnsSet = visualColumns instanceof Set ? visualColumns : new Set(visualColumns);
|
|
380
|
-
const
|
|
503
|
+
const endpoints = this.getAllEndpoints();
|
|
504
|
+
const matched = endpoints.filter((endpoint)=>columnsSet.has(endpoint.sourceColumn));
|
|
381
505
|
if (matched.length === 0) {
|
|
382
506
|
return;
|
|
383
507
|
}
|
|
384
508
|
this.cellsToSetCache = [];
|
|
509
|
+
// Every endpoint is cached, not just the matched ones - a summary result must stay excluded from
|
|
510
|
+
// the ranges of the endpoints being refreshed, whatever their own source column is.
|
|
511
|
+
this.cacheSummaryDestinations(endpoints);
|
|
385
512
|
(0, _array.arrayEach)(matched, (endpoint)=>{
|
|
386
513
|
this.refreshEndpoint(endpoint);
|
|
387
514
|
});
|
|
@@ -394,12 +521,16 @@ const _utils = require("./utils");
|
|
|
394
521
|
* Refreshes the cell meta information for the all endpoints after the `updateSettings` method call which in some
|
|
395
522
|
* cases (call with `columns` option) can reset the cell metas to the initial state.
|
|
396
523
|
*/ refreshCellMetas() {
|
|
524
|
+
// Declarative writes: kept on the cell meta (so they survive the viewport meta eviction) but not
|
|
525
|
+
// recorded as user-defined, so an `updateSettings` cache reset clears them and they are re-applied
|
|
526
|
+
// for the current endpoints. `_setCellMetaDeclarative` does not fire `beforeSetCellMeta`/
|
|
527
|
+
// `afterSetCellMeta` and cannot be vetoed - matching the previous direct-write behavior.
|
|
397
528
|
this.endpoints.forEach((endpoint)=>{
|
|
398
529
|
const destinationVisualRow = this.hot.toVisualRow(endpoint.destinationRow);
|
|
530
|
+
const destinationColumn = endpoint.destinationColumn;
|
|
399
531
|
if (destinationVisualRow !== null) {
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
cellMeta.className = 'columnSummaryResult';
|
|
532
|
+
this.hot._setCellMetaDeclarative(destinationVisualRow, destinationColumn, 'readOnly', endpoint.readOnly);
|
|
533
|
+
this.hot._setCellMetaDeclarative(destinationVisualRow, destinationColumn, 'className', 'columnSummaryResult');
|
|
403
534
|
}
|
|
404
535
|
});
|
|
405
536
|
}
|
|
@@ -421,8 +552,14 @@ const _utils = require("./utils");
|
|
|
421
552
|
*/ resetEndpointValue(endpoint, useOffset = true) {
|
|
422
553
|
const alterRowOffset = endpoint.alterRowOffset || 0;
|
|
423
554
|
const alterColOffset = endpoint.alterColumnOffset || 0;
|
|
555
|
+
const destinationVisualRow = this.hot.toVisualRow(endpoint.destinationRow + (useOffset ? alterRowOffset : 0));
|
|
556
|
+
// The destination row is trimmed (for example it sits inside a collapsed NestedRows group), so
|
|
557
|
+
// there is no cell to clear.
|
|
558
|
+
if (destinationVisualRow === null) {
|
|
559
|
+
return;
|
|
560
|
+
}
|
|
424
561
|
this.cellsToSetCache.push([
|
|
425
|
-
|
|
562
|
+
destinationVisualRow,
|
|
426
563
|
this.hot.toVisualColumn(endpoint.destinationColumn + (useOffset ? alterColOffset : 0)),
|
|
427
564
|
''
|
|
428
565
|
]);
|
|
@@ -434,28 +571,36 @@ const _utils = require("./utils");
|
|
|
434
571
|
* @param {string} [source] Source of the call information.
|
|
435
572
|
* @param {boolean} [render=false] `true` if it needs to render the table afterwards.
|
|
436
573
|
*/ setEndpointValue(endpoint, source, render = false) {
|
|
437
|
-
|
|
438
|
-
if (endpoint.destinationRow >= this.hot.countRows() || endpoint.destinationColumn >= this.hot.countCols()) {
|
|
574
|
+
if (this.isEndpointOutOfBounds(endpoint)) {
|
|
439
575
|
this.throwOutOfBoundsWarning();
|
|
440
576
|
return;
|
|
441
577
|
}
|
|
442
578
|
const destinationVisualRow = this.hot.toVisualRow(endpoint.destinationRow);
|
|
443
579
|
if (destinationVisualRow !== null) {
|
|
444
|
-
const
|
|
580
|
+
const destinationColumn = endpoint.destinationColumn;
|
|
581
|
+
const cellMeta = this.hot.getCellMetaTransient(destinationVisualRow, destinationColumn);
|
|
445
582
|
if (source === 'init' || cellMeta.readOnly !== endpoint.readOnly) {
|
|
446
|
-
|
|
447
|
-
|
|
583
|
+
// Declarative writes (see `refreshCellMetas`) so the styling survives viewport meta eviction
|
|
584
|
+
// without firing the public `setCellMeta` hooks or being vetoable.
|
|
585
|
+
this.hot._setCellMetaDeclarative(destinationVisualRow, destinationColumn, 'readOnly', endpoint.readOnly);
|
|
586
|
+
this.hot._setCellMetaDeclarative(destinationVisualRow, destinationColumn, 'className', 'columnSummaryResult');
|
|
448
587
|
}
|
|
449
588
|
}
|
|
450
589
|
endpoint.result = (0, _utils.roundFloat)(endpoint.result, endpoint.roundFloat);
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
endpoint.result
|
|
458
|
-
|
|
590
|
+
// A trimmed destination row has no cell to write to - writing one throws in `DataMap.set`. The
|
|
591
|
+
// result stays on the endpoint; the cell keeps its previous value until the next recalculation
|
|
592
|
+
// that runs while the row is visible. Nothing re-runs the endpoints on untrim, so a destination
|
|
593
|
+
// hidden at the moment of a change shows a stale value until then.
|
|
594
|
+
if (destinationVisualRow !== null) {
|
|
595
|
+
if (render) {
|
|
596
|
+
this.hot.setDataAtCell(destinationVisualRow, endpoint.destinationColumn, endpoint.result, 'ColumnSummary.set');
|
|
597
|
+
} else {
|
|
598
|
+
this.cellsToSetCache.push([
|
|
599
|
+
destinationVisualRow,
|
|
600
|
+
endpoint.destinationColumn,
|
|
601
|
+
endpoint.result
|
|
602
|
+
]);
|
|
603
|
+
}
|
|
459
604
|
}
|
|
460
605
|
endpoint.alterRowOffset = undefined;
|
|
461
606
|
endpoint.alterColumnOffset = undefined;
|
|
@@ -470,6 +615,10 @@ const _utils = require("./utils");
|
|
|
470
615
|
/**
|
|
471
616
|
* Initializes the endpoints manager with a reference to the ColumnSummary plugin and the summary endpoint configuration.
|
|
472
617
|
*/ constructor(plugin, settings){
|
|
618
|
+
_class_private_field_init(this, _summaryDestinations, {
|
|
619
|
+
writable: true,
|
|
620
|
+
value: void 0
|
|
621
|
+
});
|
|
473
622
|
/**
|
|
474
623
|
* Array of declared plugin endpoints (calculation destination points).
|
|
475
624
|
*
|
|
@@ -495,7 +644,10 @@ const _utils = require("./utils");
|
|
|
495
644
|
* @type {Array}
|
|
496
645
|
* @default {[]}
|
|
497
646
|
*/ this.cellsToSetCache = [];
|
|
647
|
+
_class_private_field_set(this, _summaryDestinations, null);
|
|
498
648
|
this.plugin = plugin;
|
|
649
|
+
// `_setCellMetaDeclarative` is defined on the Core runtime object but kept off the public
|
|
650
|
+
// `HotInstance` type; this internal plugin reaches it through the `HotInstanceInternal` view.
|
|
499
651
|
this.hot = this.plugin.hot;
|
|
500
652
|
this.settings = settings;
|
|
501
653
|
}
|