handsontable 18.0.0 → 18.1.0-rc11

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 (1130) hide show
  1. package/3rdparty/walkontable/src/axisSizing/axisSizeSource.d.mts +1 -0
  2. package/3rdparty/walkontable/src/axisSizing/axisSizeSource.d.ts +55 -0
  3. package/3rdparty/walkontable/src/axisSizing/axisSizeSource.js +15 -0
  4. package/3rdparty/walkontable/src/axisSizing/axisSizeSource.mjs +14 -0
  5. package/3rdparty/walkontable/src/axisSizing/boxModel.d.mts +1 -0
  6. package/3rdparty/walkontable/src/axisSizing/boxModel.d.ts +32 -0
  7. package/3rdparty/walkontable/src/axisSizing/boxModel.js +45 -0
  8. package/3rdparty/walkontable/src/axisSizing/boxModel.mjs +33 -0
  9. package/3rdparty/walkontable/src/axisSizing/columnUtils.d.mts +2 -0
  10. package/3rdparty/walkontable/src/{utils/column.d.ts → axisSizing/columnUtils.d.ts} +12 -10
  11. package/3rdparty/walkontable/src/axisSizing/columnUtils.js +147 -0
  12. package/3rdparty/walkontable/src/axisSizing/columnUtils.mjs +142 -0
  13. package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.d.mts +1 -0
  14. package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.d.ts +58 -0
  15. package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.js +129 -0
  16. package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.mjs +119 -0
  17. package/3rdparty/walkontable/src/axisSizing/oversizedRows.d.mts +1 -0
  18. package/3rdparty/walkontable/src/axisSizing/oversizedRows.d.ts +162 -0
  19. package/3rdparty/walkontable/src/axisSizing/oversizedRows.js +424 -0
  20. package/3rdparty/walkontable/src/axisSizing/oversizedRows.mjs +522 -0
  21. package/3rdparty/walkontable/src/axisSizing/positionCache/index.d.ts +130 -0
  22. package/3rdparty/walkontable/src/axisSizing/positionCache/index.js +256 -0
  23. package/3rdparty/walkontable/src/axisSizing/positionCache/index.mjs +262 -0
  24. package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.d.mts +1 -0
  25. package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.d.ts +51 -0
  26. package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.js +121 -0
  27. package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.mjs +117 -0
  28. package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.d.mts +1 -0
  29. package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.d.ts +53 -0
  30. package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.js +206 -0
  31. package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.mjs +203 -0
  32. package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.d.mts +1 -0
  33. package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.d.ts +53 -0
  34. package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.js +40 -0
  35. package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.mjs +41 -0
  36. package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.d.mts +1 -0
  37. package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.d.ts +47 -0
  38. package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.js +121 -0
  39. package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.mjs +115 -0
  40. package/3rdparty/walkontable/src/axisSizing/rowUtils.d.mts +2 -0
  41. package/3rdparty/walkontable/src/{utils/row.d.ts → axisSizing/rowUtils.d.ts} +11 -9
  42. package/3rdparty/walkontable/src/axisSizing/rowUtils.js +111 -0
  43. package/3rdparty/walkontable/src/axisSizing/rowUtils.mjs +106 -0
  44. package/3rdparty/walkontable/src/axisSizing/sizeGetters.d.mts +2 -0
  45. package/3rdparty/walkontable/src/axisSizing/sizeGetters.d.ts +84 -0
  46. package/3rdparty/walkontable/src/axisSizing/sizeGetters.js +102 -0
  47. package/3rdparty/walkontable/src/axisSizing/sizeGetters.mjs +92 -0
  48. package/3rdparty/walkontable/src/calculator/axisCalculation.d.ts +1 -1
  49. package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.d.ts +10 -0
  50. package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.js +10 -1
  51. package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +10 -1
  52. package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.d.ts +9 -0
  53. package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +9 -1
  54. package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +9 -1
  55. package/3rdparty/walkontable/src/calculator/viewportColumns.d.ts +1 -1
  56. package/3rdparty/walkontable/src/calculator/viewportRows.d.ts +1 -1
  57. package/3rdparty/walkontable/src/cell/range.d.ts +10 -0
  58. package/3rdparty/walkontable/src/cell/range.js +14 -3
  59. package/3rdparty/walkontable/src/cell/range.mjs +11 -0
  60. package/3rdparty/walkontable/src/core/_base.d.ts +21 -21
  61. package/3rdparty/walkontable/src/core/_base.js +58 -147
  62. package/3rdparty/walkontable/src/core/_base.mjs +17 -147
  63. package/3rdparty/walkontable/src/core/clone.d.ts +4 -14
  64. package/3rdparty/walkontable/src/core/clone.js +51 -5
  65. package/3rdparty/walkontable/src/core/clone.mjs +10 -5
  66. package/3rdparty/walkontable/src/core/core.d.ts +1 -5
  67. package/3rdparty/walkontable/src/core/core.js +52 -47
  68. package/3rdparty/walkontable/src/core/core.mjs +12 -48
  69. package/3rdparty/walkontable/src/domMeasure/geometryReader.d.mts +1 -0
  70. package/3rdparty/walkontable/src/domMeasure/geometryReader.d.ts +172 -0
  71. package/3rdparty/walkontable/src/domMeasure/geometryReader.js +19 -0
  72. package/3rdparty/walkontable/src/domMeasure/geometryReader.mjs +16 -0
  73. package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.d.mts +1 -0
  74. package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.d.ts +134 -0
  75. package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.js +200 -0
  76. package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.mjs +198 -0
  77. package/3rdparty/walkontable/src/event.d.ts +42 -12
  78. package/3rdparty/walkontable/src/event.js +262 -228
  79. package/3rdparty/walkontable/src/event.mjs +260 -227
  80. package/3rdparty/walkontable/src/facade/core.d.ts +6 -6
  81. package/3rdparty/walkontable/src/index.d.ts +1 -1
  82. package/3rdparty/walkontable/src/index.js +2 -2
  83. package/3rdparty/walkontable/src/index.mjs +1 -1
  84. package/3rdparty/walkontable/src/overlay/index.d.ts +6 -6
  85. package/3rdparty/walkontable/src/overlay/index.js +11 -11
  86. package/3rdparty/walkontable/src/overlay/index.mjs +6 -6
  87. package/3rdparty/walkontable/src/overlay/overlays.d.ts +375 -0
  88. package/3rdparty/walkontable/src/overlay/overlays.js +612 -0
  89. package/3rdparty/walkontable/src/overlay/overlays.mjs +601 -0
  90. package/3rdparty/walkontable/src/overlay/{_base.d.ts → regions/_base.d.ts} +65 -16
  91. package/3rdparty/walkontable/src/overlay/{_base.js → regions/_base.js} +160 -50
  92. package/3rdparty/walkontable/src/overlay/{_base.mjs → regions/_base.mjs} +163 -47
  93. package/3rdparty/walkontable/src/overlay/regions/bottomInlineStartCornerOverlay.d.mts +1 -0
  94. package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.d.ts → regions/bottomInlineStartCornerOverlay.d.ts} +5 -10
  95. package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.js → regions/bottomInlineStartCornerOverlay.js} +18 -20
  96. package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.mjs → regions/bottomInlineStartCornerOverlay.mjs} +18 -20
  97. package/3rdparty/walkontable/src/overlay/regions/bottomOverlay.d.mts +1 -0
  98. package/3rdparty/walkontable/src/overlay/{bottom.d.ts → regions/bottomOverlay.d.ts} +16 -11
  99. package/3rdparty/walkontable/src/overlay/{bottom.js → regions/bottomOverlay.js} +113 -66
  100. package/3rdparty/walkontable/src/overlay/{bottom.mjs → regions/bottomOverlay.mjs} +113 -66
  101. package/3rdparty/walkontable/src/overlay/regions/inlineStartOverlay.d.mts +1 -0
  102. package/3rdparty/walkontable/src/overlay/{inlineStart.d.ts → regions/inlineStartOverlay.d.ts} +17 -11
  103. package/3rdparty/walkontable/src/overlay/{inlineStart.js → regions/inlineStartOverlay.js} +122 -67
  104. package/3rdparty/walkontable/src/overlay/{inlineStart.mjs → regions/inlineStartOverlay.mjs} +122 -67
  105. package/3rdparty/walkontable/src/overlay/regions/topInlineStartCornerOverlay.d.mts +1 -0
  106. package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.d.ts → regions/topInlineStartCornerOverlay.d.ts} +5 -10
  107. package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.js → regions/topInlineStartCornerOverlay.js} +13 -16
  108. package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.mjs → regions/topInlineStartCornerOverlay.mjs} +13 -16
  109. package/3rdparty/walkontable/src/overlay/regions/topOverlay.d.mts +1 -0
  110. package/3rdparty/walkontable/src/overlay/{top.d.ts → regions/topOverlay.d.ts} +32 -11
  111. package/3rdparty/walkontable/src/overlay/{top.js → regions/topOverlay.js} +163 -77
  112. package/3rdparty/walkontable/src/overlay/{top.mjs → regions/topOverlay.mjs} +163 -77
  113. package/3rdparty/walkontable/src/overlay/resizeMonitor.d.mts +1 -0
  114. package/3rdparty/walkontable/src/overlay/resizeMonitor.d.ts +49 -0
  115. package/3rdparty/walkontable/src/overlay/resizeMonitor.js +154 -0
  116. package/3rdparty/walkontable/src/overlay/resizeMonitor.mjs +153 -0
  117. package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.d.mts +1 -0
  118. package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.d.ts +62 -0
  119. package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.js +290 -0
  120. package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.mjs +295 -0
  121. package/3rdparty/walkontable/src/overlay/scroll/scrollSync.d.mts +1 -0
  122. package/3rdparty/walkontable/src/overlay/scroll/scrollSync.d.ts +176 -0
  123. package/3rdparty/walkontable/src/overlay/scroll/scrollSync.js +549 -0
  124. package/3rdparty/walkontable/src/overlay/scroll/scrollSync.mjs +557 -0
  125. package/3rdparty/walkontable/src/overlay/spreaderSize.d.mts +1 -0
  126. package/3rdparty/walkontable/src/overlay/spreaderSize.d.ts +67 -0
  127. package/3rdparty/walkontable/src/overlay/spreaderSize.js +178 -0
  128. package/3rdparty/walkontable/src/overlay/spreaderSize.mjs +179 -0
  129. package/3rdparty/walkontable/src/{stickyScrollStrategy.d.ts → overlay/strategies/stickyScrollStrategy.d.ts} +33 -21
  130. package/3rdparty/walkontable/src/{stickyScrollStrategy.js → overlay/strategies/stickyScrollStrategy.js} +60 -41
  131. package/3rdparty/walkontable/src/{stickyScrollStrategy.mjs → overlay/strategies/stickyScrollStrategy.mjs} +58 -38
  132. package/3rdparty/walkontable/src/ports.d.mts +1 -0
  133. package/3rdparty/walkontable/src/ports.d.ts +54 -0
  134. package/3rdparty/walkontable/src/ports.js +23 -0
  135. package/3rdparty/walkontable/src/ports.mjs +24 -0
  136. package/3rdparty/walkontable/src/{renderer → render}/_base.d.ts +1 -1
  137. package/3rdparty/walkontable/src/{renderer → render}/cells.js +1 -1
  138. package/3rdparty/walkontable/src/{renderer → render}/cells.mjs +1 -1
  139. package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.d.ts +1 -0
  140. package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.js +43 -1
  141. package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.mjs +44 -2
  142. package/3rdparty/walkontable/src/render/index.d.mts +1 -0
  143. package/3rdparty/walkontable/src/{renderer → render}/index.d.ts +11 -3
  144. package/3rdparty/walkontable/src/{renderer → render}/index.js +13 -3
  145. package/3rdparty/walkontable/src/{renderer → render}/index.mjs +11 -1
  146. package/3rdparty/walkontable/src/{renderer → render}/rows.js +1 -1
  147. package/3rdparty/walkontable/src/{renderer → render}/rows.mjs +1 -1
  148. package/3rdparty/walkontable/src/render/tableRenderer.d.mts +1 -0
  149. package/3rdparty/walkontable/src/{renderer/table.d.ts → render/tableRenderer.d.ts} +12 -2
  150. package/3rdparty/walkontable/src/render/tableRenderer.js +382 -0
  151. package/3rdparty/walkontable/src/{renderer/table.mjs → render/tableRenderer.mjs} +159 -6
  152. package/3rdparty/walkontable/src/{scroll.d.ts → scroll/scroll.d.ts} +27 -10
  153. package/3rdparty/walkontable/src/{scroll.js → scroll/scroll.js} +108 -32
  154. package/3rdparty/walkontable/src/{scroll.mjs → scroll/scroll.mjs} +106 -29
  155. package/3rdparty/walkontable/src/selection/border/border.d.ts +313 -5
  156. package/3rdparty/walkontable/src/selection/border/border.js +861 -51
  157. package/3rdparty/walkontable/src/selection/border/border.mjs +863 -53
  158. package/3rdparty/walkontable/src/selection/border/types.d.ts +30 -0
  159. package/3rdparty/walkontable/src/selection/manager.js +237 -0
  160. package/3rdparty/walkontable/src/selection/manager.mjs +238 -1
  161. package/3rdparty/walkontable/src/settings/accessor.d.mts +2 -0
  162. package/3rdparty/walkontable/src/settings/accessor.d.ts +74 -0
  163. package/3rdparty/walkontable/src/settings/accessor.js +78 -0
  164. package/3rdparty/walkontable/src/settings/accessor.mjs +71 -0
  165. package/3rdparty/walkontable/src/settings/defaults.d.mts +1 -0
  166. package/3rdparty/walkontable/src/{settings.d.ts → settings/defaults.d.ts} +16 -77
  167. package/3rdparty/walkontable/src/settings/defaults.js +146 -0
  168. package/3rdparty/walkontable/src/settings/defaults.mjs +225 -0
  169. package/3rdparty/walkontable/src/settings/index.d.mts +1 -0
  170. package/3rdparty/walkontable/src/settings/index.d.ts +6 -0
  171. package/3rdparty/walkontable/src/settings/index.js +20 -0
  172. package/3rdparty/walkontable/src/settings/index.mjs +5 -0
  173. package/3rdparty/walkontable/src/table/baseTable.d.mts +2 -0
  174. package/3rdparty/walkontable/src/table/baseTable.d.ts +284 -0
  175. package/3rdparty/walkontable/src/table/baseTable.js +295 -0
  176. package/3rdparty/walkontable/src/table/baseTable.mjs +283 -0
  177. package/3rdparty/walkontable/src/table/cellAccess.d.mts +1 -0
  178. package/3rdparty/walkontable/src/table/cellAccess.d.ts +101 -0
  179. package/3rdparty/walkontable/src/table/cellAccess.js +238 -0
  180. package/3rdparty/walkontable/src/table/cellAccess.mjs +229 -0
  181. package/3rdparty/walkontable/src/table/domScaffold.d.mts +1 -0
  182. package/3rdparty/walkontable/src/table/domScaffold.d.ts +37 -0
  183. package/3rdparty/walkontable/src/table/domScaffold.js +145 -0
  184. package/3rdparty/walkontable/src/table/domScaffold.mjs +136 -0
  185. package/3rdparty/walkontable/src/table/drawCycle.d.mts +1 -0
  186. package/3rdparty/walkontable/src/table/drawCycle.d.ts +16 -0
  187. package/3rdparty/walkontable/src/table/drawCycle.js +405 -0
  188. package/3rdparty/walkontable/src/table/drawCycle.mjs +403 -0
  189. package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.d.mts +1 -0
  190. package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.d.ts +38 -0
  191. package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.js +15 -0
  192. package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.mjs +14 -0
  193. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.d.ts +1 -1
  194. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.js +1 -1
  195. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.mjs +1 -1
  196. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.d.ts +1 -1
  197. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.d.ts +1 -1
  198. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.js +1 -1
  199. package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.mjs +1 -1
  200. package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.d.mts +2 -0
  201. package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.d.ts +226 -0
  202. package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.js +251 -0
  203. package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.mjs +241 -0
  204. package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.d.mts +1 -0
  205. package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.d.ts +14 -0
  206. package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.js +196 -0
  207. package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.mjs +179 -0
  208. package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.d.mts +2 -0
  209. package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.d.ts +16 -0
  210. package/3rdparty/walkontable/src/table/{bottomInlineStartCorner.js → regions/bottomInlineStartCornerTable.js} +9 -12
  211. package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.mjs +21 -0
  212. package/3rdparty/walkontable/src/table/regions/bottomTable.d.mts +2 -0
  213. package/3rdparty/walkontable/src/table/regions/bottomTable.d.ts +15 -0
  214. package/3rdparty/walkontable/src/table/regions/bottomTable.js +35 -0
  215. package/3rdparty/walkontable/src/table/regions/bottomTable.mjs +20 -0
  216. package/3rdparty/walkontable/src/table/regions/inlineStartTable.d.mts +2 -0
  217. package/3rdparty/walkontable/src/table/regions/inlineStartTable.d.ts +12 -0
  218. package/3rdparty/walkontable/src/table/regions/inlineStartTable.js +32 -0
  219. package/3rdparty/walkontable/src/table/regions/inlineStartTable.mjs +17 -0
  220. package/3rdparty/walkontable/src/table/regions/masterTable.d.mts +2 -0
  221. package/3rdparty/walkontable/src/table/{master.d.ts → regions/masterTable.d.ts} +4 -13
  222. package/3rdparty/walkontable/src/table/{master.js → regions/masterTable.js} +23 -48
  223. package/3rdparty/walkontable/src/table/{master.mjs → regions/masterTable.mjs} +22 -47
  224. package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.d.mts +2 -0
  225. package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.d.ts +16 -0
  226. package/3rdparty/walkontable/src/table/{topInlineStartCorner.js → regions/topInlineStartCornerTable.js} +9 -12
  227. package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.mjs +21 -0
  228. package/3rdparty/walkontable/src/table/regions/topTable.d.mts +2 -0
  229. package/3rdparty/walkontable/src/table/regions/topTable.d.ts +15 -0
  230. package/3rdparty/walkontable/src/table/regions/topTable.js +35 -0
  231. package/3rdparty/walkontable/src/table/regions/topTable.mjs +20 -0
  232. package/3rdparty/walkontable/src/types.d.ts +7 -69
  233. package/3rdparty/walkontable/src/types.mjs +2 -1
  234. package/3rdparty/walkontable/src/utils/pointerToCoords.d.mts +1 -0
  235. package/3rdparty/walkontable/src/utils/{cellCoords.d.ts → pointerToCoords.d.ts} +24 -0
  236. package/3rdparty/walkontable/src/utils/pointerToCoords.js +181 -0
  237. package/3rdparty/walkontable/src/utils/pointerToCoords.mjs +186 -0
  238. package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.d.mts +1 -0
  239. package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.d.ts +40 -0
  240. package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.js +139 -0
  241. package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.mjs +131 -0
  242. package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.d.mts +1 -0
  243. package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.d.ts +133 -0
  244. package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.js +18 -0
  245. package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.mjs +18 -0
  246. package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.d.mts +1 -0
  247. package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.d.ts +17 -0
  248. package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.js +104 -0
  249. package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.mjs +99 -0
  250. package/3rdparty/walkontable/src/viewport/calculatorFactory.d.mts +1 -0
  251. package/3rdparty/walkontable/src/viewport/calculatorFactory.d.ts +84 -0
  252. package/3rdparty/walkontable/src/viewport/calculatorFactory.js +588 -0
  253. package/3rdparty/walkontable/src/viewport/calculatorFactory.mjs +601 -0
  254. package/3rdparty/walkontable/src/viewport/viewport.d.ts +267 -0
  255. package/3rdparty/walkontable/src/viewport/viewport.js +368 -0
  256. package/3rdparty/walkontable/src/viewport/viewport.mjs +360 -0
  257. package/3rdparty/walkontable/src/viewport/workspaceSize.d.mts +1 -0
  258. package/3rdparty/walkontable/src/viewport/workspaceSize.d.ts +59 -0
  259. package/3rdparty/walkontable/src/viewport/workspaceSize.js +284 -0
  260. package/3rdparty/walkontable/src/viewport/workspaceSize.mjs +282 -0
  261. package/3rdparty/walkontable/src/wire.d.mts +1 -0
  262. package/3rdparty/walkontable/src/wire.d.ts +81 -0
  263. package/3rdparty/walkontable/src/wire.js +56 -0
  264. package/3rdparty/walkontable/src/wire.mjs +56 -0
  265. package/CHANGELOG.md +125 -30
  266. package/LICENSE.txt +1 -1
  267. package/README.md +2 -2
  268. package/base.d.ts +13 -4
  269. package/base.js +2 -2
  270. package/base.mjs +2 -2
  271. package/cellTypes/checkboxType/accessors/valueSetter.d.ts +1 -1
  272. package/cellTypes/checkboxType/accessors/valueSetter.js +3 -1
  273. package/cellTypes/checkboxType/accessors/valueSetter.mjs +3 -1
  274. package/cellTypes/index.d.ts +3 -2
  275. package/cellTypes/index.js +9 -0
  276. package/cellTypes/index.mjs +5 -2
  277. package/cellTypes/intlDatetimeType/index.d.mts +1 -0
  278. package/cellTypes/intlDatetimeType/index.d.ts +1 -0
  279. package/cellTypes/intlDatetimeType/index.js +19 -0
  280. package/cellTypes/intlDatetimeType/index.mjs +1 -0
  281. package/cellTypes/intlDatetimeType/intlDatetimeType.d.mts +1 -0
  282. package/cellTypes/intlDatetimeType/intlDatetimeType.d.ts +16 -0
  283. package/cellTypes/intlDatetimeType/intlDatetimeType.js +31 -0
  284. package/cellTypes/intlDatetimeType/intlDatetimeType.mjs +15 -0
  285. package/cellTypes/multiSelectType/index.d.ts +1 -1
  286. package/cellTypes/multiSelectType/index.js +3 -0
  287. package/cellTypes/multiSelectType/index.mjs +1 -1
  288. package/cellTypes/multiSelectType/multiSelectType.d.ts +1 -0
  289. package/cellTypes/multiSelectType/multiSelectType.js +4 -0
  290. package/cellTypes/multiSelectType/multiSelectType.mjs +1 -0
  291. package/cellTypes/numericType/accessors/valueSetter.js +30 -2
  292. package/cellTypes/numericType/accessors/valueSetter.mjs +31 -3
  293. package/core/hooks/bucket.d.ts +40 -6
  294. package/core/hooks/bucket.js +108 -72
  295. package/core/hooks/bucket.mjs +113 -72
  296. package/core/hooks/constants.js +254 -16
  297. package/core/hooks/constants.mjs +254 -16
  298. package/core/hooks/index.js +27 -22
  299. package/core/hooks/index.mjs +27 -22
  300. package/core/layout/constants.d.ts +11 -0
  301. package/core/layout/constants.js +6 -0
  302. package/core/layout/constants.mjs +12 -0
  303. package/core/layout/domSlot.d.ts +3 -1
  304. package/core/layout/domSlot.js +16 -2
  305. package/core/layout/domSlot.mjs +16 -2
  306. package/core/layout/index.d.ts +2 -2
  307. package/core/layout/index.js +6 -0
  308. package/core/layout/index.mjs +2 -2
  309. package/core/layout/layoutManager.d.ts +13 -0
  310. package/core/layout/layoutManager.js +21 -4
  311. package/core/layout/layoutManager.mjs +22 -2
  312. package/core/settings.d.ts +102 -6
  313. package/core/types.d.ts +15 -1
  314. package/core/types.mjs +9 -0
  315. package/core.js +534 -88
  316. package/core.mjs +537 -91
  317. package/dataMap/dataMap.d.ts +3 -13
  318. package/dataMap/dataMap.js +100 -41
  319. package/dataMap/dataMap.mjs +101 -42
  320. package/dataMap/dataSource.js +4 -1
  321. package/dataMap/dataSource.mjs +4 -1
  322. package/dataMap/metaManager/index.d.ts +62 -8
  323. package/dataMap/metaManager/index.js +66 -0
  324. package/dataMap/metaManager/index.mjs +66 -0
  325. package/dataMap/metaManager/lazyFactoryMap.d.ts +68 -43
  326. package/dataMap/metaManager/lazyFactoryMap.js +497 -110
  327. package/dataMap/metaManager/lazyFactoryMap.mjs +511 -111
  328. package/dataMap/metaManager/metaLayers/cellMeta.d.ts +55 -8
  329. package/dataMap/metaManager/metaLayers/cellMeta.js +108 -8
  330. package/dataMap/metaManager/metaLayers/cellMeta.mjs +108 -8
  331. package/dataMap/metaManager/metaLayers/columnMeta.d.ts +2 -1
  332. package/dataMap/metaManager/metaLayers/columnMeta.js +1 -0
  333. package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -0
  334. package/dataMap/metaManager/metaSchema.js +759 -39
  335. package/dataMap/metaManager/metaSchema.mjs +759 -39
  336. package/dataMap/metaManager/mods/dynamicCellMeta.d.ts +24 -10
  337. package/dataMap/metaManager/mods/dynamicCellMeta.js +252 -28
  338. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +253 -29
  339. package/dataMap/sourceDataValidator.d.ts +13 -21
  340. package/dataMap/sourceDataValidator.js +39 -29
  341. package/dataMap/sourceDataValidator.mjs +50 -33
  342. package/dist/handsontable.full.js +30344 -11326
  343. package/dist/handsontable.full.min.js +168 -112
  344. package/dist/handsontable.js +31421 -12464
  345. package/dist/handsontable.min.js +172 -116
  346. package/dist/languages/all.js +2 -1
  347. package/dist/languages/all.min.js +1 -1
  348. package/dist/languages/fa-IR.js +2 -1
  349. package/dist/languages/fa-IR.min.js +1 -1
  350. package/dist/themes/classic.js +9 -3
  351. package/dist/themes/classic.min.js +4 -4
  352. package/dist/themes/horizon.js +9 -3
  353. package/dist/themes/horizon.min.js +4 -4
  354. package/dist/themes/main.js +9 -3
  355. package/dist/themes/main.min.js +4 -4
  356. package/dist/themes/static/variables/colors/ant.js +3 -3
  357. package/dist/themes/static/variables/colors/ant.min.js +3 -3
  358. package/dist/themes/static/variables/colors/classic.js +3 -3
  359. package/dist/themes/static/variables/colors/classic.min.js +3 -3
  360. package/dist/themes/static/variables/colors/horizon.js +3 -3
  361. package/dist/themes/static/variables/colors/horizon.min.js +3 -3
  362. package/dist/themes/static/variables/colors/main.js +3 -3
  363. package/dist/themes/static/variables/colors/main.min.js +3 -3
  364. package/dist/themes/static/variables/colors/material.js +3 -3
  365. package/dist/themes/static/variables/colors/material.min.js +3 -3
  366. package/dist/themes/static/variables/colors/shadcn.js +3 -3
  367. package/dist/themes/static/variables/colors/shadcn.min.js +3 -3
  368. package/dist/themes/static/variables/density.js +3 -3
  369. package/dist/themes/static/variables/density.min.js +3 -3
  370. package/dist/themes/static/variables/helpers/iconsMap.js +4 -9
  371. package/dist/themes/static/variables/helpers/iconsMap.min.js +4 -9
  372. package/dist/themes/static/variables/icons/horizon.js +3 -3
  373. package/dist/themes/static/variables/icons/horizon.min.js +3 -3
  374. package/dist/themes/static/variables/icons/main.js +3 -3
  375. package/dist/themes/static/variables/icons/main.min.js +3 -3
  376. package/dist/themes/static/variables/sizing.js +3 -3
  377. package/dist/themes/static/variables/sizing.min.js +3 -3
  378. package/dist/themes/static/variables/tokens/classic.js +9 -3
  379. package/dist/themes/static/variables/tokens/classic.min.js +4 -4
  380. package/dist/themes/static/variables/tokens/horizon.js +9 -3
  381. package/dist/themes/static/variables/tokens/horizon.min.js +4 -4
  382. package/dist/themes/static/variables/tokens/main.js +9 -3
  383. package/dist/themes/static/variables/tokens/main.min.js +4 -4
  384. package/editorManager.js +152 -3
  385. package/editorManager.mjs +152 -3
  386. package/editors/autocompleteEditor/autocompleteEditor.js +58 -11
  387. package/editors/autocompleteEditor/autocompleteEditor.mjs +59 -12
  388. package/editors/baseEditor/baseEditor.d.ts +15 -3
  389. package/editors/baseEditor/baseEditor.js +5 -3
  390. package/editors/baseEditor/baseEditor.mjs +15 -3
  391. package/editors/factory.js +5 -2
  392. package/editors/factory.mjs +5 -2
  393. package/editors/index.d.ts +3 -2
  394. package/editors/index.js +8 -0
  395. package/editors/index.mjs +3 -1
  396. package/editors/intlDatetimeEditor/index.d.mts +1 -0
  397. package/editors/intlDatetimeEditor/index.d.ts +1 -0
  398. package/editors/intlDatetimeEditor/index.js +19 -0
  399. package/editors/intlDatetimeEditor/index.mjs +1 -0
  400. package/editors/intlDatetimeEditor/intlDatetimeEditor.d.mts +1 -0
  401. package/editors/intlDatetimeEditor/intlDatetimeEditor.d.ts +42 -0
  402. package/editors/intlDatetimeEditor/intlDatetimeEditor.js +108 -0
  403. package/editors/intlDatetimeEditor/intlDatetimeEditor.mjs +93 -0
  404. package/editors/multiSelectEditor/multiSelectEditor.js +11 -9
  405. package/editors/multiSelectEditor/multiSelectEditor.mjs +12 -10
  406. package/editors/selectEditor/selectEditor.js +2 -1
  407. package/editors/selectEditor/selectEditor.mjs +2 -1
  408. package/editors/textEditor/textEditor.js +1 -1
  409. package/editors/textEditor/textEditor.mjs +2 -2
  410. package/eventManager.d.ts +3 -3
  411. package/focusManager/grid.d.ts +28 -0
  412. package/focusManager/grid.js +85 -2
  413. package/focusManager/grid.mjs +81 -3
  414. package/focusManager/scopeManager.js +1 -1
  415. package/focusManager/scopeManager.mjs +2 -2
  416. package/handsontable-non-commercial-license.pdf +0 -0
  417. package/helpers/array.d.ts +25 -0
  418. package/helpers/array.js +41 -4
  419. package/helpers/array.mjs +56 -4
  420. package/helpers/console.d.ts +25 -3
  421. package/helpers/console.js +40 -7
  422. package/helpers/console.mjs +52 -7
  423. package/helpers/dateTime.d.ts +14 -0
  424. package/helpers/dateTime.js +74 -2
  425. package/helpers/dateTime.mjs +73 -2
  426. package/helpers/dom/cellCoords.js +156 -13
  427. package/helpers/dom/cellCoords.mjs +156 -13
  428. package/helpers/dom/element.d.ts +47 -8
  429. package/helpers/dom/element.js +104 -18
  430. package/helpers/dom/element.mjs +132 -23
  431. package/helpers/dom/event.d.ts +58 -0
  432. package/helpers/dom/event.js +39 -0
  433. package/helpers/dom/event.mjs +63 -0
  434. package/helpers/dom/inputOrigin.d.mts +1 -0
  435. package/helpers/dom/inputOrigin.d.ts +38 -0
  436. package/helpers/dom/inputOrigin.js +54 -0
  437. package/helpers/dom/inputOrigin.mjs +48 -0
  438. package/helpers/errors.d.ts +5 -0
  439. package/helpers/errors.js +10 -6
  440. package/helpers/errors.mjs +10 -6
  441. package/helpers/feature.d.ts +19 -0
  442. package/helpers/feature.js +21 -0
  443. package/helpers/feature.mjs +30 -0
  444. package/helpers/function.d.ts +1 -1
  445. package/helpers/function.js +4 -1
  446. package/helpers/function.mjs +4 -1
  447. package/helpers/mixed.d.ts +103 -0
  448. package/helpers/mixed.js +388 -4
  449. package/helpers/mixed.mjs +428 -4
  450. package/helpers/moves.js +2 -1
  451. package/helpers/moves.mjs +2 -1
  452. package/helpers/number.d.ts +22 -0
  453. package/helpers/number.js +49 -0
  454. package/helpers/number.mjs +66 -0
  455. package/helpers/string.d.ts +14 -10
  456. package/helpers/string.js +17 -9
  457. package/helpers/string.mjs +27 -17
  458. package/helpers/templateString.d.mts +1 -0
  459. package/helpers/templateString.d.ts +13 -0
  460. package/helpers/templateString.js +29 -0
  461. package/helpers/templateString.mjs +19 -0
  462. package/helpers/uiButton.d.mts +1 -0
  463. package/helpers/uiButton.d.ts +21 -0
  464. package/helpers/uiButton.js +37 -0
  465. package/helpers/uiButton.mjs +31 -0
  466. package/i18n/languages/fa-IR.d.ts +1 -0
  467. package/i18n/languages/fa-IR.js +1 -0
  468. package/i18n/languages/fa-IR.mjs +1 -0
  469. package/index.d.ts +3 -3
  470. package/languages/all.js +2 -1
  471. package/languages/fa-IR.js +2 -1
  472. package/languages/fa-IR.mjs +1 -0
  473. package/languages/index.js +2 -1
  474. package/package.json +61 -1
  475. package/plugins/autoColumnSize/autoColumnSize.d.ts +24 -1
  476. package/plugins/autoColumnSize/autoColumnSize.js +501 -82
  477. package/plugins/autoColumnSize/autoColumnSize.mjs +508 -83
  478. package/plugins/autoRowSize/autoRowSize.d.ts +40 -5
  479. package/plugins/autoRowSize/autoRowSize.js +68 -24
  480. package/plugins/autoRowSize/autoRowSize.mjs +98 -29
  481. package/plugins/autofill/autofill.js +30 -12
  482. package/plugins/autofill/autofill.mjs +30 -12
  483. package/plugins/base/base.d.ts +10 -0
  484. package/plugins/collapsibleColumns/collapsibleColumns.d.ts +4 -0
  485. package/plugins/collapsibleColumns/collapsibleColumns.js +89 -8
  486. package/plugins/collapsibleColumns/collapsibleColumns.mjs +93 -8
  487. package/plugins/columnSorting/columnSorting.d.ts +31 -2
  488. package/plugins/columnSorting/columnSorting.js +151 -24
  489. package/plugins/columnSorting/columnSorting.mjs +153 -26
  490. package/plugins/columnSorting/columnStatesManager.d.ts +1 -1
  491. package/plugins/columnSorting/columnStatesManager.js +1 -7
  492. package/plugins/columnSorting/columnStatesManager.mjs +1 -7
  493. package/plugins/columnSorting/domHelpers.d.ts +3 -0
  494. package/plugins/columnSorting/domHelpers.js +9 -0
  495. package/plugins/columnSorting/domHelpers.mjs +3 -3
  496. package/plugins/columnSorting/rootComparator.js +21 -16
  497. package/plugins/columnSorting/rootComparator.mjs +21 -16
  498. package/plugins/columnSorting/sortFunction/checkbox.js +7 -5
  499. package/plugins/columnSorting/sortFunction/checkbox.mjs +7 -5
  500. package/plugins/columnSorting/sortFunction/default.js +15 -4
  501. package/plugins/columnSorting/sortFunction/default.mjs +15 -4
  502. package/plugins/columnSorting/sortFunction/intlDatetime.d.mts +1 -0
  503. package/plugins/columnSorting/sortFunction/intlDatetime.d.ts +10 -0
  504. package/plugins/columnSorting/sortFunction/intlDatetime.js +23 -0
  505. package/plugins/columnSorting/sortFunction/intlDatetime.mjs +12 -0
  506. package/plugins/columnSorting/sortService/registry.js +2 -0
  507. package/plugins/columnSorting/sortService/registry.mjs +2 -0
  508. package/plugins/columnSorting/utils.d.ts +8 -0
  509. package/plugins/columnSorting/utils.js +37 -45
  510. package/plugins/columnSorting/utils.mjs +42 -47
  511. package/plugins/columnSummary/columnSummary.js +9 -5
  512. package/plugins/columnSummary/columnSummary.mjs +9 -5
  513. package/plugins/columnSummary/endpoints.d.ts +69 -2
  514. package/plugins/columnSummary/endpoints.js +181 -29
  515. package/plugins/columnSummary/endpoints.mjs +181 -29
  516. package/plugins/comments/commentEditor.js +1 -1
  517. package/plugins/comments/commentEditor.mjs +2 -2
  518. package/plugins/contextMenu/contextMenu.d.ts +12 -1
  519. package/plugins/contextMenu/contextMenu.js +30 -6
  520. package/plugins/contextMenu/contextMenu.mjs +30 -6
  521. package/plugins/contextMenu/index.d.ts +1 -1
  522. package/plugins/contextMenu/menu/menu.d.ts +22 -1
  523. package/plugins/contextMenu/menu/menu.js +211 -3
  524. package/plugins/contextMenu/menu/menu.mjs +212 -4
  525. package/plugins/contextMenu/menu/menuItemRenderer.js +2 -2
  526. package/plugins/contextMenu/menu/menuItemRenderer.mjs +2 -2
  527. package/plugins/contextMenu/predefinedItems/alignment.js +14 -14
  528. package/plugins/contextMenu/predefinedItems/alignment.mjs +14 -14
  529. package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
  530. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -1
  531. package/plugins/contextMenu/predefinedItems/readOnly.js +3 -3
  532. package/plugins/contextMenu/predefinedItems/readOnly.mjs +3 -3
  533. package/plugins/contextMenu/utils.js +1 -1
  534. package/plugins/contextMenu/utils.mjs +1 -1
  535. package/plugins/copyPaste/copyPaste.js +70 -16
  536. package/plugins/copyPaste/copyPaste.mjs +71 -17
  537. package/plugins/copyPaste/copyableRanges.js +6 -2
  538. package/plugins/copyPaste/copyableRanges.mjs +6 -2
  539. package/plugins/copyPaste/pasteEvent.d.ts +1 -1
  540. package/plugins/customBorders/customBorders.d.ts +21 -40
  541. package/plugins/customBorders/customBorders.js +1080 -201
  542. package/plugins/customBorders/customBorders.mjs +1082 -203
  543. package/plugins/customBorders/utils.d.ts +71 -0
  544. package/plugins/customBorders/utils.js +63 -0
  545. package/plugins/customBorders/utils.mjs +101 -0
  546. package/plugins/dataProvider/dataProvider.d.ts +2 -1
  547. package/plugins/dataProvider/dataProvider.js +22 -7
  548. package/plugins/dataProvider/dataProvider.mjs +22 -7
  549. package/plugins/dataProvider/query/crud.js +1 -1
  550. package/plugins/dataProvider/query/crud.mjs +1 -1
  551. package/plugins/dialog/dialog.js +14 -9
  552. package/plugins/dialog/dialog.mjs +14 -9
  553. package/plugins/dialog/templates/confirm.d.ts +1 -1
  554. package/plugins/dialog/templates/confirm.js +2 -1
  555. package/plugins/dialog/templates/confirm.mjs +2 -1
  556. package/plugins/dialog/ui.d.ts +5 -3
  557. package/plugins/dialog/ui.js +12 -4
  558. package/plugins/dialog/ui.mjs +12 -4
  559. package/plugins/dragToScroll/dragToScroll.d.ts +2 -2
  560. package/plugins/dragToScroll/dragToScroll.js +150 -14
  561. package/plugins/dragToScroll/dragToScroll.mjs +151 -15
  562. package/plugins/dropdownMenu/dropdownMenu.d.ts +5 -1
  563. package/plugins/dropdownMenu/dropdownMenu.js +45 -3
  564. package/plugins/dropdownMenu/dropdownMenu.mjs +46 -4
  565. package/plugins/dropdownMenu/index.d.ts +1 -0
  566. package/plugins/emptyDataState/emptyDataState.js +4 -6
  567. package/plugins/emptyDataState/emptyDataState.mjs +4 -6
  568. package/plugins/emptyDataState/ui.js +2 -1
  569. package/plugins/emptyDataState/ui.mjs +2 -1
  570. package/plugins/exportFile/dataProvider.js +7 -9
  571. package/plugins/exportFile/dataProvider.mjs +7 -9
  572. package/plugins/exportFile/exportFile.d.ts +10 -3
  573. package/plugins/exportFile/types/_base.js +4 -10
  574. package/plugins/exportFile/types/_base.mjs +4 -10
  575. package/plugins/exportFile/types/xlsx/cell-style.js +4 -2
  576. package/plugins/exportFile/types/xlsx/cell-style.mjs +4 -2
  577. package/plugins/exportFile/types/xlsx/date-utils.d.ts +15 -0
  578. package/plugins/exportFile/types/xlsx/date-utils.js +31 -0
  579. package/plugins/exportFile/types/xlsx/date-utils.mjs +36 -0
  580. package/plugins/exportFile/types/xlsx.js +13 -9
  581. package/plugins/exportFile/types/xlsx.mjs +14 -10
  582. package/plugins/exportFile/utils.d.ts +9 -1
  583. package/plugins/exportFile/utils.js +27 -4
  584. package/plugins/exportFile/utils.mjs +40 -2
  585. package/plugins/filters/component/_base.d.ts +1 -2
  586. package/plugins/filters/component/_base.js +1 -2
  587. package/plugins/filters/component/_base.mjs +1 -2
  588. package/plugins/filters/component/condition.d.ts +1 -0
  589. package/plugins/filters/component/condition.js +2 -0
  590. package/plugins/filters/component/condition.mjs +2 -0
  591. package/plugins/filters/component/value.d.ts +5 -6
  592. package/plugins/filters/component/value.js +53 -34
  593. package/plugins/filters/component/value.mjs +54 -35
  594. package/plugins/filters/condition/date/after.js +2 -1
  595. package/plugins/filters/condition/date/after.mjs +2 -1
  596. package/plugins/filters/condition/date/afterOrEqual.js +2 -1
  597. package/plugins/filters/condition/date/afterOrEqual.mjs +2 -1
  598. package/plugins/filters/condition/date/before.js +2 -1
  599. package/plugins/filters/condition/date/before.mjs +2 -1
  600. package/plugins/filters/condition/date/beforeOrEqual.js +2 -1
  601. package/plugins/filters/condition/date/beforeOrEqual.mjs +2 -1
  602. package/plugins/filters/condition/equal.d.ts +7 -0
  603. package/plugins/filters/condition/equal.js +4 -0
  604. package/plugins/filters/condition/equal.mjs +10 -0
  605. package/plugins/filters/condition/intlDatetime/after.d.mts +1 -0
  606. package/plugins/filters/condition/intlDatetime/after.d.ts +18 -0
  607. package/plugins/filters/condition/intlDatetime/after.js +77 -0
  608. package/plugins/filters/condition/intlDatetime/after.mjs +22 -0
  609. package/plugins/filters/condition/intlDatetime/afterOrEqual.d.mts +1 -0
  610. package/plugins/filters/condition/intlDatetime/afterOrEqual.d.ts +18 -0
  611. package/plugins/filters/condition/intlDatetime/afterOrEqual.js +77 -0
  612. package/plugins/filters/condition/intlDatetime/afterOrEqual.mjs +22 -0
  613. package/plugins/filters/condition/intlDatetime/before.d.mts +1 -0
  614. package/plugins/filters/condition/intlDatetime/before.d.ts +18 -0
  615. package/plugins/filters/condition/intlDatetime/before.js +77 -0
  616. package/plugins/filters/condition/intlDatetime/before.mjs +22 -0
  617. package/plugins/filters/condition/intlDatetime/beforeOrEqual.d.mts +1 -0
  618. package/plugins/filters/condition/intlDatetime/beforeOrEqual.d.ts +18 -0
  619. package/plugins/filters/condition/intlDatetime/beforeOrEqual.js +77 -0
  620. package/plugins/filters/condition/intlDatetime/beforeOrEqual.mjs +22 -0
  621. package/plugins/filters/condition/intlDatetime/between.d.mts +1 -0
  622. package/plugins/filters/condition/intlDatetime/between.d.ts +18 -0
  623. package/plugins/filters/condition/intlDatetime/between.js +78 -0
  624. package/plugins/filters/condition/intlDatetime/between.mjs +23 -0
  625. package/plugins/filters/condition/intlDatetime/today.d.mts +1 -0
  626. package/plugins/filters/condition/intlDatetime/today.d.ts +17 -0
  627. package/plugins/filters/condition/intlDatetime/today.js +76 -0
  628. package/plugins/filters/condition/intlDatetime/today.mjs +20 -0
  629. package/plugins/filters/condition/intlDatetime/tomorrow.d.mts +1 -0
  630. package/plugins/filters/condition/intlDatetime/tomorrow.d.ts +17 -0
  631. package/plugins/filters/condition/intlDatetime/tomorrow.js +77 -0
  632. package/plugins/filters/condition/intlDatetime/tomorrow.mjs +21 -0
  633. package/plugins/filters/condition/intlDatetime/yesterday.d.mts +1 -0
  634. package/plugins/filters/condition/intlDatetime/yesterday.d.ts +17 -0
  635. package/plugins/filters/condition/intlDatetime/yesterday.js +77 -0
  636. package/plugins/filters/condition/intlDatetime/yesterday.mjs +21 -0
  637. package/plugins/filters/conditionCollection.js +4 -7
  638. package/plugins/filters/conditionCollection.mjs +4 -7
  639. package/plugins/filters/conditionUpdateObserver.d.ts +2 -2
  640. package/plugins/filters/conditionUpdateObserver.js +148 -49
  641. package/plugins/filters/conditionUpdateObserver.mjs +148 -49
  642. package/plugins/filters/constants.d.ts +1 -0
  643. package/plugins/filters/constants.js +31 -0
  644. package/plugins/filters/constants.mjs +28 -0
  645. package/plugins/filters/dataFilter.d.ts +4 -12
  646. package/plugins/filters/dataFilter.js +7 -19
  647. package/plugins/filters/dataFilter.mjs +8 -20
  648. package/plugins/filters/filters.d.ts +33 -9
  649. package/plugins/filters/filters.js +91 -31
  650. package/plugins/filters/filters.mjs +92 -32
  651. package/plugins/filters/sortComparators.d.ts +9 -2
  652. package/plugins/filters/sortComparators.js +34 -1
  653. package/plugins/filters/sortComparators.mjs +38 -3
  654. package/plugins/filters/ui/input.d.ts +4 -0
  655. package/plugins/filters/ui/input.js +18 -6
  656. package/plugins/filters/ui/input.mjs +18 -6
  657. package/plugins/filters/ui/multipleSelect.js +27 -4
  658. package/plugins/filters/ui/multipleSelect.mjs +27 -4
  659. package/plugins/filters/ui/select.js +1 -1
  660. package/plugins/filters/ui/select.mjs +1 -1
  661. package/plugins/formulas/engine/register.d.ts +5 -4
  662. package/plugins/formulas/engine/register.js +5 -2
  663. package/plugins/formulas/engine/register.mjs +9 -5
  664. package/plugins/formulas/engine/settings.d.ts +2 -6
  665. package/plugins/formulas/engine/settings.js +29 -4
  666. package/plugins/formulas/engine/settings.mjs +29 -4
  667. package/plugins/formulas/engine/types.d.ts +12 -2
  668. package/plugins/formulas/formulas.d.ts +39 -0
  669. package/plugins/formulas/formulas.js +789 -47
  670. package/plugins/formulas/formulas.mjs +793 -49
  671. package/plugins/formulas/hyperlinkUrl.d.mts +1 -0
  672. package/plugins/formulas/hyperlinkUrl.d.ts +12 -0
  673. package/plugins/formulas/hyperlinkUrl.js +32 -0
  674. package/plugins/formulas/hyperlinkUrl.mjs +32 -0
  675. package/plugins/formulas/indexSyncer/axisSyncer.d.ts +1 -0
  676. package/plugins/formulas/indexSyncer/axisSyncer.js +72 -15
  677. package/plugins/formulas/indexSyncer/axisSyncer.mjs +72 -15
  678. package/plugins/formulas/utils.d.ts +9 -0
  679. package/plugins/formulas/utils.js +21 -0
  680. package/plugins/formulas/utils.mjs +25 -0
  681. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +6 -1
  682. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +6 -1
  683. package/plugins/hiddenColumns/hiddenColumns.js +6 -3
  684. package/plugins/hiddenColumns/hiddenColumns.mjs +6 -3
  685. package/plugins/hiddenRows/contextMenuItem/showRow.js +6 -1
  686. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +6 -1
  687. package/plugins/hiddenRows/hiddenRows.js +6 -3
  688. package/plugins/hiddenRows/hiddenRows.mjs +6 -3
  689. package/plugins/index.d.ts +5 -1
  690. package/plugins/index.js +10 -0
  691. package/plugins/index.mjs +5 -1
  692. package/plugins/loading/content.d.ts +5 -3
  693. package/plugins/loading/content.js +3 -2
  694. package/plugins/loading/content.mjs +8 -5
  695. package/plugins/loading/loading.d.ts +5 -2
  696. package/plugins/loading/loading.mjs +5 -2
  697. package/plugins/manualColumnMove/manualColumnMove.d.ts +10 -0
  698. package/plugins/manualColumnMove/manualColumnMove.js +122 -20
  699. package/plugins/manualColumnMove/manualColumnMove.mjs +123 -21
  700. package/plugins/manualColumnResize/manualColumnResize.d.ts +20 -7
  701. package/plugins/manualColumnResize/manualColumnResize.js +33 -13
  702. package/plugins/manualColumnResize/manualColumnResize.mjs +34 -14
  703. package/plugins/manualRowResize/manualRowResize.d.ts +21 -8
  704. package/plugins/manualRowResize/manualRowResize.js +34 -14
  705. package/plugins/manualRowResize/manualRowResize.mjs +35 -15
  706. package/plugins/mergeCells/cellCoords.d.ts +8 -0
  707. package/plugins/mergeCells/cellCoords.js +11 -0
  708. package/plugins/mergeCells/cellCoords.mjs +11 -0
  709. package/plugins/mergeCells/cellsCollection.d.ts +46 -2
  710. package/plugins/mergeCells/cellsCollection.js +189 -68
  711. package/plugins/mergeCells/cellsCollection.mjs +189 -68
  712. package/plugins/mergeCells/focusOrder.d.ts +26 -20
  713. package/plugins/mergeCells/focusOrder.js +358 -177
  714. package/plugins/mergeCells/focusOrder.mjs +363 -172
  715. package/plugins/mergeCells/mergeCells.d.ts +13 -8
  716. package/plugins/mergeCells/mergeCells.js +322 -64
  717. package/plugins/mergeCells/mergeCells.mjs +322 -64
  718. package/plugins/moveCells/helpers.d.mts +1 -0
  719. package/plugins/moveCells/helpers.d.ts +21 -0
  720. package/plugins/moveCells/helpers.js +20 -0
  721. package/plugins/moveCells/helpers.mjs +15 -0
  722. package/plugins/moveCells/index.d.mts +1 -0
  723. package/plugins/moveCells/index.d.ts +1 -0
  724. package/plugins/moveCells/index.js +22 -0
  725. package/plugins/moveCells/index.mjs +1 -0
  726. package/plugins/moveCells/moveCells.d.mts +1 -0
  727. package/plugins/moveCells/moveCells.d.ts +80 -0
  728. package/plugins/moveCells/moveCells.js +602 -0
  729. package/plugins/moveCells/moveCells.mjs +587 -0
  730. package/plugins/multiColumnSorting/multiColumnSorting.d.ts +8 -8
  731. package/plugins/multiColumnSorting/multiColumnSorting.js +11 -16
  732. package/plugins/multiColumnSorting/multiColumnSorting.mjs +11 -16
  733. package/plugins/multiColumnSorting/rootComparator.js +26 -19
  734. package/plugins/multiColumnSorting/rootComparator.mjs +26 -19
  735. package/plugins/multipleSelectionHandles/multipleSelectionHandles.d.ts +19 -4
  736. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +273 -58
  737. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +273 -58
  738. package/plugins/nestedHeaders/nestedHeaders.d.ts +10 -1
  739. package/plugins/nestedHeaders/nestedHeaders.js +222 -23
  740. package/plugins/nestedHeaders/nestedHeaders.mjs +222 -23
  741. package/plugins/nestedHeaders/stateManager/columnArrangement.d.mts +1 -0
  742. package/plugins/nestedHeaders/stateManager/columnArrangement.d.ts +37 -0
  743. package/plugins/nestedHeaders/stateManager/columnArrangement.js +35 -0
  744. package/plugins/nestedHeaders/stateManager/columnArrangement.mjs +30 -0
  745. package/plugins/nestedHeaders/stateManager/deriveSettings.d.mts +1 -0
  746. package/plugins/nestedHeaders/stateManager/deriveSettings.d.ts +57 -0
  747. package/plugins/nestedHeaders/stateManager/deriveSettings.js +115 -0
  748. package/plugins/nestedHeaders/stateManager/deriveSettings.mjs +135 -0
  749. package/plugins/nestedHeaders/stateManager/headersTree.d.ts +14 -1
  750. package/plugins/nestedHeaders/stateManager/index.d.ts +76 -13
  751. package/plugins/nestedHeaders/stateManager/index.js +381 -38
  752. package/plugins/nestedHeaders/stateManager/index.mjs +382 -39
  753. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +3 -2
  754. package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +3 -2
  755. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -1
  756. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +5 -1
  757. package/plugins/nestedHeaders/stateManager/sourceSettings.d.ts +23 -6
  758. package/plugins/nestedHeaders/stateManager/sourceSettings.js +20 -4
  759. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +20 -4
  760. package/plugins/nestedHeaders/stateManager/utils.d.ts +17 -1
  761. package/plugins/nestedHeaders/stateManager/utils.js +6 -1
  762. package/plugins/nestedHeaders/stateManager/utils.mjs +6 -1
  763. package/plugins/nestedHeaders/utils/ghostTable.js +21 -8
  764. package/plugins/nestedHeaders/utils/ghostTable.mjs +21 -8
  765. package/plugins/nestedRows/data/dataManager.d.ts +4 -1
  766. package/plugins/nestedRows/data/dataManager.js +10 -4
  767. package/plugins/nestedRows/data/dataManager.mjs +10 -4
  768. package/plugins/nestedRows/nestedRows.d.ts +127 -1
  769. package/plugins/nestedRows/nestedRows.js +330 -8
  770. package/plugins/nestedRows/nestedRows.mjs +330 -8
  771. package/plugins/nestedRows/ui/collapsing.d.ts +58 -0
  772. package/plugins/nestedRows/ui/collapsing.js +236 -40
  773. package/plugins/nestedRows/ui/collapsing.mjs +236 -40
  774. package/plugins/notification/notification.d.ts +2 -1
  775. package/plugins/notification/notification.js +6 -3
  776. package/plugins/notification/notification.mjs +6 -3
  777. package/plugins/notification/ui.d.ts +8 -5
  778. package/plugins/notification/ui.js +18 -6
  779. package/plugins/notification/ui.mjs +18 -6
  780. package/plugins/pagination/pagination.js +2 -2
  781. package/plugins/pagination/pagination.mjs +2 -2
  782. package/plugins/search/search.js +23 -2
  783. package/plugins/search/search.mjs +23 -2
  784. package/plugins/selectionHandles/helpers.d.mts +1 -0
  785. package/plugins/selectionHandles/helpers.d.ts +17 -0
  786. package/plugins/selectionHandles/helpers.js +16 -0
  787. package/plugins/selectionHandles/helpers.mjs +11 -0
  788. package/plugins/selectionHandles/index.d.mts +1 -0
  789. package/plugins/selectionHandles/index.d.ts +1 -0
  790. package/plugins/selectionHandles/index.js +22 -0
  791. package/plugins/selectionHandles/index.mjs +1 -0
  792. package/plugins/selectionHandles/selectionHandles.d.mts +1 -0
  793. package/plugins/selectionHandles/selectionHandles.d.ts +52 -0
  794. package/plugins/selectionHandles/selectionHandles.js +342 -0
  795. package/plugins/selectionHandles/selectionHandles.mjs +323 -0
  796. package/plugins/trimRows/trimRows.d.ts +1 -1
  797. package/plugins/trimRows/trimRows.js +6 -2
  798. package/plugins/trimRows/trimRows.mjs +6 -2
  799. package/plugins/types.d.ts +4 -0
  800. package/plugins/undoRedo/actions/cellAlignment.js +1 -1
  801. package/plugins/undoRedo/actions/cellAlignment.mjs +1 -1
  802. package/plugins/undoRedo/actions/createColumn.js +4 -1
  803. package/plugins/undoRedo/actions/createColumn.mjs +4 -1
  804. package/plugins/undoRedo/actions/createRow.js +4 -1
  805. package/plugins/undoRedo/actions/createRow.mjs +4 -1
  806. package/plugins/undoRedo/actions/fixedCounts.d.mts +1 -0
  807. package/plugins/undoRedo/actions/fixedCounts.d.ts +36 -0
  808. package/plugins/undoRedo/actions/fixedCounts.js +63 -0
  809. package/plugins/undoRedo/actions/fixedCounts.mjs +62 -0
  810. package/plugins/undoRedo/actions/index.js +2 -0
  811. package/plugins/undoRedo/actions/index.mjs +2 -0
  812. package/plugins/undoRedo/actions/moveCells.d.mts +1 -0
  813. package/plugins/undoRedo/actions/moveCells.d.ts +104 -0
  814. package/plugins/undoRedo/actions/moveCells.js +225 -0
  815. package/plugins/undoRedo/actions/moveCells.mjs +227 -0
  816. package/plugins/undoRedo/actions/removeColumn.d.ts +18 -2
  817. package/plugins/undoRedo/actions/removeColumn.js +11 -4
  818. package/plugins/undoRedo/actions/removeColumn.mjs +12 -5
  819. package/plugins/undoRedo/actions/removeRow.js +2 -57
  820. package/plugins/undoRedo/actions/removeRow.mjs +2 -57
  821. package/plugins/undoRedo/undoRedo.d.ts +26 -0
  822. package/plugins/undoRedo/undoRedo.js +36 -2
  823. package/plugins/undoRedo/undoRedo.mjs +36 -2
  824. package/plugins/undoRedo/utils.d.ts +29 -0
  825. package/plugins/undoRedo/utils.js +55 -3
  826. package/plugins/undoRedo/utils.mjs +59 -0
  827. package/renderSizeProbe.d.mts +1 -0
  828. package/renderSizeProbe.d.ts +60 -0
  829. package/renderSizeProbe.js +163 -0
  830. package/renderSizeProbe.mjs +176 -0
  831. package/renderers/checkboxRenderer/checkboxRenderer.js +9 -4
  832. package/renderers/checkboxRenderer/checkboxRenderer.mjs +9 -4
  833. package/renderers/index.d.ts +3 -2
  834. package/renderers/index.js +8 -0
  835. package/renderers/index.mjs +3 -1
  836. package/renderers/intlDatetimeRenderer/index.d.mts +1 -0
  837. package/renderers/intlDatetimeRenderer/index.d.ts +1 -0
  838. package/renderers/intlDatetimeRenderer/index.js +22 -0
  839. package/renderers/intlDatetimeRenderer/index.mjs +1 -0
  840. package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.d.mts +1 -0
  841. package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.d.ts +26 -0
  842. package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.js +82 -0
  843. package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.mjs +67 -0
  844. package/renderers/multiSelectRenderer/multiSelectRenderer.js +2 -3
  845. package/renderers/multiSelectRenderer/multiSelectRenderer.mjs +2 -3
  846. package/renderers/multiSelectRenderer/utils/utils.d.ts +1 -1
  847. package/renderers/multiSelectRenderer/utils/utils.js +11 -8
  848. package/renderers/multiSelectRenderer/utils/utils.mjs +11 -8
  849. package/renderers/passwordRenderer/passwordRenderer.js +6 -1
  850. package/renderers/passwordRenderer/passwordRenderer.mjs +6 -1
  851. package/renderers/renderCell.d.mts +1 -0
  852. package/renderers/renderCell.d.ts +37 -0
  853. package/renderers/renderCell.js +43 -0
  854. package/renderers/renderCell.mjs +48 -0
  855. package/selection/highlight/types/areaLayered.d.ts +3 -1
  856. package/selection/highlight/types/areaLayered.js +4 -2
  857. package/selection/highlight/types/areaLayered.mjs +6 -2
  858. package/selection/highlight/types/focus.d.ts +3 -1
  859. package/selection/highlight/types/focus.js +3 -2
  860. package/selection/highlight/types/focus.mjs +5 -2
  861. package/selection/mouseEventHandler.js +29 -26
  862. package/selection/mouseEventHandler.mjs +29 -26
  863. package/selection/moveCells.d.mts +1 -0
  864. package/selection/moveCells.d.ts +15 -0
  865. package/selection/moveCells.js +13 -0
  866. package/selection/moveCells.mjs +9 -0
  867. package/selection/selection.d.ts +56 -2
  868. package/selection/selection.js +149 -5
  869. package/selection/selection.mjs +149 -5
  870. package/selection/types.d.ts +3 -0
  871. package/settings.d.ts +24 -3
  872. package/shortcuts/context.d.ts +4 -0
  873. package/shortcuts/context.js +16 -8
  874. package/shortcuts/context.mjs +20 -8
  875. package/shortcuts/contexts/commands/populateSelectedCellsData.js +1 -1
  876. package/shortcuts/contexts/commands/populateSelectedCellsData.mjs +1 -1
  877. package/styles/handsontable.css +504 -158
  878. package/styles/handsontable.min.css +4 -4
  879. package/styles/handsontableStyles.js +1 -1
  880. package/styles/handsontableStyles.mjs +1 -1
  881. package/styles/ht-icons-horizon.css +1 -10
  882. package/styles/ht-icons-horizon.min.css +4 -4
  883. package/styles/ht-icons-main.css +1 -10
  884. package/styles/ht-icons-main.min.css +4 -4
  885. package/styles/ht-theme-classic-no-icons.css +6 -0
  886. package/styles/ht-theme-classic-no-icons.min.css +4 -4
  887. package/styles/ht-theme-classic.css +7 -10
  888. package/styles/ht-theme-classic.min.css +4 -4
  889. package/styles/ht-theme-horizon-no-icons.css +6 -0
  890. package/styles/ht-theme-horizon-no-icons.min.css +4 -4
  891. package/styles/ht-theme-horizon.css +7 -10
  892. package/styles/ht-theme-horizon.min.css +4 -4
  893. package/styles/ht-theme-main-no-icons.css +6 -0
  894. package/styles/ht-theme-main-no-icons.min.css +4 -4
  895. package/styles/ht-theme-main.css +7 -10
  896. package/styles/ht-theme-main.min.css +4 -4
  897. package/tableView.d.ts +17 -4
  898. package/tableView.js +223 -53
  899. package/tableView.mjs +224 -54
  900. package/themes/engine/index.d.ts +2 -1
  901. package/themes/engine/index.js +3 -0
  902. package/themes/engine/index.mjs +1 -1
  903. package/themes/engine/manager.d.ts +75 -3
  904. package/themes/engine/manager.js +242 -6
  905. package/themes/engine/manager.mjs +249 -6
  906. package/themes/engine/utils/cssVariables.d.ts +18 -1
  907. package/themes/engine/utils/cssVariables.js +27 -11
  908. package/themes/engine/utils/cssVariables.mjs +28 -11
  909. package/themes/engine/utils/validation.js +7 -0
  910. package/themes/engine/utils/validation.mjs +7 -0
  911. package/themes/static/variables/helpers/iconsMap.js +1 -6
  912. package/themes/static/variables/helpers/iconsMap.mjs +1 -6
  913. package/themes/static/variables/tokens/classic.js +6 -0
  914. package/themes/static/variables/tokens/classic.mjs +6 -0
  915. package/themes/static/variables/tokens/horizon.js +6 -0
  916. package/themes/static/variables/tokens/horizon.mjs +6 -0
  917. package/themes/static/variables/tokens/main.js +6 -0
  918. package/themes/static/variables/tokens/main.mjs +6 -0
  919. package/themes/types.d.ts +1 -1
  920. package/translations/indexMapper.d.ts +14 -9
  921. package/translations/indexMapper.js +104 -43
  922. package/translations/indexMapper.mjs +104 -43
  923. package/translations/mapCollections/aggregatedCollection.js +20 -35
  924. package/translations/mapCollections/aggregatedCollection.mjs +20 -35
  925. package/translations/mapCollections/mapCollection.d.ts +10 -4
  926. package/translations/mapCollections/mapCollection.js +2 -2
  927. package/translations/mapCollections/mapCollection.mjs +2 -2
  928. package/translations/maps/booleanMap.d.mts +1 -0
  929. package/translations/maps/booleanMap.d.ts +86 -0
  930. package/translations/maps/booleanMap.js +300 -0
  931. package/translations/maps/booleanMap.mjs +308 -0
  932. package/translations/maps/hidingMap.d.ts +5 -2
  933. package/translations/maps/hidingMap.js +8 -3
  934. package/translations/maps/hidingMap.mjs +8 -3
  935. package/translations/maps/index.d.ts +5 -2
  936. package/translations/maps/index.js +7 -3
  937. package/translations/maps/index.mjs +10 -2
  938. package/translations/maps/indexMap.d.ts +26 -2
  939. package/translations/maps/indexMap.js +78 -6
  940. package/translations/maps/indexMap.mjs +78 -6
  941. package/translations/maps/indexesSequence.d.ts +53 -2
  942. package/translations/maps/indexesSequence.js +225 -3
  943. package/translations/maps/indexesSequence.mjs +233 -3
  944. package/translations/maps/trimmingMap.d.ts +5 -2
  945. package/translations/maps/trimmingMap.js +8 -3
  946. package/translations/maps/trimmingMap.mjs +8 -3
  947. package/translations/maps/utils/actionsOnIndexes.js +20 -1
  948. package/translations/maps/utils/actionsOnIndexes.mjs +20 -1
  949. package/translations/maps/utils/indexesSequence.js +12 -3
  950. package/translations/maps/utils/indexesSequence.mjs +12 -3
  951. package/translations/maps/utils/physicallyIndexed.js +12 -1
  952. package/translations/maps/utils/physicallyIndexed.mjs +12 -1
  953. package/utils/entitlementLicenseKey/classify.d.mts +1 -0
  954. package/utils/entitlementLicenseKey/classify.d.ts +34 -0
  955. package/utils/entitlementLicenseKey/classify.js +97 -0
  956. package/utils/entitlementLicenseKey/classify.mjs +96 -0
  957. package/utils/entitlementLicenseKey/constants.d.mts +1 -0
  958. package/utils/entitlementLicenseKey/constants.d.ts +75 -0
  959. package/utils/entitlementLicenseKey/constants.js +54 -0
  960. package/utils/entitlementLicenseKey/constants.mjs +72 -0
  961. package/utils/entitlementLicenseKey/detectFormat.d.mts +1 -0
  962. package/utils/entitlementLicenseKey/detectFormat.d.ts +23 -0
  963. package/utils/entitlementLicenseKey/detectFormat.js +60 -0
  964. package/utils/entitlementLicenseKey/detectFormat.mjs +60 -0
  965. package/utils/entitlementLicenseKey/encoding.d.mts +1 -0
  966. package/utils/entitlementLicenseKey/encoding.d.ts +58 -0
  967. package/utils/entitlementLicenseKey/encoding.js +161 -0
  968. package/utils/entitlementLicenseKey/encoding.mjs +172 -0
  969. package/utils/entitlementLicenseKey/extractKeyData.d.mts +1 -0
  970. package/utils/entitlementLicenseKey/extractKeyData.d.ts +47 -0
  971. package/utils/entitlementLicenseKey/extractKeyData.js +213 -0
  972. package/utils/entitlementLicenseKey/extractKeyData.mjs +232 -0
  973. package/utils/entitlementLicenseKey/grants.d.mts +1 -0
  974. package/utils/entitlementLicenseKey/grants.d.ts +54 -0
  975. package/utils/entitlementLicenseKey/grants.js +68 -0
  976. package/utils/entitlementLicenseKey/grants.mjs +84 -0
  977. package/utils/entitlementLicenseKey/index.d.mts +1 -0
  978. package/utils/entitlementLicenseKey/index.d.ts +8 -0
  979. package/utils/entitlementLicenseKey/index.js +53 -0
  980. package/utils/entitlementLicenseKey/index.mjs +6 -0
  981. package/utils/entitlementLicenseKey/sha512.d.mts +1 -0
  982. package/utils/entitlementLicenseKey/sha512.d.ts +11 -0
  983. package/utils/entitlementLicenseKey/sha512.js +328 -0
  984. package/utils/entitlementLicenseKey/sha512.mjs +327 -0
  985. package/utils/entitlementLicenseKey/types.d.mts +1 -0
  986. package/utils/entitlementLicenseKey/types.d.ts +90 -0
  987. package/utils/entitlementLicenseKey/types.js +8 -0
  988. package/utils/entitlementLicenseKey/types.mjs +10 -0
  989. package/utils/ghostTable.d.ts +1 -0
  990. package/utils/ghostTable.js +60 -11
  991. package/utils/ghostTable.mjs +60 -11
  992. package/utils/licenseBranding/badge.d.mts +1 -0
  993. package/utils/licenseBranding/badge.d.ts +21 -0
  994. package/utils/licenseBranding/badge.js +237 -0
  995. package/utils/licenseBranding/badge.mjs +244 -0
  996. package/utils/licenseBranding/content.d.mts +1 -0
  997. package/utils/licenseBranding/content.d.ts +54 -0
  998. package/utils/licenseBranding/content.js +93 -0
  999. package/utils/licenseBranding/content.mjs +79 -0
  1000. package/utils/licenseBranding/index.d.mts +1 -0
  1001. package/utils/licenseBranding/index.d.ts +14 -0
  1002. package/utils/licenseBranding/index.js +70 -0
  1003. package/utils/licenseBranding/index.mjs +71 -0
  1004. package/utils/licenseBranding/lockScreen.d.mts +1 -0
  1005. package/utils/licenseBranding/lockScreen.d.ts +23 -0
  1006. package/utils/licenseBranding/lockScreen.js +150 -0
  1007. package/utils/licenseBranding/lockScreen.mjs +159 -0
  1008. package/utils/licenseNotification.d.ts +19 -0
  1009. package/utils/licenseNotification.js +56 -29
  1010. package/utils/licenseNotification.mjs +61 -29
  1011. package/utils/movableMeta.d.mts +1 -0
  1012. package/utils/movableMeta.d.ts +40 -0
  1013. package/utils/movableMeta.js +47 -0
  1014. package/utils/movableMeta.mjs +46 -0
  1015. package/utils/parseTable.js +16 -7
  1016. package/utils/parseTable.mjs +16 -7
  1017. package/utils/samplesGenerator.d.ts +41 -14
  1018. package/utils/samplesGenerator.js +114 -42
  1019. package/utils/samplesGenerator.mjs +114 -42
  1020. package/utils/sanitizer.d.mts +1 -0
  1021. package/utils/sanitizer.d.ts +47 -0
  1022. package/utils/sanitizer.js +43 -0
  1023. package/utils/sanitizer.mjs +55 -0
  1024. package/utils/stylesHandler.d.ts +13 -0
  1025. package/utils/stylesHandler.js +55 -2
  1026. package/utils/stylesHandler.mjs +55 -2
  1027. package/validators/autocompleteValidator/autocompleteValidator.js +3 -0
  1028. package/validators/autocompleteValidator/autocompleteValidator.mjs +3 -0
  1029. package/validators/index.d.ts +3 -2
  1030. package/validators/index.js +8 -0
  1031. package/validators/index.mjs +3 -1
  1032. package/validators/intlDatetimeValidator/index.d.mts +1 -0
  1033. package/validators/intlDatetimeValidator/index.d.ts +1 -0
  1034. package/validators/intlDatetimeValidator/index.js +25 -0
  1035. package/validators/intlDatetimeValidator/index.mjs +1 -0
  1036. package/validators/intlDatetimeValidator/intlDatetimeValidator.d.mts +1 -0
  1037. package/validators/intlDatetimeValidator/intlDatetimeValidator.d.ts +28 -0
  1038. package/validators/intlDatetimeValidator/intlDatetimeValidator.js +49 -0
  1039. package/validators/intlDatetimeValidator/intlDatetimeValidator.mjs +37 -0
  1040. package/3rdparty/walkontable/src/overlay/bottom.d.mts +0 -1
  1041. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.d.mts +0 -1
  1042. package/3rdparty/walkontable/src/overlay/inlineStart.d.mts +0 -1
  1043. package/3rdparty/walkontable/src/overlay/top.d.mts +0 -1
  1044. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.d.mts +0 -1
  1045. package/3rdparty/walkontable/src/overlays.d.ts +0 -329
  1046. package/3rdparty/walkontable/src/overlays.js +0 -870
  1047. package/3rdparty/walkontable/src/overlays.mjs +0 -860
  1048. package/3rdparty/walkontable/src/renderer/table.d.mts +0 -1
  1049. package/3rdparty/walkontable/src/renderer/table.js +0 -229
  1050. package/3rdparty/walkontable/src/settings.d.mts +0 -2
  1051. package/3rdparty/walkontable/src/settings.js +0 -196
  1052. package/3rdparty/walkontable/src/settings.mjs +0 -263
  1053. package/3rdparty/walkontable/src/table/bottom.d.mts +0 -2
  1054. package/3rdparty/walkontable/src/table/bottom.d.ts +0 -19
  1055. package/3rdparty/walkontable/src/table/bottom.js +0 -38
  1056. package/3rdparty/walkontable/src/table/bottom.mjs +0 -23
  1057. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.d.mts +0 -2
  1058. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.d.ts +0 -20
  1059. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +0 -24
  1060. package/3rdparty/walkontable/src/table/inlineStart.d.mts +0 -2
  1061. package/3rdparty/walkontable/src/table/inlineStart.d.ts +0 -16
  1062. package/3rdparty/walkontable/src/table/inlineStart.js +0 -35
  1063. package/3rdparty/walkontable/src/table/inlineStart.mjs +0 -20
  1064. package/3rdparty/walkontable/src/table/master.d.mts +0 -2
  1065. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.d.mts +0 -2
  1066. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.d.ts +0 -75
  1067. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -122
  1068. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -112
  1069. package/3rdparty/walkontable/src/table/mixin/calculatedRows.d.mts +0 -2
  1070. package/3rdparty/walkontable/src/table/mixin/calculatedRows.d.ts +0 -75
  1071. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -122
  1072. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -112
  1073. package/3rdparty/walkontable/src/table/top.d.mts +0 -2
  1074. package/3rdparty/walkontable/src/table/top.d.ts +0 -19
  1075. package/3rdparty/walkontable/src/table/top.js +0 -38
  1076. package/3rdparty/walkontable/src/table/top.mjs +0 -23
  1077. package/3rdparty/walkontable/src/table/topInlineStartCorner.d.mts +0 -2
  1078. package/3rdparty/walkontable/src/table/topInlineStartCorner.d.ts +0 -20
  1079. package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +0 -24
  1080. package/3rdparty/walkontable/src/table.d.mts +0 -2
  1081. package/3rdparty/walkontable/src/table.d.ts +0 -741
  1082. package/3rdparty/walkontable/src/table.js +0 -1120
  1083. package/3rdparty/walkontable/src/table.mjs +0 -1105
  1084. package/3rdparty/walkontable/src/utils/cellCoords.d.mts +0 -1
  1085. package/3rdparty/walkontable/src/utils/cellCoords.js +0 -54
  1086. package/3rdparty/walkontable/src/utils/cellCoords.mjs +0 -54
  1087. package/3rdparty/walkontable/src/utils/column.d.mts +0 -2
  1088. package/3rdparty/walkontable/src/utils/column.js +0 -75
  1089. package/3rdparty/walkontable/src/utils/column.mjs +0 -70
  1090. package/3rdparty/walkontable/src/utils/positionCache.d.mts +0 -1
  1091. package/3rdparty/walkontable/src/utils/positionCache.d.ts +0 -91
  1092. package/3rdparty/walkontable/src/utils/positionCache.js +0 -193
  1093. package/3rdparty/walkontable/src/utils/positionCache.mjs +0 -194
  1094. package/3rdparty/walkontable/src/utils/row.d.mts +0 -2
  1095. package/3rdparty/walkontable/src/utils/row.js +0 -46
  1096. package/3rdparty/walkontable/src/utils/row.mjs +0 -41
  1097. package/3rdparty/walkontable/src/viewport.d.ts +0 -254
  1098. package/3rdparty/walkontable/src/viewport.js +0 -533
  1099. package/3rdparty/walkontable/src/viewport.mjs +0 -523
  1100. /package/3rdparty/walkontable/src/{renderer → axisSizing/positionCache}/index.d.mts +0 -0
  1101. /package/3rdparty/walkontable/src/{overlays.d.mts → overlay/overlays.d.mts} +0 -0
  1102. /package/3rdparty/walkontable/src/overlay/{_base.d.mts → regions/_base.d.mts} +0 -0
  1103. /package/3rdparty/walkontable/src/{stickyScrollStrategy.d.mts → overlay/strategies/stickyScrollStrategy.d.mts} +0 -0
  1104. /package/3rdparty/walkontable/src/{renderer → render}/_base.d.mts +0 -0
  1105. /package/3rdparty/walkontable/src/{renderer → render}/_base.js +0 -0
  1106. /package/3rdparty/walkontable/src/{renderer → render}/_base.mjs +0 -0
  1107. /package/3rdparty/walkontable/src/{renderer → render}/cells.d.mts +0 -0
  1108. /package/3rdparty/walkontable/src/{renderer → render}/cells.d.ts +0 -0
  1109. /package/3rdparty/walkontable/src/{renderer → render}/colGroup.d.mts +0 -0
  1110. /package/3rdparty/walkontable/src/{renderer → render}/colGroup.d.ts +0 -0
  1111. /package/3rdparty/walkontable/src/{renderer → render}/colGroup.js +0 -0
  1112. /package/3rdparty/walkontable/src/{renderer → render}/colGroup.mjs +0 -0
  1113. /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.d.mts +0 -0
  1114. /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.d.ts +0 -0
  1115. /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.js +0 -0
  1116. /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.mjs +0 -0
  1117. /package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.d.mts +0 -0
  1118. /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.d.mts +0 -0
  1119. /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.d.ts +0 -0
  1120. /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.js +0 -0
  1121. /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.mjs +0 -0
  1122. /package/3rdparty/walkontable/src/{renderer → render}/rows.d.mts +0 -0
  1123. /package/3rdparty/walkontable/src/{renderer → render}/rows.d.ts +0 -0
  1124. /package/3rdparty/walkontable/src/{scroll.d.mts → scroll/scroll.d.mts} +0 -0
  1125. /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.d.mts +0 -0
  1126. /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.d.mts +0 -0
  1127. /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.js +0 -0
  1128. /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.mjs +0 -0
  1129. /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.d.mts +0 -0
  1130. /package/3rdparty/walkontable/src/{viewport.d.mts → viewport/viewport.d.mts} +0 -0
