handsontable 18.0.0 → 18.1.0-rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1238) 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 +142 -0
  12. package/3rdparty/walkontable/src/axisSizing/columnUtils.mjs +137 -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 +124 -0
  16. package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.mjs +114 -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 +251 -0
  23. package/3rdparty/walkontable/src/axisSizing/positionCache/index.mjs +257 -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 +116 -0
  27. package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.mjs +112 -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 +199 -0
  31. package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.mjs +196 -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 +116 -0
  39. package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.mjs +110 -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 +106 -0
  43. package/3rdparty/walkontable/src/axisSizing/rowUtils.mjs +101 -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/coords.js +4 -9
  58. package/3rdparty/walkontable/src/cell/coords.mjs +4 -9
  59. package/3rdparty/walkontable/src/cell/range.d.ts +10 -0
  60. package/3rdparty/walkontable/src/cell/range.js +19 -15
  61. package/3rdparty/walkontable/src/cell/range.mjs +16 -12
  62. package/3rdparty/walkontable/src/core/_base.d.ts +21 -21
  63. package/3rdparty/walkontable/src/core/_base.js +47 -147
  64. package/3rdparty/walkontable/src/core/_base.mjs +17 -147
  65. package/3rdparty/walkontable/src/core/clone.d.ts +4 -14
  66. package/3rdparty/walkontable/src/core/clone.js +40 -5
  67. package/3rdparty/walkontable/src/core/clone.mjs +10 -5
  68. package/3rdparty/walkontable/src/core/core.d.ts +1 -5
  69. package/3rdparty/walkontable/src/core/core.js +41 -47
  70. package/3rdparty/walkontable/src/core/core.mjs +12 -48
  71. package/3rdparty/walkontable/src/domMeasure/geometryReader.d.mts +1 -0
  72. package/3rdparty/walkontable/src/domMeasure/geometryReader.d.ts +172 -0
  73. package/3rdparty/walkontable/src/domMeasure/geometryReader.js +19 -0
  74. package/3rdparty/walkontable/src/domMeasure/geometryReader.mjs +16 -0
  75. package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.d.mts +1 -0
  76. package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.d.ts +134 -0
  77. package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.js +195 -0
  78. package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.mjs +193 -0
  79. package/3rdparty/walkontable/src/event.d.ts +25 -12
  80. package/3rdparty/walkontable/src/event.js +96 -236
  81. package/3rdparty/walkontable/src/event.mjs +95 -236
  82. package/3rdparty/walkontable/src/facade/core.d.ts +6 -6
  83. package/3rdparty/walkontable/src/index.d.ts +1 -1
  84. package/3rdparty/walkontable/src/index.js +10 -21
  85. package/3rdparty/walkontable/src/index.mjs +1 -1
  86. package/3rdparty/walkontable/src/overlay/index.d.ts +6 -6
  87. package/3rdparty/walkontable/src/overlay/index.js +11 -11
  88. package/3rdparty/walkontable/src/overlay/index.mjs +6 -6
  89. package/3rdparty/walkontable/src/overlay/overlays.d.ts +375 -0
  90. package/3rdparty/walkontable/src/overlay/overlays.js +605 -0
  91. package/3rdparty/walkontable/src/overlay/overlays.mjs +594 -0
  92. package/3rdparty/walkontable/src/overlay/{_base.d.ts → regions/_base.d.ts} +65 -16
  93. package/3rdparty/walkontable/src/overlay/{_base.js → regions/_base.js} +155 -50
  94. package/3rdparty/walkontable/src/overlay/{_base.mjs → regions/_base.mjs} +158 -47
  95. package/3rdparty/walkontable/src/overlay/regions/bottomInlineStartCornerOverlay.d.mts +1 -0
  96. package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.d.ts → regions/bottomInlineStartCornerOverlay.d.ts} +5 -10
  97. package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.js → regions/bottomInlineStartCornerOverlay.js} +18 -20
  98. package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.mjs → regions/bottomInlineStartCornerOverlay.mjs} +18 -20
  99. package/3rdparty/walkontable/src/overlay/regions/bottomOverlay.d.mts +1 -0
  100. package/3rdparty/walkontable/src/overlay/{bottom.d.ts → regions/bottomOverlay.d.ts} +16 -11
  101. package/3rdparty/walkontable/src/overlay/{bottom.js → regions/bottomOverlay.js} +111 -66
  102. package/3rdparty/walkontable/src/overlay/{bottom.mjs → regions/bottomOverlay.mjs} +111 -66
  103. package/3rdparty/walkontable/src/overlay/regions/inlineStartOverlay.d.mts +1 -0
  104. package/3rdparty/walkontable/src/overlay/{inlineStart.d.ts → regions/inlineStartOverlay.d.ts} +17 -11
  105. package/3rdparty/walkontable/src/overlay/{inlineStart.js → regions/inlineStartOverlay.js} +120 -67
  106. package/3rdparty/walkontable/src/overlay/{inlineStart.mjs → regions/inlineStartOverlay.mjs} +120 -67
  107. package/3rdparty/walkontable/src/overlay/regions/topInlineStartCornerOverlay.d.mts +1 -0
  108. package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.d.ts → regions/topInlineStartCornerOverlay.d.ts} +5 -10
  109. package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.js → regions/topInlineStartCornerOverlay.js} +13 -16
  110. package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.mjs → regions/topInlineStartCornerOverlay.mjs} +13 -16
  111. package/3rdparty/walkontable/src/overlay/regions/topOverlay.d.mts +1 -0
  112. package/3rdparty/walkontable/src/overlay/{top.d.ts → regions/topOverlay.d.ts} +32 -11
  113. package/3rdparty/walkontable/src/overlay/{top.js → regions/topOverlay.js} +161 -77
  114. package/3rdparty/walkontable/src/overlay/{top.mjs → regions/topOverlay.mjs} +161 -77
  115. package/3rdparty/walkontable/src/overlay/resizeMonitor.d.mts +1 -0
  116. package/3rdparty/walkontable/src/overlay/resizeMonitor.d.ts +49 -0
  117. package/3rdparty/walkontable/src/overlay/resizeMonitor.js +149 -0
  118. package/3rdparty/walkontable/src/overlay/resizeMonitor.mjs +148 -0
  119. package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.d.mts +1 -0
  120. package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.d.ts +62 -0
  121. package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.js +283 -0
  122. package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.mjs +288 -0
  123. package/3rdparty/walkontable/src/overlay/scroll/scrollSync.d.mts +1 -0
  124. package/3rdparty/walkontable/src/overlay/scroll/scrollSync.d.ts +176 -0
  125. package/3rdparty/walkontable/src/overlay/scroll/scrollSync.js +542 -0
  126. package/3rdparty/walkontable/src/overlay/scroll/scrollSync.mjs +550 -0
  127. package/3rdparty/walkontable/src/overlay/spreaderSize.d.mts +1 -0
  128. package/3rdparty/walkontable/src/overlay/spreaderSize.d.ts +67 -0
  129. package/3rdparty/walkontable/src/overlay/spreaderSize.js +173 -0
  130. package/3rdparty/walkontable/src/overlay/spreaderSize.mjs +174 -0
  131. package/3rdparty/walkontable/src/{stickyScrollStrategy.d.ts → overlay/strategies/stickyScrollStrategy.d.ts} +33 -21
  132. package/3rdparty/walkontable/src/{stickyScrollStrategy.js → overlay/strategies/stickyScrollStrategy.js} +65 -53
  133. package/3rdparty/walkontable/src/{stickyScrollStrategy.mjs → overlay/strategies/stickyScrollStrategy.mjs} +63 -50
  134. package/3rdparty/walkontable/src/ports.d.mts +1 -0
  135. package/3rdparty/walkontable/src/ports.d.ts +54 -0
  136. package/3rdparty/walkontable/src/ports.js +23 -0
  137. package/3rdparty/walkontable/src/ports.mjs +24 -0
  138. package/3rdparty/walkontable/src/{renderer → render}/_base.d.ts +1 -1
  139. package/3rdparty/walkontable/src/{renderer → render}/cells.js +1 -1
  140. package/3rdparty/walkontable/src/{renderer → render}/cells.mjs +1 -1
  141. package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.d.ts +1 -0
  142. package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.js +41 -1
  143. package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.mjs +42 -2
  144. package/3rdparty/walkontable/src/render/index.d.mts +1 -0
  145. package/3rdparty/walkontable/src/{renderer → render}/index.d.ts +11 -3
  146. package/3rdparty/walkontable/src/{renderer → render}/index.js +13 -3
  147. package/3rdparty/walkontable/src/{renderer → render}/index.mjs +11 -1
  148. package/3rdparty/walkontable/src/{renderer → render}/rows.js +1 -1
  149. package/3rdparty/walkontable/src/{renderer → render}/rows.mjs +1 -1
  150. package/3rdparty/walkontable/src/render/tableRenderer.d.mts +1 -0
  151. package/3rdparty/walkontable/src/{renderer/table.d.ts → render/tableRenderer.d.ts} +12 -2
  152. package/3rdparty/walkontable/src/render/tableRenderer.js +375 -0
  153. package/3rdparty/walkontable/src/{renderer/table.mjs → render/tableRenderer.mjs} +152 -6
  154. package/3rdparty/walkontable/src/{scroll.d.ts → scroll/scroll.d.ts} +27 -10
  155. package/3rdparty/walkontable/src/{scroll.js → scroll/scroll.js} +104 -35
  156. package/3rdparty/walkontable/src/{scroll.mjs → scroll/scroll.mjs} +102 -32
  157. package/3rdparty/walkontable/src/selection/border/border.d.ts +313 -5
  158. package/3rdparty/walkontable/src/selection/border/border.js +861 -51
  159. package/3rdparty/walkontable/src/selection/border/border.mjs +863 -53
  160. package/3rdparty/walkontable/src/selection/border/types.d.ts +30 -0
  161. package/3rdparty/walkontable/src/selection/manager.js +242 -12
  162. package/3rdparty/walkontable/src/selection/manager.mjs +243 -13
  163. package/3rdparty/walkontable/src/selection/scanner.js +5 -12
  164. package/3rdparty/walkontable/src/selection/scanner.mjs +5 -12
  165. package/3rdparty/walkontable/src/settings/accessor.d.mts +2 -0
  166. package/3rdparty/walkontable/src/settings/accessor.d.ts +74 -0
  167. package/3rdparty/walkontable/src/settings/accessor.js +78 -0
  168. package/3rdparty/walkontable/src/settings/accessor.mjs +71 -0
  169. package/3rdparty/walkontable/src/settings/defaults.d.mts +1 -0
  170. package/3rdparty/walkontable/src/{settings.d.ts → settings/defaults.d.ts} +16 -77
  171. package/3rdparty/walkontable/src/settings/defaults.js +146 -0
  172. package/3rdparty/walkontable/src/settings/defaults.mjs +225 -0
  173. package/3rdparty/walkontable/src/settings/index.d.mts +1 -0
  174. package/3rdparty/walkontable/src/settings/index.d.ts +6 -0
  175. package/3rdparty/walkontable/src/settings/index.js +20 -0
  176. package/3rdparty/walkontable/src/settings/index.mjs +5 -0
  177. package/3rdparty/walkontable/src/table/baseTable.d.mts +2 -0
  178. package/3rdparty/walkontable/src/table/baseTable.d.ts +284 -0
  179. package/3rdparty/walkontable/src/table/baseTable.js +290 -0
  180. package/3rdparty/walkontable/src/table/baseTable.mjs +278 -0
  181. package/3rdparty/walkontable/src/table/cellAccess.d.mts +1 -0
  182. package/3rdparty/walkontable/src/table/cellAccess.d.ts +101 -0
  183. package/3rdparty/walkontable/src/table/cellAccess.js +238 -0
  184. package/3rdparty/walkontable/src/table/cellAccess.mjs +229 -0
  185. package/3rdparty/walkontable/src/table/domScaffold.d.mts +1 -0
  186. package/3rdparty/walkontable/src/table/domScaffold.d.ts +37 -0
  187. package/3rdparty/walkontable/src/table/domScaffold.js +145 -0
  188. package/3rdparty/walkontable/src/table/domScaffold.mjs +136 -0
  189. package/3rdparty/walkontable/src/table/drawCycle.d.mts +1 -0
  190. package/3rdparty/walkontable/src/table/drawCycle.d.ts +16 -0
  191. package/3rdparty/walkontable/src/table/drawCycle.js +405 -0
  192. package/3rdparty/walkontable/src/table/drawCycle.mjs +403 -0
  193. package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.d.mts +1 -0
  194. package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.d.ts +38 -0
  195. package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.js +15 -0
  196. package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.mjs +14 -0
  197. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.d.ts +1 -1
  198. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.js +1 -1
  199. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.mjs +1 -1
  200. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.d.ts +1 -1
  201. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.d.ts +1 -1
  202. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.js +1 -1
  203. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.mjs +1 -1
  204. package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.d.mts +2 -0
  205. package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.d.ts +226 -0
  206. package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.js +251 -0
  207. package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.mjs +241 -0
  208. package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.d.mts +1 -0
  209. package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.d.ts +14 -0
  210. package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.js +196 -0
  211. package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.mjs +179 -0
  212. package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.d.mts +2 -0
  213. package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.d.ts +16 -0
  214. package/3rdparty/walkontable/src/table/{bottomInlineStartCorner.js → regions/bottomInlineStartCornerTable.js} +9 -12
  215. package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.mjs +21 -0
  216. package/3rdparty/walkontable/src/table/regions/bottomTable.d.mts +2 -0
  217. package/3rdparty/walkontable/src/table/regions/bottomTable.d.ts +15 -0
  218. package/3rdparty/walkontable/src/table/regions/bottomTable.js +35 -0
  219. package/3rdparty/walkontable/src/table/regions/bottomTable.mjs +20 -0
  220. package/3rdparty/walkontable/src/table/regions/inlineStartTable.d.mts +2 -0
  221. package/3rdparty/walkontable/src/table/regions/inlineStartTable.d.ts +12 -0
  222. package/3rdparty/walkontable/src/table/regions/inlineStartTable.js +32 -0
  223. package/3rdparty/walkontable/src/table/regions/inlineStartTable.mjs +17 -0
  224. package/3rdparty/walkontable/src/table/regions/masterTable.d.mts +2 -0
  225. package/3rdparty/walkontable/src/table/{master.d.ts → regions/masterTable.d.ts} +4 -13
  226. package/3rdparty/walkontable/src/table/{master.js → regions/masterTable.js} +27 -57
  227. package/3rdparty/walkontable/src/table/{master.mjs → regions/masterTable.mjs} +26 -56
  228. package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.d.mts +2 -0
  229. package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.d.ts +16 -0
  230. package/3rdparty/walkontable/src/table/{topInlineStartCorner.js → regions/topInlineStartCornerTable.js} +9 -12
  231. package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.mjs +21 -0
  232. package/3rdparty/walkontable/src/table/regions/topTable.d.mts +2 -0
  233. package/3rdparty/walkontable/src/table/regions/topTable.d.ts +15 -0
  234. package/3rdparty/walkontable/src/table/regions/topTable.js +35 -0
  235. package/3rdparty/walkontable/src/table/regions/topTable.mjs +20 -0
  236. package/3rdparty/walkontable/src/types.d.ts +7 -69
  237. package/3rdparty/walkontable/src/types.mjs +2 -1
  238. package/3rdparty/walkontable/src/utils/pointerToCoords.d.mts +1 -0
  239. package/3rdparty/walkontable/src/utils/{cellCoords.d.ts → pointerToCoords.d.ts} +24 -0
  240. package/3rdparty/walkontable/src/utils/pointerToCoords.js +181 -0
  241. package/3rdparty/walkontable/src/utils/pointerToCoords.mjs +186 -0
  242. package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.d.mts +1 -0
  243. package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.d.ts +40 -0
  244. package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.js +139 -0
  245. package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.mjs +131 -0
  246. package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.d.mts +1 -0
  247. package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.d.ts +133 -0
  248. package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.js +18 -0
  249. package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.mjs +18 -0
  250. package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.d.mts +1 -0
  251. package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.d.ts +17 -0
  252. package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.js +104 -0
  253. package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.mjs +99 -0
  254. package/3rdparty/walkontable/src/viewport/calculatorFactory.d.mts +1 -0
  255. package/3rdparty/walkontable/src/viewport/calculatorFactory.d.ts +84 -0
  256. package/3rdparty/walkontable/src/viewport/calculatorFactory.js +588 -0
  257. package/3rdparty/walkontable/src/viewport/calculatorFactory.mjs +601 -0
  258. package/3rdparty/walkontable/src/viewport/viewport.d.ts +267 -0
  259. package/3rdparty/walkontable/src/viewport/viewport.js +363 -0
  260. package/3rdparty/walkontable/src/viewport/viewport.mjs +355 -0
  261. package/3rdparty/walkontable/src/viewport/workspaceSize.d.mts +1 -0
  262. package/3rdparty/walkontable/src/viewport/workspaceSize.d.ts +59 -0
  263. package/3rdparty/walkontable/src/viewport/workspaceSize.js +284 -0
  264. package/3rdparty/walkontable/src/viewport/workspaceSize.mjs +282 -0
  265. package/3rdparty/walkontable/src/wire.d.mts +1 -0
  266. package/3rdparty/walkontable/src/wire.d.ts +81 -0
  267. package/3rdparty/walkontable/src/wire.js +56 -0
  268. package/3rdparty/walkontable/src/wire.mjs +56 -0
  269. package/LICENSE.txt +1 -1
  270. package/README.md +2 -2
  271. package/base.d.ts +10 -2
  272. package/base.js +2 -2
  273. package/base.mjs +2 -2
  274. package/cellTypes/checkboxType/accessors/valueSetter.d.ts +1 -1
  275. package/cellTypes/checkboxType/accessors/valueSetter.js +3 -1
  276. package/cellTypes/checkboxType/accessors/valueSetter.mjs +3 -1
  277. package/cellTypes/index.d.ts +3 -2
  278. package/cellTypes/index.js +9 -0
  279. package/cellTypes/index.mjs +5 -2
  280. package/cellTypes/intlDatetimeType/index.d.mts +1 -0
  281. package/cellTypes/intlDatetimeType/index.d.ts +1 -0
  282. package/cellTypes/intlDatetimeType/index.js +19 -0
  283. package/cellTypes/intlDatetimeType/index.mjs +1 -0
  284. package/cellTypes/intlDatetimeType/intlDatetimeType.d.mts +1 -0
  285. package/cellTypes/intlDatetimeType/intlDatetimeType.d.ts +16 -0
  286. package/cellTypes/intlDatetimeType/intlDatetimeType.js +31 -0
  287. package/cellTypes/intlDatetimeType/intlDatetimeType.mjs +15 -0
  288. package/cellTypes/multiSelectType/index.d.ts +1 -1
  289. package/cellTypes/multiSelectType/index.js +3 -0
  290. package/cellTypes/multiSelectType/index.mjs +1 -1
  291. package/cellTypes/multiSelectType/multiSelectType.d.ts +1 -0
  292. package/cellTypes/multiSelectType/multiSelectType.js +4 -0
  293. package/cellTypes/multiSelectType/multiSelectType.mjs +1 -0
  294. package/cellTypes/numericType/accessors/valueSetter.js +30 -2
  295. package/cellTypes/numericType/accessors/valueSetter.mjs +31 -3
  296. package/core/coordsMapper/rangeToRenderableMapper.js +5 -12
  297. package/core/coordsMapper/rangeToRenderableMapper.mjs +5 -12
  298. package/core/hooks/bucket.d.ts +40 -6
  299. package/core/hooks/bucket.js +113 -84
  300. package/core/hooks/bucket.mjs +118 -84
  301. package/core/hooks/constants.js +254 -16
  302. package/core/hooks/constants.mjs +254 -16
  303. package/core/hooks/index.js +28 -25
  304. package/core/hooks/index.mjs +28 -25
  305. package/core/layout/constants.d.ts +11 -0
  306. package/core/layout/constants.js +6 -0
  307. package/core/layout/constants.mjs +12 -0
  308. package/core/layout/domSlot.d.ts +3 -1
  309. package/core/layout/domSlot.js +21 -14
  310. package/core/layout/domSlot.mjs +21 -14
  311. package/core/layout/index.d.ts +2 -2
  312. package/core/layout/index.js +6 -0
  313. package/core/layout/index.mjs +2 -2
  314. package/core/layout/layoutManager.d.ts +13 -0
  315. package/core/layout/layoutManager.js +25 -13
  316. package/core/layout/layoutManager.mjs +26 -11
  317. package/core/settings.d.ts +59 -6
  318. package/core/types.d.ts +15 -1
  319. package/core/types.mjs +9 -0
  320. package/core.js +481 -85
  321. package/core.mjs +483 -87
  322. package/dataMap/dataMap.d.ts +3 -13
  323. package/dataMap/dataMap.js +101 -44
  324. package/dataMap/dataMap.mjs +102 -45
  325. package/dataMap/dataSource.js +4 -1
  326. package/dataMap/dataSource.mjs +4 -1
  327. package/dataMap/metaManager/index.d.ts +62 -8
  328. package/dataMap/metaManager/index.js +66 -0
  329. package/dataMap/metaManager/index.mjs +66 -0
  330. package/dataMap/metaManager/lazyFactoryMap.d.ts +68 -43
  331. package/dataMap/metaManager/lazyFactoryMap.js +490 -110
  332. package/dataMap/metaManager/lazyFactoryMap.mjs +504 -111
  333. package/dataMap/metaManager/metaLayers/cellMeta.d.ts +55 -8
  334. package/dataMap/metaManager/metaLayers/cellMeta.js +112 -17
  335. package/dataMap/metaManager/metaLayers/cellMeta.mjs +112 -17
  336. package/dataMap/metaManager/metaLayers/columnMeta.d.ts +2 -1
  337. package/dataMap/metaManager/metaLayers/columnMeta.js +1 -0
  338. package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -0
  339. package/dataMap/metaManager/metaSchema.js +712 -31
  340. package/dataMap/metaManager/metaSchema.mjs +712 -31
  341. package/dataMap/metaManager/mods/dynamicCellMeta.d.ts +24 -10
  342. package/dataMap/metaManager/mods/dynamicCellMeta.js +245 -28
  343. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +246 -29
  344. package/dataMap/metaManager/mods/extendMetaProperties.js +4 -9
  345. package/dataMap/metaManager/mods/extendMetaProperties.mjs +4 -9
  346. package/dataMap/sourceDataValidator.d.ts +13 -21
  347. package/dataMap/sourceDataValidator.js +39 -29
  348. package/dataMap/sourceDataValidator.mjs +50 -33
  349. package/dist/handsontable.full.js +34553 -9903
  350. package/dist/handsontable.full.min.js +168 -112
  351. package/dist/handsontable.js +31541 -13409
  352. package/dist/handsontable.min.js +172 -116
  353. package/dist/languages/all.js +2 -1
  354. package/dist/languages/all.min.js +1 -1
  355. package/dist/languages/fa-IR.js +2 -1
  356. package/dist/languages/fa-IR.min.js +1 -1
  357. package/dist/themes/classic.js +9 -3
  358. package/dist/themes/classic.min.js +4 -4
  359. package/dist/themes/horizon.js +9 -3
  360. package/dist/themes/horizon.min.js +4 -4
  361. package/dist/themes/main.js +9 -3
  362. package/dist/themes/main.min.js +4 -4
  363. package/dist/themes/static/variables/colors/ant.js +3 -3
  364. package/dist/themes/static/variables/colors/ant.min.js +3 -3
  365. package/dist/themes/static/variables/colors/classic.js +3 -3
  366. package/dist/themes/static/variables/colors/classic.min.js +3 -3
  367. package/dist/themes/static/variables/colors/horizon.js +3 -3
  368. package/dist/themes/static/variables/colors/horizon.min.js +3 -3
  369. package/dist/themes/static/variables/colors/main.js +3 -3
  370. package/dist/themes/static/variables/colors/main.min.js +3 -3
  371. package/dist/themes/static/variables/colors/material.js +3 -3
  372. package/dist/themes/static/variables/colors/material.min.js +3 -3
  373. package/dist/themes/static/variables/colors/shadcn.js +3 -3
  374. package/dist/themes/static/variables/colors/shadcn.min.js +3 -3
  375. package/dist/themes/static/variables/density.js +3 -3
  376. package/dist/themes/static/variables/density.min.js +3 -3
  377. package/dist/themes/static/variables/helpers/iconsMap.js +4 -9
  378. package/dist/themes/static/variables/helpers/iconsMap.min.js +4 -9
  379. package/dist/themes/static/variables/icons/horizon.js +3 -3
  380. package/dist/themes/static/variables/icons/horizon.min.js +3 -3
  381. package/dist/themes/static/variables/icons/main.js +3 -3
  382. package/dist/themes/static/variables/icons/main.min.js +3 -3
  383. package/dist/themes/static/variables/sizing.js +3 -3
  384. package/dist/themes/static/variables/sizing.min.js +3 -3
  385. package/dist/themes/static/variables/tokens/classic.js +9 -3
  386. package/dist/themes/static/variables/tokens/classic.min.js +4 -4
  387. package/dist/themes/static/variables/tokens/horizon.js +9 -3
  388. package/dist/themes/static/variables/tokens/horizon.min.js +4 -4
  389. package/dist/themes/static/variables/tokens/main.js +9 -3
  390. package/dist/themes/static/variables/tokens/main.min.js +4 -4
  391. package/editorManager.js +1 -3
  392. package/editorManager.mjs +1 -3
  393. package/editors/autocompleteEditor/autocompleteEditor.js +48 -22
  394. package/editors/autocompleteEditor/autocompleteEditor.mjs +48 -22
  395. package/editors/baseEditor/baseEditor.d.ts +15 -3
  396. package/editors/baseEditor/baseEditor.js +6 -6
  397. package/editors/baseEditor/baseEditor.mjs +16 -6
  398. package/editors/factory.js +5 -2
  399. package/editors/factory.mjs +5 -2
  400. package/editors/index.d.ts +3 -2
  401. package/editors/index.js +8 -0
  402. package/editors/index.mjs +3 -1
  403. package/editors/intlDatetimeEditor/index.d.mts +1 -0
  404. package/editors/intlDatetimeEditor/index.d.ts +1 -0
  405. package/editors/intlDatetimeEditor/index.js +19 -0
  406. package/editors/intlDatetimeEditor/index.mjs +1 -0
  407. package/editors/intlDatetimeEditor/intlDatetimeEditor.d.mts +1 -0
  408. package/editors/intlDatetimeEditor/intlDatetimeEditor.d.ts +42 -0
  409. package/editors/intlDatetimeEditor/intlDatetimeEditor.js +108 -0
  410. package/editors/intlDatetimeEditor/intlDatetimeEditor.mjs +93 -0
  411. package/editors/multiSelectEditor/controllers/dropdownController.js +5 -12
  412. package/editors/multiSelectEditor/controllers/dropdownController.mjs +5 -12
  413. package/editors/multiSelectEditor/controllers/inputController.js +1 -3
  414. package/editors/multiSelectEditor/controllers/inputController.mjs +1 -3
  415. package/editors/multiSelectEditor/multiSelectEditor.js +16 -21
  416. package/editors/multiSelectEditor/multiSelectEditor.mjs +17 -22
  417. package/editors/passwordEditor/passwordEditor.js +5 -12
  418. package/editors/passwordEditor/passwordEditor.mjs +5 -12
  419. package/editors/registry.js +4 -9
  420. package/editors/registry.mjs +4 -9
  421. package/editors/textEditor/textEditor.js +1 -1
  422. package/editors/textEditor/textEditor.mjs +2 -2
  423. package/eventManager.d.ts +3 -3
  424. package/focusManager/grid.d.ts +28 -0
  425. package/focusManager/grid.js +84 -14
  426. package/focusManager/grid.mjs +80 -15
  427. package/focusManager/scopeManager.js +1 -1
  428. package/focusManager/scopeManager.mjs +2 -2
  429. package/handsontable-non-commercial-license.pdf +0 -0
  430. package/helpers/array.d.ts +25 -0
  431. package/helpers/array.js +41 -4
  432. package/helpers/array.mjs +56 -4
  433. package/helpers/dateTime.d.ts +14 -0
  434. package/helpers/dateTime.js +74 -2
  435. package/helpers/dateTime.mjs +73 -2
  436. package/helpers/dom/cellCoords.js +156 -13
  437. package/helpers/dom/cellCoords.mjs +156 -13
  438. package/helpers/dom/element.d.ts +27 -3
  439. package/helpers/dom/element.js +92 -16
  440. package/helpers/dom/element.mjs +107 -17
  441. package/helpers/dom/event.d.ts +58 -0
  442. package/helpers/dom/event.js +39 -0
  443. package/helpers/dom/event.mjs +63 -0
  444. package/helpers/errors.d.ts +5 -0
  445. package/helpers/errors.js +10 -6
  446. package/helpers/errors.mjs +10 -6
  447. package/helpers/feature.d.ts +19 -0
  448. package/helpers/feature.js +21 -0
  449. package/helpers/feature.mjs +30 -0
  450. package/helpers/function.d.ts +1 -1
  451. package/helpers/function.js +4 -1
  452. package/helpers/function.mjs +4 -1
  453. package/helpers/mixed.d.ts +103 -0
  454. package/helpers/mixed.js +373 -4
  455. package/helpers/mixed.mjs +413 -4
  456. package/helpers/moves.js +2 -1
  457. package/helpers/moves.mjs +2 -1
  458. package/helpers/number.d.ts +22 -0
  459. package/helpers/number.js +49 -0
  460. package/helpers/number.mjs +66 -0
  461. package/i18n/languages/ar-AR.js +8 -19
  462. package/i18n/languages/cs-CZ.js +8 -19
  463. package/i18n/languages/de-CH.js +8 -19
  464. package/i18n/languages/de-DE.js +8 -19
  465. package/i18n/languages/en-US.js +8 -19
  466. package/i18n/languages/es-MX.js +8 -19
  467. package/i18n/languages/fa-IR.d.ts +1 -0
  468. package/i18n/languages/fa-IR.js +9 -19
  469. package/i18n/languages/fa-IR.mjs +1 -0
  470. package/i18n/languages/fr-FR.js +8 -19
  471. package/i18n/languages/hr-HR.js +8 -19
  472. package/i18n/languages/it-IT.js +8 -19
  473. package/i18n/languages/ja-JP.js +8 -19
  474. package/i18n/languages/ko-KR.js +8 -19
  475. package/i18n/languages/lv-LV.js +8 -19
  476. package/i18n/languages/nb-NO.js +8 -19
  477. package/i18n/languages/nl-NL.js +8 -19
  478. package/i18n/languages/pl-PL.js +8 -19
  479. package/i18n/languages/pt-BR.js +8 -19
  480. package/i18n/languages/ru-RU.js +8 -19
  481. package/i18n/languages/sr-SP.js +8 -19
  482. package/i18n/languages/zh-CN.js +8 -19
  483. package/i18n/languages/zh-TW.js +8 -19
  484. package/i18n/registry.js +8 -19
  485. package/index.d.ts +2 -2
  486. package/index.js +8 -19
  487. package/languages/all.js +2 -1
  488. package/languages/fa-IR.js +2 -1
  489. package/languages/fa-IR.mjs +1 -0
  490. package/languages/index.js +2 -1
  491. package/package.json +61 -1
  492. package/plugins/autoColumnSize/autoColumnSize.d.ts +24 -1
  493. package/plugins/autoColumnSize/autoColumnSize.js +506 -94
  494. package/plugins/autoColumnSize/autoColumnSize.mjs +513 -95
  495. package/plugins/autoRowSize/autoRowSize.d.ts +40 -5
  496. package/plugins/autoRowSize/autoRowSize.js +73 -36
  497. package/plugins/autoRowSize/autoRowSize.mjs +103 -41
  498. package/plugins/autofill/autofill.js +35 -24
  499. package/plugins/autofill/autofill.mjs +35 -24
  500. package/plugins/base/base.d.ts +10 -0
  501. package/plugins/base/base.js +5 -12
  502. package/plugins/base/base.mjs +5 -12
  503. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +4 -9
  504. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +4 -9
  505. package/plugins/collapsibleColumns/collapsibleColumns.d.ts +4 -0
  506. package/plugins/collapsibleColumns/collapsibleColumns.js +94 -20
  507. package/plugins/collapsibleColumns/collapsibleColumns.mjs +98 -20
  508. package/plugins/columnSorting/columnSorting.d.ts +31 -2
  509. package/plugins/columnSorting/columnSorting.js +153 -33
  510. package/plugins/columnSorting/columnSorting.mjs +155 -35
  511. package/plugins/columnSorting/columnStatesManager.d.ts +1 -1
  512. package/plugins/columnSorting/columnStatesManager.js +1 -7
  513. package/plugins/columnSorting/columnStatesManager.mjs +1 -7
  514. package/plugins/columnSorting/domHelpers.d.ts +3 -0
  515. package/plugins/columnSorting/domHelpers.js +9 -0
  516. package/plugins/columnSorting/domHelpers.mjs +3 -3
  517. package/plugins/columnSorting/rootComparator.js +21 -16
  518. package/plugins/columnSorting/rootComparator.mjs +21 -16
  519. package/plugins/columnSorting/sortFunction/checkbox.js +7 -5
  520. package/plugins/columnSorting/sortFunction/checkbox.mjs +7 -5
  521. package/plugins/columnSorting/sortFunction/default.js +15 -4
  522. package/plugins/columnSorting/sortFunction/default.mjs +15 -4
  523. package/plugins/columnSorting/sortFunction/intlDatetime.d.mts +1 -0
  524. package/plugins/columnSorting/sortFunction/intlDatetime.d.ts +10 -0
  525. package/plugins/columnSorting/sortFunction/intlDatetime.js +23 -0
  526. package/plugins/columnSorting/sortFunction/intlDatetime.mjs +12 -0
  527. package/plugins/columnSorting/sortService/registry.js +2 -0
  528. package/plugins/columnSorting/sortService/registry.mjs +2 -0
  529. package/plugins/columnSorting/utils.d.ts +8 -0
  530. package/plugins/columnSorting/utils.js +37 -45
  531. package/plugins/columnSorting/utils.mjs +42 -47
  532. package/plugins/columnSummary/columnSummary.js +13 -14
  533. package/plugins/columnSummary/columnSummary.mjs +13 -14
  534. package/plugins/columnSummary/endpoints.d.ts +69 -2
  535. package/plugins/columnSummary/endpoints.js +176 -29
  536. package/plugins/columnSummary/endpoints.mjs +176 -29
  537. package/plugins/comments/commentEditor.js +5 -10
  538. package/plugins/comments/commentEditor.mjs +6 -11
  539. package/plugins/comments/comments.js +5 -12
  540. package/plugins/comments/comments.mjs +5 -12
  541. package/plugins/comments/contextMenuItem/addEditComment.js +8 -19
  542. package/plugins/comments/contextMenuItem/readOnlyComment.js +8 -19
  543. package/plugins/comments/contextMenuItem/removeComment.js +8 -19
  544. package/plugins/comments/editorResizeObserver.js +5 -12
  545. package/plugins/comments/editorResizeObserver.mjs +5 -12
  546. package/plugins/contextMenu/contextMenu.d.ts +12 -1
  547. package/plugins/contextMenu/contextMenu.js +34 -15
  548. package/plugins/contextMenu/contextMenu.mjs +34 -15
  549. package/plugins/contextMenu/index.d.ts +1 -1
  550. package/plugins/contextMenu/menu/menu.d.ts +22 -1
  551. package/plugins/contextMenu/menu/menu.js +216 -15
  552. package/plugins/contextMenu/menu/menu.mjs +217 -16
  553. package/plugins/contextMenu/menu/positioner.js +4 -9
  554. package/plugins/contextMenu/menu/positioner.mjs +4 -9
  555. package/plugins/contextMenu/predefinedItems/alignment.js +22 -33
  556. package/plugins/contextMenu/predefinedItems/alignment.mjs +14 -14
  557. package/plugins/contextMenu/predefinedItems/clearColumn.js +9 -20
  558. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -1
  559. package/plugins/contextMenu/predefinedItems/columnLeft.js +8 -19
  560. package/plugins/contextMenu/predefinedItems/columnRight.js +8 -19
  561. package/plugins/contextMenu/predefinedItems/index.js +8 -19
  562. package/plugins/contextMenu/predefinedItems/readOnly.js +11 -22
  563. package/plugins/contextMenu/predefinedItems/readOnly.mjs +3 -3
  564. package/plugins/contextMenu/predefinedItems/redo.js +8 -19
  565. package/plugins/contextMenu/predefinedItems/removeColumn.js +8 -19
  566. package/plugins/contextMenu/predefinedItems/removeRow.js +8 -19
  567. package/plugins/contextMenu/predefinedItems/rowAbove.js +8 -19
  568. package/plugins/contextMenu/predefinedItems/rowBelow.js +8 -19
  569. package/plugins/contextMenu/predefinedItems/undo.js +8 -19
  570. package/plugins/contextMenu/utils.js +1 -1
  571. package/plugins/contextMenu/utils.mjs +1 -1
  572. package/plugins/copyPaste/contextMenuItem/cut.js +8 -19
  573. package/plugins/copyPaste/copyPaste.js +62 -20
  574. package/plugins/copyPaste/copyPaste.mjs +63 -21
  575. package/plugins/copyPaste/copyableRanges.js +11 -14
  576. package/plugins/copyPaste/copyableRanges.mjs +11 -14
  577. package/plugins/copyPaste/pasteEvent.d.ts +1 -1
  578. package/plugins/customBorders/contextMenuItem/bottom.js +8 -19
  579. package/plugins/customBorders/contextMenuItem/left.js +8 -19
  580. package/plugins/customBorders/contextMenuItem/noBorders.js +8 -19
  581. package/plugins/customBorders/contextMenuItem/right.js +8 -19
  582. package/plugins/customBorders/contextMenuItem/top.js +8 -19
  583. package/plugins/customBorders/customBorders.d.ts +21 -40
  584. package/plugins/customBorders/customBorders.js +1084 -223
  585. package/plugins/customBorders/customBorders.mjs +1078 -206
  586. package/plugins/customBorders/utils.d.ts +71 -0
  587. package/plugins/customBorders/utils.js +63 -0
  588. package/plugins/customBorders/utils.mjs +101 -0
  589. package/plugins/dataProvider/dataProvider.js +35 -38
  590. package/plugins/dataProvider/dataProvider.mjs +27 -19
  591. package/plugins/dataProvider/query/crud.js +1 -1
  592. package/plugins/dataProvider/query/crud.mjs +1 -1
  593. package/plugins/dialog/dialog.js +15 -33
  594. package/plugins/dialog/dialog.mjs +7 -14
  595. package/plugins/dialog/ui.js +5 -12
  596. package/plugins/dialog/ui.mjs +5 -12
  597. package/plugins/dragToScroll/autoScroller.js +4 -9
  598. package/plugins/dragToScroll/autoScroller.mjs +4 -9
  599. package/plugins/dragToScroll/dragToScroll.d.ts +2 -2
  600. package/plugins/dragToScroll/dragToScroll.js +155 -26
  601. package/plugins/dragToScroll/dragToScroll.mjs +156 -27
  602. package/plugins/dragToScroll/scrollTimer.js +4 -9
  603. package/plugins/dragToScroll/scrollTimer.mjs +4 -9
  604. package/plugins/dropdownMenu/dropdownMenu.d.ts +5 -1
  605. package/plugins/dropdownMenu/dropdownMenu.js +50 -15
  606. package/plugins/dropdownMenu/dropdownMenu.mjs +51 -16
  607. package/plugins/dropdownMenu/index.d.ts +1 -0
  608. package/plugins/emptyDataState/emptyDataState.js +15 -33
  609. package/plugins/emptyDataState/emptyDataState.mjs +7 -14
  610. package/plugins/emptyDataState/ui.js +4 -9
  611. package/plugins/emptyDataState/ui.mjs +4 -9
  612. package/plugins/exportFile/dataProvider.js +5 -1
  613. package/plugins/exportFile/dataProvider.mjs +5 -1
  614. package/plugins/exportFile/exportFile.js +13 -31
  615. package/plugins/exportFile/exportFile.mjs +5 -12
  616. package/plugins/exportFile/types/csv.js +1 -3
  617. package/plugins/exportFile/types/csv.mjs +1 -3
  618. package/plugins/exportFile/types/xlsx/cell-style.js +4 -2
  619. package/plugins/exportFile/types/xlsx/cell-style.mjs +4 -2
  620. package/plugins/exportFile/types/xlsx/date-utils.d.ts +15 -0
  621. package/plugins/exportFile/types/xlsx/date-utils.js +31 -0
  622. package/plugins/exportFile/types/xlsx/date-utils.mjs +36 -0
  623. package/plugins/exportFile/types/xlsx.js +10 -3
  624. package/plugins/exportFile/types/xlsx.mjs +11 -4
  625. package/plugins/filters/component/_base.d.ts +1 -2
  626. package/plugins/filters/component/_base.js +1 -2
  627. package/plugins/filters/component/_base.mjs +1 -2
  628. package/plugins/filters/component/actionBar.js +9 -22
  629. package/plugins/filters/component/actionBar.mjs +1 -3
  630. package/plugins/filters/component/condition.d.ts +1 -0
  631. package/plugins/filters/component/condition.js +11 -22
  632. package/plugins/filters/component/condition.mjs +3 -3
  633. package/plugins/filters/component/operators.js +1 -3
  634. package/plugins/filters/component/operators.mjs +1 -3
  635. package/plugins/filters/component/value.d.ts +5 -6
  636. package/plugins/filters/component/value.js +62 -56
  637. package/plugins/filters/component/value.mjs +55 -38
  638. package/plugins/filters/condition/beginsWith.js +8 -19
  639. package/plugins/filters/condition/between.js +8 -19
  640. package/plugins/filters/condition/contains.js +8 -19
  641. package/plugins/filters/condition/date/after.js +10 -20
  642. package/plugins/filters/condition/date/after.mjs +2 -1
  643. package/plugins/filters/condition/date/afterOrEqual.js +10 -20
  644. package/plugins/filters/condition/date/afterOrEqual.mjs +2 -1
  645. package/plugins/filters/condition/date/before.js +10 -20
  646. package/plugins/filters/condition/date/before.mjs +2 -1
  647. package/plugins/filters/condition/date/beforeOrEqual.js +10 -20
  648. package/plugins/filters/condition/date/beforeOrEqual.mjs +2 -1
  649. package/plugins/filters/condition/date/today.js +8 -19
  650. package/plugins/filters/condition/date/tomorrow.js +8 -19
  651. package/plugins/filters/condition/date/yesterday.js +8 -19
  652. package/plugins/filters/condition/empty.js +8 -19
  653. package/plugins/filters/condition/endsWith.js +8 -19
  654. package/plugins/filters/condition/equal.d.ts +7 -0
  655. package/plugins/filters/condition/equal.js +12 -19
  656. package/plugins/filters/condition/equal.mjs +10 -0
  657. package/plugins/filters/condition/greaterThan.js +8 -19
  658. package/plugins/filters/condition/greaterThanOrEqual.js +8 -19
  659. package/plugins/filters/condition/intlDate/after.js +8 -19
  660. package/plugins/filters/condition/intlDate/afterOrEqual.js +8 -19
  661. package/plugins/filters/condition/intlDate/before.js +8 -19
  662. package/plugins/filters/condition/intlDate/beforeOrEqual.js +8 -19
  663. package/plugins/filters/condition/intlDate/between.js +8 -19
  664. package/plugins/filters/condition/intlDate/today.js +8 -19
  665. package/plugins/filters/condition/intlDate/tomorrow.js +8 -19
  666. package/plugins/filters/condition/intlDate/yesterday.js +8 -19
  667. package/plugins/filters/condition/intlDatetime/after.d.mts +1 -0
  668. package/plugins/filters/condition/intlDatetime/after.d.ts +18 -0
  669. package/plugins/filters/condition/intlDatetime/after.js +66 -0
  670. package/plugins/filters/condition/intlDatetime/after.mjs +22 -0
  671. package/plugins/filters/condition/intlDatetime/afterOrEqual.d.mts +1 -0
  672. package/plugins/filters/condition/intlDatetime/afterOrEqual.d.ts +18 -0
  673. package/plugins/filters/condition/intlDatetime/afterOrEqual.js +66 -0
  674. package/plugins/filters/condition/intlDatetime/afterOrEqual.mjs +22 -0
  675. package/plugins/filters/condition/intlDatetime/before.d.mts +1 -0
  676. package/plugins/filters/condition/intlDatetime/before.d.ts +18 -0
  677. package/plugins/filters/condition/intlDatetime/before.js +66 -0
  678. package/plugins/filters/condition/intlDatetime/before.mjs +22 -0
  679. package/plugins/filters/condition/intlDatetime/beforeOrEqual.d.mts +1 -0
  680. package/plugins/filters/condition/intlDatetime/beforeOrEqual.d.ts +18 -0
  681. package/plugins/filters/condition/intlDatetime/beforeOrEqual.js +66 -0
  682. package/plugins/filters/condition/intlDatetime/beforeOrEqual.mjs +22 -0
  683. package/plugins/filters/condition/intlDatetime/between.d.mts +1 -0
  684. package/plugins/filters/condition/intlDatetime/between.d.ts +18 -0
  685. package/plugins/filters/condition/intlDatetime/between.js +67 -0
  686. package/plugins/filters/condition/intlDatetime/between.mjs +23 -0
  687. package/plugins/filters/condition/intlDatetime/today.d.mts +1 -0
  688. package/plugins/filters/condition/intlDatetime/today.d.ts +17 -0
  689. package/plugins/filters/condition/intlDatetime/today.js +65 -0
  690. package/plugins/filters/condition/intlDatetime/today.mjs +20 -0
  691. package/plugins/filters/condition/intlDatetime/tomorrow.d.mts +1 -0
  692. package/plugins/filters/condition/intlDatetime/tomorrow.d.ts +17 -0
  693. package/plugins/filters/condition/intlDatetime/tomorrow.js +66 -0
  694. package/plugins/filters/condition/intlDatetime/tomorrow.mjs +21 -0
  695. package/plugins/filters/condition/intlDatetime/yesterday.d.mts +1 -0
  696. package/plugins/filters/condition/intlDatetime/yesterday.d.ts +17 -0
  697. package/plugins/filters/condition/intlDatetime/yesterday.js +66 -0
  698. package/plugins/filters/condition/intlDatetime/yesterday.mjs +21 -0
  699. package/plugins/filters/condition/intlTime/after.js +8 -19
  700. package/plugins/filters/condition/intlTime/afterOrEqual.js +8 -19
  701. package/plugins/filters/condition/intlTime/before.js +8 -19
  702. package/plugins/filters/condition/intlTime/beforeOrEqual.js +8 -19
  703. package/plugins/filters/condition/intlTime/between.js +8 -19
  704. package/plugins/filters/condition/lessThan.js +8 -19
  705. package/plugins/filters/condition/lessThanOrEqual.js +8 -19
  706. package/plugins/filters/condition/none.js +8 -19
  707. package/plugins/filters/condition/notBetween.js +8 -19
  708. package/plugins/filters/condition/notContains.js +8 -19
  709. package/plugins/filters/condition/notEmpty.js +8 -19
  710. package/plugins/filters/condition/notEqual.js +8 -19
  711. package/plugins/filters/conditionCollection.js +4 -7
  712. package/plugins/filters/conditionCollection.mjs +4 -7
  713. package/plugins/filters/conditionUpdateObserver.d.ts +2 -2
  714. package/plugins/filters/conditionUpdateObserver.js +144 -52
  715. package/plugins/filters/conditionUpdateObserver.mjs +144 -52
  716. package/plugins/filters/constants.d.ts +1 -0
  717. package/plugins/filters/constants.js +31 -0
  718. package/plugins/filters/constants.mjs +28 -0
  719. package/plugins/filters/dataFilter.d.ts +4 -12
  720. package/plugins/filters/dataFilter.js +7 -19
  721. package/plugins/filters/dataFilter.mjs +8 -20
  722. package/plugins/filters/filters.d.ts +33 -9
  723. package/plugins/filters/filters.js +104 -62
  724. package/plugins/filters/filters.mjs +97 -44
  725. package/plugins/filters/logicalOperations/conjunction.js +8 -19
  726. package/plugins/filters/logicalOperations/disjunction.js +8 -19
  727. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +8 -19
  728. package/plugins/filters/sortComparators.d.ts +9 -2
  729. package/plugins/filters/sortComparators.js +34 -1
  730. package/plugins/filters/sortComparators.mjs +38 -3
  731. package/plugins/filters/ui/_base.js +8 -19
  732. package/plugins/filters/ui/input.d.ts +4 -0
  733. package/plugins/filters/ui/input.js +23 -18
  734. package/plugins/filters/ui/input.mjs +23 -18
  735. package/plugins/filters/ui/link.js +4 -9
  736. package/plugins/filters/ui/link.mjs +4 -9
  737. package/plugins/filters/ui/multipleSelect.js +40 -35
  738. package/plugins/filters/ui/multipleSelect.mjs +32 -16
  739. package/plugins/filters/ui/radioInput.js +4 -9
  740. package/plugins/filters/ui/radioInput.mjs +4 -9
  741. package/plugins/filters/ui/select.js +14 -32
  742. package/plugins/filters/ui/select.mjs +6 -13
  743. package/plugins/formulas/engine/register.d.ts +5 -4
  744. package/plugins/formulas/engine/register.js +5 -2
  745. package/plugins/formulas/engine/register.mjs +9 -5
  746. package/plugins/formulas/engine/settings.d.ts +2 -6
  747. package/plugins/formulas/engine/settings.js +29 -4
  748. package/plugins/formulas/engine/settings.mjs +29 -4
  749. package/plugins/formulas/engine/types.d.ts +12 -2
  750. package/plugins/formulas/formulas.d.ts +39 -0
  751. package/plugins/formulas/formulas.js +748 -55
  752. package/plugins/formulas/formulas.mjs +752 -57
  753. package/plugins/formulas/hyperlinkUrl.d.mts +1 -0
  754. package/plugins/formulas/hyperlinkUrl.d.ts +12 -0
  755. package/plugins/formulas/hyperlinkUrl.js +32 -0
  756. package/plugins/formulas/hyperlinkUrl.mjs +32 -0
  757. package/plugins/formulas/indexSyncer/axisSyncer.d.ts +1 -0
  758. package/plugins/formulas/indexSyncer/axisSyncer.js +77 -27
  759. package/plugins/formulas/indexSyncer/axisSyncer.mjs +77 -27
  760. package/plugins/formulas/indexSyncer/index.js +4 -9
  761. package/plugins/formulas/indexSyncer/index.mjs +4 -9
  762. package/plugins/formulas/utils.d.ts +9 -0
  763. package/plugins/formulas/utils.js +21 -0
  764. package/plugins/formulas/utils.mjs +25 -0
  765. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +8 -19
  766. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +14 -20
  767. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +6 -1
  768. package/plugins/hiddenColumns/hiddenColumns.js +11 -15
  769. package/plugins/hiddenColumns/hiddenColumns.mjs +11 -15
  770. package/plugins/hiddenRows/contextMenuItem/hideRow.js +8 -19
  771. package/plugins/hiddenRows/contextMenuItem/showRow.js +14 -20
  772. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +6 -1
  773. package/plugins/hiddenRows/hiddenRows.js +11 -15
  774. package/plugins/hiddenRows/hiddenRows.mjs +11 -15
  775. package/plugins/index.d.ts +5 -1
  776. package/plugins/index.js +10 -0
  777. package/plugins/index.mjs +5 -1
  778. package/plugins/loading/loading.js +13 -31
  779. package/plugins/loading/loading.mjs +5 -12
  780. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +8 -19
  781. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +8 -19
  782. package/plugins/manualColumnFreeze/manualColumnFreeze.js +5 -12
  783. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +5 -12
  784. package/plugins/manualColumnMove/manualColumnMove.d.ts +10 -0
  785. package/plugins/manualColumnMove/manualColumnMove.js +128 -33
  786. package/plugins/manualColumnMove/manualColumnMove.mjs +129 -34
  787. package/plugins/manualColumnResize/manualColumnResize.d.ts +12 -1
  788. package/plugins/manualColumnResize/manualColumnResize.js +28 -17
  789. package/plugins/manualColumnResize/manualColumnResize.mjs +28 -17
  790. package/plugins/manualRowMove/manualRowMove.js +5 -12
  791. package/plugins/manualRowMove/manualRowMove.mjs +5 -12
  792. package/plugins/manualRowResize/manualRowResize.d.ts +13 -2
  793. package/plugins/manualRowResize/manualRowResize.js +29 -18
  794. package/plugins/manualRowResize/manualRowResize.mjs +29 -18
  795. package/plugins/mergeCells/cellCoords.d.ts +8 -0
  796. package/plugins/mergeCells/cellCoords.js +15 -9
  797. package/plugins/mergeCells/cellCoords.mjs +15 -9
  798. package/plugins/mergeCells/cellsCollection.d.ts +46 -2
  799. package/plugins/mergeCells/cellsCollection.js +190 -71
  800. package/plugins/mergeCells/cellsCollection.mjs +190 -71
  801. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +8 -19
  802. package/plugins/mergeCells/focusOrder.d.ts +26 -20
  803. package/plugins/mergeCells/focusOrder.js +363 -189
  804. package/plugins/mergeCells/focusOrder.mjs +368 -184
  805. package/plugins/mergeCells/mergeCells.d.ts +13 -8
  806. package/plugins/mergeCells/mergeCells.js +327 -76
  807. package/plugins/mergeCells/mergeCells.mjs +327 -76
  808. package/plugins/moveCells/helpers.d.mts +1 -0
  809. package/plugins/moveCells/helpers.d.ts +21 -0
  810. package/plugins/moveCells/helpers.js +20 -0
  811. package/plugins/moveCells/helpers.mjs +15 -0
  812. package/plugins/moveCells/index.d.mts +1 -0
  813. package/plugins/moveCells/index.d.ts +1 -0
  814. package/plugins/moveCells/index.js +22 -0
  815. package/plugins/moveCells/index.mjs +1 -0
  816. package/plugins/moveCells/moveCells.d.mts +1 -0
  817. package/plugins/moveCells/moveCells.d.ts +80 -0
  818. package/plugins/moveCells/moveCells.js +595 -0
  819. package/plugins/moveCells/moveCells.mjs +580 -0
  820. package/plugins/multiColumnSorting/multiColumnSorting.d.ts +8 -8
  821. package/plugins/multiColumnSorting/multiColumnSorting.js +11 -16
  822. package/plugins/multiColumnSorting/multiColumnSorting.mjs +11 -16
  823. package/plugins/multiColumnSorting/rootComparator.js +26 -19
  824. package/plugins/multiColumnSorting/rootComparator.mjs +26 -19
  825. package/plugins/multipleSelectionHandles/multipleSelectionHandles.d.ts +19 -4
  826. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +266 -58
  827. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +266 -58
  828. package/plugins/nestedHeaders/nestedHeaders.d.ts +10 -1
  829. package/plugins/nestedHeaders/nestedHeaders.js +227 -35
  830. package/plugins/nestedHeaders/nestedHeaders.mjs +227 -35
  831. package/plugins/nestedHeaders/stateManager/columnArrangement.d.mts +1 -0
  832. package/plugins/nestedHeaders/stateManager/columnArrangement.d.ts +37 -0
  833. package/plugins/nestedHeaders/stateManager/columnArrangement.js +35 -0
  834. package/plugins/nestedHeaders/stateManager/columnArrangement.mjs +30 -0
  835. package/plugins/nestedHeaders/stateManager/deriveSettings.d.mts +1 -0
  836. package/plugins/nestedHeaders/stateManager/deriveSettings.d.ts +57 -0
  837. package/plugins/nestedHeaders/stateManager/deriveSettings.js +115 -0
  838. package/plugins/nestedHeaders/stateManager/deriveSettings.mjs +135 -0
  839. package/plugins/nestedHeaders/stateManager/headersTree.d.ts +14 -1
  840. package/plugins/nestedHeaders/stateManager/headersTree.js +4 -9
  841. package/plugins/nestedHeaders/stateManager/headersTree.mjs +4 -9
  842. package/plugins/nestedHeaders/stateManager/index.d.ts +76 -13
  843. package/plugins/nestedHeaders/stateManager/index.js +386 -50
  844. package/plugins/nestedHeaders/stateManager/index.mjs +387 -51
  845. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +3 -2
  846. package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +3 -2
  847. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -1
  848. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +5 -1
  849. package/plugins/nestedHeaders/stateManager/sourceSettings.d.ts +23 -6
  850. package/plugins/nestedHeaders/stateManager/sourceSettings.js +24 -13
  851. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +24 -13
  852. package/plugins/nestedHeaders/stateManager/utils.d.ts +17 -1
  853. package/plugins/nestedHeaders/stateManager/utils.js +6 -1
  854. package/plugins/nestedHeaders/stateManager/utils.mjs +6 -1
  855. package/plugins/nestedHeaders/utils/ghostTable.js +1 -3
  856. package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -3
  857. package/plugins/nestedRows/data/dataManager.d.ts +4 -1
  858. package/plugins/nestedRows/data/dataManager.js +10 -4
  859. package/plugins/nestedRows/data/dataManager.mjs +10 -4
  860. package/plugins/nestedRows/nestedRows.d.ts +127 -1
  861. package/plugins/nestedRows/nestedRows.js +332 -17
  862. package/plugins/nestedRows/nestedRows.mjs +332 -17
  863. package/plugins/nestedRows/ui/collapsing.d.ts +58 -0
  864. package/plugins/nestedRows/ui/collapsing.js +234 -40
  865. package/plugins/nestedRows/ui/collapsing.mjs +234 -40
  866. package/plugins/nestedRows/ui/contextMenu.js +12 -28
  867. package/plugins/nestedRows/ui/contextMenu.mjs +4 -9
  868. package/plugins/notification/notification.js +13 -31
  869. package/plugins/notification/notification.mjs +5 -12
  870. package/plugins/notification/ui.js +4 -9
  871. package/plugins/notification/ui.mjs +4 -9
  872. package/plugins/pagination/pagination.js +7 -14
  873. package/plugins/pagination/pagination.mjs +7 -14
  874. package/plugins/pagination/ui.js +13 -31
  875. package/plugins/pagination/ui.mjs +5 -12
  876. package/plugins/search/search.js +27 -11
  877. package/plugins/search/search.mjs +27 -11
  878. package/plugins/selectionHandles/helpers.d.mts +1 -0
  879. package/plugins/selectionHandles/helpers.d.ts +17 -0
  880. package/plugins/selectionHandles/helpers.js +16 -0
  881. package/plugins/selectionHandles/helpers.mjs +11 -0
  882. package/plugins/selectionHandles/index.d.mts +1 -0
  883. package/plugins/selectionHandles/index.d.ts +1 -0
  884. package/plugins/selectionHandles/index.js +22 -0
  885. package/plugins/selectionHandles/index.mjs +1 -0
  886. package/plugins/selectionHandles/selectionHandles.d.mts +1 -0
  887. package/plugins/selectionHandles/selectionHandles.d.ts +52 -0
  888. package/plugins/selectionHandles/selectionHandles.js +335 -0
  889. package/plugins/selectionHandles/selectionHandles.mjs +316 -0
  890. package/plugins/stretchColumns/calculator.js +5 -12
  891. package/plugins/stretchColumns/calculator.mjs +5 -12
  892. package/plugins/stretchColumns/strategies/last.js +4 -9
  893. package/plugins/stretchColumns/strategies/last.mjs +4 -9
  894. package/plugins/stretchColumns/stretchColumns.js +4 -9
  895. package/plugins/stretchColumns/stretchColumns.mjs +4 -9
  896. package/plugins/touchScroll/touchScroll.js +4 -9
  897. package/plugins/touchScroll/touchScroll.mjs +4 -9
  898. package/plugins/trimRows/trimRows.d.ts +1 -1
  899. package/plugins/trimRows/trimRows.js +10 -11
  900. package/plugins/trimRows/trimRows.mjs +10 -11
  901. package/plugins/types.d.ts +4 -0
  902. package/plugins/undoRedo/actions/cellAlignment.js +1 -1
  903. package/plugins/undoRedo/actions/cellAlignment.mjs +1 -1
  904. package/plugins/undoRedo/actions/createColumn.js +4 -1
  905. package/plugins/undoRedo/actions/createColumn.mjs +4 -1
  906. package/plugins/undoRedo/actions/createRow.js +4 -1
  907. package/plugins/undoRedo/actions/createRow.mjs +4 -1
  908. package/plugins/undoRedo/actions/fixedCounts.d.mts +1 -0
  909. package/plugins/undoRedo/actions/fixedCounts.d.ts +36 -0
  910. package/plugins/undoRedo/actions/fixedCounts.js +63 -0
  911. package/plugins/undoRedo/actions/fixedCounts.mjs +62 -0
  912. package/plugins/undoRedo/actions/index.js +2 -0
  913. package/plugins/undoRedo/actions/index.mjs +2 -0
  914. package/plugins/undoRedo/actions/moveCells.d.mts +1 -0
  915. package/plugins/undoRedo/actions/moveCells.d.ts +104 -0
  916. package/plugins/undoRedo/actions/moveCells.js +225 -0
  917. package/plugins/undoRedo/actions/moveCells.mjs +227 -0
  918. package/plugins/undoRedo/actions/removeColumn.d.ts +18 -2
  919. package/plugins/undoRedo/actions/removeColumn.js +11 -4
  920. package/plugins/undoRedo/actions/removeColumn.mjs +12 -5
  921. package/plugins/undoRedo/actions/removeRow.js +2 -57
  922. package/plugins/undoRedo/actions/removeRow.mjs +2 -57
  923. package/plugins/undoRedo/undoRedo.d.ts +26 -0
  924. package/plugins/undoRedo/undoRedo.js +40 -11
  925. package/plugins/undoRedo/undoRedo.mjs +40 -11
  926. package/plugins/undoRedo/utils.d.ts +29 -0
  927. package/plugins/undoRedo/utils.js +55 -3
  928. package/plugins/undoRedo/utils.mjs +59 -0
  929. package/renderSizeProbe.d.mts +1 -0
  930. package/renderSizeProbe.d.ts +60 -0
  931. package/renderSizeProbe.js +161 -0
  932. package/renderSizeProbe.mjs +174 -0
  933. package/renderers/checkboxRenderer/checkboxRenderer.js +9 -4
  934. package/renderers/checkboxRenderer/checkboxRenderer.mjs +9 -4
  935. package/renderers/index.d.ts +3 -2
  936. package/renderers/index.js +8 -0
  937. package/renderers/index.mjs +3 -1
  938. package/renderers/intlDatetimeRenderer/index.d.mts +1 -0
  939. package/renderers/intlDatetimeRenderer/index.d.ts +1 -0
  940. package/renderers/intlDatetimeRenderer/index.js +22 -0
  941. package/renderers/intlDatetimeRenderer/index.mjs +1 -0
  942. package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.d.mts +1 -0
  943. package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.d.ts +26 -0
  944. package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.js +82 -0
  945. package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.mjs +67 -0
  946. package/renderers/multiSelectRenderer/multiSelectRenderer.js +2 -3
  947. package/renderers/multiSelectRenderer/multiSelectRenderer.mjs +2 -3
  948. package/renderers/multiSelectRenderer/utils/utils.d.ts +1 -1
  949. package/renderers/multiSelectRenderer/utils/utils.js +11 -8
  950. package/renderers/multiSelectRenderer/utils/utils.mjs +11 -8
  951. package/renderers/renderCell.d.mts +1 -0
  952. package/renderers/renderCell.d.ts +37 -0
  953. package/renderers/renderCell.js +43 -0
  954. package/renderers/renderCell.mjs +48 -0
  955. package/selection/highlight/highlight.js +1 -3
  956. package/selection/highlight/highlight.mjs +1 -3
  957. package/selection/highlight/types/areaLayered.d.ts +3 -1
  958. package/selection/highlight/types/areaLayered.js +4 -2
  959. package/selection/highlight/types/areaLayered.mjs +6 -2
  960. package/selection/highlight/types/focus.d.ts +3 -1
  961. package/selection/highlight/types/focus.js +3 -2
  962. package/selection/highlight/types/focus.mjs +5 -2
  963. package/selection/mouseEventHandler.js +29 -26
  964. package/selection/mouseEventHandler.mjs +29 -26
  965. package/selection/moveCells.d.mts +1 -0
  966. package/selection/moveCells.d.ts +15 -0
  967. package/selection/moveCells.js +13 -0
  968. package/selection/moveCells.mjs +9 -0
  969. package/selection/selection.d.ts +56 -2
  970. package/selection/selection.js +162 -36
  971. package/selection/selection.mjs +154 -17
  972. package/selection/transformation/_base.js +5 -12
  973. package/selection/transformation/_base.mjs +5 -12
  974. package/selection/types.d.ts +3 -0
  975. package/settings.d.ts +24 -3
  976. package/shortcuts/context.d.ts +4 -0
  977. package/shortcuts/context.js +16 -8
  978. package/shortcuts/context.mjs +20 -8
  979. package/shortcuts/contexts/commands/populateSelectedCellsData.js +1 -1
  980. package/shortcuts/contexts/commands/populateSelectedCellsData.mjs +1 -1
  981. package/styles/handsontable.css +504 -158
  982. package/styles/handsontable.min.css +4 -4
  983. package/styles/handsontableStyles.js +1 -1
  984. package/styles/handsontableStyles.mjs +1 -1
  985. package/styles/ht-icons-horizon.css +1 -10
  986. package/styles/ht-icons-horizon.min.css +4 -4
  987. package/styles/ht-icons-main.css +1 -10
  988. package/styles/ht-icons-main.min.css +4 -4
  989. package/styles/ht-theme-classic-no-icons.css +6 -0
  990. package/styles/ht-theme-classic-no-icons.min.css +4 -4
  991. package/styles/ht-theme-classic.css +7 -10
  992. package/styles/ht-theme-classic.min.css +4 -4
  993. package/styles/ht-theme-horizon-no-icons.css +6 -0
  994. package/styles/ht-theme-horizon-no-icons.min.css +4 -4
  995. package/styles/ht-theme-horizon.css +7 -10
  996. package/styles/ht-theme-horizon.min.css +4 -4
  997. package/styles/ht-theme-main-no-icons.css +6 -0
  998. package/styles/ht-theme-main-no-icons.min.css +4 -4
  999. package/styles/ht-theme-main.css +7 -10
  1000. package/styles/ht-theme-main.min.css +4 -4
  1001. package/tableView.d.ts +17 -4
  1002. package/tableView.js +211 -53
  1003. package/tableView.mjs +212 -54
  1004. package/themes/engine/builder.js +5 -12
  1005. package/themes/engine/builder.mjs +5 -12
  1006. package/themes/engine/index.d.ts +2 -1
  1007. package/themes/engine/index.js +3 -0
  1008. package/themes/engine/index.mjs +1 -1
  1009. package/themes/engine/manager.d.ts +75 -3
  1010. package/themes/engine/manager.js +247 -18
  1011. package/themes/engine/manager.mjs +254 -18
  1012. package/themes/engine/utils/cssVariables.d.ts +18 -1
  1013. package/themes/engine/utils/cssVariables.js +27 -11
  1014. package/themes/engine/utils/cssVariables.mjs +28 -11
  1015. package/themes/engine/utils/validation.js +7 -0
  1016. package/themes/engine/utils/validation.mjs +7 -0
  1017. package/themes/static/variables/helpers/iconsMap.js +1 -6
  1018. package/themes/static/variables/helpers/iconsMap.mjs +1 -6
  1019. package/themes/static/variables/tokens/classic.js +6 -0
  1020. package/themes/static/variables/tokens/classic.mjs +6 -0
  1021. package/themes/static/variables/tokens/horizon.js +6 -0
  1022. package/themes/static/variables/tokens/horizon.mjs +6 -0
  1023. package/themes/static/variables/tokens/main.js +6 -0
  1024. package/themes/static/variables/tokens/main.mjs +6 -0
  1025. package/themes/types.d.ts +1 -1
  1026. package/translations/changesObservable/observable.js +4 -9
  1027. package/translations/changesObservable/observable.mjs +4 -9
  1028. package/translations/changesObservable/observer.js +4 -9
  1029. package/translations/changesObservable/observer.mjs +4 -9
  1030. package/translations/indexMapper.d.ts +14 -9
  1031. package/translations/indexMapper.js +109 -49
  1032. package/translations/indexMapper.mjs +109 -49
  1033. package/translations/mapCollections/aggregatedCollection.js +20 -35
  1034. package/translations/mapCollections/aggregatedCollection.mjs +20 -35
  1035. package/translations/mapCollections/mapCollection.d.ts +10 -4
  1036. package/translations/mapCollections/mapCollection.js +2 -2
  1037. package/translations/mapCollections/mapCollection.mjs +2 -2
  1038. package/translations/maps/booleanMap.d.mts +1 -0
  1039. package/translations/maps/booleanMap.d.ts +86 -0
  1040. package/translations/maps/booleanMap.js +293 -0
  1041. package/translations/maps/booleanMap.mjs +301 -0
  1042. package/translations/maps/hidingMap.d.ts +5 -2
  1043. package/translations/maps/hidingMap.js +8 -3
  1044. package/translations/maps/hidingMap.mjs +8 -3
  1045. package/translations/maps/index.d.ts +5 -2
  1046. package/translations/maps/index.js +7 -3
  1047. package/translations/maps/index.mjs +10 -2
  1048. package/translations/maps/indexMap.d.ts +26 -2
  1049. package/translations/maps/indexMap.js +73 -6
  1050. package/translations/maps/indexMap.mjs +73 -6
  1051. package/translations/maps/indexesSequence.d.ts +53 -2
  1052. package/translations/maps/indexesSequence.js +218 -3
  1053. package/translations/maps/indexesSequence.mjs +226 -3
  1054. package/translations/maps/trimmingMap.d.ts +5 -2
  1055. package/translations/maps/trimmingMap.js +8 -3
  1056. package/translations/maps/trimmingMap.mjs +8 -3
  1057. package/translations/maps/utils/actionsOnIndexes.js +20 -1
  1058. package/translations/maps/utils/actionsOnIndexes.mjs +20 -1
  1059. package/translations/maps/utils/indexesSequence.js +12 -3
  1060. package/translations/maps/utils/indexesSequence.mjs +12 -3
  1061. package/translations/maps/utils/physicallyIndexed.js +12 -1
  1062. package/translations/maps/utils/physicallyIndexed.mjs +12 -1
  1063. package/utils/entitlementLicenseKey/classify.d.mts +1 -0
  1064. package/utils/entitlementLicenseKey/classify.d.ts +34 -0
  1065. package/utils/entitlementLicenseKey/classify.js +97 -0
  1066. package/utils/entitlementLicenseKey/classify.mjs +96 -0
  1067. package/utils/entitlementLicenseKey/constants.d.mts +1 -0
  1068. package/utils/entitlementLicenseKey/constants.d.ts +69 -0
  1069. package/utils/entitlementLicenseKey/constants.js +54 -0
  1070. package/utils/entitlementLicenseKey/constants.mjs +66 -0
  1071. package/utils/entitlementLicenseKey/detectFormat.d.mts +1 -0
  1072. package/utils/entitlementLicenseKey/detectFormat.d.ts +23 -0
  1073. package/utils/entitlementLicenseKey/detectFormat.js +60 -0
  1074. package/utils/entitlementLicenseKey/detectFormat.mjs +60 -0
  1075. package/utils/entitlementLicenseKey/encoding.d.mts +1 -0
  1076. package/utils/entitlementLicenseKey/encoding.d.ts +58 -0
  1077. package/utils/entitlementLicenseKey/encoding.js +161 -0
  1078. package/utils/entitlementLicenseKey/encoding.mjs +172 -0
  1079. package/utils/entitlementLicenseKey/extractKeyData.d.mts +1 -0
  1080. package/utils/entitlementLicenseKey/extractKeyData.d.ts +47 -0
  1081. package/utils/entitlementLicenseKey/extractKeyData.js +213 -0
  1082. package/utils/entitlementLicenseKey/extractKeyData.mjs +232 -0
  1083. package/utils/entitlementLicenseKey/grants.d.mts +1 -0
  1084. package/utils/entitlementLicenseKey/grants.d.ts +54 -0
  1085. package/utils/entitlementLicenseKey/grants.js +68 -0
  1086. package/utils/entitlementLicenseKey/grants.mjs +84 -0
  1087. package/utils/entitlementLicenseKey/index.d.mts +1 -0
  1088. package/utils/entitlementLicenseKey/index.d.ts +8 -0
  1089. package/utils/entitlementLicenseKey/index.js +53 -0
  1090. package/utils/entitlementLicenseKey/index.mjs +6 -0
  1091. package/utils/entitlementLicenseKey/sha512.d.mts +1 -0
  1092. package/utils/entitlementLicenseKey/sha512.d.ts +11 -0
  1093. package/utils/entitlementLicenseKey/sha512.js +328 -0
  1094. package/utils/entitlementLicenseKey/sha512.mjs +327 -0
  1095. package/utils/entitlementLicenseKey/types.d.mts +1 -0
  1096. package/utils/entitlementLicenseKey/types.d.ts +84 -0
  1097. package/utils/entitlementLicenseKey/types.js +8 -0
  1098. package/utils/entitlementLicenseKey/types.mjs +10 -0
  1099. package/utils/ghostTable.d.ts +1 -0
  1100. package/utils/ghostTable.js +58 -11
  1101. package/utils/ghostTable.mjs +58 -11
  1102. package/utils/interval.js +5 -12
  1103. package/utils/interval.mjs +5 -12
  1104. package/utils/licenseBranding/badge.d.mts +1 -0
  1105. package/utils/licenseBranding/badge.d.ts +21 -0
  1106. package/utils/licenseBranding/badge.js +237 -0
  1107. package/utils/licenseBranding/badge.mjs +244 -0
  1108. package/utils/licenseBranding/content.d.mts +1 -0
  1109. package/utils/licenseBranding/content.d.ts +54 -0
  1110. package/utils/licenseBranding/content.js +93 -0
  1111. package/utils/licenseBranding/content.mjs +79 -0
  1112. package/utils/licenseBranding/index.d.mts +1 -0
  1113. package/utils/licenseBranding/index.d.ts +14 -0
  1114. package/utils/licenseBranding/index.js +55 -0
  1115. package/utils/licenseBranding/index.mjs +56 -0
  1116. package/utils/licenseBranding/lockScreen.d.mts +1 -0
  1117. package/utils/licenseBranding/lockScreen.d.ts +23 -0
  1118. package/utils/licenseBranding/lockScreen.js +150 -0
  1119. package/utils/licenseBranding/lockScreen.mjs +159 -0
  1120. package/utils/licenseNotification.d.ts +19 -0
  1121. package/utils/licenseNotification.js +56 -29
  1122. package/utils/licenseNotification.mjs +61 -29
  1123. package/utils/movableMeta.d.mts +1 -0
  1124. package/utils/movableMeta.d.ts +40 -0
  1125. package/utils/movableMeta.js +47 -0
  1126. package/utils/movableMeta.mjs +46 -0
  1127. package/utils/parseTable.js +1 -1
  1128. package/utils/parseTable.mjs +1 -1
  1129. package/utils/samplesGenerator.d.ts +41 -14
  1130. package/utils/samplesGenerator.js +112 -42
  1131. package/utils/samplesGenerator.mjs +112 -42
  1132. package/utils/stylesHandler.d.ts +13 -0
  1133. package/utils/stylesHandler.js +60 -14
  1134. package/utils/stylesHandler.mjs +60 -14
  1135. package/validators/autocompleteValidator/autocompleteValidator.js +3 -0
  1136. package/validators/autocompleteValidator/autocompleteValidator.mjs +3 -0
  1137. package/validators/index.d.ts +3 -2
  1138. package/validators/index.js +8 -0
  1139. package/validators/index.mjs +3 -1
  1140. package/validators/intlDatetimeValidator/index.d.mts +1 -0
  1141. package/validators/intlDatetimeValidator/index.d.ts +1 -0
  1142. package/validators/intlDatetimeValidator/index.js +25 -0
  1143. package/validators/intlDatetimeValidator/index.mjs +1 -0
  1144. package/validators/intlDatetimeValidator/intlDatetimeValidator.d.mts +1 -0
  1145. package/validators/intlDatetimeValidator/intlDatetimeValidator.d.ts +28 -0
  1146. package/validators/intlDatetimeValidator/intlDatetimeValidator.js +49 -0
  1147. package/validators/intlDatetimeValidator/intlDatetimeValidator.mjs +37 -0
  1148. package/3rdparty/walkontable/src/overlay/bottom.d.mts +0 -1
  1149. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.d.mts +0 -1
  1150. package/3rdparty/walkontable/src/overlay/inlineStart.d.mts +0 -1
  1151. package/3rdparty/walkontable/src/overlay/top.d.mts +0 -1
  1152. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.d.mts +0 -1
  1153. package/3rdparty/walkontable/src/overlays.d.ts +0 -329
  1154. package/3rdparty/walkontable/src/overlays.js +0 -870
  1155. package/3rdparty/walkontable/src/overlays.mjs +0 -860
  1156. package/3rdparty/walkontable/src/renderer/table.d.mts +0 -1
  1157. package/3rdparty/walkontable/src/renderer/table.js +0 -229
  1158. package/3rdparty/walkontable/src/settings.d.mts +0 -2
  1159. package/3rdparty/walkontable/src/settings.js +0 -196
  1160. package/3rdparty/walkontable/src/settings.mjs +0 -263
  1161. package/3rdparty/walkontable/src/table/bottom.d.mts +0 -2
  1162. package/3rdparty/walkontable/src/table/bottom.d.ts +0 -19
  1163. package/3rdparty/walkontable/src/table/bottom.js +0 -38
  1164. package/3rdparty/walkontable/src/table/bottom.mjs +0 -23
  1165. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.d.mts +0 -2
  1166. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.d.ts +0 -20
  1167. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +0 -24
  1168. package/3rdparty/walkontable/src/table/inlineStart.d.mts +0 -2
  1169. package/3rdparty/walkontable/src/table/inlineStart.d.ts +0 -16
  1170. package/3rdparty/walkontable/src/table/inlineStart.js +0 -35
  1171. package/3rdparty/walkontable/src/table/inlineStart.mjs +0 -20
  1172. package/3rdparty/walkontable/src/table/master.d.mts +0 -2
  1173. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.d.mts +0 -2
  1174. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.d.ts +0 -75
  1175. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -122
  1176. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -112
  1177. package/3rdparty/walkontable/src/table/mixin/calculatedRows.d.mts +0 -2
  1178. package/3rdparty/walkontable/src/table/mixin/calculatedRows.d.ts +0 -75
  1179. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -122
  1180. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -112
  1181. package/3rdparty/walkontable/src/table/top.d.mts +0 -2
  1182. package/3rdparty/walkontable/src/table/top.d.ts +0 -19
  1183. package/3rdparty/walkontable/src/table/top.js +0 -38
  1184. package/3rdparty/walkontable/src/table/top.mjs +0 -23
  1185. package/3rdparty/walkontable/src/table/topInlineStartCorner.d.mts +0 -2
  1186. package/3rdparty/walkontable/src/table/topInlineStartCorner.d.ts +0 -20
  1187. package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +0 -24
  1188. package/3rdparty/walkontable/src/table.d.mts +0 -2
  1189. package/3rdparty/walkontable/src/table.d.ts +0 -741
  1190. package/3rdparty/walkontable/src/table.js +0 -1120
  1191. package/3rdparty/walkontable/src/table.mjs +0 -1105
  1192. package/3rdparty/walkontable/src/utils/cellCoords.d.mts +0 -1
  1193. package/3rdparty/walkontable/src/utils/cellCoords.js +0 -54
  1194. package/3rdparty/walkontable/src/utils/cellCoords.mjs +0 -54
  1195. package/3rdparty/walkontable/src/utils/column.d.mts +0 -2
  1196. package/3rdparty/walkontable/src/utils/column.js +0 -75
  1197. package/3rdparty/walkontable/src/utils/column.mjs +0 -70
  1198. package/3rdparty/walkontable/src/utils/positionCache.d.mts +0 -1
  1199. package/3rdparty/walkontable/src/utils/positionCache.d.ts +0 -91
  1200. package/3rdparty/walkontable/src/utils/positionCache.js +0 -193
  1201. package/3rdparty/walkontable/src/utils/positionCache.mjs +0 -194
  1202. package/3rdparty/walkontable/src/utils/row.d.mts +0 -2
  1203. package/3rdparty/walkontable/src/utils/row.js +0 -46
  1204. package/3rdparty/walkontable/src/utils/row.mjs +0 -41
  1205. package/3rdparty/walkontable/src/viewport.d.ts +0 -254
  1206. package/3rdparty/walkontable/src/viewport.js +0 -533
  1207. package/3rdparty/walkontable/src/viewport.mjs +0 -523
  1208. /package/3rdparty/walkontable/src/{renderer → axisSizing/positionCache}/index.d.mts +0 -0
  1209. /package/3rdparty/walkontable/src/{overlays.d.mts → overlay/overlays.d.mts} +0 -0
  1210. /package/3rdparty/walkontable/src/overlay/{_base.d.mts → regions/_base.d.mts} +0 -0
  1211. /package/3rdparty/walkontable/src/{stickyScrollStrategy.d.mts → overlay/strategies/stickyScrollStrategy.d.mts} +0 -0
  1212. /package/3rdparty/walkontable/src/{renderer → render}/_base.d.mts +0 -0
  1213. /package/3rdparty/walkontable/src/{renderer → render}/_base.js +0 -0
  1214. /package/3rdparty/walkontable/src/{renderer → render}/_base.mjs +0 -0
  1215. /package/3rdparty/walkontable/src/{renderer → render}/cells.d.mts +0 -0
  1216. /package/3rdparty/walkontable/src/{renderer → render}/cells.d.ts +0 -0
  1217. /package/3rdparty/walkontable/src/{renderer → render}/colGroup.d.mts +0 -0
  1218. /package/3rdparty/walkontable/src/{renderer → render}/colGroup.d.ts +0 -0
  1219. /package/3rdparty/walkontable/src/{renderer → render}/colGroup.js +0 -0
  1220. /package/3rdparty/walkontable/src/{renderer → render}/colGroup.mjs +0 -0
  1221. /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.d.mts +0 -0
  1222. /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.d.ts +0 -0
  1223. /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.js +0 -0
  1224. /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.mjs +0 -0
  1225. /package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.d.mts +0 -0
  1226. /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.d.mts +0 -0
  1227. /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.d.ts +0 -0
  1228. /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.js +0 -0
  1229. /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.mjs +0 -0
  1230. /package/3rdparty/walkontable/src/{renderer → render}/rows.d.mts +0 -0
  1231. /package/3rdparty/walkontable/src/{renderer → render}/rows.d.ts +0 -0
  1232. /package/3rdparty/walkontable/src/{scroll.d.mts → scroll/scroll.d.mts} +0 -0
  1233. /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.d.mts +0 -0
  1234. /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.d.mts +0 -0
  1235. /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.js +0 -0
  1236. /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.mjs +0 -0
  1237. /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.d.mts +0 -0
  1238. /package/3rdparty/walkontable/src/{viewport.d.mts → viewport/viewport.d.mts} +0 -0
