handsontable 18.0.0 → 18.1.0-rc1
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 +142 -0
- package/3rdparty/walkontable/src/axisSizing/columnUtils.mjs +137 -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 +124 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.mjs +114 -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 +251 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/index.mjs +257 -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 +116 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.mjs +112 -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 +199 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.mjs +196 -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 +116 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.mjs +110 -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 +106 -0
- package/3rdparty/walkontable/src/axisSizing/rowUtils.mjs +101 -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/coords.js +4 -9
- package/3rdparty/walkontable/src/cell/coords.mjs +4 -9
- package/3rdparty/walkontable/src/cell/range.d.ts +10 -0
- package/3rdparty/walkontable/src/cell/range.js +19 -15
- package/3rdparty/walkontable/src/cell/range.mjs +16 -12
- package/3rdparty/walkontable/src/core/_base.d.ts +21 -21
- package/3rdparty/walkontable/src/core/_base.js +47 -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 +40 -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 +41 -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 +195 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.mjs +193 -0
- package/3rdparty/walkontable/src/event.d.ts +25 -12
- package/3rdparty/walkontable/src/event.js +96 -236
- package/3rdparty/walkontable/src/event.mjs +95 -236
- 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 +10 -21
- 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 +605 -0
- package/3rdparty/walkontable/src/overlay/overlays.mjs +594 -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} +155 -50
- package/3rdparty/walkontable/src/overlay/{_base.mjs → regions/_base.mjs} +158 -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} +111 -66
- package/3rdparty/walkontable/src/overlay/{bottom.mjs → regions/bottomOverlay.mjs} +111 -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} +120 -67
- package/3rdparty/walkontable/src/overlay/{inlineStart.mjs → regions/inlineStartOverlay.mjs} +120 -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} +161 -77
- package/3rdparty/walkontable/src/overlay/{top.mjs → regions/topOverlay.mjs} +161 -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 +149 -0
- package/3rdparty/walkontable/src/overlay/resizeMonitor.mjs +148 -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 +283 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.mjs +288 -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 +542 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.mjs +550 -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 +173 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.mjs +174 -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} +65 -53
- package/3rdparty/walkontable/src/{stickyScrollStrategy.mjs → overlay/strategies/stickyScrollStrategy.mjs} +63 -50
- 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 +41 -1
- package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.mjs +42 -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 +375 -0
- package/3rdparty/walkontable/src/{renderer/table.mjs → render/tableRenderer.mjs} +152 -6
- package/3rdparty/walkontable/src/{scroll.d.ts → scroll/scroll.d.ts} +27 -10
- package/3rdparty/walkontable/src/{scroll.js → scroll/scroll.js} +104 -35
- package/3rdparty/walkontable/src/{scroll.mjs → scroll/scroll.mjs} +102 -32
- 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 +242 -12
- package/3rdparty/walkontable/src/selection/manager.mjs +243 -13
- package/3rdparty/walkontable/src/selection/scanner.js +5 -12
- package/3rdparty/walkontable/src/selection/scanner.mjs +5 -12
- 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 +290 -0
- package/3rdparty/walkontable/src/table/baseTable.mjs +278 -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} +27 -57
- package/3rdparty/walkontable/src/table/{master.mjs → regions/masterTable.mjs} +26 -56
- 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 +363 -0
- package/3rdparty/walkontable/src/viewport/viewport.mjs +355 -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/LICENSE.txt +1 -1
- package/README.md +2 -2
- package/base.d.ts +10 -2
- 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/coordsMapper/rangeToRenderableMapper.js +5 -12
- package/core/coordsMapper/rangeToRenderableMapper.mjs +5 -12
- package/core/hooks/bucket.d.ts +40 -6
- package/core/hooks/bucket.js +113 -84
- package/core/hooks/bucket.mjs +118 -84
- package/core/hooks/constants.js +254 -16
- package/core/hooks/constants.mjs +254 -16
- package/core/hooks/index.js +28 -25
- package/core/hooks/index.mjs +28 -25
- 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 +21 -14
- package/core/layout/domSlot.mjs +21 -14
- 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 +25 -13
- package/core/layout/layoutManager.mjs +26 -11
- package/core/settings.d.ts +59 -6
- package/core/types.d.ts +15 -1
- package/core/types.mjs +9 -0
- package/core.js +481 -85
- package/core.mjs +483 -87
- package/dataMap/dataMap.d.ts +3 -13
- package/dataMap/dataMap.js +101 -44
- package/dataMap/dataMap.mjs +102 -45
- 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 +490 -110
- package/dataMap/metaManager/lazyFactoryMap.mjs +504 -111
- package/dataMap/metaManager/metaLayers/cellMeta.d.ts +55 -8
- package/dataMap/metaManager/metaLayers/cellMeta.js +112 -17
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +112 -17
- 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 +712 -31
- package/dataMap/metaManager/metaSchema.mjs +712 -31
- package/dataMap/metaManager/mods/dynamicCellMeta.d.ts +24 -10
- package/dataMap/metaManager/mods/dynamicCellMeta.js +245 -28
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +246 -29
- package/dataMap/metaManager/mods/extendMetaProperties.js +4 -9
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +4 -9
- package/dataMap/sourceDataValidator.d.ts +13 -21
- package/dataMap/sourceDataValidator.js +39 -29
- package/dataMap/sourceDataValidator.mjs +50 -33
- package/dist/handsontable.full.js +34553 -9903
- package/dist/handsontable.full.min.js +168 -112
- package/dist/handsontable.js +31541 -13409
- 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 +1 -3
- package/editorManager.mjs +1 -3
- package/editors/autocompleteEditor/autocompleteEditor.js +48 -22
- package/editors/autocompleteEditor/autocompleteEditor.mjs +48 -22
- package/editors/baseEditor/baseEditor.d.ts +15 -3
- package/editors/baseEditor/baseEditor.js +6 -6
- package/editors/baseEditor/baseEditor.mjs +16 -6
- 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/controllers/dropdownController.js +5 -12
- package/editors/multiSelectEditor/controllers/dropdownController.mjs +5 -12
- package/editors/multiSelectEditor/controllers/inputController.js +1 -3
- package/editors/multiSelectEditor/controllers/inputController.mjs +1 -3
- package/editors/multiSelectEditor/multiSelectEditor.js +16 -21
- package/editors/multiSelectEditor/multiSelectEditor.mjs +17 -22
- package/editors/passwordEditor/passwordEditor.js +5 -12
- package/editors/passwordEditor/passwordEditor.mjs +5 -12
- package/editors/registry.js +4 -9
- package/editors/registry.mjs +4 -9
- 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 +84 -14
- package/focusManager/grid.mjs +80 -15
- 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/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 +27 -3
- package/helpers/dom/element.js +92 -16
- package/helpers/dom/element.mjs +107 -17
- 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/i18n/languages/ar-AR.js +8 -19
- package/i18n/languages/cs-CZ.js +8 -19
- package/i18n/languages/de-CH.js +8 -19
- package/i18n/languages/de-DE.js +8 -19
- package/i18n/languages/en-US.js +8 -19
- package/i18n/languages/es-MX.js +8 -19
- package/i18n/languages/fa-IR.d.ts +1 -0
- package/i18n/languages/fa-IR.js +9 -19
- package/i18n/languages/fa-IR.mjs +1 -0
- package/i18n/languages/fr-FR.js +8 -19
- package/i18n/languages/hr-HR.js +8 -19
- package/i18n/languages/it-IT.js +8 -19
- package/i18n/languages/ja-JP.js +8 -19
- package/i18n/languages/ko-KR.js +8 -19
- package/i18n/languages/lv-LV.js +8 -19
- package/i18n/languages/nb-NO.js +8 -19
- package/i18n/languages/nl-NL.js +8 -19
- package/i18n/languages/pl-PL.js +8 -19
- package/i18n/languages/pt-BR.js +8 -19
- package/i18n/languages/ru-RU.js +8 -19
- package/i18n/languages/sr-SP.js +8 -19
- package/i18n/languages/zh-CN.js +8 -19
- package/i18n/languages/zh-TW.js +8 -19
- package/i18n/registry.js +8 -19
- package/index.d.ts +2 -2
- package/index.js +8 -19
- 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 +506 -94
- package/plugins/autoColumnSize/autoColumnSize.mjs +513 -95
- package/plugins/autoRowSize/autoRowSize.d.ts +40 -5
- package/plugins/autoRowSize/autoRowSize.js +73 -36
- package/plugins/autoRowSize/autoRowSize.mjs +103 -41
- package/plugins/autofill/autofill.js +35 -24
- package/plugins/autofill/autofill.mjs +35 -24
- package/plugins/base/base.d.ts +10 -0
- package/plugins/base/base.js +5 -12
- package/plugins/base/base.mjs +5 -12
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +4 -9
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +4 -9
- package/plugins/collapsibleColumns/collapsibleColumns.d.ts +4 -0
- package/plugins/collapsibleColumns/collapsibleColumns.js +94 -20
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +98 -20
- package/plugins/columnSorting/columnSorting.d.ts +31 -2
- package/plugins/columnSorting/columnSorting.js +153 -33
- package/plugins/columnSorting/columnSorting.mjs +155 -35
- 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 +13 -14
- package/plugins/columnSummary/columnSummary.mjs +13 -14
- package/plugins/columnSummary/endpoints.d.ts +69 -2
- package/plugins/columnSummary/endpoints.js +176 -29
- package/plugins/columnSummary/endpoints.mjs +176 -29
- package/plugins/comments/commentEditor.js +5 -10
- package/plugins/comments/commentEditor.mjs +6 -11
- package/plugins/comments/comments.js +5 -12
- package/plugins/comments/comments.mjs +5 -12
- package/plugins/comments/contextMenuItem/addEditComment.js +8 -19
- package/plugins/comments/contextMenuItem/readOnlyComment.js +8 -19
- package/plugins/comments/contextMenuItem/removeComment.js +8 -19
- package/plugins/comments/editorResizeObserver.js +5 -12
- package/plugins/comments/editorResizeObserver.mjs +5 -12
- package/plugins/contextMenu/contextMenu.d.ts +12 -1
- package/plugins/contextMenu/contextMenu.js +34 -15
- package/plugins/contextMenu/contextMenu.mjs +34 -15
- package/plugins/contextMenu/index.d.ts +1 -1
- package/plugins/contextMenu/menu/menu.d.ts +22 -1
- package/plugins/contextMenu/menu/menu.js +216 -15
- package/plugins/contextMenu/menu/menu.mjs +217 -16
- package/plugins/contextMenu/menu/positioner.js +4 -9
- package/plugins/contextMenu/menu/positioner.mjs +4 -9
- package/plugins/contextMenu/predefinedItems/alignment.js +22 -33
- package/plugins/contextMenu/predefinedItems/alignment.mjs +14 -14
- package/plugins/contextMenu/predefinedItems/clearColumn.js +9 -20
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/columnLeft.js +8 -19
- package/plugins/contextMenu/predefinedItems/columnRight.js +8 -19
- package/plugins/contextMenu/predefinedItems/index.js +8 -19
- package/plugins/contextMenu/predefinedItems/readOnly.js +11 -22
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +3 -3
- package/plugins/contextMenu/predefinedItems/redo.js +8 -19
- package/plugins/contextMenu/predefinedItems/removeColumn.js +8 -19
- package/plugins/contextMenu/predefinedItems/removeRow.js +8 -19
- package/plugins/contextMenu/predefinedItems/rowAbove.js +8 -19
- package/plugins/contextMenu/predefinedItems/rowBelow.js +8 -19
- package/plugins/contextMenu/predefinedItems/undo.js +8 -19
- package/plugins/contextMenu/utils.js +1 -1
- package/plugins/contextMenu/utils.mjs +1 -1
- package/plugins/copyPaste/contextMenuItem/cut.js +8 -19
- package/plugins/copyPaste/copyPaste.js +62 -20
- package/plugins/copyPaste/copyPaste.mjs +63 -21
- package/plugins/copyPaste/copyableRanges.js +11 -14
- package/plugins/copyPaste/copyableRanges.mjs +11 -14
- package/plugins/copyPaste/pasteEvent.d.ts +1 -1
- package/plugins/customBorders/contextMenuItem/bottom.js +8 -19
- package/plugins/customBorders/contextMenuItem/left.js +8 -19
- package/plugins/customBorders/contextMenuItem/noBorders.js +8 -19
- package/plugins/customBorders/contextMenuItem/right.js +8 -19
- package/plugins/customBorders/contextMenuItem/top.js +8 -19
- package/plugins/customBorders/customBorders.d.ts +21 -40
- package/plugins/customBorders/customBorders.js +1084 -223
- package/plugins/customBorders/customBorders.mjs +1078 -206
- 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.js +35 -38
- package/plugins/dataProvider/dataProvider.mjs +27 -19
- package/plugins/dataProvider/query/crud.js +1 -1
- package/plugins/dataProvider/query/crud.mjs +1 -1
- package/plugins/dialog/dialog.js +15 -33
- package/plugins/dialog/dialog.mjs +7 -14
- package/plugins/dialog/ui.js +5 -12
- package/plugins/dialog/ui.mjs +5 -12
- package/plugins/dragToScroll/autoScroller.js +4 -9
- package/plugins/dragToScroll/autoScroller.mjs +4 -9
- package/plugins/dragToScroll/dragToScroll.d.ts +2 -2
- package/plugins/dragToScroll/dragToScroll.js +155 -26
- package/plugins/dragToScroll/dragToScroll.mjs +156 -27
- package/plugins/dragToScroll/scrollTimer.js +4 -9
- package/plugins/dragToScroll/scrollTimer.mjs +4 -9
- package/plugins/dropdownMenu/dropdownMenu.d.ts +5 -1
- package/plugins/dropdownMenu/dropdownMenu.js +50 -15
- package/plugins/dropdownMenu/dropdownMenu.mjs +51 -16
- package/plugins/dropdownMenu/index.d.ts +1 -0
- package/plugins/emptyDataState/emptyDataState.js +15 -33
- package/plugins/emptyDataState/emptyDataState.mjs +7 -14
- package/plugins/emptyDataState/ui.js +4 -9
- package/plugins/emptyDataState/ui.mjs +4 -9
- package/plugins/exportFile/dataProvider.js +5 -1
- package/plugins/exportFile/dataProvider.mjs +5 -1
- package/plugins/exportFile/exportFile.js +13 -31
- package/plugins/exportFile/exportFile.mjs +5 -12
- package/plugins/exportFile/types/csv.js +1 -3
- package/plugins/exportFile/types/csv.mjs +1 -3
- 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 +10 -3
- package/plugins/exportFile/types/xlsx.mjs +11 -4
- 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/actionBar.js +9 -22
- package/plugins/filters/component/actionBar.mjs +1 -3
- package/plugins/filters/component/condition.d.ts +1 -0
- package/plugins/filters/component/condition.js +11 -22
- package/plugins/filters/component/condition.mjs +3 -3
- package/plugins/filters/component/operators.js +1 -3
- package/plugins/filters/component/operators.mjs +1 -3
- package/plugins/filters/component/value.d.ts +5 -6
- package/plugins/filters/component/value.js +62 -56
- package/plugins/filters/component/value.mjs +55 -38
- package/plugins/filters/condition/beginsWith.js +8 -19
- package/plugins/filters/condition/between.js +8 -19
- package/plugins/filters/condition/contains.js +8 -19
- package/plugins/filters/condition/date/after.js +10 -20
- package/plugins/filters/condition/date/after.mjs +2 -1
- package/plugins/filters/condition/date/afterOrEqual.js +10 -20
- package/plugins/filters/condition/date/afterOrEqual.mjs +2 -1
- package/plugins/filters/condition/date/before.js +10 -20
- package/plugins/filters/condition/date/before.mjs +2 -1
- package/plugins/filters/condition/date/beforeOrEqual.js +10 -20
- package/plugins/filters/condition/date/beforeOrEqual.mjs +2 -1
- package/plugins/filters/condition/date/today.js +8 -19
- package/plugins/filters/condition/date/tomorrow.js +8 -19
- package/plugins/filters/condition/date/yesterday.js +8 -19
- package/plugins/filters/condition/empty.js +8 -19
- package/plugins/filters/condition/endsWith.js +8 -19
- package/plugins/filters/condition/equal.d.ts +7 -0
- package/plugins/filters/condition/equal.js +12 -19
- package/plugins/filters/condition/equal.mjs +10 -0
- package/plugins/filters/condition/greaterThan.js +8 -19
- package/plugins/filters/condition/greaterThanOrEqual.js +8 -19
- package/plugins/filters/condition/intlDate/after.js +8 -19
- package/plugins/filters/condition/intlDate/afterOrEqual.js +8 -19
- package/plugins/filters/condition/intlDate/before.js +8 -19
- package/plugins/filters/condition/intlDate/beforeOrEqual.js +8 -19
- package/plugins/filters/condition/intlDate/between.js +8 -19
- package/plugins/filters/condition/intlDate/today.js +8 -19
- package/plugins/filters/condition/intlDate/tomorrow.js +8 -19
- package/plugins/filters/condition/intlDate/yesterday.js +8 -19
- 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 +66 -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 +66 -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 +66 -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 +66 -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 +67 -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 +65 -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 +66 -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 +66 -0
- package/plugins/filters/condition/intlDatetime/yesterday.mjs +21 -0
- package/plugins/filters/condition/intlTime/after.js +8 -19
- package/plugins/filters/condition/intlTime/afterOrEqual.js +8 -19
- package/plugins/filters/condition/intlTime/before.js +8 -19
- package/plugins/filters/condition/intlTime/beforeOrEqual.js +8 -19
- package/plugins/filters/condition/intlTime/between.js +8 -19
- package/plugins/filters/condition/lessThan.js +8 -19
- package/plugins/filters/condition/lessThanOrEqual.js +8 -19
- package/plugins/filters/condition/none.js +8 -19
- package/plugins/filters/condition/notBetween.js +8 -19
- package/plugins/filters/condition/notContains.js +8 -19
- package/plugins/filters/condition/notEmpty.js +8 -19
- package/plugins/filters/condition/notEqual.js +8 -19
- 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 +144 -52
- package/plugins/filters/conditionUpdateObserver.mjs +144 -52
- 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 +104 -62
- package/plugins/filters/filters.mjs +97 -44
- package/plugins/filters/logicalOperations/conjunction.js +8 -19
- package/plugins/filters/logicalOperations/disjunction.js +8 -19
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +8 -19
- 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/_base.js +8 -19
- package/plugins/filters/ui/input.d.ts +4 -0
- package/plugins/filters/ui/input.js +23 -18
- package/plugins/filters/ui/input.mjs +23 -18
- package/plugins/filters/ui/link.js +4 -9
- package/plugins/filters/ui/link.mjs +4 -9
- package/plugins/filters/ui/multipleSelect.js +40 -35
- package/plugins/filters/ui/multipleSelect.mjs +32 -16
- package/plugins/filters/ui/radioInput.js +4 -9
- package/plugins/filters/ui/radioInput.mjs +4 -9
- package/plugins/filters/ui/select.js +14 -32
- package/plugins/filters/ui/select.mjs +6 -13
- 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 +748 -55
- package/plugins/formulas/formulas.mjs +752 -57
- 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 +77 -27
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +77 -27
- package/plugins/formulas/indexSyncer/index.js +4 -9
- package/plugins/formulas/indexSyncer/index.mjs +4 -9
- 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/hideColumn.js +8 -19
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +14 -20
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +6 -1
- package/plugins/hiddenColumns/hiddenColumns.js +11 -15
- package/plugins/hiddenColumns/hiddenColumns.mjs +11 -15
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +8 -19
- package/plugins/hiddenRows/contextMenuItem/showRow.js +14 -20
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +6 -1
- package/plugins/hiddenRows/hiddenRows.js +11 -15
- package/plugins/hiddenRows/hiddenRows.mjs +11 -15
- package/plugins/index.d.ts +5 -1
- package/plugins/index.js +10 -0
- package/plugins/index.mjs +5 -1
- package/plugins/loading/loading.js +13 -31
- package/plugins/loading/loading.mjs +5 -12
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +8 -19
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +8 -19
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +5 -12
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +5 -12
- package/plugins/manualColumnMove/manualColumnMove.d.ts +10 -0
- package/plugins/manualColumnMove/manualColumnMove.js +128 -33
- package/plugins/manualColumnMove/manualColumnMove.mjs +129 -34
- package/plugins/manualColumnResize/manualColumnResize.d.ts +12 -1
- package/plugins/manualColumnResize/manualColumnResize.js +28 -17
- package/plugins/manualColumnResize/manualColumnResize.mjs +28 -17
- package/plugins/manualRowMove/manualRowMove.js +5 -12
- package/plugins/manualRowMove/manualRowMove.mjs +5 -12
- package/plugins/manualRowResize/manualRowResize.d.ts +13 -2
- package/plugins/manualRowResize/manualRowResize.js +29 -18
- package/plugins/manualRowResize/manualRowResize.mjs +29 -18
- package/plugins/mergeCells/cellCoords.d.ts +8 -0
- package/plugins/mergeCells/cellCoords.js +15 -9
- package/plugins/mergeCells/cellCoords.mjs +15 -9
- package/plugins/mergeCells/cellsCollection.d.ts +46 -2
- package/plugins/mergeCells/cellsCollection.js +190 -71
- package/plugins/mergeCells/cellsCollection.mjs +190 -71
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +8 -19
- package/plugins/mergeCells/focusOrder.d.ts +26 -20
- package/plugins/mergeCells/focusOrder.js +363 -189
- package/plugins/mergeCells/focusOrder.mjs +368 -184
- package/plugins/mergeCells/mergeCells.d.ts +13 -8
- package/plugins/mergeCells/mergeCells.js +327 -76
- package/plugins/mergeCells/mergeCells.mjs +327 -76
- 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 +595 -0
- package/plugins/moveCells/moveCells.mjs +580 -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 +266 -58
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +266 -58
- package/plugins/nestedHeaders/nestedHeaders.d.ts +10 -1
- package/plugins/nestedHeaders/nestedHeaders.js +227 -35
- package/plugins/nestedHeaders/nestedHeaders.mjs +227 -35
- 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/headersTree.js +4 -9
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +4 -9
- package/plugins/nestedHeaders/stateManager/index.d.ts +76 -13
- package/plugins/nestedHeaders/stateManager/index.js +386 -50
- package/plugins/nestedHeaders/stateManager/index.mjs +387 -51
- 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 +24 -13
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +24 -13
- 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 +1 -3
- package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -3
- 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 +332 -17
- package/plugins/nestedRows/nestedRows.mjs +332 -17
- package/plugins/nestedRows/ui/collapsing.d.ts +58 -0
- package/plugins/nestedRows/ui/collapsing.js +234 -40
- package/plugins/nestedRows/ui/collapsing.mjs +234 -40
- package/plugins/nestedRows/ui/contextMenu.js +12 -28
- package/plugins/nestedRows/ui/contextMenu.mjs +4 -9
- package/plugins/notification/notification.js +13 -31
- package/plugins/notification/notification.mjs +5 -12
- package/plugins/notification/ui.js +4 -9
- package/plugins/notification/ui.mjs +4 -9
- package/plugins/pagination/pagination.js +7 -14
- package/plugins/pagination/pagination.mjs +7 -14
- package/plugins/pagination/ui.js +13 -31
- package/plugins/pagination/ui.mjs +5 -12
- package/plugins/search/search.js +27 -11
- package/plugins/search/search.mjs +27 -11
- 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 +335 -0
- package/plugins/selectionHandles/selectionHandles.mjs +316 -0
- package/plugins/stretchColumns/calculator.js +5 -12
- package/plugins/stretchColumns/calculator.mjs +5 -12
- package/plugins/stretchColumns/strategies/last.js +4 -9
- package/plugins/stretchColumns/strategies/last.mjs +4 -9
- package/plugins/stretchColumns/stretchColumns.js +4 -9
- package/plugins/stretchColumns/stretchColumns.mjs +4 -9
- package/plugins/touchScroll/touchScroll.js +4 -9
- package/plugins/touchScroll/touchScroll.mjs +4 -9
- package/plugins/trimRows/trimRows.d.ts +1 -1
- package/plugins/trimRows/trimRows.js +10 -11
- package/plugins/trimRows/trimRows.mjs +10 -11
- 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 +40 -11
- package/plugins/undoRedo/undoRedo.mjs +40 -11
- 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 +161 -0
- package/renderSizeProbe.mjs +174 -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/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/highlight.js +1 -3
- package/selection/highlight/highlight.mjs +1 -3
- 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 +162 -36
- package/selection/selection.mjs +154 -17
- package/selection/transformation/_base.js +5 -12
- package/selection/transformation/_base.mjs +5 -12
- 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.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 +211 -53
- package/tableView.mjs +212 -54
- package/themes/engine/builder.js +5 -12
- package/themes/engine/builder.mjs +5 -12
- 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 +247 -18
- package/themes/engine/manager.mjs +254 -18
- 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/changesObservable/observable.js +4 -9
- package/translations/changesObservable/observable.mjs +4 -9
- package/translations/changesObservable/observer.js +4 -9
- package/translations/changesObservable/observer.mjs +4 -9
- package/translations/indexMapper.d.ts +14 -9
- package/translations/indexMapper.js +109 -49
- package/translations/indexMapper.mjs +109 -49
- 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 +293 -0
- package/translations/maps/booleanMap.mjs +301 -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 +73 -6
- package/translations/maps/indexMap.mjs +73 -6
- package/translations/maps/indexesSequence.d.ts +53 -2
- package/translations/maps/indexesSequence.js +218 -3
- package/translations/maps/indexesSequence.mjs +226 -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 +58 -11
- package/utils/ghostTable.mjs +58 -11
- package/utils/interval.js +5 -12
- package/utils/interval.mjs +5 -12
- 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 +1 -1
- package/utils/parseTable.mjs +1 -1
- package/utils/samplesGenerator.d.ts +41 -14
- package/utils/samplesGenerator.js +112 -42
- package/utils/samplesGenerator.mjs +112 -42
- package/utils/stylesHandler.d.ts +13 -0
- package/utils/stylesHandler.js +60 -14
- package/utils/stylesHandler.mjs +60 -14
- 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
|
@@ -4,15 +4,12 @@ function _check_private_redeclaration(obj, privateCollection) {
|
|
|
4
4
|
}
|
|
5
5
|
}
|
|
6
6
|
function _class_apply_descriptor_get(receiver, descriptor) {
|
|
7
|
-
if (descriptor.get)
|
|
8
|
-
return descriptor.get.call(receiver);
|
|
9
|
-
}
|
|
7
|
+
if (descriptor.get) return descriptor.get.call(receiver);
|
|
10
8
|
return descriptor.value;
|
|
11
9
|
}
|
|
12
10
|
function _class_apply_descriptor_set(receiver, descriptor, value) {
|
|
13
|
-
if (descriptor.set)
|
|
14
|
-
|
|
15
|
-
} else {
|
|
11
|
+
if (descriptor.set) descriptor.set.call(receiver, value);
|
|
12
|
+
else {
|
|
16
13
|
if (!descriptor.writable) {
|
|
17
14
|
throw new TypeError("attempted to set read only private field");
|
|
18
15
|
}
|
|
@@ -20,9 +17,7 @@ function _class_apply_descriptor_set(receiver, descriptor, value) {
|
|
|
20
17
|
}
|
|
21
18
|
}
|
|
22
19
|
function _class_extract_field_descriptor(receiver, privateMap, action) {
|
|
23
|
-
if (!privateMap.has(receiver))
|
|
24
|
-
throw new TypeError("attempted to " + action + " private field on non-instance");
|
|
25
|
-
}
|
|
20
|
+
if (!privateMap.has(receiver)) throw new TypeError("attempted to " + action + " private field on non-instance");
|
|
26
21
|
return privateMap.get(receiver);
|
|
27
22
|
}
|
|
28
23
|
function _class_private_field_get(receiver, privateMap) {
|
|
@@ -39,9 +34,7 @@ function _class_private_field_set(receiver, privateMap, value) {
|
|
|
39
34
|
return value;
|
|
40
35
|
}
|
|
41
36
|
function _class_private_method_get(receiver, privateSet, fn) {
|
|
42
|
-
if (!privateSet.has(receiver))
|
|
43
|
-
throw new TypeError("attempted to get private field on non-instance");
|
|
44
|
-
}
|
|
37
|
+
if (!privateSet.has(receiver)) throw new TypeError("attempted to get private field on non-instance");
|
|
45
38
|
return fn;
|
|
46
39
|
}
|
|
47
40
|
function _class_private_method_init(obj, privateSet) {
|
|
@@ -116,6 +109,34 @@ var /**
|
|
|
116
109
|
* insertion or removal. The tree (with `isCollapsed` restored) is the source of truth, so a full
|
|
117
110
|
* refresh keeps the hidden set correct without tracking shifted indexes manually.
|
|
118
111
|
*/ _onAfterColumnStructureChange = /*#__PURE__*/ new WeakMap(), /**
|
|
112
|
+
* Expands, before a column move runs, any collapsed group the move would split - whether by taking
|
|
113
|
+
* some (but not all) of the group's columns out, or by dropping an unrelated column into the middle
|
|
114
|
+
* of its span. Both leave the group's columns non-adjacent, which drops its collapse indicator while
|
|
115
|
+
* the columns stay hidden, with no control left to expand them. Expanding while the group is still
|
|
116
|
+
* contiguous releases its columns through the normal expand path; hiding does not change visual
|
|
117
|
+
* indexes, so the pending move's coordinates stay valid. A move that keeps a group's columns
|
|
118
|
+
* together (including moving the whole group) leaves it collapsed.
|
|
119
|
+
*
|
|
120
|
+
* @param {number[]} movedColumns Visual indexes of the columns being moved.
|
|
121
|
+
* @param {number} finalIndex The visual index the moved columns will start at after the move.
|
|
122
|
+
* @param {number|undefined} dropIndex The drop visual index (unused).
|
|
123
|
+
* @param {boolean} movePossible Whether the move can be performed.
|
|
124
|
+
*/ _onBeforeColumnMove = /*#__PURE__*/ new WeakMap(), /**
|
|
125
|
+
* Projects the visual column order a pending move will produce, expressed in the current visual
|
|
126
|
+
* indexes. Mirrors the move itself: remove the moved columns, then re-insert them at `finalIndex`.
|
|
127
|
+
*
|
|
128
|
+
* @param {number[]} movedColumns Visual indexes of the columns being moved.
|
|
129
|
+
* @param {number} finalIndex The visual index the moved columns will start at after the move.
|
|
130
|
+
* @returns {number[]} The current visual indexes in their post-move order.
|
|
131
|
+
*/ _projectColumnOrderAfterMove = /*#__PURE__*/ new WeakSet(), /**
|
|
132
|
+
* Reports whether a group's columns stop being adjacent in the projected post-move order. The group
|
|
133
|
+
* is split when its members no longer occupy one contiguous run of positions.
|
|
134
|
+
*
|
|
135
|
+
* @param {number} columnIndex The group's leftmost visual column index.
|
|
136
|
+
* @param {number} origColspan The group's column span.
|
|
137
|
+
* @param {Map<number, number>} positionByColumn Maps a current visual index to its post-move position.
|
|
138
|
+
* @returns {boolean} `true` when the move would split the group.
|
|
139
|
+
*/ _isGroupSplitByOrder = /*#__PURE__*/ new WeakSet(), /**
|
|
119
140
|
* Adds the indicator to the headers.
|
|
120
141
|
*
|
|
121
142
|
* @param {number} column Column index.
|
|
@@ -151,6 +172,10 @@ var /**
|
|
|
151
172
|
* To limit this functionality to a smaller group of headers, define the `collapsibleColumns` property as an array
|
|
152
173
|
* of objects, as in the example below.
|
|
153
174
|
*
|
|
175
|
+
* Read more:
|
|
176
|
+
* - [Guides: Column groups](@/guides/columns/column-groups/column-groups.md#collapsible-headers)
|
|
177
|
+
* - [Configuration options: `collapsibleColumns`](@/api/options.md#collapsiblecolumns)
|
|
178
|
+
*
|
|
154
179
|
* @example
|
|
155
180
|
* ::: only-for javascript
|
|
156
181
|
* ```js
|
|
@@ -289,16 +314,15 @@ var /**
|
|
|
289
314
|
this.addHook('afterLoadData', _class_private_field_get(this, _onAfterLoadData));
|
|
290
315
|
this.addHook('afterGetColHeader', _class_private_field_get(this, _onAfterGetColHeader));
|
|
291
316
|
this.addHook('beforeOnCellMouseDown', _class_private_field_get(this, _onBeforeOnCellMouseDown));
|
|
292
|
-
// NestedHeaders (priority 280) rebuilds the header tree on column insert/remove before this
|
|
317
|
+
// NestedHeaders (priority 280) rebuilds the header tree on column insert/remove/move before this
|
|
293
318
|
// plugin (priority 290) runs, so refreshing here re-derives the `visibleWhen` hidden set against
|
|
294
|
-
// the freshly rebuilt tree (with `isCollapsed`
|
|
295
|
-
//
|
|
296
|
-
//
|
|
297
|
-
// same way - so collapsed groups (legacy and `visibleWhen` alike) do not survive `manualColumnMove`.
|
|
298
|
-
// That is a pre-existing collapsible-columns limitation; refreshing only `visibleWhen` here would
|
|
299
|
-
// diverge from legacy collapse without fixing it.
|
|
319
|
+
// the freshly rebuilt tree (with `isCollapsed` re-attached by group identity). On a move a group
|
|
320
|
+
// that stayed contiguous keeps its collapse; a split group has its `isCollapsed` dropped, so the
|
|
321
|
+
// re-derived `visibleWhen` set excludes it and these columns are released.
|
|
300
322
|
this.addHook('afterCreateCol', _class_private_field_get(this, _onAfterColumnStructureChange));
|
|
301
323
|
this.addHook('afterRemoveCol', _class_private_field_get(this, _onAfterColumnStructureChange));
|
|
324
|
+
this.addHook('beforeColumnMove', _class_private_field_get(this, _onBeforeColumnMove));
|
|
325
|
+
this.addHook('afterColumnMove', _class_private_field_get(this, _onAfterColumnStructureChange));
|
|
302
326
|
this.registerShortcuts();
|
|
303
327
|
super.enablePlugin();
|
|
304
328
|
// @TODO: Workaround for broken plugin initialization abstraction (#6806).
|
|
@@ -612,7 +636,7 @@ var /**
|
|
|
612
636
|
super.destroy();
|
|
613
637
|
}
|
|
614
638
|
constructor(...args){
|
|
615
|
-
super(...args), _class_private_method_init(this, _checkIsActionPossible), _class_private_method_init(this, _adjustSelectionAfterHide), _class_private_method_init(this, _refreshVisibleWhenColumns), _class_private_field_init(this, _collapsedColumnsMap, {
|
|
639
|
+
super(...args), _class_private_method_init(this, _checkIsActionPossible), _class_private_method_init(this, _adjustSelectionAfterHide), _class_private_method_init(this, _refreshVisibleWhenColumns), _class_private_method_init(this, _projectColumnOrderAfterMove), _class_private_method_init(this, _isGroupSplitByOrder), _class_private_field_init(this, _collapsedColumnsMap, {
|
|
616
640
|
writable: true,
|
|
617
641
|
value: void 0
|
|
618
642
|
}), _class_private_field_init(this, _visibleWhenMap, {
|
|
@@ -621,6 +645,9 @@ var /**
|
|
|
621
645
|
}), _class_private_field_init(this, _onAfterColumnStructureChange, {
|
|
622
646
|
writable: true,
|
|
623
647
|
value: void 0
|
|
648
|
+
}), _class_private_field_init(this, _onBeforeColumnMove, {
|
|
649
|
+
writable: true,
|
|
650
|
+
value: void 0
|
|
624
651
|
}), _class_private_field_init(this, _onAfterGetColHeader, {
|
|
625
652
|
writable: true,
|
|
626
653
|
value: void 0
|
|
@@ -645,6 +672,29 @@ var /**
|
|
|
645
672
|
* @type {StateManager}
|
|
646
673
|
*/ this.headerStateManager = null, _class_private_field_set(this, _collapsedColumnsMap, null), _class_private_field_set(this, _visibleWhenMap, null), _class_private_field_set(this, _onAfterColumnStructureChange, ()=>{
|
|
647
674
|
_class_private_method_get(this, _refreshVisibleWhenColumns, refreshVisibleWhenColumns).call(this);
|
|
675
|
+
}), _class_private_field_set(this, _onBeforeColumnMove, (movedColumns, finalIndex, dropIndex, movePossible)=>{
|
|
676
|
+
const stateManager = this.headerStateManager;
|
|
677
|
+
if (movePossible === false || !stateManager) {
|
|
678
|
+
return;
|
|
679
|
+
}
|
|
680
|
+
const projectedOrder = _class_private_method_get(this, _projectColumnOrderAfterMove, projectColumnOrderAfterMove).call(this, movedColumns, finalIndex);
|
|
681
|
+
const positionByColumn = new Map(projectedOrder.map((visualColumn, position)=>[
|
|
682
|
+
visualColumn,
|
|
683
|
+
position
|
|
684
|
+
]));
|
|
685
|
+
stateManager.getCollapsedGroups().forEach(({ headerLevel, columnIndex, origColspan })=>{
|
|
686
|
+
if (_class_private_method_get(this, _isGroupSplitByOrder, isGroupSplitByOrder).call(this, columnIndex, origColspan, positionByColumn)) {
|
|
687
|
+
const row = stateManager.levelToRowCoords(headerLevel);
|
|
688
|
+
if (row !== null) {
|
|
689
|
+
this.toggleCollapsibleSection([
|
|
690
|
+
{
|
|
691
|
+
row,
|
|
692
|
+
col: columnIndex
|
|
693
|
+
}
|
|
694
|
+
], 'expand');
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
});
|
|
648
698
|
}), _class_private_field_set(this, _onAfterGetColHeader, (column, TH, headerLevel)=>{
|
|
649
699
|
const headerSettings = this.headerStateManager?.getHeaderSettings(headerLevel, column);
|
|
650
700
|
const { collapsible, origColspan, isCollapsed } = headerSettings ?? {};
|
|
@@ -766,3 +816,31 @@ function refreshVisibleWhenColumns(visualColumnsToHide = this.headerStateManager
|
|
|
766
816
|
});
|
|
767
817
|
}, true);
|
|
768
818
|
}
|
|
819
|
+
function projectColumnOrderAfterMove(movedColumns, finalIndex) {
|
|
820
|
+
const movedColumnsSet = new Set(movedColumns);
|
|
821
|
+
const remaining = [];
|
|
822
|
+
for(let column = 0, columnsCount = this.hot.countCols(); column < columnsCount; column++){
|
|
823
|
+
if (!movedColumnsSet.has(column)) {
|
|
824
|
+
remaining.push(column);
|
|
825
|
+
}
|
|
826
|
+
}
|
|
827
|
+
return [
|
|
828
|
+
...remaining.slice(0, finalIndex),
|
|
829
|
+
...movedColumns,
|
|
830
|
+
...remaining.slice(finalIndex)
|
|
831
|
+
];
|
|
832
|
+
}
|
|
833
|
+
function isGroupSplitByOrder(columnIndex, origColspan, positionByColumn) {
|
|
834
|
+
let minPosition = Infinity;
|
|
835
|
+
let maxPosition = -Infinity;
|
|
836
|
+
let memberCount = 0;
|
|
837
|
+
for(let column = columnIndex; column < columnIndex + origColspan; column++){
|
|
838
|
+
const position = positionByColumn.get(column);
|
|
839
|
+
if (position !== undefined) {
|
|
840
|
+
minPosition = Math.min(minPosition, position);
|
|
841
|
+
maxPosition = Math.max(maxPosition, position);
|
|
842
|
+
memberCount += 1;
|
|
843
|
+
}
|
|
844
|
+
}
|
|
845
|
+
return memberCount > 0 && maxPosition - minPosition !== memberCount - 1;
|
|
846
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BasePlugin } from '../base';
|
|
2
|
-
import { IndexesSequence, PhysicalIndexToValueMap as IndexToValueMap } from '../../translations';
|
|
2
|
+
import type { IndexesSequence, PhysicalIndexToValueMap as IndexToValueMap } from '../../translations';
|
|
3
3
|
import { ColumnStatesManager } from './columnStatesManager';
|
|
4
4
|
export interface ColumnSortingConfig {
|
|
5
5
|
column: number;
|
|
@@ -9,6 +9,20 @@ export declare const PLUGIN_KEY = "columnSorting";
|
|
|
9
9
|
export declare const PLUGIN_PRIORITY = 50;
|
|
10
10
|
export declare const APPEND_COLUMN_CONFIG_STRATEGY = "append";
|
|
11
11
|
export declare const REPLACE_COLUMN_CONFIG_STRATEGY = "replace";
|
|
12
|
+
/**
|
|
13
|
+
* A press on a sortable column header, waiting to be resolved on mouse up.
|
|
14
|
+
*/
|
|
15
|
+
export interface HeaderSortPress {
|
|
16
|
+
column: number;
|
|
17
|
+
isCtrlPressed: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Settles once the cell that was being edited at press time has finished validating, or `null`
|
|
20
|
+
* when nothing was being edited.
|
|
21
|
+
*/
|
|
22
|
+
validation: Promise<void> | null;
|
|
23
|
+
/** Set when ManualColumnMove ran its move before this press was resolved. */
|
|
24
|
+
consumedByMove: boolean;
|
|
25
|
+
}
|
|
12
26
|
export interface SortConfig {
|
|
13
27
|
column: number;
|
|
14
28
|
sortOrder: string;
|
|
@@ -47,7 +61,7 @@ export interface SortConfig {
|
|
|
47
61
|
* }
|
|
48
62
|
*
|
|
49
63
|
* // as an object passed to the `column` property, allows specifying a custom options for the desired column.
|
|
50
|
-
* //
|
|
64
|
+
* // see the `columns` option documentation: @/api/options.md#columns
|
|
51
65
|
* columns: [{
|
|
52
66
|
* columnSorting: {
|
|
53
67
|
* indicator: false, // disable indicator for the first column,
|
|
@@ -308,6 +322,11 @@ export declare class ColumnSorting extends BasePlugin {
|
|
|
308
322
|
/**
|
|
309
323
|
* Callback for the `onAfterOnCellMouseDown` hook.
|
|
310
324
|
*
|
|
325
|
+
* Queues the sort rather than running it. The header is also the surface ManualColumnMove
|
|
326
|
+
* drags a column by, so which action the user meant is only known once the button is
|
|
327
|
+
* released: a press that stays put is a click to sort, a press that travels is a drag.
|
|
328
|
+
* Selection changes stay here so the header still reacts the moment it is pressed.
|
|
329
|
+
*
|
|
311
330
|
* @private
|
|
312
331
|
* @param {Event} event Event which are provided by hook.
|
|
313
332
|
* @param {CellCoords} coords Visual coords of the selected cell.
|
|
@@ -316,6 +335,16 @@ export declare class ColumnSorting extends BasePlugin {
|
|
|
316
335
|
row: number;
|
|
317
336
|
col: number;
|
|
318
337
|
}): void;
|
|
338
|
+
/**
|
|
339
|
+
* Applies the sort queued by a header press.
|
|
340
|
+
*
|
|
341
|
+
* Kept separate from the press handler so `MultiColumnSorting` can choose a different sort
|
|
342
|
+
* configuration for the same gesture without repeating the click-versus-drag handling.
|
|
343
|
+
*
|
|
344
|
+
* @private
|
|
345
|
+
* @param {object} press The press that queued this sort.
|
|
346
|
+
*/
|
|
347
|
+
applyHeaderClickSort(press: HeaderSortPress): void;
|
|
319
348
|
/**
|
|
320
349
|
* Destroys the plugin instance.
|
|
321
350
|
*/
|
|
@@ -31,7 +31,6 @@ const _object = require("../../helpers/object");
|
|
|
31
31
|
const _function = require("../../helpers/function");
|
|
32
32
|
const _array = require("../../helpers/array");
|
|
33
33
|
const _base = require("../base");
|
|
34
|
-
const _translations = require("../../translations");
|
|
35
34
|
const _hooks = require("../../core/hooks");
|
|
36
35
|
const _columnStatesManager = require("./columnStatesManager");
|
|
37
36
|
const _contexts = require("../../shortcuts/contexts");
|
|
@@ -46,15 +45,12 @@ function _check_private_redeclaration(obj, privateCollection) {
|
|
|
46
45
|
}
|
|
47
46
|
}
|
|
48
47
|
function _class_apply_descriptor_get(receiver, descriptor) {
|
|
49
|
-
if (descriptor.get)
|
|
50
|
-
return descriptor.get.call(receiver);
|
|
51
|
-
}
|
|
48
|
+
if (descriptor.get) return descriptor.get.call(receiver);
|
|
52
49
|
return descriptor.value;
|
|
53
50
|
}
|
|
54
51
|
function _class_apply_descriptor_set(receiver, descriptor, value) {
|
|
55
|
-
if (descriptor.set)
|
|
56
|
-
|
|
57
|
-
} else {
|
|
52
|
+
if (descriptor.set) descriptor.set.call(receiver, value);
|
|
53
|
+
else {
|
|
58
54
|
if (!descriptor.writable) {
|
|
59
55
|
throw new TypeError("attempted to set read only private field");
|
|
60
56
|
}
|
|
@@ -62,9 +58,7 @@ function _class_apply_descriptor_set(receiver, descriptor, value) {
|
|
|
62
58
|
}
|
|
63
59
|
}
|
|
64
60
|
function _class_extract_field_descriptor(receiver, privateMap, action) {
|
|
65
|
-
if (!privateMap.has(receiver))
|
|
66
|
-
throw new TypeError("attempted to " + action + " private field on non-instance");
|
|
67
|
-
}
|
|
61
|
+
if (!privateMap.has(receiver)) throw new TypeError("attempted to " + action + " private field on non-instance");
|
|
68
62
|
return privateMap.get(receiver);
|
|
69
63
|
}
|
|
70
64
|
function _class_private_field_get(receiver, privateMap) {
|
|
@@ -80,11 +74,25 @@ function _class_private_field_set(receiver, privateMap, value) {
|
|
|
80
74
|
_class_apply_descriptor_set(receiver, descriptor, value);
|
|
81
75
|
return value;
|
|
82
76
|
}
|
|
77
|
+
function _class_private_method_get(receiver, privateSet, fn) {
|
|
78
|
+
if (!privateSet.has(receiver)) throw new TypeError("attempted to get private field on non-instance");
|
|
79
|
+
return fn;
|
|
80
|
+
}
|
|
81
|
+
function _class_private_method_init(obj, privateSet) {
|
|
82
|
+
_check_private_redeclaration(obj, privateSet);
|
|
83
|
+
privateSet.add(obj);
|
|
84
|
+
}
|
|
83
85
|
const PLUGIN_KEY = 'columnSorting';
|
|
84
86
|
const PLUGIN_PRIORITY = 50;
|
|
85
87
|
const APPEND_COLUMN_CONFIG_STRATEGY = 'append';
|
|
86
88
|
const REPLACE_COLUMN_CONFIG_STRATEGY = 'replace';
|
|
87
89
|
const SHORTCUTS_GROUP = PLUGIN_KEY;
|
|
90
|
+
/**
|
|
91
|
+
* Marks the header container of a column that is showing a sort indicator. The indicator is
|
|
92
|
+
* positioned against that container, so the room it needs is reserved there rather than as padding
|
|
93
|
+
* on the label - padding on the label would enlarge the area that sorts on click, which is exactly
|
|
94
|
+
* what it must not do. A class rather than a `:has()` selector, which is banned in this package.
|
|
95
|
+
*/ const CONTAINER_WITH_INDICATOR_CLASS = 'has-sort-indicator';
|
|
88
96
|
(0, _sortService.registerRootComparator)(PLUGIN_KEY, _rootComparator.rootComparator);
|
|
89
97
|
_hooks.Hooks.getSingleton().register('beforeColumnSort');
|
|
90
98
|
_hooks.Hooks.getSingleton().register('afterColumnSort');
|
|
@@ -94,6 +102,8 @@ _hooks.Hooks.getSingleton().register('afterColumnSort');
|
|
|
94
102
|
* the other should remain disabled even if it's set to `true`.
|
|
95
103
|
*/ const pluginConflictsState = new WeakMap();
|
|
96
104
|
var /**
|
|
105
|
+
* Sort queued by a header press, applied on mouse up unless the press became a column drag.
|
|
106
|
+
*/ _pendingHeaderSort = /*#__PURE__*/ new WeakMap(), /**
|
|
97
107
|
* Sort by predefined plugin configuration.
|
|
98
108
|
*/ _loadOrSortBySettings = /*#__PURE__*/ new WeakMap(), /**
|
|
99
109
|
* Callback for the `onAfterGetColHeader` hook. Adds column sorting CSS classes.
|
|
@@ -101,6 +111,15 @@ var /**
|
|
|
101
111
|
* @param {number} column Visual column index.
|
|
102
112
|
* @param {Element} TH TH HTML element.
|
|
103
113
|
*/ _onAfterGetColHeader = /*#__PURE__*/ new WeakMap(), /**
|
|
114
|
+
* Reserves room for the sort indicator on the header container, matching the state the label
|
|
115
|
+
* was just given.
|
|
116
|
+
*
|
|
117
|
+
* Called from the header render paths, not from `updateHeaderClasses`, so it runs after any
|
|
118
|
+
* subclass override has finished adding its classes. `TableView` rebuilds the container's class
|
|
119
|
+
* list on every render, so this has to run per render.
|
|
120
|
+
*
|
|
121
|
+
* @param {HTMLElement} headerSpanElement The header label element.
|
|
122
|
+
*/ _syncIndicatorReserve = /*#__PURE__*/ new WeakSet(), /**
|
|
104
123
|
* Callback for the `afterLoadData` hook.
|
|
105
124
|
*
|
|
106
125
|
* @param {boolean} initialLoad Flag that determines whether the data has been loaded during the initialization.
|
|
@@ -112,7 +131,17 @@ var /**
|
|
|
112
131
|
* @param {HTMLElement} TD The cell element.
|
|
113
132
|
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
|
114
133
|
* a boolean value that allows or disallows changing the selection for that particular area.
|
|
115
|
-
*/ _onBeforeOnCellMouseDown = /*#__PURE__*/ new WeakMap()
|
|
134
|
+
*/ _onBeforeOnCellMouseDown = /*#__PURE__*/ new WeakMap(), /**
|
|
135
|
+
* Resolves a header press on release: sorts, unless ManualColumnMove turned the press into a
|
|
136
|
+
* drag.
|
|
137
|
+
*
|
|
138
|
+
* Safe to call more than once for the same gesture - the queued press is taken first, so
|
|
139
|
+
* whichever release signal arrives first wins and the rest are no-ops.
|
|
140
|
+
*/ _resolvePendingSort = /*#__PURE__*/ new WeakMap(), /**
|
|
141
|
+
* Marks a queued press as spent once ManualColumnMove has moved the column.
|
|
142
|
+
*/ _onAfterColumnMove = /*#__PURE__*/ new WeakMap(), /**
|
|
143
|
+
* Whether ManualColumnMove is mid-drag. False when that plugin is absent or disabled.
|
|
144
|
+
*/ _isColumnBeingDragged = /*#__PURE__*/ new WeakSet();
|
|
116
145
|
class ColumnSorting extends _base.BasePlugin {
|
|
117
146
|
/**
|
|
118
147
|
* Returns the plugin key used to identify this plugin in Handsontable settings.
|
|
@@ -147,17 +176,24 @@ class ColumnSorting extends _base.BasePlugin {
|
|
|
147
176
|
}
|
|
148
177
|
pluginConflictsState.set(this.hot, this.pluginKey);
|
|
149
178
|
this.columnStatesManager = new _columnStatesManager.ColumnStatesManager(this.hot, `${this.pluginKey}.sortingStates`);
|
|
150
|
-
this.columnMetaCache =
|
|
179
|
+
this.columnMetaCache = this.hot.columnIndexMapper.createAndRegisterIndexMap(`${this.pluginKey}.columnMeta`, 'physicalIndexToValue', (physicalIndex)=>{
|
|
151
180
|
let visualIndex = this.hot.toVisualColumn(physicalIndex);
|
|
152
181
|
if (visualIndex === null) {
|
|
153
182
|
visualIndex = physicalIndex;
|
|
154
183
|
}
|
|
155
184
|
return this.getMergedPluginSettings(visualIndex);
|
|
156
185
|
});
|
|
157
|
-
this.hot.columnIndexMapper.registerMap(`${this.pluginKey}.columnMeta`, this.columnMetaCache);
|
|
158
186
|
this.addHook('afterGetColHeader', _class_private_field_get(this, _onAfterGetColHeader));
|
|
159
187
|
this.addHook('beforeOnCellMouseDown', _class_private_field_get(this, _onBeforeOnCellMouseDown));
|
|
160
188
|
this.addHook('afterOnCellMouseDown', (event, target)=>this.onAfterOnCellMouseDown(event, target));
|
|
189
|
+
// Primary release signal. On touch devices Walkontable calls its `onMouseUp` directly from
|
|
190
|
+
// `touchend` instead of dispatching a DOM `mouseup`, so a document listener alone would never
|
|
191
|
+
// fire and tapping a header would stop sorting.
|
|
192
|
+
this.addHook('afterOnCellMouseUp', _class_private_field_get(this, _resolvePendingSort));
|
|
193
|
+
// Fallback for a release that lands outside any cell - that is the drag case, and the queued
|
|
194
|
+
// sort still has to be cleared rather than left pending for the next release.
|
|
195
|
+
this.eventManager.addEventListener(this.hot.rootDocument.documentElement, 'mouseup', ()=>_class_private_field_get(this, _resolvePendingSort).call(this));
|
|
196
|
+
this.addHook('afterColumnMove', _class_private_field_get(this, _onAfterColumnMove));
|
|
161
197
|
this.addHook('afterInit', _class_private_field_get(this, _loadOrSortBySettings));
|
|
162
198
|
this.addHook('afterLoadData', _class_private_field_get(this, _onAfterLoadData));
|
|
163
199
|
this.addHook('afterDataProviderFetch', _class_private_field_get(this, _onAfterDataProviderFetch), -1);
|
|
@@ -177,6 +213,7 @@ class ColumnSorting extends _base.BasePlugin {
|
|
|
177
213
|
return;
|
|
178
214
|
}
|
|
179
215
|
this.updateHeaderClasses(headerSpanElement);
|
|
216
|
+
_class_private_method_get(this, _syncIndicatorReserve, syncIndicatorReserve).call(this, headerSpanElement);
|
|
180
217
|
};
|
|
181
218
|
pluginConflictsState.delete(this.hot);
|
|
182
219
|
// Changing header width and removing indicator.
|
|
@@ -195,6 +232,7 @@ class ColumnSorting extends _base.BasePlugin {
|
|
|
195
232
|
this.columnStatesManager?.destroy();
|
|
196
233
|
this.columnMetaCache = null;
|
|
197
234
|
this.columnStatesManager = null;
|
|
235
|
+
_class_private_field_set(this, _pendingHeaderSort, null);
|
|
198
236
|
this.unregisterShortcuts();
|
|
199
237
|
super.disablePlugin();
|
|
200
238
|
}
|
|
@@ -263,7 +301,7 @@ class ColumnSorting extends _base.BasePlugin {
|
|
|
263
301
|
return;
|
|
264
302
|
}
|
|
265
303
|
if (currentSortConfig.length === 0 && this.indexesSequenceCache === null) {
|
|
266
|
-
this.indexesSequenceCache = this.hot.rowIndexMapper.
|
|
304
|
+
this.indexesSequenceCache = this.hot.rowIndexMapper.createAndRegisterIndexMap(this.pluginKey, 'indexesSequence');
|
|
267
305
|
this.indexesSequenceCache.setValues(this.hot.rowIndexMapper.getIndexesSequence());
|
|
268
306
|
}
|
|
269
307
|
if (sortPossible) {
|
|
@@ -452,7 +490,7 @@ class ColumnSorting extends _base.BasePlugin {
|
|
|
452
490
|
*/ getMergedPluginSettings(column) {
|
|
453
491
|
const pluginMainSettings = this.hot.getSettings()[this.pluginKey];
|
|
454
492
|
const storedColumnProperties = this.columnStatesManager?.getAllColumnsProperties() ?? {};
|
|
455
|
-
const cellMeta = this.hot.
|
|
493
|
+
const cellMeta = this.hot.getCellMetaTransient(0, column);
|
|
456
494
|
const columnMeta = Object.getPrototypeOf(cellMeta);
|
|
457
495
|
if (Array.isArray(columnMeta.columns)) {
|
|
458
496
|
return Object.assign(storedColumnProperties, pluginMainSettings, this.getPluginColumnConfig(columnMeta.columns[column]));
|
|
@@ -471,7 +509,7 @@ class ColumnSorting extends _base.BasePlugin {
|
|
|
471
509
|
*/ // TODO: Workaround. Inheriting of non-primitive cell meta values doesn't work. Instead of getting properties from column meta we call this function.
|
|
472
510
|
// TODO: Remove test named: "should not break the dataset when inserted new row" (#5431).
|
|
473
511
|
getFirstCellSettings(column) {
|
|
474
|
-
const cellMeta = this.hot.
|
|
512
|
+
const cellMeta = this.hot.getCellMetaTransient(0, column);
|
|
475
513
|
const cellMetaCopy = Object.create(cellMeta);
|
|
476
514
|
cellMetaCopy[this.pluginKey] = this.columnMetaCache?.getValueAtIndex(this.hot.toPhysicalColumn(column));
|
|
477
515
|
return cellMetaCopy;
|
|
@@ -597,6 +635,11 @@ class ColumnSorting extends _base.BasePlugin {
|
|
|
597
635
|
/**
|
|
598
636
|
* Callback for the `onAfterOnCellMouseDown` hook.
|
|
599
637
|
*
|
|
638
|
+
* Queues the sort rather than running it. The header is also the surface ManualColumnMove
|
|
639
|
+
* drags a column by, so which action the user meant is only known once the button is
|
|
640
|
+
* released: a press that stays put is a click to sort, a press that travels is a drag.
|
|
641
|
+
* Selection changes stay here so the header still reacts the moment it is pressed.
|
|
642
|
+
*
|
|
600
643
|
* @private
|
|
601
644
|
* @param {Event} event Event which are provided by hook.
|
|
602
645
|
* @param {CellCoords} coords Visual coords of the selected cell.
|
|
@@ -604,33 +647,56 @@ class ColumnSorting extends _base.BasePlugin {
|
|
|
604
647
|
if ((0, _utils.wasHeaderClickedProperly)(coords.row, coords.col, event) === false) {
|
|
605
648
|
return;
|
|
606
649
|
}
|
|
607
|
-
if (this.wasClickableHeaderClicked(event, coords.col)) {
|
|
608
|
-
|
|
609
|
-
this.hot.deselectCell();
|
|
610
|
-
this.hot.selectColumns(coords.col);
|
|
611
|
-
}
|
|
612
|
-
const activeEditor = this.hot.getActiveEditor();
|
|
613
|
-
const nextConfig = this.getColumnNextConfig(coords.col);
|
|
614
|
-
if (activeEditor?.isOpened() && this.hot.getCellValidator(activeEditor.row, activeEditor.col)) {
|
|
615
|
-
// Postpone sorting until the cell's value is validated and saved.
|
|
616
|
-
this.hot.addHookOnce('postAfterValidate', ()=>{
|
|
617
|
-
this.sort(nextConfig);
|
|
618
|
-
});
|
|
619
|
-
} else {
|
|
620
|
-
this.sort(nextConfig);
|
|
621
|
-
}
|
|
650
|
+
if (this.wasClickableHeaderClicked(event, coords.col) === false) {
|
|
651
|
+
return;
|
|
622
652
|
}
|
|
653
|
+
const isCtrlPressed = this.hot.getShortcutManager().isCtrlPressed();
|
|
654
|
+
if (isCtrlPressed) {
|
|
655
|
+
this.hot.deselectCell();
|
|
656
|
+
this.hot.selectColumns(coords.col);
|
|
657
|
+
}
|
|
658
|
+
const activeEditor = this.hot.getActiveEditor();
|
|
659
|
+
const awaitsValidation = !!(activeEditor?.isOpened() && this.hot.getCellValidator(activeEditor.row, activeEditor.col));
|
|
660
|
+
_class_private_field_set(this, _pendingHeaderSort, {
|
|
661
|
+
column: coords.col,
|
|
662
|
+
isCtrlPressed,
|
|
663
|
+
// Subscribed on press, not on release: selecting the column closes the editor and its
|
|
664
|
+
// validation runs in a microtask, so it is already over before mouse up. Reading
|
|
665
|
+
// `awaitsValidation` on release is wrong too - by then the new selection has opened an
|
|
666
|
+
// editor on the highlighted cell.
|
|
667
|
+
validation: awaitsValidation ? new Promise((resolve)=>{
|
|
668
|
+
this.hot.addHookOnce('postAfterValidate', ()=>resolve());
|
|
669
|
+
}) : null,
|
|
670
|
+
consumedByMove: false
|
|
671
|
+
});
|
|
672
|
+
}
|
|
673
|
+
/**
|
|
674
|
+
* Applies the sort queued by a header press.
|
|
675
|
+
*
|
|
676
|
+
* Kept separate from the press handler so `MultiColumnSorting` can choose a different sort
|
|
677
|
+
* configuration for the same gesture without repeating the click-versus-drag handling.
|
|
678
|
+
*
|
|
679
|
+
* @private
|
|
680
|
+
* @param {object} press The press that queued this sort.
|
|
681
|
+
*/ applyHeaderClickSort(press) {
|
|
682
|
+
this.sort(this.getColumnNextConfig(press.column));
|
|
623
683
|
}
|
|
624
684
|
/**
|
|
625
685
|
* Destroys the plugin instance.
|
|
626
686
|
*/ destroy() {
|
|
687
|
+
// `BasePlugin.destroy` nulls enumerable own properties, which cannot reach a `#private`
|
|
688
|
+
// field, so drop the queued press here.
|
|
689
|
+
_class_private_field_set(this, _pendingHeaderSort, null);
|
|
627
690
|
// TODO: Probably not supported yet by ESLint: https://github.com/eslint/eslint/issues/11045
|
|
628
691
|
// eslint-disable-next-line no-unused-expressions
|
|
629
692
|
this.columnStatesManager?.destroy();
|
|
630
693
|
super.destroy();
|
|
631
694
|
}
|
|
632
695
|
constructor(...args){
|
|
633
|
-
super(...args), _class_private_field_init(this,
|
|
696
|
+
super(...args), _class_private_method_init(this, _syncIndicatorReserve), _class_private_method_init(this, _isColumnBeingDragged), _class_private_field_init(this, _pendingHeaderSort, {
|
|
697
|
+
writable: true,
|
|
698
|
+
value: void 0
|
|
699
|
+
}), _class_private_field_init(this, _loadOrSortBySettings, {
|
|
634
700
|
writable: true,
|
|
635
701
|
value: void 0
|
|
636
702
|
}), _class_private_field_init(this, _onAfterGetColHeader, {
|
|
@@ -650,6 +716,12 @@ class ColumnSorting extends _base.BasePlugin {
|
|
|
650
716
|
}), _class_private_field_init(this, _onBeforeOnCellMouseDown, {
|
|
651
717
|
writable: true,
|
|
652
718
|
value: void 0
|
|
719
|
+
}), _class_private_field_init(this, _resolvePendingSort, {
|
|
720
|
+
writable: true,
|
|
721
|
+
value: void 0
|
|
722
|
+
}), _class_private_field_init(this, _onAfterColumnMove, {
|
|
723
|
+
writable: true,
|
|
724
|
+
value: void 0
|
|
653
725
|
}), /**
|
|
654
726
|
* Instance of column state manager.
|
|
655
727
|
*
|
|
@@ -660,7 +732,7 @@ class ColumnSorting extends _base.BasePlugin {
|
|
|
660
732
|
*
|
|
661
733
|
* @private
|
|
662
734
|
* @type {null|PhysicalIndexToValueMap}
|
|
663
|
-
*/ this.columnMetaCache = null, /**
|
|
735
|
+
*/ this.columnMetaCache = null, _class_private_field_set(this, _pendingHeaderSort, null), /**
|
|
664
736
|
* Main settings key designed for the plugin.
|
|
665
737
|
*
|
|
666
738
|
* @private
|
|
@@ -683,6 +755,7 @@ class ColumnSorting extends _base.BasePlugin {
|
|
|
683
755
|
const showSortIndicator = pluginSettingsForColumn.indicator;
|
|
684
756
|
const headerActionEnabled = pluginSettingsForColumn.headerAction;
|
|
685
757
|
this.updateHeaderClasses(headerSpanElement, this.columnStatesManager ?? undefined, column, showSortIndicator, headerActionEnabled);
|
|
758
|
+
_class_private_method_get(this, _syncIndicatorReserve, syncIndicatorReserve).call(this, headerSpanElement);
|
|
686
759
|
if (this.hot.getSettings().ariaTags) {
|
|
687
760
|
const currentSortState = this.columnStatesManager?.getSortOrderOfColumn(column);
|
|
688
761
|
(0, _element.setAttribute)(TH, ...(0, _a11y.A11Y_SORT)(currentSortState ? `${currentSortState}ending` : 'none'));
|
|
@@ -697,12 +770,59 @@ class ColumnSorting extends _base.BasePlugin {
|
|
|
697
770
|
}), _class_private_field_set(this, _onAfterDataProviderFetch, (result)=>{
|
|
698
771
|
this.setSortConfig(result?.columnSortConfig ?? []);
|
|
699
772
|
}), _class_private_field_set(this, _onBeforeOnCellMouseDown, (event, coords, TD, controller)=>{
|
|
773
|
+
// Drop any press whose release never arrived - e.g. the window lost focus while the button
|
|
774
|
+
// was held. Without this a stale press would resolve on the next unrelated release and sort
|
|
775
|
+
// a column out of nowhere.
|
|
776
|
+
_class_private_field_set(this, _pendingHeaderSort, null);
|
|
700
777
|
if ((0, _utils.wasHeaderClickedProperly)(coords.row, coords.col, event) === false) {
|
|
701
778
|
return;
|
|
702
779
|
}
|
|
703
780
|
if (this.wasClickableHeaderClicked(event, coords.col) && this.hot.getShortcutManager().isCtrlPressed()) {
|
|
704
781
|
controller.column = true;
|
|
705
782
|
}
|
|
783
|
+
}), _class_private_field_set(this, _resolvePendingSort, ()=>{
|
|
784
|
+
const pending = _class_private_field_get(this, _pendingHeaderSort);
|
|
785
|
+
if (pending === null) {
|
|
786
|
+
return;
|
|
787
|
+
}
|
|
788
|
+
_class_private_field_set(this, _pendingHeaderSort, null);
|
|
789
|
+
// Two signals, because both plugins handle the same `mouseup` and the listener order is not
|
|
790
|
+
// fixed - re-enabling `columnSorting` after `manualColumnMove` appends this plugin's listener
|
|
791
|
+
// last. Running first, the drag is still in progress; running second, the move has already
|
|
792
|
+
// fired. Either one cancels the sort.
|
|
793
|
+
if (pending.consumedByMove || _class_private_method_get(this, _isColumnBeingDragged, isColumnBeingDragged).call(this)) {
|
|
794
|
+
return;
|
|
795
|
+
}
|
|
796
|
+
// A cell that was mid-edit must finish validating before the rows move under it. Waited on
|
|
797
|
+
// here, not in `applyHeaderClickSort`, so subclasses that override that seam still get it.
|
|
798
|
+
if (pending.validation === null) {
|
|
799
|
+
this.applyHeaderClickSort(pending);
|
|
800
|
+
return;
|
|
801
|
+
}
|
|
802
|
+
void pending.validation.then(()=>this.applyHeaderClickSort(pending));
|
|
803
|
+
}), _class_private_field_set(this, _onAfterColumnMove, ()=>{
|
|
804
|
+
if (_class_private_field_get(this, _pendingHeaderSort) !== null) {
|
|
805
|
+
_class_private_field_get(this, _pendingHeaderSort).consumedByMove = true;
|
|
806
|
+
}
|
|
706
807
|
});
|
|
707
808
|
}
|
|
708
809
|
}
|
|
810
|
+
function syncIndicatorReserve(headerSpanElement) {
|
|
811
|
+
const container = headerSpanElement.parentElement;
|
|
812
|
+
if (container === null) {
|
|
813
|
+
return;
|
|
814
|
+
}
|
|
815
|
+
// `sortAction` is required: the CSS that pulls the indicator out of the flex row is keyed on
|
|
816
|
+
// it. With `headerAction: false` the label shows an indicator but keeps its full width, so
|
|
817
|
+
// reserving would just push it inwards.
|
|
818
|
+
const showsIndicator = (0, _element.hasClass)(headerSpanElement, _domHelpers.HEADER_ACTION_CLASS) && ((0, _element.hasClass)(headerSpanElement, _domHelpers.HEADER_CLASS_ASC_SORT) || (0, _element.hasClass)(headerSpanElement, _domHelpers.HEADER_CLASS_DESC_SORT));
|
|
819
|
+
if (showsIndicator) {
|
|
820
|
+
(0, _element.addClass)(container, CONTAINER_WITH_INDICATOR_CLASS);
|
|
821
|
+
} else {
|
|
822
|
+
(0, _element.removeClass)(container, CONTAINER_WITH_INDICATOR_CLASS);
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
function isColumnBeingDragged() {
|
|
826
|
+
const manualColumnMove = this.hot.getPlugin('manualColumnMove');
|
|
827
|
+
return manualColumnMove?.isDragging() === true;
|
|
828
|
+
}
|