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,18 +34,17 @@ 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) {
|
|
48
41
|
_check_private_redeclaration(obj, privateSet);
|
|
49
42
|
privateSet.add(obj);
|
|
50
43
|
}
|
|
51
|
-
import { removeClass, addClass, setAttribute, removeAttribute } from '../../../../helpers/dom/element.mjs';
|
|
44
|
+
import { removeClass, addClass, setAttribute, removeAttribute, isHTMLElement } from '../../../../helpers/dom/element.mjs';
|
|
52
45
|
import { SelectionScanner } from './scanner.mjs';
|
|
53
46
|
import Border from './border/border.mjs';
|
|
47
|
+
import { ACTIVE_HEADER_TYPE, CUSTOM_SELECTION_TYPE } from './constants.mjs';
|
|
54
48
|
var /**
|
|
55
49
|
* The overlay's Walkontable instance that are currently processed.
|
|
56
50
|
*
|
|
@@ -78,6 +72,76 @@ var /**
|
|
|
78
72
|
*
|
|
79
73
|
* @type {Map}
|
|
80
74
|
*/ _selectionBorders = /*#__PURE__*/ new WeakMap(), /**
|
|
75
|
+
* Checks whether a custom-border selection falls entirely outside the active overlay's rendered
|
|
76
|
+
* cell range, so its border does not need to be drawn (and its DOM does not need to exist) here.
|
|
77
|
+
* Mirrors the range test `Border#appear` performs before it early-outs, so culling produces the
|
|
78
|
+
* same visual result while avoiding the cost of materializing off-screen border DOM.
|
|
79
|
+
*
|
|
80
|
+
* @param {Selection} selection The custom-border selection instance.
|
|
81
|
+
* @returns {boolean}
|
|
82
|
+
*/ _isCustomSelectionOffscreen = /*#__PURE__*/ new WeakSet(), /**
|
|
83
|
+
* Tags the neighbours of a single active-header cell: the TH directly BEFORE an active header gets
|
|
84
|
+
* `<className>-prev` (the theme colors its inline-end border, giving the active header its
|
|
85
|
+
* inline-start accent), and every TH of the TBODY row directly ABOVE an active row header gets
|
|
86
|
+
* `<className>-prev-row` (the theme colors its bottom border, giving the active row header its top
|
|
87
|
+
* accent). Selecting on these stamped classes replaces the former
|
|
88
|
+
* `th:has(+ th.ht__active_highlight)` and `tr:has(+ tr > th.ht__active_highlight) th` theme rules:
|
|
89
|
+
* with the class name inside a `:has()` argument, every toggle of it (the selection pass re-applies
|
|
90
|
+
* it on each draw, and it moves between the recycled header nodes while scrolling) forced a style
|
|
91
|
+
* invalidation scaled to the whole host page. The row tag lands on TH elements (not the TR) so the
|
|
92
|
+
* per-band header render and `#resetCells` fully own its cleanup. Called once per scanned
|
|
93
|
+
* active-header element, from the class-applying pass in `render`.
|
|
94
|
+
*
|
|
95
|
+
* @param {HTMLElement} element A scanned active-header element.
|
|
96
|
+
* @param {string} activeHeaderClassName The active header class name (the neighbour classes derive from it).
|
|
97
|
+
* @param {Map} classNamesMap The render cycle's element→classNames map (applied and cleaned up later).
|
|
98
|
+
*/ _markActiveHeaderNeighbor = /*#__PURE__*/ new WeakSet(), /**
|
|
99
|
+
* Tags every TH of the TBODY row directly above the given active row-header cell — the row-axis
|
|
100
|
+
* half of {@link SelectionManager#markActiveHeaderNeighbor}.
|
|
101
|
+
*
|
|
102
|
+
* @param {HTMLElement} element The active row-header cell.
|
|
103
|
+
* @param {string} activeHeaderClassName The active header class name (the neighbour class derives from it).
|
|
104
|
+
* @param {Map} classNamesMap The render cycle's element→classNames map (applied and cleaned up later).
|
|
105
|
+
*/ _markPreviousRowHeaders = /*#__PURE__*/ new WeakSet(), /**
|
|
106
|
+
* Adds a seam class to a header element in the render cycle's class map, creating the per-element
|
|
107
|
+
* entry on first use. Shared by the frozen column/row seam taggers.
|
|
108
|
+
*
|
|
109
|
+
* @param {Map} classNamesMap The render cycle's element→classNames map (applied and cleaned up later).
|
|
110
|
+
* @param {HTMLElement} th The header element to tag.
|
|
111
|
+
* @param {string} seamClassName The seam class to add.
|
|
112
|
+
*/ _tagSeamClass = /*#__PURE__*/ new WeakSet(), /**
|
|
113
|
+
* Tags the last frozen column header with a seam class when the first non-frozen column is the
|
|
114
|
+
* active header. That header's inline-start edge lands on the frozen-pane seam, which is drawn by
|
|
115
|
+
* the frozen overlay (a separate table) and is therefore out of reach of the neighbour `:has()`
|
|
116
|
+
* rule that gives every other active header its inline-start accent. The class lets the theme color
|
|
117
|
+
* that seam to match. No-op unless `fixedColumnsStart` is used and this is the frozen overlay.
|
|
118
|
+
*
|
|
119
|
+
* @param {number[]} corners The active-header selection corners `[fromRow, fromColumn, toRow, toColumn]`.
|
|
120
|
+
* @param {string} activeHeaderClassName The active header class name (the seam class derives from it).
|
|
121
|
+
* @param {Map} classNamesMap The render cycle's element→classNames map (applied and cleaned up later).
|
|
122
|
+
*/ _markFrozenColumnSeamHeader = /*#__PURE__*/ new WeakSet(), /**
|
|
123
|
+
* Row-axis mirror of {@link SelectionManager#markFrozenColumnSeamHeader} for the top freeze:
|
|
124
|
+
* tags the last top-frozen row header with a seam class when the first non-frozen row is the
|
|
125
|
+
* active header. That row's top edge lands on the top freeze line, which is drawn by the top
|
|
126
|
+
* overlay (a separate table) and is therefore out of reach of the `:has(+ tr ...)` rule that gives
|
|
127
|
+
* every other active row header its top accent. The class lets the theme color the seam's bottom
|
|
128
|
+
* border to match. No-op unless `fixedRowsTop` is used and this is the top overlay.
|
|
129
|
+
*
|
|
130
|
+
* @param {number[]} corners The active-header selection corners `[fromRow, fromColumn, toRow, toColumn]`.
|
|
131
|
+
* @param {string} activeHeaderClassName The active header class name (the seam class derives from it).
|
|
132
|
+
* @param {Map} classNamesMap The render cycle's element→classNames map (applied and cleaned up later).
|
|
133
|
+
*/ _markFrozenTopRowSeamHeader = /*#__PURE__*/ new WeakSet(), /**
|
|
134
|
+
* Row-axis mirror of {@link SelectionManager#markFrozenColumnSeamHeader} for the bottom freeze:
|
|
135
|
+
* tags the first bottom-frozen row header with a seam class when the last non-frozen row is the
|
|
136
|
+
* active header. That row's bottom edge lands on the bottom freeze line, which is drawn by the
|
|
137
|
+
* bottom overlay (a separate table) and is therefore out of reach of the `:has(+ tr ...)` rule that
|
|
138
|
+
* gives every other active row header its top accent. The class lets the theme color the seam's top
|
|
139
|
+
* border to match. No-op unless `fixedRowsBottom` is used and this is the bottom overlay.
|
|
140
|
+
*
|
|
141
|
+
* @param {number[]} corners The active-header selection corners `[fromRow, fromColumn, toRow, toColumn]`.
|
|
142
|
+
* @param {string} activeHeaderClassName The active header class name (the seam class derives from it).
|
|
143
|
+
* @param {Map} classNamesMap The render cycle's element→classNames map (applied and cleaned up later).
|
|
144
|
+
*/ _markFrozenBottomRowSeamHeader = /*#__PURE__*/ new WeakSet(), /**
|
|
81
145
|
* Resets the elements to their initial state (remove the CSS classes that are added in the
|
|
82
146
|
* previous render cycle).
|
|
83
147
|
*/ _resetCells = /*#__PURE__*/ new WeakSet();
|
|
@@ -192,6 +256,16 @@ var /**
|
|
|
192
256
|
_class_private_field_get(this, _destroyListeners).add(selection);
|
|
193
257
|
selection.addLocalHook('destroy', ()=>this.destroyBorders(selection));
|
|
194
258
|
}
|
|
259
|
+
// Virtualize custom borders. A per-cell custom-border selection outside this overlay's rendered
|
|
260
|
+
// range draws nothing anyway - `appear()` early-outs once `getCell()` reports the cell as not
|
|
261
|
+
// rendered. Skipping it here (without calling `getBorderInstance`) means its Border DOM is never
|
|
262
|
+
// created while off-screen, which is what lets grids with very many bordered cells scale: only
|
|
263
|
+
// the visible borders get DOM and layout work, mirroring cell virtualization. The visual result
|
|
264
|
+
// is identical to letting `appear()` early-out, just without the O(all-borders) DOM.
|
|
265
|
+
if (selectionType === CUSTOM_SELECTION_TYPE && _class_private_method_get(this, _isCustomSelectionOffscreen, isCustomSelectionOffscreen).call(this, selection)) {
|
|
266
|
+
_class_private_field_get(this, _selectionBorders).get(selection)?.get(_class_private_field_get(this, _activeOverlaysWot))?.disappear();
|
|
267
|
+
continue; // eslint-disable-line no-continue
|
|
268
|
+
}
|
|
195
269
|
const borderInstance = this.getBorderInstance(selection);
|
|
196
270
|
if (selection.isEmpty()) {
|
|
197
271
|
borderInstance?.disappear();
|
|
@@ -199,6 +273,7 @@ var /**
|
|
|
199
273
|
}
|
|
200
274
|
if (className) {
|
|
201
275
|
const elements = _class_private_field_get(this, _scanner).setActiveSelection(selection).scan();
|
|
276
|
+
const isActiveHeader = selectionType === ACTIVE_HEADER_TYPE;
|
|
202
277
|
elements.forEach((element)=>{
|
|
203
278
|
if (classNamesMap.has(element)) {
|
|
204
279
|
const classNamesLayers = classNamesMap.get(element);
|
|
@@ -224,9 +299,19 @@ var /**
|
|
|
224
299
|
headerAttributesMap.get(element).push(...attrs);
|
|
225
300
|
}
|
|
226
301
|
}
|
|
302
|
+
// Tag the active-header neighbour classes in this same pass, so the scanned element set is
|
|
303
|
+
// walked once. Order into `classNamesMap` does not matter — it is applied after the loop.
|
|
304
|
+
if (isActiveHeader) {
|
|
305
|
+
_class_private_method_get(this, _markActiveHeaderNeighbor, markActiveHeaderNeighbor).call(this, element, className, classNamesMap);
|
|
306
|
+
}
|
|
227
307
|
});
|
|
228
308
|
}
|
|
229
309
|
const corners = selection.getCorners();
|
|
310
|
+
if (selectionType === ACTIVE_HEADER_TYPE && className) {
|
|
311
|
+
_class_private_method_get(this, _markFrozenColumnSeamHeader, markFrozenColumnSeamHeader).call(this, corners, className, classNamesMap);
|
|
312
|
+
_class_private_method_get(this, _markFrozenTopRowSeamHeader, markFrozenTopRowSeamHeader).call(this, corners, className, classNamesMap);
|
|
313
|
+
_class_private_method_get(this, _markFrozenBottomRowSeamHeader, markFrozenBottomRowSeamHeader).call(this, corners, className, classNamesMap);
|
|
314
|
+
}
|
|
230
315
|
_class_private_field_get(this, _activeOverlaysWot).getSetting('onBeforeDrawBorders', corners, selectionType);
|
|
231
316
|
borderInstance?.appear(corners);
|
|
232
317
|
}
|
|
@@ -261,6 +346,13 @@ var /**
|
|
|
261
346
|
*
|
|
262
347
|
* @param {SelectionsContainer | null} selections The Highlight instance that holds Selection instances.
|
|
263
348
|
*/ constructor(selections){
|
|
349
|
+
_class_private_method_init(this, _isCustomSelectionOffscreen);
|
|
350
|
+
_class_private_method_init(this, _markActiveHeaderNeighbor);
|
|
351
|
+
_class_private_method_init(this, _markPreviousRowHeaders);
|
|
352
|
+
_class_private_method_init(this, _tagSeamClass);
|
|
353
|
+
_class_private_method_init(this, _markFrozenColumnSeamHeader);
|
|
354
|
+
_class_private_method_init(this, _markFrozenTopRowSeamHeader);
|
|
355
|
+
_class_private_method_init(this, _markFrozenBottomRowSeamHeader);
|
|
264
356
|
_class_private_method_init(this, _resetCells);
|
|
265
357
|
_class_private_field_init(this, _activeOverlaysWot, {
|
|
266
358
|
writable: true,
|
|
@@ -294,6 +386,144 @@ var /**
|
|
|
294
386
|
_class_private_field_set(this, _selections, selections);
|
|
295
387
|
}
|
|
296
388
|
}
|
|
389
|
+
function isCustomSelectionOffscreen(selection) {
|
|
390
|
+
// A hidden/trimmed cell has a `null` cellRange (nothing to draw); treat it as off-screen and
|
|
391
|
+
// avoid `getCorners()`, which dereferences the range.
|
|
392
|
+
if (selection.isEmpty()) {
|
|
393
|
+
return true;
|
|
394
|
+
}
|
|
395
|
+
const { wtTable } = _class_private_field_get(this, _activeOverlaysWot);
|
|
396
|
+
const [fromRow, fromColumn, toRow, toColumn] = selection.getCorners();
|
|
397
|
+
const firstRow = wtTable.getFirstRenderedRow();
|
|
398
|
+
const lastRow = wtTable.getLastRenderedRow();
|
|
399
|
+
const firstColumn = wtTable.getFirstRenderedColumn();
|
|
400
|
+
const lastColumn = wtTable.getLastRenderedColumn();
|
|
401
|
+
// Nothing (or only headers) rendered in this overlay - the border cannot be visible here.
|
|
402
|
+
if (firstRow < 0 && lastRow < 0 || firstColumn < 0 && lastColumn < 0) {
|
|
403
|
+
return true;
|
|
404
|
+
}
|
|
405
|
+
return toRow < firstRow || fromRow > lastRow || toColumn < firstColumn || fromColumn > lastColumn;
|
|
406
|
+
}
|
|
407
|
+
function markActiveHeaderNeighbor(element, activeHeaderClassName, classNamesMap) {
|
|
408
|
+
if (element.nodeName !== 'TH') {
|
|
409
|
+
return;
|
|
410
|
+
}
|
|
411
|
+
const previousHeader = element.previousElementSibling;
|
|
412
|
+
if (previousHeader !== null && previousHeader.nodeName === 'TH') {
|
|
413
|
+
_class_private_method_get(this, _tagSeamClass, tagSeamClass).call(this, classNamesMap, previousHeader, `${activeHeaderClassName}-prev`);
|
|
414
|
+
}
|
|
415
|
+
_class_private_method_get(this, _markPreviousRowHeaders, markPreviousRowHeaders).call(this, element, activeHeaderClassName, classNamesMap);
|
|
416
|
+
}
|
|
417
|
+
function markPreviousRowHeaders(element, activeHeaderClassName, classNamesMap) {
|
|
418
|
+
const row = element.parentElement;
|
|
419
|
+
if (row === null || row.nodeName !== 'TR' || row.parentElement === null || row.parentElement.nodeName !== 'TBODY') {
|
|
420
|
+
return;
|
|
421
|
+
}
|
|
422
|
+
const previousRow = row.previousElementSibling;
|
|
423
|
+
if (previousRow === null || previousRow.nodeName !== 'TR') {
|
|
424
|
+
return;
|
|
425
|
+
}
|
|
426
|
+
for(let i = 0; i < previousRow.children.length; i++){
|
|
427
|
+
const cell = previousRow.children[i];
|
|
428
|
+
if (cell.nodeName !== 'TH') {
|
|
429
|
+
break;
|
|
430
|
+
}
|
|
431
|
+
_class_private_method_get(this, _tagSeamClass, tagSeamClass).call(this, classNamesMap, cell, `${activeHeaderClassName}-prev-row`);
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
function tagSeamClass(classNamesMap, th, seamClassName) {
|
|
435
|
+
if (classNamesMap.has(th)) {
|
|
436
|
+
classNamesMap.get(th).set(seamClassName, 1);
|
|
437
|
+
} else {
|
|
438
|
+
classNamesMap.set(th, new Map([
|
|
439
|
+
[
|
|
440
|
+
seamClassName,
|
|
441
|
+
1
|
|
442
|
+
]
|
|
443
|
+
]));
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
function markFrozenColumnSeamHeader(corners, activeHeaderClassName, classNamesMap) {
|
|
447
|
+
const wot = _class_private_field_get(this, _activeOverlaysWot);
|
|
448
|
+
const fixedColumnsStart = wot.getSetting('fixedColumnsStart');
|
|
449
|
+
if (fixedColumnsStart <= 0) {
|
|
450
|
+
return;
|
|
451
|
+
}
|
|
452
|
+
const { wtTable } = wot;
|
|
453
|
+
// Only the overlay that renders the frozen columns (and nothing past them) owns the seam line.
|
|
454
|
+
if (wtTable.getLastRenderedColumn() !== fixedColumnsStart - 1) {
|
|
455
|
+
return;
|
|
456
|
+
}
|
|
457
|
+
// The selection's inline-start column must sit exactly on the freeze line.
|
|
458
|
+
if (Math.min(corners[1], corners[3]) !== fixedColumnsStart) {
|
|
459
|
+
return;
|
|
460
|
+
}
|
|
461
|
+
const seamClassName = `${activeHeaderClassName}-seam`;
|
|
462
|
+
const headerLevels = wtTable.getColumnHeadersCount();
|
|
463
|
+
for(let level = 0; level < headerLevels; level++){
|
|
464
|
+
const th = wtTable.getColumnHeader(fixedColumnsStart - 1, level);
|
|
465
|
+
if (isHTMLElement(th)) {
|
|
466
|
+
_class_private_method_get(this, _tagSeamClass, tagSeamClass).call(this, classNamesMap, th, seamClassName);
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
function markFrozenTopRowSeamHeader(corners, activeHeaderClassName, classNamesMap) {
|
|
471
|
+
const wot = _class_private_field_get(this, _activeOverlaysWot);
|
|
472
|
+
const fixedRowsTop = wot.getSetting('fixedRowsTop');
|
|
473
|
+
if (fixedRowsTop <= 0) {
|
|
474
|
+
return;
|
|
475
|
+
}
|
|
476
|
+
const { wtTable } = wot;
|
|
477
|
+
const lastFrozenRow = fixedRowsTop - 1;
|
|
478
|
+
// Only the overlay that renders the top-frozen rows (ending exactly on the freeze line) owns the
|
|
479
|
+
// seam line.
|
|
480
|
+
if (wtTable.getLastRenderedRow() !== lastFrozenRow) {
|
|
481
|
+
return;
|
|
482
|
+
}
|
|
483
|
+
// The selection's top row must sit exactly on the first non-frozen row.
|
|
484
|
+
if (Math.min(corners[0], corners[2]) !== fixedRowsTop) {
|
|
485
|
+
return;
|
|
486
|
+
}
|
|
487
|
+
const seamClassName = `${activeHeaderClassName}-row-seam-top`;
|
|
488
|
+
const headerLevels = wtTable.getRowHeadersCount();
|
|
489
|
+
for(let level = 0; level < headerLevels; level++){
|
|
490
|
+
const th = wtTable.getRowHeader(lastFrozenRow, level);
|
|
491
|
+
// Overlays without row headers (e.g. the plain `top` overlay) return a TD here; only tag actual
|
|
492
|
+
// row-header cells.
|
|
493
|
+
if (isHTMLElement(th) && th.nodeName === 'TH') {
|
|
494
|
+
_class_private_method_get(this, _tagSeamClass, tagSeamClass).call(this, classNamesMap, th, seamClassName);
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
function markFrozenBottomRowSeamHeader(corners, activeHeaderClassName, classNamesMap) {
|
|
499
|
+
const wot = _class_private_field_get(this, _activeOverlaysWot);
|
|
500
|
+
const fixedRowsBottom = wot.getSetting('fixedRowsBottom');
|
|
501
|
+
if (fixedRowsBottom <= 0) {
|
|
502
|
+
return;
|
|
503
|
+
}
|
|
504
|
+
const { wtTable } = wot;
|
|
505
|
+
const totalRows = wot.getSetting('totalRows');
|
|
506
|
+
const firstFrozenRow = totalRows - fixedRowsBottom;
|
|
507
|
+
// Only the overlay that renders the bottom-frozen rows (starting exactly on the freeze line) owns
|
|
508
|
+
// the seam line.
|
|
509
|
+
if (wtTable.getFirstRenderedRow() !== firstFrozenRow) {
|
|
510
|
+
return;
|
|
511
|
+
}
|
|
512
|
+
// The selection's bottom row must sit exactly on the last non-frozen row.
|
|
513
|
+
if (Math.max(corners[0], corners[2]) !== firstFrozenRow - 1) {
|
|
514
|
+
return;
|
|
515
|
+
}
|
|
516
|
+
const seamClassName = `${activeHeaderClassName}-row-seam-bottom`;
|
|
517
|
+
const headerLevels = wtTable.getRowHeadersCount();
|
|
518
|
+
for(let level = 0; level < headerLevels; level++){
|
|
519
|
+
const th = wtTable.getRowHeader(firstFrozenRow, level);
|
|
520
|
+
// Overlays without row headers (e.g. the plain `bottom` overlay) return a TD here; only tag
|
|
521
|
+
// actual row-header cells.
|
|
522
|
+
if (isHTMLElement(th) && th.nodeName === 'TH') {
|
|
523
|
+
_class_private_method_get(this, _tagSeamClass, tagSeamClass).call(this, classNamesMap, th, seamClassName);
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
}
|
|
297
527
|
function resetCells() {
|
|
298
528
|
const appliedOverlaysClasses = _class_private_field_get(this, _appliedClasses).get(_class_private_field_get(this, _activeOverlaysWot));
|
|
299
529
|
if (!appliedOverlaysClasses) {
|
|
@@ -15,15 +15,12 @@ function _check_private_redeclaration(obj, privateCollection) {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
function _class_apply_descriptor_get(receiver, descriptor) {
|
|
18
|
-
if (descriptor.get)
|
|
19
|
-
return descriptor.get.call(receiver);
|
|
20
|
-
}
|
|
18
|
+
if (descriptor.get) return descriptor.get.call(receiver);
|
|
21
19
|
return descriptor.value;
|
|
22
20
|
}
|
|
23
21
|
function _class_apply_descriptor_set(receiver, descriptor, value) {
|
|
24
|
-
if (descriptor.set)
|
|
25
|
-
|
|
26
|
-
} else {
|
|
22
|
+
if (descriptor.set) descriptor.set.call(receiver, value);
|
|
23
|
+
else {
|
|
27
24
|
if (!descriptor.writable) {
|
|
28
25
|
throw new TypeError("attempted to set read only private field");
|
|
29
26
|
}
|
|
@@ -31,9 +28,7 @@ function _class_apply_descriptor_set(receiver, descriptor, value) {
|
|
|
31
28
|
}
|
|
32
29
|
}
|
|
33
30
|
function _class_extract_field_descriptor(receiver, privateMap, action) {
|
|
34
|
-
if (!privateMap.has(receiver))
|
|
35
|
-
throw new TypeError("attempted to " + action + " private field on non-instance");
|
|
36
|
-
}
|
|
31
|
+
if (!privateMap.has(receiver)) throw new TypeError("attempted to " + action + " private field on non-instance");
|
|
37
32
|
return privateMap.get(receiver);
|
|
38
33
|
}
|
|
39
34
|
function _class_private_field_get(receiver, privateMap) {
|
|
@@ -50,9 +45,7 @@ function _class_private_field_set(receiver, privateMap, value) {
|
|
|
50
45
|
return value;
|
|
51
46
|
}
|
|
52
47
|
function _class_private_method_get(receiver, privateSet, fn) {
|
|
53
|
-
if (!privateSet.has(receiver))
|
|
54
|
-
throw new TypeError("attempted to get private field on non-instance");
|
|
55
|
-
}
|
|
48
|
+
if (!privateSet.has(receiver)) throw new TypeError("attempted to get private field on non-instance");
|
|
56
49
|
return fn;
|
|
57
50
|
}
|
|
58
51
|
function _class_private_method_init(obj, privateSet) {
|
|
@@ -4,15 +4,12 @@
|
|
|
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) {
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { StylesHandler } from '../types';
|
|
2
|
+
import type { SettingsPort } from '../ports';
|
|
3
|
+
/**
|
|
4
|
+
* @class Settings
|
|
5
|
+
*/
|
|
6
|
+
export default class Settings implements SettingsPort {
|
|
7
|
+
/**
|
|
8
|
+
* Reference to settings.
|
|
9
|
+
*
|
|
10
|
+
* @protected
|
|
11
|
+
* @type {object}
|
|
12
|
+
*/
|
|
13
|
+
settings: Record<string, unknown>;
|
|
14
|
+
/**
|
|
15
|
+
* The defaults values of settings.
|
|
16
|
+
* Void 0 means it is required, null means it can be empty.
|
|
17
|
+
*
|
|
18
|
+
* @public
|
|
19
|
+
* @type {Readonly<object>}
|
|
20
|
+
*/
|
|
21
|
+
defaults: Record<string, unknown>;
|
|
22
|
+
/**
|
|
23
|
+
* @param {object} settings The user defined settings.
|
|
24
|
+
*/
|
|
25
|
+
constructor(settings: Record<string, unknown>);
|
|
26
|
+
/**
|
|
27
|
+
* Update settings.
|
|
28
|
+
*
|
|
29
|
+
* @param {object|string} settings The singular settings to update or if passed as object to merge with.
|
|
30
|
+
* @param {*} value The value to set if the first argument is passed as string.
|
|
31
|
+
* @returns {Settings}
|
|
32
|
+
*/
|
|
33
|
+
update(settings: string | Record<string, unknown>, value?: unknown): this;
|
|
34
|
+
/**
|
|
35
|
+
* Get setting by name.
|
|
36
|
+
*
|
|
37
|
+
* @param {$Keys<SettingsPure>} key The settings key to retrieve.
|
|
38
|
+
* @param {*} [param1] Additional parameter passed to the options defined as function.
|
|
39
|
+
* @param {*} [param2] Additional parameter passed to the options defined as function.
|
|
40
|
+
* @param {*} [param3] Additional parameter passed to the options defined as function.
|
|
41
|
+
* @param {*} [param4] Additional parameter passed to the options defined as function.
|
|
42
|
+
* @returns {*}
|
|
43
|
+
*/
|
|
44
|
+
getSetting(key: 'stylesHandler'): StylesHandler;
|
|
45
|
+
getSetting(key: 'preventOverflow'): 'horizontal' | 'vertical' | false;
|
|
46
|
+
getSetting(key: 'rtlMode'): boolean;
|
|
47
|
+
getSetting(key: 'isDataViewInstance'): boolean;
|
|
48
|
+
getSetting(key: 'fixedColumnsStart'): number;
|
|
49
|
+
getSetting(key: 'fixedRowsTop'): number;
|
|
50
|
+
getSetting(key: 'fixedRowsBottom'): number;
|
|
51
|
+
getSetting(key: 'totalRows'): number | undefined;
|
|
52
|
+
getSetting(key: 'totalColumns'): number | undefined;
|
|
53
|
+
getSetting(key: 'rowHeaderWidth'): number | undefined;
|
|
54
|
+
getSetting(key: 'defaultColumnWidth'): number | undefined;
|
|
55
|
+
getSetting(key: 'viewportRowRenderingThreshold'): number | 'auto';
|
|
56
|
+
getSetting(key: 'viewportColumnRenderingThreshold'): number | 'auto';
|
|
57
|
+
getSetting(key: 'viewportRowRenderingOffsetIsAuto'): boolean;
|
|
58
|
+
getSetting(key: 'viewportColumnRenderingOffsetIsAuto'): boolean;
|
|
59
|
+
getSetting<T = any>(key: string, param1?: any, param2?: unknown, param3?: unknown, param4?: unknown): T;
|
|
60
|
+
/**
|
|
61
|
+
* Get a setting value without any evaluation.
|
|
62
|
+
*
|
|
63
|
+
* @param {string} key The settings key to retrieve.
|
|
64
|
+
* @returns {*}
|
|
65
|
+
*/
|
|
66
|
+
getSettingPure<T = any>(key: string): T;
|
|
67
|
+
/**
|
|
68
|
+
* Checks if setting exists.
|
|
69
|
+
*
|
|
70
|
+
* @param {boolean} key The settings key to check.
|
|
71
|
+
* @returns {boolean}
|
|
72
|
+
*/
|
|
73
|
+
has(key: string): boolean;
|
|
74
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return Settings;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _object = require("../../../../helpers/object");
|
|
12
|
+
const _errors = require("../../../../helpers/errors");
|
|
13
|
+
const _defaults = require("./defaults");
|
|
14
|
+
class Settings {
|
|
15
|
+
/**
|
|
16
|
+
* Update settings.
|
|
17
|
+
*
|
|
18
|
+
* @param {object|string} settings The singular settings to update or if passed as object to merge with.
|
|
19
|
+
* @param {*} value The value to set if the first argument is passed as string.
|
|
20
|
+
* @returns {Settings}
|
|
21
|
+
*/ update(settings, value) {
|
|
22
|
+
if (value === undefined) {
|
|
23
|
+
(0, _object.objectEach)(settings, (settingValue, key)=>{
|
|
24
|
+
this.settings[key] = settingValue;
|
|
25
|
+
});
|
|
26
|
+
} else {
|
|
27
|
+
this.settings[settings] = value;
|
|
28
|
+
}
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
32
|
+
getSetting(key, param1, param2, param3, param4) {
|
|
33
|
+
if (typeof this.settings[key] === 'function') {
|
|
34
|
+
return this.settings[key](param1, param2, param3, param4);
|
|
35
|
+
} else if (param1 !== undefined && Array.isArray(this.settings[key])) {
|
|
36
|
+
return this.settings[key][param1];
|
|
37
|
+
}
|
|
38
|
+
return this.settings[key];
|
|
39
|
+
}
|
|
40
|
+
// eslint-disable-next-line jsdoc/require-jsdoc -- TypeScript overload implementation; documented in the overload signature above
|
|
41
|
+
getSettingPure(key) {
|
|
42
|
+
return this.settings[key];
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Checks if setting exists.
|
|
46
|
+
*
|
|
47
|
+
* @param {boolean} key The settings key to check.
|
|
48
|
+
* @returns {boolean}
|
|
49
|
+
*/ has(key) {
|
|
50
|
+
return !!this.settings[key];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* @param {object} settings The user defined settings.
|
|
54
|
+
*/ constructor(settings){
|
|
55
|
+
/**
|
|
56
|
+
* Reference to settings.
|
|
57
|
+
*
|
|
58
|
+
* @protected
|
|
59
|
+
* @type {object}
|
|
60
|
+
*/ this.settings = {};
|
|
61
|
+
/**
|
|
62
|
+
* The defaults values of settings.
|
|
63
|
+
* Void 0 means it is required, null means it can be empty.
|
|
64
|
+
*
|
|
65
|
+
* @public
|
|
66
|
+
* @type {Readonly<object>}
|
|
67
|
+
*/ this.defaults = Object.freeze((0, _defaults.getDefaults)(this));
|
|
68
|
+
(0, _object.objectEach)(this.defaults, (value, key)=>{
|
|
69
|
+
if (settings[key] !== undefined) {
|
|
70
|
+
this.settings[key] = settings[key];
|
|
71
|
+
} else if (value === undefined) {
|
|
72
|
+
(0, _errors.throwWithCause)(`A required setting "${key}" was not provided`);
|
|
73
|
+
} else {
|
|
74
|
+
this.settings[key] = value;
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { objectEach } from '../../../../helpers/object.mjs';
|
|
2
|
+
import { throwWithCause } from '../../../../helpers/errors.mjs';
|
|
3
|
+
import { getDefaults } from './defaults.mjs';
|
|
4
|
+
class Settings {
|
|
5
|
+
/**
|
|
6
|
+
* Update settings.
|
|
7
|
+
*
|
|
8
|
+
* @param {object|string} settings The singular settings to update or if passed as object to merge with.
|
|
9
|
+
* @param {*} value The value to set if the first argument is passed as string.
|
|
10
|
+
* @returns {Settings}
|
|
11
|
+
*/ update(settings, value) {
|
|
12
|
+
if (value === undefined) {
|
|
13
|
+
objectEach(settings, (settingValue, key)=>{
|
|
14
|
+
this.settings[key] = settingValue;
|
|
15
|
+
});
|
|
16
|
+
} else {
|
|
17
|
+
this.settings[settings] = value;
|
|
18
|
+
}
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
22
|
+
getSetting(key, param1, param2, param3, param4) {
|
|
23
|
+
if (typeof this.settings[key] === 'function') {
|
|
24
|
+
return this.settings[key](param1, param2, param3, param4);
|
|
25
|
+
} else if (param1 !== undefined && Array.isArray(this.settings[key])) {
|
|
26
|
+
return this.settings[key][param1];
|
|
27
|
+
}
|
|
28
|
+
return this.settings[key];
|
|
29
|
+
}
|
|
30
|
+
// eslint-disable-next-line jsdoc/require-jsdoc -- TypeScript overload implementation; documented in the overload signature above
|
|
31
|
+
getSettingPure(key) {
|
|
32
|
+
return this.settings[key];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Checks if setting exists.
|
|
36
|
+
*
|
|
37
|
+
* @param {boolean} key The settings key to check.
|
|
38
|
+
* @returns {boolean}
|
|
39
|
+
*/ has(key) {
|
|
40
|
+
return !!this.settings[key];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @param {object} settings The user defined settings.
|
|
44
|
+
*/ constructor(settings){
|
|
45
|
+
/**
|
|
46
|
+
* Reference to settings.
|
|
47
|
+
*
|
|
48
|
+
* @protected
|
|
49
|
+
* @type {object}
|
|
50
|
+
*/ this.settings = {};
|
|
51
|
+
/**
|
|
52
|
+
* The defaults values of settings.
|
|
53
|
+
* Void 0 means it is required, null means it can be empty.
|
|
54
|
+
*
|
|
55
|
+
* @public
|
|
56
|
+
* @type {Readonly<object>}
|
|
57
|
+
*/ this.defaults = Object.freeze(getDefaults(this));
|
|
58
|
+
objectEach(this.defaults, (value, key)=>{
|
|
59
|
+
if (settings[key] !== undefined) {
|
|
60
|
+
this.settings[key] = settings[key];
|
|
61
|
+
} else if (value === undefined) {
|
|
62
|
+
throwWithCause(`A required setting "${key}" was not provided`);
|
|
63
|
+
} else {
|
|
64
|
+
this.settings[key] = value;
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @class Settings
|
|
71
|
+
*/ export { Settings as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './defaults.js';
|