handsontable 18.0.0 → 18.1.0-rc7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/walkontable/src/axisSizing/axisSizeSource.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/axisSizeSource.d.ts +55 -0
- package/3rdparty/walkontable/src/axisSizing/axisSizeSource.js +15 -0
- package/3rdparty/walkontable/src/axisSizing/axisSizeSource.mjs +14 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.d.ts +32 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.js +45 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.mjs +33 -0
- package/3rdparty/walkontable/src/axisSizing/columnUtils.d.mts +2 -0
- package/3rdparty/walkontable/src/{utils/column.d.ts → axisSizing/columnUtils.d.ts} +12 -10
- package/3rdparty/walkontable/src/axisSizing/columnUtils.js +147 -0
- package/3rdparty/walkontable/src/axisSizing/columnUtils.mjs +142 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.d.ts +58 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.js +129 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.mjs +119 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.d.ts +162 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.js +424 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.mjs +522 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/index.d.ts +130 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/index.js +256 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/index.mjs +262 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.d.ts +51 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.js +121 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.mjs +117 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.d.ts +53 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.js +206 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.mjs +203 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.d.ts +53 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.js +40 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.mjs +41 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.d.ts +47 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.js +121 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.mjs +115 -0
- package/3rdparty/walkontable/src/axisSizing/rowUtils.d.mts +2 -0
- package/3rdparty/walkontable/src/{utils/row.d.ts → axisSizing/rowUtils.d.ts} +11 -9
- package/3rdparty/walkontable/src/axisSizing/rowUtils.js +111 -0
- package/3rdparty/walkontable/src/axisSizing/rowUtils.mjs +106 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.d.mts +2 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.d.ts +84 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.js +102 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.mjs +92 -0
- package/3rdparty/walkontable/src/calculator/axisCalculation.d.ts +1 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.d.ts +10 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.js +10 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +10 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.d.ts +9 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +9 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +9 -1
- package/3rdparty/walkontable/src/calculator/viewportColumns.d.ts +1 -1
- package/3rdparty/walkontable/src/calculator/viewportRows.d.ts +1 -1
- package/3rdparty/walkontable/src/cell/range.d.ts +10 -0
- package/3rdparty/walkontable/src/cell/range.js +14 -3
- package/3rdparty/walkontable/src/cell/range.mjs +11 -0
- package/3rdparty/walkontable/src/core/_base.d.ts +21 -21
- package/3rdparty/walkontable/src/core/_base.js +58 -147
- package/3rdparty/walkontable/src/core/_base.mjs +17 -147
- package/3rdparty/walkontable/src/core/clone.d.ts +4 -14
- package/3rdparty/walkontable/src/core/clone.js +51 -5
- package/3rdparty/walkontable/src/core/clone.mjs +10 -5
- package/3rdparty/walkontable/src/core/core.d.ts +1 -5
- package/3rdparty/walkontable/src/core/core.js +52 -47
- package/3rdparty/walkontable/src/core/core.mjs +12 -48
- package/3rdparty/walkontable/src/domMeasure/geometryReader.d.mts +1 -0
- package/3rdparty/walkontable/src/domMeasure/geometryReader.d.ts +172 -0
- package/3rdparty/walkontable/src/domMeasure/geometryReader.js +19 -0
- package/3rdparty/walkontable/src/domMeasure/geometryReader.mjs +16 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.d.mts +1 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.d.ts +134 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.js +200 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.mjs +198 -0
- package/3rdparty/walkontable/src/event.d.ts +25 -12
- package/3rdparty/walkontable/src/event.js +91 -224
- package/3rdparty/walkontable/src/event.mjs +90 -224
- package/3rdparty/walkontable/src/facade/core.d.ts +6 -6
- package/3rdparty/walkontable/src/index.d.ts +1 -1
- package/3rdparty/walkontable/src/index.js +2 -2
- package/3rdparty/walkontable/src/index.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/index.d.ts +6 -6
- package/3rdparty/walkontable/src/overlay/index.js +11 -11
- package/3rdparty/walkontable/src/overlay/index.mjs +6 -6
- package/3rdparty/walkontable/src/overlay/overlays.d.ts +375 -0
- package/3rdparty/walkontable/src/overlay/overlays.js +612 -0
- package/3rdparty/walkontable/src/overlay/overlays.mjs +601 -0
- package/3rdparty/walkontable/src/overlay/{_base.d.ts → regions/_base.d.ts} +65 -16
- package/3rdparty/walkontable/src/overlay/{_base.js → regions/_base.js} +160 -50
- package/3rdparty/walkontable/src/overlay/{_base.mjs → regions/_base.mjs} +163 -47
- package/3rdparty/walkontable/src/overlay/regions/bottomInlineStartCornerOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.d.ts → regions/bottomInlineStartCornerOverlay.d.ts} +5 -10
- package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.js → regions/bottomInlineStartCornerOverlay.js} +18 -20
- package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.mjs → regions/bottomInlineStartCornerOverlay.mjs} +18 -20
- package/3rdparty/walkontable/src/overlay/regions/bottomOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{bottom.d.ts → regions/bottomOverlay.d.ts} +16 -11
- package/3rdparty/walkontable/src/overlay/{bottom.js → regions/bottomOverlay.js} +113 -66
- package/3rdparty/walkontable/src/overlay/{bottom.mjs → regions/bottomOverlay.mjs} +113 -66
- package/3rdparty/walkontable/src/overlay/regions/inlineStartOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{inlineStart.d.ts → regions/inlineStartOverlay.d.ts} +17 -11
- package/3rdparty/walkontable/src/overlay/{inlineStart.js → regions/inlineStartOverlay.js} +122 -67
- package/3rdparty/walkontable/src/overlay/{inlineStart.mjs → regions/inlineStartOverlay.mjs} +122 -67
- package/3rdparty/walkontable/src/overlay/regions/topInlineStartCornerOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.d.ts → regions/topInlineStartCornerOverlay.d.ts} +5 -10
- package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.js → regions/topInlineStartCornerOverlay.js} +13 -16
- package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.mjs → regions/topInlineStartCornerOverlay.mjs} +13 -16
- package/3rdparty/walkontable/src/overlay/regions/topOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{top.d.ts → regions/topOverlay.d.ts} +32 -11
- package/3rdparty/walkontable/src/overlay/{top.js → regions/topOverlay.js} +163 -77
- package/3rdparty/walkontable/src/overlay/{top.mjs → regions/topOverlay.mjs} +163 -77
- package/3rdparty/walkontable/src/overlay/resizeMonitor.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/resizeMonitor.d.ts +49 -0
- package/3rdparty/walkontable/src/overlay/resizeMonitor.js +154 -0
- package/3rdparty/walkontable/src/overlay/resizeMonitor.mjs +153 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.d.ts +62 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.js +290 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.mjs +295 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.d.ts +176 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.js +549 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.mjs +557 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.d.ts +67 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.js +178 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.mjs +179 -0
- package/3rdparty/walkontable/src/{stickyScrollStrategy.d.ts → overlay/strategies/stickyScrollStrategy.d.ts} +33 -21
- package/3rdparty/walkontable/src/{stickyScrollStrategy.js → overlay/strategies/stickyScrollStrategy.js} +60 -41
- package/3rdparty/walkontable/src/{stickyScrollStrategy.mjs → overlay/strategies/stickyScrollStrategy.mjs} +58 -38
- package/3rdparty/walkontable/src/ports.d.mts +1 -0
- package/3rdparty/walkontable/src/ports.d.ts +54 -0
- package/3rdparty/walkontable/src/ports.js +23 -0
- package/3rdparty/walkontable/src/ports.mjs +24 -0
- package/3rdparty/walkontable/src/{renderer → render}/_base.d.ts +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/cells.js +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/cells.mjs +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.d.ts +1 -0
- package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.js +43 -1
- package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.mjs +44 -2
- package/3rdparty/walkontable/src/render/index.d.mts +1 -0
- package/3rdparty/walkontable/src/{renderer → render}/index.d.ts +11 -3
- package/3rdparty/walkontable/src/{renderer → render}/index.js +13 -3
- package/3rdparty/walkontable/src/{renderer → render}/index.mjs +11 -1
- package/3rdparty/walkontable/src/{renderer → render}/rows.js +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/rows.mjs +1 -1
- package/3rdparty/walkontable/src/render/tableRenderer.d.mts +1 -0
- package/3rdparty/walkontable/src/{renderer/table.d.ts → render/tableRenderer.d.ts} +12 -2
- package/3rdparty/walkontable/src/render/tableRenderer.js +382 -0
- package/3rdparty/walkontable/src/{renderer/table.mjs → render/tableRenderer.mjs} +159 -6
- package/3rdparty/walkontable/src/{scroll.d.ts → scroll/scroll.d.ts} +27 -10
- package/3rdparty/walkontable/src/{scroll.js → scroll/scroll.js} +108 -32
- package/3rdparty/walkontable/src/{scroll.mjs → scroll/scroll.mjs} +106 -29
- package/3rdparty/walkontable/src/selection/border/border.d.ts +313 -5
- package/3rdparty/walkontable/src/selection/border/border.js +861 -51
- package/3rdparty/walkontable/src/selection/border/border.mjs +863 -53
- package/3rdparty/walkontable/src/selection/border/types.d.ts +30 -0
- package/3rdparty/walkontable/src/selection/manager.js +237 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +238 -1
- package/3rdparty/walkontable/src/settings/accessor.d.mts +2 -0
- package/3rdparty/walkontable/src/settings/accessor.d.ts +74 -0
- package/3rdparty/walkontable/src/settings/accessor.js +78 -0
- package/3rdparty/walkontable/src/settings/accessor.mjs +71 -0
- package/3rdparty/walkontable/src/settings/defaults.d.mts +1 -0
- package/3rdparty/walkontable/src/{settings.d.ts → settings/defaults.d.ts} +16 -77
- package/3rdparty/walkontable/src/settings/defaults.js +146 -0
- package/3rdparty/walkontable/src/settings/defaults.mjs +225 -0
- package/3rdparty/walkontable/src/settings/index.d.mts +1 -0
- package/3rdparty/walkontable/src/settings/index.d.ts +6 -0
- package/3rdparty/walkontable/src/settings/index.js +20 -0
- package/3rdparty/walkontable/src/settings/index.mjs +5 -0
- package/3rdparty/walkontable/src/table/baseTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/baseTable.d.ts +284 -0
- package/3rdparty/walkontable/src/table/baseTable.js +295 -0
- package/3rdparty/walkontable/src/table/baseTable.mjs +283 -0
- package/3rdparty/walkontable/src/table/cellAccess.d.mts +1 -0
- package/3rdparty/walkontable/src/table/cellAccess.d.ts +101 -0
- package/3rdparty/walkontable/src/table/cellAccess.js +238 -0
- package/3rdparty/walkontable/src/table/cellAccess.mjs +229 -0
- package/3rdparty/walkontable/src/table/domScaffold.d.mts +1 -0
- package/3rdparty/walkontable/src/table/domScaffold.d.ts +37 -0
- package/3rdparty/walkontable/src/table/domScaffold.js +145 -0
- package/3rdparty/walkontable/src/table/domScaffold.mjs +136 -0
- package/3rdparty/walkontable/src/table/drawCycle.d.mts +1 -0
- package/3rdparty/walkontable/src/table/drawCycle.d.ts +16 -0
- package/3rdparty/walkontable/src/table/drawCycle.js +405 -0
- package/3rdparty/walkontable/src/table/drawCycle.mjs +403 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.d.mts +1 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.d.ts +38 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.js +15 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.mjs +14 -0
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.d.ts +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.js +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.mjs +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.d.ts +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.d.ts +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.js +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.mjs +1 -1
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.d.mts +2 -0
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.d.ts +226 -0
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.js +251 -0
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.mjs +241 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.d.mts +1 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.d.ts +14 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.js +196 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.mjs +179 -0
- package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.d.ts +16 -0
- package/3rdparty/walkontable/src/table/{bottomInlineStartCorner.js → regions/bottomInlineStartCornerTable.js} +9 -12
- package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.mjs +21 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.d.ts +15 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.js +35 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.mjs +20 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.d.ts +12 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.js +32 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.mjs +17 -0
- package/3rdparty/walkontable/src/table/regions/masterTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/{master.d.ts → regions/masterTable.d.ts} +4 -13
- package/3rdparty/walkontable/src/table/{master.js → regions/masterTable.js} +23 -48
- package/3rdparty/walkontable/src/table/{master.mjs → regions/masterTable.mjs} +22 -47
- package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.d.ts +16 -0
- package/3rdparty/walkontable/src/table/{topInlineStartCorner.js → regions/topInlineStartCornerTable.js} +9 -12
- package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.mjs +21 -0
- package/3rdparty/walkontable/src/table/regions/topTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/topTable.d.ts +15 -0
- package/3rdparty/walkontable/src/table/regions/topTable.js +35 -0
- package/3rdparty/walkontable/src/table/regions/topTable.mjs +20 -0
- package/3rdparty/walkontable/src/types.d.ts +7 -69
- package/3rdparty/walkontable/src/types.mjs +2 -1
- package/3rdparty/walkontable/src/utils/pointerToCoords.d.mts +1 -0
- package/3rdparty/walkontable/src/utils/{cellCoords.d.ts → pointerToCoords.d.ts} +24 -0
- package/3rdparty/walkontable/src/utils/pointerToCoords.js +181 -0
- package/3rdparty/walkontable/src/utils/pointerToCoords.mjs +186 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.d.ts +40 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.js +139 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.mjs +131 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.d.ts +133 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.js +18 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.mjs +18 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.d.ts +17 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.js +104 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.mjs +99 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.d.ts +84 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.js +588 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.mjs +601 -0
- package/3rdparty/walkontable/src/viewport/viewport.d.ts +267 -0
- package/3rdparty/walkontable/src/viewport/viewport.js +368 -0
- package/3rdparty/walkontable/src/viewport/viewport.mjs +360 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.d.ts +59 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.js +284 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.mjs +282 -0
- package/3rdparty/walkontable/src/wire.d.mts +1 -0
- package/3rdparty/walkontable/src/wire.d.ts +81 -0
- package/3rdparty/walkontable/src/wire.js +56 -0
- package/3rdparty/walkontable/src/wire.mjs +56 -0
- package/CHANGELOG.md +114 -1
- package/LICENSE.txt +1 -1
- package/README.md +2 -2
- package/base.d.ts +13 -4
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/cellTypes/checkboxType/accessors/valueSetter.d.ts +1 -1
- package/cellTypes/checkboxType/accessors/valueSetter.js +3 -1
- package/cellTypes/checkboxType/accessors/valueSetter.mjs +3 -1
- package/cellTypes/index.d.ts +3 -2
- package/cellTypes/index.js +9 -0
- package/cellTypes/index.mjs +5 -2
- package/cellTypes/intlDatetimeType/index.d.mts +1 -0
- package/cellTypes/intlDatetimeType/index.d.ts +1 -0
- package/cellTypes/intlDatetimeType/index.js +19 -0
- package/cellTypes/intlDatetimeType/index.mjs +1 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.d.mts +1 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.d.ts +16 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.js +31 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.mjs +15 -0
- package/cellTypes/multiSelectType/index.d.ts +1 -1
- package/cellTypes/multiSelectType/index.js +3 -0
- package/cellTypes/multiSelectType/index.mjs +1 -1
- package/cellTypes/multiSelectType/multiSelectType.d.ts +1 -0
- package/cellTypes/multiSelectType/multiSelectType.js +4 -0
- package/cellTypes/multiSelectType/multiSelectType.mjs +1 -0
- package/cellTypes/numericType/accessors/valueSetter.js +30 -2
- package/cellTypes/numericType/accessors/valueSetter.mjs +31 -3
- package/core/hooks/bucket.d.ts +40 -6
- package/core/hooks/bucket.js +108 -72
- package/core/hooks/bucket.mjs +113 -72
- package/core/hooks/constants.js +254 -16
- package/core/hooks/constants.mjs +254 -16
- package/core/hooks/index.js +27 -22
- package/core/hooks/index.mjs +27 -22
- package/core/layout/constants.d.ts +11 -0
- package/core/layout/constants.js +6 -0
- package/core/layout/constants.mjs +12 -0
- package/core/layout/domSlot.d.ts +3 -1
- package/core/layout/domSlot.js +16 -2
- package/core/layout/domSlot.mjs +16 -2
- package/core/layout/index.d.ts +2 -2
- package/core/layout/index.js +6 -0
- package/core/layout/index.mjs +2 -2
- package/core/layout/layoutManager.d.ts +13 -0
- package/core/layout/layoutManager.js +21 -4
- package/core/layout/layoutManager.mjs +22 -2
- package/core/settings.d.ts +102 -6
- package/core/types.d.ts +15 -1
- package/core/types.mjs +9 -0
- package/core.js +534 -88
- package/core.mjs +537 -91
- package/dataMap/dataMap.d.ts +3 -13
- package/dataMap/dataMap.js +100 -41
- package/dataMap/dataMap.mjs +101 -42
- package/dataMap/dataSource.js +4 -1
- package/dataMap/dataSource.mjs +4 -1
- package/dataMap/metaManager/index.d.ts +62 -8
- package/dataMap/metaManager/index.js +66 -0
- package/dataMap/metaManager/index.mjs +66 -0
- package/dataMap/metaManager/lazyFactoryMap.d.ts +68 -43
- package/dataMap/metaManager/lazyFactoryMap.js +497 -110
- package/dataMap/metaManager/lazyFactoryMap.mjs +511 -111
- package/dataMap/metaManager/metaLayers/cellMeta.d.ts +55 -8
- package/dataMap/metaManager/metaLayers/cellMeta.js +108 -8
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +108 -8
- package/dataMap/metaManager/metaLayers/columnMeta.d.ts +2 -1
- package/dataMap/metaManager/metaLayers/columnMeta.js +1 -0
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -0
- package/dataMap/metaManager/metaSchema.js +759 -39
- package/dataMap/metaManager/metaSchema.mjs +759 -39
- package/dataMap/metaManager/mods/dynamicCellMeta.d.ts +24 -10
- package/dataMap/metaManager/mods/dynamicCellMeta.js +252 -28
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +253 -29
- package/dataMap/sourceDataValidator.d.ts +13 -21
- package/dataMap/sourceDataValidator.js +39 -29
- package/dataMap/sourceDataValidator.mjs +50 -33
- package/dist/handsontable.full.js +30027 -11261
- package/dist/handsontable.full.min.js +168 -112
- package/dist/handsontable.js +32468 -13762
- package/dist/handsontable.min.js +172 -116
- package/dist/languages/all.js +2 -1
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/fa-IR.js +2 -1
- package/dist/languages/fa-IR.min.js +1 -1
- package/dist/themes/classic.js +9 -3
- package/dist/themes/classic.min.js +4 -4
- package/dist/themes/horizon.js +9 -3
- package/dist/themes/horizon.min.js +4 -4
- package/dist/themes/main.js +9 -3
- package/dist/themes/main.min.js +4 -4
- package/dist/themes/static/variables/colors/ant.js +3 -3
- package/dist/themes/static/variables/colors/ant.min.js +3 -3
- package/dist/themes/static/variables/colors/classic.js +3 -3
- package/dist/themes/static/variables/colors/classic.min.js +3 -3
- package/dist/themes/static/variables/colors/horizon.js +3 -3
- package/dist/themes/static/variables/colors/horizon.min.js +3 -3
- package/dist/themes/static/variables/colors/main.js +3 -3
- package/dist/themes/static/variables/colors/main.min.js +3 -3
- package/dist/themes/static/variables/colors/material.js +3 -3
- package/dist/themes/static/variables/colors/material.min.js +3 -3
- package/dist/themes/static/variables/colors/shadcn.js +3 -3
- package/dist/themes/static/variables/colors/shadcn.min.js +3 -3
- package/dist/themes/static/variables/density.js +3 -3
- package/dist/themes/static/variables/density.min.js +3 -3
- package/dist/themes/static/variables/helpers/iconsMap.js +4 -9
- package/dist/themes/static/variables/helpers/iconsMap.min.js +4 -9
- package/dist/themes/static/variables/icons/horizon.js +3 -3
- package/dist/themes/static/variables/icons/horizon.min.js +3 -3
- package/dist/themes/static/variables/icons/main.js +3 -3
- package/dist/themes/static/variables/icons/main.min.js +3 -3
- package/dist/themes/static/variables/sizing.js +3 -3
- package/dist/themes/static/variables/sizing.min.js +3 -3
- package/dist/themes/static/variables/tokens/classic.js +9 -3
- package/dist/themes/static/variables/tokens/classic.min.js +4 -4
- package/dist/themes/static/variables/tokens/horizon.js +9 -3
- package/dist/themes/static/variables/tokens/horizon.min.js +4 -4
- package/dist/themes/static/variables/tokens/main.js +9 -3
- package/dist/themes/static/variables/tokens/main.min.js +4 -4
- package/editorManager.js +152 -3
- package/editorManager.mjs +152 -3
- package/editors/autocompleteEditor/autocompleteEditor.js +58 -11
- package/editors/autocompleteEditor/autocompleteEditor.mjs +59 -12
- package/editors/baseEditor/baseEditor.d.ts +15 -3
- package/editors/baseEditor/baseEditor.js +5 -3
- package/editors/baseEditor/baseEditor.mjs +15 -3
- package/editors/factory.js +5 -2
- package/editors/factory.mjs +5 -2
- package/editors/index.d.ts +3 -2
- package/editors/index.js +8 -0
- package/editors/index.mjs +3 -1
- package/editors/intlDatetimeEditor/index.d.mts +1 -0
- package/editors/intlDatetimeEditor/index.d.ts +1 -0
- package/editors/intlDatetimeEditor/index.js +19 -0
- package/editors/intlDatetimeEditor/index.mjs +1 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.d.mts +1 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.d.ts +42 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.js +108 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.mjs +93 -0
- package/editors/multiSelectEditor/multiSelectEditor.js +11 -9
- package/editors/multiSelectEditor/multiSelectEditor.mjs +12 -10
- package/editors/selectEditor/selectEditor.js +2 -1
- package/editors/selectEditor/selectEditor.mjs +2 -1
- package/editors/textEditor/textEditor.js +1 -1
- package/editors/textEditor/textEditor.mjs +2 -2
- package/eventManager.d.ts +3 -3
- package/focusManager/grid.d.ts +28 -0
- package/focusManager/grid.js +85 -2
- package/focusManager/grid.mjs +81 -3
- package/focusManager/scopeManager.js +1 -1
- package/focusManager/scopeManager.mjs +2 -2
- package/handsontable-non-commercial-license.pdf +0 -0
- package/helpers/array.d.ts +25 -0
- package/helpers/array.js +41 -4
- package/helpers/array.mjs +56 -4
- package/helpers/console.d.ts +25 -3
- package/helpers/console.js +40 -7
- package/helpers/console.mjs +52 -7
- package/helpers/dateTime.d.ts +14 -0
- package/helpers/dateTime.js +74 -2
- package/helpers/dateTime.mjs +73 -2
- package/helpers/dom/cellCoords.js +156 -13
- package/helpers/dom/cellCoords.mjs +156 -13
- package/helpers/dom/element.d.ts +47 -8
- package/helpers/dom/element.js +104 -18
- package/helpers/dom/element.mjs +132 -23
- package/helpers/dom/event.d.ts +58 -0
- package/helpers/dom/event.js +39 -0
- package/helpers/dom/event.mjs +63 -0
- package/helpers/errors.d.ts +5 -0
- package/helpers/errors.js +10 -6
- package/helpers/errors.mjs +10 -6
- package/helpers/feature.d.ts +19 -0
- package/helpers/feature.js +21 -0
- package/helpers/feature.mjs +30 -0
- package/helpers/function.d.ts +1 -1
- package/helpers/function.js +4 -1
- package/helpers/function.mjs +4 -1
- package/helpers/mixed.d.ts +103 -0
- package/helpers/mixed.js +373 -4
- package/helpers/mixed.mjs +413 -4
- package/helpers/moves.js +2 -1
- package/helpers/moves.mjs +2 -1
- package/helpers/number.d.ts +22 -0
- package/helpers/number.js +49 -0
- package/helpers/number.mjs +66 -0
- package/helpers/string.d.ts +14 -10
- package/helpers/string.js +17 -9
- package/helpers/string.mjs +27 -17
- package/helpers/templateString.d.mts +1 -0
- package/helpers/templateString.d.ts +13 -0
- package/helpers/templateString.js +29 -0
- package/helpers/templateString.mjs +19 -0
- package/helpers/uiButton.d.mts +1 -0
- package/helpers/uiButton.d.ts +21 -0
- package/helpers/uiButton.js +37 -0
- package/helpers/uiButton.mjs +31 -0
- package/i18n/languages/fa-IR.d.ts +1 -0
- package/i18n/languages/fa-IR.js +1 -0
- package/i18n/languages/fa-IR.mjs +1 -0
- package/index.d.ts +3 -3
- package/languages/all.js +2 -1
- package/languages/fa-IR.js +2 -1
- package/languages/fa-IR.mjs +1 -0
- package/languages/index.js +2 -1
- package/package.json +61 -1
- package/plugins/autoColumnSize/autoColumnSize.d.ts +24 -1
- package/plugins/autoColumnSize/autoColumnSize.js +501 -82
- package/plugins/autoColumnSize/autoColumnSize.mjs +508 -83
- package/plugins/autoRowSize/autoRowSize.d.ts +40 -5
- package/plugins/autoRowSize/autoRowSize.js +68 -24
- package/plugins/autoRowSize/autoRowSize.mjs +98 -29
- package/plugins/autofill/autofill.js +30 -12
- package/plugins/autofill/autofill.mjs +30 -12
- package/plugins/base/base.d.ts +10 -0
- package/plugins/collapsibleColumns/collapsibleColumns.d.ts +4 -0
- package/plugins/collapsibleColumns/collapsibleColumns.js +89 -8
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +93 -8
- package/plugins/columnSorting/columnSorting.d.ts +31 -2
- package/plugins/columnSorting/columnSorting.js +151 -24
- package/plugins/columnSorting/columnSorting.mjs +153 -26
- package/plugins/columnSorting/columnStatesManager.d.ts +1 -1
- package/plugins/columnSorting/columnStatesManager.js +1 -7
- package/plugins/columnSorting/columnStatesManager.mjs +1 -7
- package/plugins/columnSorting/domHelpers.d.ts +3 -0
- package/plugins/columnSorting/domHelpers.js +9 -0
- package/plugins/columnSorting/domHelpers.mjs +3 -3
- package/plugins/columnSorting/rootComparator.js +21 -16
- package/plugins/columnSorting/rootComparator.mjs +21 -16
- package/plugins/columnSorting/sortFunction/checkbox.js +7 -5
- package/plugins/columnSorting/sortFunction/checkbox.mjs +7 -5
- package/plugins/columnSorting/sortFunction/default.js +15 -4
- package/plugins/columnSorting/sortFunction/default.mjs +15 -4
- package/plugins/columnSorting/sortFunction/intlDatetime.d.mts +1 -0
- package/plugins/columnSorting/sortFunction/intlDatetime.d.ts +10 -0
- package/plugins/columnSorting/sortFunction/intlDatetime.js +23 -0
- package/plugins/columnSorting/sortFunction/intlDatetime.mjs +12 -0
- package/plugins/columnSorting/sortService/registry.js +2 -0
- package/plugins/columnSorting/sortService/registry.mjs +2 -0
- package/plugins/columnSorting/utils.d.ts +8 -0
- package/plugins/columnSorting/utils.js +37 -45
- package/plugins/columnSorting/utils.mjs +42 -47
- package/plugins/columnSummary/columnSummary.js +9 -5
- package/plugins/columnSummary/columnSummary.mjs +9 -5
- package/plugins/columnSummary/endpoints.d.ts +69 -2
- package/plugins/columnSummary/endpoints.js +181 -29
- package/plugins/columnSummary/endpoints.mjs +181 -29
- package/plugins/comments/commentEditor.js +1 -1
- package/plugins/comments/commentEditor.mjs +2 -2
- package/plugins/contextMenu/contextMenu.d.ts +12 -1
- package/plugins/contextMenu/contextMenu.js +30 -6
- package/plugins/contextMenu/contextMenu.mjs +30 -6
- package/plugins/contextMenu/index.d.ts +1 -1
- package/plugins/contextMenu/menu/menu.d.ts +22 -1
- package/plugins/contextMenu/menu/menu.js +211 -3
- package/plugins/contextMenu/menu/menu.mjs +212 -4
- package/plugins/contextMenu/menu/menuItemRenderer.js +2 -2
- package/plugins/contextMenu/menu/menuItemRenderer.mjs +2 -2
- package/plugins/contextMenu/predefinedItems/alignment.js +14 -14
- package/plugins/contextMenu/predefinedItems/alignment.mjs +14 -14
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +3 -3
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +3 -3
- package/plugins/contextMenu/utils.js +1 -1
- package/plugins/contextMenu/utils.mjs +1 -1
- package/plugins/copyPaste/copyPaste.js +70 -16
- package/plugins/copyPaste/copyPaste.mjs +71 -17
- package/plugins/copyPaste/copyableRanges.js +6 -2
- package/plugins/copyPaste/copyableRanges.mjs +6 -2
- package/plugins/copyPaste/pasteEvent.d.ts +1 -1
- package/plugins/customBorders/customBorders.d.ts +21 -40
- package/plugins/customBorders/customBorders.js +1080 -201
- package/plugins/customBorders/customBorders.mjs +1082 -203
- package/plugins/customBorders/utils.d.ts +71 -0
- package/plugins/customBorders/utils.js +63 -0
- package/plugins/customBorders/utils.mjs +101 -0
- package/plugins/dataProvider/dataProvider.d.ts +2 -1
- package/plugins/dataProvider/dataProvider.js +22 -7
- package/plugins/dataProvider/dataProvider.mjs +22 -7
- package/plugins/dataProvider/query/crud.js +1 -1
- package/plugins/dataProvider/query/crud.mjs +1 -1
- package/plugins/dialog/dialog.js +14 -9
- package/plugins/dialog/dialog.mjs +14 -9
- package/plugins/dialog/templates/confirm.d.ts +1 -1
- package/plugins/dialog/templates/confirm.js +2 -1
- package/plugins/dialog/templates/confirm.mjs +2 -1
- package/plugins/dialog/ui.d.ts +5 -3
- package/plugins/dialog/ui.js +12 -4
- package/plugins/dialog/ui.mjs +12 -4
- package/plugins/dragToScroll/dragToScroll.d.ts +2 -2
- package/plugins/dragToScroll/dragToScroll.js +150 -14
- package/plugins/dragToScroll/dragToScroll.mjs +151 -15
- package/plugins/dropdownMenu/dropdownMenu.d.ts +5 -1
- package/plugins/dropdownMenu/dropdownMenu.js +45 -3
- package/plugins/dropdownMenu/dropdownMenu.mjs +46 -4
- package/plugins/dropdownMenu/index.d.ts +1 -0
- package/plugins/emptyDataState/emptyDataState.js +4 -6
- package/plugins/emptyDataState/emptyDataState.mjs +4 -6
- package/plugins/emptyDataState/ui.js +2 -1
- package/plugins/emptyDataState/ui.mjs +2 -1
- package/plugins/exportFile/dataProvider.js +7 -9
- package/plugins/exportFile/dataProvider.mjs +7 -9
- package/plugins/exportFile/exportFile.d.ts +10 -3
- package/plugins/exportFile/types/_base.js +4 -10
- package/plugins/exportFile/types/_base.mjs +4 -10
- package/plugins/exportFile/types/xlsx/cell-style.js +4 -2
- package/plugins/exportFile/types/xlsx/cell-style.mjs +4 -2
- package/plugins/exportFile/types/xlsx/date-utils.d.ts +15 -0
- package/plugins/exportFile/types/xlsx/date-utils.js +31 -0
- package/plugins/exportFile/types/xlsx/date-utils.mjs +36 -0
- package/plugins/exportFile/types/xlsx.js +13 -9
- package/plugins/exportFile/types/xlsx.mjs +14 -10
- package/plugins/exportFile/utils.d.ts +9 -1
- package/plugins/exportFile/utils.js +27 -4
- package/plugins/exportFile/utils.mjs +40 -2
- package/plugins/filters/component/_base.d.ts +1 -2
- package/plugins/filters/component/_base.js +1 -2
- package/plugins/filters/component/_base.mjs +1 -2
- package/plugins/filters/component/condition.d.ts +1 -0
- package/plugins/filters/component/condition.js +2 -0
- package/plugins/filters/component/condition.mjs +2 -0
- package/plugins/filters/component/value.d.ts +5 -6
- package/plugins/filters/component/value.js +53 -34
- package/plugins/filters/component/value.mjs +54 -35
- package/plugins/filters/condition/date/after.js +2 -1
- package/plugins/filters/condition/date/after.mjs +2 -1
- package/plugins/filters/condition/date/afterOrEqual.js +2 -1
- package/plugins/filters/condition/date/afterOrEqual.mjs +2 -1
- package/plugins/filters/condition/date/before.js +2 -1
- package/plugins/filters/condition/date/before.mjs +2 -1
- package/plugins/filters/condition/date/beforeOrEqual.js +2 -1
- package/plugins/filters/condition/date/beforeOrEqual.mjs +2 -1
- package/plugins/filters/condition/equal.d.ts +7 -0
- package/plugins/filters/condition/equal.js +4 -0
- package/plugins/filters/condition/equal.mjs +10 -0
- package/plugins/filters/condition/intlDatetime/after.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/after.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/after.js +77 -0
- package/plugins/filters/condition/intlDatetime/after.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.js +77 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/before.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/before.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/before.js +77 -0
- package/plugins/filters/condition/intlDatetime/before.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.js +77 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/between.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/between.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/between.js +78 -0
- package/plugins/filters/condition/intlDatetime/between.mjs +23 -0
- package/plugins/filters/condition/intlDatetime/today.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/today.d.ts +17 -0
- package/plugins/filters/condition/intlDatetime/today.js +76 -0
- package/plugins/filters/condition/intlDatetime/today.mjs +20 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.d.ts +17 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.js +77 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.mjs +21 -0
- package/plugins/filters/condition/intlDatetime/yesterday.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/yesterday.d.ts +17 -0
- package/plugins/filters/condition/intlDatetime/yesterday.js +77 -0
- package/plugins/filters/condition/intlDatetime/yesterday.mjs +21 -0
- package/plugins/filters/conditionCollection.js +4 -7
- package/plugins/filters/conditionCollection.mjs +4 -7
- package/plugins/filters/conditionUpdateObserver.d.ts +2 -2
- package/plugins/filters/conditionUpdateObserver.js +148 -49
- package/plugins/filters/conditionUpdateObserver.mjs +148 -49
- package/plugins/filters/constants.d.ts +1 -0
- package/plugins/filters/constants.js +31 -0
- package/plugins/filters/constants.mjs +28 -0
- package/plugins/filters/dataFilter.d.ts +4 -12
- package/plugins/filters/dataFilter.js +7 -19
- package/plugins/filters/dataFilter.mjs +8 -20
- package/plugins/filters/filters.d.ts +33 -9
- package/plugins/filters/filters.js +91 -31
- package/plugins/filters/filters.mjs +92 -32
- package/plugins/filters/sortComparators.d.ts +9 -2
- package/plugins/filters/sortComparators.js +34 -1
- package/plugins/filters/sortComparators.mjs +38 -3
- package/plugins/filters/ui/input.d.ts +4 -0
- package/plugins/filters/ui/input.js +18 -6
- package/plugins/filters/ui/input.mjs +18 -6
- package/plugins/filters/ui/multipleSelect.js +27 -4
- package/plugins/filters/ui/multipleSelect.mjs +27 -4
- package/plugins/filters/ui/select.js +1 -1
- package/plugins/filters/ui/select.mjs +1 -1
- package/plugins/formulas/engine/register.d.ts +5 -4
- package/plugins/formulas/engine/register.js +5 -2
- package/plugins/formulas/engine/register.mjs +9 -5
- package/plugins/formulas/engine/settings.d.ts +2 -6
- package/plugins/formulas/engine/settings.js +29 -4
- package/plugins/formulas/engine/settings.mjs +29 -4
- package/plugins/formulas/engine/types.d.ts +12 -2
- package/plugins/formulas/formulas.d.ts +39 -0
- package/plugins/formulas/formulas.js +789 -47
- package/plugins/formulas/formulas.mjs +793 -49
- package/plugins/formulas/hyperlinkUrl.d.mts +1 -0
- package/plugins/formulas/hyperlinkUrl.d.ts +12 -0
- package/plugins/formulas/hyperlinkUrl.js +32 -0
- package/plugins/formulas/hyperlinkUrl.mjs +32 -0
- package/plugins/formulas/indexSyncer/axisSyncer.d.ts +1 -0
- package/plugins/formulas/indexSyncer/axisSyncer.js +72 -15
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +72 -15
- package/plugins/formulas/utils.d.ts +9 -0
- package/plugins/formulas/utils.js +21 -0
- package/plugins/formulas/utils.mjs +25 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +6 -1
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +6 -1
- package/plugins/hiddenColumns/hiddenColumns.js +6 -3
- package/plugins/hiddenColumns/hiddenColumns.mjs +6 -3
- package/plugins/hiddenRows/contextMenuItem/showRow.js +6 -1
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +6 -1
- package/plugins/hiddenRows/hiddenRows.js +6 -3
- package/plugins/hiddenRows/hiddenRows.mjs +6 -3
- package/plugins/index.d.ts +5 -1
- package/plugins/index.js +10 -0
- package/plugins/index.mjs +5 -1
- package/plugins/loading/content.d.ts +5 -3
- package/plugins/loading/content.js +3 -2
- package/plugins/loading/content.mjs +8 -5
- package/plugins/loading/loading.d.ts +5 -2
- package/plugins/loading/loading.mjs +5 -2
- package/plugins/manualColumnMove/manualColumnMove.d.ts +10 -0
- package/plugins/manualColumnMove/manualColumnMove.js +122 -20
- package/plugins/manualColumnMove/manualColumnMove.mjs +123 -21
- package/plugins/manualColumnResize/manualColumnResize.d.ts +20 -7
- package/plugins/manualColumnResize/manualColumnResize.js +33 -13
- package/plugins/manualColumnResize/manualColumnResize.mjs +34 -14
- package/plugins/manualRowResize/manualRowResize.d.ts +21 -8
- package/plugins/manualRowResize/manualRowResize.js +34 -14
- package/plugins/manualRowResize/manualRowResize.mjs +35 -15
- package/plugins/mergeCells/cellCoords.d.ts +8 -0
- package/plugins/mergeCells/cellCoords.js +11 -0
- package/plugins/mergeCells/cellCoords.mjs +11 -0
- package/plugins/mergeCells/cellsCollection.d.ts +46 -2
- package/plugins/mergeCells/cellsCollection.js +189 -68
- package/plugins/mergeCells/cellsCollection.mjs +189 -68
- package/plugins/mergeCells/focusOrder.d.ts +26 -20
- package/plugins/mergeCells/focusOrder.js +358 -177
- package/plugins/mergeCells/focusOrder.mjs +363 -172
- package/plugins/mergeCells/mergeCells.d.ts +13 -8
- package/plugins/mergeCells/mergeCells.js +322 -64
- package/plugins/mergeCells/mergeCells.mjs +322 -64
- package/plugins/moveCells/helpers.d.mts +1 -0
- package/plugins/moveCells/helpers.d.ts +21 -0
- package/plugins/moveCells/helpers.js +20 -0
- package/plugins/moveCells/helpers.mjs +15 -0
- package/plugins/moveCells/index.d.mts +1 -0
- package/plugins/moveCells/index.d.ts +1 -0
- package/plugins/moveCells/index.js +22 -0
- package/plugins/moveCells/index.mjs +1 -0
- package/plugins/moveCells/moveCells.d.mts +1 -0
- package/plugins/moveCells/moveCells.d.ts +80 -0
- package/plugins/moveCells/moveCells.js +602 -0
- package/plugins/moveCells/moveCells.mjs +587 -0
- package/plugins/multiColumnSorting/multiColumnSorting.d.ts +8 -8
- package/plugins/multiColumnSorting/multiColumnSorting.js +11 -16
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +11 -16
- package/plugins/multiColumnSorting/rootComparator.js +26 -19
- package/plugins/multiColumnSorting/rootComparator.mjs +26 -19
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.d.ts +19 -4
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +273 -58
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +273 -58
- package/plugins/nestedHeaders/nestedHeaders.d.ts +10 -1
- package/plugins/nestedHeaders/nestedHeaders.js +222 -23
- package/plugins/nestedHeaders/nestedHeaders.mjs +222 -23
- package/plugins/nestedHeaders/stateManager/columnArrangement.d.mts +1 -0
- package/plugins/nestedHeaders/stateManager/columnArrangement.d.ts +37 -0
- package/plugins/nestedHeaders/stateManager/columnArrangement.js +35 -0
- package/plugins/nestedHeaders/stateManager/columnArrangement.mjs +30 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.d.mts +1 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.d.ts +57 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.js +115 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.mjs +135 -0
- package/plugins/nestedHeaders/stateManager/headersTree.d.ts +14 -1
- package/plugins/nestedHeaders/stateManager/index.d.ts +76 -13
- package/plugins/nestedHeaders/stateManager/index.js +381 -38
- package/plugins/nestedHeaders/stateManager/index.mjs +382 -39
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +3 -2
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +3 -2
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -1
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +5 -1
- package/plugins/nestedHeaders/stateManager/sourceSettings.d.ts +23 -6
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +20 -4
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +20 -4
- package/plugins/nestedHeaders/stateManager/utils.d.ts +17 -1
- package/plugins/nestedHeaders/stateManager/utils.js +6 -1
- package/plugins/nestedHeaders/stateManager/utils.mjs +6 -1
- package/plugins/nestedHeaders/utils/ghostTable.js +21 -8
- package/plugins/nestedHeaders/utils/ghostTable.mjs +21 -8
- package/plugins/nestedRows/data/dataManager.d.ts +4 -1
- package/plugins/nestedRows/data/dataManager.js +10 -4
- package/plugins/nestedRows/data/dataManager.mjs +10 -4
- package/plugins/nestedRows/nestedRows.d.ts +127 -1
- package/plugins/nestedRows/nestedRows.js +330 -8
- package/plugins/nestedRows/nestedRows.mjs +330 -8
- package/plugins/nestedRows/ui/collapsing.d.ts +58 -0
- package/plugins/nestedRows/ui/collapsing.js +236 -40
- package/plugins/nestedRows/ui/collapsing.mjs +236 -40
- package/plugins/notification/notification.d.ts +2 -1
- package/plugins/notification/notification.js +6 -3
- package/plugins/notification/notification.mjs +6 -3
- package/plugins/notification/ui.d.ts +8 -5
- package/plugins/notification/ui.js +18 -6
- package/plugins/notification/ui.mjs +18 -6
- package/plugins/pagination/pagination.js +2 -2
- package/plugins/pagination/pagination.mjs +2 -2
- package/plugins/search/search.js +23 -2
- package/plugins/search/search.mjs +23 -2
- package/plugins/selectionHandles/helpers.d.mts +1 -0
- package/plugins/selectionHandles/helpers.d.ts +17 -0
- package/plugins/selectionHandles/helpers.js +16 -0
- package/plugins/selectionHandles/helpers.mjs +11 -0
- package/plugins/selectionHandles/index.d.mts +1 -0
- package/plugins/selectionHandles/index.d.ts +1 -0
- package/plugins/selectionHandles/index.js +22 -0
- package/plugins/selectionHandles/index.mjs +1 -0
- package/plugins/selectionHandles/selectionHandles.d.mts +1 -0
- package/plugins/selectionHandles/selectionHandles.d.ts +52 -0
- package/plugins/selectionHandles/selectionHandles.js +342 -0
- package/plugins/selectionHandles/selectionHandles.mjs +323 -0
- package/plugins/trimRows/trimRows.d.ts +1 -1
- package/plugins/trimRows/trimRows.js +6 -2
- package/plugins/trimRows/trimRows.mjs +6 -2
- package/plugins/types.d.ts +4 -0
- package/plugins/undoRedo/actions/cellAlignment.js +1 -1
- package/plugins/undoRedo/actions/cellAlignment.mjs +1 -1
- package/plugins/undoRedo/actions/createColumn.js +4 -1
- package/plugins/undoRedo/actions/createColumn.mjs +4 -1
- package/plugins/undoRedo/actions/createRow.js +4 -1
- package/plugins/undoRedo/actions/createRow.mjs +4 -1
- package/plugins/undoRedo/actions/fixedCounts.d.mts +1 -0
- package/plugins/undoRedo/actions/fixedCounts.d.ts +36 -0
- package/plugins/undoRedo/actions/fixedCounts.js +63 -0
- package/plugins/undoRedo/actions/fixedCounts.mjs +62 -0
- package/plugins/undoRedo/actions/index.js +2 -0
- package/plugins/undoRedo/actions/index.mjs +2 -0
- package/plugins/undoRedo/actions/moveCells.d.mts +1 -0
- package/plugins/undoRedo/actions/moveCells.d.ts +104 -0
- package/plugins/undoRedo/actions/moveCells.js +225 -0
- package/plugins/undoRedo/actions/moveCells.mjs +227 -0
- package/plugins/undoRedo/actions/removeColumn.d.ts +18 -2
- package/plugins/undoRedo/actions/removeColumn.js +11 -4
- package/plugins/undoRedo/actions/removeColumn.mjs +12 -5
- package/plugins/undoRedo/actions/removeRow.js +2 -57
- package/plugins/undoRedo/actions/removeRow.mjs +2 -57
- package/plugins/undoRedo/undoRedo.d.ts +26 -0
- package/plugins/undoRedo/undoRedo.js +36 -2
- package/plugins/undoRedo/undoRedo.mjs +36 -2
- package/plugins/undoRedo/utils.d.ts +29 -0
- package/plugins/undoRedo/utils.js +55 -3
- package/plugins/undoRedo/utils.mjs +59 -0
- package/renderSizeProbe.d.mts +1 -0
- package/renderSizeProbe.d.ts +60 -0
- package/renderSizeProbe.js +163 -0
- package/renderSizeProbe.mjs +176 -0
- package/renderers/checkboxRenderer/checkboxRenderer.js +9 -4
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +9 -4
- package/renderers/index.d.ts +3 -2
- package/renderers/index.js +8 -0
- package/renderers/index.mjs +3 -1
- package/renderers/intlDatetimeRenderer/index.d.mts +1 -0
- package/renderers/intlDatetimeRenderer/index.d.ts +1 -0
- package/renderers/intlDatetimeRenderer/index.js +22 -0
- package/renderers/intlDatetimeRenderer/index.mjs +1 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.d.mts +1 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.d.ts +26 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.js +82 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.mjs +67 -0
- package/renderers/multiSelectRenderer/multiSelectRenderer.js +2 -3
- package/renderers/multiSelectRenderer/multiSelectRenderer.mjs +2 -3
- package/renderers/multiSelectRenderer/utils/utils.d.ts +1 -1
- package/renderers/multiSelectRenderer/utils/utils.js +11 -8
- package/renderers/multiSelectRenderer/utils/utils.mjs +11 -8
- package/renderers/passwordRenderer/passwordRenderer.js +6 -1
- package/renderers/passwordRenderer/passwordRenderer.mjs +6 -1
- package/renderers/renderCell.d.mts +1 -0
- package/renderers/renderCell.d.ts +37 -0
- package/renderers/renderCell.js +43 -0
- package/renderers/renderCell.mjs +48 -0
- package/selection/highlight/types/areaLayered.d.ts +3 -1
- package/selection/highlight/types/areaLayered.js +4 -2
- package/selection/highlight/types/areaLayered.mjs +6 -2
- package/selection/highlight/types/focus.d.ts +3 -1
- package/selection/highlight/types/focus.js +3 -2
- package/selection/highlight/types/focus.mjs +5 -2
- package/selection/mouseEventHandler.js +29 -26
- package/selection/mouseEventHandler.mjs +29 -26
- package/selection/moveCells.d.mts +1 -0
- package/selection/moveCells.d.ts +15 -0
- package/selection/moveCells.js +13 -0
- package/selection/moveCells.mjs +9 -0
- package/selection/selection.d.ts +56 -2
- package/selection/selection.js +149 -5
- package/selection/selection.mjs +149 -5
- package/selection/types.d.ts +3 -0
- package/settings.d.ts +24 -3
- package/shortcuts/context.d.ts +4 -0
- package/shortcuts/context.js +16 -8
- package/shortcuts/context.mjs +20 -8
- package/shortcuts/contexts/commands/populateSelectedCellsData.js +1 -1
- package/shortcuts/contexts/commands/populateSelectedCellsData.mjs +1 -1
- package/styles/handsontable.css +504 -158
- package/styles/handsontable.min.css +4 -4
- package/styles/handsontableStyles.d.mts +2 -0
- package/styles/handsontableStyles.d.ts +2 -0
- package/styles/handsontableStyles.js +1 -1
- package/styles/handsontableStyles.mjs +1 -1
- package/styles/ht-icons-horizon.css +1 -10
- package/styles/ht-icons-horizon.min.css +4 -4
- package/styles/ht-icons-main.css +1 -10
- package/styles/ht-icons-main.min.css +4 -4
- package/styles/ht-theme-classic-no-icons.css +6 -0
- package/styles/ht-theme-classic-no-icons.min.css +4 -4
- package/styles/ht-theme-classic.css +7 -10
- package/styles/ht-theme-classic.min.css +4 -4
- package/styles/ht-theme-horizon-no-icons.css +6 -0
- package/styles/ht-theme-horizon-no-icons.min.css +4 -4
- package/styles/ht-theme-horizon.css +7 -10
- package/styles/ht-theme-horizon.min.css +4 -4
- package/styles/ht-theme-main-no-icons.css +6 -0
- package/styles/ht-theme-main-no-icons.min.css +4 -4
- package/styles/ht-theme-main.css +7 -10
- package/styles/ht-theme-main.min.css +4 -4
- package/tableView.d.ts +17 -4
- package/tableView.js +208 -42
- package/tableView.mjs +209 -43
- package/themes/engine/index.d.ts +2 -1
- package/themes/engine/index.js +3 -0
- package/themes/engine/index.mjs +1 -1
- package/themes/engine/manager.d.ts +75 -3
- package/themes/engine/manager.js +242 -6
- package/themes/engine/manager.mjs +249 -6
- package/themes/engine/utils/cssVariables.d.ts +18 -1
- package/themes/engine/utils/cssVariables.js +27 -11
- package/themes/engine/utils/cssVariables.mjs +28 -11
- package/themes/engine/utils/validation.js +7 -0
- package/themes/engine/utils/validation.mjs +7 -0
- package/themes/static/variables/helpers/iconsMap.js +1 -6
- package/themes/static/variables/helpers/iconsMap.mjs +1 -6
- package/themes/static/variables/tokens/classic.js +6 -0
- package/themes/static/variables/tokens/classic.mjs +6 -0
- package/themes/static/variables/tokens/horizon.js +6 -0
- package/themes/static/variables/tokens/horizon.mjs +6 -0
- package/themes/static/variables/tokens/main.js +6 -0
- package/themes/static/variables/tokens/main.mjs +6 -0
- package/themes/types.d.ts +1 -1
- package/translations/indexMapper.d.ts +14 -9
- package/translations/indexMapper.js +104 -43
- package/translations/indexMapper.mjs +104 -43
- package/translations/mapCollections/aggregatedCollection.js +20 -35
- package/translations/mapCollections/aggregatedCollection.mjs +20 -35
- package/translations/mapCollections/mapCollection.d.ts +10 -4
- package/translations/mapCollections/mapCollection.js +2 -2
- package/translations/mapCollections/mapCollection.mjs +2 -2
- package/translations/maps/booleanMap.d.mts +1 -0
- package/translations/maps/booleanMap.d.ts +86 -0
- package/translations/maps/booleanMap.js +300 -0
- package/translations/maps/booleanMap.mjs +308 -0
- package/translations/maps/hidingMap.d.ts +5 -2
- package/translations/maps/hidingMap.js +8 -3
- package/translations/maps/hidingMap.mjs +8 -3
- package/translations/maps/index.d.ts +5 -2
- package/translations/maps/index.js +7 -3
- package/translations/maps/index.mjs +10 -2
- package/translations/maps/indexMap.d.ts +26 -2
- package/translations/maps/indexMap.js +78 -6
- package/translations/maps/indexMap.mjs +78 -6
- package/translations/maps/indexesSequence.d.ts +53 -2
- package/translations/maps/indexesSequence.js +225 -3
- package/translations/maps/indexesSequence.mjs +233 -3
- package/translations/maps/trimmingMap.d.ts +5 -2
- package/translations/maps/trimmingMap.js +8 -3
- package/translations/maps/trimmingMap.mjs +8 -3
- package/translations/maps/utils/actionsOnIndexes.js +20 -1
- package/translations/maps/utils/actionsOnIndexes.mjs +20 -1
- package/translations/maps/utils/indexesSequence.js +12 -3
- package/translations/maps/utils/indexesSequence.mjs +12 -3
- package/translations/maps/utils/physicallyIndexed.js +12 -1
- package/translations/maps/utils/physicallyIndexed.mjs +12 -1
- package/utils/entitlementLicenseKey/classify.d.mts +1 -0
- package/utils/entitlementLicenseKey/classify.d.ts +34 -0
- package/utils/entitlementLicenseKey/classify.js +97 -0
- package/utils/entitlementLicenseKey/classify.mjs +96 -0
- package/utils/entitlementLicenseKey/constants.d.mts +1 -0
- package/utils/entitlementLicenseKey/constants.d.ts +69 -0
- package/utils/entitlementLicenseKey/constants.js +54 -0
- package/utils/entitlementLicenseKey/constants.mjs +66 -0
- package/utils/entitlementLicenseKey/detectFormat.d.mts +1 -0
- package/utils/entitlementLicenseKey/detectFormat.d.ts +23 -0
- package/utils/entitlementLicenseKey/detectFormat.js +60 -0
- package/utils/entitlementLicenseKey/detectFormat.mjs +60 -0
- package/utils/entitlementLicenseKey/encoding.d.mts +1 -0
- package/utils/entitlementLicenseKey/encoding.d.ts +58 -0
- package/utils/entitlementLicenseKey/encoding.js +161 -0
- package/utils/entitlementLicenseKey/encoding.mjs +172 -0
- package/utils/entitlementLicenseKey/extractKeyData.d.mts +1 -0
- package/utils/entitlementLicenseKey/extractKeyData.d.ts +47 -0
- package/utils/entitlementLicenseKey/extractKeyData.js +213 -0
- package/utils/entitlementLicenseKey/extractKeyData.mjs +232 -0
- package/utils/entitlementLicenseKey/grants.d.mts +1 -0
- package/utils/entitlementLicenseKey/grants.d.ts +54 -0
- package/utils/entitlementLicenseKey/grants.js +68 -0
- package/utils/entitlementLicenseKey/grants.mjs +84 -0
- package/utils/entitlementLicenseKey/index.d.mts +1 -0
- package/utils/entitlementLicenseKey/index.d.ts +8 -0
- package/utils/entitlementLicenseKey/index.js +53 -0
- package/utils/entitlementLicenseKey/index.mjs +6 -0
- package/utils/entitlementLicenseKey/sha512.d.mts +1 -0
- package/utils/entitlementLicenseKey/sha512.d.ts +11 -0
- package/utils/entitlementLicenseKey/sha512.js +328 -0
- package/utils/entitlementLicenseKey/sha512.mjs +327 -0
- package/utils/entitlementLicenseKey/types.d.mts +1 -0
- package/utils/entitlementLicenseKey/types.d.ts +84 -0
- package/utils/entitlementLicenseKey/types.js +8 -0
- package/utils/entitlementLicenseKey/types.mjs +10 -0
- package/utils/ghostTable.d.ts +1 -0
- package/utils/ghostTable.js +60 -11
- package/utils/ghostTable.mjs +60 -11
- package/utils/licenseBranding/badge.d.mts +1 -0
- package/utils/licenseBranding/badge.d.ts +21 -0
- package/utils/licenseBranding/badge.js +237 -0
- package/utils/licenseBranding/badge.mjs +244 -0
- package/utils/licenseBranding/content.d.mts +1 -0
- package/utils/licenseBranding/content.d.ts +54 -0
- package/utils/licenseBranding/content.js +93 -0
- package/utils/licenseBranding/content.mjs +79 -0
- package/utils/licenseBranding/index.d.mts +1 -0
- package/utils/licenseBranding/index.d.ts +14 -0
- package/utils/licenseBranding/index.js +55 -0
- package/utils/licenseBranding/index.mjs +56 -0
- package/utils/licenseBranding/lockScreen.d.mts +1 -0
- package/utils/licenseBranding/lockScreen.d.ts +23 -0
- package/utils/licenseBranding/lockScreen.js +150 -0
- package/utils/licenseBranding/lockScreen.mjs +159 -0
- package/utils/licenseNotification.d.ts +19 -0
- package/utils/licenseNotification.js +56 -29
- package/utils/licenseNotification.mjs +61 -29
- package/utils/movableMeta.d.mts +1 -0
- package/utils/movableMeta.d.ts +40 -0
- package/utils/movableMeta.js +47 -0
- package/utils/movableMeta.mjs +46 -0
- package/utils/parseTable.js +16 -7
- package/utils/parseTable.mjs +16 -7
- package/utils/samplesGenerator.d.ts +41 -14
- package/utils/samplesGenerator.js +114 -42
- package/utils/samplesGenerator.mjs +114 -42
- package/utils/sanitizer.d.mts +1 -0
- package/utils/sanitizer.d.ts +47 -0
- package/utils/sanitizer.js +43 -0
- package/utils/sanitizer.mjs +55 -0
- package/utils/stylesHandler.d.ts +13 -0
- package/utils/stylesHandler.js +55 -2
- package/utils/stylesHandler.mjs +55 -2
- package/validators/autocompleteValidator/autocompleteValidator.js +3 -0
- package/validators/autocompleteValidator/autocompleteValidator.mjs +3 -0
- package/validators/index.d.ts +3 -2
- package/validators/index.js +8 -0
- package/validators/index.mjs +3 -1
- package/validators/intlDatetimeValidator/index.d.mts +1 -0
- package/validators/intlDatetimeValidator/index.d.ts +1 -0
- package/validators/intlDatetimeValidator/index.js +25 -0
- package/validators/intlDatetimeValidator/index.mjs +1 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.d.mts +1 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.d.ts +28 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.js +49 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.mjs +37 -0
- package/3rdparty/walkontable/src/overlay/bottom.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/top.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.d.mts +0 -1
- package/3rdparty/walkontable/src/overlays.d.ts +0 -329
- package/3rdparty/walkontable/src/overlays.js +0 -870
- package/3rdparty/walkontable/src/overlays.mjs +0 -860
- package/3rdparty/walkontable/src/renderer/table.d.mts +0 -1
- package/3rdparty/walkontable/src/renderer/table.js +0 -229
- package/3rdparty/walkontable/src/settings.d.mts +0 -2
- package/3rdparty/walkontable/src/settings.js +0 -196
- package/3rdparty/walkontable/src/settings.mjs +0 -263
- package/3rdparty/walkontable/src/table/bottom.d.mts +0 -2
- package/3rdparty/walkontable/src/table/bottom.d.ts +0 -19
- package/3rdparty/walkontable/src/table/bottom.js +0 -38
- package/3rdparty/walkontable/src/table/bottom.mjs +0 -23
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.d.mts +0 -2
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.d.ts +0 -20
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +0 -24
- package/3rdparty/walkontable/src/table/inlineStart.d.mts +0 -2
- package/3rdparty/walkontable/src/table/inlineStart.d.ts +0 -16
- package/3rdparty/walkontable/src/table/inlineStart.js +0 -35
- package/3rdparty/walkontable/src/table/inlineStart.mjs +0 -20
- package/3rdparty/walkontable/src/table/master.d.mts +0 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.d.mts +0 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.d.ts +0 -75
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -122
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -112
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.d.mts +0 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.d.ts +0 -75
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -122
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -112
- package/3rdparty/walkontable/src/table/top.d.mts +0 -2
- package/3rdparty/walkontable/src/table/top.d.ts +0 -19
- package/3rdparty/walkontable/src/table/top.js +0 -38
- package/3rdparty/walkontable/src/table/top.mjs +0 -23
- package/3rdparty/walkontable/src/table/topInlineStartCorner.d.mts +0 -2
- package/3rdparty/walkontable/src/table/topInlineStartCorner.d.ts +0 -20
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +0 -24
- package/3rdparty/walkontable/src/table.d.mts +0 -2
- package/3rdparty/walkontable/src/table.d.ts +0 -741
- package/3rdparty/walkontable/src/table.js +0 -1120
- package/3rdparty/walkontable/src/table.mjs +0 -1105
- package/3rdparty/walkontable/src/utils/cellCoords.d.mts +0 -1
- package/3rdparty/walkontable/src/utils/cellCoords.js +0 -54
- package/3rdparty/walkontable/src/utils/cellCoords.mjs +0 -54
- package/3rdparty/walkontable/src/utils/column.d.mts +0 -2
- package/3rdparty/walkontable/src/utils/column.js +0 -75
- package/3rdparty/walkontable/src/utils/column.mjs +0 -70
- package/3rdparty/walkontable/src/utils/positionCache.d.mts +0 -1
- package/3rdparty/walkontable/src/utils/positionCache.d.ts +0 -91
- package/3rdparty/walkontable/src/utils/positionCache.js +0 -193
- package/3rdparty/walkontable/src/utils/positionCache.mjs +0 -194
- package/3rdparty/walkontable/src/utils/row.d.mts +0 -2
- package/3rdparty/walkontable/src/utils/row.js +0 -46
- package/3rdparty/walkontable/src/utils/row.mjs +0 -41
- package/3rdparty/walkontable/src/viewport.d.ts +0 -254
- package/3rdparty/walkontable/src/viewport.js +0 -533
- package/3rdparty/walkontable/src/viewport.mjs +0 -523
- /package/3rdparty/walkontable/src/{renderer → axisSizing/positionCache}/index.d.mts +0 -0
- /package/3rdparty/walkontable/src/{overlays.d.mts → overlay/overlays.d.mts} +0 -0
- /package/3rdparty/walkontable/src/overlay/{_base.d.mts → regions/_base.d.mts} +0 -0
- /package/3rdparty/walkontable/src/{stickyScrollStrategy.d.mts → overlay/strategies/stickyScrollStrategy.d.mts} +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/_base.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/_base.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/_base.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/cells.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/cells.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rows.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rows.d.ts +0 -0
- /package/3rdparty/walkontable/src/{scroll.d.mts → scroll/scroll.d.mts} +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.d.mts +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.d.mts +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.js +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.mjs +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.d.mts +0 -0
- /package/3rdparty/walkontable/src/{viewport.d.mts → viewport/viewport.d.mts} +0 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { textRenderer } from '../textRenderer/index.mjs';
|
|
2
|
+
import { isEmpty } from '../../helpers/mixed.mjs';
|
|
3
|
+
import { isObject } from '../../helpers/object.mjs';
|
|
4
|
+
import { BAD_VALUE_TEXT } from '../../helpers/constants.mjs';
|
|
5
|
+
import { parseToLocalDateTime } from '../../helpers/dateTime.mjs';
|
|
6
|
+
import { warn } from '../../helpers/console.mjs';
|
|
7
|
+
export const RENDERER_TYPE = 'intl-datetime';
|
|
8
|
+
const DEFAULT_INTL_FORMAT = {
|
|
9
|
+
year: 'numeric',
|
|
10
|
+
month: '2-digit',
|
|
11
|
+
day: '2-digit',
|
|
12
|
+
hour: '2-digit',
|
|
13
|
+
minute: '2-digit',
|
|
14
|
+
second: '2-digit',
|
|
15
|
+
hour12: false
|
|
16
|
+
};
|
|
17
|
+
const stringFormatWarnShown = new WeakSet();
|
|
18
|
+
/**
|
|
19
|
+
* Formats a date-time value using Intl.DateTimeFormat.
|
|
20
|
+
*
|
|
21
|
+
* @param {unknown} value The raw ISO date-time value.
|
|
22
|
+
* @param {CellProperties} cellProperties The cell meta object.
|
|
23
|
+
* @returns {unknown} The formatted date-time string, or a placeholder for empty/invalid values.
|
|
24
|
+
*/ export function valueFormatter(value, cellProperties) {
|
|
25
|
+
const { dateTimeFormat, locale, allowEmpty, instance } = cellProperties;
|
|
26
|
+
if (isEmpty(value)) {
|
|
27
|
+
return allowEmpty ? value : BAD_VALUE_TEXT;
|
|
28
|
+
}
|
|
29
|
+
if (typeof dateTimeFormat === 'string') {
|
|
30
|
+
if (instance && !stringFormatWarnShown.has(instance)) {
|
|
31
|
+
stringFormatWarnShown.add(instance);
|
|
32
|
+
warn('The dateTimeFormat option as a string is not supported. Use an Intl.DateTimeFormatOptions object instead.');
|
|
33
|
+
}
|
|
34
|
+
return value;
|
|
35
|
+
}
|
|
36
|
+
const date = parseToLocalDateTime(value);
|
|
37
|
+
if (date === null) {
|
|
38
|
+
return BAD_VALUE_TEXT;
|
|
39
|
+
}
|
|
40
|
+
const intlFormat = isObject(dateTimeFormat) ? dateTimeFormat : DEFAULT_INTL_FORMAT;
|
|
41
|
+
return new Intl.DateTimeFormat(locale, intlFormat).format(date);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Intl-based date-time renderer.
|
|
45
|
+
*
|
|
46
|
+
* @private
|
|
47
|
+
* @param {Core} hotInstance The Handsontable instance.
|
|
48
|
+
* @param {HTMLTableCellElement} TD The rendered cell element.
|
|
49
|
+
* @param {number} row The visual row index.
|
|
50
|
+
* @param {number} col The visual column index.
|
|
51
|
+
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
|
52
|
+
* @param {*} value The rendered value.
|
|
53
|
+
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
|
|
54
|
+
*/ function _intlDatetimeRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
|
|
55
|
+
textRenderer.apply(this, [
|
|
56
|
+
hotInstance,
|
|
57
|
+
TD,
|
|
58
|
+
row,
|
|
59
|
+
col,
|
|
60
|
+
prop,
|
|
61
|
+
value,
|
|
62
|
+
cellProperties
|
|
63
|
+
]);
|
|
64
|
+
}
|
|
65
|
+
_intlDatetimeRenderer.valueFormatter = valueFormatter;
|
|
66
|
+
_intlDatetimeRenderer.RENDERER_TYPE = RENDERER_TYPE;
|
|
67
|
+
export const intlDatetimeRenderer = _intlDatetimeRenderer;
|
|
@@ -38,8 +38,7 @@ function multiSelectRenderer(hotInstance, TD, row, col, prop, value, cellPropert
|
|
|
38
38
|
const { rootDocument } = hotInstance;
|
|
39
39
|
const isAriaEnabled = hotInstance.getSettings().ariaTags;
|
|
40
40
|
const physicalRow = hotInstance.toPhysicalRow(row);
|
|
41
|
-
const
|
|
42
|
-
const sourceData = hotInstance.getSourceDataAtCell(physicalRow, physicalColumn);
|
|
41
|
+
const sourceData = hotInstance.getSourceDataAtCell(physicalRow, col);
|
|
43
42
|
const values = (0, _utils.parseValue)(sourceData);
|
|
44
43
|
(0, _element.empty)(TD);
|
|
45
44
|
(0, _element.addClass)(TD, MULTISELECT_RENDERER_CLASS);
|
|
@@ -50,7 +49,7 @@ function multiSelectRenderer(hotInstance, TD, row, col, prop, value, cellPropert
|
|
|
50
49
|
const chipsContainer = rootDocument.createElement('div');
|
|
51
50
|
chipsContainer.className = CHIPS_CONTAINER_CLASS;
|
|
52
51
|
values.forEach((item)=>{
|
|
53
|
-
const chip = (0, _utils.createChipElement)(rootDocument, item, isAriaEnabled ?? false, row, prop);
|
|
52
|
+
const chip = (0, _utils.createChipElement)(rootDocument, item, isAriaEnabled ?? false, row, col, prop);
|
|
54
53
|
chipsContainer.appendChild(chip);
|
|
55
54
|
});
|
|
56
55
|
TD.appendChild(chipsContainer);
|
|
@@ -20,8 +20,7 @@ const CHIPS_CONTAINER_CLASS = 'ht-multi-select-chips-container';
|
|
|
20
20
|
const { rootDocument } = hotInstance;
|
|
21
21
|
const isAriaEnabled = hotInstance.getSettings().ariaTags;
|
|
22
22
|
const physicalRow = hotInstance.toPhysicalRow(row);
|
|
23
|
-
const
|
|
24
|
-
const sourceData = hotInstance.getSourceDataAtCell(physicalRow, physicalColumn);
|
|
23
|
+
const sourceData = hotInstance.getSourceDataAtCell(physicalRow, col);
|
|
25
24
|
const values = parseValue(sourceData);
|
|
26
25
|
empty(TD);
|
|
27
26
|
addClass(TD, MULTISELECT_RENDERER_CLASS);
|
|
@@ -32,7 +31,7 @@ const CHIPS_CONTAINER_CLASS = 'ht-multi-select-chips-container';
|
|
|
32
31
|
const chipsContainer = rootDocument.createElement('div');
|
|
33
32
|
chipsContainer.className = CHIPS_CONTAINER_CLASS;
|
|
34
33
|
values.forEach((item)=>{
|
|
35
|
-
const chip = createChipElement(rootDocument, item, isAriaEnabled ?? false, row, prop);
|
|
34
|
+
const chip = createChipElement(rootDocument, item, isAriaEnabled ?? false, row, col, prop);
|
|
36
35
|
chipsContainer.appendChild(chip);
|
|
37
36
|
});
|
|
38
37
|
TD.appendChild(chipsContainer);
|
|
@@ -13,7 +13,7 @@ export declare function parseValue(value: unknown): (string | Record<string, str
|
|
|
13
13
|
/**
|
|
14
14
|
*
|
|
15
15
|
*/
|
|
16
|
-
export declare function createChipElement(rootDocument: Document, item: string | Record<string, string>, isAriaEnabled: boolean, row: number, prop: string | number): HTMLElement;
|
|
16
|
+
export declare function createChipElement(rootDocument: Document, item: string | Record<string, string>, isAriaEnabled: boolean, row: number, col: number, prop: string | number): HTMLElement;
|
|
17
17
|
/**
|
|
18
18
|
*
|
|
19
19
|
*/
|
|
@@ -88,11 +88,12 @@ function parseValue(value) {
|
|
|
88
88
|
value
|
|
89
89
|
];
|
|
90
90
|
}
|
|
91
|
-
function createChipElement(rootDocument, item, isAriaEnabled, row, prop) {
|
|
91
|
+
function createChipElement(rootDocument, item, isAriaEnabled, row, col, prop) {
|
|
92
92
|
const chip = rootDocument.createElement('span');
|
|
93
93
|
const textContent = getItemProperty(item, 'value');
|
|
94
94
|
(0, _element.addClass)(chip, CHIP_CLASS);
|
|
95
95
|
chip.dataset.row = String(row);
|
|
96
|
+
chip.dataset.col = String(col);
|
|
96
97
|
chip.dataset.prop = String(prop);
|
|
97
98
|
chip.title = textContent;
|
|
98
99
|
const label = rootDocument.createElement('span');
|
|
@@ -130,16 +131,18 @@ function registerChipRemovingEvents(hotInstance, rendererType) {
|
|
|
130
131
|
if (!chip) {
|
|
131
132
|
return;
|
|
132
133
|
}
|
|
133
|
-
const
|
|
134
|
-
const
|
|
135
|
-
const physicalRow = hotInstance.toPhysicalRow(
|
|
136
|
-
|
|
137
|
-
|
|
134
|
+
const visualRow = Number(chip.dataset.row ?? 0);
|
|
135
|
+
const visualColumn = Number(chip.dataset.col ?? 0);
|
|
136
|
+
const physicalRow = hotInstance.toPhysicalRow(visualRow);
|
|
137
|
+
// Read the raw source array, not `getDataAtCell` — the multiselect `valueGetter` turns the
|
|
138
|
+
// stored array into a display string, which `parseValue` cannot split back into items.
|
|
138
139
|
const currentData = hotInstance.getSourceDataAtCell(physicalRow, visualColumn);
|
|
139
140
|
const keyToRemove = chip.dataset.key;
|
|
140
141
|
const newData = removeValueByKey(parseValue(currentData), keyToRemove);
|
|
141
|
-
|
|
142
|
-
|
|
142
|
+
// Route the removal through `setDataAtCell` so it runs the standard change and validation
|
|
143
|
+
// pipeline (`beforeChange` / `afterChange`), matching the editor's deselect path. Writing via
|
|
144
|
+
// `setSourceDataAtCell` bypassed those hooks and left the two removal paths inconsistent.
|
|
145
|
+
hotInstance.setDataAtCell(visualRow, visualColumn, newData, `${rendererType}-renderer`);
|
|
143
146
|
});
|
|
144
147
|
hotInstance.addHook('beforeOnCellMouseDown', (...args)=>{
|
|
145
148
|
const event = args[0];
|
|
@@ -44,11 +44,12 @@ const chipsEventManagers = new WeakMap();
|
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
46
|
*
|
|
47
|
-
*/ export function createChipElement(rootDocument, item, isAriaEnabled, row, prop) {
|
|
47
|
+
*/ export function createChipElement(rootDocument, item, isAriaEnabled, row, col, prop) {
|
|
48
48
|
const chip = rootDocument.createElement('span');
|
|
49
49
|
const textContent = getItemProperty(item, 'value');
|
|
50
50
|
addClass(chip, CHIP_CLASS);
|
|
51
51
|
chip.dataset.row = String(row);
|
|
52
|
+
chip.dataset.col = String(col);
|
|
52
53
|
chip.dataset.prop = String(prop);
|
|
53
54
|
chip.title = textContent;
|
|
54
55
|
const label = rootDocument.createElement('span');
|
|
@@ -90,16 +91,18 @@ const chipsEventManagers = new WeakMap();
|
|
|
90
91
|
if (!chip) {
|
|
91
92
|
return;
|
|
92
93
|
}
|
|
93
|
-
const
|
|
94
|
-
const
|
|
95
|
-
const physicalRow = hotInstance.toPhysicalRow(
|
|
96
|
-
|
|
97
|
-
|
|
94
|
+
const visualRow = Number(chip.dataset.row ?? 0);
|
|
95
|
+
const visualColumn = Number(chip.dataset.col ?? 0);
|
|
96
|
+
const physicalRow = hotInstance.toPhysicalRow(visualRow);
|
|
97
|
+
// Read the raw source array, not `getDataAtCell` — the multiselect `valueGetter` turns the
|
|
98
|
+
// stored array into a display string, which `parseValue` cannot split back into items.
|
|
98
99
|
const currentData = hotInstance.getSourceDataAtCell(physicalRow, visualColumn);
|
|
99
100
|
const keyToRemove = chip.dataset.key;
|
|
100
101
|
const newData = removeValueByKey(parseValue(currentData), keyToRemove);
|
|
101
|
-
|
|
102
|
-
|
|
102
|
+
// Route the removal through `setDataAtCell` so it runs the standard change and validation
|
|
103
|
+
// pipeline (`beforeChange` / `afterChange`), matching the editor's deselect path. Writing via
|
|
104
|
+
// `setSourceDataAtCell` bypassed those hooks and left the two removal paths inconsistent.
|
|
105
|
+
hotInstance.setDataAtCell(visualRow, visualColumn, newData, `${rendererType}-renderer`);
|
|
103
106
|
});
|
|
104
107
|
hotInstance.addHook('beforeOnCellMouseDown', (...args)=>{
|
|
105
108
|
const event = args[0];
|
|
@@ -21,6 +21,7 @@ _export(exports, {
|
|
|
21
21
|
});
|
|
22
22
|
const _element = require("../../helpers/dom/element");
|
|
23
23
|
const _mixed = require("../../helpers/mixed");
|
|
24
|
+
const _sanitizer = require("../../utils/sanitizer");
|
|
24
25
|
const RENDERER_TYPE = 'password';
|
|
25
26
|
function valueFormatter(value, cellProperties) {
|
|
26
27
|
const hashLength = cellProperties.hashLength || (0, _mixed.stringify)(value).length;
|
|
@@ -32,7 +33,11 @@ function valueFormatter(value, cellProperties) {
|
|
|
32
33
|
return hash;
|
|
33
34
|
}
|
|
34
35
|
function passwordRenderer(hotInstance, TD, row, col, prop, value) {
|
|
35
|
-
|
|
36
|
+
// `valueFormatter` above replaces the value with a run of `hashSymbol`, so markup reaches this
|
|
37
|
+
// sink only through a developer-supplied `valueFormatter` or a `hashSymbol` that contains HTML.
|
|
38
|
+
// Both are the developer's own content, but a configured `sanitizer` must still apply, and the
|
|
39
|
+
// `'password'` context is what makes the missing-sanitizer warning name its source.
|
|
40
|
+
(0, _element.fastInnerHTML)(TD, value, (0, _sanitizer.getSanitizer)(hotInstance), 'password', hotInstance.rootElement);
|
|
36
41
|
}
|
|
37
42
|
passwordRenderer.valueFormatter = valueFormatter;
|
|
38
43
|
passwordRenderer.RENDERER_TYPE = RENDERER_TYPE;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { fastInnerHTML } from '../../helpers/dom/element.mjs';
|
|
2
2
|
import { stringify } from '../../helpers/mixed.mjs';
|
|
3
|
+
import { getSanitizer } from '../../utils/sanitizer.mjs';
|
|
3
4
|
export const RENDERER_TYPE = 'password';
|
|
4
5
|
/**
|
|
5
6
|
* Formats the value using the password format.
|
|
@@ -25,7 +26,11 @@ export const RENDERER_TYPE = 'password';
|
|
|
25
26
|
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
|
26
27
|
* @param {*} value The rendered value.
|
|
27
28
|
*/ export function passwordRenderer(hotInstance, TD, row, col, prop, value) {
|
|
28
|
-
|
|
29
|
+
// `valueFormatter` above replaces the value with a run of `hashSymbol`, so markup reaches this
|
|
30
|
+
// sink only through a developer-supplied `valueFormatter` or a `hashSymbol` that contains HTML.
|
|
31
|
+
// Both are the developer's own content, but a configured `sanitizer` must still apply, and the
|
|
32
|
+
// `'password'` context is what makes the missing-sanitizer warning name its source.
|
|
33
|
+
fastInnerHTML(TD, value, getSanitizer(hotInstance), 'password', hotInstance.rootElement);
|
|
29
34
|
}
|
|
30
35
|
passwordRenderer.valueFormatter = valueFormatter;
|
|
31
36
|
passwordRenderer.RENDERER_TYPE = RENDERER_TYPE;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './renderCell.js';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { CellProperties } from '../settings';
|
|
2
|
+
import type { BaseRenderer } from './baseRenderer';
|
|
3
|
+
/**
|
|
4
|
+
* A renderer function that may carry a `valueFormatter` static. The built-in numeric and date
|
|
5
|
+
* renderers do — they delegate rendering to `textRenderer` and expect the caller to format the
|
|
6
|
+
* value upstream through that static.
|
|
7
|
+
*/
|
|
8
|
+
export type RendererWithValueFormatter = BaseRenderer & {
|
|
9
|
+
valueFormatter?: (value: unknown, cellProperties: CellProperties) => unknown;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Resolves the value a cell renders, following the formatter precedence shared by the render path
|
|
13
|
+
* (`TableView.cellRenderer`) and the AutoRowSize/AutoColumnSize samplers: the cell-level
|
|
14
|
+
* `valueFormatter` option wins; otherwise the renderer's own `valueFormatter` static applies;
|
|
15
|
+
* otherwise the value passes through untouched.
|
|
16
|
+
*
|
|
17
|
+
* @param {*} value The raw cell value.
|
|
18
|
+
* @param {object} cellProperties The cell meta object.
|
|
19
|
+
* @param {Function} renderer The cell's renderer function.
|
|
20
|
+
* @returns {*} The value the renderer should receive.
|
|
21
|
+
*/
|
|
22
|
+
export declare function formatCellValue(value: unknown, cellProperties: CellProperties, renderer: RendererWithValueFormatter): unknown;
|
|
23
|
+
/**
|
|
24
|
+
* Renders one cell TD following the renderer contract shared by `TableView.cellRenderer` and
|
|
25
|
+
* `GhostTable`: run the cell's renderer, run the base renderer when that renderer did not chain it
|
|
26
|
+
* itself, then reset the chaining flag.
|
|
27
|
+
*
|
|
28
|
+
* The built-in renderers no longer call `baseRenderer` themselves — the caller does it, guarded by
|
|
29
|
+
* the `_isBaseRendererCalled` flag the base renderer sets. The flag lives on the cell meta object,
|
|
30
|
+
* which for a materialized cell is shared with the next draw, so it must always end up reset —
|
|
31
|
+
* leaving it set would make the next draw skip the base renderer and drop its classes from the
|
|
32
|
+
* real cell.
|
|
33
|
+
*
|
|
34
|
+
* @param {Function} renderer The cell's renderer function.
|
|
35
|
+
* @param {Array} rendererArgs The argument tuple every renderer receives.
|
|
36
|
+
*/
|
|
37
|
+
export declare function renderCell(renderer: BaseRenderer, rendererArgs: Parameters<BaseRenderer>): void;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get formatCellValue () {
|
|
13
|
+
return formatCellValue;
|
|
14
|
+
},
|
|
15
|
+
get renderCell () {
|
|
16
|
+
return renderCell;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
function formatCellValue(value, cellProperties, renderer) {
|
|
20
|
+
if (typeof cellProperties.valueFormatter === 'function') {
|
|
21
|
+
return cellProperties.valueFormatter(value, cellProperties);
|
|
22
|
+
}
|
|
23
|
+
if (typeof renderer === 'function' && typeof renderer.valueFormatter === 'function') {
|
|
24
|
+
return renderer.valueFormatter.call(cellProperties, value, cellProperties);
|
|
25
|
+
}
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
function renderCell(renderer, rendererArgs) {
|
|
29
|
+
const [hotInstance] = rendererArgs;
|
|
30
|
+
const cellProperties = rendererArgs[6];
|
|
31
|
+
try {
|
|
32
|
+
renderer(...rendererArgs);
|
|
33
|
+
if (!cellProperties._isBaseRendererCalled) {
|
|
34
|
+
hotInstance.getCellRenderer({
|
|
35
|
+
renderer: 'base'
|
|
36
|
+
})(...rendererArgs);
|
|
37
|
+
}
|
|
38
|
+
} finally{
|
|
39
|
+
// Reset even when a renderer throws — a chained-then-thrown flag would survive on the shared
|
|
40
|
+
// cell meta and make the next draw skip the base renderer.
|
|
41
|
+
cellProperties._isBaseRendererCalled = false;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves the value a cell renders, following the formatter precedence shared by the render path
|
|
3
|
+
* (`TableView.cellRenderer`) and the AutoRowSize/AutoColumnSize samplers: the cell-level
|
|
4
|
+
* `valueFormatter` option wins; otherwise the renderer's own `valueFormatter` static applies;
|
|
5
|
+
* otherwise the value passes through untouched.
|
|
6
|
+
*
|
|
7
|
+
* @param {*} value The raw cell value.
|
|
8
|
+
* @param {object} cellProperties The cell meta object.
|
|
9
|
+
* @param {Function} renderer The cell's renderer function.
|
|
10
|
+
* @returns {*} The value the renderer should receive.
|
|
11
|
+
*/ export function formatCellValue(value, cellProperties, renderer) {
|
|
12
|
+
if (typeof cellProperties.valueFormatter === 'function') {
|
|
13
|
+
return cellProperties.valueFormatter(value, cellProperties);
|
|
14
|
+
}
|
|
15
|
+
if (typeof renderer === 'function' && typeof renderer.valueFormatter === 'function') {
|
|
16
|
+
return renderer.valueFormatter.call(cellProperties, value, cellProperties);
|
|
17
|
+
}
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Renders one cell TD following the renderer contract shared by `TableView.cellRenderer` and
|
|
22
|
+
* `GhostTable`: run the cell's renderer, run the base renderer when that renderer did not chain it
|
|
23
|
+
* itself, then reset the chaining flag.
|
|
24
|
+
*
|
|
25
|
+
* The built-in renderers no longer call `baseRenderer` themselves — the caller does it, guarded by
|
|
26
|
+
* the `_isBaseRendererCalled` flag the base renderer sets. The flag lives on the cell meta object,
|
|
27
|
+
* which for a materialized cell is shared with the next draw, so it must always end up reset —
|
|
28
|
+
* leaving it set would make the next draw skip the base renderer and drop its classes from the
|
|
29
|
+
* real cell.
|
|
30
|
+
*
|
|
31
|
+
* @param {Function} renderer The cell's renderer function.
|
|
32
|
+
* @param {Array} rendererArgs The argument tuple every renderer receives.
|
|
33
|
+
*/ export function renderCell(renderer, rendererArgs) {
|
|
34
|
+
const [hotInstance] = rendererArgs;
|
|
35
|
+
const cellProperties = rendererArgs[6];
|
|
36
|
+
try {
|
|
37
|
+
renderer(...rendererArgs);
|
|
38
|
+
if (!cellProperties._isBaseRendererCalled) {
|
|
39
|
+
hotInstance.getCellRenderer({
|
|
40
|
+
renderer: 'base'
|
|
41
|
+
})(...rendererArgs);
|
|
42
|
+
}
|
|
43
|
+
} finally{
|
|
44
|
+
// Reset even when a renderer throws — a chained-then-thrown flag would survive on the shared
|
|
45
|
+
// cell meta and make the next draw skip the base renderer.
|
|
46
|
+
cellProperties._isBaseRendererCalled = false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -4,6 +4,8 @@ import VisualSelection from '../visualSelection';
|
|
|
4
4
|
*
|
|
5
5
|
* @param {object} highlightParams A configuration object to create a highlight.
|
|
6
6
|
* @param {object} highlightParams.areaCornerVisible Function to determine if area's corner should be visible.
|
|
7
|
+
* @param {object} highlightParams.adjustHandlesVisible Function to determine if adjustment handles should be visible.
|
|
8
|
+
* @param {object} highlightParams.moveEnabled Function or boolean to determine if the move zone should be shown.
|
|
7
9
|
* @returns {Selection}
|
|
8
10
|
*/
|
|
9
|
-
export declare function createHighlight({ areaCornerVisible, ...restOptions }: Record<string, unknown>): VisualSelection;
|
|
11
|
+
export declare function createHighlight({ areaCornerVisible, adjustHandlesVisible, moveEnabled, ...restOptions }: Record<string, unknown>): VisualSelection;
|
|
@@ -15,14 +15,16 @@ function _interop_require_default(obj) {
|
|
|
15
15
|
default: obj
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
|
-
function createHighlight({ areaCornerVisible, ...restOptions }) {
|
|
18
|
+
function createHighlight({ areaCornerVisible, adjustHandlesVisible, moveEnabled, ...restOptions }) {
|
|
19
19
|
return new _visualSelection.default({
|
|
20
20
|
className: 'area',
|
|
21
21
|
createLayers: true,
|
|
22
22
|
border: {
|
|
23
23
|
width: 1,
|
|
24
24
|
color: '#4b89ff',
|
|
25
|
-
cornerVisible: areaCornerVisible
|
|
25
|
+
cornerVisible: areaCornerVisible,
|
|
26
|
+
adjustHandlesVisible,
|
|
27
|
+
moveEnabled
|
|
26
28
|
},
|
|
27
29
|
...restOptions,
|
|
28
30
|
selectionType: _src.HIGHLIGHT_AREA_TYPE
|
|
@@ -5,15 +5,19 @@ import VisualSelection from '../visualSelection.mjs';
|
|
|
5
5
|
*
|
|
6
6
|
* @param {object} highlightParams A configuration object to create a highlight.
|
|
7
7
|
* @param {object} highlightParams.areaCornerVisible Function to determine if area's corner should be visible.
|
|
8
|
+
* @param {object} highlightParams.adjustHandlesVisible Function to determine if adjustment handles should be visible.
|
|
9
|
+
* @param {object} highlightParams.moveEnabled Function or boolean to determine if the move zone should be shown.
|
|
8
10
|
* @returns {Selection}
|
|
9
|
-
*/ export function createHighlight({ areaCornerVisible, ...restOptions }) {
|
|
11
|
+
*/ export function createHighlight({ areaCornerVisible, adjustHandlesVisible, moveEnabled, ...restOptions }) {
|
|
10
12
|
return new VisualSelection({
|
|
11
13
|
className: 'area',
|
|
12
14
|
createLayers: true,
|
|
13
15
|
border: {
|
|
14
16
|
width: 1,
|
|
15
17
|
color: '#4b89ff',
|
|
16
|
-
cornerVisible: areaCornerVisible
|
|
18
|
+
cornerVisible: areaCornerVisible,
|
|
19
|
+
adjustHandlesVisible,
|
|
20
|
+
moveEnabled
|
|
17
21
|
},
|
|
18
22
|
...restOptions,
|
|
19
23
|
selectionType: HIGHLIGHT_AREA_TYPE
|
|
@@ -5,6 +5,8 @@ import VisualSelection from '../visualSelection';
|
|
|
5
5
|
*
|
|
6
6
|
* @param {object} highlightParams A configuration object to create a highlight.
|
|
7
7
|
* @param {Function} highlightParams.cellCornerVisible Function to determine if cell's corner should be visible.
|
|
8
|
+
* @param {Function} highlightParams.cellMoveEnabled Function to determine if the move zone should be shown
|
|
9
|
+
* on the single-cell (focus) selection border.
|
|
8
10
|
* @returns {Selection}
|
|
9
11
|
*/
|
|
10
|
-
export declare function createHighlight({ cellCornerVisible, ...restOptions }: Record<string, unknown>): VisualSelection;
|
|
12
|
+
export declare function createHighlight({ cellCornerVisible, cellMoveEnabled, ...restOptions }: Record<string, unknown>): VisualSelection;
|
|
@@ -16,7 +16,7 @@ function _interop_require_default(obj) {
|
|
|
16
16
|
default: obj
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
function createHighlight({ cellCornerVisible, ...restOptions }) {
|
|
19
|
+
function createHighlight({ cellCornerVisible, cellMoveEnabled, ...restOptions }) {
|
|
20
20
|
return new _visualSelection.default({
|
|
21
21
|
className: 'current',
|
|
22
22
|
headerAttributes: [
|
|
@@ -25,7 +25,8 @@ function createHighlight({ cellCornerVisible, ...restOptions }) {
|
|
|
25
25
|
border: {
|
|
26
26
|
width: 2,
|
|
27
27
|
color: '#4b89ff',
|
|
28
|
-
cornerVisible: cellCornerVisible
|
|
28
|
+
cornerVisible: cellCornerVisible,
|
|
29
|
+
moveEnabled: cellMoveEnabled
|
|
29
30
|
},
|
|
30
31
|
...restOptions,
|
|
31
32
|
selectionType: _src.HIGHLIGHT_FOCUS_TYPE
|
|
@@ -7,8 +7,10 @@ import { A11Y_SELECTED } from '../../../helpers/a11y.mjs';
|
|
|
7
7
|
*
|
|
8
8
|
* @param {object} highlightParams A configuration object to create a highlight.
|
|
9
9
|
* @param {Function} highlightParams.cellCornerVisible Function to determine if cell's corner should be visible.
|
|
10
|
+
* @param {Function} highlightParams.cellMoveEnabled Function to determine if the move zone should be shown
|
|
11
|
+
* on the single-cell (focus) selection border.
|
|
10
12
|
* @returns {Selection}
|
|
11
|
-
*/ export function createHighlight({ cellCornerVisible, ...restOptions }) {
|
|
13
|
+
*/ export function createHighlight({ cellCornerVisible, cellMoveEnabled, ...restOptions }) {
|
|
12
14
|
return new VisualSelection({
|
|
13
15
|
className: 'current',
|
|
14
16
|
headerAttributes: [
|
|
@@ -17,7 +19,8 @@ import { A11Y_SELECTED } from '../../../helpers/a11y.mjs';
|
|
|
17
19
|
border: {
|
|
18
20
|
width: 2,
|
|
19
21
|
color: '#4b89ff',
|
|
20
|
-
cornerVisible: cellCornerVisible
|
|
22
|
+
cornerVisible: cellCornerVisible,
|
|
23
|
+
moveEnabled: cellMoveEnabled
|
|
21
24
|
},
|
|
22
25
|
...restOptions,
|
|
23
26
|
selectionType: HIGHLIGHT_FOCUS_TYPE
|
|
@@ -93,39 +93,42 @@ function mouseOver({ isLeftClick, coords, selection, controller, cellCoordsFacto
|
|
|
93
93
|
}
|
|
94
94
|
function mouseUp({ isLeftClick, selection, cellRangeMapper }) {
|
|
95
95
|
const sel = selection;
|
|
96
|
-
|
|
97
|
-
// Treat empty string and empty array as equivalent to `false` (nothing is actually disabled),
|
|
98
|
-
// matching how the rest of the codebase normalizes this setting.
|
|
99
|
-
const visualSelectionDisabled = dvs === true || typeof dvs === 'string' && dvs.length > 0 || Array.isArray(dvs) && dvs.length > 0;
|
|
100
|
-
// The dedup-on-second-click behavior relies on visible selection feedback; without it,
|
|
101
|
-
// toggling invisible layers produces highlight jumps once any visible range repaints.
|
|
102
|
-
if (!isLeftClick || sel.settings.selectionMode !== 'multiple' || visualSelectionDisabled) {
|
|
96
|
+
if (!isLeftClick || sel.settings.selectionMode !== 'multiple') {
|
|
103
97
|
return;
|
|
104
98
|
}
|
|
105
99
|
const selectionRange = sel.getSelectedRange();
|
|
106
100
|
const renderableRange = selectionRange.clone().map((range)=>cellRangeMapper.toRenderable(range));
|
|
107
101
|
const lastRenderableRange = renderableRange.current();
|
|
102
|
+
// DEV-1771: ctrl+click toggle behavior.
|
|
103
|
+
//
|
|
104
|
+
// When the newly added layer is a single cell, check whether that same cell already
|
|
105
|
+
// existed as a standalone single-cell layer (in visual coords). If it did, the user is
|
|
106
|
+
// toggling it off — remove all copies of that single-cell layer. Otherwise the click
|
|
107
|
+
// just moves the active focus; snap hover-extended ranges back to their bounds.
|
|
108
|
+
//
|
|
109
|
+
// The guard `isSingleCell()` (on the *visual* range, not the renderable one) prevents
|
|
110
|
+
// a false-positive toggle when a range collapses to a single renderable cell because
|
|
111
|
+
// hidden columns/rows make its `from` and `to` renderable coords identical.
|
|
108
112
|
if (lastRenderableRange && renderableRange.size() > 1 && !lastRenderableRange.isHeader() && !sel.isMultiple(lastRenderableRange)) {
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
selection.markSource('deselect');
|
|
125
|
-
selectionRange.removeLayers(ranges.map(({ layer })=>layer));
|
|
126
|
-
selection.refresh();
|
|
127
|
-
selection.markEndSource();
|
|
113
|
+
const duplicateLayerIndexes = renderableRange.findAll(lastRenderableRange).filter(({ layer })=>selectionRange.peekByIndex(layer)?.isSingleCell()).map(({ layer })=>layer);
|
|
114
|
+
if (duplicateLayerIndexes.length >= 2) {
|
|
115
|
+
if (duplicateLayerIndexes.length >= selectionRange.size()) {
|
|
116
|
+
// All layers are being removed. Call deselect() before removing so that
|
|
117
|
+
// the selection is still non-empty; deselect() would return early otherwise
|
|
118
|
+
// and leave inProgress=true, causing the document-level mouseup handler to
|
|
119
|
+
// call finish() with an empty selectedRange and crash.
|
|
120
|
+
selection.deselect();
|
|
121
|
+
} else {
|
|
122
|
+
selectionRange.removeLayers(duplicateLayerIndexes);
|
|
123
|
+
selection.markSource('deselect');
|
|
124
|
+
selection.refresh();
|
|
125
|
+
selection.markEndSource();
|
|
126
|
+
}
|
|
127
|
+
return;
|
|
128
128
|
}
|
|
129
|
+
selection.markSource('deselect');
|
|
130
|
+
selection.refresh();
|
|
131
|
+
selection.markEndSource();
|
|
129
132
|
}
|
|
130
133
|
}
|
|
131
134
|
const handlers = new Map([
|
|
@@ -99,39 +99,42 @@ import { isRightClick as isRightClickEvent, isLeftClick as isLeftClickEvent } fr
|
|
|
99
99
|
* to renderable indexes.
|
|
100
100
|
*/ export function mouseUp({ isLeftClick, selection, cellRangeMapper }) {
|
|
101
101
|
const sel = selection;
|
|
102
|
-
|
|
103
|
-
// Treat empty string and empty array as equivalent to `false` (nothing is actually disabled),
|
|
104
|
-
// matching how the rest of the codebase normalizes this setting.
|
|
105
|
-
const visualSelectionDisabled = dvs === true || typeof dvs === 'string' && dvs.length > 0 || Array.isArray(dvs) && dvs.length > 0;
|
|
106
|
-
// The dedup-on-second-click behavior relies on visible selection feedback; without it,
|
|
107
|
-
// toggling invisible layers produces highlight jumps once any visible range repaints.
|
|
108
|
-
if (!isLeftClick || sel.settings.selectionMode !== 'multiple' || visualSelectionDisabled) {
|
|
102
|
+
if (!isLeftClick || sel.settings.selectionMode !== 'multiple') {
|
|
109
103
|
return;
|
|
110
104
|
}
|
|
111
105
|
const selectionRange = sel.getSelectedRange();
|
|
112
106
|
const renderableRange = selectionRange.clone().map((range)=>cellRangeMapper.toRenderable(range));
|
|
113
107
|
const lastRenderableRange = renderableRange.current();
|
|
108
|
+
// DEV-1771: ctrl+click toggle behavior.
|
|
109
|
+
//
|
|
110
|
+
// When the newly added layer is a single cell, check whether that same cell already
|
|
111
|
+
// existed as a standalone single-cell layer (in visual coords). If it did, the user is
|
|
112
|
+
// toggling it off — remove all copies of that single-cell layer. Otherwise the click
|
|
113
|
+
// just moves the active focus; snap hover-extended ranges back to their bounds.
|
|
114
|
+
//
|
|
115
|
+
// The guard `isSingleCell()` (on the *visual* range, not the renderable one) prevents
|
|
116
|
+
// a false-positive toggle when a range collapses to a single renderable cell because
|
|
117
|
+
// hidden columns/rows make its `from` and `to` renderable coords identical.
|
|
114
118
|
if (lastRenderableRange && renderableRange.size() > 1 && !lastRenderableRange.isHeader() && !sel.isMultiple(lastRenderableRange)) {
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
selection.markSource('deselect');
|
|
131
|
-
selectionRange.removeLayers(ranges.map(({ layer })=>layer));
|
|
132
|
-
selection.refresh();
|
|
133
|
-
selection.markEndSource();
|
|
119
|
+
const duplicateLayerIndexes = renderableRange.findAll(lastRenderableRange).filter(({ layer })=>selectionRange.peekByIndex(layer)?.isSingleCell()).map(({ layer })=>layer);
|
|
120
|
+
if (duplicateLayerIndexes.length >= 2) {
|
|
121
|
+
if (duplicateLayerIndexes.length >= selectionRange.size()) {
|
|
122
|
+
// All layers are being removed. Call deselect() before removing so that
|
|
123
|
+
// the selection is still non-empty; deselect() would return early otherwise
|
|
124
|
+
// and leave inProgress=true, causing the document-level mouseup handler to
|
|
125
|
+
// call finish() with an empty selectedRange and crash.
|
|
126
|
+
selection.deselect();
|
|
127
|
+
} else {
|
|
128
|
+
selectionRange.removeLayers(duplicateLayerIndexes);
|
|
129
|
+
selection.markSource('deselect');
|
|
130
|
+
selection.refresh();
|
|
131
|
+
selection.markEndSource();
|
|
132
|
+
}
|
|
133
|
+
return;
|
|
134
134
|
}
|
|
135
|
+
selection.markSource('deselect');
|
|
136
|
+
selection.refresh();
|
|
137
|
+
selection.markEndSource();
|
|
135
138
|
}
|
|
136
139
|
}
|
|
137
140
|
const handlers = new Map([
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './moveCells.js';
|