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,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "RenderSizeProbe", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return RenderSizeProbe;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _element = require("./helpers/dom/element");
|
|
12
|
+
function _check_private_redeclaration(obj, privateCollection) {
|
|
13
|
+
if (privateCollection.has(obj)) {
|
|
14
|
+
throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function _class_private_method_get(receiver, privateSet, fn) {
|
|
18
|
+
if (!privateSet.has(receiver)) {
|
|
19
|
+
throw new TypeError("attempted to get private field on non-instance");
|
|
20
|
+
}
|
|
21
|
+
return fn;
|
|
22
|
+
}
|
|
23
|
+
function _class_private_method_init(obj, privateSet) {
|
|
24
|
+
_check_private_redeclaration(obj, privateSet);
|
|
25
|
+
privateSet.add(obj);
|
|
26
|
+
}
|
|
27
|
+
var /**
|
|
28
|
+
* Measures every rendered row of one table body and stores the height under its source row index.
|
|
29
|
+
* The formula matches `markOversizedRows` (`axisSizing/oversizedRows`)'s stored value exactly (a row with a row header is
|
|
30
|
+
* measured from the TH; otherwise from the TR minus the content-box border, then the content-box
|
|
31
|
+
* `+1` is folded back so the stored value equals the engine's).
|
|
32
|
+
*
|
|
33
|
+
* @param {object} wtTable The engine table (master or bottom clone) whose TBODY is measured.
|
|
34
|
+
* @param {boolean} borderBoxSizing Whether cells use `box-sizing: border-box` (the theme axis).
|
|
35
|
+
*/ _measureRows = /*#__PURE__*/ new WeakSet(), /**
|
|
36
|
+
* Measures the rendered column-header heights per level. Matches
|
|
37
|
+
* `Table.markIfOversizedColumnHeader`, which reads `innerHeight` of each header CELL (TH) and keeps
|
|
38
|
+
* the tallest per level — not the THEAD row height, which is a border taller. Each THEAD child is a
|
|
39
|
+
* header row (one per level); its TH cells are the per-column headers.
|
|
40
|
+
*
|
|
41
|
+
* @param {object} wtTable The master engine table whose THEAD is measured.
|
|
42
|
+
*/ _measureColumnHeaders = /*#__PURE__*/ new WeakSet();
|
|
43
|
+
class RenderSizeProbe {
|
|
44
|
+
/**
|
|
45
|
+
* Measures the rendered grid and refreshes the stored maps. A pure read — no DOM writes, no size
|
|
46
|
+
* feedback, no re-draw. Safe to call on every full draw.
|
|
47
|
+
*
|
|
48
|
+
* @param {WalkontableInstance} wt The Walkontable facade for the rendered instance.
|
|
49
|
+
*/ measure(wt) {
|
|
50
|
+
this.rowHeights.clear();
|
|
51
|
+
this.columnHeaderHeights.clear();
|
|
52
|
+
if (!wt?.wtTable) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const borderBoxSizing = wt.wtSettings.getSetting('stylesHandler').areCellsBorderBox();
|
|
56
|
+
_class_private_method_get(this, _measureRows, measureRows).call(this, wt.wtTable, borderBoxSizing);
|
|
57
|
+
// Frozen rows render in the top and bottom overlays' own tables, not the master TBODY, and the
|
|
58
|
+
// master's band leaves them behind as soon as the grid is scrolled. Every table that can hold a
|
|
59
|
+
// row the shared `oversizedRows` has a record for must be measured, or the probe silently stops
|
|
60
|
+
// mirroring it:
|
|
61
|
+
//
|
|
62
|
+
// - the bottom clone measures itself (`markOversizedRows`, from `renderCellBand`);
|
|
63
|
+
// - frozen ROW heights that came from a frozen COLUMN are measured off the inline-start clone
|
|
64
|
+
// and the two corners by `syncOversizedRowsWithFrozenOverlays`, which then applies them to the
|
|
65
|
+
// top and bottom clones — so those clones carry the final height by the time this runs.
|
|
66
|
+
//
|
|
67
|
+
// The master's band and these two together cover every row that can be recorded. The
|
|
68
|
+
// inline-start clone mirrors the master's band, so it adds no rows of its own.
|
|
69
|
+
[
|
|
70
|
+
wt.wtOverlays?.topOverlay?.clone,
|
|
71
|
+
wt.wtOverlays?.bottomOverlay?.clone
|
|
72
|
+
].forEach((clone)=>{
|
|
73
|
+
if (clone?.wtTable) {
|
|
74
|
+
_class_private_method_get(this, _measureRows, measureRows).call(this, clone.wtTable, borderBoxSizing);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
_class_private_method_get(this, _measureColumnHeaders, measureColumnHeaders).call(this, wt.wtTable);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Whether any measured column-header level is taller than the default header height, i.e. a
|
|
81
|
+
* content-driven (or configured) header that the overlays must be re-synced to. Used to gate the
|
|
82
|
+
* post-draw header reconcile so normal single-line headers pay nothing.
|
|
83
|
+
*
|
|
84
|
+
* @param {number} defaultHeight The default header (row) height in px.
|
|
85
|
+
* @returns {boolean}
|
|
86
|
+
*/ hasColumnHeaderTallerThan(defaultHeight) {
|
|
87
|
+
for (const height of this.columnHeaderHeights.values()){
|
|
88
|
+
if (height > defaultHeight) {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
constructor(){
|
|
95
|
+
_class_private_method_init(this, _measureRows);
|
|
96
|
+
_class_private_method_init(this, _measureColumnHeaders);
|
|
97
|
+
/**
|
|
98
|
+
* Measured row heights, keyed by the engine's source row index (equivalently, Handsontable's
|
|
99
|
+
* renderable row index). Mirrors the values the engine writes to `wtViewport.oversizedRows` for the
|
|
100
|
+
* rows it deems oversized; this map holds every rendered row, so the pinned subset is
|
|
101
|
+
* `oversizedRows`'s keys.
|
|
102
|
+
*
|
|
103
|
+
* @type {Map<number, number>}
|
|
104
|
+
*/ this.rowHeights = new Map();
|
|
105
|
+
/**
|
|
106
|
+
* Measured column-header row heights, keyed by header level. Mirrors the rendered THEAD row heights
|
|
107
|
+
* the engine reads into `wtViewport.oversizedColumnHeaders`.
|
|
108
|
+
*
|
|
109
|
+
* @type {Map<number, number>}
|
|
110
|
+
*/ this.columnHeaderHeights = new Map();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
function measureRows(wtTable, borderBoxSizing) {
|
|
114
|
+
const { TBODY, rowFilter } = wtTable;
|
|
115
|
+
if (!TBODY || !rowFilter) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const heightFn = borderBoxSizing ? _element.outerHeight : _element.innerHeight;
|
|
119
|
+
const borderCompensation = borderBoxSizing ? 0 : 1;
|
|
120
|
+
let renderedRowIndex = TBODY.childNodes.length;
|
|
121
|
+
while(renderedRowIndex){
|
|
122
|
+
renderedRowIndex -= 1;
|
|
123
|
+
const sourceRowIndex = rowFilter.renderedToSource(renderedRowIndex);
|
|
124
|
+
const currentTr = TBODY.childNodes[renderedRowIndex];
|
|
125
|
+
const rowHeader = currentTr.querySelector('th');
|
|
126
|
+
let rowCurrentHeight;
|
|
127
|
+
if (rowHeader) {
|
|
128
|
+
rowCurrentHeight = heightFn(rowHeader);
|
|
129
|
+
} else {
|
|
130
|
+
rowCurrentHeight = heightFn(currentTr) - borderCompensation;
|
|
131
|
+
}
|
|
132
|
+
if (!borderBoxSizing) {
|
|
133
|
+
rowCurrentHeight += 1;
|
|
134
|
+
}
|
|
135
|
+
this.rowHeights.set(sourceRowIndex, rowCurrentHeight);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
function measureColumnHeaders(wtTable) {
|
|
139
|
+
const { THEAD } = wtTable;
|
|
140
|
+
if (!THEAD) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
const headerRows = THEAD.childNodes;
|
|
144
|
+
for(let level = 0, len = headerRows.length; level < len; level++){
|
|
145
|
+
const cells = headerRows[level].childNodes;
|
|
146
|
+
let maxHeight;
|
|
147
|
+
for(let col = 0; col < cells.length; col++){
|
|
148
|
+
const cell = cells[col];
|
|
149
|
+
// Skip cells that span more than one header row (nested-header rowspan). Their height covers
|
|
150
|
+
// several levels, so measuring it as this level's height would push the lower levels down.
|
|
151
|
+
// Only single-row header cells carry a content-driven per-level height.
|
|
152
|
+
if (cell instanceof HTMLTableCellElement && cell.rowSpan <= 1) {
|
|
153
|
+
const cellHeight = (0, _element.innerHeight)(cell);
|
|
154
|
+
if (maxHeight === undefined || cellHeight > maxHeight) {
|
|
155
|
+
maxHeight = cellHeight;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
if (maxHeight !== undefined) {
|
|
160
|
+
this.columnHeaderHeights.set(level, maxHeight);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
function _check_private_redeclaration(obj, privateCollection) {
|
|
2
|
+
if (privateCollection.has(obj)) {
|
|
3
|
+
throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
function _class_private_method_get(receiver, privateSet, fn) {
|
|
7
|
+
if (!privateSet.has(receiver)) {
|
|
8
|
+
throw new TypeError("attempted to get private field on non-instance");
|
|
9
|
+
}
|
|
10
|
+
return fn;
|
|
11
|
+
}
|
|
12
|
+
function _class_private_method_init(obj, privateSet) {
|
|
13
|
+
_check_private_redeclaration(obj, privateSet);
|
|
14
|
+
privateSet.add(obj);
|
|
15
|
+
}
|
|
16
|
+
import { innerHeight, outerHeight } from './helpers/dom/element.mjs';
|
|
17
|
+
var /**
|
|
18
|
+
* Measures every rendered row of one table body and stores the height under its source row index.
|
|
19
|
+
* The formula matches `markOversizedRows` (`axisSizing/oversizedRows`)'s stored value exactly (a row with a row header is
|
|
20
|
+
* measured from the TH; otherwise from the TR minus the content-box border, then the content-box
|
|
21
|
+
* `+1` is folded back so the stored value equals the engine's).
|
|
22
|
+
*
|
|
23
|
+
* @param {object} wtTable The engine table (master or bottom clone) whose TBODY is measured.
|
|
24
|
+
* @param {boolean} borderBoxSizing Whether cells use `box-sizing: border-box` (the theme axis).
|
|
25
|
+
*/ _measureRows = /*#__PURE__*/ new WeakSet(), /**
|
|
26
|
+
* Measures the rendered column-header heights per level. Matches
|
|
27
|
+
* `Table.markIfOversizedColumnHeader`, which reads `innerHeight` of each header CELL (TH) and keeps
|
|
28
|
+
* the tallest per level — not the THEAD row height, which is a border taller. Each THEAD child is a
|
|
29
|
+
* header row (one per level); its TH cells are the per-column headers.
|
|
30
|
+
*
|
|
31
|
+
* @param {object} wtTable The master engine table whose THEAD is measured.
|
|
32
|
+
*/ _measureColumnHeaders = /*#__PURE__*/ new WeakSet();
|
|
33
|
+
/**
|
|
34
|
+
* A measurement-only ("shadow") probe of the rendered grid.
|
|
35
|
+
*
|
|
36
|
+
* The single-pass refactor moves content-driven size discovery out of the rendering engine. Today
|
|
37
|
+
* Walkontable measures the rendered rows and headers mid-draw (`markOversizedRows` and
|
|
38
|
+
* `syncOversizedColumnHeadersWithFrozenOverlays`, both in `axisSizing/oversizedRows`) and re-runs
|
|
39
|
+
* its calculators in the same draw. The end
|
|
40
|
+
* state supplies every size to the engine up front, so the engine renders once; whatever content
|
|
41
|
+
* height cannot be known up front (wrapped cells and multi-line headers, with `AutoRowSize` off) is
|
|
42
|
+
* discovered by this Handsontable-side probe after the draw and fed back into the next one.
|
|
43
|
+
*
|
|
44
|
+
* This class is the first, deliberately inert, step of that move. It runs after a full master draw
|
|
45
|
+
* (from `TableView.afterRender`, the engine's `onDraw` callback, when the DOM is final), measures the
|
|
46
|
+
* rendered row and column-header heights, and stores them in its own maps. It does NOT feed the
|
|
47
|
+
* values into any size read and it does NOT trigger a re-draw — the engine's own oversized machinery
|
|
48
|
+
* still owns the frame, unchanged. Consuming these values (and deleting the engine machinery) is the
|
|
49
|
+
* next stage's work, gated behind the single-pass behavior change.
|
|
50
|
+
*
|
|
51
|
+
* Its only present job is to prove that an independent measurement produces the same numbers the
|
|
52
|
+
* engine records in `wtViewport.oversizedRows` / `wtViewport.oversizedColumnHeaders`. The
|
|
53
|
+
* characterization spec pins that equality, so the later deletion of the engine machinery rests on a
|
|
54
|
+
* verified replacement. The row and header measurement math is a faithful copy of the engine methods
|
|
55
|
+
* named above, including the border-box compensations.
|
|
56
|
+
*/ export class RenderSizeProbe {
|
|
57
|
+
/**
|
|
58
|
+
* Measures the rendered grid and refreshes the stored maps. A pure read — no DOM writes, no size
|
|
59
|
+
* feedback, no re-draw. Safe to call on every full draw.
|
|
60
|
+
*
|
|
61
|
+
* @param {WalkontableInstance} wt The Walkontable facade for the rendered instance.
|
|
62
|
+
*/ measure(wt) {
|
|
63
|
+
this.rowHeights.clear();
|
|
64
|
+
this.columnHeaderHeights.clear();
|
|
65
|
+
if (!wt?.wtTable) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const borderBoxSizing = wt.wtSettings.getSetting('stylesHandler').areCellsBorderBox();
|
|
69
|
+
_class_private_method_get(this, _measureRows, measureRows).call(this, wt.wtTable, borderBoxSizing);
|
|
70
|
+
// Frozen rows render in the top and bottom overlays' own tables, not the master TBODY, and the
|
|
71
|
+
// master's band leaves them behind as soon as the grid is scrolled. Every table that can hold a
|
|
72
|
+
// row the shared `oversizedRows` has a record for must be measured, or the probe silently stops
|
|
73
|
+
// mirroring it:
|
|
74
|
+
//
|
|
75
|
+
// - the bottom clone measures itself (`markOversizedRows`, from `renderCellBand`);
|
|
76
|
+
// - frozen ROW heights that came from a frozen COLUMN are measured off the inline-start clone
|
|
77
|
+
// and the two corners by `syncOversizedRowsWithFrozenOverlays`, which then applies them to the
|
|
78
|
+
// top and bottom clones — so those clones carry the final height by the time this runs.
|
|
79
|
+
//
|
|
80
|
+
// The master's band and these two together cover every row that can be recorded. The
|
|
81
|
+
// inline-start clone mirrors the master's band, so it adds no rows of its own.
|
|
82
|
+
[
|
|
83
|
+
wt.wtOverlays?.topOverlay?.clone,
|
|
84
|
+
wt.wtOverlays?.bottomOverlay?.clone
|
|
85
|
+
].forEach((clone)=>{
|
|
86
|
+
if (clone?.wtTable) {
|
|
87
|
+
_class_private_method_get(this, _measureRows, measureRows).call(this, clone.wtTable, borderBoxSizing);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
_class_private_method_get(this, _measureColumnHeaders, measureColumnHeaders).call(this, wt.wtTable);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Whether any measured column-header level is taller than the default header height, i.e. a
|
|
94
|
+
* content-driven (or configured) header that the overlays must be re-synced to. Used to gate the
|
|
95
|
+
* post-draw header reconcile so normal single-line headers pay nothing.
|
|
96
|
+
*
|
|
97
|
+
* @param {number} defaultHeight The default header (row) height in px.
|
|
98
|
+
* @returns {boolean}
|
|
99
|
+
*/ hasColumnHeaderTallerThan(defaultHeight) {
|
|
100
|
+
for (const height of this.columnHeaderHeights.values()){
|
|
101
|
+
if (height > defaultHeight) {
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
constructor(){
|
|
108
|
+
_class_private_method_init(this, _measureRows);
|
|
109
|
+
_class_private_method_init(this, _measureColumnHeaders);
|
|
110
|
+
/**
|
|
111
|
+
* Measured row heights, keyed by the engine's source row index (equivalently, Handsontable's
|
|
112
|
+
* renderable row index). Mirrors the values the engine writes to `wtViewport.oversizedRows` for the
|
|
113
|
+
* rows it deems oversized; this map holds every rendered row, so the pinned subset is
|
|
114
|
+
* `oversizedRows`'s keys.
|
|
115
|
+
*
|
|
116
|
+
* @type {Map<number, number>}
|
|
117
|
+
*/ this.rowHeights = new Map();
|
|
118
|
+
/**
|
|
119
|
+
* Measured column-header row heights, keyed by header level. Mirrors the rendered THEAD row heights
|
|
120
|
+
* the engine reads into `wtViewport.oversizedColumnHeaders`.
|
|
121
|
+
*
|
|
122
|
+
* @type {Map<number, number>}
|
|
123
|
+
*/ this.columnHeaderHeights = new Map();
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
function measureRows(wtTable, borderBoxSizing) {
|
|
127
|
+
const { TBODY, rowFilter } = wtTable;
|
|
128
|
+
if (!TBODY || !rowFilter) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
const heightFn = borderBoxSizing ? outerHeight : innerHeight;
|
|
132
|
+
const borderCompensation = borderBoxSizing ? 0 : 1;
|
|
133
|
+
let renderedRowIndex = TBODY.childNodes.length;
|
|
134
|
+
while(renderedRowIndex){
|
|
135
|
+
renderedRowIndex -= 1;
|
|
136
|
+
const sourceRowIndex = rowFilter.renderedToSource(renderedRowIndex);
|
|
137
|
+
const currentTr = TBODY.childNodes[renderedRowIndex];
|
|
138
|
+
const rowHeader = currentTr.querySelector('th');
|
|
139
|
+
let rowCurrentHeight;
|
|
140
|
+
if (rowHeader) {
|
|
141
|
+
rowCurrentHeight = heightFn(rowHeader);
|
|
142
|
+
} else {
|
|
143
|
+
rowCurrentHeight = heightFn(currentTr) - borderCompensation;
|
|
144
|
+
}
|
|
145
|
+
if (!borderBoxSizing) {
|
|
146
|
+
rowCurrentHeight += 1;
|
|
147
|
+
}
|
|
148
|
+
this.rowHeights.set(sourceRowIndex, rowCurrentHeight);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
function measureColumnHeaders(wtTable) {
|
|
152
|
+
const { THEAD } = wtTable;
|
|
153
|
+
if (!THEAD) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
const headerRows = THEAD.childNodes;
|
|
157
|
+
for(let level = 0, len = headerRows.length; level < len; level++){
|
|
158
|
+
const cells = headerRows[level].childNodes;
|
|
159
|
+
let maxHeight;
|
|
160
|
+
for(let col = 0; col < cells.length; col++){
|
|
161
|
+
const cell = cells[col];
|
|
162
|
+
// Skip cells that span more than one header row (nested-header rowspan). Their height covers
|
|
163
|
+
// several levels, so measuring it as this level's height would push the lower levels down.
|
|
164
|
+
// Only single-row header cells carry a content-driven per-level height.
|
|
165
|
+
if (cell instanceof HTMLTableCellElement && cell.rowSpan <= 1) {
|
|
166
|
+
const cellHeight = innerHeight(cell);
|
|
167
|
+
if (maxHeight === undefined || cellHeight > maxHeight) {
|
|
168
|
+
maxHeight = cellHeight;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
if (maxHeight !== undefined) {
|
|
173
|
+
this.columnHeaderHeights.set(level, maxHeight);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
@@ -224,7 +224,12 @@ function checkboxRenderer(hotInstance, TD, row, col, prop, value, cellProperties
|
|
|
224
224
|
}
|
|
225
225
|
for(let visualRow = startRow; visualRow <= endRow; visualRow += 1){
|
|
226
226
|
for(let visualColumn = startColumn; visualColumn <= endColumn; visualColumn += 1){
|
|
227
|
-
|
|
227
|
+
// The transient read keeps a toggle over a large selection (for example, a whole
|
|
228
|
+
// column) from permanently materializing one meta object per selected cell. The
|
|
229
|
+
// default-template writes below may land on a throwaway object - the render path
|
|
230
|
+
// re-applies the same defaults on every draw, and all reads in this loop happen on
|
|
231
|
+
// this same object.
|
|
232
|
+
const cachedCellProperties = hotInstance.getCellMetaTransient(visualRow, visualColumn);
|
|
228
233
|
/* eslint-disable no-continue */ if (cachedCellProperties.hidden) {
|
|
229
234
|
continue;
|
|
230
235
|
}
|
|
@@ -370,7 +375,7 @@ function checkboxRenderer(hotInstance, TD, row, col, prop, value, cellProperties
|
|
|
370
375
|
}
|
|
371
376
|
for(let visualRow = topLeft.row; visualRow <= bottomRight.row; visualRow++){
|
|
372
377
|
for(let visualColumn = topLeft.col; visualColumn <= bottomRight.col; visualColumn++){
|
|
373
|
-
const cellMeta = hotInstance.
|
|
378
|
+
const cellMeta = hotInstance.getCellMetaTransient(visualRow, visualColumn);
|
|
374
379
|
/* eslint-disable no-continue */ if (cellMeta.readOnly) {
|
|
375
380
|
continue;
|
|
376
381
|
}
|
|
@@ -469,7 +474,7 @@ checkboxRenderer.RENDERER_TYPE = RENDERER_TYPE;
|
|
|
469
474
|
}
|
|
470
475
|
const row = Number.parseInt(target.getAttribute(ATTR_ROW), 10);
|
|
471
476
|
const col = Number.parseInt(target.getAttribute(ATTR_COLUMN), 10);
|
|
472
|
-
const cellProperties = instance.
|
|
477
|
+
const cellProperties = instance.getCellMetaTransient(row, col);
|
|
473
478
|
if (cellProperties.readOnly) {
|
|
474
479
|
event.preventDefault();
|
|
475
480
|
}
|
|
@@ -489,7 +494,7 @@ checkboxRenderer.RENDERER_TYPE = RENDERER_TYPE;
|
|
|
489
494
|
}
|
|
490
495
|
const row = Number.parseInt(target.getAttribute(ATTR_ROW), 10);
|
|
491
496
|
const col = Number.parseInt(target.getAttribute(ATTR_COLUMN), 10);
|
|
492
|
-
const cellProperties = instance.
|
|
497
|
+
const cellProperties = instance.getCellMetaTransient(row, col);
|
|
493
498
|
if (!cellProperties.readOnly) {
|
|
494
499
|
let newCheckboxValue = null;
|
|
495
500
|
if (target.checked) {
|
|
@@ -212,7 +212,12 @@ Hooks.getSingleton().add('modifyAutoColumnSizeSeed', function(_bundleSeed, cellM
|
|
|
212
212
|
}
|
|
213
213
|
for(let visualRow = startRow; visualRow <= endRow; visualRow += 1){
|
|
214
214
|
for(let visualColumn = startColumn; visualColumn <= endColumn; visualColumn += 1){
|
|
215
|
-
|
|
215
|
+
// The transient read keeps a toggle over a large selection (for example, a whole
|
|
216
|
+
// column) from permanently materializing one meta object per selected cell. The
|
|
217
|
+
// default-template writes below may land on a throwaway object - the render path
|
|
218
|
+
// re-applies the same defaults on every draw, and all reads in this loop happen on
|
|
219
|
+
// this same object.
|
|
220
|
+
const cachedCellProperties = hotInstance.getCellMetaTransient(visualRow, visualColumn);
|
|
216
221
|
/* eslint-disable no-continue */ if (cachedCellProperties.hidden) {
|
|
217
222
|
continue;
|
|
218
223
|
}
|
|
@@ -358,7 +363,7 @@ Hooks.getSingleton().add('modifyAutoColumnSizeSeed', function(_bundleSeed, cellM
|
|
|
358
363
|
}
|
|
359
364
|
for(let visualRow = topLeft.row; visualRow <= bottomRight.row; visualRow++){
|
|
360
365
|
for(let visualColumn = topLeft.col; visualColumn <= bottomRight.col; visualColumn++){
|
|
361
|
-
const cellMeta = hotInstance.
|
|
366
|
+
const cellMeta = hotInstance.getCellMetaTransient(visualRow, visualColumn);
|
|
362
367
|
/* eslint-disable no-continue */ if (cellMeta.readOnly) {
|
|
363
368
|
continue;
|
|
364
369
|
}
|
|
@@ -457,7 +462,7 @@ checkboxRenderer.RENDERER_TYPE = RENDERER_TYPE;
|
|
|
457
462
|
}
|
|
458
463
|
const row = Number.parseInt(target.getAttribute(ATTR_ROW), 10);
|
|
459
464
|
const col = Number.parseInt(target.getAttribute(ATTR_COLUMN), 10);
|
|
460
|
-
const cellProperties = instance.
|
|
465
|
+
const cellProperties = instance.getCellMetaTransient(row, col);
|
|
461
466
|
if (cellProperties.readOnly) {
|
|
462
467
|
event.preventDefault();
|
|
463
468
|
}
|
|
@@ -477,7 +482,7 @@ checkboxRenderer.RENDERER_TYPE = RENDERER_TYPE;
|
|
|
477
482
|
}
|
|
478
483
|
const row = Number.parseInt(target.getAttribute(ATTR_ROW), 10);
|
|
479
484
|
const col = Number.parseInt(target.getAttribute(ATTR_COLUMN), 10);
|
|
480
|
-
const cellProperties = instance.
|
|
485
|
+
const cellProperties = instance.getCellMetaTransient(row, col);
|
|
481
486
|
if (!cellProperties.readOnly) {
|
|
482
487
|
let newCheckboxValue = null;
|
|
483
488
|
if (target.checked) {
|
package/renderers/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { checkboxRenderer, RENDERER_TYPE as CHECKBOX_RENDERER } from './checkbox
|
|
|
6
6
|
import { handsontableRenderer, RENDERER_TYPE as HANDSONTABLE_RENDERER } from './handsontableRenderer';
|
|
7
7
|
import { htmlRenderer, RENDERER_TYPE as HTML_RENDERER } from './htmlRenderer';
|
|
8
8
|
import { intlDateRenderer, RENDERER_TYPE as INTL_DATE_RENDERER } from './intlDateRenderer';
|
|
9
|
+
import { intlDatetimeRenderer, RENDERER_TYPE as INTL_DATETIME_RENDERER } from './intlDatetimeRenderer';
|
|
9
10
|
import { intlTimeRenderer, RENDERER_TYPE as INTL_TIME_RENDERER } from './intlTimeRenderer';
|
|
10
11
|
import { numericRenderer, RENDERER_TYPE as NUMERIC_RENDERER } from './numericRenderer';
|
|
11
12
|
import { passwordRenderer, RENDERER_TYPE as PASSWORD_RENDERER } from './passwordRenderer';
|
|
@@ -17,10 +18,10 @@ import { dateRenderer, RENDERER_TYPE as DATE_RENDERER } from './dateRenderer';
|
|
|
17
18
|
* Registers all available renderers.
|
|
18
19
|
*/
|
|
19
20
|
export declare function registerAllRenderers(): void;
|
|
20
|
-
export { autocompleteRenderer, AUTOCOMPLETE_RENDERER, baseRenderer, BASE_RENDERER, dropdownRenderer, DROPDOWN_RENDERER, checkboxRenderer, CHECKBOX_RENDERER, handsontableRenderer, HANDSONTABLE_RENDERER, htmlRenderer, HTML_RENDERER, intlDateRenderer, INTL_DATE_RENDERER, intlTimeRenderer, INTL_TIME_RENDERER, numericRenderer, NUMERIC_RENDERER, passwordRenderer, PASSWORD_RENDERER, selectRenderer, SELECT_RENDERER, textRenderer, TEXT_RENDERER, timeRenderer, TIME_RENDERER, dateRenderer, DATE_RENDERER, };
|
|
21
|
+
export { autocompleteRenderer, AUTOCOMPLETE_RENDERER, baseRenderer, BASE_RENDERER, dropdownRenderer, DROPDOWN_RENDERER, checkboxRenderer, CHECKBOX_RENDERER, handsontableRenderer, HANDSONTABLE_RENDERER, htmlRenderer, HTML_RENDERER, intlDateRenderer, INTL_DATE_RENDERER, intlDatetimeRenderer, INTL_DATETIME_RENDERER, intlTimeRenderer, INTL_TIME_RENDERER, numericRenderer, NUMERIC_RENDERER, passwordRenderer, PASSWORD_RENDERER, selectRenderer, SELECT_RENDERER, textRenderer, TEXT_RENDERER, timeRenderer, TIME_RENDERER, dateRenderer, DATE_RENDERER, };
|
|
21
22
|
export { getRegisteredRendererNames, getRegisteredRenderers, getRenderer, hasRenderer, registerRenderer, } from './registry';
|
|
22
23
|
export { rendererFactory } from './factory';
|
|
23
24
|
/**
|
|
24
25
|
* All built-in renderer type names.
|
|
25
26
|
*/
|
|
26
|
-
export type RendererType = typeof AUTOCOMPLETE_RENDERER | typeof BASE_RENDERER | typeof CHECKBOX_RENDERER | typeof DROPDOWN_RENDERER | typeof HANDSONTABLE_RENDERER | typeof HTML_RENDERER | typeof INTL_DATE_RENDERER | typeof INTL_TIME_RENDERER | typeof NUMERIC_RENDERER | typeof PASSWORD_RENDERER | typeof SELECT_RENDERER | typeof TEXT_RENDERER | typeof TIME_RENDERER | typeof DATE_RENDERER | string;
|
|
27
|
+
export type RendererType = typeof AUTOCOMPLETE_RENDERER | typeof BASE_RENDERER | typeof CHECKBOX_RENDERER | typeof DROPDOWN_RENDERER | typeof HANDSONTABLE_RENDERER | typeof HTML_RENDERER | typeof INTL_DATE_RENDERER | typeof INTL_DATETIME_RENDERER | typeof INTL_TIME_RENDERER | typeof NUMERIC_RENDERER | typeof PASSWORD_RENDERER | typeof SELECT_RENDERER | typeof TEXT_RENDERER | typeof TIME_RENDERER | typeof DATE_RENDERER | string;
|
package/renderers/index.js
CHANGED
|
@@ -30,6 +30,9 @@ _export(exports, {
|
|
|
30
30
|
get HTML_RENDERER () {
|
|
31
31
|
return _htmlRenderer.RENDERER_TYPE;
|
|
32
32
|
},
|
|
33
|
+
get INTL_DATETIME_RENDERER () {
|
|
34
|
+
return _intlDatetimeRenderer.RENDERER_TYPE;
|
|
35
|
+
},
|
|
33
36
|
get INTL_DATE_RENDERER () {
|
|
34
37
|
return _intlDateRenderer.RENDERER_TYPE;
|
|
35
38
|
},
|
|
@@ -87,6 +90,9 @@ _export(exports, {
|
|
|
87
90
|
get intlDateRenderer () {
|
|
88
91
|
return _intlDateRenderer.intlDateRenderer;
|
|
89
92
|
},
|
|
93
|
+
get intlDatetimeRenderer () {
|
|
94
|
+
return _intlDatetimeRenderer.intlDatetimeRenderer;
|
|
95
|
+
},
|
|
90
96
|
get intlTimeRenderer () {
|
|
91
97
|
return _intlTimeRenderer.intlTimeRenderer;
|
|
92
98
|
},
|
|
@@ -122,6 +128,7 @@ const _checkboxRenderer = require("./checkboxRenderer");
|
|
|
122
128
|
const _handsontableRenderer = require("./handsontableRenderer");
|
|
123
129
|
const _htmlRenderer = require("./htmlRenderer");
|
|
124
130
|
const _intlDateRenderer = require("./intlDateRenderer");
|
|
131
|
+
const _intlDatetimeRenderer = require("./intlDatetimeRenderer");
|
|
125
132
|
const _intlTimeRenderer = require("./intlTimeRenderer");
|
|
126
133
|
const _numericRenderer = require("./numericRenderer");
|
|
127
134
|
const _passwordRenderer = require("./passwordRenderer");
|
|
@@ -139,6 +146,7 @@ function registerAllRenderers() {
|
|
|
139
146
|
(0, _registry.registerRenderer)(_handsontableRenderer.handsontableRenderer);
|
|
140
147
|
(0, _registry.registerRenderer)(_htmlRenderer.htmlRenderer);
|
|
141
148
|
(0, _registry.registerRenderer)(_intlDateRenderer.intlDateRenderer);
|
|
149
|
+
(0, _registry.registerRenderer)(_intlDatetimeRenderer.intlDatetimeRenderer);
|
|
142
150
|
(0, _registry.registerRenderer)(_intlTimeRenderer.intlTimeRenderer);
|
|
143
151
|
(0, _registry.registerRenderer)(_numericRenderer.numericRenderer);
|
|
144
152
|
(0, _registry.registerRenderer)(_passwordRenderer.passwordRenderer);
|
package/renderers/index.mjs
CHANGED
|
@@ -5,6 +5,7 @@ import { checkboxRenderer, RENDERER_TYPE as CHECKBOX_RENDERER } from './checkbox
|
|
|
5
5
|
import { handsontableRenderer, RENDERER_TYPE as HANDSONTABLE_RENDERER } from './handsontableRenderer/index.mjs';
|
|
6
6
|
import { htmlRenderer, RENDERER_TYPE as HTML_RENDERER } from './htmlRenderer/index.mjs';
|
|
7
7
|
import { intlDateRenderer, RENDERER_TYPE as INTL_DATE_RENDERER } from './intlDateRenderer/index.mjs';
|
|
8
|
+
import { intlDatetimeRenderer, RENDERER_TYPE as INTL_DATETIME_RENDERER } from './intlDatetimeRenderer/index.mjs';
|
|
8
9
|
import { intlTimeRenderer, RENDERER_TYPE as INTL_TIME_RENDERER } from './intlTimeRenderer/index.mjs';
|
|
9
10
|
import { numericRenderer, RENDERER_TYPE as NUMERIC_RENDERER } from './numericRenderer/index.mjs';
|
|
10
11
|
import { passwordRenderer, RENDERER_TYPE as PASSWORD_RENDERER } from './passwordRenderer/index.mjs';
|
|
@@ -23,6 +24,7 @@ import { registerRenderer } from './registry.mjs';
|
|
|
23
24
|
registerRenderer(handsontableRenderer);
|
|
24
25
|
registerRenderer(htmlRenderer);
|
|
25
26
|
registerRenderer(intlDateRenderer);
|
|
27
|
+
registerRenderer(intlDatetimeRenderer);
|
|
26
28
|
registerRenderer(intlTimeRenderer);
|
|
27
29
|
registerRenderer(numericRenderer);
|
|
28
30
|
registerRenderer(passwordRenderer);
|
|
@@ -31,6 +33,6 @@ import { registerRenderer } from './registry.mjs';
|
|
|
31
33
|
registerRenderer(timeRenderer);
|
|
32
34
|
registerRenderer(dateRenderer);
|
|
33
35
|
}
|
|
34
|
-
export { autocompleteRenderer, AUTOCOMPLETE_RENDERER, baseRenderer, BASE_RENDERER, dropdownRenderer, DROPDOWN_RENDERER, checkboxRenderer, CHECKBOX_RENDERER, handsontableRenderer, HANDSONTABLE_RENDERER, htmlRenderer, HTML_RENDERER, intlDateRenderer, INTL_DATE_RENDERER, intlTimeRenderer, INTL_TIME_RENDERER, numericRenderer, NUMERIC_RENDERER, passwordRenderer, PASSWORD_RENDERER, selectRenderer, SELECT_RENDERER, textRenderer, TEXT_RENDERER, timeRenderer, TIME_RENDERER, dateRenderer, DATE_RENDERER };
|
|
36
|
+
export { autocompleteRenderer, AUTOCOMPLETE_RENDERER, baseRenderer, BASE_RENDERER, dropdownRenderer, DROPDOWN_RENDERER, checkboxRenderer, CHECKBOX_RENDERER, handsontableRenderer, HANDSONTABLE_RENDERER, htmlRenderer, HTML_RENDERER, intlDateRenderer, INTL_DATE_RENDERER, intlDatetimeRenderer, INTL_DATETIME_RENDERER, intlTimeRenderer, INTL_TIME_RENDERER, numericRenderer, NUMERIC_RENDERER, passwordRenderer, PASSWORD_RENDERER, selectRenderer, SELECT_RENDERER, textRenderer, TEXT_RENDERER, timeRenderer, TIME_RENDERER, dateRenderer, DATE_RENDERER };
|
|
35
37
|
export { getRegisteredRendererNames, getRegisteredRenderers, getRenderer, hasRenderer, registerRenderer } from './registry.mjs';
|
|
36
38
|
export { rendererFactory } from './factory.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './index.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RENDERER_TYPE, intlDatetimeRenderer, valueFormatter, } from './intlDatetimeRenderer';
|
|
@@ -0,0 +1,22 @@
|
|
|
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 RENDERER_TYPE () {
|
|
13
|
+
return _intlDatetimeRenderer.RENDERER_TYPE;
|
|
14
|
+
},
|
|
15
|
+
get intlDatetimeRenderer () {
|
|
16
|
+
return _intlDatetimeRenderer.intlDatetimeRenderer;
|
|
17
|
+
},
|
|
18
|
+
get valueFormatter () {
|
|
19
|
+
return _intlDatetimeRenderer.valueFormatter;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const _intlDatetimeRenderer = require("./intlDatetimeRenderer");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RENDERER_TYPE, intlDatetimeRenderer, valueFormatter } from './intlDatetimeRenderer.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './intlDatetimeRenderer.js';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const RENDERER_TYPE: 'intl-datetime';
|
|
2
|
+
type CellProperties = Record<string, unknown> & {
|
|
3
|
+
dateTimeFormat?: Intl.DateTimeFormatOptions;
|
|
4
|
+
locale?: string;
|
|
5
|
+
allowEmpty?: boolean;
|
|
6
|
+
instance?: object;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Formats a date-time value using Intl.DateTimeFormat.
|
|
10
|
+
*
|
|
11
|
+
* @param {unknown} value The raw ISO date-time value.
|
|
12
|
+
* @param {CellProperties} cellProperties The cell meta object.
|
|
13
|
+
* @returns {unknown} The formatted date-time string, or a placeholder for empty/invalid values.
|
|
14
|
+
*/
|
|
15
|
+
export declare function valueFormatter(value: unknown, cellProperties: CellProperties): unknown;
|
|
16
|
+
type HotInstance = Record<string, unknown>;
|
|
17
|
+
/**
|
|
18
|
+
* The intl-datetime renderer function interface.
|
|
19
|
+
*/
|
|
20
|
+
export interface IntlDatetimeRendererFn {
|
|
21
|
+
(this: unknown, hotInstance: HotInstance, TD: HTMLTableCellElement, row: number, col: number, prop: string | number, value: unknown, cellProperties: CellProperties): void;
|
|
22
|
+
RENDERER_TYPE: string;
|
|
23
|
+
valueFormatter: typeof valueFormatter;
|
|
24
|
+
}
|
|
25
|
+
export declare const intlDatetimeRenderer: IntlDatetimeRendererFn;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,82 @@
|
|
|
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 RENDERER_TYPE () {
|
|
13
|
+
return RENDERER_TYPE;
|
|
14
|
+
},
|
|
15
|
+
get intlDatetimeRenderer () {
|
|
16
|
+
return intlDatetimeRenderer;
|
|
17
|
+
},
|
|
18
|
+
get valueFormatter () {
|
|
19
|
+
return valueFormatter;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const _textRenderer = require("../textRenderer");
|
|
23
|
+
const _mixed = require("../../helpers/mixed");
|
|
24
|
+
const _object = require("../../helpers/object");
|
|
25
|
+
const _constants = require("../../helpers/constants");
|
|
26
|
+
const _dateTime = require("../../helpers/dateTime");
|
|
27
|
+
const _console = require("../../helpers/console");
|
|
28
|
+
const RENDERER_TYPE = 'intl-datetime';
|
|
29
|
+
const DEFAULT_INTL_FORMAT = {
|
|
30
|
+
year: 'numeric',
|
|
31
|
+
month: '2-digit',
|
|
32
|
+
day: '2-digit',
|
|
33
|
+
hour: '2-digit',
|
|
34
|
+
minute: '2-digit',
|
|
35
|
+
second: '2-digit',
|
|
36
|
+
hour12: false
|
|
37
|
+
};
|
|
38
|
+
const stringFormatWarnShown = new WeakSet();
|
|
39
|
+
function valueFormatter(value, cellProperties) {
|
|
40
|
+
const { dateTimeFormat, locale, allowEmpty, instance } = cellProperties;
|
|
41
|
+
if ((0, _mixed.isEmpty)(value)) {
|
|
42
|
+
return allowEmpty ? value : _constants.BAD_VALUE_TEXT;
|
|
43
|
+
}
|
|
44
|
+
if (typeof dateTimeFormat === 'string') {
|
|
45
|
+
if (instance && !stringFormatWarnShown.has(instance)) {
|
|
46
|
+
stringFormatWarnShown.add(instance);
|
|
47
|
+
(0, _console.warn)('The dateTimeFormat option as a string is not supported. Use an Intl.DateTimeFormatOptions object instead.');
|
|
48
|
+
}
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
51
|
+
const date = (0, _dateTime.parseToLocalDateTime)(value);
|
|
52
|
+
if (date === null) {
|
|
53
|
+
return _constants.BAD_VALUE_TEXT;
|
|
54
|
+
}
|
|
55
|
+
const intlFormat = (0, _object.isObject)(dateTimeFormat) ? dateTimeFormat : DEFAULT_INTL_FORMAT;
|
|
56
|
+
return new Intl.DateTimeFormat(locale, intlFormat).format(date);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Intl-based date-time renderer.
|
|
60
|
+
*
|
|
61
|
+
* @private
|
|
62
|
+
* @param {Core} hotInstance The Handsontable instance.
|
|
63
|
+
* @param {HTMLTableCellElement} TD The rendered cell element.
|
|
64
|
+
* @param {number} row The visual row index.
|
|
65
|
+
* @param {number} col The visual column index.
|
|
66
|
+
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
|
67
|
+
* @param {*} value The rendered value.
|
|
68
|
+
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
|
|
69
|
+
*/ function _intlDatetimeRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
|
|
70
|
+
_textRenderer.textRenderer.apply(this, [
|
|
71
|
+
hotInstance,
|
|
72
|
+
TD,
|
|
73
|
+
row,
|
|
74
|
+
col,
|
|
75
|
+
prop,
|
|
76
|
+
value,
|
|
77
|
+
cellProperties
|
|
78
|
+
]);
|
|
79
|
+
}
|
|
80
|
+
_intlDatetimeRenderer.valueFormatter = valueFormatter;
|
|
81
|
+
_intlDatetimeRenderer.RENDERER_TYPE = RENDERER_TYPE;
|
|
82
|
+
const intlDatetimeRenderer = _intlDatetimeRenderer;
|