handsontable 18.0.0 → 18.1.0-rc7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1128) hide show
  1. package/3rdparty/walkontable/src/axisSizing/axisSizeSource.d.mts +1 -0
  2. package/3rdparty/walkontable/src/axisSizing/axisSizeSource.d.ts +55 -0
  3. package/3rdparty/walkontable/src/axisSizing/axisSizeSource.js +15 -0
  4. package/3rdparty/walkontable/src/axisSizing/axisSizeSource.mjs +14 -0
  5. package/3rdparty/walkontable/src/axisSizing/boxModel.d.mts +1 -0
  6. package/3rdparty/walkontable/src/axisSizing/boxModel.d.ts +32 -0
  7. package/3rdparty/walkontable/src/axisSizing/boxModel.js +45 -0
  8. package/3rdparty/walkontable/src/axisSizing/boxModel.mjs +33 -0
  9. package/3rdparty/walkontable/src/axisSizing/columnUtils.d.mts +2 -0
  10. package/3rdparty/walkontable/src/{utils/column.d.ts → axisSizing/columnUtils.d.ts} +12 -10
  11. package/3rdparty/walkontable/src/axisSizing/columnUtils.js +147 -0
  12. package/3rdparty/walkontable/src/axisSizing/columnUtils.mjs +142 -0
  13. package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.d.mts +1 -0
  14. package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.d.ts +58 -0
  15. package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.js +129 -0
  16. package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.mjs +119 -0
  17. package/3rdparty/walkontable/src/axisSizing/oversizedRows.d.mts +1 -0
  18. package/3rdparty/walkontable/src/axisSizing/oversizedRows.d.ts +162 -0
  19. package/3rdparty/walkontable/src/axisSizing/oversizedRows.js +424 -0
  20. package/3rdparty/walkontable/src/axisSizing/oversizedRows.mjs +522 -0
  21. package/3rdparty/walkontable/src/axisSizing/positionCache/index.d.ts +130 -0
  22. package/3rdparty/walkontable/src/axisSizing/positionCache/index.js +256 -0
  23. package/3rdparty/walkontable/src/axisSizing/positionCache/index.mjs +262 -0
  24. package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.d.mts +1 -0
  25. package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.d.ts +51 -0
  26. package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.js +121 -0
  27. package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.mjs +117 -0
  28. package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.d.mts +1 -0
  29. package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.d.ts +53 -0
  30. package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.js +206 -0
  31. package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.mjs +203 -0
  32. package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.d.mts +1 -0
  33. package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.d.ts +53 -0
  34. package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.js +40 -0
  35. package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.mjs +41 -0
  36. package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.d.mts +1 -0
  37. package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.d.ts +47 -0
  38. package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.js +121 -0
  39. package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.mjs +115 -0
  40. package/3rdparty/walkontable/src/axisSizing/rowUtils.d.mts +2 -0
  41. package/3rdparty/walkontable/src/{utils/row.d.ts → axisSizing/rowUtils.d.ts} +11 -9
  42. package/3rdparty/walkontable/src/axisSizing/rowUtils.js +111 -0
  43. package/3rdparty/walkontable/src/axisSizing/rowUtils.mjs +106 -0
  44. package/3rdparty/walkontable/src/axisSizing/sizeGetters.d.mts +2 -0
  45. package/3rdparty/walkontable/src/axisSizing/sizeGetters.d.ts +84 -0
  46. package/3rdparty/walkontable/src/axisSizing/sizeGetters.js +102 -0
  47. package/3rdparty/walkontable/src/axisSizing/sizeGetters.mjs +92 -0
  48. package/3rdparty/walkontable/src/calculator/axisCalculation.d.ts +1 -1
  49. package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.d.ts +10 -0
  50. package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.js +10 -1
  51. package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +10 -1
  52. package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.d.ts +9 -0
  53. package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +9 -1
  54. package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +9 -1
  55. package/3rdparty/walkontable/src/calculator/viewportColumns.d.ts +1 -1
  56. package/3rdparty/walkontable/src/calculator/viewportRows.d.ts +1 -1
  57. package/3rdparty/walkontable/src/cell/range.d.ts +10 -0
  58. package/3rdparty/walkontable/src/cell/range.js +14 -3
  59. package/3rdparty/walkontable/src/cell/range.mjs +11 -0
  60. package/3rdparty/walkontable/src/core/_base.d.ts +21 -21
  61. package/3rdparty/walkontable/src/core/_base.js +58 -147
  62. package/3rdparty/walkontable/src/core/_base.mjs +17 -147
  63. package/3rdparty/walkontable/src/core/clone.d.ts +4 -14
  64. package/3rdparty/walkontable/src/core/clone.js +51 -5
  65. package/3rdparty/walkontable/src/core/clone.mjs +10 -5
  66. package/3rdparty/walkontable/src/core/core.d.ts +1 -5
  67. package/3rdparty/walkontable/src/core/core.js +52 -47
  68. package/3rdparty/walkontable/src/core/core.mjs +12 -48
  69. package/3rdparty/walkontable/src/domMeasure/geometryReader.d.mts +1 -0
  70. package/3rdparty/walkontable/src/domMeasure/geometryReader.d.ts +172 -0
  71. package/3rdparty/walkontable/src/domMeasure/geometryReader.js +19 -0
  72. package/3rdparty/walkontable/src/domMeasure/geometryReader.mjs +16 -0
  73. package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.d.mts +1 -0
  74. package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.d.ts +134 -0
  75. package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.js +200 -0
  76. package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.mjs +198 -0
  77. package/3rdparty/walkontable/src/event.d.ts +25 -12
  78. package/3rdparty/walkontable/src/event.js +91 -224
  79. package/3rdparty/walkontable/src/event.mjs +90 -224
  80. package/3rdparty/walkontable/src/facade/core.d.ts +6 -6
  81. package/3rdparty/walkontable/src/index.d.ts +1 -1
  82. package/3rdparty/walkontable/src/index.js +2 -2
  83. package/3rdparty/walkontable/src/index.mjs +1 -1
  84. package/3rdparty/walkontable/src/overlay/index.d.ts +6 -6
  85. package/3rdparty/walkontable/src/overlay/index.js +11 -11
  86. package/3rdparty/walkontable/src/overlay/index.mjs +6 -6
  87. package/3rdparty/walkontable/src/overlay/overlays.d.ts +375 -0
  88. package/3rdparty/walkontable/src/overlay/overlays.js +612 -0
  89. package/3rdparty/walkontable/src/overlay/overlays.mjs +601 -0
  90. package/3rdparty/walkontable/src/overlay/{_base.d.ts → regions/_base.d.ts} +65 -16
  91. package/3rdparty/walkontable/src/overlay/{_base.js → regions/_base.js} +160 -50
  92. package/3rdparty/walkontable/src/overlay/{_base.mjs → regions/_base.mjs} +163 -47
  93. package/3rdparty/walkontable/src/overlay/regions/bottomInlineStartCornerOverlay.d.mts +1 -0
  94. package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.d.ts → regions/bottomInlineStartCornerOverlay.d.ts} +5 -10
  95. package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.js → regions/bottomInlineStartCornerOverlay.js} +18 -20
  96. package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.mjs → regions/bottomInlineStartCornerOverlay.mjs} +18 -20
  97. package/3rdparty/walkontable/src/overlay/regions/bottomOverlay.d.mts +1 -0
  98. package/3rdparty/walkontable/src/overlay/{bottom.d.ts → regions/bottomOverlay.d.ts} +16 -11
  99. package/3rdparty/walkontable/src/overlay/{bottom.js → regions/bottomOverlay.js} +113 -66
  100. package/3rdparty/walkontable/src/overlay/{bottom.mjs → regions/bottomOverlay.mjs} +113 -66
  101. package/3rdparty/walkontable/src/overlay/regions/inlineStartOverlay.d.mts +1 -0
  102. package/3rdparty/walkontable/src/overlay/{inlineStart.d.ts → regions/inlineStartOverlay.d.ts} +17 -11
  103. package/3rdparty/walkontable/src/overlay/{inlineStart.js → regions/inlineStartOverlay.js} +122 -67
  104. package/3rdparty/walkontable/src/overlay/{inlineStart.mjs → regions/inlineStartOverlay.mjs} +122 -67
  105. package/3rdparty/walkontable/src/overlay/regions/topInlineStartCornerOverlay.d.mts +1 -0
  106. package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.d.ts → regions/topInlineStartCornerOverlay.d.ts} +5 -10
  107. package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.js → regions/topInlineStartCornerOverlay.js} +13 -16
  108. package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.mjs → regions/topInlineStartCornerOverlay.mjs} +13 -16
  109. package/3rdparty/walkontable/src/overlay/regions/topOverlay.d.mts +1 -0
  110. package/3rdparty/walkontable/src/overlay/{top.d.ts → regions/topOverlay.d.ts} +32 -11
  111. package/3rdparty/walkontable/src/overlay/{top.js → regions/topOverlay.js} +163 -77
  112. package/3rdparty/walkontable/src/overlay/{top.mjs → regions/topOverlay.mjs} +163 -77
  113. package/3rdparty/walkontable/src/overlay/resizeMonitor.d.mts +1 -0
  114. package/3rdparty/walkontable/src/overlay/resizeMonitor.d.ts +49 -0
  115. package/3rdparty/walkontable/src/overlay/resizeMonitor.js +154 -0
  116. package/3rdparty/walkontable/src/overlay/resizeMonitor.mjs +153 -0
  117. package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.d.mts +1 -0
  118. package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.d.ts +62 -0
  119. package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.js +290 -0
  120. package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.mjs +295 -0
  121. package/3rdparty/walkontable/src/overlay/scroll/scrollSync.d.mts +1 -0
  122. package/3rdparty/walkontable/src/overlay/scroll/scrollSync.d.ts +176 -0
  123. package/3rdparty/walkontable/src/overlay/scroll/scrollSync.js +549 -0
  124. package/3rdparty/walkontable/src/overlay/scroll/scrollSync.mjs +557 -0
  125. package/3rdparty/walkontable/src/overlay/spreaderSize.d.mts +1 -0
  126. package/3rdparty/walkontable/src/overlay/spreaderSize.d.ts +67 -0
  127. package/3rdparty/walkontable/src/overlay/spreaderSize.js +178 -0
  128. package/3rdparty/walkontable/src/overlay/spreaderSize.mjs +179 -0
  129. package/3rdparty/walkontable/src/{stickyScrollStrategy.d.ts → overlay/strategies/stickyScrollStrategy.d.ts} +33 -21
  130. package/3rdparty/walkontable/src/{stickyScrollStrategy.js → overlay/strategies/stickyScrollStrategy.js} +60 -41
  131. package/3rdparty/walkontable/src/{stickyScrollStrategy.mjs → overlay/strategies/stickyScrollStrategy.mjs} +58 -38
  132. package/3rdparty/walkontable/src/ports.d.mts +1 -0
  133. package/3rdparty/walkontable/src/ports.d.ts +54 -0
  134. package/3rdparty/walkontable/src/ports.js +23 -0
  135. package/3rdparty/walkontable/src/ports.mjs +24 -0
  136. package/3rdparty/walkontable/src/{renderer → render}/_base.d.ts +1 -1
  137. package/3rdparty/walkontable/src/{renderer → render}/cells.js +1 -1
  138. package/3rdparty/walkontable/src/{renderer → render}/cells.mjs +1 -1
  139. package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.d.ts +1 -0
  140. package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.js +43 -1
  141. package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.mjs +44 -2
  142. package/3rdparty/walkontable/src/render/index.d.mts +1 -0
  143. package/3rdparty/walkontable/src/{renderer → render}/index.d.ts +11 -3
  144. package/3rdparty/walkontable/src/{renderer → render}/index.js +13 -3
  145. package/3rdparty/walkontable/src/{renderer → render}/index.mjs +11 -1
  146. package/3rdparty/walkontable/src/{renderer → render}/rows.js +1 -1
  147. package/3rdparty/walkontable/src/{renderer → render}/rows.mjs +1 -1
  148. package/3rdparty/walkontable/src/render/tableRenderer.d.mts +1 -0
  149. package/3rdparty/walkontable/src/{renderer/table.d.ts → render/tableRenderer.d.ts} +12 -2
  150. package/3rdparty/walkontable/src/render/tableRenderer.js +382 -0
  151. package/3rdparty/walkontable/src/{renderer/table.mjs → render/tableRenderer.mjs} +159 -6
  152. package/3rdparty/walkontable/src/{scroll.d.ts → scroll/scroll.d.ts} +27 -10
  153. package/3rdparty/walkontable/src/{scroll.js → scroll/scroll.js} +108 -32
  154. package/3rdparty/walkontable/src/{scroll.mjs → scroll/scroll.mjs} +106 -29
  155. package/3rdparty/walkontable/src/selection/border/border.d.ts +313 -5
  156. package/3rdparty/walkontable/src/selection/border/border.js +861 -51
  157. package/3rdparty/walkontable/src/selection/border/border.mjs +863 -53
  158. package/3rdparty/walkontable/src/selection/border/types.d.ts +30 -0
  159. package/3rdparty/walkontable/src/selection/manager.js +237 -0
  160. package/3rdparty/walkontable/src/selection/manager.mjs +238 -1
  161. package/3rdparty/walkontable/src/settings/accessor.d.mts +2 -0
  162. package/3rdparty/walkontable/src/settings/accessor.d.ts +74 -0
  163. package/3rdparty/walkontable/src/settings/accessor.js +78 -0
  164. package/3rdparty/walkontable/src/settings/accessor.mjs +71 -0
  165. package/3rdparty/walkontable/src/settings/defaults.d.mts +1 -0
  166. package/3rdparty/walkontable/src/{settings.d.ts → settings/defaults.d.ts} +16 -77
  167. package/3rdparty/walkontable/src/settings/defaults.js +146 -0
  168. package/3rdparty/walkontable/src/settings/defaults.mjs +225 -0
  169. package/3rdparty/walkontable/src/settings/index.d.mts +1 -0
  170. package/3rdparty/walkontable/src/settings/index.d.ts +6 -0
  171. package/3rdparty/walkontable/src/settings/index.js +20 -0
  172. package/3rdparty/walkontable/src/settings/index.mjs +5 -0
  173. package/3rdparty/walkontable/src/table/baseTable.d.mts +2 -0
  174. package/3rdparty/walkontable/src/table/baseTable.d.ts +284 -0
  175. package/3rdparty/walkontable/src/table/baseTable.js +295 -0
  176. package/3rdparty/walkontable/src/table/baseTable.mjs +283 -0
  177. package/3rdparty/walkontable/src/table/cellAccess.d.mts +1 -0
  178. package/3rdparty/walkontable/src/table/cellAccess.d.ts +101 -0
  179. package/3rdparty/walkontable/src/table/cellAccess.js +238 -0
  180. package/3rdparty/walkontable/src/table/cellAccess.mjs +229 -0
  181. package/3rdparty/walkontable/src/table/domScaffold.d.mts +1 -0
  182. package/3rdparty/walkontable/src/table/domScaffold.d.ts +37 -0
  183. package/3rdparty/walkontable/src/table/domScaffold.js +145 -0
  184. package/3rdparty/walkontable/src/table/domScaffold.mjs +136 -0
  185. package/3rdparty/walkontable/src/table/drawCycle.d.mts +1 -0
  186. package/3rdparty/walkontable/src/table/drawCycle.d.ts +16 -0
  187. package/3rdparty/walkontable/src/table/drawCycle.js +405 -0
  188. package/3rdparty/walkontable/src/table/drawCycle.mjs +403 -0
  189. package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.d.mts +1 -0
  190. package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.d.ts +38 -0
  191. package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.js +15 -0
  192. package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.mjs +14 -0
  193. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.d.ts +1 -1
  194. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.js +1 -1
  195. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.mjs +1 -1
  196. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.d.ts +1 -1
  197. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.d.ts +1 -1
  198. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.js +1 -1
  199. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.mjs +1 -1
  200. package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.d.mts +2 -0
  201. package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.d.ts +226 -0
  202. package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.js +251 -0
  203. package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.mjs +241 -0
  204. package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.d.mts +1 -0
  205. package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.d.ts +14 -0
  206. package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.js +196 -0
  207. package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.mjs +179 -0
  208. package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.d.mts +2 -0
  209. package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.d.ts +16 -0
  210. package/3rdparty/walkontable/src/table/{bottomInlineStartCorner.js → regions/bottomInlineStartCornerTable.js} +9 -12
  211. package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.mjs +21 -0
  212. package/3rdparty/walkontable/src/table/regions/bottomTable.d.mts +2 -0
  213. package/3rdparty/walkontable/src/table/regions/bottomTable.d.ts +15 -0
  214. package/3rdparty/walkontable/src/table/regions/bottomTable.js +35 -0
  215. package/3rdparty/walkontable/src/table/regions/bottomTable.mjs +20 -0
  216. package/3rdparty/walkontable/src/table/regions/inlineStartTable.d.mts +2 -0
  217. package/3rdparty/walkontable/src/table/regions/inlineStartTable.d.ts +12 -0
  218. package/3rdparty/walkontable/src/table/regions/inlineStartTable.js +32 -0
  219. package/3rdparty/walkontable/src/table/regions/inlineStartTable.mjs +17 -0
  220. package/3rdparty/walkontable/src/table/regions/masterTable.d.mts +2 -0
  221. package/3rdparty/walkontable/src/table/{master.d.ts → regions/masterTable.d.ts} +4 -13
  222. package/3rdparty/walkontable/src/table/{master.js → regions/masterTable.js} +23 -48
  223. package/3rdparty/walkontable/src/table/{master.mjs → regions/masterTable.mjs} +22 -47
  224. package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.d.mts +2 -0
  225. package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.d.ts +16 -0
  226. package/3rdparty/walkontable/src/table/{topInlineStartCorner.js → regions/topInlineStartCornerTable.js} +9 -12
  227. package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.mjs +21 -0
  228. package/3rdparty/walkontable/src/table/regions/topTable.d.mts +2 -0
  229. package/3rdparty/walkontable/src/table/regions/topTable.d.ts +15 -0
  230. package/3rdparty/walkontable/src/table/regions/topTable.js +35 -0
  231. package/3rdparty/walkontable/src/table/regions/topTable.mjs +20 -0
  232. package/3rdparty/walkontable/src/types.d.ts +7 -69
  233. package/3rdparty/walkontable/src/types.mjs +2 -1
  234. package/3rdparty/walkontable/src/utils/pointerToCoords.d.mts +1 -0
  235. package/3rdparty/walkontable/src/utils/{cellCoords.d.ts → pointerToCoords.d.ts} +24 -0
  236. package/3rdparty/walkontable/src/utils/pointerToCoords.js +181 -0
  237. package/3rdparty/walkontable/src/utils/pointerToCoords.mjs +186 -0
  238. package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.d.mts +1 -0
  239. package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.d.ts +40 -0
  240. package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.js +139 -0
  241. package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.mjs +131 -0
  242. package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.d.mts +1 -0
  243. package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.d.ts +133 -0
  244. package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.js +18 -0
  245. package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.mjs +18 -0
  246. package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.d.mts +1 -0
  247. package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.d.ts +17 -0
  248. package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.js +104 -0
  249. package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.mjs +99 -0
  250. package/3rdparty/walkontable/src/viewport/calculatorFactory.d.mts +1 -0
  251. package/3rdparty/walkontable/src/viewport/calculatorFactory.d.ts +84 -0
  252. package/3rdparty/walkontable/src/viewport/calculatorFactory.js +588 -0
  253. package/3rdparty/walkontable/src/viewport/calculatorFactory.mjs +601 -0
  254. package/3rdparty/walkontable/src/viewport/viewport.d.ts +267 -0
  255. package/3rdparty/walkontable/src/viewport/viewport.js +368 -0
  256. package/3rdparty/walkontable/src/viewport/viewport.mjs +360 -0
  257. package/3rdparty/walkontable/src/viewport/workspaceSize.d.mts +1 -0
  258. package/3rdparty/walkontable/src/viewport/workspaceSize.d.ts +59 -0
  259. package/3rdparty/walkontable/src/viewport/workspaceSize.js +284 -0
  260. package/3rdparty/walkontable/src/viewport/workspaceSize.mjs +282 -0
  261. package/3rdparty/walkontable/src/wire.d.mts +1 -0
  262. package/3rdparty/walkontable/src/wire.d.ts +81 -0
  263. package/3rdparty/walkontable/src/wire.js +56 -0
  264. package/3rdparty/walkontable/src/wire.mjs +56 -0
  265. package/CHANGELOG.md +114 -1
  266. package/LICENSE.txt +1 -1
  267. package/README.md +2 -2
  268. package/base.d.ts +13 -4
  269. package/base.js +2 -2
  270. package/base.mjs +2 -2
  271. package/cellTypes/checkboxType/accessors/valueSetter.d.ts +1 -1
  272. package/cellTypes/checkboxType/accessors/valueSetter.js +3 -1
  273. package/cellTypes/checkboxType/accessors/valueSetter.mjs +3 -1
  274. package/cellTypes/index.d.ts +3 -2
  275. package/cellTypes/index.js +9 -0
  276. package/cellTypes/index.mjs +5 -2
  277. package/cellTypes/intlDatetimeType/index.d.mts +1 -0
  278. package/cellTypes/intlDatetimeType/index.d.ts +1 -0
  279. package/cellTypes/intlDatetimeType/index.js +19 -0
  280. package/cellTypes/intlDatetimeType/index.mjs +1 -0
  281. package/cellTypes/intlDatetimeType/intlDatetimeType.d.mts +1 -0
  282. package/cellTypes/intlDatetimeType/intlDatetimeType.d.ts +16 -0
  283. package/cellTypes/intlDatetimeType/intlDatetimeType.js +31 -0
  284. package/cellTypes/intlDatetimeType/intlDatetimeType.mjs +15 -0
  285. package/cellTypes/multiSelectType/index.d.ts +1 -1
  286. package/cellTypes/multiSelectType/index.js +3 -0
  287. package/cellTypes/multiSelectType/index.mjs +1 -1
  288. package/cellTypes/multiSelectType/multiSelectType.d.ts +1 -0
  289. package/cellTypes/multiSelectType/multiSelectType.js +4 -0
  290. package/cellTypes/multiSelectType/multiSelectType.mjs +1 -0
  291. package/cellTypes/numericType/accessors/valueSetter.js +30 -2
  292. package/cellTypes/numericType/accessors/valueSetter.mjs +31 -3
  293. package/core/hooks/bucket.d.ts +40 -6
  294. package/core/hooks/bucket.js +108 -72
  295. package/core/hooks/bucket.mjs +113 -72
  296. package/core/hooks/constants.js +254 -16
  297. package/core/hooks/constants.mjs +254 -16
  298. package/core/hooks/index.js +27 -22
  299. package/core/hooks/index.mjs +27 -22
  300. package/core/layout/constants.d.ts +11 -0
  301. package/core/layout/constants.js +6 -0
  302. package/core/layout/constants.mjs +12 -0
  303. package/core/layout/domSlot.d.ts +3 -1
  304. package/core/layout/domSlot.js +16 -2
  305. package/core/layout/domSlot.mjs +16 -2
  306. package/core/layout/index.d.ts +2 -2
  307. package/core/layout/index.js +6 -0
  308. package/core/layout/index.mjs +2 -2
  309. package/core/layout/layoutManager.d.ts +13 -0
  310. package/core/layout/layoutManager.js +21 -4
  311. package/core/layout/layoutManager.mjs +22 -2
  312. package/core/settings.d.ts +102 -6
  313. package/core/types.d.ts +15 -1
  314. package/core/types.mjs +9 -0
  315. package/core.js +534 -88
  316. package/core.mjs +537 -91
  317. package/dataMap/dataMap.d.ts +3 -13
  318. package/dataMap/dataMap.js +100 -41
  319. package/dataMap/dataMap.mjs +101 -42
  320. package/dataMap/dataSource.js +4 -1
  321. package/dataMap/dataSource.mjs +4 -1
  322. package/dataMap/metaManager/index.d.ts +62 -8
  323. package/dataMap/metaManager/index.js +66 -0
  324. package/dataMap/metaManager/index.mjs +66 -0
  325. package/dataMap/metaManager/lazyFactoryMap.d.ts +68 -43
  326. package/dataMap/metaManager/lazyFactoryMap.js +497 -110
  327. package/dataMap/metaManager/lazyFactoryMap.mjs +511 -111
  328. package/dataMap/metaManager/metaLayers/cellMeta.d.ts +55 -8
  329. package/dataMap/metaManager/metaLayers/cellMeta.js +108 -8
  330. package/dataMap/metaManager/metaLayers/cellMeta.mjs +108 -8
  331. package/dataMap/metaManager/metaLayers/columnMeta.d.ts +2 -1
  332. package/dataMap/metaManager/metaLayers/columnMeta.js +1 -0
  333. package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -0
  334. package/dataMap/metaManager/metaSchema.js +759 -39
  335. package/dataMap/metaManager/metaSchema.mjs +759 -39
  336. package/dataMap/metaManager/mods/dynamicCellMeta.d.ts +24 -10
  337. package/dataMap/metaManager/mods/dynamicCellMeta.js +252 -28
  338. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +253 -29
  339. package/dataMap/sourceDataValidator.d.ts +13 -21
  340. package/dataMap/sourceDataValidator.js +39 -29
  341. package/dataMap/sourceDataValidator.mjs +50 -33
  342. package/dist/handsontable.full.js +30027 -11261
  343. package/dist/handsontable.full.min.js +168 -112
  344. package/dist/handsontable.js +32468 -13762
  345. package/dist/handsontable.min.js +172 -116
  346. package/dist/languages/all.js +2 -1
  347. package/dist/languages/all.min.js +1 -1
  348. package/dist/languages/fa-IR.js +2 -1
  349. package/dist/languages/fa-IR.min.js +1 -1
  350. package/dist/themes/classic.js +9 -3
  351. package/dist/themes/classic.min.js +4 -4
  352. package/dist/themes/horizon.js +9 -3
  353. package/dist/themes/horizon.min.js +4 -4
  354. package/dist/themes/main.js +9 -3
  355. package/dist/themes/main.min.js +4 -4
  356. package/dist/themes/static/variables/colors/ant.js +3 -3
  357. package/dist/themes/static/variables/colors/ant.min.js +3 -3
  358. package/dist/themes/static/variables/colors/classic.js +3 -3
  359. package/dist/themes/static/variables/colors/classic.min.js +3 -3
  360. package/dist/themes/static/variables/colors/horizon.js +3 -3
  361. package/dist/themes/static/variables/colors/horizon.min.js +3 -3
  362. package/dist/themes/static/variables/colors/main.js +3 -3
  363. package/dist/themes/static/variables/colors/main.min.js +3 -3
  364. package/dist/themes/static/variables/colors/material.js +3 -3
  365. package/dist/themes/static/variables/colors/material.min.js +3 -3
  366. package/dist/themes/static/variables/colors/shadcn.js +3 -3
  367. package/dist/themes/static/variables/colors/shadcn.min.js +3 -3
  368. package/dist/themes/static/variables/density.js +3 -3
  369. package/dist/themes/static/variables/density.min.js +3 -3
  370. package/dist/themes/static/variables/helpers/iconsMap.js +4 -9
  371. package/dist/themes/static/variables/helpers/iconsMap.min.js +4 -9
  372. package/dist/themes/static/variables/icons/horizon.js +3 -3
  373. package/dist/themes/static/variables/icons/horizon.min.js +3 -3
  374. package/dist/themes/static/variables/icons/main.js +3 -3
  375. package/dist/themes/static/variables/icons/main.min.js +3 -3
  376. package/dist/themes/static/variables/sizing.js +3 -3
  377. package/dist/themes/static/variables/sizing.min.js +3 -3
  378. package/dist/themes/static/variables/tokens/classic.js +9 -3
  379. package/dist/themes/static/variables/tokens/classic.min.js +4 -4
  380. package/dist/themes/static/variables/tokens/horizon.js +9 -3
  381. package/dist/themes/static/variables/tokens/horizon.min.js +4 -4
  382. package/dist/themes/static/variables/tokens/main.js +9 -3
  383. package/dist/themes/static/variables/tokens/main.min.js +4 -4
  384. package/editorManager.js +152 -3
  385. package/editorManager.mjs +152 -3
  386. package/editors/autocompleteEditor/autocompleteEditor.js +58 -11
  387. package/editors/autocompleteEditor/autocompleteEditor.mjs +59 -12
  388. package/editors/baseEditor/baseEditor.d.ts +15 -3
  389. package/editors/baseEditor/baseEditor.js +5 -3
  390. package/editors/baseEditor/baseEditor.mjs +15 -3
  391. package/editors/factory.js +5 -2
  392. package/editors/factory.mjs +5 -2
  393. package/editors/index.d.ts +3 -2
  394. package/editors/index.js +8 -0
  395. package/editors/index.mjs +3 -1
  396. package/editors/intlDatetimeEditor/index.d.mts +1 -0
  397. package/editors/intlDatetimeEditor/index.d.ts +1 -0
  398. package/editors/intlDatetimeEditor/index.js +19 -0
  399. package/editors/intlDatetimeEditor/index.mjs +1 -0
  400. package/editors/intlDatetimeEditor/intlDatetimeEditor.d.mts +1 -0
  401. package/editors/intlDatetimeEditor/intlDatetimeEditor.d.ts +42 -0
  402. package/editors/intlDatetimeEditor/intlDatetimeEditor.js +108 -0
  403. package/editors/intlDatetimeEditor/intlDatetimeEditor.mjs +93 -0
  404. package/editors/multiSelectEditor/multiSelectEditor.js +11 -9
  405. package/editors/multiSelectEditor/multiSelectEditor.mjs +12 -10
  406. package/editors/selectEditor/selectEditor.js +2 -1
  407. package/editors/selectEditor/selectEditor.mjs +2 -1
  408. package/editors/textEditor/textEditor.js +1 -1
  409. package/editors/textEditor/textEditor.mjs +2 -2
  410. package/eventManager.d.ts +3 -3
  411. package/focusManager/grid.d.ts +28 -0
  412. package/focusManager/grid.js +85 -2
  413. package/focusManager/grid.mjs +81 -3
  414. package/focusManager/scopeManager.js +1 -1
  415. package/focusManager/scopeManager.mjs +2 -2
  416. package/handsontable-non-commercial-license.pdf +0 -0
  417. package/helpers/array.d.ts +25 -0
  418. package/helpers/array.js +41 -4
  419. package/helpers/array.mjs +56 -4
  420. package/helpers/console.d.ts +25 -3
  421. package/helpers/console.js +40 -7
  422. package/helpers/console.mjs +52 -7
  423. package/helpers/dateTime.d.ts +14 -0
  424. package/helpers/dateTime.js +74 -2
  425. package/helpers/dateTime.mjs +73 -2
  426. package/helpers/dom/cellCoords.js +156 -13
  427. package/helpers/dom/cellCoords.mjs +156 -13
  428. package/helpers/dom/element.d.ts +47 -8
  429. package/helpers/dom/element.js +104 -18
  430. package/helpers/dom/element.mjs +132 -23
  431. package/helpers/dom/event.d.ts +58 -0
  432. package/helpers/dom/event.js +39 -0
  433. package/helpers/dom/event.mjs +63 -0
  434. package/helpers/errors.d.ts +5 -0
  435. package/helpers/errors.js +10 -6
  436. package/helpers/errors.mjs +10 -6
  437. package/helpers/feature.d.ts +19 -0
  438. package/helpers/feature.js +21 -0
  439. package/helpers/feature.mjs +30 -0
  440. package/helpers/function.d.ts +1 -1
  441. package/helpers/function.js +4 -1
  442. package/helpers/function.mjs +4 -1
  443. package/helpers/mixed.d.ts +103 -0
  444. package/helpers/mixed.js +373 -4
  445. package/helpers/mixed.mjs +413 -4
  446. package/helpers/moves.js +2 -1
  447. package/helpers/moves.mjs +2 -1
  448. package/helpers/number.d.ts +22 -0
  449. package/helpers/number.js +49 -0
  450. package/helpers/number.mjs +66 -0
  451. package/helpers/string.d.ts +14 -10
  452. package/helpers/string.js +17 -9
  453. package/helpers/string.mjs +27 -17
  454. package/helpers/templateString.d.mts +1 -0
  455. package/helpers/templateString.d.ts +13 -0
  456. package/helpers/templateString.js +29 -0
  457. package/helpers/templateString.mjs +19 -0
  458. package/helpers/uiButton.d.mts +1 -0
  459. package/helpers/uiButton.d.ts +21 -0
  460. package/helpers/uiButton.js +37 -0
  461. package/helpers/uiButton.mjs +31 -0
  462. package/i18n/languages/fa-IR.d.ts +1 -0
  463. package/i18n/languages/fa-IR.js +1 -0
  464. package/i18n/languages/fa-IR.mjs +1 -0
  465. package/index.d.ts +3 -3
  466. package/languages/all.js +2 -1
  467. package/languages/fa-IR.js +2 -1
  468. package/languages/fa-IR.mjs +1 -0
  469. package/languages/index.js +2 -1
  470. package/package.json +61 -1
  471. package/plugins/autoColumnSize/autoColumnSize.d.ts +24 -1
  472. package/plugins/autoColumnSize/autoColumnSize.js +501 -82
  473. package/plugins/autoColumnSize/autoColumnSize.mjs +508 -83
  474. package/plugins/autoRowSize/autoRowSize.d.ts +40 -5
  475. package/plugins/autoRowSize/autoRowSize.js +68 -24
  476. package/plugins/autoRowSize/autoRowSize.mjs +98 -29
  477. package/plugins/autofill/autofill.js +30 -12
  478. package/plugins/autofill/autofill.mjs +30 -12
  479. package/plugins/base/base.d.ts +10 -0
  480. package/plugins/collapsibleColumns/collapsibleColumns.d.ts +4 -0
  481. package/plugins/collapsibleColumns/collapsibleColumns.js +89 -8
  482. package/plugins/collapsibleColumns/collapsibleColumns.mjs +93 -8
  483. package/plugins/columnSorting/columnSorting.d.ts +31 -2
  484. package/plugins/columnSorting/columnSorting.js +151 -24
  485. package/plugins/columnSorting/columnSorting.mjs +153 -26
  486. package/plugins/columnSorting/columnStatesManager.d.ts +1 -1
  487. package/plugins/columnSorting/columnStatesManager.js +1 -7
  488. package/plugins/columnSorting/columnStatesManager.mjs +1 -7
  489. package/plugins/columnSorting/domHelpers.d.ts +3 -0
  490. package/plugins/columnSorting/domHelpers.js +9 -0
  491. package/plugins/columnSorting/domHelpers.mjs +3 -3
  492. package/plugins/columnSorting/rootComparator.js +21 -16
  493. package/plugins/columnSorting/rootComparator.mjs +21 -16
  494. package/plugins/columnSorting/sortFunction/checkbox.js +7 -5
  495. package/plugins/columnSorting/sortFunction/checkbox.mjs +7 -5
  496. package/plugins/columnSorting/sortFunction/default.js +15 -4
  497. package/plugins/columnSorting/sortFunction/default.mjs +15 -4
  498. package/plugins/columnSorting/sortFunction/intlDatetime.d.mts +1 -0
  499. package/plugins/columnSorting/sortFunction/intlDatetime.d.ts +10 -0
  500. package/plugins/columnSorting/sortFunction/intlDatetime.js +23 -0
  501. package/plugins/columnSorting/sortFunction/intlDatetime.mjs +12 -0
  502. package/plugins/columnSorting/sortService/registry.js +2 -0
  503. package/plugins/columnSorting/sortService/registry.mjs +2 -0
  504. package/plugins/columnSorting/utils.d.ts +8 -0
  505. package/plugins/columnSorting/utils.js +37 -45
  506. package/plugins/columnSorting/utils.mjs +42 -47
  507. package/plugins/columnSummary/columnSummary.js +9 -5
  508. package/plugins/columnSummary/columnSummary.mjs +9 -5
  509. package/plugins/columnSummary/endpoints.d.ts +69 -2
  510. package/plugins/columnSummary/endpoints.js +181 -29
  511. package/plugins/columnSummary/endpoints.mjs +181 -29
  512. package/plugins/comments/commentEditor.js +1 -1
  513. package/plugins/comments/commentEditor.mjs +2 -2
  514. package/plugins/contextMenu/contextMenu.d.ts +12 -1
  515. package/plugins/contextMenu/contextMenu.js +30 -6
  516. package/plugins/contextMenu/contextMenu.mjs +30 -6
  517. package/plugins/contextMenu/index.d.ts +1 -1
  518. package/plugins/contextMenu/menu/menu.d.ts +22 -1
  519. package/plugins/contextMenu/menu/menu.js +211 -3
  520. package/plugins/contextMenu/menu/menu.mjs +212 -4
  521. package/plugins/contextMenu/menu/menuItemRenderer.js +2 -2
  522. package/plugins/contextMenu/menu/menuItemRenderer.mjs +2 -2
  523. package/plugins/contextMenu/predefinedItems/alignment.js +14 -14
  524. package/plugins/contextMenu/predefinedItems/alignment.mjs +14 -14
  525. package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
  526. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -1
  527. package/plugins/contextMenu/predefinedItems/readOnly.js +3 -3
  528. package/plugins/contextMenu/predefinedItems/readOnly.mjs +3 -3
  529. package/plugins/contextMenu/utils.js +1 -1
  530. package/plugins/contextMenu/utils.mjs +1 -1
  531. package/plugins/copyPaste/copyPaste.js +70 -16
  532. package/plugins/copyPaste/copyPaste.mjs +71 -17
  533. package/plugins/copyPaste/copyableRanges.js +6 -2
  534. package/plugins/copyPaste/copyableRanges.mjs +6 -2
  535. package/plugins/copyPaste/pasteEvent.d.ts +1 -1
  536. package/plugins/customBorders/customBorders.d.ts +21 -40
  537. package/plugins/customBorders/customBorders.js +1080 -201
  538. package/plugins/customBorders/customBorders.mjs +1082 -203
  539. package/plugins/customBorders/utils.d.ts +71 -0
  540. package/plugins/customBorders/utils.js +63 -0
  541. package/plugins/customBorders/utils.mjs +101 -0
  542. package/plugins/dataProvider/dataProvider.d.ts +2 -1
  543. package/plugins/dataProvider/dataProvider.js +22 -7
  544. package/plugins/dataProvider/dataProvider.mjs +22 -7
  545. package/plugins/dataProvider/query/crud.js +1 -1
  546. package/plugins/dataProvider/query/crud.mjs +1 -1
  547. package/plugins/dialog/dialog.js +14 -9
  548. package/plugins/dialog/dialog.mjs +14 -9
  549. package/plugins/dialog/templates/confirm.d.ts +1 -1
  550. package/plugins/dialog/templates/confirm.js +2 -1
  551. package/plugins/dialog/templates/confirm.mjs +2 -1
  552. package/plugins/dialog/ui.d.ts +5 -3
  553. package/plugins/dialog/ui.js +12 -4
  554. package/plugins/dialog/ui.mjs +12 -4
  555. package/plugins/dragToScroll/dragToScroll.d.ts +2 -2
  556. package/plugins/dragToScroll/dragToScroll.js +150 -14
  557. package/plugins/dragToScroll/dragToScroll.mjs +151 -15
  558. package/plugins/dropdownMenu/dropdownMenu.d.ts +5 -1
  559. package/plugins/dropdownMenu/dropdownMenu.js +45 -3
  560. package/plugins/dropdownMenu/dropdownMenu.mjs +46 -4
  561. package/plugins/dropdownMenu/index.d.ts +1 -0
  562. package/plugins/emptyDataState/emptyDataState.js +4 -6
  563. package/plugins/emptyDataState/emptyDataState.mjs +4 -6
  564. package/plugins/emptyDataState/ui.js +2 -1
  565. package/plugins/emptyDataState/ui.mjs +2 -1
  566. package/plugins/exportFile/dataProvider.js +7 -9
  567. package/plugins/exportFile/dataProvider.mjs +7 -9
  568. package/plugins/exportFile/exportFile.d.ts +10 -3
  569. package/plugins/exportFile/types/_base.js +4 -10
  570. package/plugins/exportFile/types/_base.mjs +4 -10
  571. package/plugins/exportFile/types/xlsx/cell-style.js +4 -2
  572. package/plugins/exportFile/types/xlsx/cell-style.mjs +4 -2
  573. package/plugins/exportFile/types/xlsx/date-utils.d.ts +15 -0
  574. package/plugins/exportFile/types/xlsx/date-utils.js +31 -0
  575. package/plugins/exportFile/types/xlsx/date-utils.mjs +36 -0
  576. package/plugins/exportFile/types/xlsx.js +13 -9
  577. package/plugins/exportFile/types/xlsx.mjs +14 -10
  578. package/plugins/exportFile/utils.d.ts +9 -1
  579. package/plugins/exportFile/utils.js +27 -4
  580. package/plugins/exportFile/utils.mjs +40 -2
  581. package/plugins/filters/component/_base.d.ts +1 -2
  582. package/plugins/filters/component/_base.js +1 -2
  583. package/plugins/filters/component/_base.mjs +1 -2
  584. package/plugins/filters/component/condition.d.ts +1 -0
  585. package/plugins/filters/component/condition.js +2 -0
  586. package/plugins/filters/component/condition.mjs +2 -0
  587. package/plugins/filters/component/value.d.ts +5 -6
  588. package/plugins/filters/component/value.js +53 -34
  589. package/plugins/filters/component/value.mjs +54 -35
  590. package/plugins/filters/condition/date/after.js +2 -1
  591. package/plugins/filters/condition/date/after.mjs +2 -1
  592. package/plugins/filters/condition/date/afterOrEqual.js +2 -1
  593. package/plugins/filters/condition/date/afterOrEqual.mjs +2 -1
  594. package/plugins/filters/condition/date/before.js +2 -1
  595. package/plugins/filters/condition/date/before.mjs +2 -1
  596. package/plugins/filters/condition/date/beforeOrEqual.js +2 -1
  597. package/plugins/filters/condition/date/beforeOrEqual.mjs +2 -1
  598. package/plugins/filters/condition/equal.d.ts +7 -0
  599. package/plugins/filters/condition/equal.js +4 -0
  600. package/plugins/filters/condition/equal.mjs +10 -0
  601. package/plugins/filters/condition/intlDatetime/after.d.mts +1 -0
  602. package/plugins/filters/condition/intlDatetime/after.d.ts +18 -0
  603. package/plugins/filters/condition/intlDatetime/after.js +77 -0
  604. package/plugins/filters/condition/intlDatetime/after.mjs +22 -0
  605. package/plugins/filters/condition/intlDatetime/afterOrEqual.d.mts +1 -0
  606. package/plugins/filters/condition/intlDatetime/afterOrEqual.d.ts +18 -0
  607. package/plugins/filters/condition/intlDatetime/afterOrEqual.js +77 -0
  608. package/plugins/filters/condition/intlDatetime/afterOrEqual.mjs +22 -0
  609. package/plugins/filters/condition/intlDatetime/before.d.mts +1 -0
  610. package/plugins/filters/condition/intlDatetime/before.d.ts +18 -0
  611. package/plugins/filters/condition/intlDatetime/before.js +77 -0
  612. package/plugins/filters/condition/intlDatetime/before.mjs +22 -0
  613. package/plugins/filters/condition/intlDatetime/beforeOrEqual.d.mts +1 -0
  614. package/plugins/filters/condition/intlDatetime/beforeOrEqual.d.ts +18 -0
  615. package/plugins/filters/condition/intlDatetime/beforeOrEqual.js +77 -0
  616. package/plugins/filters/condition/intlDatetime/beforeOrEqual.mjs +22 -0
  617. package/plugins/filters/condition/intlDatetime/between.d.mts +1 -0
  618. package/plugins/filters/condition/intlDatetime/between.d.ts +18 -0
  619. package/plugins/filters/condition/intlDatetime/between.js +78 -0
  620. package/plugins/filters/condition/intlDatetime/between.mjs +23 -0
  621. package/plugins/filters/condition/intlDatetime/today.d.mts +1 -0
  622. package/plugins/filters/condition/intlDatetime/today.d.ts +17 -0
  623. package/plugins/filters/condition/intlDatetime/today.js +76 -0
  624. package/plugins/filters/condition/intlDatetime/today.mjs +20 -0
  625. package/plugins/filters/condition/intlDatetime/tomorrow.d.mts +1 -0
  626. package/plugins/filters/condition/intlDatetime/tomorrow.d.ts +17 -0
  627. package/plugins/filters/condition/intlDatetime/tomorrow.js +77 -0
  628. package/plugins/filters/condition/intlDatetime/tomorrow.mjs +21 -0
  629. package/plugins/filters/condition/intlDatetime/yesterday.d.mts +1 -0
  630. package/plugins/filters/condition/intlDatetime/yesterday.d.ts +17 -0
  631. package/plugins/filters/condition/intlDatetime/yesterday.js +77 -0
  632. package/plugins/filters/condition/intlDatetime/yesterday.mjs +21 -0
  633. package/plugins/filters/conditionCollection.js +4 -7
  634. package/plugins/filters/conditionCollection.mjs +4 -7
  635. package/plugins/filters/conditionUpdateObserver.d.ts +2 -2
  636. package/plugins/filters/conditionUpdateObserver.js +148 -49
  637. package/plugins/filters/conditionUpdateObserver.mjs +148 -49
  638. package/plugins/filters/constants.d.ts +1 -0
  639. package/plugins/filters/constants.js +31 -0
  640. package/plugins/filters/constants.mjs +28 -0
  641. package/plugins/filters/dataFilter.d.ts +4 -12
  642. package/plugins/filters/dataFilter.js +7 -19
  643. package/plugins/filters/dataFilter.mjs +8 -20
  644. package/plugins/filters/filters.d.ts +33 -9
  645. package/plugins/filters/filters.js +91 -31
  646. package/plugins/filters/filters.mjs +92 -32
  647. package/plugins/filters/sortComparators.d.ts +9 -2
  648. package/plugins/filters/sortComparators.js +34 -1
  649. package/plugins/filters/sortComparators.mjs +38 -3
  650. package/plugins/filters/ui/input.d.ts +4 -0
  651. package/plugins/filters/ui/input.js +18 -6
  652. package/plugins/filters/ui/input.mjs +18 -6
  653. package/plugins/filters/ui/multipleSelect.js +27 -4
  654. package/plugins/filters/ui/multipleSelect.mjs +27 -4
  655. package/plugins/filters/ui/select.js +1 -1
  656. package/plugins/filters/ui/select.mjs +1 -1
  657. package/plugins/formulas/engine/register.d.ts +5 -4
  658. package/plugins/formulas/engine/register.js +5 -2
  659. package/plugins/formulas/engine/register.mjs +9 -5
  660. package/plugins/formulas/engine/settings.d.ts +2 -6
  661. package/plugins/formulas/engine/settings.js +29 -4
  662. package/plugins/formulas/engine/settings.mjs +29 -4
  663. package/plugins/formulas/engine/types.d.ts +12 -2
  664. package/plugins/formulas/formulas.d.ts +39 -0
  665. package/plugins/formulas/formulas.js +789 -47
  666. package/plugins/formulas/formulas.mjs +793 -49
  667. package/plugins/formulas/hyperlinkUrl.d.mts +1 -0
  668. package/plugins/formulas/hyperlinkUrl.d.ts +12 -0
  669. package/plugins/formulas/hyperlinkUrl.js +32 -0
  670. package/plugins/formulas/hyperlinkUrl.mjs +32 -0
  671. package/plugins/formulas/indexSyncer/axisSyncer.d.ts +1 -0
  672. package/plugins/formulas/indexSyncer/axisSyncer.js +72 -15
  673. package/plugins/formulas/indexSyncer/axisSyncer.mjs +72 -15
  674. package/plugins/formulas/utils.d.ts +9 -0
  675. package/plugins/formulas/utils.js +21 -0
  676. package/plugins/formulas/utils.mjs +25 -0
  677. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +6 -1
  678. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +6 -1
  679. package/plugins/hiddenColumns/hiddenColumns.js +6 -3
  680. package/plugins/hiddenColumns/hiddenColumns.mjs +6 -3
  681. package/plugins/hiddenRows/contextMenuItem/showRow.js +6 -1
  682. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +6 -1
  683. package/plugins/hiddenRows/hiddenRows.js +6 -3
  684. package/plugins/hiddenRows/hiddenRows.mjs +6 -3
  685. package/plugins/index.d.ts +5 -1
  686. package/plugins/index.js +10 -0
  687. package/plugins/index.mjs +5 -1
  688. package/plugins/loading/content.d.ts +5 -3
  689. package/plugins/loading/content.js +3 -2
  690. package/plugins/loading/content.mjs +8 -5
  691. package/plugins/loading/loading.d.ts +5 -2
  692. package/plugins/loading/loading.mjs +5 -2
  693. package/plugins/manualColumnMove/manualColumnMove.d.ts +10 -0
  694. package/plugins/manualColumnMove/manualColumnMove.js +122 -20
  695. package/plugins/manualColumnMove/manualColumnMove.mjs +123 -21
  696. package/plugins/manualColumnResize/manualColumnResize.d.ts +20 -7
  697. package/plugins/manualColumnResize/manualColumnResize.js +33 -13
  698. package/plugins/manualColumnResize/manualColumnResize.mjs +34 -14
  699. package/plugins/manualRowResize/manualRowResize.d.ts +21 -8
  700. package/plugins/manualRowResize/manualRowResize.js +34 -14
  701. package/plugins/manualRowResize/manualRowResize.mjs +35 -15
  702. package/plugins/mergeCells/cellCoords.d.ts +8 -0
  703. package/plugins/mergeCells/cellCoords.js +11 -0
  704. package/plugins/mergeCells/cellCoords.mjs +11 -0
  705. package/plugins/mergeCells/cellsCollection.d.ts +46 -2
  706. package/plugins/mergeCells/cellsCollection.js +189 -68
  707. package/plugins/mergeCells/cellsCollection.mjs +189 -68
  708. package/plugins/mergeCells/focusOrder.d.ts +26 -20
  709. package/plugins/mergeCells/focusOrder.js +358 -177
  710. package/plugins/mergeCells/focusOrder.mjs +363 -172
  711. package/plugins/mergeCells/mergeCells.d.ts +13 -8
  712. package/plugins/mergeCells/mergeCells.js +322 -64
  713. package/plugins/mergeCells/mergeCells.mjs +322 -64
  714. package/plugins/moveCells/helpers.d.mts +1 -0
  715. package/plugins/moveCells/helpers.d.ts +21 -0
  716. package/plugins/moveCells/helpers.js +20 -0
  717. package/plugins/moveCells/helpers.mjs +15 -0
  718. package/plugins/moveCells/index.d.mts +1 -0
  719. package/plugins/moveCells/index.d.ts +1 -0
  720. package/plugins/moveCells/index.js +22 -0
  721. package/plugins/moveCells/index.mjs +1 -0
  722. package/plugins/moveCells/moveCells.d.mts +1 -0
  723. package/plugins/moveCells/moveCells.d.ts +80 -0
  724. package/plugins/moveCells/moveCells.js +602 -0
  725. package/plugins/moveCells/moveCells.mjs +587 -0
  726. package/plugins/multiColumnSorting/multiColumnSorting.d.ts +8 -8
  727. package/plugins/multiColumnSorting/multiColumnSorting.js +11 -16
  728. package/plugins/multiColumnSorting/multiColumnSorting.mjs +11 -16
  729. package/plugins/multiColumnSorting/rootComparator.js +26 -19
  730. package/plugins/multiColumnSorting/rootComparator.mjs +26 -19
  731. package/plugins/multipleSelectionHandles/multipleSelectionHandles.d.ts +19 -4
  732. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +273 -58
  733. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +273 -58
  734. package/plugins/nestedHeaders/nestedHeaders.d.ts +10 -1
  735. package/plugins/nestedHeaders/nestedHeaders.js +222 -23
  736. package/plugins/nestedHeaders/nestedHeaders.mjs +222 -23
  737. package/plugins/nestedHeaders/stateManager/columnArrangement.d.mts +1 -0
  738. package/plugins/nestedHeaders/stateManager/columnArrangement.d.ts +37 -0
  739. package/plugins/nestedHeaders/stateManager/columnArrangement.js +35 -0
  740. package/plugins/nestedHeaders/stateManager/columnArrangement.mjs +30 -0
  741. package/plugins/nestedHeaders/stateManager/deriveSettings.d.mts +1 -0
  742. package/plugins/nestedHeaders/stateManager/deriveSettings.d.ts +57 -0
  743. package/plugins/nestedHeaders/stateManager/deriveSettings.js +115 -0
  744. package/plugins/nestedHeaders/stateManager/deriveSettings.mjs +135 -0
  745. package/plugins/nestedHeaders/stateManager/headersTree.d.ts +14 -1
  746. package/plugins/nestedHeaders/stateManager/index.d.ts +76 -13
  747. package/plugins/nestedHeaders/stateManager/index.js +381 -38
  748. package/plugins/nestedHeaders/stateManager/index.mjs +382 -39
  749. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +3 -2
  750. package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +3 -2
  751. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -1
  752. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +5 -1
  753. package/plugins/nestedHeaders/stateManager/sourceSettings.d.ts +23 -6
  754. package/plugins/nestedHeaders/stateManager/sourceSettings.js +20 -4
  755. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +20 -4
  756. package/plugins/nestedHeaders/stateManager/utils.d.ts +17 -1
  757. package/plugins/nestedHeaders/stateManager/utils.js +6 -1
  758. package/plugins/nestedHeaders/stateManager/utils.mjs +6 -1
  759. package/plugins/nestedHeaders/utils/ghostTable.js +21 -8
  760. package/plugins/nestedHeaders/utils/ghostTable.mjs +21 -8
  761. package/plugins/nestedRows/data/dataManager.d.ts +4 -1
  762. package/plugins/nestedRows/data/dataManager.js +10 -4
  763. package/plugins/nestedRows/data/dataManager.mjs +10 -4
  764. package/plugins/nestedRows/nestedRows.d.ts +127 -1
  765. package/plugins/nestedRows/nestedRows.js +330 -8
  766. package/plugins/nestedRows/nestedRows.mjs +330 -8
  767. package/plugins/nestedRows/ui/collapsing.d.ts +58 -0
  768. package/plugins/nestedRows/ui/collapsing.js +236 -40
  769. package/plugins/nestedRows/ui/collapsing.mjs +236 -40
  770. package/plugins/notification/notification.d.ts +2 -1
  771. package/plugins/notification/notification.js +6 -3
  772. package/plugins/notification/notification.mjs +6 -3
  773. package/plugins/notification/ui.d.ts +8 -5
  774. package/plugins/notification/ui.js +18 -6
  775. package/plugins/notification/ui.mjs +18 -6
  776. package/plugins/pagination/pagination.js +2 -2
  777. package/plugins/pagination/pagination.mjs +2 -2
  778. package/plugins/search/search.js +23 -2
  779. package/plugins/search/search.mjs +23 -2
  780. package/plugins/selectionHandles/helpers.d.mts +1 -0
  781. package/plugins/selectionHandles/helpers.d.ts +17 -0
  782. package/plugins/selectionHandles/helpers.js +16 -0
  783. package/plugins/selectionHandles/helpers.mjs +11 -0
  784. package/plugins/selectionHandles/index.d.mts +1 -0
  785. package/plugins/selectionHandles/index.d.ts +1 -0
  786. package/plugins/selectionHandles/index.js +22 -0
  787. package/plugins/selectionHandles/index.mjs +1 -0
  788. package/plugins/selectionHandles/selectionHandles.d.mts +1 -0
  789. package/plugins/selectionHandles/selectionHandles.d.ts +52 -0
  790. package/plugins/selectionHandles/selectionHandles.js +342 -0
  791. package/plugins/selectionHandles/selectionHandles.mjs +323 -0
  792. package/plugins/trimRows/trimRows.d.ts +1 -1
  793. package/plugins/trimRows/trimRows.js +6 -2
  794. package/plugins/trimRows/trimRows.mjs +6 -2
  795. package/plugins/types.d.ts +4 -0
  796. package/plugins/undoRedo/actions/cellAlignment.js +1 -1
  797. package/plugins/undoRedo/actions/cellAlignment.mjs +1 -1
  798. package/plugins/undoRedo/actions/createColumn.js +4 -1
  799. package/plugins/undoRedo/actions/createColumn.mjs +4 -1
  800. package/plugins/undoRedo/actions/createRow.js +4 -1
  801. package/plugins/undoRedo/actions/createRow.mjs +4 -1
  802. package/plugins/undoRedo/actions/fixedCounts.d.mts +1 -0
  803. package/plugins/undoRedo/actions/fixedCounts.d.ts +36 -0
  804. package/plugins/undoRedo/actions/fixedCounts.js +63 -0
  805. package/plugins/undoRedo/actions/fixedCounts.mjs +62 -0
  806. package/plugins/undoRedo/actions/index.js +2 -0
  807. package/plugins/undoRedo/actions/index.mjs +2 -0
  808. package/plugins/undoRedo/actions/moveCells.d.mts +1 -0
  809. package/plugins/undoRedo/actions/moveCells.d.ts +104 -0
  810. package/plugins/undoRedo/actions/moveCells.js +225 -0
  811. package/plugins/undoRedo/actions/moveCells.mjs +227 -0
  812. package/plugins/undoRedo/actions/removeColumn.d.ts +18 -2
  813. package/plugins/undoRedo/actions/removeColumn.js +11 -4
  814. package/plugins/undoRedo/actions/removeColumn.mjs +12 -5
  815. package/plugins/undoRedo/actions/removeRow.js +2 -57
  816. package/plugins/undoRedo/actions/removeRow.mjs +2 -57
  817. package/plugins/undoRedo/undoRedo.d.ts +26 -0
  818. package/plugins/undoRedo/undoRedo.js +36 -2
  819. package/plugins/undoRedo/undoRedo.mjs +36 -2
  820. package/plugins/undoRedo/utils.d.ts +29 -0
  821. package/plugins/undoRedo/utils.js +55 -3
  822. package/plugins/undoRedo/utils.mjs +59 -0
  823. package/renderSizeProbe.d.mts +1 -0
  824. package/renderSizeProbe.d.ts +60 -0
  825. package/renderSizeProbe.js +163 -0
  826. package/renderSizeProbe.mjs +176 -0
  827. package/renderers/checkboxRenderer/checkboxRenderer.js +9 -4
  828. package/renderers/checkboxRenderer/checkboxRenderer.mjs +9 -4
  829. package/renderers/index.d.ts +3 -2
  830. package/renderers/index.js +8 -0
  831. package/renderers/index.mjs +3 -1
  832. package/renderers/intlDatetimeRenderer/index.d.mts +1 -0
  833. package/renderers/intlDatetimeRenderer/index.d.ts +1 -0
  834. package/renderers/intlDatetimeRenderer/index.js +22 -0
  835. package/renderers/intlDatetimeRenderer/index.mjs +1 -0
  836. package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.d.mts +1 -0
  837. package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.d.ts +26 -0
  838. package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.js +82 -0
  839. package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.mjs +67 -0
  840. package/renderers/multiSelectRenderer/multiSelectRenderer.js +2 -3
  841. package/renderers/multiSelectRenderer/multiSelectRenderer.mjs +2 -3
  842. package/renderers/multiSelectRenderer/utils/utils.d.ts +1 -1
  843. package/renderers/multiSelectRenderer/utils/utils.js +11 -8
  844. package/renderers/multiSelectRenderer/utils/utils.mjs +11 -8
  845. package/renderers/passwordRenderer/passwordRenderer.js +6 -1
  846. package/renderers/passwordRenderer/passwordRenderer.mjs +6 -1
  847. package/renderers/renderCell.d.mts +1 -0
  848. package/renderers/renderCell.d.ts +37 -0
  849. package/renderers/renderCell.js +43 -0
  850. package/renderers/renderCell.mjs +48 -0
  851. package/selection/highlight/types/areaLayered.d.ts +3 -1
  852. package/selection/highlight/types/areaLayered.js +4 -2
  853. package/selection/highlight/types/areaLayered.mjs +6 -2
  854. package/selection/highlight/types/focus.d.ts +3 -1
  855. package/selection/highlight/types/focus.js +3 -2
  856. package/selection/highlight/types/focus.mjs +5 -2
  857. package/selection/mouseEventHandler.js +29 -26
  858. package/selection/mouseEventHandler.mjs +29 -26
  859. package/selection/moveCells.d.mts +1 -0
  860. package/selection/moveCells.d.ts +15 -0
  861. package/selection/moveCells.js +13 -0
  862. package/selection/moveCells.mjs +9 -0
  863. package/selection/selection.d.ts +56 -2
  864. package/selection/selection.js +149 -5
  865. package/selection/selection.mjs +149 -5
  866. package/selection/types.d.ts +3 -0
  867. package/settings.d.ts +24 -3
  868. package/shortcuts/context.d.ts +4 -0
  869. package/shortcuts/context.js +16 -8
  870. package/shortcuts/context.mjs +20 -8
  871. package/shortcuts/contexts/commands/populateSelectedCellsData.js +1 -1
  872. package/shortcuts/contexts/commands/populateSelectedCellsData.mjs +1 -1
  873. package/styles/handsontable.css +504 -158
  874. package/styles/handsontable.min.css +4 -4
  875. package/styles/handsontableStyles.d.mts +2 -0
  876. package/styles/handsontableStyles.d.ts +2 -0
  877. package/styles/handsontableStyles.js +1 -1
  878. package/styles/handsontableStyles.mjs +1 -1
  879. package/styles/ht-icons-horizon.css +1 -10
  880. package/styles/ht-icons-horizon.min.css +4 -4
  881. package/styles/ht-icons-main.css +1 -10
  882. package/styles/ht-icons-main.min.css +4 -4
  883. package/styles/ht-theme-classic-no-icons.css +6 -0
  884. package/styles/ht-theme-classic-no-icons.min.css +4 -4
  885. package/styles/ht-theme-classic.css +7 -10
  886. package/styles/ht-theme-classic.min.css +4 -4
  887. package/styles/ht-theme-horizon-no-icons.css +6 -0
  888. package/styles/ht-theme-horizon-no-icons.min.css +4 -4
  889. package/styles/ht-theme-horizon.css +7 -10
  890. package/styles/ht-theme-horizon.min.css +4 -4
  891. package/styles/ht-theme-main-no-icons.css +6 -0
  892. package/styles/ht-theme-main-no-icons.min.css +4 -4
  893. package/styles/ht-theme-main.css +7 -10
  894. package/styles/ht-theme-main.min.css +4 -4
  895. package/tableView.d.ts +17 -4
  896. package/tableView.js +208 -42
  897. package/tableView.mjs +209 -43
  898. package/themes/engine/index.d.ts +2 -1
  899. package/themes/engine/index.js +3 -0
  900. package/themes/engine/index.mjs +1 -1
  901. package/themes/engine/manager.d.ts +75 -3
  902. package/themes/engine/manager.js +242 -6
  903. package/themes/engine/manager.mjs +249 -6
  904. package/themes/engine/utils/cssVariables.d.ts +18 -1
  905. package/themes/engine/utils/cssVariables.js +27 -11
  906. package/themes/engine/utils/cssVariables.mjs +28 -11
  907. package/themes/engine/utils/validation.js +7 -0
  908. package/themes/engine/utils/validation.mjs +7 -0
  909. package/themes/static/variables/helpers/iconsMap.js +1 -6
  910. package/themes/static/variables/helpers/iconsMap.mjs +1 -6
  911. package/themes/static/variables/tokens/classic.js +6 -0
  912. package/themes/static/variables/tokens/classic.mjs +6 -0
  913. package/themes/static/variables/tokens/horizon.js +6 -0
  914. package/themes/static/variables/tokens/horizon.mjs +6 -0
  915. package/themes/static/variables/tokens/main.js +6 -0
  916. package/themes/static/variables/tokens/main.mjs +6 -0
  917. package/themes/types.d.ts +1 -1
  918. package/translations/indexMapper.d.ts +14 -9
  919. package/translations/indexMapper.js +104 -43
  920. package/translations/indexMapper.mjs +104 -43
  921. package/translations/mapCollections/aggregatedCollection.js +20 -35
  922. package/translations/mapCollections/aggregatedCollection.mjs +20 -35
  923. package/translations/mapCollections/mapCollection.d.ts +10 -4
  924. package/translations/mapCollections/mapCollection.js +2 -2
  925. package/translations/mapCollections/mapCollection.mjs +2 -2
  926. package/translations/maps/booleanMap.d.mts +1 -0
  927. package/translations/maps/booleanMap.d.ts +86 -0
  928. package/translations/maps/booleanMap.js +300 -0
  929. package/translations/maps/booleanMap.mjs +308 -0
  930. package/translations/maps/hidingMap.d.ts +5 -2
  931. package/translations/maps/hidingMap.js +8 -3
  932. package/translations/maps/hidingMap.mjs +8 -3
  933. package/translations/maps/index.d.ts +5 -2
  934. package/translations/maps/index.js +7 -3
  935. package/translations/maps/index.mjs +10 -2
  936. package/translations/maps/indexMap.d.ts +26 -2
  937. package/translations/maps/indexMap.js +78 -6
  938. package/translations/maps/indexMap.mjs +78 -6
  939. package/translations/maps/indexesSequence.d.ts +53 -2
  940. package/translations/maps/indexesSequence.js +225 -3
  941. package/translations/maps/indexesSequence.mjs +233 -3
  942. package/translations/maps/trimmingMap.d.ts +5 -2
  943. package/translations/maps/trimmingMap.js +8 -3
  944. package/translations/maps/trimmingMap.mjs +8 -3
  945. package/translations/maps/utils/actionsOnIndexes.js +20 -1
  946. package/translations/maps/utils/actionsOnIndexes.mjs +20 -1
  947. package/translations/maps/utils/indexesSequence.js +12 -3
  948. package/translations/maps/utils/indexesSequence.mjs +12 -3
  949. package/translations/maps/utils/physicallyIndexed.js +12 -1
  950. package/translations/maps/utils/physicallyIndexed.mjs +12 -1
  951. package/utils/entitlementLicenseKey/classify.d.mts +1 -0
  952. package/utils/entitlementLicenseKey/classify.d.ts +34 -0
  953. package/utils/entitlementLicenseKey/classify.js +97 -0
  954. package/utils/entitlementLicenseKey/classify.mjs +96 -0
  955. package/utils/entitlementLicenseKey/constants.d.mts +1 -0
  956. package/utils/entitlementLicenseKey/constants.d.ts +69 -0
  957. package/utils/entitlementLicenseKey/constants.js +54 -0
  958. package/utils/entitlementLicenseKey/constants.mjs +66 -0
  959. package/utils/entitlementLicenseKey/detectFormat.d.mts +1 -0
  960. package/utils/entitlementLicenseKey/detectFormat.d.ts +23 -0
  961. package/utils/entitlementLicenseKey/detectFormat.js +60 -0
  962. package/utils/entitlementLicenseKey/detectFormat.mjs +60 -0
  963. package/utils/entitlementLicenseKey/encoding.d.mts +1 -0
  964. package/utils/entitlementLicenseKey/encoding.d.ts +58 -0
  965. package/utils/entitlementLicenseKey/encoding.js +161 -0
  966. package/utils/entitlementLicenseKey/encoding.mjs +172 -0
  967. package/utils/entitlementLicenseKey/extractKeyData.d.mts +1 -0
  968. package/utils/entitlementLicenseKey/extractKeyData.d.ts +47 -0
  969. package/utils/entitlementLicenseKey/extractKeyData.js +213 -0
  970. package/utils/entitlementLicenseKey/extractKeyData.mjs +232 -0
  971. package/utils/entitlementLicenseKey/grants.d.mts +1 -0
  972. package/utils/entitlementLicenseKey/grants.d.ts +54 -0
  973. package/utils/entitlementLicenseKey/grants.js +68 -0
  974. package/utils/entitlementLicenseKey/grants.mjs +84 -0
  975. package/utils/entitlementLicenseKey/index.d.mts +1 -0
  976. package/utils/entitlementLicenseKey/index.d.ts +8 -0
  977. package/utils/entitlementLicenseKey/index.js +53 -0
  978. package/utils/entitlementLicenseKey/index.mjs +6 -0
  979. package/utils/entitlementLicenseKey/sha512.d.mts +1 -0
  980. package/utils/entitlementLicenseKey/sha512.d.ts +11 -0
  981. package/utils/entitlementLicenseKey/sha512.js +328 -0
  982. package/utils/entitlementLicenseKey/sha512.mjs +327 -0
  983. package/utils/entitlementLicenseKey/types.d.mts +1 -0
  984. package/utils/entitlementLicenseKey/types.d.ts +84 -0
  985. package/utils/entitlementLicenseKey/types.js +8 -0
  986. package/utils/entitlementLicenseKey/types.mjs +10 -0
  987. package/utils/ghostTable.d.ts +1 -0
  988. package/utils/ghostTable.js +60 -11
  989. package/utils/ghostTable.mjs +60 -11
  990. package/utils/licenseBranding/badge.d.mts +1 -0
  991. package/utils/licenseBranding/badge.d.ts +21 -0
  992. package/utils/licenseBranding/badge.js +237 -0
  993. package/utils/licenseBranding/badge.mjs +244 -0
  994. package/utils/licenseBranding/content.d.mts +1 -0
  995. package/utils/licenseBranding/content.d.ts +54 -0
  996. package/utils/licenseBranding/content.js +93 -0
  997. package/utils/licenseBranding/content.mjs +79 -0
  998. package/utils/licenseBranding/index.d.mts +1 -0
  999. package/utils/licenseBranding/index.d.ts +14 -0
  1000. package/utils/licenseBranding/index.js +55 -0
  1001. package/utils/licenseBranding/index.mjs +56 -0
  1002. package/utils/licenseBranding/lockScreen.d.mts +1 -0
  1003. package/utils/licenseBranding/lockScreen.d.ts +23 -0
  1004. package/utils/licenseBranding/lockScreen.js +150 -0
  1005. package/utils/licenseBranding/lockScreen.mjs +159 -0
  1006. package/utils/licenseNotification.d.ts +19 -0
  1007. package/utils/licenseNotification.js +56 -29
  1008. package/utils/licenseNotification.mjs +61 -29
  1009. package/utils/movableMeta.d.mts +1 -0
  1010. package/utils/movableMeta.d.ts +40 -0
  1011. package/utils/movableMeta.js +47 -0
  1012. package/utils/movableMeta.mjs +46 -0
  1013. package/utils/parseTable.js +16 -7
  1014. package/utils/parseTable.mjs +16 -7
  1015. package/utils/samplesGenerator.d.ts +41 -14
  1016. package/utils/samplesGenerator.js +114 -42
  1017. package/utils/samplesGenerator.mjs +114 -42
  1018. package/utils/sanitizer.d.mts +1 -0
  1019. package/utils/sanitizer.d.ts +47 -0
  1020. package/utils/sanitizer.js +43 -0
  1021. package/utils/sanitizer.mjs +55 -0
  1022. package/utils/stylesHandler.d.ts +13 -0
  1023. package/utils/stylesHandler.js +55 -2
  1024. package/utils/stylesHandler.mjs +55 -2
  1025. package/validators/autocompleteValidator/autocompleteValidator.js +3 -0
  1026. package/validators/autocompleteValidator/autocompleteValidator.mjs +3 -0
  1027. package/validators/index.d.ts +3 -2
  1028. package/validators/index.js +8 -0
  1029. package/validators/index.mjs +3 -1
  1030. package/validators/intlDatetimeValidator/index.d.mts +1 -0
  1031. package/validators/intlDatetimeValidator/index.d.ts +1 -0
  1032. package/validators/intlDatetimeValidator/index.js +25 -0
  1033. package/validators/intlDatetimeValidator/index.mjs +1 -0
  1034. package/validators/intlDatetimeValidator/intlDatetimeValidator.d.mts +1 -0
  1035. package/validators/intlDatetimeValidator/intlDatetimeValidator.d.ts +28 -0
  1036. package/validators/intlDatetimeValidator/intlDatetimeValidator.js +49 -0
  1037. package/validators/intlDatetimeValidator/intlDatetimeValidator.mjs +37 -0
  1038. package/3rdparty/walkontable/src/overlay/bottom.d.mts +0 -1
  1039. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.d.mts +0 -1
  1040. package/3rdparty/walkontable/src/overlay/inlineStart.d.mts +0 -1
  1041. package/3rdparty/walkontable/src/overlay/top.d.mts +0 -1
  1042. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.d.mts +0 -1
  1043. package/3rdparty/walkontable/src/overlays.d.ts +0 -329
  1044. package/3rdparty/walkontable/src/overlays.js +0 -870
  1045. package/3rdparty/walkontable/src/overlays.mjs +0 -860
  1046. package/3rdparty/walkontable/src/renderer/table.d.mts +0 -1
  1047. package/3rdparty/walkontable/src/renderer/table.js +0 -229
  1048. package/3rdparty/walkontable/src/settings.d.mts +0 -2
  1049. package/3rdparty/walkontable/src/settings.js +0 -196
  1050. package/3rdparty/walkontable/src/settings.mjs +0 -263
  1051. package/3rdparty/walkontable/src/table/bottom.d.mts +0 -2
  1052. package/3rdparty/walkontable/src/table/bottom.d.ts +0 -19
  1053. package/3rdparty/walkontable/src/table/bottom.js +0 -38
  1054. package/3rdparty/walkontable/src/table/bottom.mjs +0 -23
  1055. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.d.mts +0 -2
  1056. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.d.ts +0 -20
  1057. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +0 -24
  1058. package/3rdparty/walkontable/src/table/inlineStart.d.mts +0 -2
  1059. package/3rdparty/walkontable/src/table/inlineStart.d.ts +0 -16
  1060. package/3rdparty/walkontable/src/table/inlineStart.js +0 -35
  1061. package/3rdparty/walkontable/src/table/inlineStart.mjs +0 -20
  1062. package/3rdparty/walkontable/src/table/master.d.mts +0 -2
  1063. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.d.mts +0 -2
  1064. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.d.ts +0 -75
  1065. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -122
  1066. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -112
  1067. package/3rdparty/walkontable/src/table/mixin/calculatedRows.d.mts +0 -2
  1068. package/3rdparty/walkontable/src/table/mixin/calculatedRows.d.ts +0 -75
  1069. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -122
  1070. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -112
  1071. package/3rdparty/walkontable/src/table/top.d.mts +0 -2
  1072. package/3rdparty/walkontable/src/table/top.d.ts +0 -19
  1073. package/3rdparty/walkontable/src/table/top.js +0 -38
  1074. package/3rdparty/walkontable/src/table/top.mjs +0 -23
  1075. package/3rdparty/walkontable/src/table/topInlineStartCorner.d.mts +0 -2
  1076. package/3rdparty/walkontable/src/table/topInlineStartCorner.d.ts +0 -20
  1077. package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +0 -24
  1078. package/3rdparty/walkontable/src/table.d.mts +0 -2
  1079. package/3rdparty/walkontable/src/table.d.ts +0 -741
  1080. package/3rdparty/walkontable/src/table.js +0 -1120
  1081. package/3rdparty/walkontable/src/table.mjs +0 -1105
  1082. package/3rdparty/walkontable/src/utils/cellCoords.d.mts +0 -1
  1083. package/3rdparty/walkontable/src/utils/cellCoords.js +0 -54
  1084. package/3rdparty/walkontable/src/utils/cellCoords.mjs +0 -54
  1085. package/3rdparty/walkontable/src/utils/column.d.mts +0 -2
  1086. package/3rdparty/walkontable/src/utils/column.js +0 -75
  1087. package/3rdparty/walkontable/src/utils/column.mjs +0 -70
  1088. package/3rdparty/walkontable/src/utils/positionCache.d.mts +0 -1
  1089. package/3rdparty/walkontable/src/utils/positionCache.d.ts +0 -91
  1090. package/3rdparty/walkontable/src/utils/positionCache.js +0 -193
  1091. package/3rdparty/walkontable/src/utils/positionCache.mjs +0 -194
  1092. package/3rdparty/walkontable/src/utils/row.d.mts +0 -2
  1093. package/3rdparty/walkontable/src/utils/row.js +0 -46
  1094. package/3rdparty/walkontable/src/utils/row.mjs +0 -41
  1095. package/3rdparty/walkontable/src/viewport.d.ts +0 -254
  1096. package/3rdparty/walkontable/src/viewport.js +0 -533
  1097. package/3rdparty/walkontable/src/viewport.mjs +0 -523
  1098. /package/3rdparty/walkontable/src/{renderer → axisSizing/positionCache}/index.d.mts +0 -0
  1099. /package/3rdparty/walkontable/src/{overlays.d.mts → overlay/overlays.d.mts} +0 -0
  1100. /package/3rdparty/walkontable/src/overlay/{_base.d.mts → regions/_base.d.mts} +0 -0
  1101. /package/3rdparty/walkontable/src/{stickyScrollStrategy.d.mts → overlay/strategies/stickyScrollStrategy.d.mts} +0 -0
  1102. /package/3rdparty/walkontable/src/{renderer → render}/_base.d.mts +0 -0
  1103. /package/3rdparty/walkontable/src/{renderer → render}/_base.js +0 -0
  1104. /package/3rdparty/walkontable/src/{renderer → render}/_base.mjs +0 -0
  1105. /package/3rdparty/walkontable/src/{renderer → render}/cells.d.mts +0 -0
  1106. /package/3rdparty/walkontable/src/{renderer → render}/cells.d.ts +0 -0
  1107. /package/3rdparty/walkontable/src/{renderer → render}/colGroup.d.mts +0 -0
  1108. /package/3rdparty/walkontable/src/{renderer → render}/colGroup.d.ts +0 -0
  1109. /package/3rdparty/walkontable/src/{renderer → render}/colGroup.js +0 -0
  1110. /package/3rdparty/walkontable/src/{renderer → render}/colGroup.mjs +0 -0
  1111. /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.d.mts +0 -0
  1112. /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.d.ts +0 -0
  1113. /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.js +0 -0
  1114. /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.mjs +0 -0
  1115. /package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.d.mts +0 -0
  1116. /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.d.mts +0 -0
  1117. /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.d.ts +0 -0
  1118. /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.js +0 -0
  1119. /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.mjs +0 -0
  1120. /package/3rdparty/walkontable/src/{renderer → render}/rows.d.mts +0 -0
  1121. /package/3rdparty/walkontable/src/{renderer → render}/rows.d.ts +0 -0
  1122. /package/3rdparty/walkontable/src/{scroll.d.mts → scroll/scroll.d.mts} +0 -0
  1123. /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.d.mts +0 -0
  1124. /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.d.mts +0 -0
  1125. /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.js +0 -0
  1126. /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.mjs +0 -0
  1127. /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.d.mts +0 -0
  1128. /package/3rdparty/walkontable/src/{viewport.d.mts → viewport/viewport.d.mts} +0 -0
