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
package/helpers/mixed.js CHANGED
@@ -9,6 +9,24 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
+ get _BLOCKING_MODAL_STATES () {
13
+ return _BLOCKING_MODAL_STATES;
14
+ },
15
+ get _LICENSE_EXPIRED_TITLE () {
16
+ return _LICENSE_EXPIRED_TITLE;
17
+ },
18
+ get _PURCHASE_LICENSE_TEXT () {
19
+ return _PURCHASE_LICENSE_TEXT;
20
+ },
21
+ get _formatExpiryClause () {
22
+ return _formatExpiryClause;
23
+ },
24
+ get _formatIsoDate () {
25
+ return _formatIsoDate;
26
+ },
27
+ get _getLicenseState () {
28
+ return _getLicenseState;
29
+ },
12
30
  get _injectProductInfo () {
13
31
  return _injectProductInfo;
14
32
  },
@@ -29,6 +47,7 @@ _export(exports, {
29
47
  }
30
48
  });
31
49
  const _templateLiteralTag = require("./templateLiteralTag");
50
+ const _entitlementLicenseKey = require("../utils/entitlementLicenseKey");
32
51
  function stringify(value) {
33
52
  let result;
34
53
  switch(typeof value){
@@ -69,6 +88,19 @@ const _norm = (v)=>`${v}`.replace(/\-/g, '');
69
88
  const _extractTime = (v)=>_hd(_ss(_norm(v), _hd('12'), _cp('\x46'))) / (_hd(_ss(_norm(v), _cp('\x42'), ~~![][_m])) || 9);
70
89
  const _ignored = ()=>typeof location !== 'undefined' && /^([a-z0-9\-]+\.)?\x68\x61\x6E\x64\x73\x6F\x6E\x74\x61\x62\x6C\x65\x2E\x63\x6F\x6D$/i.test(location.host);
71
90
  let _notified = false;
91
+ // The entitlement-key console message is deduplicated PER KEY, and deliberately SEPARATE from the
92
+ // legacy `_notified` flag above - do NOT merge them. Two reasons for each half:
93
+ //
94
+ // Separate from `_notified`, because the frozen legacy path sets it even when it prints nothing (a
95
+ // non-commercial key's console message is empty), so a shared flag would let a silent non-commercial
96
+ // grid initialized first suppress a later entitlement key's warning.
97
+ //
98
+ // Keyed by the key string rather than a single boolean, because these messages have severity tiers
99
+ // the legacy path never had: a notice window prints `warn`, every stop prints `error`. With one flag,
100
+ // a page whose first grid holds a trial in its notice period would print that warning and silence the
101
+ // expired license on the second grid entirely - a `warn` masking an `error`. Per key, each distinct
102
+ // license still speaks exactly once, and two grids sharing one key still print once between them.
103
+ const _entitlementNotified = new Set();
72
104
  const consoleMessages = {
73
105
  invalid: ()=>(0, _templateLiteralTag.toSingleLine)`
74
106
  The license key for Handsontable is invalid.\x20
@@ -102,10 +134,168 @@ const domMessages = {
102
134
  the documentation or contact us at <a href="mailto:support@handsontable.com">support@handsontable.com</a>.`,
103
135
  non_commercial: ()=>''
104
136
  };
137
+ function _formatExpiryClause(days) {
138
+ if (days === 0) {
139
+ return 'expires today';
140
+ }
141
+ return `expires in ${days} ${days === 1 ? 'day' : 'days'}`;
142
+ }
143
+ /**
144
+ * Marks a date as the UTC calendar day it is. Every message that prints a
145
+ * `usage_until` date carries the marker, because the day is compared against
146
+ * the clock in UTC and a reader in another timezone would otherwise read it as
147
+ * their own. A `release_until` date carries no marker - no clock takes part in
148
+ * the maintenance check.
149
+ *
150
+ * @param {string|undefined} isoDate The date the key carries.
151
+ * @returns {string}
152
+ */ function _utcDay(isoDate) {
153
+ return `${isoDate} (UTC)`;
154
+ }
155
+ const _LICENSE_EXPIRED_TITLE = 'Your Handsontable license key has expired.';
156
+ const _PURCHASE_LICENSE_TEXT = 'To continue using Handsontable, you need to purchase a license.';
157
+ /**
158
+ * The message a lapsed subscription prints, from its first day past the term onwards.
159
+ *
160
+ * @param {EntitlementMessageParams} params The message parameters.
161
+ * @returns {string}
162
+ */ function _subscriptionExpiredMessage({ licensedUntil }) {
163
+ return (0, _templateLiteralTag.toSingleLine)`
164
+ Your Handsontable subscription license expired on ${_utcDay(licensedUntil)}. To continue using the\x20
165
+ software, contact sales@handsontable.com to purchase a valid license key.`;
166
+ }
167
+ /**
168
+ * The console notification for each lifecycle state that talks to the
169
+ * developer, transcribed from the license specification. Silent states (a
170
+ * license comfortably inside its term, a build covered by its maintenance date)
171
+ * have no entry, and neither does a hard-stopped non-trial license: its
172
+ * soft-stop message persists instead.
173
+ */ const entitlementConsoleNotifications = {
174
+ trial_notice: {
175
+ severity: 'warn',
176
+ message: ({ daysRemaining })=>(0, _templateLiteralTag.toSingleLine)`
177
+ Your Handsontable license key ${_formatExpiryClause(daysRemaining)}.\x20
178
+ ${_PURCHASE_LICENSE_TEXT}`
179
+ },
180
+ trial_soft_stop: {
181
+ severity: 'error',
182
+ message: ({ licensedUntil })=>(0, _templateLiteralTag.toSingleLine)`
183
+ Your Handsontable trial license key expired on ${_utcDay(licensedUntil)}.\x20
184
+ ${_PURCHASE_LICENSE_TEXT}`
185
+ },
186
+ trial_hard_stop: {
187
+ severity: 'error',
188
+ message: ({ licensedUntil })=>(0, _templateLiteralTag.toSingleLine)`
189
+ Your Handsontable trial license key expired on ${_utcDay(licensedUntil)}. You may no longer use\x20
190
+ Handsontable under the trial license. To continue using the software, contact\x20
191
+ sales@handsontable.com to purchase a valid license.`
192
+ },
193
+ usage_notice: {
194
+ severity: 'warn',
195
+ message: ({ licensedUntil })=>(0, _templateLiteralTag.toSingleLine)`
196
+ Your Handsontable subscription license expires on ${_utcDay(licensedUntil)}.\x20
197
+ To renew your license, contact sales@handsontable.com.`
198
+ },
199
+ usage_soft_stop: {
200
+ severity: 'error',
201
+ message: _subscriptionExpiredMessage
202
+ },
203
+ // Past its grace period, a non-trial license keeps saying exactly what it said inside it: 18.1
204
+ // never blocks a paying customer, so the soft-stop message persists instead of escalating.
205
+ usage_hard_stop: {
206
+ severity: 'error',
207
+ message: _subscriptionExpiredMessage
208
+ },
209
+ release_expired: {
210
+ severity: 'error',
211
+ message: ({ licensedUntil, hotVersion })=>(0, _templateLiteralTag.toSingleLine)`
212
+ The license key for Handsontable expired on ${licensedUntil}, and is not valid for the installed\x20
213
+ version ${hotVersion}. Renew your license key or downgrade to a version released on or before\x20
214
+ ${licensedUntil}. If you need any help, contact us at sales@handsontable.com.`
215
+ }
216
+ };
217
+ /**
218
+ * The bottom-bar (DOM) copy for the states that show one: the soft-stopped
219
+ * trial and a build past its maintenance date. Three states render the
220
+ * Core-owned lock screen instead of a bar (see `_BLOCKING_MODAL_STATES` below
221
+ * and `utils/licenseBranding/lockScreen.ts`), and a non-trial license never
222
+ * renders a bar - it is developer-facing only in 18.1.
223
+ *
224
+ * The soft-stopped trial DOES carry a bar even though its badge popover auto-opens with the same two
225
+ * sentences. That duplication is deliberate: the bar is the only license surface with a focusable
226
+ * link and a registered focus scope (`utils/licenseNotification.ts`), while the popover is
227
+ * pointer-only by design (`tabIndex = -1` throughout, no focus scope, no `aria-live`). The bar is
228
+ * also the only surface left once the popover is dismissed - on a grid with no corner cell, nothing
229
+ * can reopen the popover for the rest of the instance's life. Removing this entry was tried and
230
+ * reverted (DEV-2709) for exactly those two reasons; leave it in place until the popover can carry
231
+ * the message on its own.
232
+ *
233
+ * Note the shape here is NOT what the specification literally describes. S4.1's soft-stop row reads
234
+ * "Console error. Trial: + modal", and no modal renders for `trial_soft_stop` - `LOCK_CONTENT` has
235
+ * no entry for it. Either "modal" is meant loosely for the auto-opening popover, or the state is
236
+ * missing a surface. That question predates DEV-2709 and is still open; this comment records the
237
+ * divergence rather than settling it.
238
+ */ const entitlementDomMessages = {
239
+ trial_soft_stop: ()=>(0, _templateLiteralTag.toSingleLine)`
240
+ ${_LICENSE_EXPIRED_TITLE} ${_PURCHASE_LICENSE_TEXT}\x20
241
+ <a href="mailto:sales@handsontable.com">Contact Sales</a>.`,
242
+ release_expired: ({ licensedUntil, hotVersion })=>(0, _templateLiteralTag.toSingleLine)`
243
+ The license key for Handsontable expired on ${licensedUntil}, and is not valid for the installed\x20
244
+ version ${hotVersion}. <a href="https://handsontable.com/pricing" target="_blank">Renew</a> your license\x20
245
+ key or downgrade to a version released on or before ${licensedUntil}. If you need any help, contact us\x20
246
+ at <a href="mailto:sales@handsontable.com">sales@handsontable.com</a>.`
247
+ };
248
+ const _BLOCKING_MODAL_STATES = Object.freeze([
249
+ 'trial_hard_stop',
250
+ 'invalid',
251
+ 'missing'
252
+ ]);
253
+ /**
254
+ * Tells whether a license state speaks through the blocking modal rather than the bottom bar.
255
+ *
256
+ * @param {string} state The license state, in either path's vocabulary.
257
+ * @returns {boolean}
258
+ */ function _rendersBlockingModal(state) {
259
+ return _BLOCKING_MODAL_STATES.indexOf(state) !== -1;
260
+ }
261
+ /**
262
+ * Strips surrounding whitespace from a license key.
263
+ *
264
+ * A key pasted out of an email or a chat window commonly carries a trailing space or newline. The
265
+ * legacy 25-character alphabet has no whitespace in it, so an untrimmed key fails the checksum and
266
+ * reads as `invalid` - which, from 18.1 on, BLOCKS the grid. A paying customer must not be locked
267
+ * out by a stray space.
268
+ *
269
+ * Applied at the head of BOTH license entry points (`_injectProductInfo` and `_getLicenseState`),
270
+ * never inside either one: the classifier's whole contract is that it reaches the same verdict as
271
+ * the frozen emitter, so trimming for one and not the other would desync them (the emitter would
272
+ * say `invalid` and withhold the bar while the classifier said `legacy_valid` and withheld the lock,
273
+ * leaving the key silently unreported). The frozen interior of the emitter is untouched - this
274
+ * normalizes its input, exactly like the entitlement reader's own `trim()` in `detectFormat.ts`.
275
+ *
276
+ * @param {string} [key] The license key from the grid settings.
277
+ * @returns {string|undefined} The key without surrounding whitespace.
278
+ */ function _trimKey(key) {
279
+ return typeof key === 'string' ? key.trim() : key;
280
+ }
105
281
  function _injectProductInfo({ className, key, element, releaseDate }) {
282
+ // Reassigning the parameter, exactly as the frozen body below does with `_norm`: the legacy branch
283
+ // needs `key` to stay one mutable binding.
284
+ key = _trimKey(key);
285
+ // An entitlement key is routed to its own path BEFORE any legacy normalization runs. The legacy
286
+ // branch below is left exactly as-is, so every existing key keeps behaving the same. The shape
287
+ // test is two string scans, so a legacy key pays almost nothing for it.
288
+ if ((0, _entitlementLicenseKey.isEntitlementKey)(key)) {
289
+ return _injectEntitlementProductInfo({
290
+ className,
291
+ key,
292
+ element,
293
+ releaseDate
294
+ });
295
+ }
106
296
  const hasValidType = !isEmpty(key);
107
297
  const isNonCommercial = typeof key === 'string' && (key.toLowerCase() === 'non-commercial-and-evaluation' || key.toLowerCase() === 'ht68e-1f2b7-47158-70b05-0842f');
108
- const hotVersion = "18.0.0";
298
+ const hotVersion = "18.1.0-rc11";
109
299
  let keyValidityDate;
110
300
  let consoleMessageState = 'invalid';
111
301
  let domMessageState = 'invalid';
@@ -116,7 +306,7 @@ function _injectProductInfo({ className, key, element, releaseDate }) {
116
306
  domMessageState = 'valid';
117
307
  } else if (hasValidType || schemaValidity) {
118
308
  if (schemaValidity) {
119
- const resolvedReleaseDate = releaseDate ?? "30/06/2026" ?? '';
309
+ const resolvedReleaseDate = releaseDate ?? "01/09/2026" ?? '';
120
310
  const [dd, mm, yyyy] = resolvedReleaseDate.split('/').map(Number);
121
311
  const releaseDays = Math.floor(Date.UTC(yyyy, mm - 1, dd) / 8.64e7);
122
312
  const keyValidityDays = _extractTime(key);
@@ -158,7 +348,7 @@ function _injectProductInfo({ className, key, element, releaseDate }) {
158
348
  }
159
349
  _notified = true;
160
350
  }
161
- if (domMessageState !== 'valid' && element) {
351
+ if (domMessageState !== 'valid' && !_rendersBlockingModal(domMessageState) && element) {
162
352
  const message = domMessages[domMessageState]({
163
353
  keyValidityDate,
164
354
  hotVersion
@@ -179,6 +369,200 @@ function _injectProductInfo({ className, key, element, releaseDate }) {
179
369
  }
180
370
  return null;
181
371
  }
372
+ function _formatIsoDate(timestamp) {
373
+ return new Date(timestamp).toISOString().slice(0, 10);
374
+ }
375
+ /**
376
+ * Converts the build release date ("dd/mm/yyyy", as injected at build time) into the bare
377
+ * "YYYY-MM-DD" string a `release_until` date is compared against. The comparison is text against
378
+ * text - no clock takes part, so it holds on an airgapped machine and cannot differ between two
379
+ * timezones. Returns '' when the build date is unavailable, which the classification reads as
380
+ * "unknown" and fails open on.
381
+ *
382
+ * @param {string} releaseDate The build release date in "dd/mm/yyyy".
383
+ * @returns {string}
384
+ */ function _releaseDateToIsoDate(releaseDate) {
385
+ const [dd, mm, yyyy] = `${releaseDate}`.split('/');
386
+ if (!dd || !mm || !yyyy) {
387
+ return '';
388
+ }
389
+ return `${yyyy}-${mm.padStart(2, '0')}-${dd.padStart(2, '0')}`;
390
+ }
391
+ /**
392
+ * Both notification channels open - what every key outside the entitlement format gets, since only
393
+ * an entitlement key can carry the flags that close one.
394
+ *
395
+ * @type {LicenseChannels}
396
+ */ const OPEN_CHANNELS = Object.freeze({
397
+ console: true,
398
+ ui: true
399
+ });
400
+ /**
401
+ * Builds the lifecycle facet for a state outside the entitlement format (the legacy 25-character
402
+ * family, a missing key, the non-commercial key, or an unreadable entitlement key).
403
+ *
404
+ * @param {string} state The state outside the entitlement format.
405
+ * @param {string|null} [licensedUntil] The expiration date ("YYYY-MM-DD") of a legacy expired key.
406
+ * @returns {LicenseLifecycleFacet}
407
+ */ function _nonEntitlementLifecycle(state, licensedUntil = null) {
408
+ return {
409
+ state,
410
+ isTrial: false,
411
+ daysRemaining: null,
412
+ licensedUntil
413
+ };
414
+ }
415
+ /**
416
+ * Classifies a legacy license key into its lifecycle state. This mirrors - read-only - the exact
417
+ * checks of the frozen legacy branch of `_injectProductInfo` (the non-commercial comparison, the
418
+ * empty-key test, the key schema checksum, and the release-days versus validity-days comparison),
419
+ * so the branding UI sees the same state the legacy console/DOM messaging acts on. The legacy
420
+ * emitter itself is untouched.
421
+ *
422
+ * @param {string} [key] The license key from the grid settings.
423
+ * @param {string} [releaseDate] The build release date ("dd/mm/yyyy").
424
+ * @returns {LicenseLifecycleFacet}
425
+ */ function _classifyLegacyKey(key, releaseDate) {
426
+ const isNonCommercial = typeof key === 'string' && (key.toLowerCase() === 'non-commercial-and-evaluation' || key.toLowerCase() === 'ht68e-1f2b7-47158-70b05-0842f');
427
+ if (isNonCommercial) {
428
+ return _nonEntitlementLifecycle('non_commercial');
429
+ }
430
+ if (isEmpty(key)) {
431
+ return _nonEntitlementLifecycle('missing');
432
+ }
433
+ const normalizedKey = _norm(key || '');
434
+ if (!_checkKeySchema(normalizedKey)) {
435
+ return _nonEntitlementLifecycle('invalid');
436
+ }
437
+ // `??`, exactly as the frozen emitter above resolves it - reaching the same verdict it does is
438
+ // this function's whole contract. With `||`, an explicitly empty `releaseDate` would fall through
439
+ // to the build-time value here while the emitter keeps the empty string, and the two would
440
+ // disagree about one key: the emitter reads no date at all (so the key is valid) while this reads
441
+ // the build date (so the key may be expired).
442
+ const resolvedReleaseDate = releaseDate ?? "01/09/2026" ?? '';
443
+ const [dd, mm, yyyy] = resolvedReleaseDate.split('/').map(Number);
444
+ const releaseDays = Math.floor(Date.UTC(yyyy, mm - 1, dd) / 8.64e7);
445
+ const keyValidityDays = _extractTime(normalizedKey);
446
+ if (releaseDays > keyValidityDays) {
447
+ return _nonEntitlementLifecycle('legacy_expired', _formatIsoDate((keyValidityDays + 1) * 8.64e7));
448
+ }
449
+ return _nonEntitlementLifecycle('legacy_valid');
450
+ }
451
+ function _getLicenseState(rawKey, releaseDate) {
452
+ // The same trim the emitter applies, and for the same reason: this function must reach the emitter's
453
+ // verdict, so both have to see the same key.
454
+ const key = _trimKey(rawKey);
455
+ // The `*.handsontable.com` bypass applies to the whole license state, not just the console path.
456
+ // This is the single point that both consumers (the console/DOM notification and the branding UI)
457
+ // read, so honoring the bypass here keeps them consistent - without it, the app-blocking hard-stop
458
+ // lock would render on Handsontable's own site.
459
+ if (_ignored()) {
460
+ return {
461
+ lifecycle: _nonEntitlementLifecycle('legacy_valid'),
462
+ channels: OPEN_CHANNELS,
463
+ grants: _entitlementLicenseKey.UNRESTRICTED_GRANTS
464
+ };
465
+ }
466
+ if (!(0, _entitlementLicenseKey.isEntitlementKey)(key)) {
467
+ return {
468
+ lifecycle: _classifyLegacyKey(key, releaseDate),
469
+ channels: OPEN_CHANNELS,
470
+ grants: _entitlementLicenseKey.UNRESTRICTED_GRANTS
471
+ };
472
+ }
473
+ const keyData = (0, _entitlementLicenseKey.extractEntitlementKeyData)(key);
474
+ // A key that grants no Handsontable license - an HyperFormula-only key, for example - is not a
475
+ // Handsontable license, so it messages as invalid. Another product's entry never invalidates the
476
+ // key on its own: one install can be licensed for one product and not for another.
477
+ const entitlement = keyData === null ? null : (0, _entitlementLicenseKey.getProductEntitlement)(keyData, _entitlementLicenseKey.HANDSONTABLE_PRODUCT);
478
+ // The grants of an unreadable or foreign key stay UNRESTRICTED - this case must NOT fall through
479
+ // to `getLicenseGrants`, or an invalid key would report Handsontable as not-granted, the opposite
480
+ // of the guarantee that an invalid key unlocks everything.
481
+ if (keyData === null || entitlement === null) {
482
+ return {
483
+ lifecycle: _nonEntitlementLifecycle('invalid'),
484
+ channels: OPEN_CHANNELS,
485
+ grants: _entitlementLicenseKey.UNRESTRICTED_GRANTS
486
+ };
487
+ }
488
+ // `||`, not `??`: a caller resolving the build constant in a broken way passes '' (not
489
+ // undefined), and the empty string must still fall back to the build-time value.
490
+ const resolvedReleaseDate = releaseDate || "01/09/2026" || '';
491
+ const lifecycle = (0, _entitlementLicenseKey.classifyEntitlement)(entitlement, {
492
+ now: Date.now(),
493
+ buildDate: _releaseDateToIsoDate(resolvedReleaseDate)
494
+ });
495
+ return {
496
+ lifecycle,
497
+ channels: (0, _entitlementLicenseKey.resolveChannels)(entitlement),
498
+ grants: (0, _entitlementLicenseKey.getLicenseGrants)(keyData)
499
+ };
500
+ }
501
+ /**
502
+ * Emits the console and DOM notifications for an entitlement license key. The console message fires
503
+ * at most once per page and per key (via the entitlement-only `_entitlementNotified` set, kept
504
+ * separate from the legacy `_notified`) and picks warn/error by state; the DOM bottom bar is shown for the
505
+ * soft-stopped trial and for a build past its maintenance date. A key carrying `no-console-warns` or
506
+ * `no-ui-warns` keeps that channel shut, and the `*.handsontable.com` bypass silences both, exactly
507
+ * like the legacy path.
508
+ *
509
+ * @param {object} params The notification parameters.
510
+ * @param {string} [params.className] The notification element class name.
511
+ * @param {string} [params.key] The entitlement license key.
512
+ * @param {HTMLElement} [params.element] The container to append the bar into.
513
+ * @param {string} [params.releaseDate] The build release date ("dd/mm/yyyy").
514
+ * @returns {HTMLElement|null} The appended bar element, or `null` when none is shown.
515
+ */ function _injectEntitlementProductInfo({ className, key, element, releaseDate }) {
516
+ if (_ignored()) {
517
+ return null;
518
+ }
519
+ const { lifecycle, channels } = _getLicenseState(key, releaseDate);
520
+ const { state } = lifecycle;
521
+ const params = {
522
+ daysRemaining: lifecycle.daysRemaining,
523
+ licensedUntil: lifecycle.licensedUntil ?? undefined,
524
+ hotVersion: "18.1.0-rc11"
525
+ };
526
+ if (channels.console && !_entitlementNotified.has(key ?? '')) {
527
+ // An unreadable key reuses the frozen legacy copy - it is the same failure, and the
528
+ // specification leaves the wording of the invalid-key message open.
529
+ const notification = state === 'invalid' ? {
530
+ severity: 'warn',
531
+ message: ()=>consoleMessages.invalid({})
532
+ } : entitlementConsoleNotifications[state];
533
+ if (notification) {
534
+ // The global `console`, not the `helpers/console` wrappers: importing them would put this
535
+ // module - the leaf that `function`, `object`, `string` and `dateTime` all import - at the top
536
+ // of a cycle (`console` imports `isDefined` from here).
537
+ // The frozen legacy path prints the same way. Disabled per line, not per file - the blanket
538
+ // exemptions end above, so everything else here is linted normally.
539
+ // eslint-disable-next-line no-console, no-restricted-globals
540
+ console[notification.severity](notification.message(params));
541
+ _entitlementNotified.add(key ?? '');
542
+ }
543
+ }
544
+ if (!channels.ui || !element || _rendersBlockingModal(state)) {
545
+ return null;
546
+ }
547
+ const buildDomMessage = entitlementDomMessages[state];
548
+ if (!buildDomMessage) {
549
+ return null;
550
+ }
551
+ // Use the target element's own document so an iframe-hosted grid builds its bar nodes in the
552
+ // right realm (the global `document` would be the loading window's).
553
+ const ownerDocument = element.ownerDocument;
554
+ const messageNode = ownerDocument.createElement('div');
555
+ const innerNode = ownerDocument.createElement('div');
556
+ messageNode.className = `handsontable ${className}`;
557
+ innerNode.className = `${className}_inner`;
558
+ innerNode.innerHTML = buildDomMessage(params);
559
+ messageNode.appendChild(innerNode);
560
+ element.appendChild(messageNode);
561
+ return messageNode;
562
+ }
563
+ /* eslint-disable dot-notation, no-useless-escape, max-len, no-bitwise, computed-property-spacing, jsdoc/require-jsdoc, prefer-const, no-unused-expressions, no-plusplus, space-infix-ops, comma-spacing, no-nested-ternary */ // The last of the frozen legacy validation: the obfuscated 25-character key-schema checksum. It
564
+ // carries the same exemptions as the emitter at the top of the file, re-opened here so the ordinary
565
+ // code between the two is linted normally.
182
566
  function _checkKeySchema(v) {
183
567
  let z = [][_m];
184
568
  let p = z;
@@ -189,4 +573,4 @@ function _checkKeySchema(v) {
189
573
  --j < ''[_m] ? p = p | (_pi(`${_pi(_hd(c) + (_hd(_ss(v, Math.abs(j), 2)) + String([])).padStart(2, '0'))}`) % 97 || 2) >> 1 : c = _ss(v, j, !j ? 6 : i[_m] === 1 ? 9 : 8);
190
574
  }
191
575
  return p === z;
192
- } /* eslint-enable */
576
+ }