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
|
@@ -48,15 +48,17 @@ function _class_private_method_init(obj, privateSet) {
|
|
|
48
48
|
_check_private_redeclaration(obj, privateSet);
|
|
49
49
|
privateSet.add(obj);
|
|
50
50
|
}
|
|
51
|
-
import { arrayMap
|
|
51
|
+
import { arrayMap } from '../../../helpers/array.mjs';
|
|
52
52
|
import SourceSettings from './sourceSettings.mjs';
|
|
53
53
|
import HeadersTree from './headersTree.mjs';
|
|
54
54
|
import { triggerNodeModification } from './nodeModifiers/index.mjs';
|
|
55
55
|
import { isDeclarativeGroup } from './nodeModifiers/utils/tree.mjs';
|
|
56
56
|
import { generateMatrix } from './matrixGenerator.mjs';
|
|
57
57
|
import { syncVisibilityOnTree } from './syncVisibility.mjs';
|
|
58
|
+
import { deriveVisualSettings, computeOwnerIndex, resolveOwnerKey } from './deriveSettings.mjs';
|
|
59
|
+
import { createIdentityColumnArrangement } from './columnArrangement.mjs';
|
|
58
60
|
import { TRAVERSAL_DF_PRE } from '../../../utils/dataStructures/tree.mjs';
|
|
59
|
-
var _sourceSettings = /*#__PURE__*/ new WeakMap(), _headersTree = /*#__PURE__*/ new WeakMap(), /**
|
|
61
|
+
var _sourceSettings = /*#__PURE__*/ new WeakMap(), _derivedSettings = /*#__PURE__*/ new WeakMap(), _headersTree = /*#__PURE__*/ new WeakMap(), /**
|
|
60
62
|
* Cached matrix which is generated from the tree structure.
|
|
61
63
|
*
|
|
62
64
|
* @private
|
|
@@ -65,6 +67,33 @@ var _sourceSettings = /*#__PURE__*/ new WeakMap(), _headersTree = /*#__PURE__*/
|
|
|
65
67
|
* The last column-visibility adapter passed to syncVisibility(). Stored so that
|
|
66
68
|
* mapState()/mergeStateWith() can re-apply it after rebuilding the tree.
|
|
67
69
|
*/ _lastColumnVisibility = /*#__PURE__*/ new WeakMap(), /**
|
|
70
|
+
* The column arrangement the headers tree is derived against. When null, an identity arrangement
|
|
71
|
+
* (visual equals physical) is used, which reproduces the authored structure. The plugin sets a
|
|
72
|
+
* live adapter so the structure follows column moves.
|
|
73
|
+
*/ _columnArrangement = /*#__PURE__*/ new WeakMap(), /**
|
|
74
|
+
* Per-column membership overrides set by column moves (`physical -> level -> owner identity`). They
|
|
75
|
+
* re-parent a moved column into the cohesive (`columnDropMode: 'adopt'`) group it was dropped inside, or
|
|
76
|
+
* mark it standalone when it left its group - the piece a pure derive cannot infer from the final
|
|
77
|
+
* arrangement alone. Consumed by `#deriveTree`. Empty means "use the authored structure".
|
|
78
|
+
*/ _membershipOverrides = /*#__PURE__*/ new WeakMap(), /**
|
|
79
|
+
* Captures the header level and authored group identity of every currently collapsed group, so the
|
|
80
|
+
* collapsed state can be re-attached after a move re-derives the tree.
|
|
81
|
+
*
|
|
82
|
+
* @returns {Array<{headerLevel: number, authoredColumnIndex: number}>}
|
|
83
|
+
*/ _snapshotCollapsedGroups = /*#__PURE__*/ new WeakSet(), /**
|
|
84
|
+
* Re-collapses the groups captured by #snapshotCollapsedGroups() on the freshly re-derived tree,
|
|
85
|
+
* matching by authored identity. A group that maps to exactly one node stayed contiguous and is
|
|
86
|
+
* re-collapsed; a group that maps to more than one node was split by the move and is left expanded.
|
|
87
|
+
*
|
|
88
|
+
* @param {Array<{headerLevel: number, authoredColumnIndex: number}>} collapsedGroups The captured groups.
|
|
89
|
+
*/ _reapplyCollapsedGroupsByIdentity = /*#__PURE__*/ new WeakSet(), /**
|
|
90
|
+
* Finds every tree node at the given header level that was derived from the given authored owner
|
|
91
|
+
* column. More than one match means the authored group is split across non-adjacent visual columns.
|
|
92
|
+
*
|
|
93
|
+
* @param {number} headerLevel Header level index.
|
|
94
|
+
* @param {number} authoredColumnIndex The authored owner column index identifying the group.
|
|
95
|
+
* @returns {TreeNode[]} The matching nodes.
|
|
96
|
+
*/ _findNodesByAuthoredIdentity = /*#__PURE__*/ new WeakSet(), /**
|
|
68
97
|
* Rebuilds the header tree after a structural mutation while preserving the collapsed state.
|
|
69
98
|
*
|
|
70
99
|
* Visibility is derived BEFORE re-collapsing, so collapseNode picks the correct first *visible*
|
|
@@ -89,6 +118,16 @@ var _sourceSettings = /*#__PURE__*/ new WeakMap(), _headersTree = /*#__PURE__*/
|
|
|
89
118
|
* @param {Array<{headerLevel: number, columnIndex: number}>} collapsedNodes The captured nodes.
|
|
90
119
|
* @param {Function} shiftColumnIndex Maps an old visual column index to the new one.
|
|
91
120
|
*/ _reapplyCollapsedNodes = /*#__PURE__*/ new WeakSet(), /**
|
|
121
|
+
* Applies a NodeModifiers action to the tree WITHOUT regenerating the state matrix, and reports
|
|
122
|
+
* whether a node was actually modified. Callers that batch several modifications (re-applying
|
|
123
|
+
* collapse after a re-derive) use this and regenerate the matrix once at the end, instead of paying
|
|
124
|
+
* a full whole-matrix regeneration per modified node.
|
|
125
|
+
*
|
|
126
|
+
* @param {string} action An action name to trigger.
|
|
127
|
+
* @param {number} headerLevel Header level index.
|
|
128
|
+
* @param {number} columnIndex A visual column index.
|
|
129
|
+
* @returns {{ actionResult: NodeModificationResult|undefined, modified: boolean }}
|
|
130
|
+
*/ _applyNodeModification = /*#__PURE__*/ new WeakSet(), /**
|
|
92
131
|
* Re-applies the last column visibility adapter after a tree rebuild, so that mapState() and
|
|
93
132
|
* mergeStateWith() calls from CollapsibleColumns do not discard visibility state set earlier.
|
|
94
133
|
* The collapsed state is restored separately by #rebuildPreservingCollapse re-running the collapse.
|
|
@@ -96,7 +135,36 @@ var _sourceSettings = /*#__PURE__*/ new WeakMap(), _headersTree = /*#__PURE__*/
|
|
|
96
135
|
* Re-derives tree-node visibility (colspan, isHidden, crossHiddenColumns) from the last column
|
|
97
136
|
* visibility adapter WITHOUT regenerating the state matrix. Used as the first pass of
|
|
98
137
|
* #rebuildPreservingCollapse, where the matrix would be immediately discarded by re-collapsing.
|
|
99
|
-
*/ _deriveVisibility = /*#__PURE__*/ new WeakSet()
|
|
138
|
+
*/ _deriveVisibility = /*#__PURE__*/ new WeakSet(), /**
|
|
139
|
+
* Derives the visual-order settings from the authored source settings, then builds the headers
|
|
140
|
+
* tree from them. The headers tree is therefore always a function of the authored configuration
|
|
141
|
+
* and the current column arrangement. With the identity arrangement the derived settings equal the
|
|
142
|
+
* authored ones, so the built tree is identical to building directly from the authored settings; a
|
|
143
|
+
* non-identity arrangement (a column move) makes the structure follow the data.
|
|
144
|
+
*/ _deriveTree = /*#__PURE__*/ new WeakSet(), /**
|
|
145
|
+
* Resolves the owner a moved column takes at an enclosing level (at or outside its cohesive adoption
|
|
146
|
+
* level), so the adopted column is contained by the same group its visual neighbors belong to. Uses
|
|
147
|
+
* the neighbors' shared effective owner when they agree (which keeps the run contiguous, never
|
|
148
|
+
* straddling), and otherwise falls back to the authored ancestor of the adopted group's anchor.
|
|
149
|
+
*
|
|
150
|
+
* @param {number} visualColumn - The column's post-move visual index.
|
|
151
|
+
* @param {number} level - The enclosing header level.
|
|
152
|
+
* @param {Function} enclosingOwnerAt - Resolves the owner shared by both neighbors, or -1.
|
|
153
|
+
* @param {Function} authoredOwnerAt - Resolves the authored owner of a (visual, level).
|
|
154
|
+
* @param {number[][]} ownerIndexByLevel - The authored owner column index per (level, column).
|
|
155
|
+
* @returns {number} The owner identity the column takes at this level.
|
|
156
|
+
*/ _adoptedAncestorOwner = /*#__PURE__*/ new WeakSet(), /**
|
|
157
|
+
* Clears all move-driven membership overrides. Call when the authored structure changes - a fresh
|
|
158
|
+
* config (setState) or an index-shifting insert/remove - because the overrides are keyed by physical
|
|
159
|
+
* column and their owner identities index the authored structure, both invalidated by such a change.
|
|
160
|
+
*/ _resetMembershipOverrides = /*#__PURE__*/ new WeakSet(), /**
|
|
161
|
+
* Records or clears one membership override.
|
|
162
|
+
*
|
|
163
|
+
* @param {number} physical - The physical column index.
|
|
164
|
+
* @param {number} level - The header level.
|
|
165
|
+
* @param {number|null} identity - The owner identity to record (`>= 0` group, `< 0` standalone), or
|
|
166
|
+
* `null` to clear it (fall back to the authored structure).
|
|
167
|
+
*/ _setMembershipOverride = /*#__PURE__*/ new WeakSet();
|
|
100
168
|
class StateManager {
|
|
101
169
|
/**
|
|
102
170
|
* Sets a new state for the nested headers plugin based on settings passed
|
|
@@ -106,11 +174,15 @@ class StateManager {
|
|
|
106
174
|
* @returns {boolean} Returns `true` if the settings are processed correctly, `false` otherwise.
|
|
107
175
|
*/ setState(nestedHeadersSettings) {
|
|
108
176
|
_class_private_field_get(this, _sourceSettings).setData(nestedHeadersSettings);
|
|
177
|
+
// A fresh authored configuration invalidates move-driven membership overrides (their owner
|
|
178
|
+
// identities index the previous structure), so reset them.
|
|
179
|
+
_class_private_method_get(this, _resetMembershipOverrides, resetMembershipOverrides).call(this);
|
|
109
180
|
let hasError = false;
|
|
110
181
|
try {
|
|
111
|
-
|
|
182
|
+
_class_private_method_get(this, _deriveTree, deriveTree).call(this);
|
|
112
183
|
} catch (ex) {
|
|
113
184
|
_class_private_field_get(this, _headersTree).clear();
|
|
185
|
+
_class_private_field_get(this, _derivedSettings).clear();
|
|
114
186
|
_class_private_field_get(this, _sourceSettings).clear();
|
|
115
187
|
hasError = true;
|
|
116
188
|
}
|
|
@@ -125,6 +197,32 @@ class StateManager {
|
|
|
125
197
|
_class_private_field_get(this, _sourceSettings).setColumnsLimit(columnsCount);
|
|
126
198
|
}
|
|
127
199
|
/**
|
|
200
|
+
* Sets the column arrangement the headers tree is derived against. Pass a live adapter (backed by
|
|
201
|
+
* the column index mapper) so the rendered structure follows column moves, or `null` to fall back
|
|
202
|
+
* to the identity arrangement (authored structure). Does not rebuild on its own - call
|
|
203
|
+
* `rebuildState()` (or any structural mutation) to re-derive the tree.
|
|
204
|
+
*
|
|
205
|
+
* @param {ColumnArrangement|null} columnArrangement The arrangement to derive against, or null.
|
|
206
|
+
*/ setColumnArrangement(columnArrangement) {
|
|
207
|
+
_class_private_field_set(this, _columnArrangement, columnArrangement);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Re-derives the headers tree from the current authored settings and column arrangement, preserving
|
|
211
|
+
* the collapsed state and re-applying visibility. Call this when only the arrangement changed (a
|
|
212
|
+
* column move) and no structural mutation of the authored settings is needed.
|
|
213
|
+
*
|
|
214
|
+
* Collapse is re-attached by authored group identity (not visual column index, which the move just
|
|
215
|
+
* changed): a group that stayed contiguous is re-collapsed at its new position; a group split apart
|
|
216
|
+
* by the move auto-expands (its collapse is dropped), since a non-contiguous group cannot stay
|
|
217
|
+
* collapsed coherently.
|
|
218
|
+
*/ rebuildState() {
|
|
219
|
+
const collapsedGroups = _class_private_method_get(this, _snapshotCollapsedGroups, snapshotCollapsedGroups).call(this);
|
|
220
|
+
_class_private_method_get(this, _deriveTree, deriveTree).call(this);
|
|
221
|
+
_class_private_method_get(this, _deriveVisibility, deriveVisibility).call(this);
|
|
222
|
+
_class_private_method_get(this, _reapplyCollapsedGroupsByIdentity, reapplyCollapsedGroupsByIdentity).call(this, collapsedGroups);
|
|
223
|
+
_class_private_method_get(this, _applySyncVisibility, applySyncVisibility).call(this);
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
128
226
|
* Merges settings with current plugin state.
|
|
129
227
|
*
|
|
130
228
|
* @param {object[]} settings An array of objects to merge with the current source settings.
|
|
@@ -147,30 +245,51 @@ class StateManager {
|
|
|
147
245
|
_class_private_method_get(this, _rebuildPreservingCollapse, rebuildPreservingCollapse).call(this, ()=>_class_private_field_get(this, _sourceSettings).map(callback), (columnIndex)=>columnIndex);
|
|
148
246
|
}
|
|
149
247
|
/**
|
|
150
|
-
* Inserts `amount` columns into the source settings
|
|
151
|
-
*
|
|
152
|
-
*
|
|
248
|
+
* Inserts `amount` columns into the source settings, then rebuilds the tree and re-derives
|
|
249
|
+
* visibility. Headers spanning the insertion point are extended; columns inserted at a header
|
|
250
|
+
* boundary become standalone headers.
|
|
251
|
+
*
|
|
252
|
+
* The authored source settings are keyed by physical column, while the collapsed state is keyed by
|
|
253
|
+
* visual column - so the insertion takes both indexes. They are equal when no column move is active;
|
|
254
|
+
* after a move they differ, and using each in its own space keeps headers and collapse aligned.
|
|
153
255
|
*
|
|
154
|
-
* @param {number}
|
|
256
|
+
* @param {number} visualColumnIndex The visual index the columns were inserted at (collapse space).
|
|
257
|
+
* @param {number} physicalColumnIndex The physical index the columns were inserted at (source space).
|
|
155
258
|
* @param {number} amount The number of columns to insert.
|
|
156
|
-
*/ insertColumns(
|
|
157
|
-
|
|
259
|
+
*/ insertColumns(visualColumnIndex, physicalColumnIndex, amount) {
|
|
260
|
+
// An index-shifting structural change invalidates move-driven membership overrides (keyed by
|
|
261
|
+
// physical column, with owner identities indexing the authored structure - both shifted here).
|
|
262
|
+
_class_private_method_get(this, _resetMembershipOverrides, resetMembershipOverrides).call(this);
|
|
263
|
+
_class_private_method_get(this, _rebuildPreservingCollapse, rebuildPreservingCollapse).call(this, ()=>_class_private_field_get(this, _sourceSettings).insertColumns(physicalColumnIndex, amount), (c)=>c >= visualColumnIndex ? c + amount : c);
|
|
158
264
|
}
|
|
159
265
|
/**
|
|
160
|
-
* Removes
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
266
|
+
* Removes the given columns from the source settings, then rebuilds the tree and re-derives
|
|
267
|
+
* visibility. Headers overlapping the removed columns are shrunk, re-anchored, or dropped when they
|
|
268
|
+
* lose all their columns.
|
|
269
|
+
*
|
|
270
|
+
* The removed columns are identified by physical index (authored source settings are physical-keyed)
|
|
271
|
+
* and may be non-contiguous after a column move; they are removed highest-index-first so the lower
|
|
272
|
+
* indexes stay valid. The collapsed state is shifted in visual space, which an insert/remove always
|
|
273
|
+
* changes the same way regardless of any active move.
|
|
274
|
+
*
|
|
275
|
+
* @param {number} visualColumnIndex The visual index the columns were removed from (collapse space).
|
|
276
|
+
* @param {number} amount The number of columns removed (length of `physicalColumns`).
|
|
277
|
+
* @param {number[]} physicalColumns The physical indexes of the removed columns (source space).
|
|
278
|
+
*/ removeColumns(visualColumnIndex, amount, physicalColumns) {
|
|
279
|
+
const endIndex = visualColumnIndex + amount;
|
|
280
|
+
// An index-shifting structural change invalidates move-driven membership overrides (keyed by
|
|
281
|
+
// physical column, with owner identities indexing the authored structure - both shifted here).
|
|
282
|
+
_class_private_method_get(this, _resetMembershipOverrides, resetMembershipOverrides).call(this);
|
|
283
|
+
_class_private_method_get(this, _rebuildPreservingCollapse, rebuildPreservingCollapse).call(this, ()=>{
|
|
284
|
+
[
|
|
285
|
+
...physicalColumns
|
|
286
|
+
].sort((a, b)=>b - a).forEach((physicalColumn)=>_class_private_field_get(this, _sourceSettings).removeColumns(physicalColumn, 1));
|
|
287
|
+
}, (c)=>{
|
|
288
|
+
if (c < visualColumnIndex) {
|
|
170
289
|
return c;
|
|
171
290
|
}
|
|
172
291
|
// The anchor column was removed but the group may survive - re-anchor to the range start.
|
|
173
|
-
return c >= endIndex ? c - amount :
|
|
292
|
+
return c >= endIndex ? c - amount : visualColumnIndex;
|
|
174
293
|
});
|
|
175
294
|
}
|
|
176
295
|
/**
|
|
@@ -179,15 +298,18 @@ class StateManager {
|
|
|
179
298
|
* @param {Function} callback A function that is called for every tree node.
|
|
180
299
|
* @returns {Array}
|
|
181
300
|
*/ mapNodes(callback) {
|
|
182
|
-
|
|
301
|
+
const results = [];
|
|
302
|
+
// getRoots() returns TreeNode<HeaderNodeData>, so node.data is already HeaderNodeData here - the
|
|
303
|
+
// previous `as TreeNode`/`as unknown[]` casts only threw that type away. Walk and collect directly.
|
|
304
|
+
_class_private_field_get(this, _headersTree).getRoots().forEach((rootNode)=>{
|
|
183
305
|
rootNode.walkDown((node)=>{
|
|
184
306
|
const result = callback(node.data);
|
|
185
307
|
if (result !== undefined) {
|
|
186
|
-
|
|
308
|
+
results.push(result);
|
|
187
309
|
}
|
|
188
310
|
});
|
|
189
|
-
|
|
190
|
-
|
|
311
|
+
});
|
|
312
|
+
return results;
|
|
191
313
|
}
|
|
192
314
|
/**
|
|
193
315
|
* Triggers an action from the NodeModifiers module.
|
|
@@ -197,16 +319,11 @@ class StateManager {
|
|
|
197
319
|
* @param {number} columnIndex A visual column index.
|
|
198
320
|
* @returns {object|undefined}
|
|
199
321
|
*/ triggerNodeModification(action, headerLevel, columnIndex) {
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
}
|
|
203
|
-
const nodeToProcess = _class_private_field_get(this, _headersTree).getNode(headerLevel, columnIndex);
|
|
204
|
-
let actionResult;
|
|
205
|
-
if (nodeToProcess) {
|
|
206
|
-
actionResult = triggerNodeModification(action, nodeToProcess, columnIndex);
|
|
322
|
+
const { actionResult, modified } = _class_private_method_get(this, _applyNodeModification, applyNodeModification).call(this, action, headerLevel, columnIndex);
|
|
323
|
+
if (modified) {
|
|
207
324
|
_class_private_field_set(this, _stateMatrix, generateMatrix(_class_private_field_get(this, _headersTree).getRoots()));
|
|
208
325
|
}
|
|
209
|
-
return actionResult
|
|
326
|
+
return actionResult;
|
|
210
327
|
}
|
|
211
328
|
/**
|
|
212
329
|
* Triggers an action from the NodeModifiers module starting from the lowest header.
|
|
@@ -229,6 +346,91 @@ class StateManager {
|
|
|
229
346
|
_class_private_field_set(this, _stateMatrix, generateMatrix(_class_private_field_get(this, _headersTree).getRoots()));
|
|
230
347
|
}
|
|
231
348
|
/**
|
|
349
|
+
* Re-parents the moved columns after a column move, recording membership overrides the derive uses
|
|
350
|
+
* to keep `columnDropMode: 'adopt'` groups cohesive. Call before `rebuildState()`.
|
|
351
|
+
*
|
|
352
|
+
* For each moved column the deepest group level at which it was dropped strictly inside a cohesive
|
|
353
|
+
* group is found first. From that level outward the column joins that group's ancestor chain (the
|
|
354
|
+
* group the column visually sits inside at each enclosing level), so a splitting ancestor grows
|
|
355
|
+
* to contain the adopted column instead of the inner run straddling its boundary. At every other
|
|
356
|
+
* level (deeper than the adoption, or none found) the column keeps its group when still beside a
|
|
357
|
+
* sibling, else goes standalone. The decisions are taken from the pre-update layout, then applied,
|
|
358
|
+
* so a whole group moved together (each member adjacent to a sibling) stays intact.
|
|
359
|
+
*
|
|
360
|
+
* @param {number[]} movedVisualColumns - The post-move visual indexes of the columns that moved.
|
|
361
|
+
*/ reparentColumns(movedVisualColumns) {
|
|
362
|
+
const arrangement = _class_private_field_get(this, _columnArrangement) ?? createIdentityColumnArrangement();
|
|
363
|
+
const authoredLayers = _class_private_field_get(this, _sourceSettings).getData();
|
|
364
|
+
const layersCount = authoredLayers.length;
|
|
365
|
+
const columnsCount = layersCount > 0 ? authoredLayers[0].length : 0;
|
|
366
|
+
if (layersCount <= 1 || columnsCount === 0) {
|
|
367
|
+
return; // a single header level is all leaves - nothing to re-parent
|
|
368
|
+
}
|
|
369
|
+
const ownerIndexByLevel = authoredLayers.map((layer)=>computeOwnerIndex(layer));
|
|
370
|
+
// Effective owner = the move override if any, else the authored owner (see resolveOwnerKey).
|
|
371
|
+
const effectiveOwnerAt = (visualColumn, level)=>{
|
|
372
|
+
const physical = arrangement.getPhysicalFromVisual(visualColumn);
|
|
373
|
+
return resolveOwnerKey(physical, ownerIndexByLevel[level], _class_private_field_get(this, _membershipOverrides).get(physical)?.get(level));
|
|
374
|
+
};
|
|
375
|
+
// Authored owner ignores any override - the group the column belongs to in the authored config.
|
|
376
|
+
const authoredOwnerAt = (visualColumn, level)=>{
|
|
377
|
+
const physical = arrangement.getPhysicalFromVisual(visualColumn);
|
|
378
|
+
return resolveOwnerKey(physical, ownerIndexByLevel[level]);
|
|
379
|
+
};
|
|
380
|
+
// The columns moved together in this operation. Their mutual adjacency must be skipped when
|
|
381
|
+
// looking for the group a moved column sits inside, so a whole group dropped into another cohesive
|
|
382
|
+
// group is adopted as a block (each member's neighbor toward the block is a fellow moved column,
|
|
383
|
+
// not the surrounding group).
|
|
384
|
+
const movedSet = new Set(movedVisualColumns);
|
|
385
|
+
// The effective owner shared by the columns flanking the moved block at a level (the group the
|
|
386
|
+
// block sits strictly inside), or -1 when they differ or the block sits at an edge. Fellow moved
|
|
387
|
+
// columns are stepped over so the whole block is judged against the columns surrounding it.
|
|
388
|
+
const enclosingOwnerAt = (visualColumn, level)=>{
|
|
389
|
+
let left = visualColumn - 1;
|
|
390
|
+
let right = visualColumn + 1;
|
|
391
|
+
while(left >= 0 && movedSet.has(left)){
|
|
392
|
+
left -= 1;
|
|
393
|
+
}
|
|
394
|
+
while(right < columnsCount && movedSet.has(right)){
|
|
395
|
+
right += 1;
|
|
396
|
+
}
|
|
397
|
+
if (left < 0 || right >= columnsCount) {
|
|
398
|
+
return -1;
|
|
399
|
+
}
|
|
400
|
+
const leftOwner = effectiveOwnerAt(left, level);
|
|
401
|
+
return leftOwner === effectiveOwnerAt(right, level) && leftOwner >= 0 ? leftOwner : -1;
|
|
402
|
+
};
|
|
403
|
+
// Decide from the current layout first, then apply, so moved siblings see each other's old owner.
|
|
404
|
+
const decisions = [];
|
|
405
|
+
movedVisualColumns.forEach((visualColumn)=>{
|
|
406
|
+
const physical = arrangement.getPhysicalFromVisual(visualColumn);
|
|
407
|
+
// Deepest level at which the column was dropped strictly inside a cohesive group. The adoption
|
|
408
|
+
// there propagates outward through the group's ancestors (see #adoptedAncestorOwner).
|
|
409
|
+
let adoptionLevel = -1;
|
|
410
|
+
for(let level = 0; level < layersCount - 1; level++){
|
|
411
|
+
const enclosing = enclosingOwnerAt(visualColumn, level);
|
|
412
|
+
if (enclosing >= 0 && authoredLayers[level][enclosing]?.columnDropMode !== 'split') {
|
|
413
|
+
adoptionLevel = level;
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
for(let level = 0; level < layersCount - 1; level++){
|
|
417
|
+
const authoredOwner = authoredOwnerAt(visualColumn, level);
|
|
418
|
+
// At or inside the adoption level the column joins the cohesive group's ancestor chain;
|
|
419
|
+
// anywhere else it reverts to its authored owner, so a column moved out of a group keeps its
|
|
420
|
+
// own ancestor labels and the group renders a same-label banner over each contiguous run.
|
|
421
|
+
const target = level <= adoptionLevel ? _class_private_method_get(this, _adoptedAncestorOwner, adoptedAncestorOwner).call(this, visualColumn, level, enclosingOwnerAt, authoredOwnerAt, ownerIndexByLevel) : authoredOwner;
|
|
422
|
+
decisions.push({
|
|
423
|
+
physical,
|
|
424
|
+
level,
|
|
425
|
+
identity: target === authoredOwner ? null : target
|
|
426
|
+
});
|
|
427
|
+
}
|
|
428
|
+
});
|
|
429
|
+
decisions.forEach(({ physical, level, identity })=>{
|
|
430
|
+
_class_private_method_get(this, _setMembershipOverride, setMembershipOverride).call(this, physical, level, identity);
|
|
431
|
+
});
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
232
434
|
* @memberof StateManager#
|
|
233
435
|
* @function rowCoordsToLevel
|
|
234
436
|
*
|
|
@@ -405,11 +607,13 @@ class StateManager {
|
|
|
405
607
|
return _class_private_field_get(this, _sourceSettings).getLayersCount();
|
|
406
608
|
}
|
|
407
609
|
/**
|
|
408
|
-
* Gets
|
|
610
|
+
* Gets the number of columns the rendered header structure spans (the visual width). This reads
|
|
611
|
+
* the derived settings, so it matches the generated matrix and the current column arrangement.
|
|
612
|
+
* With an identity arrangement it equals the authored column count.
|
|
409
613
|
*
|
|
410
614
|
* @returns {number}
|
|
411
615
|
*/ getColumnsCount() {
|
|
412
|
-
return _class_private_field_get(this,
|
|
616
|
+
return _class_private_field_get(this, _derivedSettings).getColumnsCount();
|
|
413
617
|
}
|
|
414
618
|
/**
|
|
415
619
|
* Computes the visual column indexes that should be hidden purely by the `visibleWhen` rules of
|
|
@@ -465,21 +669,54 @@ class StateManager {
|
|
|
465
669
|
return columnsToHide;
|
|
466
670
|
}
|
|
467
671
|
/**
|
|
672
|
+
* Gets every currently collapsed group as its header level and the visual column span it covers
|
|
673
|
+
* (its left-edge visual column index and original colspan). Used to detect, before a column move,
|
|
674
|
+
* whether the move would split a collapsed group.
|
|
675
|
+
*
|
|
676
|
+
* @returns {Array<{headerLevel: number, columnIndex: number, origColspan: number}>}
|
|
677
|
+
*/ getCollapsedGroups() {
|
|
678
|
+
const groups = [];
|
|
679
|
+
_class_private_field_get(this, _headersTree).getRoots().forEach((rootNode)=>{
|
|
680
|
+
rootNode.walkDown((node)=>{
|
|
681
|
+
const { isCollapsed, headerLevel, columnIndex, origColspan } = node.data;
|
|
682
|
+
if (isCollapsed) {
|
|
683
|
+
groups.push({
|
|
684
|
+
headerLevel,
|
|
685
|
+
columnIndex,
|
|
686
|
+
origColspan
|
|
687
|
+
});
|
|
688
|
+
}
|
|
689
|
+
});
|
|
690
|
+
});
|
|
691
|
+
return groups;
|
|
692
|
+
}
|
|
693
|
+
/**
|
|
468
694
|
* Clears the column state manager to the initial state.
|
|
469
695
|
*/ clear() {
|
|
470
696
|
_class_private_field_set(this, _stateMatrix, []);
|
|
471
697
|
_class_private_field_get(this, _sourceSettings).clear();
|
|
698
|
+
_class_private_field_get(this, _derivedSettings).clear();
|
|
472
699
|
_class_private_field_get(this, _headersTree).clear();
|
|
473
700
|
_class_private_field_set(this, _lastColumnVisibility, null);
|
|
701
|
+
_class_private_field_set(this, _membershipOverrides, new Map());
|
|
474
702
|
}
|
|
475
703
|
constructor(){
|
|
704
|
+
_class_private_method_init(this, _snapshotCollapsedGroups);
|
|
705
|
+
_class_private_method_init(this, _reapplyCollapsedGroupsByIdentity);
|
|
706
|
+
_class_private_method_init(this, _findNodesByAuthoredIdentity);
|
|
476
707
|
_class_private_method_init(this, _rebuildPreservingCollapse);
|
|
477
708
|
_class_private_method_init(this, _snapshotCollapsedNodes);
|
|
478
709
|
_class_private_method_init(this, _reapplyCollapsedNodes);
|
|
710
|
+
_class_private_method_init(this, _applyNodeModification);
|
|
479
711
|
_class_private_method_init(this, _applySyncVisibility);
|
|
480
712
|
_class_private_method_init(this, _deriveVisibility);
|
|
713
|
+
_class_private_method_init(this, _deriveTree);
|
|
714
|
+
_class_private_method_init(this, _adoptedAncestorOwner);
|
|
715
|
+
_class_private_method_init(this, _resetMembershipOverrides);
|
|
716
|
+
_class_private_method_init(this, _setMembershipOverride);
|
|
481
717
|
/**
|
|
482
|
-
* The
|
|
718
|
+
* The authored (physical-order) source settings - the normalized user configuration. All
|
|
719
|
+
* structural mutations (setData, mergeWith, map, insertColumns, removeColumns) operate on this.
|
|
483
720
|
*
|
|
484
721
|
* @private
|
|
485
722
|
* @type {SourceSettings}
|
|
@@ -488,6 +725,17 @@ class StateManager {
|
|
|
488
725
|
value: void 0
|
|
489
726
|
});
|
|
490
727
|
/**
|
|
728
|
+
* Visual-order settings derived from #sourceSettings through deriveVisualSettings(). The headers
|
|
729
|
+
* tree is built from these, so the rendered structure follows the current column arrangement. With
|
|
730
|
+
* an identity arrangement they equal the authored settings, so the built tree is unchanged.
|
|
731
|
+
*
|
|
732
|
+
* @private
|
|
733
|
+
* @type {SourceSettings}
|
|
734
|
+
*/ _class_private_field_init(this, _derivedSettings, {
|
|
735
|
+
writable: true,
|
|
736
|
+
value: void 0
|
|
737
|
+
});
|
|
738
|
+
/**
|
|
491
739
|
* The instance of the headers tree.
|
|
492
740
|
*
|
|
493
741
|
* @private
|
|
@@ -504,18 +752,64 @@ class StateManager {
|
|
|
504
752
|
writable: true,
|
|
505
753
|
value: void 0
|
|
506
754
|
});
|
|
755
|
+
_class_private_field_init(this, _columnArrangement, {
|
|
756
|
+
writable: true,
|
|
757
|
+
value: void 0
|
|
758
|
+
});
|
|
759
|
+
_class_private_field_init(this, _membershipOverrides, {
|
|
760
|
+
writable: true,
|
|
761
|
+
value: void 0
|
|
762
|
+
});
|
|
507
763
|
_class_private_field_set(this, _sourceSettings, new SourceSettings());
|
|
508
|
-
_class_private_field_set(this,
|
|
764
|
+
_class_private_field_set(this, _derivedSettings, new SourceSettings());
|
|
765
|
+
_class_private_field_set(this, _headersTree, new HeadersTree(_class_private_field_get(this, _derivedSettings)));
|
|
509
766
|
_class_private_field_set(this, _stateMatrix, [
|
|
510
767
|
[]
|
|
511
768
|
]);
|
|
512
769
|
_class_private_field_set(this, _lastColumnVisibility, null);
|
|
770
|
+
_class_private_field_set(this, _columnArrangement, null);
|
|
771
|
+
_class_private_field_set(this, _membershipOverrides, new Map());
|
|
513
772
|
}
|
|
514
773
|
}
|
|
774
|
+
function snapshotCollapsedGroups() {
|
|
775
|
+
const groups = [];
|
|
776
|
+
_class_private_field_get(this, _headersTree).getRoots().forEach((rootNode)=>{
|
|
777
|
+
rootNode.walkDown((node)=>{
|
|
778
|
+
const { isCollapsed, headerLevel, authoredColumnIndex } = node.data;
|
|
779
|
+
if (isCollapsed && typeof authoredColumnIndex === 'number' && authoredColumnIndex >= 0) {
|
|
780
|
+
groups.push({
|
|
781
|
+
headerLevel,
|
|
782
|
+
authoredColumnIndex
|
|
783
|
+
});
|
|
784
|
+
}
|
|
785
|
+
});
|
|
786
|
+
});
|
|
787
|
+
return groups;
|
|
788
|
+
}
|
|
789
|
+
function reapplyCollapsedGroupsByIdentity(collapsedGroups) {
|
|
790
|
+
collapsedGroups.forEach(({ headerLevel, authoredColumnIndex })=>{
|
|
791
|
+
const matches = _class_private_method_get(this, _findNodesByAuthoredIdentity, findNodesByAuthoredIdentity).call(this, headerLevel, authoredColumnIndex);
|
|
792
|
+
if (matches.length === 1) {
|
|
793
|
+
// Matrix-free: the trailing #applySyncVisibility regenerates the matrix once for all groups.
|
|
794
|
+
_class_private_method_get(this, _applyNodeModification, applyNodeModification).call(this, 'collapse', headerLevel, matches[0].data.columnIndex);
|
|
795
|
+
}
|
|
796
|
+
});
|
|
797
|
+
}
|
|
798
|
+
function findNodesByAuthoredIdentity(headerLevel, authoredColumnIndex) {
|
|
799
|
+
const matches = [];
|
|
800
|
+
_class_private_field_get(this, _headersTree).getRoots().forEach((rootNode)=>{
|
|
801
|
+
rootNode.walkDown((node)=>{
|
|
802
|
+
if (node.data.headerLevel === headerLevel && node.data.authoredColumnIndex === authoredColumnIndex) {
|
|
803
|
+
matches.push(node);
|
|
804
|
+
}
|
|
805
|
+
});
|
|
806
|
+
});
|
|
807
|
+
return matches;
|
|
808
|
+
}
|
|
515
809
|
function rebuildPreservingCollapse(mutate, shiftColumnIndex) {
|
|
516
810
|
const collapsedNodes = _class_private_method_get(this, _snapshotCollapsedNodes, snapshotCollapsedNodes).call(this);
|
|
517
811
|
mutate();
|
|
518
|
-
|
|
812
|
+
_class_private_method_get(this, _deriveTree, deriveTree).call(this);
|
|
519
813
|
// Derive visibility before re-collapsing, but skip the matrix here - #reapplyCollapsedNodes
|
|
520
814
|
// reads the tree (not the matrix) and the trailing #applySyncVisibility regenerates it once,
|
|
521
815
|
// so building the matrix at this point would only be discarded work.
|
|
@@ -540,9 +834,26 @@ function snapshotCollapsedNodes() {
|
|
|
540
834
|
}
|
|
541
835
|
function reapplyCollapsedNodes(collapsedNodes, shiftColumnIndex) {
|
|
542
836
|
collapsedNodes.forEach(({ headerLevel, columnIndex })=>{
|
|
543
|
-
|
|
837
|
+
// Matrix-free: the trailing #applySyncVisibility regenerates the matrix once for all nodes.
|
|
838
|
+
_class_private_method_get(this, _applyNodeModification, applyNodeModification).call(this, 'collapse', headerLevel, shiftColumnIndex(columnIndex));
|
|
544
839
|
});
|
|
545
840
|
}
|
|
841
|
+
function applyNodeModification(action, headerLevel, columnIndex) {
|
|
842
|
+
if (headerLevel < 0) {
|
|
843
|
+
headerLevel = this.rowCoordsToLevel(headerLevel) ?? 0;
|
|
844
|
+
}
|
|
845
|
+
const nodeToProcess = _class_private_field_get(this, _headersTree).getNode(headerLevel, columnIndex);
|
|
846
|
+
if (!nodeToProcess) {
|
|
847
|
+
return {
|
|
848
|
+
actionResult: undefined,
|
|
849
|
+
modified: false
|
|
850
|
+
};
|
|
851
|
+
}
|
|
852
|
+
return {
|
|
853
|
+
actionResult: triggerNodeModification(action, nodeToProcess, columnIndex) ?? undefined,
|
|
854
|
+
modified: true
|
|
855
|
+
};
|
|
856
|
+
}
|
|
546
857
|
function applySyncVisibility() {
|
|
547
858
|
_class_private_method_get(this, _deriveVisibility, deriveVisibility).call(this);
|
|
548
859
|
_class_private_field_set(this, _stateMatrix, generateMatrix(_class_private_field_get(this, _headersTree).getRoots()));
|
|
@@ -552,6 +863,38 @@ function deriveVisibility() {
|
|
|
552
863
|
syncVisibilityOnTree(_class_private_field_get(this, _headersTree).getRoots(), _class_private_field_get(this, _lastColumnVisibility));
|
|
553
864
|
}
|
|
554
865
|
}
|
|
866
|
+
function deriveTree() {
|
|
867
|
+
const arrangement = _class_private_field_get(this, _columnArrangement) ?? createIdentityColumnArrangement();
|
|
868
|
+
_class_private_field_get(this, _derivedSettings).setNormalizedData(deriveVisualSettings(_class_private_field_get(this, _sourceSettings).getData(), arrangement, _class_private_field_get(this, _membershipOverrides)));
|
|
869
|
+
_class_private_field_get(this, _headersTree).buildTree();
|
|
870
|
+
}
|
|
871
|
+
function adoptedAncestorOwner(visualColumn, level, enclosingOwnerAt, authoredOwnerAt, ownerIndexByLevel) {
|
|
872
|
+
const enclosing = enclosingOwnerAt(visualColumn, level);
|
|
873
|
+
if (enclosing >= 0) {
|
|
874
|
+
return enclosing;
|
|
875
|
+
}
|
|
876
|
+
// The neighbors disagree at this enclosing level; fall back to the authored ancestor of the group
|
|
877
|
+
// the column sits inside one level deeper, which is a valid (properly nested) parent.
|
|
878
|
+
const innerOwner = enclosingOwnerAt(visualColumn, level + 1);
|
|
879
|
+
return innerOwner >= 0 ? ownerIndexByLevel[level][innerOwner] : authoredOwnerAt(visualColumn, level);
|
|
880
|
+
}
|
|
881
|
+
function resetMembershipOverrides() {
|
|
882
|
+
_class_private_field_set(this, _membershipOverrides, new Map());
|
|
883
|
+
}
|
|
884
|
+
function setMembershipOverride(physical, level, identity) {
|
|
885
|
+
if (identity === null) {
|
|
886
|
+
const levels = _class_private_field_get(this, _membershipOverrides).get(physical);
|
|
887
|
+
levels?.delete(level);
|
|
888
|
+
if (levels?.size === 0) {
|
|
889
|
+
_class_private_field_get(this, _membershipOverrides).delete(physical);
|
|
890
|
+
}
|
|
891
|
+
return;
|
|
892
|
+
}
|
|
893
|
+
if (!_class_private_field_get(this, _membershipOverrides).has(physical)) {
|
|
894
|
+
_class_private_field_get(this, _membershipOverrides).set(physical, new Map());
|
|
895
|
+
}
|
|
896
|
+
_class_private_field_get(this, _membershipOverrides).get(physical).set(level, identity);
|
|
897
|
+
}
|
|
555
898
|
/**
|
|
556
899
|
* The state manager is a source of truth for nested headers configuration.
|
|
557
900
|
*
|
|
@@ -72,8 +72,9 @@ function generateMatrix(headerRoots) {
|
|
|
72
72
|
* @param {object} nodeData The tree data object.
|
|
73
73
|
* @returns {object}
|
|
74
74
|
*/ function createHeaderSettings(nodeData) {
|
|
75
|
-
//
|
|
76
|
-
|
|
75
|
+
// The matrix module does not need the "crossHiddenColumns" or "columnDropMode" keys - the former is
|
|
76
|
+
// a visibility detail, the latter a structural input that only affects how the tree is derived.
|
|
77
|
+
const { crossHiddenColumns, columnDropMode, ...headerRootSettings } = (0, _utils.createDefaultHeaderSettings)(nodeData);
|
|
77
78
|
return headerRootSettings;
|
|
78
79
|
}
|
|
79
80
|
/**
|
|
@@ -91,8 +91,9 @@ import { createDefaultHeaderSettings, createPlaceholderHeaderSettings } from './
|
|
|
91
91
|
* @param {object} nodeData The tree data object.
|
|
92
92
|
* @returns {object}
|
|
93
93
|
*/ function createHeaderSettings(nodeData) {
|
|
94
|
-
//
|
|
95
|
-
|
|
94
|
+
// The matrix module does not need the "crossHiddenColumns" or "columnDropMode" keys - the former is
|
|
95
|
+
// a visibility detail, the latter a structural input that only affects how the tree is derived.
|
|
96
|
+
const { crossHiddenColumns, columnDropMode, ...headerRootSettings } = createDefaultHeaderSettings(nodeData);
|
|
96
97
|
return headerRootSettings;
|
|
97
98
|
}
|
|
98
99
|
/**
|
|
@@ -48,7 +48,7 @@ function normalizeSettings(sourceSettings, columnsLimit = Infinity) {
|
|
|
48
48
|
*/ const normalizeHeaderSettings = (sourceHeaderSettings)=>{
|
|
49
49
|
const headerSettings = (0, _utils.createDefaultHeaderSettings)();
|
|
50
50
|
if ((0, _object.isObject)(sourceHeaderSettings)) {
|
|
51
|
-
const { label, colspan, rowspan, headerClassName, visibleWhen } = sourceHeaderSettings;
|
|
51
|
+
const { label, colspan, rowspan, headerClassName, visibleWhen, columnDropMode } = sourceHeaderSettings;
|
|
52
52
|
headerSettings.label = (0, _mixed.stringify)(label);
|
|
53
53
|
if (typeof colspan === 'number' && colspan > 1) {
|
|
54
54
|
headerSettings.colspan = colspan;
|
|
@@ -69,6 +69,10 @@ function normalizeSettings(sourceSettings, columnsLimit = Infinity) {
|
|
|
69
69
|
if (typeof visibleWhen === 'string' && VISIBLE_WHEN_VALUES.includes(visibleWhen)) {
|
|
70
70
|
headerSettings.visibleWhen = visibleWhen;
|
|
71
71
|
}
|
|
72
|
+
// Only `'split'` enables splitting; any other (or unset) value keeps the adopt default.
|
|
73
|
+
if (columnDropMode === 'split') {
|
|
74
|
+
headerSettings.columnDropMode = 'split';
|
|
75
|
+
}
|
|
72
76
|
} else {
|
|
73
77
|
headerSettings.label = (0, _mixed.stringify)(sourceHeaderSettings);
|
|
74
78
|
}
|
|
@@ -75,7 +75,7 @@ const VISIBLE_WHEN_VALUES = [
|
|
|
75
75
|
*/ const normalizeHeaderSettings = (sourceHeaderSettings)=>{
|
|
76
76
|
const headerSettings = createDefaultHeaderSettings();
|
|
77
77
|
if (isObject(sourceHeaderSettings)) {
|
|
78
|
-
const { label, colspan, rowspan, headerClassName, visibleWhen } = sourceHeaderSettings;
|
|
78
|
+
const { label, colspan, rowspan, headerClassName, visibleWhen, columnDropMode } = sourceHeaderSettings;
|
|
79
79
|
headerSettings.label = stringify(label);
|
|
80
80
|
if (typeof colspan === 'number' && colspan > 1) {
|
|
81
81
|
headerSettings.colspan = colspan;
|
|
@@ -96,6 +96,10 @@ const VISIBLE_WHEN_VALUES = [
|
|
|
96
96
|
if (typeof visibleWhen === 'string' && VISIBLE_WHEN_VALUES.includes(visibleWhen)) {
|
|
97
97
|
headerSettings.visibleWhen = visibleWhen;
|
|
98
98
|
}
|
|
99
|
+
// Only `'split'` enables splitting; any other (or unset) value keeps the adopt default.
|
|
100
|
+
if (columnDropMode === 'split') {
|
|
101
|
+
headerSettings.columnDropMode = 'split';
|
|
102
|
+
}
|
|
99
103
|
} else {
|
|
100
104
|
headerSettings.label = stringify(sourceHeaderSettings);
|
|
101
105
|
}
|