@@ -0,0 +1,550 @@
1
+ function _check_private_redeclaration(obj, privateCollection) {
2
+ if (privateCollection.has(obj)) {
3
+ throw new TypeError("Cannot initialize the same private elements twice on an object");
4
+ }
5
+ }
6
+ function _class_apply_descriptor_get(receiver, descriptor) {
7
+ if (descriptor.get) return descriptor.get.call(receiver);
8
+ return descriptor.value;
9
+ }
10
+ function _class_apply_descriptor_set(receiver, descriptor, value) {
11
+ if (descriptor.set) descriptor.set.call(receiver, value);
12
+ else {
13
+ if (!descriptor.writable) {
14
+ throw new TypeError("attempted to set read only private field");
15
+ }
16
+ descriptor.value = value;
17
+ }
18
+ }
19
+ function _class_extract_field_descriptor(receiver, privateMap, action) {
20
+ if (!privateMap.has(receiver)) throw new TypeError("attempted to " + action + " private field on non-instance");
21
+ return privateMap.get(receiver);
22
+ }
23
+ function _class_private_field_get(receiver, privateMap) {
24
+ var descriptor = _class_extract_field_descriptor(receiver, privateMap, "get");
25
+ return _class_apply_descriptor_get(receiver, descriptor);
26
+ }
27
+ function _class_private_field_init(obj, privateMap, value) {
28
+ _check_private_redeclaration(obj, privateMap);
29
+ privateMap.set(obj, value);
30
+ }
31
+ function _class_private_field_set(receiver, privateMap, value) {
32
+ var descriptor = _class_extract_field_descriptor(receiver, privateMap, "set");
33
+ _class_apply_descriptor_set(receiver, descriptor, value);
34
+ return value;
35
+ }
36
+ function _class_private_method_get(receiver, privateSet, fn) {
37
+ if (!privateSet.has(receiver)) throw new TypeError("attempted to get private field on non-instance");
38
+ return fn;
39
+ }
40
+ function _class_private_method_init(obj, privateSet) {
41
+ _check_private_redeclaration(obj, privateSet);
42
+ privateSet.add(obj);
43
+ }
44
+ import { getScrollableElement, isHTMLElement } from '../../../../../helpers/dom/element.mjs';
45
+ /**
46
+ * Assembles the ScrollSync's dependencies. Most come from the engine composition context; the ones
47
+ * that drive the owning Overlays coordinator (`refreshAll`/`registerListeners`/`eventManager`/the
48
+ * `destroyed` flag) and the sticky-scroll strategy (`tryActivate`/`syncOffsets`) come from the
49
+ * Overlays instance and its already-built `StickyScrollStrategy` — passed as callbacks so ScrollSync
50
+ * never imports either at runtime (only as a type), keeping the scroll slice free of an overlay cycle.
51
+ *
52
+ * @param {EngineContext} ctx The engine composition context.
53
+ * @param {Overlays} overlays The owning Overlays coordinator.
54
+ * @param {StickyScrollStrategy} stickyScroll The overlays' sticky-scroll strategy.
55
+ * @returns {object} The ScrollSync dependency set.
56
+ */ export function createScrollSyncDeps(ctx, overlays, stickyScroll) {
57
+ return {
58
+ wtSettings: ctx.wtSettings,
59
+ rootWindow: ctx.rootWindow,
60
+ geometryReader: ctx.geometryReader,
61
+ wtTable: ctx.getWtTable(),
62
+ getWtViewport: ctx.getWtViewport,
63
+ // Resolve the overlays off the owning coordinator (its own fields set by `initOverlays`), not via
64
+ // `ctx.getTopOverlay` (which reads `wot.wtOverlays`): `cacheScrollCallbackPositions` runs inside
65
+ // the Overlays constructor, before `wot.wtOverlays` is assigned. Matches the original direct
66
+ // `this.topOverlay` access.
67
+ getTopOverlay: ()=>overlays.topOverlay,
68
+ getInlineStartOverlay: ()=>overlays.inlineStartOverlay,
69
+ getBottomOverlay: ()=>overlays.bottomOverlay,
70
+ eventManager: overlays.eventManager,
71
+ getDestroyed: ()=>overlays.destroyed,
72
+ refreshAll: ()=>overlays.refreshAll(),
73
+ registerListeners: ()=>overlays.registerListeners(),
74
+ tryActivateStickyScroll: (verticalScrolling, horizontalScrolling)=>stickyScroll.tryActivate(verticalScrolling, horizontalScrolling),
75
+ syncStickyScrollOffsets: ()=>stickyScroll.syncOffsets()
76
+ };
77
+ }
78
+ var _deps = /*#__PURE__*/ new WeakMap(), /**
79
+ * The element that scrolls the table (the trimming container or the window).
80
+ *
81
+ * @type {HTMLElement | Window}
82
+ */ _scrollableElement = /*#__PURE__*/ new WeakMap(), /**
83
+ * Whether `#scrollableElement` was resolved while the table generated no boxes, which makes it an
84
+ * answer taken against nothing.
85
+ *
86
+ * Cleared by the first resolution pass that settles it, and also by a pass that gives up because the
87
+ * answer stopped changing – the two helpers behind it can disagree permanently. Covers the scrolling
88
+ * element only; the sizes measured in that state are tracked separately, by
89
+ * `#sizesMeasuredBeforeLayoutSettled`.
90
+ *
91
+ * @type {boolean}
92
+ */ _isScrollableElementProvisional = /*#__PURE__*/ new WeakMap(), /**
93
+ * The scrolling element the last non-settling resolution pass computed, so a pass that computes the
94
+ * same answer again can stop retrying.
95
+ *
96
+ * @type {HTMLElement | Window | null}
97
+ */ _lastProvisionalScrollableElement = /*#__PURE__*/ new WeakMap(), /**
98
+ * Whether the sizes measured before the layout settled still have to be dropped, which the next
99
+ * draw does on its way in. Stays set until a draw has rendered the cell band and re-measured them
100
+ * (`confirmSizesRemeasured`), so a draw whose `skipRender` hook cancels the render cannot spend it.
101
+ *
102
+ * @type {boolean}
103
+ */ _sizesMeasuredBeforeLayoutSettled = /*#__PURE__*/ new WeakMap(), /**
104
+ * Whether a drop has run and is still waiting for a draw to re-measure what it invalidated. The
105
+ * mark above is spent only while this is set, so a draw that renders the cells without having
106
+ * dropped anything cannot spend it – which is what an entry-fast draw that `createCalculators`
107
+ * escalates to a full render does: it passed the reset gate as a scroll draw and the render gate
108
+ * as a full one.
109
+ *
110
+ * @type {boolean}
111
+ */ _sizesAwaitingRemeasure = /*#__PURE__*/ new WeakMap(), /**
112
+ * Whether a vertical scroll happened in the current frame.
113
+ *
114
+ * @type {boolean}
115
+ */ _verticalScrolling = /*#__PURE__*/ new WeakMap(), /**
116
+ * Whether a horizontal scroll happened in the current frame.
117
+ *
118
+ * @type {boolean}
119
+ */ _horizontalScrolling = /*#__PURE__*/ new WeakMap(), /**
120
+ * The last synchronized horizontal scroll offset.
121
+ *
122
+ * @type {number}
123
+ */ _lastScrollX = /*#__PURE__*/ new WeakMap(), /**
124
+ * The last synchronized vertical scroll offset.
125
+ *
126
+ * @type {number}
127
+ */ _lastScrollY = /*#__PURE__*/ new WeakMap(), /**
128
+ * Whether any overlay's rendering state changed in the current draw (drives `syncScrollWithMaster`).
129
+ *
130
+ * @type {boolean}
131
+ */ _hasRenderingStateChanged = /*#__PURE__*/ new WeakMap(), /**
132
+ * Cached vertical scroll position used to deduplicate `onScrollVertically` callbacks.
133
+ *
134
+ * @type {number | null}
135
+ */ _lastVerticalScrollPositionForCallback = /*#__PURE__*/ new WeakMap(), /**
136
+ * Cached horizontal scroll position used to deduplicate `onScrollHorizontally` callbacks.
137
+ *
138
+ * @type {number | null}
139
+ */ _lastHorizontalScrollPositionForCallback = /*#__PURE__*/ new WeakMap(), /**
140
+ * Checks whether the vertical scroll position has changed since the last `onScrollVertically`
141
+ * callback and updates the cache. Returns `true` when the callback should fire.
142
+ *
143
+ * @returns {boolean}
144
+ */ _didVerticalScrollPositionChange = /*#__PURE__*/ new WeakSet(), /**
145
+ * Checks whether the horizontal scroll position has changed since the last `onScrollHorizontally`
146
+ * callback and updates the cache. Returns `true` when the callback should fire.
147
+ *
148
+ * @returns {boolean}
149
+ */ _didHorizontalScrollPositionChange = /*#__PURE__*/ new WeakSet(), /**
150
+ * Resolves the scrolling element and records whether the answer is provisional.
151
+ *
152
+ * A table outside the layout resolves every ancestor style to an empty declaration, which reads as
153
+ * "no ancestor clips or scrolls" and hands the whole grid to the window. A provisional answer is
154
+ * retaken on the next draw that finds the table rendered (see `Overlays#afterDraw`).
155
+ *
156
+ * Re-arming the flag starts a fresh series of retries, so the answer an earlier series gave up on
157
+ * is forgotten with it: `updateMainScrollableElements()` is public and `updateSettings` calls it
158
+ * whenever `height` moves to or from `''`, so a grid that already gave up while it was outside the
159
+ * layout would otherwise match its own stale answer on the first retry and give up again at once.
160
+ *
161
+ * @returns {HTMLElement | Window}
162
+ */ _takeScrollableElement = /*#__PURE__*/ new WeakSet(), /**
163
+ * Computes the element that scrolls the table: the master holder when the trimming container clips
164
+ * overflow, otherwise the nearest scrollable ancestor of the master TABLE.
165
+ *
166
+ * Answers the question and nothing else. Whether the answer is provisional is recorded by the
167
+ * callers, which is also where a provisional answer is acted on.
168
+ *
169
+ * @returns {HTMLElement | Window}
170
+ */ _computeScrollableElement = /*#__PURE__*/ new WeakSet();
171
+ /**
172
+ * Owns the scroll state shared across the overlays and the master<->clone scroll synchronization:
173
+ * which element scrolls the table (`scrollableElement`), the per-frame scroll-direction flags, the
174
+ * last scroll offsets, and the callback-position cache that deduplicates the `onScroll*` hooks.
175
+ *
176
+ * It reacts to a scroll event by mirroring the master scroll position onto the overlay clone holders
177
+ * (`syncScrollPositions`), pushes the master scroll position onto the clones after a rendering-state
178
+ * change (`syncScrollWithMaster`), and recomputes the scrollable element + re-binds listeners when
179
+ * the trimming container changes (`updateMainScrollableElements`).
180
+ *
181
+ * Extracted from the Overlays coordinator so the scroll-position lifecycle is self-contained; the
182
+ * coordinator keeps thin public delegates and get/set accessors for the state that its own draw
183
+ * participation and the whitebox tests rely on.
184
+ *
185
+ * @class ScrollSync
186
+ */ export class ScrollSync {
187
+ /**
188
+ * The element that scrolls the table.
189
+ *
190
+ * @returns {HTMLElement | Window}
191
+ */ get scrollableElement() {
192
+ return _class_private_field_get(this, _scrollableElement);
193
+ }
194
+ /**
195
+ * Whether the scrollable element was resolved against a table that had no layout at that moment,
196
+ * so the answer is provisional and has to be retaken once the table is rendered.
197
+ *
198
+ * @returns {boolean}
199
+ */ get isScrollableElementProvisional() {
200
+ return _class_private_field_get(this, _isScrollableElementProvisional);
201
+ }
202
+ /**
203
+ * Whether a vertical scroll happened in the current frame.
204
+ *
205
+ * @returns {boolean}
206
+ */ get verticalScrolling() {
207
+ return _class_private_field_get(this, _verticalScrolling);
208
+ }
209
+ /**
210
+ * @param {boolean} value Whether a vertical scroll happened in the current frame.
211
+ */ set verticalScrolling(value) {
212
+ _class_private_field_set(this, _verticalScrolling, value);
213
+ }
214
+ /**
215
+ * Whether a horizontal scroll happened in the current frame.
216
+ *
217
+ * @returns {boolean}
218
+ */ get horizontalScrolling() {
219
+ return _class_private_field_get(this, _horizontalScrolling);
220
+ }
221
+ /**
222
+ * @param {boolean} value Whether a horizontal scroll happened in the current frame.
223
+ */ set horizontalScrolling(value) {
224
+ _class_private_field_set(this, _horizontalScrolling, value);
225
+ }
226
+ /**
227
+ * Records whether any overlay's rendering state changed in the current draw. Set from the
228
+ * coordinator's `beforeDraw`; consumed by `syncScrollWithMaster`.
229
+ *
230
+ * @param {boolean} value Whether any overlay's rendering state changed.
231
+ */ setRenderingStateChanged(value) {
232
+ _class_private_field_set(this, _hasRenderingStateChanged, value);
233
+ }
234
+ /**
235
+ * Caches the initial vertical and horizontal scroll positions for callback deduplication.
236
+ */ cacheScrollCallbackPositions() {
237
+ _class_private_field_set(this, _lastVerticalScrollPositionForCallback, _class_private_field_get(this, _deps).getTopOverlay().getScrollPosition());
238
+ _class_private_field_set(this, _lastHorizontalScrollPositionForCallback, _class_private_field_get(this, _deps).getInlineStartOverlay().getScrollPosition());
239
+ }
240
+ /**
241
+ * Synchronize scroll position between master table and overlay table.
242
+ */ syncScrollPositions() {
243
+ if (_class_private_field_get(this, _deps).getDestroyed()) {
244
+ return;
245
+ }
246
+ const topOverlay = _class_private_field_get(this, _deps).getTopOverlay();
247
+ const inlineStartOverlay = _class_private_field_get(this, _deps).getInlineStartOverlay();
248
+ const bottomOverlay = _class_private_field_get(this, _deps).getBottomOverlay();
249
+ const wtViewport = _class_private_field_get(this, _deps).getWtViewport();
250
+ const { wtSettings } = _class_private_field_get(this, _deps);
251
+ const scrollableElement = _class_private_field_get(this, _scrollableElement);
252
+ const topHolder = topOverlay.clone?.wtTable.holder; // todo rethink
253
+ const leftHolder = inlineStartOverlay.clone?.wtTable.holder; // todo rethink
254
+ const preventOverflow = wtSettings.getSetting('preventOverflow');
255
+ let scrollX = scrollableElement instanceof HTMLElement ? scrollableElement.scrollLeft : 0;
256
+ let scrollY = scrollableElement instanceof HTMLElement ? scrollableElement.scrollTop : 0;
257
+ if (wtViewport.isHorizontallyScrollableByWindow() && (typeof preventOverflow === 'boolean' && preventOverflow || preventOverflow !== 'horizontal') && scrollableElement instanceof Window) {
258
+ scrollX = scrollableElement.scrollX;
259
+ }
260
+ if (wtViewport.isVerticallyScrollableByWindow() && (typeof preventOverflow === 'boolean' && preventOverflow || preventOverflow !== 'vertical') && scrollableElement instanceof Window) {
261
+ scrollY = scrollableElement.scrollY;
262
+ }
263
+ _class_private_field_set(this, _horizontalScrolling, _class_private_field_get(this, _lastScrollX) !== scrollX);
264
+ _class_private_field_set(this, _verticalScrolling, _class_private_field_get(this, _lastScrollY) !== scrollY);
265
+ _class_private_field_set(this, _lastScrollX, scrollX);
266
+ _class_private_field_set(this, _lastScrollY, scrollY);
267
+ _class_private_field_get(this, _deps).tryActivateStickyScroll(_class_private_field_get(this, _verticalScrolling), _class_private_field_get(this, _horizontalScrolling));
268
+ if (_class_private_field_get(this, _horizontalScrolling)) {
269
+ if (isHTMLElement(topHolder)) {
270
+ topHolder.scrollLeft = scrollX;
271
+ }
272
+ const bottomHolder = bottomOverlay.needFullRender ? bottomOverlay.clone?.wtTable.holder : null; // todo rethink
273
+ if (bottomHolder) {
274
+ bottomHolder.scrollLeft = scrollX;
275
+ }
276
+ }
277
+ if (_class_private_field_get(this, _verticalScrolling)) {
278
+ // In window-scroll mode the left overlay's row positions are driven by
279
+ // spreader.style.top; the holder must not accumulate scroll offset.
280
+ // Setting scrollTop to window.scrollY would be capped to the tiny
281
+ // hider/holder size difference caused by fractional zoom rounding,
282
+ // shifting the visible rows and misaligning them with the master table.
283
+ if (isHTMLElement(leftHolder)) {
284
+ if (wtViewport.isVerticallyScrollableByWindow()) {
285
+ leftHolder.scrollTop = 0;
286
+ } else {
287
+ leftHolder.scrollTop = scrollY;
288
+ }
289
+ }
290
+ }
291
+ _class_private_field_get(this, _deps).refreshAll();
292
+ _class_private_field_get(this, _deps).syncStickyScrollOffsets();
293
+ }
294
+ /**
295
+ * Fires the `onScroll*` overlay hooks when the scroll position changed since they last fired, then
296
+ * resets the per-frame scroll-direction flags. Called by the coordinator from `refreshAll`.
297
+ */ fireScrollCallbacksAndReset() {
298
+ if (_class_private_field_get(this, _verticalScrolling) && _class_private_method_get(this, _didVerticalScrollPositionChange, didVerticalScrollPositionChange).call(this)) {
299
+ _class_private_field_get(this, _deps).getInlineStartOverlay().onScroll(); // todo the inlineStartOverlay.onScroll() fires hook. Why is it needed there, not in any another place?
300
+ }
301
+ if (_class_private_field_get(this, _horizontalScrolling) && _class_private_method_get(this, _didHorizontalScrollPositionChange, didHorizontalScrollPositionChange).call(this)) {
302
+ _class_private_field_get(this, _deps).getTopOverlay().onScroll();
303
+ }
304
+ _class_private_field_set(this, _verticalScrolling, false);
305
+ _class_private_field_set(this, _horizontalScrolling, false);
306
+ }
307
+ /**
308
+ * Synchronize overlay scrollbars with the master scrollbar.
309
+ */ syncScrollWithMaster() {
310
+ if (!_class_private_field_get(this, _hasRenderingStateChanged)) {
311
+ return;
312
+ }
313
+ const topOverlay = _class_private_field_get(this, _deps).getTopOverlay();
314
+ const bottomOverlay = _class_private_field_get(this, _deps).getBottomOverlay();
315
+ const inlineStartOverlay = _class_private_field_get(this, _deps).getInlineStartOverlay();
316
+ const masterScrollable = topOverlay.mainTableScrollableElement;
317
+ if (!(masterScrollable instanceof HTMLElement)) {
318
+ return;
319
+ }
320
+ const { scrollLeft, scrollTop } = masterScrollable;
321
+ if (topOverlay.needFullRender && topOverlay.clone) {
322
+ topOverlay.clone.wtTable.holder.scrollLeft = scrollLeft; // todo rethink, *overlay.setScroll*()
323
+ }
324
+ if (bottomOverlay.needFullRender && bottomOverlay.clone) {
325
+ bottomOverlay.clone.wtTable.holder.scrollLeft = scrollLeft; // todo rethink, *overlay.setScroll*()
326
+ }
327
+ if (inlineStartOverlay.needFullRender && inlineStartOverlay.clone) {
328
+ inlineStartOverlay.clone.wtTable.holder.scrollTop = scrollTop; // todo rethink, *overlay.setScroll*()
329
+ }
330
+ _class_private_field_set(this, _hasRenderingStateChanged, false);
331
+ }
332
+ /**
333
+ * Drops the sizes measured before the layout settled, if `resolveProvisionalLayout()` found any.
334
+ *
335
+ * Called from `Overlays#beforeDraw`, so the draw that follows re-measures the row heights it just
336
+ * invalidated and resizes the elements from the results. Doing it the other way round – dropping
337
+ * the sizes and then asking for a redraw – leaves the row heights dropped for good whenever that
338
+ * redraw renders no cells.
339
+ *
340
+ * "Sizes" is the engine's own record of them: the oversized-row heights and the column-width
341
+ * prefix sum. A rebuilt width cache re-asks `wtTable.getColumnWidth`, so it re-enters
342
+ * `modifyColWidth` and `AutoColumnSize` answers from its own map – a width that plugin measured
343
+ * while the table had no layout is not dropped by this and outlives the settle. That gap is the
344
+ * narrow-container `AutoColumnSize` follow-up, filed separately.
345
+ *
346
+ * The mark is not spent here, because a draw that got this far can still render nothing: a
347
+ * `beforeDraw` hook that sets `skipRender` (NestedRows does this, and so can any user hook) cancels
348
+ * the cell render, and then `markOversizedRows` never runs to take the heights again. It is spent
349
+ * by `confirmSizesRemeasured()`, from the `afterDraw` of a draw that did render the band. The drop
350
+ * is idempotent, so repeating it on the next draw costs one invalidation.
351
+ */ resetSizesMeasuredBeforeLayoutSettled() {
352
+ if (!_class_private_field_get(this, _sizesMeasuredBeforeLayoutSettled)) {
353
+ return;
354
+ }
355
+ _class_private_field_set(this, _sizesAwaitingRemeasure, true);
356
+ const wtViewport = _class_private_field_get(this, _deps).getWtViewport();
357
+ wtViewport.resetAllOversizedRows();
358
+ wtViewport.invalidateColumnWidthCache();
359
+ }
360
+ /**
361
+ * Spends the mark left by `resolveProvisionalLayout()`, once a draw has rendered the cell band and
362
+ * therefore re-measured the sizes that `resetSizesMeasuredBeforeLayoutSettled()` dropped on its way
363
+ * in. Called from `Overlays#afterDraw`.
364
+ *
365
+ * A draw that rendered the cells without having dropped anything spends nothing: the two gates read
366
+ * different values of the same fast/full question (the reset gate reads it at draw entry, the render
367
+ * gate after `createCalculators` could downgrade it), so an escalated scroll draw satisfies the
368
+ * second without ever passing the first.
369
+ */ confirmSizesRemeasured() {
370
+ if (!_class_private_field_get(this, _sizesAwaitingRemeasure)) {
371
+ return;
372
+ }
373
+ _class_private_field_set(this, _sizesAwaitingRemeasure, false);
374
+ _class_private_field_set(this, _sizesMeasuredBeforeLayoutSettled, false);
375
+ }
376
+ /**
377
+ * Settles the layout decisions and measurements of a table that was constructed while it had no
378
+ * layout – most often a light-DOM child of a shadow host whose `<slot>` renders later, or a subtree
379
+ * assembled before it was appended to the document. Such a table reads every ancestor style as an
380
+ * empty declaration and measures every size against nothing, so two things are wrong at once:
381
+ * the scrollable element resolves to the window, and the row heights and column widths describe a
382
+ * layout the table never had.
383
+ *
384
+ * Runs from the `afterDraw` of a full draw, so the overlays have already refreshed their trimming
385
+ * containers and the holder has its final overflow; in `beforeDraw`, and on a fast draw that never
386
+ * aligned the overlays at all, both are still stale and the scrollable element would settle on the
387
+ * window again. While the answer is still the window even though an element
388
+ * trims the table, the layout has not settled yet and the pass is retried on the next draw – but
389
+ * only while the answer keeps changing. `getTrimmingContainer` counts `overflow: hidden` and
390
+ * `getScrollableElement` does not, so the two can disagree permanently, and a table in an iframe
391
+ * driven from the parent realm does exactly that: `MasterTable#alignOverlaysWithTrimmingContainer`
392
+ * misses it with a realm-bound `instanceof` and leaves the holder `overflow: visible`. Retrying
393
+ * such a table forever would rebind every listener on every draw.
394
+ *
395
+ * Once it does settle, the sizes measured before it are marked for dropping, which the next draw
396
+ * does on its way in (`resetSizesMeasuredBeforeLayoutSettled`). Left in place they survive until
397
+ * something else redraws the grid, which is what made it fill short of its container and look like
398
+ * it needed a click to finish loading (DEV-2515).
399
+ */ resolveProvisionalLayout() {
400
+ if (!_class_private_field_get(this, _isScrollableElementProvisional) || !_class_private_field_get(this, _deps).geometryReader.isRendered(_class_private_field_get(this, _deps).wtTable.wtRootElement)) {
401
+ return;
402
+ }
403
+ const { rootWindow } = _class_private_field_get(this, _deps);
404
+ const scrollableElement = _class_private_method_get(this, _computeScrollableElement, computeScrollableElement).call(this);
405
+ const settles = scrollableElement !== rootWindow || _class_private_field_get(this, _deps).getTopOverlay().trimmingContainer === rootWindow;
406
+ if (!settles) {
407
+ // The answer is checked before anything is rebound, so a pass that cannot settle costs one
408
+ // style read. Retry only while the answer keeps changing: a repeated answer is what a
409
+ // permanent disagreement between the two helpers looks like, and rebinding the listeners on
410
+ // every draw would drop every in-flight scroll event for the instance's life.
411
+ _class_private_field_set(this, _isScrollableElementProvisional, scrollableElement !== _class_private_field_get(this, _lastProvisionalScrollableElement));
412
+ _class_private_field_set(this, _lastProvisionalScrollableElement, scrollableElement);
413
+ return;
414
+ }
415
+ this.updateMainScrollableElements();
416
+ // The sizes are not dropped here. Dropping them after a draw leaves them dropped: the follow-up
417
+ // is a redraw request, and a draw that re-renders nothing never re-runs `markOversizedRows`, so
418
+ // the row heights this pass invalidated would never be taken again. The next draw drops them on
419
+ // its way in instead, so reset, re-measure and resize run in the order the draw cycle documents.
420
+ _class_private_field_set(this, _sizesMeasuredBeforeLayoutSettled, true);
421
+ // No redraw is requested from here. The flag stays set until a draw consumes it, and settling
422
+ // means the root element went from no layout to a layout, which is a size change the grid already
423
+ // observes and redraws for. Forcing a draw from this frame instead measures a DOM whose column
424
+ // widths have not settled: it records row heights for rows that leave the band on the next draw,
425
+ // and those records survive – measured as 6 rendered rows and 56px of dead space where 9 rows
426
+ // belong.
427
+ }
428
+ /**
429
+ * Update the main scrollable elements for all the overlays.
430
+ */ updateMainScrollableElements() {
431
+ _class_private_field_get(this, _deps).eventManager.clearEvents(true);
432
+ _class_private_field_get(this, _deps).getInlineStartOverlay().updateMainScrollableElement();
433
+ _class_private_field_get(this, _deps).getTopOverlay().updateMainScrollableElement();
434
+ if (_class_private_field_get(this, _deps).getBottomOverlay().needFullRender) {
435
+ _class_private_field_get(this, _deps).getBottomOverlay().updateMainScrollableElement();
436
+ }
437
+ _class_private_field_set(this, _scrollableElement, _class_private_method_get(this, _takeScrollableElement, takeScrollableElement).call(this));
438
+ _class_private_field_get(this, _deps).registerListeners();
439
+ }
440
+ /**
441
+ * @param {ScrollSyncDeps} deps The ScrollSync dependencies.
442
+ */ constructor(deps){
443
+ _class_private_method_init(this, _didVerticalScrollPositionChange);
444
+ _class_private_method_init(this, _didHorizontalScrollPositionChange);
445
+ _class_private_method_init(this, _takeScrollableElement);
446
+ _class_private_method_init(this, _computeScrollableElement);
447
+ /**
448
+ * The ScrollSync dependencies.
449
+ *
450
+ * @type {ScrollSyncDeps}
451
+ */ _class_private_field_init(this, _deps, {
452
+ writable: true,
453
+ value: void 0
454
+ });
455
+ _class_private_field_init(this, _scrollableElement, {
456
+ writable: true,
457
+ value: void 0
458
+ });
459
+ _class_private_field_init(this, _isScrollableElementProvisional, {
460
+ writable: true,
461
+ value: void 0
462
+ });
463
+ _class_private_field_init(this, _lastProvisionalScrollableElement, {
464
+ writable: true,
465
+ value: void 0
466
+ });
467
+ _class_private_field_init(this, _sizesMeasuredBeforeLayoutSettled, {
468
+ writable: true,
469
+ value: void 0
470
+ });
471
+ _class_private_field_init(this, _sizesAwaitingRemeasure, {
472
+ writable: true,
473
+ value: void 0
474
+ });
475
+ _class_private_field_init(this, _verticalScrolling, {
476
+ writable: true,
477
+ value: void 0
478
+ });
479
+ _class_private_field_init(this, _horizontalScrolling, {
480
+ writable: true,
481
+ value: void 0
482
+ });
483
+ _class_private_field_init(this, _lastScrollX, {
484
+ writable: true,
485
+ value: void 0
486
+ });
487
+ _class_private_field_init(this, _lastScrollY, {
488
+ writable: true,
489
+ value: void 0
490
+ });
491
+ _class_private_field_init(this, _hasRenderingStateChanged, {
492
+ writable: true,
493
+ value: void 0
494
+ });
495
+ _class_private_field_init(this, _lastVerticalScrollPositionForCallback, {
496
+ writable: true,
497
+ value: void 0
498
+ });
499
+ _class_private_field_init(this, _lastHorizontalScrollPositionForCallback, {
500
+ writable: true,
501
+ value: void 0
502
+ });
503
+ _class_private_field_set(this, _isScrollableElementProvisional, false);
504
+ _class_private_field_set(this, _lastProvisionalScrollableElement, null);
505
+ _class_private_field_set(this, _sizesMeasuredBeforeLayoutSettled, false);
506
+ _class_private_field_set(this, _sizesAwaitingRemeasure, false);
507
+ _class_private_field_set(this, _verticalScrolling, false);
508
+ _class_private_field_set(this, _horizontalScrolling, false);
509
+ _class_private_field_set(this, _hasRenderingStateChanged, false);
510
+ _class_private_field_set(this, _lastVerticalScrollPositionForCallback, null);
511
+ _class_private_field_set(this, _lastHorizontalScrollPositionForCallback, null);
512
+ _class_private_field_set(this, _deps, deps);
513
+ _class_private_field_set(this, _scrollableElement, _class_private_method_get(this, _takeScrollableElement, takeScrollableElement).call(this));
514
+ _class_private_field_set(this, _lastScrollX, _class_private_field_get(this, _deps).rootWindow.scrollX);
515
+ _class_private_field_set(this, _lastScrollY, _class_private_field_get(this, _deps).rootWindow.scrollY);
516
+ }
517
+ }
518
+ function didVerticalScrollPositionChange() {
519
+ const current = _class_private_field_get(this, _deps).getTopOverlay().getScrollPosition();
520
+ if (_class_private_field_get(this, _lastVerticalScrollPositionForCallback) === current) {
521
+ return false;
522
+ }
523
+ _class_private_field_set(this, _lastVerticalScrollPositionForCallback, current);
524
+ return true;
525
+ }
526
+ function didHorizontalScrollPositionChange() {
527
+ const current = _class_private_field_get(this, _deps).getInlineStartOverlay().getScrollPosition();
528
+ if (_class_private_field_get(this, _lastHorizontalScrollPositionForCallback) === current) {
529
+ return false;
530
+ }
531
+ _class_private_field_set(this, _lastHorizontalScrollPositionForCallback, current);
532
+ return true;
533
+ }
534
+ function takeScrollableElement() {
535
+ const { wtTable, geometryReader } = _class_private_field_get(this, _deps);
536
+ _class_private_field_set(this, _isScrollableElementProvisional, !geometryReader.isRendered(wtTable.wtRootElement));
537
+ _class_private_field_set(this, _lastProvisionalScrollableElement, null);
538
+ return _class_private_method_get(this, _computeScrollableElement, computeScrollableElement).call(this);
539
+ }
540
+ function computeScrollableElement() {
541
+ const { wtTable, geometryReader } = _class_private_field_get(this, _deps);
542
+ const tableParentNode = wtTable.wtRootElement.parentNode;
543
+ // Use nodeType === 1 instead of instanceof Element so the check works across realms (iframes).
544
+ // Falls back to getScrollableElement when there is no element parent (null or detached).
545
+ const isOverflowClip = tableParentNode !== null && tableParentNode.nodeType === 1 && (()=>{
546
+ const overflow = geometryReader.getComputedStyle(tableParentNode).getPropertyValue('overflow');
547
+ return overflow === 'hidden' || overflow === 'clip';
548
+ })();
549
+ return isOverflowClip ? wtTable.holder : getScrollableElement(wtTable.TABLE);
550
+ }
@@ -0,0 +1 @@
1
+ export * from './spreaderSize.js';
@@ -0,0 +1,67 @@
1
+ import type { EngineContext } from '../wire';
2
+ import type { default as Overlays } from './overlays';
3
+ /**
4
+ * Assembles the SpreaderSize's dependencies. Most come from the engine composition context; the
5
+ * scrollable element is resolved through the owning Overlays instance (it is computed there and can
6
+ * change on `updateSettings`), so it is read via a thunk rather than captured.
7
+ *
8
+ * @param {EngineContext} ctx The engine composition context.
9
+ * @param {Overlays} overlays The owning Overlays coordinator.
10
+ * @returns {object} The SpreaderSize dependency set.
11
+ */
12
+ export declare function createSpreaderSizeDeps(ctx: EngineContext, overlays: Overlays): {
13
+ wtSettings: import("../settings").default;
14
+ rootWindow: Window;
15
+ geometryReader: import("../domMeasure/geometryReader").GeometryReader;
16
+ wtTable: import("../table/baseTable").default;
17
+ getWtViewport: () => import("../viewport/viewport").default;
18
+ getTopOverlay: () => import(".").Overlay;
19
+ getInlineStartOverlay: () => import(".").Overlay;
20
+ getBottomOverlay: () => import(".").Overlay;
21
+ getScrollableElement: () => HTMLElement | Window;
22
+ };
23
+ /**
24
+ * The SpreaderSize dependencies, inferred from `createSpreaderSizeDeps`.
25
+ */
26
+ export type SpreaderSizeDeps = ReturnType<typeof createSpreaderSizeDeps>;
27
+ /**
28
+ * Owns the master hider/spreader sizing math: it computes the hider's width/height from the summed
29
+ * cell sizes (plus the header sizes and the border compensations), writes them to the DOM, and then
30
+ * delegates to the top/inline-start/bottom overlays to size their own elements. It also caches the
31
+ * last measured spreader size so the coordinator can skip a redundant resize when nothing changed.
32
+ *
33
+ * Extracted from the Overlays coordinator so the sizing lifecycle is self-contained; the coordinator
34
+ * keeps thin public `adjustElementsSize`/`updateLastSpreaderSize`/`expandHider*` delegates because
35
+ * those are part of the public overlay API.
36
+ *
37
+ * @class SpreaderSize
38
+ */
39
+ export declare class SpreaderSize {
40
+ #private;
41
+ /**
42
+ * @param {SpreaderSizeDeps} deps The SpreaderSize dependencies.
43
+ */
44
+ constructor(deps: SpreaderSizeDeps);
45
+ /**
46
+ * Update the last cached spreader size with the current size.
47
+ *
48
+ * @returns {boolean} `true` if the lastSize cache was updated, `false` otherwise.
49
+ */
50
+ updateLastSpreaderSize(): boolean;
51
+ /**
52
+ * Adjust overlays elements size and master table size.
53
+ */
54
+ adjustElementsSize(): void;
55
+ /**
56
+ * Expand the hider vertically element by the provided delta value.
57
+ *
58
+ * @param {number} heightDelta The delta value to expand the hider element by.
59
+ */
60
+ expandHiderVerticallyBy(heightDelta: number): void;
61
+ /**
62
+ * Expand the hider horizontally element by the provided delta value.
63
+ *
64
+ * @param {number} widthDelta The delta value to expand the hider element by.
65
+ */
66
+ expandHiderHorizontallyBy(widthDelta: number): void;
67
+ }