@@ -1,870 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _element = require("../../../helpers/dom/element");
12
- const _feature = require("../../../helpers/feature");
13
- const _function = require("../../../helpers/function");
14
- const _array = require("../../../helpers/array");
15
- const _unicode = require("../../../helpers/unicode");
16
- const _console = require("../../../helpers/console");
17
- const _overlay = require("./overlay");
18
- const _stickyScrollStrategy = require("./stickyScrollStrategy");
19
- function _check_private_redeclaration(obj, privateCollection) {
20
- if (privateCollection.has(obj)) {
21
- throw new TypeError("Cannot initialize the same private elements twice on an object");
22
- }
23
- }
24
- function _class_apply_descriptor_get(receiver, descriptor) {
25
- if (descriptor.get) {
26
- return descriptor.get.call(receiver);
27
- }
28
- return descriptor.value;
29
- }
30
- function _class_apply_descriptor_set(receiver, descriptor, value) {
31
- if (descriptor.set) {
32
- descriptor.set.call(receiver, value);
33
- } else {
34
- if (!descriptor.writable) {
35
- throw new TypeError("attempted to set read only private field");
36
- }
37
- descriptor.value = value;
38
- }
39
- }
40
- function _class_extract_field_descriptor(receiver, privateMap, action) {
41
- if (!privateMap.has(receiver)) {
42
- throw new TypeError("attempted to " + action + " private field on non-instance");
43
- }
44
- return privateMap.get(receiver);
45
- }
46
- function _class_private_field_get(receiver, privateMap) {
47
- var descriptor = _class_extract_field_descriptor(receiver, privateMap, "get");
48
- return _class_apply_descriptor_get(receiver, descriptor);
49
- }
50
- function _class_private_field_init(obj, privateMap, value) {
51
- _check_private_redeclaration(obj, privateMap);
52
- privateMap.set(obj, value);
53
- }
54
- function _class_private_field_set(receiver, privateMap, value) {
55
- var descriptor = _class_extract_field_descriptor(receiver, privateMap, "set");
56
- _class_apply_descriptor_set(receiver, descriptor, value);
57
- return value;
58
- }
59
- function _class_private_method_get(receiver, privateSet, fn) {
60
- if (!privateSet.has(receiver)) {
61
- throw new TypeError("attempted to get private field on non-instance");
62
- }
63
- return fn;
64
- }
65
- function _class_private_method_init(obj, privateSet) {
66
- _check_private_redeclaration(obj, privateSet);
67
- privateSet.add(obj);
68
- }
69
- /**
70
- * Type predicate that checks whether a WheelEvent carries the legacy
71
- * non-standard `wheelDeltaX`/`wheelDeltaY` properties emitted by older browsers.
72
- *
73
- * @param {WheelEvent} event The wheel event to test.
74
- * @returns {boolean}
75
- */ function isWheelEventWithLegacyDelta(event) {
76
- return 'wheelDeltaY' in event || 'wheelDeltaX' in event;
77
- }
78
- var /**
79
- * An array of the all overlays.
80
- *
81
- * @type {Overlay[]}
82
- */ _overlays = /*#__PURE__*/ new WeakMap(), /**
83
- * Indicates whether the rendering state has changed for one of the overlays.
84
- *
85
- * @type {boolean}
86
- */ _hasRenderingStateChanged = /*#__PURE__*/ new WeakMap(), /**
87
- * Cached vertical scroll position used to deduplicate `onScrollVertically` callbacks.
88
- * Tracks the value returned by `topOverlay.getScrollPosition()` at the time the callback
89
- * was last fired so that a second call with an unchanged position is suppressed.
90
- *
91
- * @type {number | null}
92
- */ _lastVerticalScrollPositionForCallback = /*#__PURE__*/ new WeakMap(), /**
93
- * Cached horizontal scroll position used to deduplicate `onScrollHorizontally` callbacks.
94
- * Tracks the value returned by `inlineStartOverlay.getScrollPosition()` at the time the
95
- * callback was last fired so that a second call with an unchanged position is suppressed.
96
- *
97
- * @type {number | null}
98
- */ _lastHorizontalScrollPositionForCallback = /*#__PURE__*/ new WeakMap(), /**
99
- * The amount of times the ResizeObserver callback was fired in direct succession.
100
- *
101
- * @type {number}
102
- */ _containerDomResizeCount = /*#__PURE__*/ new WeakMap(), /**
103
- * The timeout ID for the ResizeObserver endless-loop-blocking logic.
104
- *
105
- * @type {number}
106
- */ _containerDomResizeCountTimeout = /*#__PURE__*/ new WeakMap(), /**
107
- * Debounced `updateLastSpreaderSize` / `adjustElementsSize` used during scroll so rapid
108
- * `refresh` calls do not repeat layout work every frame.
109
- *
110
- * @type {Function}
111
- */ _postponedAdjustElementsSize = /*#__PURE__*/ new WeakMap(), /**
112
- * Strategy that manages the sticky-scroll optimization during native
113
- * scrollbar drag. Extracted as a separate class to isolate the sticky
114
- * positioning lifecycle from the overlay coordinator.
115
- *
116
- * @type {StickyScrollStrategy}
117
- */ _stickyScroll = /*#__PURE__*/ new WeakMap(), /**
118
- * Caches the initial vertical and horizontal scroll positions for callback deduplication.
119
- */ _cacheScrollCallbackPositions = /*#__PURE__*/ new WeakSet(), /**
120
- * Checks whether the vertical scroll position has changed since the last `onScrollVertically`
121
- * callback and updates the cache. Returns `true` when the callback should fire.
122
- *
123
- * @returns {boolean}
124
- */ _didVerticalScrollPositionChange = /*#__PURE__*/ new WeakSet(), /**
125
- * Checks whether the horizontal scroll position has changed since the last `onScrollHorizontally`
126
- * callback and updates the cache. Returns `true` when the callback should fire.
127
- *
128
- * @returns {boolean}
129
- */ _didHorizontalScrollPositionChange = /*#__PURE__*/ new WeakSet(), /**
130
- * Adjust the elements size if needed.
131
- */ _adjustElementsSizeIfNeeded = /*#__PURE__*/ new WeakSet();
132
- /**
133
- * @class Overlays
134
- */ class Overlays {
135
- /**
136
- * Get the list of references to all overlays.
137
- *
138
- * @param {boolean} [includeMaster = false] If set to `true`, the list will contain the master table as the last
139
- * element.
140
- * @returns {(TopOverlay|TopInlineStartCornerOverlay|InlineStartOverlay|BottomOverlay|BottomInlineStartCornerOverlay)[]}
141
- */ getOverlays(includeMaster = false) {
142
- const overlays = [
143
- ..._class_private_field_get(this, _overlays)
144
- ];
145
- if (includeMaster) {
146
- overlays.push(this.wtTable);
147
- }
148
- return overlays;
149
- }
150
- /**
151
- * Retrieve browser line height and apply its value to `browserLineHeight`.
152
- *
153
- * @private
154
- */ initBrowserLineHeight() {
155
- const { rootWindow, rootDocument } = this.domBindings;
156
- const computedStyle = rootWindow.getComputedStyle(rootDocument.body);
157
- /**
158
- * Sometimes `line-height` might be set to 'normal'. In that case, a default `font-size` should be multiplied by roughly 1.2.
159
- * Https://developer.mozilla.org/pl/docs/Web/CSS/line-height#Values.
160
- */ const lineHeight = parseInt(computedStyle.lineHeight, 10);
161
- const lineHeightFalback = parseInt(computedStyle.fontSize, 10) * 1.2;
162
- this.browserLineHeight = lineHeight || lineHeightFalback;
163
- }
164
- /**
165
- * Prepare overlays based on user settings.
166
- *
167
- * @private
168
- */ initOverlays() {
169
- const args = [
170
- this.wot,
171
- this.facadeGetter,
172
- this.wtSettings,
173
- this.domBindings
174
- ];
175
- // todo refactoring: IOC, collection or factories.
176
- // TODO refactoring, conceive about using generic collection of overlays.
177
- this.topOverlay = new _overlay.TopOverlay(args[0], args[1], args[2], args[3]);
178
- this.bottomOverlay = new _overlay.BottomOverlay(args[0], args[1], args[2], args[3]);
179
- this.inlineStartOverlay = new _overlay.InlineStartOverlay(args[0], args[1], args[2], args[3]);
180
- // TODO discuss, the controversial here would be removing the lazy creation mechanism for corners.
181
- // TODO cond. Has no any visual impact. They're initially hidden in same way like left, top, and bottom overlays.
182
- this.topInlineStartCornerOverlay = new _overlay.TopInlineStartCornerOverlay(args[0], args[1], args[2], args[3], this.topOverlay, this.inlineStartOverlay);
183
- this.bottomInlineStartCornerOverlay = new _overlay.BottomInlineStartCornerOverlay(args[0], args[1], args[2], args[3], this.bottomOverlay, this.inlineStartOverlay);
184
- _class_private_field_set(this, _overlays, [
185
- this.topOverlay,
186
- this.bottomOverlay,
187
- this.inlineStartOverlay,
188
- this.topInlineStartCornerOverlay,
189
- this.bottomInlineStartCornerOverlay
190
- ]);
191
- }
192
- /**
193
- * Runs logic for the overlays before the table is drawn.
194
- */ beforeDraw() {
195
- _class_private_field_set(this, _hasRenderingStateChanged, _class_private_field_get(this, _overlays).reduce((acc, overlay)=>{
196
- return overlay.hasRenderingStateChanged() || acc;
197
- }, false));
198
- _class_private_field_get(this, _overlays).forEach((overlay)=>overlay.updateStateOfRendering('before'));
199
- }
200
- /**
201
- * Runs logic for the overlays after the table is drawn.
202
- */ afterDraw() {
203
- this.syncScrollWithMaster();
204
- _class_private_field_get(this, _overlays).forEach((overlay)=>{
205
- const hasRenderingStateChanged = overlay.hasRenderingStateChanged();
206
- overlay.updateStateOfRendering('after');
207
- if (hasRenderingStateChanged && !overlay.needFullRender) {
208
- overlay.reset();
209
- }
210
- });
211
- }
212
- /**
213
- * Refresh and redraw table.
214
- */ refreshAll() {
215
- if (!this.wot.drawn) {
216
- return;
217
- }
218
- if (!this.wtTable.holder.parentNode) {
219
- // Walkontable was detached from DOM, but this handler was not removed
220
- this.destroy();
221
- return;
222
- }
223
- this.wot.draw(true);
224
- if (this.verticalScrolling && _class_private_method_get(this, _didVerticalScrollPositionChange, didVerticalScrollPositionChange).call(this)) {
225
- this.inlineStartOverlay.onScroll(); // todo the inlineStartOverlay.onScroll() fires hook. Why is it needed there, not in any another place?
226
- }
227
- if (this.horizontalScrolling && _class_private_method_get(this, _didHorizontalScrollPositionChange, didHorizontalScrollPositionChange).call(this)) {
228
- this.topOverlay.onScroll();
229
- }
230
- this.verticalScrolling = false;
231
- this.horizontalScrolling = false;
232
- }
233
- /**
234
- * Register all necessary event listeners.
235
- */ registerListeners() {
236
- const { rootDocument, rootWindow } = this.domBindings;
237
- const { mainTableScrollableElement: topOverlayScrollableElement } = this.topOverlay;
238
- const { mainTableScrollableElement: inlineStartOverlayScrollableElement } = this.inlineStartOverlay;
239
- this.eventManager.addEventListener(rootDocument.documentElement, 'keydown', (event)=>this.onKeyDown(event));
240
- this.eventManager.addEventListener(rootDocument.documentElement, 'keyup', ()=>this.onKeyUp());
241
- this.eventManager.addEventListener(rootDocument, 'visibilitychange', ()=>this.onKeyUp());
242
- _class_private_field_get(this, _stickyScroll).registerListeners();
243
- this.eventManager.addEventListener(topOverlayScrollableElement, 'scroll', (event)=>this.onTableScroll(event), {
244
- passive: true
245
- });
246
- if (topOverlayScrollableElement !== inlineStartOverlayScrollableElement) {
247
- this.eventManager.addEventListener(inlineStartOverlayScrollableElement, 'scroll', (event)=>this.onTableScroll(event), {
248
- passive: true
249
- });
250
- }
251
- const isScrollOnWindow = this.scrollableElement === rootWindow;
252
- const preventWheel = this.wtSettings.getSetting('preventWheel');
253
- const wheelEventOptions = {
254
- passive: isScrollOnWindow
255
- };
256
- this.eventManager.addEventListener(this.wtTable.wtRootElement, 'wheel', (event)=>this.onCloneWheel(event, preventWheel), wheelEventOptions);
257
- const overlays = [
258
- this.topOverlay,
259
- this.bottomOverlay,
260
- this.inlineStartOverlay,
261
- this.topInlineStartCornerOverlay,
262
- this.bottomInlineStartCornerOverlay
263
- ];
264
- overlays.forEach((overlay)=>{
265
- if (!overlay.clone) {
266
- return;
267
- }
268
- this.eventManager.addEventListener(overlay.clone.wtTable.holder, 'wheel', (event)=>this.onCloneWheel(event, preventWheel), wheelEventOptions);
269
- });
270
- let resizeTimeout;
271
- this.eventManager.addEventListener(rootWindow, 'resize', ()=>{
272
- (0, _feature.requestAnimationFrame)(()=>{
273
- clearTimeout(resizeTimeout);
274
- this.wtSettings.getSetting('onWindowResize');
275
- resizeTimeout = setTimeout(()=>{
276
- // Remove resizing the window from the ResizeObserver's endless-loop-blocking logic.
277
- _class_private_field_set(this, _containerDomResizeCount, 0);
278
- }, 200);
279
- });
280
- });
281
- if (!isScrollOnWindow) {
282
- if (this.wtTable.wtRootElement.parentElement) {
283
- this.resizeObserver.observe(this.wtTable.wtRootElement.parentElement);
284
- }
285
- }
286
- }
287
- /**
288
- * Scroll listener.
289
- *
290
- * @param {Event} event The mouse event object.
291
- */ onTableScroll(event) {
292
- // There was if statement which controlled flow of this function. It avoided the execution of the next lines
293
- // on mobile devices. It was changed. Broader description of this case is included within issue #4856.
294
- const rootWindow = this.domBindings.rootWindow;
295
- const masterHorizontal = this.inlineStartOverlay.mainTableScrollableElement;
296
- const masterVertical = this.topOverlay.mainTableScrollableElement;
297
- const target = event.target;
298
- // For key press, sync only master -> overlay position because while pressing Walkontable.render is triggered
299
- // by hot.refreshBorder
300
- if (this.keyPressed) {
301
- if (masterVertical !== rootWindow && target !== rootWindow && !(masterVertical instanceof HTMLElement && (0, _element.eventTargetEl)(event).contains(masterVertical)) || masterHorizontal !== rootWindow && target !== rootWindow && !(masterHorizontal instanceof HTMLElement && (0, _element.eventTargetEl)(event).contains(masterHorizontal))) {
302
- return;
303
- }
304
- }
305
- this.syncScrollPositions();
306
- }
307
- /**
308
- * Wheel listener for cloned overlays.
309
- *
310
- * @param {Event} event The mouse event object.
311
- * @param {boolean} preventDefault If `true`, the `preventDefault` will be called on event object.
312
- */ onCloneWheel(event, preventDefault) {
313
- // Fix for Windows OS, where the ctrl key is used to zoom the page (issue #dev-2405).
314
- if (event.ctrlKey) {
315
- return;
316
- }
317
- const { rootWindow } = this.domBindings;
318
- // There was if statement which controlled flow of this function. It avoided the execution of the next lines
319
- // on mobile devices. It was changed. Broader description of this case is included within issue #4856.
320
- const masterHorizontal = this.inlineStartOverlay.mainTableScrollableElement;
321
- const masterVertical = this.topOverlay.mainTableScrollableElement;
322
- const target = event.target;
323
- // For key press, sync only master -> overlay position because while pressing Walkontable.render is triggered
324
- // by hot.refreshBorder
325
- const shouldNotWheelVertically = masterVertical !== rootWindow && target !== rootWindow && !(target instanceof Node && masterVertical instanceof HTMLElement && target.contains(masterVertical));
326
- const shouldNotWheelHorizontally = masterHorizontal !== rootWindow && target !== rootWindow && !(target instanceof Node && masterHorizontal instanceof HTMLElement && target.contains(masterHorizontal));
327
- if (this.keyPressed && (shouldNotWheelVertically || shouldNotWheelHorizontally) || this.scrollableElement === rootWindow) {
328
- return;
329
- }
330
- const isScrollPossible = this.translateMouseWheelToScroll(event);
331
- if (preventDefault || this.scrollableElement !== rootWindow && isScrollPossible) {
332
- event.preventDefault();
333
- }
334
- }
335
- /**
336
- * Key down listener.
337
- *
338
- * @param {Event} event The keyboard event object.
339
- */ onKeyDown(event) {
340
- this.keyPressed = (0, _unicode.isKey)(event.keyCode, 'ARROW_UP|ARROW_RIGHT|ARROW_DOWN|ARROW_LEFT');
341
- }
342
- /**
343
- * Key up listener.
344
- */ onKeyUp() {
345
- this.keyPressed = false;
346
- }
347
- /**
348
- * Translate wheel event into scroll event and sync scroll overlays position.
349
- *
350
- * @private
351
- * @param {Event} event The mouse event object.
352
- * @returns {boolean}
353
- */ translateMouseWheelToScroll(event) {
354
- let deltaY;
355
- let deltaX;
356
- if (isWheelEventWithLegacyDelta(event)) {
357
- deltaY = isNaN(event.deltaY) ? -1 * (event.wheelDeltaY ?? 0) : event.deltaY;
358
- deltaX = isNaN(event.deltaX) ? -1 * (event.wheelDeltaX ?? 0) : event.deltaX;
359
- } else {
360
- deltaY = event.deltaY;
361
- deltaX = event.deltaX;
362
- }
363
- if (event.deltaMode === 1) {
364
- deltaX += deltaX * this.browserLineHeight;
365
- deltaY += deltaY * this.browserLineHeight;
366
- }
367
- const isScrollVerticallyPossible = this.scrollVertically(deltaY);
368
- const isScrollHorizontallyPossible = this.scrollHorizontally(deltaX);
369
- return isScrollVerticallyPossible || isScrollHorizontallyPossible;
370
- }
371
- /**
372
- * Scrolls main scrollable element horizontally.
373
- *
374
- * @param {number} delta Relative value to scroll.
375
- * @returns {boolean}
376
- */ scrollVertically(delta) {
377
- if (!(this.scrollableElement instanceof HTMLElement)) {
378
- return false;
379
- }
380
- const el = this.scrollableElement;
381
- const previousScroll = el.scrollTop;
382
- el.scrollTop += delta;
383
- return previousScroll !== el.scrollTop;
384
- }
385
- /**
386
- * Scrolls main scrollable element horizontally.
387
- *
388
- * @param {number} delta Relative value to scroll.
389
- * @returns {boolean}
390
- */ scrollHorizontally(delta) {
391
- if (!(this.scrollableElement instanceof HTMLElement)) {
392
- return false;
393
- }
394
- const el = this.scrollableElement;
395
- const previousScroll = el.scrollLeft;
396
- el.scrollLeft += delta;
397
- return previousScroll !== el.scrollLeft;
398
- }
399
- /**
400
- * Synchronize scroll position between master table and overlay table.
401
- *
402
- * @private
403
- */ syncScrollPositions() {
404
- if (this.destroyed) {
405
- return;
406
- }
407
- const topHolder = this.topOverlay.clone?.wtTable.holder; // todo rethink
408
- const leftHolder = this.inlineStartOverlay.clone?.wtTable.holder; // todo rethink
409
- const preventOverflow = this.wtSettings.getSetting('preventOverflow');
410
- let scrollX = this.scrollableElement instanceof HTMLElement ? this.scrollableElement.scrollLeft : 0;
411
- let scrollY = this.scrollableElement instanceof HTMLElement ? this.scrollableElement.scrollTop : 0;
412
- if (this.wot.wtViewport.isHorizontallyScrollableByWindow() && (typeof preventOverflow === 'boolean' && preventOverflow || preventOverflow !== 'horizontal') && this.scrollableElement instanceof Window) {
413
- scrollX = this.scrollableElement.scrollX;
414
- }
415
- if (this.wot.wtViewport.isVerticallyScrollableByWindow() && (typeof preventOverflow === 'boolean' && preventOverflow || preventOverflow !== 'vertical') && this.scrollableElement instanceof Window) {
416
- scrollY = this.scrollableElement.scrollY;
417
- }
418
- this.horizontalScrolling = this.lastScrollX !== scrollX;
419
- this.verticalScrolling = this.lastScrollY !== scrollY;
420
- this.lastScrollX = scrollX;
421
- this.lastScrollY = scrollY;
422
- _class_private_field_get(this, _stickyScroll).tryActivate(this.verticalScrolling, this.horizontalScrolling);
423
- if (this.horizontalScrolling) {
424
- if ((0, _element.isHTMLElement)(topHolder)) {
425
- topHolder.scrollLeft = scrollX;
426
- }
427
- const bottomHolder = this.bottomOverlay.needFullRender ? this.bottomOverlay.clone?.wtTable.holder : null; // todo rethink
428
- if (bottomHolder) {
429
- bottomHolder.scrollLeft = scrollX;
430
- }
431
- }
432
- if (this.verticalScrolling) {
433
- // In window-scroll mode the left overlay's row positions are driven by
434
- // spreader.style.top; the holder must not accumulate scroll offset.
435
- // Setting scrollTop to window.scrollY would be capped to the tiny
436
- // hider/holder size difference caused by fractional zoom rounding,
437
- // shifting the visible rows and misaligning them with the master table.
438
- if ((0, _element.isHTMLElement)(leftHolder)) {
439
- if (this.wot.wtViewport.isVerticallyScrollableByWindow()) {
440
- leftHolder.scrollTop = 0;
441
- } else {
442
- leftHolder.scrollTop = scrollY;
443
- }
444
- }
445
- }
446
- this.refreshAll();
447
- _class_private_field_get(this, _stickyScroll).syncOffsets();
448
- }
449
- /**
450
- * Synchronize overlay scrollbars with the master scrollbar.
451
- */ syncScrollWithMaster() {
452
- if (!_class_private_field_get(this, _hasRenderingStateChanged)) {
453
- return;
454
- }
455
- const masterScrollable = this.topOverlay.mainTableScrollableElement;
456
- if (!(masterScrollable instanceof HTMLElement)) {
457
- return;
458
- }
459
- const { scrollLeft, scrollTop } = masterScrollable;
460
- if (this.topOverlay.needFullRender && this.topOverlay.clone) {
461
- this.topOverlay.clone.wtTable.holder.scrollLeft = scrollLeft; // todo rethink, *overlay.setScroll*()
462
- }
463
- if (this.bottomOverlay.needFullRender && this.bottomOverlay.clone) {
464
- this.bottomOverlay.clone.wtTable.holder.scrollLeft = scrollLeft; // todo rethink, *overlay.setScroll*()
465
- }
466
- if (this.inlineStartOverlay.needFullRender && this.inlineStartOverlay.clone) {
467
- this.inlineStartOverlay.clone.wtTable.holder.scrollTop = scrollTop; // todo rethink, *overlay.setScroll*()
468
- }
469
- _class_private_field_set(this, _hasRenderingStateChanged, false);
470
- }
471
- /**
472
- * Update the main scrollable elements for all the overlays.
473
- */ updateMainScrollableElements() {
474
- this.eventManager.clearEvents(true);
475
- this.inlineStartOverlay.updateMainScrollableElement();
476
- this.topOverlay.updateMainScrollableElement();
477
- if (this.bottomOverlay.needFullRender) {
478
- this.bottomOverlay.updateMainScrollableElement();
479
- }
480
- const { wtTable } = this;
481
- const { rootWindow } = this.domBindings;
482
- const tableParentNode = wtTable.wtRootElement.parentNode;
483
- // Use nodeType === 1 instead of instanceof Element so the check works across realms (iframes).
484
- // Falls back to '' when there is no element parent (null or detached).
485
- const computedOverflow = tableParentNode !== null && tableParentNode.nodeType === 1 ? rootWindow.getComputedStyle(tableParentNode).getPropertyValue('overflow') : '';
486
- if (computedOverflow === 'hidden' || computedOverflow === 'clip') {
487
- this.scrollableElement = wtTable.holder;
488
- } else {
489
- this.scrollableElement = (0, _element.getScrollableElement)(wtTable.TABLE);
490
- }
491
- this.registerListeners();
492
- }
493
- /**
494
- *
495
- */ destroy() {
496
- _class_private_field_get(this, _postponedAdjustElementsSize).cancel();
497
- if (_class_private_field_get(this, _containerDomResizeCountTimeout) !== null) {
498
- clearTimeout(_class_private_field_get(this, _containerDomResizeCountTimeout));
499
- _class_private_field_set(this, _containerDomResizeCountTimeout, null);
500
- }
501
- this.resizeObserver.disconnect();
502
- _class_private_field_get(this, _stickyScroll).destroy();
503
- this.eventManager.destroy();
504
- // todo, probably all below `destroy` calls has no sense. To analyze
505
- this.topOverlay.destroy();
506
- if (this.bottomOverlay.clone) {
507
- this.bottomOverlay.destroy();
508
- }
509
- this.inlineStartOverlay.destroy();
510
- if (this.topInlineStartCornerOverlay) {
511
- this.topInlineStartCornerOverlay.destroy();
512
- }
513
- if (this.bottomInlineStartCornerOverlay && this.bottomInlineStartCornerOverlay.clone) {
514
- this.bottomInlineStartCornerOverlay.destroy();
515
- }
516
- this.destroyed = true;
517
- }
518
- /**
519
- * @param {boolean} [fastDraw=false] When `true`, try to refresh only the positions of borders without rerendering
520
- * the data. It will only work if Table.draw() does not force
521
- * rendering anyway.
522
- */ refresh(fastDraw = false) {
523
- const isScrollTriggered = this.verticalScrolling || this.horizontalScrolling;
524
- if (isScrollTriggered) {
525
- _class_private_field_get(this, _postponedAdjustElementsSize).call(this);
526
- } else {
527
- _class_private_method_get(this, _adjustElementsSizeIfNeeded, adjustElementsSizeIfNeeded).call(this);
528
- }
529
- if (this.bottomOverlay.clone) {
530
- this.bottomOverlay.refresh(fastDraw);
531
- }
532
- this.inlineStartOverlay.refresh(fastDraw);
533
- this.topOverlay.refresh(fastDraw);
534
- if (this.topInlineStartCornerOverlay) {
535
- this.topInlineStartCornerOverlay.refresh(fastDraw);
536
- }
537
- if (this.bottomInlineStartCornerOverlay && this.bottomInlineStartCornerOverlay.clone) {
538
- this.bottomInlineStartCornerOverlay.refresh(fastDraw);
539
- }
540
- }
541
- /**
542
- * Update the last cached spreader size with the current size.
543
- *
544
- * @returns {boolean} `true` if the lastSpreaderSize cache was updated, `false` otherwise.
545
- */ updateLastSpreaderSize() {
546
- const spreader = this.wtTable.spreader;
547
- const width = spreader.clientWidth;
548
- const height = spreader.clientHeight;
549
- const needsUpdating = width !== this.spreaderLastSize.width || height !== this.spreaderLastSize.height;
550
- if (needsUpdating) {
551
- this.spreaderLastSize.width = width;
552
- this.spreaderLastSize.height = height;
553
- }
554
- return needsUpdating;
555
- }
556
- /**
557
- * Adjust overlays elements size and master table size.
558
- */ adjustElementsSize() {
559
- const { wtViewport } = this.wot;
560
- const { wtTable } = this;
561
- const { rootWindow } = this.domBindings;
562
- const isWindowScrolled = this.scrollableElement === rootWindow;
563
- const totalColumns = this.wtSettings.getSetting('totalColumns');
564
- const totalRows = this.wtSettings.getSetting('totalRows');
565
- const headerRowSize = wtViewport.getRowHeaderWidth();
566
- const headerColumnSize = wtViewport.getColumnHeaderHeight();
567
- // The internal row height calculator contains a known issue that results in a 1px miscalculation.
568
- // Ideally, this should be addressed at the core level. However, resolving it is non-trivial,
569
- // as the flaw is embedded across multiple core modules and corresponding test cases.
570
- // This limitation does not affect when the external calculator is used (AutoRowSize), which
571
- // computes heights accurately, so no adjustment is required when using it.
572
- const hiderHeightComp = this.wtSettings.getSetting('externalRowCalculator') ? 0 : 1;
573
- const proposedHiderHeight = headerColumnSize + this.topOverlay.sumCellSizes(0, totalRows) + hiderHeightComp;
574
- const proposedHiderWidth = headerRowSize + this.inlineStartOverlay.sumCellSizes(0, totalColumns);
575
- const hiderElement = wtTable.hider;
576
- const hiderStyle = hiderElement.style;
577
- const isScrolledBeyondHiderHeight = ()=>{
578
- if (isWindowScrolled || !(this.scrollableElement instanceof HTMLElement)) {
579
- return false;
580
- }
581
- return this.scrollableElement.scrollTop > Math.max(0, proposedHiderHeight - wtTable.holder.clientHeight);
582
- };
583
- const isScrolledBeyondHiderWidth = ()=>{
584
- if (isWindowScrolled || !(this.scrollableElement instanceof HTMLElement)) {
585
- return false;
586
- }
587
- return this.scrollableElement.scrollLeft > Math.max(0, proposedHiderWidth - wtTable.holder.clientWidth);
588
- };
589
- const columnHeaderBorderCompensation = isScrolledBeyondHiderHeight() ? 1 : 0;
590
- const rowHeaderBorderCompensation = isScrolledBeyondHiderWidth() ? 1 : 0;
591
- // If the elements are being adjusted after scrolling the table from the very beginning to the very end,
592
- // we need to adjust the hider dimensions by the header border size. (https://github.com/handsontable/dev-handsontable/issues/1772)
593
- hiderStyle.width = `${proposedHiderWidth + rowHeaderBorderCompensation}px`;
594
- hiderStyle.height = `${proposedHiderHeight + columnHeaderBorderCompensation}px`;
595
- this.topOverlay.adjustElementsSize();
596
- this.inlineStartOverlay.adjustElementsSize();
597
- this.bottomOverlay.adjustElementsSize();
598
- }
599
- /**
600
- * Expand the hider vertically element by the provided delta value.
601
- *
602
- * @param {number} heightDelta The delta value to expand the hider element by.
603
- */ expandHiderVerticallyBy(heightDelta) {
604
- const { wtTable } = this;
605
- wtTable.hider.style.height = `${parseInt(wtTable.hider.style.height, 10) + heightDelta}px`;
606
- }
607
- /**
608
- * Expand the hider horizontally element by the provided delta value.
609
- *
610
- * @param {number} widthDelta The delta value to expand the hider element by.
611
- */ expandHiderHorizontallyBy(widthDelta) {
612
- const { wtTable } = this;
613
- wtTable.hider.style.width = `${parseInt(wtTable.hider.style.width, 10) + widthDelta}px`;
614
- }
615
- /**
616
- *
617
- */ applyToDOM() {
618
- if (!this.wtTable.isVisible()) {
619
- return;
620
- }
621
- this.topOverlay.applyToDOM();
622
- if (this.bottomOverlay.clone) {
623
- this.bottomOverlay.applyToDOM();
624
- }
625
- this.inlineStartOverlay.applyToDOM();
626
- _class_private_field_get(this, _stickyScroll).syncOffsets();
627
- }
628
- /**
629
- * Get the parent overlay of the provided element.
630
- *
631
- * @param {HTMLElement} element An element to process.
632
- * @returns {WalkontableInstance|null}
633
- */ getParentOverlay(element) {
634
- if (!element) {
635
- return null;
636
- }
637
- const overlays = [
638
- this.topOverlay,
639
- this.inlineStartOverlay,
640
- this.bottomOverlay,
641
- this.topInlineStartCornerOverlay,
642
- this.bottomInlineStartCornerOverlay
643
- ];
644
- let result = null;
645
- (0, _array.arrayEach)(overlays, (overlay)=>{
646
- if (!overlay) {
647
- return;
648
- }
649
- if (overlay.clone && overlay.clone.wtTable.TABLE.contains(element)) {
650
- result = overlay.clone;
651
- }
652
- });
653
- return result;
654
- }
655
- /**
656
- * Synchronize the class names between the main overlay table and the tables on the other overlays.
657
- *
658
- */ syncOverlayTableClassNames() {
659
- const masterTable = this.wtTable.TABLE;
660
- const overlays = [
661
- this.topOverlay,
662
- this.inlineStartOverlay,
663
- this.bottomOverlay,
664
- this.topInlineStartCornerOverlay,
665
- this.bottomInlineStartCornerOverlay
666
- ];
667
- (0, _array.arrayEach)(overlays, (elem)=>{
668
- if (!elem) {
669
- return;
670
- }
671
- if (elem.clone) {
672
- elem.clone.wtTable.TABLE.className = masterTable.className; // todo demeter
673
- }
674
- });
675
- }
676
- /**
677
- * @param {Walkontable} wotInstance The Walkontable instance. @todo refactoring remove.
678
- * @param {FacadeGetter} facadeGetter Function which return proper facade.
679
- * @param {DomBindings} domBindings Bindings into DOM.
680
- * @param {Settings} wtSettings The Walkontable settings.
681
- * @param {EventManager} eventManager The walkontable event manager.
682
- * @param {MasterTable} wtTable The master table.
683
- */ constructor(wotInstance, facadeGetter, domBindings, wtSettings, eventManager, wtTable){
684
- _class_private_method_init(this, _cacheScrollCallbackPositions);
685
- _class_private_method_init(this, _didVerticalScrollPositionChange);
686
- _class_private_method_init(this, _didHorizontalScrollPositionChange);
687
- _class_private_method_init(this, _adjustElementsSizeIfNeeded);
688
- _class_private_field_init(this, _overlays, {
689
- writable: true,
690
- value: void 0
691
- });
692
- _class_private_field_init(this, _hasRenderingStateChanged, {
693
- writable: true,
694
- value: void 0
695
- });
696
- _class_private_field_init(this, _lastVerticalScrollPositionForCallback, {
697
- writable: true,
698
- value: void 0
699
- });
700
- _class_private_field_init(this, _lastHorizontalScrollPositionForCallback, {
701
- writable: true,
702
- value: void 0
703
- });
704
- _class_private_field_init(this, _containerDomResizeCount, {
705
- writable: true,
706
- value: void 0
707
- });
708
- _class_private_field_init(this, _containerDomResizeCountTimeout, {
709
- writable: true,
710
- value: void 0
711
- });
712
- _class_private_field_init(this, _postponedAdjustElementsSize, {
713
- writable: true,
714
- value: void 0
715
- });
716
- _class_private_field_init(this, _stickyScroll, {
717
- writable: true,
718
- value: void 0
719
- });
720
- /**
721
- * The width of the scrollbar.
722
- *
723
- * @protected
724
- * @type {number}
725
- */ this.scrollbarSize = 0;
726
- /**
727
- * Flag indicating whether the overlay has been destroyed.
728
- *
729
- * @protected
730
- * @type {boolean}
731
- */ this.destroyed = false;
732
- /**
733
- * Flag indicating whether a key is currently pressed.
734
- *
735
- * @protected
736
- * @type {boolean}
737
- */ this.keyPressed = false;
738
- /**
739
- * The last cached spreader size.
740
- *
741
- * @protected
742
- * @type {object}
743
- */ this.spreaderLastSize = {
744
- width: null,
745
- height: null
746
- };
747
- /**
748
- * Flag indicating whether the table is being scrolled vertically.
749
- *
750
- * @protected
751
- * @type {boolean}
752
- */ this.verticalScrolling = false;
753
- /**
754
- * Flag indicating whether the table is being scrolled horizontally.
755
- *
756
- * @protected
757
- * @type {boolean}
758
- */ this.horizontalScrolling = false;
759
- /**
760
- * The last horizontal scroll position.
761
- *
762
- * @protected
763
- * @type {number}
764
- */ this.lastScrollX = 0;
765
- /**
766
- * The last vertical scroll position.
767
- *
768
- * @protected
769
- * @type {number}
770
- */ this.lastScrollY = 0;
771
- _class_private_field_set(this, _overlays, []);
772
- _class_private_field_set(this, _hasRenderingStateChanged, false);
773
- _class_private_field_set(this, _lastVerticalScrollPositionForCallback, null);
774
- _class_private_field_set(this, _lastHorizontalScrollPositionForCallback, null);
775
- _class_private_field_set(this, _containerDomResizeCount, 0);
776
- _class_private_field_set(this, _containerDomResizeCountTimeout, null);
777
- _class_private_field_set(this, _postponedAdjustElementsSize, (0, _function.debounce)(_class_private_method_get(this, _adjustElementsSizeIfNeeded, adjustElementsSizeIfNeeded).bind(this), 200));
778
- _class_private_field_set(this, _stickyScroll, new _stickyScrollStrategy.StickyScrollStrategy(this));
779
- /**
780
- * The instance of the ResizeObserver that observes the size of the Walkontable wrapper element.
781
- * In case of the size change detection the `onContainerElementResize` is fired.
782
- *
783
- * @private
784
- * @type {ResizeObserver}
785
- */ this.resizeObserver = new ResizeObserver((entries)=>{
786
- (0, _feature.requestAnimationFrame)(()=>{
787
- if (!Array.isArray(entries) || !entries.length) {
788
- return;
789
- }
790
- _class_private_field_set(this, _containerDomResizeCount, _class_private_field_get(this, _containerDomResizeCount) + 1);
791
- if (_class_private_field_get(this, _containerDomResizeCount) === 300) {
792
- (0, _console.warn)('The ResizeObserver callback was fired too many times in direct succession.' + '\nThis may be due to an infinite loop caused by setting a dynamic height/width (for example, ' + 'with the `dvh` units) to a Handsontable container\'s parent. ' + '\nThe observer will be disconnected.');
793
- this.resizeObserver.disconnect();
794
- }
795
- // This logic is required to prevent an endless loop of the ResizeObserver callback.
796
- // https://github.com/handsontable/dev-handsontable/issues/1898#issuecomment-2154794817
797
- if (_class_private_field_get(this, _containerDomResizeCountTimeout) !== null) {
798
- clearTimeout(_class_private_field_get(this, _containerDomResizeCountTimeout));
799
- }
800
- _class_private_field_set(this, _containerDomResizeCountTimeout, setTimeout(()=>{
801
- _class_private_field_set(this, _containerDomResizeCount, 0);
802
- }, 100));
803
- this.wtSettings.getSetting('onContainerElementResize');
804
- });
805
- });
806
- this.wot = wotInstance;
807
- this.wtSettings = wtSettings;
808
- this.domBindings = domBindings;
809
- this.facadeGetter = facadeGetter;
810
- this.wtTable = wtTable;
811
- const { rootDocument, rootWindow } = this.domBindings;
812
- // legacy support
813
- this.instance = this.wot; // todo refactoring: move to facade
814
- this.eventManager = eventManager;
815
- // TODO refactoring: probably invalid place to this logic
816
- this.scrollbarSize = (0, _element.getScrollbarWidth)(rootDocument);
817
- const rootElementParent = wtTable.wtRootElement.parentNode;
818
- // Use nodeType === 1 instead of instanceof Element so the check works across realms (iframes).
819
- // Falls back to getScrollableElement when there is no element parent (null or detached).
820
- const isOverflowClip = rootElementParent !== null && rootElementParent.nodeType === 1 && (()=>{
821
- const overflow = rootWindow.getComputedStyle(rootElementParent).getPropertyValue('overflow');
822
- return overflow === 'hidden' || overflow === 'clip';
823
- })();
824
- this.scrollableElement = isOverflowClip ? wtTable.holder : (0, _element.getScrollableElement)(wtTable.TABLE);
825
- this.initOverlays();
826
- _class_private_method_get(this, _cacheScrollCallbackPositions, cacheScrollCallbackPositions).call(this);
827
- this.destroyed = false;
828
- this.keyPressed = false;
829
- this.spreaderLastSize = {
830
- width: null,
831
- height: null
832
- };
833
- this.verticalScrolling = false;
834
- this.horizontalScrolling = false;
835
- this.initBrowserLineHeight();
836
- this.registerListeners();
837
- this.lastScrollX = rootWindow.scrollX;
838
- this.lastScrollY = rootWindow.scrollY;
839
- }
840
- }
841
- function cacheScrollCallbackPositions() {
842
- _class_private_field_set(this, _lastVerticalScrollPositionForCallback, this.topOverlay.getScrollPosition());
843
- _class_private_field_set(this, _lastHorizontalScrollPositionForCallback, this.inlineStartOverlay.getScrollPosition());
844
- }
845
- function didVerticalScrollPositionChange() {
846
- const current = this.topOverlay.getScrollPosition();
847
- if (_class_private_field_get(this, _lastVerticalScrollPositionForCallback) === current) {
848
- return false;
849
- }
850
- _class_private_field_set(this, _lastVerticalScrollPositionForCallback, current);
851
- return true;
852
- }
853
- function didHorizontalScrollPositionChange() {
854
- const current = this.inlineStartOverlay.getScrollPosition();
855
- if (_class_private_field_get(this, _lastHorizontalScrollPositionForCallback) === current) {
856
- return false;
857
- }
858
- _class_private_field_set(this, _lastHorizontalScrollPositionForCallback, current);
859
- return true;
860
- }
861
- function adjustElementsSizeIfNeeded() {
862
- if (this.destroyed) {
863
- return;
864
- }
865
- const wasSpreaderSizeUpdated = this.updateLastSpreaderSize();
866
- if (wasSpreaderSizeUpdated) {
867
- this.adjustElementsSize();
868
- }
869
- }
870
- const _default = Overlays;