@@ -104,8 +104,89 @@ var /**
104
104
  *
105
105
  * @type {boolean}
106
106
  */ _initialized = /*#__PURE__*/ new WeakMap(), /**
107
+ * Physical top-left (row/column) of every merged cell, captured while its visual coordinates are
108
+ * authoritative (creation, structural edits). Read on a pure row-trimming change to re-anchor the
109
+ * merge's visual `row`/`col` onto the rows that stay visible — keeping the merge whole (span
110
+ * unchanged) instead of clipping it. Physical indexes are stable across trimming, so one capture
111
+ * survives any number of filter/trim toggles.
112
+ *
113
+ * @type {WeakMap<MergedCellCoords, { physicalRow: number, physicalColumn: number }>}
114
+ */ _mergeAnchors = /*#__PURE__*/ new WeakMap(), /**
115
+ * Merges whose entire row span is currently trimmed, so they have been removed from the lookup
116
+ * matrix to avoid colliding with whatever physical row later surfaces at their stale visual slot.
117
+ * Tracked so that when such a merge becomes visible again it is force-added back to the matrix even
118
+ * if it lands on the exact visual `row`/`col` it held before being purged (where the
119
+ * "skip when unchanged" relocation optimization would otherwise leave it absent).
120
+ *
121
+ * @type {WeakSet<MergedCellCoords>}
122
+ */ _purgedMerges = /*#__PURE__*/ new WeakMap(), /**
123
+ * Eagerly removes the merge-related cell meta (`hidden`, `copyable`, `spanned`, `rowspan`,
124
+ * `colspan`) for every cell covered by the provided merged cell. Done at the moment the merge
125
+ * is dropped — rather than lazily in `afterGetCellMeta` — so the stale flags cannot linger in
126
+ * the cached meta and leak into consumers that read it directly (e.g. `toHTML`) when the
127
+ * following render is suspended/batched and never actually runs.
128
+ *
129
+ * @param {MergedCellCoords} mergedCell The merged cell whose meta should be reset.
130
+ */ _resetMergedCellMeta = /*#__PURE__*/ new WeakSet(), /**
107
131
  * `afterInit` hook callback.
108
132
  */ _onAfterInit = /*#__PURE__*/ new WeakMap(), /**
133
+ * `afterMergeCells` hook callback. Captures the physical anchor of the just-created merge so it can
134
+ * be re-anchored on later trimming changes (covers user/API merges; config merges are also captured
135
+ * in `afterInit`/`updatePlugin`).
136
+ *
137
+ * @param {CellRange} _cellRange The merged range (unused).
138
+ * @param {{ row: number, col: number, rowspan: number, colspan: number }} mergeParent The merged cell.
139
+ */ _onAfterMergeCellsCapture = /*#__PURE__*/ new WeakMap(), /**
140
+ * Row index mapper `cacheUpdated` callback. Re-anchors every merge onto its physical anchor's current
141
+ * visual position after any index-mapper cache change — a visibility change (Filters / `trimRows` /
142
+ * `nestedRows` collapse / `hiddenRows`) or an index-sequence change (a sort / move). The re-anchor is
143
+ * anchor-based and idempotent, and this hook fires after the mapper cache has been (re)built —
144
+ * including once at the end of a batched `suspendOperations`/`resumeOperations` block — so it is the
145
+ * authoritative place to position merges: it covers a plain filter, a sort and a filter batched
146
+ * together, and a standalone batched sort (where re-anchoring inside the in-batch `afterColumnSort`
147
+ * hook used to read a stale, pre-sort cache). Row/column moves additionally translate (and split)
148
+ * spans in their `afterRowMove`/`afterColumnMove` hooks; this re-anchor runs on top of that authoritative
149
+ * translation as a no-op.
150
+ *
151
+ * @param {{ trimmedIndexesChanged: boolean, hiddenIndexesChanged: boolean, indexesSequenceChanged:
152
+ * boolean }} changes Cache flags.
153
+ */ _onRowIndexCacheUpdated = /*#__PURE__*/ new WeakMap(), /**
154
+ * Captures the physical top-left of a single merge from its current visual coords. While row
155
+ * trimming is active the merge's visual `row` may be a re-anchored, derived value (set by
156
+ * {@link MergeCells#reanchorMergesToVisibleRows}), so re-deriving the physical row from it would
157
+ * corrupt the authoritative anchor captured earlier — the previously stored `physicalRow` is kept
158
+ * instead. The column is never distorted by row trimming, so it is always refreshed (covering
159
+ * column insert/remove performed while a filter is active). A merge with no anchor yet (e.g. created
160
+ * during an active filter) is captured best-effort from its current, visible position.
161
+ *
162
+ * @param {MergedCellCoords} merge The merge to capture.
163
+ * @param {boolean} [trimmingActive] Whether row trimming is currently active (computed if omitted).
164
+ */ _captureAnchorOf = /*#__PURE__*/ new WeakSet(), /**
165
+ * Captures the physical top-left of every merge (after a bulk (re)generation).
166
+ */ _captureMergeAnchors = /*#__PURE__*/ new WeakSet(), /**
167
+ * Remaps the cached physical row of every merge's anchor after a row insert/remove. While trimming
168
+ * is active {@link MergeCells#captureAnchorOf} preserves the stored `physicalRow` verbatim, so the
169
+ * structural edit's physical renumbering has to be mirrored onto the cache here or re-anchoring would
170
+ * later target stale rows. Only merges still present in the collection are visited (fully removed ones
171
+ * were already dropped by `shiftCollections`), so each anchor always maps to a valid surviving row.
172
+ *
173
+ * @param {function(number): number} mapPhysicalRow Maps an old physical row to its new one.
174
+ */ _remapRowAnchors = /*#__PURE__*/ new WeakSet(), /**
175
+ * Whether any row is currently trimmed (Filters / `trimRows` / `nestedRows`). Trimming compresses
176
+ * the visual row space, so while it is active a merge's visual `row` may be a re-anchored, derived
177
+ * value rather than an authoritative one.
178
+ *
179
+ * @returns {boolean}
180
+ */ _isRowTrimmingActive = /*#__PURE__*/ new WeakSet(), /**
181
+ * Re-anchors every merge's visual `row`/`col` to the visual position of its captured physical
182
+ * top-left, keeping `rowspan`/`colspan`. The render translation then spans the merge over the
183
+ * visible rows from there. When the anchor's own physical row is hidden, the merge falls back to the
184
+ * topmost still-visible physical row within its span, so it follows the visible rows down instead of
185
+ * being left behind on a hidden row. Merges with no captured anchor are left untouched. Merges with
186
+ * a hidden anchor column or a fully hidden row span have no visible top-left, so they are purged
187
+ * from the lookup matrix (and re-added once they become visible again) to avoid leaving a stale
188
+ * entry that a later filter could resolve to as a phantom merge.
189
+ */ _reanchorMergesToVisibleRows = /*#__PURE__*/ new WeakSet(), /**
109
190
  * Modifies the information on whether the current selection contains multiple cells. The `afterIsMultipleSelection`
110
191
  * hook callback.
111
192
  *
@@ -189,6 +270,7 @@ var /**
189
270
  *
190
271
  * @param {number} row Row index.
191
272
  * @param {number} count Number of removed rows.
273
+ * @param {number[]} physicalRows Physical indexes of the removed rows.
192
274
  */ _onAfterRemoveRow = /*#__PURE__*/ new WeakMap(), /**
193
275
  * `beforeColumnMove` hook callback. Captures physical column positions of every merge
194
276
  * so they can be translated onto the new visual order in `afterColumnMove`.
@@ -268,6 +350,12 @@ var /**
268
350
  * @param {MouseEvent | KeyboardEvent} event The event which was responsible for opening the editor.
269
351
  * @returns {boolean | undefined}
270
352
  */ _onBeforeBeginEditing = /*#__PURE__*/ new WeakMap(), /**
353
+ * Opts the table out of single-pass rendering while merged cells are present. A virtualized merged
354
+ * cell's height depends on which rows are in the viewport — the very thing the predicted layout is
355
+ * trying to compute — so merge tables keep the legacy measure-then-render path.
356
+ *
357
+ * @returns {boolean}
358
+ */ _onModifySinglePassLayout = /*#__PURE__*/ new WeakMap(), /**
271
359
  * Hook used to modify the row height depends on the merged cells in the row.
272
360
  *
273
361
  * @param {number} height The row height value provided by the Core.
@@ -402,17 +490,23 @@ var /**
402
490
  this.addHook('beforeRemoveCellClassNames', _class_private_field_get(this, _onBeforeRemoveCellClassNames));
403
491
  this.addHook('beforeBeginEditing', _class_private_field_get(this, _onBeforeBeginEditing));
404
492
  this.addHook('modifyRowHeightByOverlayName', _class_private_field_get(this, _onModifyRowHeightByOverlayName));
493
+ this.addHook('modifySinglePassLayout', _class_private_field_get(this, _onModifySinglePassLayout));
405
494
  this.addHook('beforeUndoStackChange', (action, source)=>{
406
495
  if (source === 'MergeCells') {
407
496
  return false;
408
497
  }
409
498
  });
499
+ this.addHook('afterMergeCells', _class_private_field_get(this, _onAfterMergeCellsCapture));
410
500
  this.registerShortcuts();
501
+ // React to the row trimming map changing (Filters / `trimRows` / `nestedRows` collapse), so a
502
+ // merge whose anchor row gets hidden is re-anchored onto the still-visible rows.
503
+ this.hot.rowIndexMapper.addLocalHook('cacheUpdated', _class_private_field_get(this, _onRowIndexCacheUpdated));
411
504
  super.enablePlugin();
412
505
  }
413
506
  /**
414
507
  * Disables the plugin functionality for this Handsontable instance.
415
508
  */ disablePlugin() {
509
+ this.hot.rowIndexMapper.removeLocalHook('cacheUpdated', _class_private_field_get(this, _onRowIndexCacheUpdated));
416
510
  this.clearCollections();
417
511
  this.unregisterShortcuts();
418
512
  this.hot.render();
@@ -420,6 +514,13 @@ var /**
420
514
  super.disablePlugin();
421
515
  }
422
516
  /**
517
+ * Destroys the plugin instance. Removes the row index mapper local hook explicitly, because
518
+ * `BasePlugin#destroy` only clears `addHook`-managed hooks, not raw `addLocalHook` registrations.
519
+ */ destroy() {
520
+ this.hot?.rowIndexMapper.removeLocalHook('cacheUpdated', _class_private_field_get(this, _onRowIndexCacheUpdated));
521
+ super.destroy();
522
+ }
523
+ /**
423
524
  * Updates the plugin's state.
424
525
  *
425
526
  * This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the
@@ -430,6 +531,7 @@ var /**
430
531
  this.enablePlugin();
431
532
  this.generateFromSettings();
432
533
  _class_private_field_set(this, _initialized, true);
534
+ _class_private_method_get(this, _captureMergeAnchors, captureMergeAnchors).call(this);
433
535
  super.updatePlugin();
434
536
  }
435
537
  /**
@@ -543,6 +645,9 @@ var /**
543
645
  /**
544
646
  * Clears the merged cells from the merged cell container.
545
647
  */ clearCollections() {
648
+ arrayEach(this.mergedCellsCollection.mergedCells, (mergedCell)=>{
649
+ _class_private_method_get(this, _resetMergedCellMeta, resetMergedCellMeta).call(this, mergedCell);
650
+ });
546
651
  this.mergedCellsCollection.clear();
547
652
  }
548
653
  /**
@@ -667,13 +772,7 @@ var /**
667
772
  this.hot.runHooks('beforeUnmergeCells', cellRange, auto);
668
773
  arrayEach(mergedCells, (currentCollection)=>{
669
774
  this.mergedCellsCollection.remove(currentCollection.row, currentCollection.col);
670
- rangeEach(0, currentCollection.rowspan - 1, (i)=>{
671
- rangeEach(0, currentCollection.colspan - 1, (j)=>{
672
- this.hot.removeCellMeta(currentCollection.row + i, currentCollection.col + j, 'hidden');
673
- this.hot.removeCellMeta(currentCollection.row + i, currentCollection.col + j, 'copyable');
674
- });
675
- });
676
- this.hot.removeCellMeta(currentCollection.row, currentCollection.col, 'spanned');
775
+ _class_private_method_get(this, _resetMergedCellMeta, resetMergedCellMeta).call(this, currentCollection);
677
776
  });
678
777
  this.hot.runHooks('afterUnmergeCells', cellRange, auto);
679
778
  this.hot.render();
@@ -699,10 +798,10 @@ var /**
699
798
  /**
700
799
  * Merges the specified range.
701
800
  *
702
- * @param {number} startRow Start row of the merged cell.
703
- * @param {number} startColumn Start column of the merged cell.
704
- * @param {number} endRow End row of the merged cell.
705
- * @param {number} endColumn End column of the merged cell.
801
+ * @param {number} startRow Visual start row of the merged cell.
802
+ * @param {number} startColumn Visual start column of the merged cell.
803
+ * @param {number} endRow Visual end row of the merged cell.
804
+ * @param {number} endColumn Visual end column of the merged cell.
706
805
  * @fires Hooks#beforeMergeCells
707
806
  * @fires Hooks#afterMergeCells
708
807
  */ merge(startRow, startColumn, endRow, endColumn) {
@@ -713,10 +812,10 @@ var /**
713
812
  /**
714
813
  * Unmerges the merged cell in the provided range.
715
814
  *
716
- * @param {number} startRow Start row of the merged cell.
717
- * @param {number} startColumn Start column of the merged cell.
718
- * @param {number} endRow End row of the merged cell.
719
- * @param {number} endColumn End column of the merged cell.
815
+ * @param {number} startRow Visual start row of the merged cell.
816
+ * @param {number} startColumn Visual start column of the merged cell.
817
+ * @param {number} endRow Visual end row of the merged cell.
818
+ * @param {number} endColumn Visual end column of the merged cell.
720
819
  * @fires Hooks#beforeUnmergeCells
721
820
  * @fires Hooks#afterUnmergeCells
722
821
  */ unmerge(startRow, startColumn, endRow, endColumn) {
@@ -770,16 +869,15 @@ var /**
770
869
  */ modifyViewportRowStart(calc, nrOfColumns) {
771
870
  const rowMapper = this.hot.rowIndexMapper;
772
871
  const visualStartRow = rowMapper.getVisualFromRenderableIndex(calc.startRow) ?? 0;
773
- for(let visualColumnIndex = 0; visualColumnIndex < nrOfColumns; visualColumnIndex += 1){
774
- const mergeParentForViewportStart = this.mergedCellsCollection.get(visualStartRow, visualColumnIndex);
775
- if (mergeParentForViewportStart !== false) {
776
- const nearestNotHiddenRow = rowMapper.getNearestNotHiddenIndex(mergeParentForViewportStart.row, 1);
777
- const renderableIndexAtMergeStart = nearestNotHiddenRow !== null ? rowMapper.getRenderableFromVisualIndex(nearestNotHiddenRow) : null;
778
- if (renderableIndexAtMergeStart !== null && renderableIndexAtMergeStart < calc.startRow) {
779
- calc.startRow = renderableIndexAtMergeStart;
780
- this.modifyViewportRowStart(calc, nrOfColumns);
781
- return;
782
- }
872
+ const mergedCellsWithinRow = this.mergedCellsCollection.getByVisualRow(visualStartRow);
873
+ for(let i = 0; i < mergedCellsWithinRow.length; i += 1){
874
+ const mergeParentForViewportStart = mergedCellsWithinRow[i];
875
+ const nearestNotHiddenRow = rowMapper.getNearestNotHiddenIndex(mergeParentForViewportStart.row, 1);
876
+ const renderableIndexAtMergeStart = nearestNotHiddenRow !== null ? rowMapper.getRenderableFromVisualIndex(nearestNotHiddenRow) : null;
877
+ if (renderableIndexAtMergeStart !== null && renderableIndexAtMergeStart < calc.startRow) {
878
+ calc.startRow = renderableIndexAtMergeStart;
879
+ this.modifyViewportRowStart(calc, nrOfColumns);
880
+ return;
783
881
  }
784
882
  }
785
883
  }
@@ -792,18 +890,17 @@ var /**
792
890
  */ modifyViewportRowEnd(calc, nrOfColumns) {
793
891
  const rowMapper = this.hot.rowIndexMapper;
794
892
  const visualEndRow = rowMapper.getVisualFromRenderableIndex(calc.endRow) ?? 0;
795
- for(let visualColumnIndex = 0; visualColumnIndex < nrOfColumns; visualColumnIndex += 1){
796
- const mergeParentForViewportEnd = this.mergedCellsCollection.get(visualEndRow, visualColumnIndex);
797
- if (mergeParentForViewportEnd !== false) {
798
- const mergeEnd = mergeParentForViewportEnd.row + mergeParentForViewportEnd.rowspan - 1;
799
- const nearestRow = rowMapper.getNearestNotHiddenIndex(mergeEnd, -1);
800
- if (nearestRow !== null) {
801
- const renderableIndexAtMergeEnd = rowMapper.getRenderableFromVisualIndex(nearestRow);
802
- if (renderableIndexAtMergeEnd !== null && renderableIndexAtMergeEnd > calc.endRow) {
803
- calc.endRow = renderableIndexAtMergeEnd;
804
- this.modifyViewportRowEnd(calc, nrOfColumns);
805
- return;
806
- }
893
+ const mergedCellsWithinRow = this.mergedCellsCollection.getByVisualRow(visualEndRow);
894
+ for(let i = 0; i < mergedCellsWithinRow.length; i += 1){
895
+ const mergeParentForViewportEnd = mergedCellsWithinRow[i];
896
+ const mergeEnd = mergeParentForViewportEnd.row + mergeParentForViewportEnd.rowspan - 1;
897
+ const nearestRow = rowMapper.getNearestNotHiddenIndex(mergeEnd, -1);
898
+ if (nearestRow !== null) {
899
+ const renderableIndexAtMergeEnd = rowMapper.getRenderableFromVisualIndex(nearestRow);
900
+ if (renderableIndexAtMergeEnd !== null && renderableIndexAtMergeEnd > calc.endRow) {
901
+ calc.endRow = renderableIndexAtMergeEnd;
902
+ this.modifyViewportRowEnd(calc, nrOfColumns);
903
+ return;
807
904
  }
808
905
  }
809
906
  }
@@ -817,17 +914,16 @@ var /**
817
914
  */ modifyViewportColumnStart(calc, nrOfRows) {
818
915
  const columnMapper = this.hot.columnIndexMapper;
819
916
  const visualStartCol = columnMapper.getVisualFromRenderableIndex(calc.startColumn) ?? 0;
820
- for(let visualRowIndex = 0; visualRowIndex < nrOfRows; visualRowIndex += 1){
821
- const mergeParentForViewportStart = this.mergedCellsCollection.get(visualRowIndex, visualStartCol);
822
- if (mergeParentForViewportStart !== false) {
823
- const nearestCol = columnMapper.getNearestNotHiddenIndex(mergeParentForViewportStart.col, 1);
824
- if (nearestCol !== null) {
825
- const renderableIndexAtMergeStart = columnMapper.getRenderableFromVisualIndex(nearestCol);
826
- if (renderableIndexAtMergeStart !== null && renderableIndexAtMergeStart < calc.startColumn) {
827
- calc.startColumn = renderableIndexAtMergeStart;
828
- this.modifyViewportColumnStart(calc, nrOfRows);
829
- return;
830
- }
917
+ const mergedCellsWithinColumn = this.mergedCellsCollection.getByVisualColumn(visualStartCol);
918
+ for(let i = 0; i < mergedCellsWithinColumn.length; i += 1){
919
+ const mergeParentForViewportStart = mergedCellsWithinColumn[i];
920
+ const nearestCol = columnMapper.getNearestNotHiddenIndex(mergeParentForViewportStart.col, 1);
921
+ if (nearestCol !== null) {
922
+ const renderableIndexAtMergeStart = columnMapper.getRenderableFromVisualIndex(nearestCol);
923
+ if (renderableIndexAtMergeStart !== null && renderableIndexAtMergeStart < calc.startColumn) {
924
+ calc.startColumn = renderableIndexAtMergeStart;
925
+ this.modifyViewportColumnStart(calc, nrOfRows);
926
+ return;
831
927
  }
832
928
  }
833
929
  }
@@ -841,18 +937,17 @@ var /**
841
937
  */ modifyViewportColumnEnd(calc, nrOfRows) {
842
938
  const columnMapper = this.hot.columnIndexMapper;
843
939
  const visualEndCol = columnMapper.getVisualFromRenderableIndex(calc.endColumn) ?? 0;
844
- for(let visualRowIndex = 0; visualRowIndex < nrOfRows; visualRowIndex += 1){
845
- const mergeParentForViewportEnd = this.mergedCellsCollection.get(visualRowIndex, visualEndCol);
846
- if (mergeParentForViewportEnd !== false) {
847
- const mergeEnd = mergeParentForViewportEnd.col + mergeParentForViewportEnd.colspan - 1;
848
- const nearestCol = columnMapper.getNearestNotHiddenIndex(mergeEnd, -1);
849
- if (nearestCol !== null) {
850
- const renderableIndexAtMergeEnd = columnMapper.getRenderableFromVisualIndex(nearestCol);
851
- if (renderableIndexAtMergeEnd !== null && renderableIndexAtMergeEnd > calc.endColumn) {
852
- calc.endColumn = renderableIndexAtMergeEnd;
853
- this.modifyViewportColumnEnd(calc, nrOfRows);
854
- return;
855
- }
940
+ const mergedCellsWithinColumn = this.mergedCellsCollection.getByVisualColumn(visualEndCol);
941
+ for(let i = 0; i < mergedCellsWithinColumn.length; i += 1){
942
+ const mergeParentForViewportEnd = mergedCellsWithinColumn[i];
943
+ const mergeEnd = mergeParentForViewportEnd.col + mergeParentForViewportEnd.colspan - 1;
944
+ const nearestCol = columnMapper.getNearestNotHiddenIndex(mergeEnd, -1);
945
+ if (nearestCol !== null) {
946
+ const renderableIndexAtMergeEnd = columnMapper.getRenderableFromVisualIndex(nearestCol);
947
+ if (renderableIndexAtMergeEnd !== null && renderableIndexAtMergeEnd > calc.endColumn) {
948
+ calc.endColumn = renderableIndexAtMergeEnd;
949
+ this.modifyViewportColumnEnd(calc, nrOfRows);
950
+ return;
856
951
  }
857
952
  }
858
953
  }
@@ -888,7 +983,7 @@ var /**
888
983
  ];
889
984
  }
890
985
  constructor(...args){
891
- super(...args), _class_private_method_init(this, _addMergeActionsToContextMenu), _class_private_field_init(this, _lastSelectedFocus, {
986
+ super(...args), _class_private_method_init(this, _resetMergedCellMeta), _class_private_method_init(this, _captureAnchorOf), _class_private_method_init(this, _captureMergeAnchors), _class_private_method_init(this, _remapRowAnchors), _class_private_method_init(this, _isRowTrimmingActive), _class_private_method_init(this, _reanchorMergesToVisibleRows), _class_private_method_init(this, _addMergeActionsToContextMenu), _class_private_field_init(this, _lastSelectedFocus, {
892
987
  writable: true,
893
988
  value: void 0
894
989
  }), _class_private_field_init(this, _lastFocusDelta, {
@@ -909,9 +1004,21 @@ var /**
909
1004
  }), _class_private_field_init(this, _initialized, {
910
1005
  writable: true,
911
1006
  value: void 0
1007
+ }), _class_private_field_init(this, _mergeAnchors, {
1008
+ writable: true,
1009
+ value: void 0
1010
+ }), _class_private_field_init(this, _purgedMerges, {
1011
+ writable: true,
1012
+ value: void 0
912
1013
  }), _class_private_field_init(this, _onAfterInit, {
913
1014
  writable: true,
914
1015
  value: void 0
1016
+ }), _class_private_field_init(this, _onAfterMergeCellsCapture, {
1017
+ writable: true,
1018
+ value: void 0
1019
+ }), _class_private_field_init(this, _onRowIndexCacheUpdated, {
1020
+ writable: true,
1021
+ value: void 0
915
1022
  }), _class_private_field_init(this, _onAfterIsMultipleSelection, {
916
1023
  writable: true,
917
1024
  value: void 0
@@ -999,6 +1106,9 @@ var /**
999
1106
  }), _class_private_field_init(this, _onBeforeBeginEditing, {
1000
1107
  writable: true,
1001
1108
  value: void 0
1109
+ }), _class_private_field_init(this, _onModifySinglePassLayout, {
1110
+ writable: true,
1111
+ value: void 0
1002
1112
  }), _class_private_field_init(this, _onModifyRowHeightByOverlayName, {
1003
1113
  writable: true,
1004
1114
  value: void 0
@@ -1009,10 +1119,25 @@ var /**
1009
1119
  mergedCellsGetter: (row, column)=>this.mergedCellsCollection.get(row, column),
1010
1120
  rowIndexMapper: this.hot.rowIndexMapper,
1011
1121
  columnIndexMapper: this.hot.columnIndexMapper
1012
- })), _class_private_field_set(this, _cellRenderer, createMergeCellRenderer(this)), _class_private_field_set(this, _columnMoveSnapshot, null), _class_private_field_set(this, _rowMoveSnapshot, null), _class_private_field_set(this, _initialized, false), _class_private_field_set(this, _onAfterInit, ()=>{
1122
+ })), _class_private_field_set(this, _cellRenderer, createMergeCellRenderer(this)), _class_private_field_set(this, _columnMoveSnapshot, null), _class_private_field_set(this, _rowMoveSnapshot, null), _class_private_field_set(this, _initialized, false), _class_private_field_set(this, _mergeAnchors, new WeakMap()), _class_private_field_set(this, _purgedMerges, new WeakSet()), _class_private_field_set(this, _onAfterInit, ()=>{
1013
1123
  this.generateFromSettings();
1014
1124
  this.hot.render();
1015
1125
  _class_private_field_set(this, _initialized, true);
1126
+ _class_private_method_get(this, _captureMergeAnchors, captureMergeAnchors).call(this);
1127
+ }), _class_private_field_set(this, _onAfterMergeCellsCapture, (_cellRange, mergeParent)=>{
1128
+ const merge = this.mergedCellsCollection.get(mergeParent.row, mergeParent.col);
1129
+ if (merge) {
1130
+ _class_private_method_get(this, _captureAnchorOf, captureAnchorOf).call(this, merge);
1131
+ }
1132
+ }), _class_private_field_set(this, _onRowIndexCacheUpdated, ({ trimmedIndexesChanged, hiddenIndexesChanged, indexesSequenceChanged })=>{
1133
+ // The hook is removed in `disablePlugin`/`destroy`, but keep a defensive guard in case a final
1134
+ // `updateCache` still reaches us after `this.hot` has been dropped.
1135
+ if (!this.hot || !_class_private_field_get(this, _initialized)) {
1136
+ return;
1137
+ }
1138
+ if (trimmedIndexesChanged || hiddenIndexesChanged || indexesSequenceChanged) {
1139
+ _class_private_method_get(this, _reanchorMergesToVisibleRows, reanchorMergesToVisibleRows).call(this);
1140
+ }
1016
1141
  }), _class_private_field_set(this, _onAfterIsMultipleSelection, (isMultiple)=>{
1017
1142
  if (isMultiple) {
1018
1143
  const mergedCells = this.mergedCellsCollection.mergedCells;
@@ -1343,15 +1468,47 @@ var /**
1343
1468
  return this.autofillCalculations.snapDragArea(baseArea, fullArea, dragDirection, mergedCellsWithinSelectionArea);
1344
1469
  }), _class_private_field_set(this, _onAfterCreateCol, (column, count)=>{
1345
1470
  this.mergedCellsCollection.shiftCollections('right', column, count);
1471
+ _class_private_method_get(this, _captureMergeAnchors, captureMergeAnchors).call(this);
1472
+ // `shiftCollections` rebuilt the matrix from every merge, re-adding any currently purged
1473
+ // (fully hidden) merge; re-anchor to drop those stale footprints again.
1474
+ _class_private_method_get(this, _reanchorMergesToVisibleRows, reanchorMergesToVisibleRows).call(this);
1346
1475
  }), _class_private_field_set(this, _onAfterRemoveCol, (column, count)=>{
1347
1476
  this.mergedCellsCollection.shiftCollections('left', column, count);
1477
+ _class_private_method_get(this, _captureMergeAnchors, captureMergeAnchors).call(this);
1478
+ // `shiftCollections` rebuilt the matrix from every merge, re-adding any currently purged
1479
+ // (fully hidden) merge; re-anchor to drop those stale footprints again.
1480
+ _class_private_method_get(this, _reanchorMergesToVisibleRows, reanchorMergesToVisibleRows).call(this);
1348
1481
  }), _class_private_field_set(this, _onAfterCreateRow, (row, count, source)=>{
1349
1482
  if (source === 'auto') {
1350
1483
  return;
1351
1484
  }
1352
1485
  this.mergedCellsCollection.shiftCollections('down', row, count);
1353
- }), _class_private_field_set(this, _onAfterRemoveRow, (row, count)=>{
1486
+ // Inserting renumbers physical rows at/after the insertion point up by `count`; mirror that onto the
1487
+ // anchors the trimming-active path keeps verbatim (the non-trimming path re-derives them below).
1488
+ if (_class_private_method_get(this, _isRowTrimmingActive, isRowTrimmingActive).call(this)) {
1489
+ const pivot = this.hot.toPhysicalRow(row);
1490
+ if (pivot !== null) {
1491
+ _class_private_method_get(this, _remapRowAnchors, remapRowAnchors).call(this, (physicalRow)=>physicalRow >= pivot ? physicalRow + count : physicalRow);
1492
+ }
1493
+ }
1494
+ _class_private_method_get(this, _captureMergeAnchors, captureMergeAnchors).call(this);
1495
+ // `shiftCollections` rebuilt the matrix from every merge, re-adding any currently purged
1496
+ // (fully hidden) merge; re-anchor to drop those stale footprints again.
1497
+ _class_private_method_get(this, _reanchorMergesToVisibleRows, reanchorMergesToVisibleRows).call(this);
1498
+ }), _class_private_field_set(this, _onAfterRemoveRow, (row, count, physicalRows)=>{
1354
1499
  this.mergedCellsCollection.shiftCollections('up', row, count);
1500
+ // Removing renumbers each surviving physical row down by how many removed rows sat below it; mirror
1501
+ // that onto the anchors the trimming-active path keeps verbatim. Removed physical rows interleave
1502
+ // with trimmed ones, so the shift is counted per anchor rather than from a single pivot. An anchor
1503
+ // whose own row was removed collapses to the same index as its first surviving span row, so it needs
1504
+ // no special case.
1505
+ if (_class_private_method_get(this, _isRowTrimmingActive, isRowTrimmingActive).call(this) && Array.isArray(physicalRows)) {
1506
+ _class_private_method_get(this, _remapRowAnchors, remapRowAnchors).call(this, (physicalRow)=>physicalRow - physicalRows.reduce((shift, removed)=>shift + (removed < physicalRow ? 1 : 0), 0));
1507
+ }
1508
+ _class_private_method_get(this, _captureMergeAnchors, captureMergeAnchors).call(this);
1509
+ // `shiftCollections` rebuilt the matrix from every merge, re-adding any currently purged
1510
+ // (fully hidden) merge; re-anchor to drop those stale footprints again.
1511
+ _class_private_method_get(this, _reanchorMergesToVisibleRows, reanchorMergesToVisibleRows).call(this);
1355
1512
  }), _class_private_field_set(this, _onBeforeColumnMove, (_columns, _finalIndex, _dropIndex, movePossible)=>{
1356
1513
  if (!movePossible || !_class_private_field_get(this, _initialized)) {
1357
1514
  _class_private_field_set(this, _columnMoveSnapshot, null);
@@ -1365,6 +1522,7 @@ var /**
1365
1522
  return;
1366
1523
  }
1367
1524
  this.mergedCellsCollection.translateAfterAxisMove('column', snapshot);
1525
+ _class_private_method_get(this, _captureMergeAnchors, captureMergeAnchors).call(this);
1368
1526
  this.hot.render();
1369
1527
  }), _class_private_field_set(this, _onBeforeRowMove, (_rows, _finalIndex, _dropIndex, movePossible)=>{
1370
1528
  if (!movePossible || !_class_private_field_get(this, _initialized)) {
@@ -1379,6 +1537,7 @@ var /**
1379
1537
  return;
1380
1538
  }
1381
1539
  this.mergedCellsCollection.translateAfterAxisMove('row', snapshot);
1540
+ _class_private_method_get(this, _captureMergeAnchors, captureMergeAnchors).call(this);
1382
1541
  this.hot.render();
1383
1542
  }), _class_private_field_set(this, _onBeforeColumnFreeze, (_column, performed)=>{
1384
1543
  if (!performed || !_class_private_field_get(this, _initialized)) {
@@ -1393,6 +1552,7 @@ var /**
1393
1552
  return;
1394
1553
  }
1395
1554
  this.mergedCellsCollection.translateAfterAxisMove('column', snapshot);
1555
+ _class_private_method_get(this, _captureMergeAnchors, captureMergeAnchors).call(this);
1396
1556
  this.hot.render();
1397
1557
  }), _class_private_field_set(this, _onAfterChange, (changes, source)=>{
1398
1558
  if (source !== 'Autofill.fill') {
@@ -1436,7 +1596,7 @@ var /**
1436
1596
  const from = this.hot._createCellCoords(mergeCell.row, mergeCell.col);
1437
1597
  const to = this.hot._createCellCoords(mergeCell.row + mergeCell.rowspan - 1, mergeCell.col + mergeCell.colspan - 1);
1438
1598
  return this.hot.selection.getLayerLevel() === 0 && selection.isEqual(this.hot._createCellRange(from, from, to));
1439
- }), _class_private_field_set(this, _onModifyRowHeightByOverlayName, (height, row, overlayType)=>{
1599
+ }), _class_private_field_set(this, _onModifySinglePassLayout, ()=>false), _class_private_field_set(this, _onModifyRowHeightByOverlayName, (height, row, overlayType)=>{
1440
1600
  if (this.hot.getSettings().rowHeaders || // merged cells do not work with the bottom overlays
1441
1601
  overlayType === 'bottom' || overlayType === 'bottom_inline_start_corner') {
1442
1602
  return height;
@@ -1484,6 +1644,104 @@ var /**
1484
1644
  });
1485
1645
  }
1486
1646
  }
1647
+ function resetMergedCellMeta(mergedCell) {
1648
+ rangeEach(0, mergedCell.rowspan - 1, (i)=>{
1649
+ rangeEach(0, mergedCell.colspan - 1, (j)=>{
1650
+ this.hot.removeCellMeta(mergedCell.row + i, mergedCell.col + j, 'hidden');
1651
+ this.hot.removeCellMeta(mergedCell.row + i, mergedCell.col + j, 'copyable');
1652
+ });
1653
+ });
1654
+ this.hot.removeCellMeta(mergedCell.row, mergedCell.col, 'spanned');
1655
+ this.hot.removeCellMeta(mergedCell.row, mergedCell.col, 'rowspan');
1656
+ this.hot.removeCellMeta(mergedCell.row, mergedCell.col, 'colspan');
1657
+ }
1658
+ function captureAnchorOf(merge, trimmingActive = _class_private_method_get(this, _isRowTrimmingActive, isRowTrimmingActive).call(this)) {
1659
+ const physicalColumn = this.hot.toPhysicalColumn(merge.col);
1660
+ if (physicalColumn === null) {
1661
+ return;
1662
+ }
1663
+ const existing = _class_private_field_get(this, _mergeAnchors).get(merge);
1664
+ const physicalRow = trimmingActive && existing ? existing.physicalRow : this.hot.toPhysicalRow(merge.row);
1665
+ if (physicalRow !== null) {
1666
+ _class_private_field_get(this, _mergeAnchors).set(merge, {
1667
+ physicalRow,
1668
+ physicalColumn
1669
+ });
1670
+ }
1671
+ }
1672
+ function captureMergeAnchors() {
1673
+ const trimmingActive = _class_private_method_get(this, _isRowTrimmingActive, isRowTrimmingActive).call(this);
1674
+ this.mergedCellsCollection.mergedCells.forEach((merge)=>_class_private_method_get(this, _captureAnchorOf, captureAnchorOf).call(this, merge, trimmingActive));
1675
+ }
1676
+ function remapRowAnchors(mapPhysicalRow) {
1677
+ this.mergedCellsCollection.mergedCells.forEach((merge)=>{
1678
+ const anchor = _class_private_field_get(this, _mergeAnchors).get(merge);
1679
+ if (!anchor) {
1680
+ return;
1681
+ }
1682
+ const physicalRow = mapPhysicalRow(anchor.physicalRow);
1683
+ if (physicalRow !== anchor.physicalRow) {
1684
+ _class_private_field_get(this, _mergeAnchors).set(merge, {
1685
+ physicalRow,
1686
+ physicalColumn: anchor.physicalColumn
1687
+ });
1688
+ }
1689
+ });
1690
+ }
1691
+ function isRowTrimmingActive() {
1692
+ const { rowIndexMapper } = this.hot;
1693
+ return rowIndexMapper.getNotTrimmedIndexesLength() < rowIndexMapper.getNumberOfIndexes();
1694
+ }
1695
+ function reanchorMergesToVisibleRows() {
1696
+ const { mergedCells } = this.mergedCellsCollection;
1697
+ // `cacheUpdated` fires on every filter/trim toggle, so bail out cheaply when there is nothing to
1698
+ // re-anchor.
1699
+ if (mergedCells.length === 0) {
1700
+ return;
1701
+ }
1702
+ const relocations = [];
1703
+ const purges = [];
1704
+ mergedCells.forEach((merge)=>{
1705
+ const anchor = _class_private_field_get(this, _mergeAnchors).get(merge);
1706
+ if (!anchor) {
1707
+ return;
1708
+ }
1709
+ const visualColumn = this.hot.toVisualColumn(anchor.physicalColumn);
1710
+ let visualRow = visualColumn === null ? null : this.hot.toVisualRow(anchor.physicalRow);
1711
+ // Anchor row hidden: re-anchor to the first still-visible physical row inside the span (the span
1712
+ // covers physical rows `[physicalRow, physicalRow + rowspan)` since anchors are captured while
1713
+ // the merge is fully visible).
1714
+ for(let offset = 1; visualColumn !== null && visualRow === null && offset < merge.rowspan; offset++){
1715
+ visualRow = this.hot.toVisualRow(anchor.physicalRow + offset);
1716
+ }
1717
+ // No visible top-left (whole row span or the anchor column is hidden): drop the stale matrix
1718
+ // entry so a later filter showing a different physical row at the same visual slot does not
1719
+ // resolve to this phantom merge. Always re-purge (removing an absent footprint is a cheap no-op)
1720
+ // so the entry stays gone even after `shiftCollections` rebuilds the matrix from every merge on a
1721
+ // structural edit.
1722
+ if (visualColumn === null || visualRow === null) {
1723
+ _class_private_field_get(this, _purgedMerges).add(merge);
1724
+ purges.push(merge);
1725
+ return;
1726
+ }
1727
+ // Force a relocation for a merge that re-enters the viewport so it is re-added to the matrix even
1728
+ // when it lands on the same visual coordinates it had before being purged.
1729
+ const wasPurged = _class_private_field_get(this, _purgedMerges).delete(merge);
1730
+ if (wasPurged || merge.row !== visualRow || merge.col !== visualColumn) {
1731
+ relocations.push({
1732
+ mergedCell: merge,
1733
+ row: visualRow,
1734
+ col: visualColumn
1735
+ });
1736
+ }
1737
+ });
1738
+ if (purges.length > 0) {
1739
+ this.mergedCellsCollection.removeFromMatrix(purges);
1740
+ }
1741
+ if (relocations.length > 0) {
1742
+ this.mergedCellsCollection.relocateInMatrix(relocations);
1743
+ }
1744
+ }
1487
1745
  function addMergeActionsToContextMenu(defaultOptions) {
1488
1746
  defaultOptions.items.push({
1489
1747
  name: '---------'
@@ -0,0 +1 @@
1
+ export * from './helpers.js';
@@ -0,0 +1,21 @@
1
+ interface ClampMoveTargetOptions {
2
+ pointerRow: number;
3
+ pointerCol: number;
4
+ grabRowOffset: number;
5
+ grabColOffset: number;
6
+ rangeHeight: number;
7
+ rangeWidth: number;
8
+ totalRows: number;
9
+ totalCols: number;
10
+ }
11
+ /**
12
+ * Computes the clamped top-left target cell for a move.
13
+ *
14
+ * @param {ClampMoveTargetOptions} options The pointer, grab offset, range dimensions, and grid extents.
15
+ * @returns {{ row: number, col: number }} The clamped top-left target coordinates.
16
+ */
17
+ export declare function clampMoveTarget({ pointerRow, pointerCol, grabRowOffset, grabColOffset, rangeHeight, rangeWidth, totalRows, totalCols, }: ClampMoveTargetOptions): {
18
+ row: number;
19
+ col: number;
20
+ };
21
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "clampMoveTarget", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return clampMoveTarget;
9
+ }
10
+ });
11
+ function clampMoveTarget({ pointerRow, pointerCol, grabRowOffset, grabColOffset, rangeHeight, rangeWidth, totalRows, totalCols }) {
12
+ const rawRow = pointerRow - grabRowOffset;
13
+ const rawCol = pointerCol - grabColOffset;
14
+ const maxRow = Math.max(0, totalRows - rangeHeight);
15
+ const maxCol = Math.max(0, totalCols - rangeWidth);
16
+ return {
17
+ row: Math.min(Math.max(0, rawRow), maxRow),
18
+ col: Math.min(Math.max(0, rawCol), maxCol)
19
+ };
20
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Computes the clamped top-left target cell for a move.
3
+ *
4
+ * @param {ClampMoveTargetOptions} options The pointer, grab offset, range dimensions, and grid extents.
5
+ * @returns {{ row: number, col: number }} The clamped top-left target coordinates.
6
+ */ export function clampMoveTarget({ pointerRow, pointerCol, grabRowOffset, grabColOffset, rangeHeight, rangeWidth, totalRows, totalCols }) {
7
+ const rawRow = pointerRow - grabRowOffset;
8
+ const rawCol = pointerCol - grabColOffset;
9
+ const maxRow = Math.max(0, totalRows - rangeHeight);
10
+ const maxCol = Math.max(0, totalCols - rangeWidth);
11
+ return {
12
+ row: Math.min(Math.max(0, rawRow), maxRow),
13
+ col: Math.min(Math.max(0, rawCol), maxCol)
14
+ };
15
+ }
@@ -0,0 +1 @@
1
+ export * from './index.js';
@@ -0,0 +1 @@
1
+ export { PLUGIN_KEY, PLUGIN_PRIORITY, MoveCells, } from './moveCells';