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
|
@@ -9,7 +9,169 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _utils = require("./utils");
|
|
12
|
+
const _errors = require("../../helpers/errors");
|
|
12
13
|
const _number = require("../../helpers/number");
|
|
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
|
+
function _class_private_method_get(receiver, privateSet, fn) {
|
|
55
|
+
if (!privateSet.has(receiver)) {
|
|
56
|
+
throw new TypeError("attempted to get private field on non-instance");
|
|
57
|
+
}
|
|
58
|
+
return fn;
|
|
59
|
+
}
|
|
60
|
+
function _class_private_method_init(obj, privateSet) {
|
|
61
|
+
_check_private_redeclaration(obj, privateSet);
|
|
62
|
+
privateSet.add(obj);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The maximum number of key-shift operations (from `insert`/`remove`) buffered before they are
|
|
66
|
+
* force-applied. Shifts are normally applied lazily, once, on the next full-view read
|
|
67
|
+
* (`size`/`values`/`entries`), so a caller that loops single-row inserts/removes (for example,
|
|
68
|
+
* `DataMap.removeRow` calls the meta layer once per removed physical row) pays one re-key pass
|
|
69
|
+
* per batch instead of one per call. Contiguous runs of same-type shifts merge into a single
|
|
70
|
+
* buffered entry, so the cap only bounds the buffer for scattered, non-mergeable loops.
|
|
71
|
+
*/ const MAX_PENDING_SHIFTS = 1024;
|
|
72
|
+
/**
|
|
73
|
+
* Throws when the key is not an unsigned integer. A plain function call instead of `assert()` -
|
|
74
|
+
* `assert` takes a condition closure, and allocating one per `obtain` call is measurable on the
|
|
75
|
+
* render path (the method runs twice per cell per draw).
|
|
76
|
+
*
|
|
77
|
+
* @param {*} key The key to validate.
|
|
78
|
+
*/ function assertUnsignedKey(key) {
|
|
79
|
+
if (!(0, _number.isUnsignedNumber)(key)) {
|
|
80
|
+
(0, _errors.throwWithCause)('Assertion failed: Expecting an unsigned number.');
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Throws when the key is neither an unsigned integer nor null/undefined.
|
|
85
|
+
*
|
|
86
|
+
* @param {*} key The key to validate.
|
|
87
|
+
*/ function assertUnsignedKeyOrNullish(key) {
|
|
88
|
+
if (!(0, _number.isUnsignedNumber)(key) && !(0, _utils.isNullish)(key)) {
|
|
89
|
+
(0, _errors.throwWithCause)('Assertion failed: Expecting an unsigned number or null/undefined argument.');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
var /**
|
|
93
|
+
* Materialized values keyed by the CURRENT volatile key (with any buffered shifts from
|
|
94
|
+
* `#pendingShifts` not yet applied). Native Map iteration order is insertion order; the
|
|
95
|
+
* shift-apply pass rebuilds the map preserving that relative order, so iteration stays in
|
|
96
|
+
* order of value initialization.
|
|
97
|
+
*/ _data = /*#__PURE__*/ new WeakMap(), /**
|
|
98
|
+
* The logical length of the collection: slots created by `insert` plus slots implied by
|
|
99
|
+
* obtaining a key at or past the current end. It only backs the "append"/"remove at end"
|
|
100
|
+
* semantics of nullish `insert`/`remove` keys - it does not bound `obtain`. Every key
|
|
101
|
+
* stored in the map is smaller than this value. Maintained eagerly (shifts do not defer it).
|
|
102
|
+
*/ _length = /*#__PURE__*/ new WeakMap(), /**
|
|
103
|
+
* Key-shift operations buffered by `insert`/`remove` and not yet applied to `#data`.
|
|
104
|
+
* Applied in call order by `#applyPendingShifts` on the next read.
|
|
105
|
+
*/ _pendingShifts = /*#__PURE__*/ new WeakMap(), /**
|
|
106
|
+
* An exclusive upper bound of the keys currently stored in `#data` (kept valid across
|
|
107
|
+
* buffered shifts). It lets `insert`/`remove` skip buffering entirely when the operation
|
|
108
|
+
* starts at or above every stored key - the common case of appending or altering far
|
|
109
|
+
* beyond the materialized band - without scanning the keys.
|
|
110
|
+
*/ _keyUpperBound = /*#__PURE__*/ new WeakMap(), /**
|
|
111
|
+
* The highest key currently stored in `#data`, or `-1` when empty. May go stale-high after
|
|
112
|
+
* `evict` of the highest key (conservative - only disables the fast flush path).
|
|
113
|
+
*/ _maxStoredKey = /*#__PURE__*/ new WeakMap(), /**
|
|
114
|
+
* True while the map's iteration order provably equals ascending key order (every
|
|
115
|
+
* materialization so far appended a new maximum key). Enables the in-place flush fast path.
|
|
116
|
+
*/ _isAscending = /*#__PURE__*/ new WeakMap(), /**
|
|
117
|
+
* True when an iterator over `#data` may still be live (handed out by `values`/`entries` and
|
|
118
|
+
* possibly not yet exhausted). The in-place flush fast path mutates `#data` directly, which a
|
|
119
|
+
* live iterator would observe - so the fast path is skipped; the rebuild path (which swaps the
|
|
120
|
+
* map, detaching any live iterator) clears the flag.
|
|
121
|
+
*/ _mayHaveLiveIterator = /*#__PURE__*/ new WeakMap(), /**
|
|
122
|
+
* Buffers a key-shift operation, first trying to merge it into the previous one (a loop of
|
|
123
|
+
* contiguous single-slot calls - such as the descending per-row removes made by
|
|
124
|
+
* `DataMap.removeRow` - collapses into a single buffered shift). When the buffer still grows
|
|
125
|
+
* past `MAX_PENDING_SHIFTS`, it is force-applied as a backstop for scattered, non-mergeable
|
|
126
|
+
* loops that never read between mutations.
|
|
127
|
+
*
|
|
128
|
+
* @param {object} shift The shift operation to buffer.
|
|
129
|
+
*/ _bufferShift = /*#__PURE__*/ new WeakSet(), /**
|
|
130
|
+
* Merges the incoming shift into the last buffered one when the two are provably equivalent
|
|
131
|
+
* to a single wider shift, and reports whether the merge happened. Two inserts merge when the
|
|
132
|
+
* new insertion point falls inside (or at either edge of) the still-pending inserted gap. Two
|
|
133
|
+
* removes merge when they start at the same key (an ascending loop - each call removes the
|
|
134
|
+
* next value that slid down into the same spot) or when the new range ends exactly where the
|
|
135
|
+
* previous one starts (a descending loop). Both callers must operate on the same shift type.
|
|
136
|
+
*
|
|
137
|
+
* @param {object} last The shift the buffer currently ends with, mutated on merge.
|
|
138
|
+
* @param {object} shift The incoming shift.
|
|
139
|
+
* @returns {boolean}
|
|
140
|
+
*/ _tryMergeShift = /*#__PURE__*/ new WeakSet(), /**
|
|
141
|
+
* Maps a key from the current (post-shift) coordinate space back to the stored key it
|
|
142
|
+
* corresponds to in `#data`, by undoing the buffered shifts in reverse call order. Returns
|
|
143
|
+
* `-1` when the key falls inside a still-pending inserted gap - no stored key maps there.
|
|
144
|
+
* This lets single-key reads resolve through the buffer in O(buffered shifts) instead of
|
|
145
|
+
* forcing the O(materialized) re-key pass.
|
|
146
|
+
*
|
|
147
|
+
* @param {number} key The key in the current coordinate space.
|
|
148
|
+
* @returns {number}
|
|
149
|
+
*/ _toStoredKey = /*#__PURE__*/ new WeakSet(), /**
|
|
150
|
+
* Applies every buffered key-shift operation in call order with a single pass over the
|
|
151
|
+
* stored entries. When no stored key is affected (every key sits below the lowest shift
|
|
152
|
+
* point), the map is left untouched with no allocation. Otherwise the map is rebuilt in its
|
|
153
|
+
* original iteration order, which preserves the initialization-order contract of `values()`.
|
|
154
|
+
*/ _applyPendingShifts = /*#__PURE__*/ new WeakSet(), /**
|
|
155
|
+
* Applies a single buffered remove in place on a dense, ascending-ordered map: the value
|
|
156
|
+
* stored under each key at or above the removal point is overwritten with the value
|
|
157
|
+
* `amount` slots above it, and the now-duplicated top `amount` keys are deleted. Keys are
|
|
158
|
+
* only updated or deleted (never inserted), so the Map's iteration order stays ascending
|
|
159
|
+
* and the result is identical to the full rebuild - at the cost of only the affected
|
|
160
|
+
* suffix, with no allocation and no hash-table churn.
|
|
161
|
+
*
|
|
162
|
+
* @param {number} start The first removed key.
|
|
163
|
+
* @param {number} amount The number of removed keys.
|
|
164
|
+
*/ _applySingleRemoveInPlace = /*#__PURE__*/ new WeakSet(), /**
|
|
165
|
+
* Runs a stored key through the buffered shift operations in call order and returns the
|
|
166
|
+
* resulting key, or `-1` when one of the remove operations drops it. Stops early once the
|
|
167
|
+
* key sits below every remaining shift point (`minStartFrom` suffix minima), where it can
|
|
168
|
+
* no longer change.
|
|
169
|
+
*
|
|
170
|
+
* @param {number} key The stored key to transform.
|
|
171
|
+
* @param {object[]} shifts The buffered shift operations, in call order.
|
|
172
|
+
* @param {number[]} minStartFrom For each position, the lowest shift start from there on.
|
|
173
|
+
* @returns {number}
|
|
174
|
+
*/ _transformKey = /*#__PURE__*/ new WeakSet();
|
|
13
175
|
class LazyFactoryMap {
|
|
14
176
|
/**
|
|
15
177
|
* Gets or if data not exist creates and returns new data.
|
|
@@ -17,139 +179,201 @@ class LazyFactoryMap {
|
|
|
17
179
|
* @param {number} key The item key as zero-based index.
|
|
18
180
|
* @returns {*}
|
|
19
181
|
*/ obtain(key) {
|
|
20
|
-
(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
this
|
|
182
|
+
assertUnsignedKey(key);
|
|
183
|
+
let storedKey = key;
|
|
184
|
+
if (_class_private_field_get(this, _pendingShifts).length > 0) {
|
|
185
|
+
storedKey = _class_private_method_get(this, _toStoredKey, toStoredKey).call(this, key);
|
|
186
|
+
// The key sits inside a pending inserted gap - no stored key can map to it, so a new
|
|
187
|
+
// value has no stored coordinate to live under until the buffer is applied.
|
|
188
|
+
if (storedKey === -1) {
|
|
189
|
+
_class_private_method_get(this, _applyPendingShifts, applyPendingShifts).call(this);
|
|
190
|
+
storedKey = key;
|
|
28
191
|
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
this
|
|
192
|
+
}
|
|
193
|
+
let value = _class_private_field_get(this, _data).get(storedKey);
|
|
194
|
+
if (value === undefined) {
|
|
195
|
+
value = this.valueFactory(key);
|
|
196
|
+
_class_private_field_get(this, _data).set(storedKey, value);
|
|
197
|
+
if (key >= _class_private_field_get(this, _length)) {
|
|
198
|
+
_class_private_field_set(this, _length, key + 1);
|
|
199
|
+
}
|
|
200
|
+
// The bound must stay valid in both coordinate spaces: `storedKey` covers the map as
|
|
201
|
+
// stored now, `key` covers it after the buffered shifts move `storedKey` to `key`.
|
|
202
|
+
const boundKey = storedKey > key ? storedKey : key;
|
|
203
|
+
if (boundKey >= _class_private_field_get(this, _keyUpperBound)) {
|
|
204
|
+
_class_private_field_set(this, _keyUpperBound, boundKey + 1);
|
|
205
|
+
}
|
|
206
|
+
// Ascending-order bookkeeping for the in-place flush fast path: a miss that does not
|
|
207
|
+
// append a new maximum key breaks "iteration order == ascending key order".
|
|
208
|
+
if (storedKey > _class_private_field_get(this, _maxStoredKey)) {
|
|
209
|
+
_class_private_field_set(this, _maxStoredKey, storedKey);
|
|
36
210
|
} else {
|
|
37
|
-
this
|
|
38
|
-
this.index[key] = this.data.length - 1;
|
|
211
|
+
_class_private_field_set(this, _isAscending, false);
|
|
39
212
|
}
|
|
40
213
|
}
|
|
41
|
-
return
|
|
214
|
+
return value;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Checks whether a value for the given key has already been created, without creating one.
|
|
218
|
+
* Unlike `obtain`, this never triggers the value factory.
|
|
219
|
+
*
|
|
220
|
+
* @param {number} key The item key as zero-based index.
|
|
221
|
+
* @returns {boolean}
|
|
222
|
+
*/ has(key) {
|
|
223
|
+
return this.getIfExists(key) !== undefined;
|
|
42
224
|
}
|
|
43
225
|
/**
|
|
44
|
-
* Inserts an empty
|
|
45
|
-
*
|
|
226
|
+
* Inserts an empty space for new data. Materialized values stored under keys at or after
|
|
227
|
+
* the insertion point are re-keyed upwards by `amount`; the inserted keys themselves stay
|
|
228
|
+
* unmaterialized until the first `obtain` call. The re-keying is buffered (a contiguous run
|
|
229
|
+
* of inserts merges into one buffered shift) and applied once on the next full-view read, so
|
|
230
|
+
* a loop of inserts costs one re-key pass, not one per call. When the insertion point sits
|
|
231
|
+
* at or above every stored key (the common case on a large grid, where only the viewport
|
|
232
|
+
* band is materialized), nothing is buffered at all.
|
|
46
233
|
*
|
|
47
234
|
* @param {number} key The key as volatile zero-based index at which to begin inserting space for new data.
|
|
48
235
|
* @param {number} [amount=1] Amount of data to insert.
|
|
49
236
|
*/ insert(key, amount = 1) {
|
|
50
|
-
(
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
];
|
|
237
|
+
assertUnsignedKeyOrNullish(key);
|
|
238
|
+
const insertionIndex = (0, _utils.isNullish)(key) ? _class_private_field_get(this, _length) : key;
|
|
239
|
+
_class_private_field_set(this, _length, _class_private_field_get(this, _length) + amount);
|
|
240
|
+
if (insertionIndex >= _class_private_field_get(this, _keyUpperBound)) {
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
_class_private_field_set(this, _keyUpperBound, _class_private_field_get(this, _keyUpperBound) + amount);
|
|
244
|
+
_class_private_method_get(this, _bufferShift, bufferShift).call(this, {
|
|
245
|
+
start: insertionIndex,
|
|
246
|
+
amount,
|
|
247
|
+
isInsert: true
|
|
248
|
+
});
|
|
63
249
|
}
|
|
64
250
|
/**
|
|
65
|
-
* Removes (soft remove) data from
|
|
251
|
+
* Removes (soft remove) data from the map. Materialized values stored under the removed keys
|
|
252
|
+
* are dropped (freed for garbage collection) and values under higher keys are re-keyed
|
|
253
|
+
* downwards by `amount`. The re-keying is buffered (a contiguous run of removes - ascending
|
|
254
|
+
* or descending - merges into one buffered shift) and applied once on the next full-view
|
|
255
|
+
* read, so a loop of single-row removes (for example, the per-physical-row calls made by the
|
|
256
|
+
* data layer when removing many rows at once) costs one re-key pass, not one per call. When
|
|
257
|
+
* the removal point sits at or above every stored key, nothing is buffered at all.
|
|
66
258
|
*
|
|
67
259
|
* @param {number} key The key as volatile zero-based index at which to begin removing the data.
|
|
68
260
|
* @param {number} [amount=1] Amount data to remove.
|
|
69
261
|
*/ remove(key, amount = 1) {
|
|
70
|
-
(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
262
|
+
assertUnsignedKeyOrNullish(key);
|
|
263
|
+
let start;
|
|
264
|
+
if ((0, _utils.isNullish)(key)) {
|
|
265
|
+
// Reproduces `index.splice(length - amount, amount)`: a negative start counts back from
|
|
266
|
+
// the end (never below zero), exactly like `Array.prototype.splice`.
|
|
267
|
+
const rawStart = _class_private_field_get(this, _length) - amount;
|
|
268
|
+
start = rawStart < 0 ? Math.max(_class_private_field_get(this, _length) + rawStart, 0) : rawStart;
|
|
269
|
+
} else {
|
|
270
|
+
start = key;
|
|
271
|
+
}
|
|
272
|
+
const removedCount = Math.max(Math.min(_class_private_field_get(this, _length) - start, amount), 0);
|
|
273
|
+
const isBeyondStoredKeys = start >= _class_private_field_get(this, _keyUpperBound);
|
|
274
|
+
_class_private_field_set(this, _length, _class_private_field_get(this, _length) - removedCount);
|
|
275
|
+
// Every stored key is smaller than `#length` both before and after a remove, so the upper
|
|
276
|
+
// bound can be tightened to the new length. Without this, a remove would leave the bound
|
|
277
|
+
// stale-high and a later append-at-end `insert(null)` (for example, the `minSpareRows`
|
|
278
|
+
// spare-row top-up on every keystroke in the last row) would buffer a shift that can never
|
|
279
|
+
// affect a stored key.
|
|
280
|
+
if (_class_private_field_get(this, _keyUpperBound) > _class_private_field_get(this, _length)) {
|
|
281
|
+
_class_private_field_set(this, _keyUpperBound, _class_private_field_get(this, _length));
|
|
282
|
+
}
|
|
283
|
+
if (isBeyondStoredKeys) {
|
|
284
|
+
return;
|
|
77
285
|
}
|
|
286
|
+
_class_private_method_get(this, _bufferShift, bufferShift).call(this, {
|
|
287
|
+
start,
|
|
288
|
+
amount,
|
|
289
|
+
isInsert: false
|
|
290
|
+
});
|
|
78
291
|
}
|
|
79
292
|
/**
|
|
80
|
-
* Returns the
|
|
293
|
+
* Returns the number of materialized values this map currently holds. Keys reserved through
|
|
294
|
+
* `insert` but never obtained, and keys released through `evict` or `remove`, are not counted.
|
|
81
295
|
*
|
|
82
296
|
* @returns {number}
|
|
83
297
|
*/ size() {
|
|
84
|
-
|
|
298
|
+
if (_class_private_field_get(this, _pendingShifts).length > 0) {
|
|
299
|
+
_class_private_method_get(this, _applyPendingShifts, applyPendingShifts).call(this);
|
|
300
|
+
}
|
|
301
|
+
return _class_private_field_get(this, _data).size;
|
|
85
302
|
}
|
|
86
303
|
/**
|
|
87
|
-
* Returns a new Iterator object that contains the values for each item in the LazyMap object
|
|
304
|
+
* Returns a new Iterator object that contains the values for each item in the LazyMap object,
|
|
305
|
+
* in order of value initialization.
|
|
88
306
|
*
|
|
89
307
|
* @returns {Iterator}
|
|
90
308
|
*/ values() {
|
|
91
|
-
|
|
309
|
+
if (_class_private_field_get(this, _pendingShifts).length > 0) {
|
|
310
|
+
_class_private_method_get(this, _applyPendingShifts, applyPendingShifts).call(this);
|
|
311
|
+
}
|
|
312
|
+
_class_private_field_set(this, _mayHaveLiveIterator, true);
|
|
313
|
+
return _class_private_field_get(this, _data).values();
|
|
92
314
|
}
|
|
93
315
|
/**
|
|
94
|
-
* Returns a new Iterator object that contains an array of `[index, value]` for each item in
|
|
316
|
+
* Returns a new Iterator object that contains an array of `[index, value]` for each item in
|
|
317
|
+
* the LazyMap object, in order of value initialization.
|
|
318
|
+
*
|
|
319
|
+
* Mutation-during-iteration contract (also applies to `values()`): the iterator follows
|
|
320
|
+
* native Map semantics. Releasing the currently visited key through `evict` (as
|
|
321
|
+
* `CellMeta.evictRow` does) is safe; a value materialized mid-loop through `obtain` of a new
|
|
322
|
+
* key WILL be visited. Calling `insert`/`remove` mid-loop only buffers the key shift, so the
|
|
323
|
+
* walk continues undisturbed over the pre-shift view; if another read flushes the buffered
|
|
324
|
+
* shifts mid-loop, the walk still completes over the pre-shift map it started on.
|
|
95
325
|
*
|
|
96
326
|
* @returns {Iterator}
|
|
97
327
|
*/ entries() {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
const keyIndex = this._getKeyByStorageIndex(i);
|
|
101
|
-
const item = this.data[i];
|
|
102
|
-
if (keyIndex !== -1 && item !== undefined) {
|
|
103
|
-
validEntries.push([
|
|
104
|
-
keyIndex,
|
|
105
|
-
item
|
|
106
|
-
]);
|
|
107
|
-
}
|
|
328
|
+
if (_class_private_field_get(this, _pendingShifts).length > 0) {
|
|
329
|
+
_class_private_method_get(this, _applyPendingShifts, applyPendingShifts).call(this);
|
|
108
330
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
next () {
|
|
112
|
-
if (dataIndex < validEntries.length) {
|
|
113
|
-
const value = validEntries[dataIndex];
|
|
114
|
-
dataIndex += 1;
|
|
115
|
-
return {
|
|
116
|
-
value,
|
|
117
|
-
done: false
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
return {
|
|
121
|
-
done: true,
|
|
122
|
-
value: undefined
|
|
123
|
-
};
|
|
124
|
-
},
|
|
125
|
-
[Symbol.iterator] () {
|
|
126
|
-
return iterator;
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
return iterator;
|
|
331
|
+
_class_private_field_set(this, _mayHaveLiveIterator, true);
|
|
332
|
+
return _class_private_field_get(this, _data).entries();
|
|
130
333
|
}
|
|
131
334
|
/**
|
|
132
|
-
*
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
335
|
+
* Releases the value stored under the given key. The next `obtain` call for that key
|
|
336
|
+
* re-creates the value through the factory (with a new identity). Unlike `remove`, the
|
|
337
|
+
* surrounding keys do not shift, so this is safe for values that can be reconstructed
|
|
338
|
+
* deterministically - for example render-derived cell meta for rows scrolled out of the
|
|
339
|
+
* viewport. The entry is genuinely deleted, so its memory is freed - there is no leftover
|
|
340
|
+
* slot. Does nothing when the key has no materialized value.
|
|
341
|
+
*
|
|
342
|
+
* @param {number} key The item key as zero-based index.
|
|
343
|
+
*/ evict(key) {
|
|
344
|
+
if (_class_private_field_get(this, _pendingShifts).length > 0) {
|
|
345
|
+
const storedKey = _class_private_method_get(this, _toStoredKey, toStoredKey).call(this, key);
|
|
346
|
+
if (storedKey !== -1) {
|
|
347
|
+
_class_private_field_get(this, _data).delete(storedKey);
|
|
348
|
+
}
|
|
349
|
+
return;
|
|
350
|
+
}
|
|
351
|
+
_class_private_field_get(this, _data).delete(key);
|
|
137
352
|
}
|
|
138
353
|
/**
|
|
139
|
-
*
|
|
354
|
+
* Returns the value stored under the given key, or `undefined` when the key has no materialized
|
|
355
|
+
* value. Unlike `obtain`, it never creates a value through the factory, so it is safe for
|
|
356
|
+
* read-only existence checks against the current contents.
|
|
140
357
|
*
|
|
141
|
-
* @param {number} key
|
|
142
|
-
* @returns {
|
|
143
|
-
*/
|
|
144
|
-
|
|
358
|
+
* @param {number} key The item key as zero-based index.
|
|
359
|
+
* @returns {*}
|
|
360
|
+
*/ getIfExists(key) {
|
|
361
|
+
if (_class_private_field_get(this, _pendingShifts).length > 0) {
|
|
362
|
+
const storedKey = _class_private_method_get(this, _toStoredKey, toStoredKey).call(this, key);
|
|
363
|
+
return storedKey === -1 ? undefined : _class_private_field_get(this, _data).get(storedKey);
|
|
364
|
+
}
|
|
365
|
+
return _class_private_field_get(this, _data).get(key);
|
|
145
366
|
}
|
|
146
367
|
/**
|
|
147
|
-
*
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
368
|
+
* Clears the map.
|
|
369
|
+
*/ clear() {
|
|
370
|
+
_class_private_field_get(this, _data).clear();
|
|
371
|
+
_class_private_field_set(this, _pendingShifts, []);
|
|
372
|
+
_class_private_field_set(this, _length, 0);
|
|
373
|
+
_class_private_field_set(this, _keyUpperBound, 0);
|
|
374
|
+
_class_private_field_set(this, _maxStoredKey, -1);
|
|
375
|
+
_class_private_field_set(this, _isAscending, true);
|
|
376
|
+
_class_private_field_set(this, _mayHaveLiveIterator, false);
|
|
153
377
|
}
|
|
154
378
|
/**
|
|
155
379
|
* Makes this object iterable.
|
|
@@ -161,23 +385,186 @@ class LazyFactoryMap {
|
|
|
161
385
|
/**
|
|
162
386
|
* Initializes the map with the given factory function used to create values for new keys on first access.
|
|
163
387
|
*/ constructor(valueFactory){
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
388
|
+
_class_private_method_init(this, _bufferShift);
|
|
389
|
+
_class_private_method_init(this, _tryMergeShift);
|
|
390
|
+
_class_private_method_init(this, _toStoredKey);
|
|
391
|
+
_class_private_method_init(this, _applyPendingShifts);
|
|
392
|
+
_class_private_method_init(this, _applySingleRemoveInPlace);
|
|
393
|
+
_class_private_method_init(this, _transformKey);
|
|
394
|
+
_class_private_field_init(this, _data, {
|
|
395
|
+
writable: true,
|
|
396
|
+
value: void 0
|
|
397
|
+
});
|
|
398
|
+
_class_private_field_init(this, _length, {
|
|
399
|
+
writable: true,
|
|
400
|
+
value: void 0
|
|
401
|
+
});
|
|
402
|
+
_class_private_field_init(this, _pendingShifts, {
|
|
403
|
+
writable: true,
|
|
404
|
+
value: void 0
|
|
405
|
+
});
|
|
406
|
+
_class_private_field_init(this, _keyUpperBound, {
|
|
407
|
+
writable: true,
|
|
408
|
+
value: void 0
|
|
409
|
+
});
|
|
410
|
+
_class_private_field_init(this, _maxStoredKey, {
|
|
411
|
+
writable: true,
|
|
412
|
+
value: void 0
|
|
413
|
+
});
|
|
414
|
+
_class_private_field_init(this, _isAscending, {
|
|
415
|
+
writable: true,
|
|
416
|
+
value: void 0
|
|
417
|
+
});
|
|
418
|
+
_class_private_field_init(this, _mayHaveLiveIterator, {
|
|
419
|
+
writable: true,
|
|
420
|
+
value: void 0
|
|
421
|
+
});
|
|
422
|
+
_class_private_field_set(this, _data, new Map());
|
|
423
|
+
_class_private_field_set(this, _length, 0);
|
|
424
|
+
_class_private_field_set(this, _pendingShifts, []);
|
|
425
|
+
_class_private_field_set(this, _keyUpperBound, 0);
|
|
426
|
+
_class_private_field_set(this, _maxStoredKey, -1);
|
|
427
|
+
_class_private_field_set(this, _isAscending, true);
|
|
428
|
+
_class_private_field_set(this, _mayHaveLiveIterator, false);
|
|
181
429
|
this.valueFactory = valueFactory;
|
|
182
430
|
}
|
|
183
431
|
}
|
|
432
|
+
function bufferShift(shift) {
|
|
433
|
+
const shifts = _class_private_field_get(this, _pendingShifts);
|
|
434
|
+
const last = shifts.length > 0 ? shifts[shifts.length - 1] : undefined;
|
|
435
|
+
if (last !== undefined && last.isInsert === shift.isInsert && _class_private_method_get(this, _tryMergeShift, tryMergeShift).call(this, last, shift)) {
|
|
436
|
+
return;
|
|
437
|
+
}
|
|
438
|
+
shifts.push(shift);
|
|
439
|
+
if (shifts.length >= MAX_PENDING_SHIFTS) {
|
|
440
|
+
_class_private_method_get(this, _applyPendingShifts, applyPendingShifts).call(this);
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
function tryMergeShift(last, shift) {
|
|
444
|
+
if (shift.isInsert) {
|
|
445
|
+
if (shift.start >= last.start && shift.start <= last.start + last.amount) {
|
|
446
|
+
last.amount += shift.amount;
|
|
447
|
+
return true;
|
|
448
|
+
}
|
|
449
|
+
return false;
|
|
450
|
+
}
|
|
451
|
+
if (shift.start === last.start) {
|
|
452
|
+
last.amount += shift.amount;
|
|
453
|
+
return true;
|
|
454
|
+
}
|
|
455
|
+
if (shift.start + shift.amount === last.start) {
|
|
456
|
+
last.start = shift.start;
|
|
457
|
+
last.amount += shift.amount;
|
|
458
|
+
return true;
|
|
459
|
+
}
|
|
460
|
+
return false;
|
|
461
|
+
}
|
|
462
|
+
function toStoredKey(key) {
|
|
463
|
+
const shifts = _class_private_field_get(this, _pendingShifts);
|
|
464
|
+
let storedKey = key;
|
|
465
|
+
for(let i = shifts.length - 1; i >= 0; i--){
|
|
466
|
+
const { start, amount, isInsert } = shifts[i];
|
|
467
|
+
if (isInsert) {
|
|
468
|
+
if (storedKey >= start + amount) {
|
|
469
|
+
storedKey -= amount;
|
|
470
|
+
} else if (storedKey >= start) {
|
|
471
|
+
return -1;
|
|
472
|
+
}
|
|
473
|
+
} else if (storedKey >= start) {
|
|
474
|
+
storedKey += amount;
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
return storedKey;
|
|
478
|
+
}
|
|
479
|
+
function applyPendingShifts() {
|
|
480
|
+
const shifts = _class_private_field_get(this, _pendingShifts);
|
|
481
|
+
_class_private_field_set(this, _pendingShifts, []);
|
|
482
|
+
// Fast path: a single contiguous remove on a map whose keys are provably dense
|
|
483
|
+
// (0..size-1, by pigeonhole from maxKey == size-1) and iterated in ascending key
|
|
484
|
+
// order. Values slide down in place - keys never move, so the Map's structure and
|
|
485
|
+
// iteration order stay untouched, at a fraction of the full-rebuild cost.
|
|
486
|
+
if (shifts.length === 1 && !shifts[0].isInsert && !_class_private_field_get(this, _mayHaveLiveIterator) && _class_private_field_get(this, _isAscending) && _class_private_field_get(this, _maxStoredKey) === _class_private_field_get(this, _data).size - 1) {
|
|
487
|
+
_class_private_method_get(this, _applySingleRemoveInPlace, applySingleRemoveInPlace).call(this, shifts[0].start, shifts[0].amount);
|
|
488
|
+
return;
|
|
489
|
+
}
|
|
490
|
+
// Suffix minima of the shift starts: `minStartFrom[i]` is the lowest start among
|
|
491
|
+
// `shifts[i..]`. A key smaller than it cannot be touched by any remaining shift, so the
|
|
492
|
+
// per-key transform loop can stop early - which matters for scattered non-mergeable
|
|
493
|
+
// batches, where most keys sit below most shift points.
|
|
494
|
+
const minStartFrom = new Array(shifts.length);
|
|
495
|
+
let lowestStart = Infinity;
|
|
496
|
+
for(let i = shifts.length - 1; i >= 0; i--){
|
|
497
|
+
if (shifts[i].start < lowestStart) {
|
|
498
|
+
lowestStart = shifts[i].start;
|
|
499
|
+
}
|
|
500
|
+
minStartFrom[i] = lowestStart;
|
|
501
|
+
}
|
|
502
|
+
let isAffected = false;
|
|
503
|
+
for (const itemKey of _class_private_field_get(this, _data).keys()){
|
|
504
|
+
if (itemKey >= lowestStart) {
|
|
505
|
+
isAffected = true;
|
|
506
|
+
break;
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
if (!isAffected) {
|
|
510
|
+
return;
|
|
511
|
+
}
|
|
512
|
+
const shifted = new Map();
|
|
513
|
+
let highestKey = -1;
|
|
514
|
+
let isAscending = true;
|
|
515
|
+
let previousKey = -1;
|
|
516
|
+
for (const [itemKey, value] of _class_private_field_get(this, _data)){
|
|
517
|
+
const newKey = _class_private_method_get(this, _transformKey, transformKey).call(this, itemKey, shifts, minStartFrom);
|
|
518
|
+
if (newKey !== -1) {
|
|
519
|
+
shifted.set(newKey, value);
|
|
520
|
+
if (newKey > highestKey) {
|
|
521
|
+
highestKey = newKey;
|
|
522
|
+
}
|
|
523
|
+
if (newKey <= previousKey) {
|
|
524
|
+
isAscending = false;
|
|
525
|
+
}
|
|
526
|
+
previousKey = newKey;
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
_class_private_field_set(this, _data, shifted);
|
|
530
|
+
// The old map (with any live iterators on it) is detached - in-place flushes of the NEW map
|
|
531
|
+
// can no longer be observed through iterators created before this rebuild.
|
|
532
|
+
_class_private_field_set(this, _mayHaveLiveIterator, false);
|
|
533
|
+
// The rebuild visits every entry anyway, so the key upper bound can be made exact for
|
|
534
|
+
// free, and the ascending-order flag re-derived (a map can recover the fast flush path).
|
|
535
|
+
_class_private_field_set(this, _keyUpperBound, highestKey + 1);
|
|
536
|
+
_class_private_field_set(this, _maxStoredKey, highestKey);
|
|
537
|
+
_class_private_field_set(this, _isAscending, isAscending);
|
|
538
|
+
}
|
|
539
|
+
function applySingleRemoveInPlace(start, amount) {
|
|
540
|
+
const data = _class_private_field_get(this, _data);
|
|
541
|
+
const size = data.size;
|
|
542
|
+
const survivorsTop = Math.max(size - amount, start);
|
|
543
|
+
for(let key = start; key < survivorsTop; key++){
|
|
544
|
+
data.set(key, data.get(key + amount));
|
|
545
|
+
}
|
|
546
|
+
for(let key = survivorsTop; key < size; key++){
|
|
547
|
+
data.delete(key);
|
|
548
|
+
}
|
|
549
|
+
_class_private_field_set(this, _maxStoredKey, survivorsTop - 1);
|
|
550
|
+
_class_private_field_set(this, _keyUpperBound, survivorsTop);
|
|
551
|
+
}
|
|
552
|
+
function transformKey(key, shifts, minStartFrom) {
|
|
553
|
+
let currentKey = key;
|
|
554
|
+
for(let i = 0; i < shifts.length; i++){
|
|
555
|
+
if (currentKey < minStartFrom[i]) {
|
|
556
|
+
return currentKey;
|
|
557
|
+
}
|
|
558
|
+
const { start, amount, isInsert } = shifts[i];
|
|
559
|
+
if (isInsert) {
|
|
560
|
+
if (currentKey >= start) {
|
|
561
|
+
currentKey += amount;
|
|
562
|
+
}
|
|
563
|
+
} else if (currentKey >= start + amount) {
|
|
564
|
+
currentKey -= amount;
|
|
565
|
+
} else if (currentKey >= start) {
|
|
566
|
+
return -1;
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
return currentKey;
|
|
570
|
+
}
|