handsontable 0.0.0-next-9ec04ce-20221121

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.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

Files changed (1232) hide show
  1. package/3rdparty/SheetClip/SheetClip.js +128 -0
  2. package/3rdparty/SheetClip/SheetClip.mjs +123 -0
  3. package/3rdparty/SheetClip/index.js +7 -0
  4. package/3rdparty/SheetClip/index.mjs +1 -0
  5. package/3rdparty/autoResize/autoResize.js +164 -0
  6. package/3rdparty/autoResize/autoResize.mjs +160 -0
  7. package/3rdparty/autoResize/index.js +6 -0
  8. package/3rdparty/autoResize/index.mjs +1 -0
  9. package/3rdparty/walkontable/src/border.js +746 -0
  10. package/3rdparty/walkontable/src/border.mjs +741 -0
  11. package/3rdparty/walkontable/src/calculator/constants.js +30 -0
  12. package/3rdparty/walkontable/src/calculator/constants.mjs +23 -0
  13. package/3rdparty/walkontable/src/calculator/index.js +22 -0
  14. package/3rdparty/walkontable/src/calculator/index.mjs +4 -0
  15. package/3rdparty/walkontable/src/calculator/viewportColumns.d.ts +18 -0
  16. package/3rdparty/walkontable/src/calculator/viewportColumns.js +297 -0
  17. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +292 -0
  18. package/3rdparty/walkontable/src/calculator/viewportRows.js +175 -0
  19. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +170 -0
  20. package/3rdparty/walkontable/src/cell/coords.d.ts +16 -0
  21. package/3rdparty/walkontable/src/cell/coords.js +185 -0
  22. package/3rdparty/walkontable/src/cell/coords.mjs +180 -0
  23. package/3rdparty/walkontable/src/cell/range.d.ts +59 -0
  24. package/3rdparty/walkontable/src/cell/range.js +888 -0
  25. package/3rdparty/walkontable/src/cell/range.mjs +882 -0
  26. package/3rdparty/walkontable/src/core/_base.js +395 -0
  27. package/3rdparty/walkontable/src/core/_base.mjs +390 -0
  28. package/3rdparty/walkontable/src/core/clone.js +59 -0
  29. package/3rdparty/walkontable/src/core/clone.mjs +54 -0
  30. package/3rdparty/walkontable/src/core/core.js +130 -0
  31. package/3rdparty/walkontable/src/core/core.mjs +125 -0
  32. package/3rdparty/walkontable/src/event.js +401 -0
  33. package/3rdparty/walkontable/src/event.mjs +396 -0
  34. package/3rdparty/walkontable/src/facade/core.js +236 -0
  35. package/3rdparty/walkontable/src/facade/core.mjs +231 -0
  36. package/3rdparty/walkontable/src/filter/column.js +107 -0
  37. package/3rdparty/walkontable/src/filter/column.mjs +102 -0
  38. package/3rdparty/walkontable/src/filter/row.js +107 -0
  39. package/3rdparty/walkontable/src/filter/row.mjs +102 -0
  40. package/3rdparty/walkontable/src/index.d.ts +1 -0
  41. package/3rdparty/walkontable/src/index.js +37 -0
  42. package/3rdparty/walkontable/src/index.mjs +10 -0
  43. package/3rdparty/walkontable/src/overlay/_base.js +363 -0
  44. package/3rdparty/walkontable/src/overlay/_base.mjs +357 -0
  45. package/3rdparty/walkontable/src/overlay/bottom.js +397 -0
  46. package/3rdparty/walkontable/src/overlay/bottom.mjs +391 -0
  47. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +140 -0
  48. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +134 -0
  49. package/3rdparty/walkontable/src/overlay/constants.js +26 -0
  50. package/3rdparty/walkontable/src/overlay/constants.mjs +15 -0
  51. package/3rdparty/walkontable/src/overlay/index.js +34 -0
  52. package/3rdparty/walkontable/src/overlay/index.mjs +7 -0
  53. package/3rdparty/walkontable/src/overlay/inlineStart.js +385 -0
  54. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +379 -0
  55. package/3rdparty/walkontable/src/overlay/top.js +415 -0
  56. package/3rdparty/walkontable/src/overlay/top.mjs +409 -0
  57. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +130 -0
  58. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +124 -0
  59. package/3rdparty/walkontable/src/overlays.js +675 -0
  60. package/3rdparty/walkontable/src/overlays.mjs +670 -0
  61. package/3rdparty/walkontable/src/renderer/_base.js +83 -0
  62. package/3rdparty/walkontable/src/renderer/_base.mjs +78 -0
  63. package/3rdparty/walkontable/src/renderer/cells.js +127 -0
  64. package/3rdparty/walkontable/src/renderer/cells.mjs +122 -0
  65. package/3rdparty/walkontable/src/renderer/colGroup.js +101 -0
  66. package/3rdparty/walkontable/src/renderer/colGroup.mjs +96 -0
  67. package/3rdparty/walkontable/src/renderer/columnHeaders.js +115 -0
  68. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +110 -0
  69. package/3rdparty/walkontable/src/renderer/index.js +118 -0
  70. package/3rdparty/walkontable/src/renderer/index.mjs +107 -0
  71. package/3rdparty/walkontable/src/renderer/rowHeaders.js +119 -0
  72. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +114 -0
  73. package/3rdparty/walkontable/src/renderer/rows.js +99 -0
  74. package/3rdparty/walkontable/src/renderer/rows.mjs +94 -0
  75. package/3rdparty/walkontable/src/renderer/table.js +317 -0
  76. package/3rdparty/walkontable/src/renderer/table.mjs +313 -0
  77. package/3rdparty/walkontable/src/scroll.js +316 -0
  78. package/3rdparty/walkontable/src/scroll.mjs +311 -0
  79. package/3rdparty/walkontable/src/selection.js +349 -0
  80. package/3rdparty/walkontable/src/selection.mjs +343 -0
  81. package/3rdparty/walkontable/src/settings.js +306 -0
  82. package/3rdparty/walkontable/src/settings.mjs +302 -0
  83. package/3rdparty/walkontable/src/table/bottom.js +56 -0
  84. package/3rdparty/walkontable/src/table/bottom.mjs +50 -0
  85. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +57 -0
  86. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +51 -0
  87. package/3rdparty/walkontable/src/table/inlineStart.js +53 -0
  88. package/3rdparty/walkontable/src/table/inlineStart.mjs +47 -0
  89. package/3rdparty/walkontable/src/table/master.js +132 -0
  90. package/3rdparty/walkontable/src/table/master.mjs +126 -0
  91. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +93 -0
  92. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +88 -0
  93. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +93 -0
  94. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +88 -0
  95. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +85 -0
  96. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +80 -0
  97. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +90 -0
  98. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +85 -0
  99. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +85 -0
  100. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +80 -0
  101. package/3rdparty/walkontable/src/table/top.js +56 -0
  102. package/3rdparty/walkontable/src/table/top.mjs +50 -0
  103. package/3rdparty/walkontable/src/table/topInlineStartCorner.js +57 -0
  104. package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +51 -0
  105. package/3rdparty/walkontable/src/table.js +1171 -0
  106. package/3rdparty/walkontable/src/table.mjs +1165 -0
  107. package/3rdparty/walkontable/src/types.js +98 -0
  108. package/3rdparty/walkontable/src/types.mjs +97 -0
  109. package/3rdparty/walkontable/src/utils/column.js +121 -0
  110. package/3rdparty/walkontable/src/utils/column.mjs +117 -0
  111. package/3rdparty/walkontable/src/utils/nodesPool.js +48 -0
  112. package/3rdparty/walkontable/src/utils/nodesPool.mjs +44 -0
  113. package/3rdparty/walkontable/src/utils/orderView/constants.js +30 -0
  114. package/3rdparty/walkontable/src/utils/orderView/constants.mjs +23 -0
  115. package/3rdparty/walkontable/src/utils/orderView/index.js +8 -0
  116. package/3rdparty/walkontable/src/utils/orderView/index.mjs +3 -0
  117. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +81 -0
  118. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +76 -0
  119. package/3rdparty/walkontable/src/utils/orderView/view.js +216 -0
  120. package/3rdparty/walkontable/src/utils/orderView/view.mjs +211 -0
  121. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +68 -0
  122. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +64 -0
  123. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +137 -0
  124. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +132 -0
  125. package/3rdparty/walkontable/src/utils/row.js +43 -0
  126. package/3rdparty/walkontable/src/utils/row.mjs +39 -0
  127. package/3rdparty/walkontable/src/viewport.js +491 -0
  128. package/3rdparty/walkontable/src/viewport.mjs +486 -0
  129. package/CHANGELOG.md +716 -0
  130. package/LICENSE.txt +25 -0
  131. package/README.md +140 -0
  132. package/base.d.ts +3 -0
  133. package/base.js +54 -0
  134. package/base.mjs +44 -0
  135. package/cellTypes/autocompleteType/autocompleteType.d.ts +17 -0
  136. package/cellTypes/autocompleteType/autocompleteType.js +16 -0
  137. package/cellTypes/autocompleteType/autocompleteType.mjs +10 -0
  138. package/cellTypes/autocompleteType/index.d.ts +1 -0
  139. package/cellTypes/autocompleteType/index.js +7 -0
  140. package/cellTypes/autocompleteType/index.mjs +1 -0
  141. package/cellTypes/base.d.ts +14 -0
  142. package/cellTypes/checkboxType/checkboxType.d.ts +14 -0
  143. package/cellTypes/checkboxType/checkboxType.js +14 -0
  144. package/cellTypes/checkboxType/checkboxType.mjs +8 -0
  145. package/cellTypes/checkboxType/index.d.ts +1 -0
  146. package/cellTypes/checkboxType/index.js +7 -0
  147. package/cellTypes/checkboxType/index.mjs +1 -0
  148. package/cellTypes/dateType/dateType.d.ts +17 -0
  149. package/cellTypes/dateType/dateType.js +17 -0
  150. package/cellTypes/dateType/dateType.mjs +11 -0
  151. package/cellTypes/dateType/index.d.ts +1 -0
  152. package/cellTypes/dateType/index.js +7 -0
  153. package/cellTypes/dateType/index.mjs +1 -0
  154. package/cellTypes/dropdownType/dropdownType.d.ts +17 -0
  155. package/cellTypes/dropdownType/dropdownType.js +17 -0
  156. package/cellTypes/dropdownType/dropdownType.mjs +11 -0
  157. package/cellTypes/dropdownType/index.d.ts +1 -0
  158. package/cellTypes/dropdownType/index.js +7 -0
  159. package/cellTypes/dropdownType/index.mjs +1 -0
  160. package/cellTypes/handsontableType/handsontableType.d.ts +14 -0
  161. package/cellTypes/handsontableType/handsontableType.js +15 -0
  162. package/cellTypes/handsontableType/handsontableType.mjs +9 -0
  163. package/cellTypes/handsontableType/index.d.ts +1 -0
  164. package/cellTypes/handsontableType/index.js +7 -0
  165. package/cellTypes/handsontableType/index.mjs +1 -0
  166. package/cellTypes/index.d.ts +47 -0
  167. package/cellTypes/index.js +52 -0
  168. package/cellTypes/index.mjs +26 -0
  169. package/cellTypes/numericType/index.d.ts +1 -0
  170. package/cellTypes/numericType/index.js +7 -0
  171. package/cellTypes/numericType/index.mjs +1 -0
  172. package/cellTypes/numericType/numericType.d.ts +17 -0
  173. package/cellTypes/numericType/numericType.js +17 -0
  174. package/cellTypes/numericType/numericType.mjs +11 -0
  175. package/cellTypes/passwordType/index.d.ts +1 -0
  176. package/cellTypes/passwordType/index.js +7 -0
  177. package/cellTypes/passwordType/index.mjs +1 -0
  178. package/cellTypes/passwordType/passwordType.d.ts +14 -0
  179. package/cellTypes/passwordType/passwordType.js +15 -0
  180. package/cellTypes/passwordType/passwordType.mjs +9 -0
  181. package/cellTypes/registry.d.ts +18 -0
  182. package/cellTypes/registry.js +60 -0
  183. package/cellTypes/registry.mjs +51 -0
  184. package/cellTypes/textType/index.d.ts +1 -0
  185. package/cellTypes/textType/index.js +7 -0
  186. package/cellTypes/textType/index.mjs +1 -0
  187. package/cellTypes/textType/textType.d.ts +14 -0
  188. package/cellTypes/textType/textType.js +14 -0
  189. package/cellTypes/textType/textType.mjs +8 -0
  190. package/cellTypes/timeType/index.d.ts +1 -0
  191. package/cellTypes/timeType/index.js +7 -0
  192. package/cellTypes/timeType/index.mjs +1 -0
  193. package/cellTypes/timeType/timeType.d.ts +17 -0
  194. package/cellTypes/timeType/timeType.js +16 -0
  195. package/cellTypes/timeType/timeType.mjs +10 -0
  196. package/common.d.ts +74 -0
  197. package/core.d.ts +167 -0
  198. package/core.js +4684 -0
  199. package/core.mjs +4679 -0
  200. package/dataMap/dataMap.js +975 -0
  201. package/dataMap/dataMap.mjs +970 -0
  202. package/dataMap/dataSource.js +325 -0
  203. package/dataMap/dataSource.mjs +320 -0
  204. package/dataMap/index.js +16 -0
  205. package/dataMap/index.mjs +7 -0
  206. package/dataMap/metaManager/index.js +339 -0
  207. package/dataMap/metaManager/index.mjs +334 -0
  208. package/dataMap/metaManager/lazyFactoryMap.js +370 -0
  209. package/dataMap/metaManager/lazyFactoryMap.mjs +366 -0
  210. package/dataMap/metaManager/metaLayers/cellMeta.js +275 -0
  211. package/dataMap/metaManager/metaLayers/cellMeta.mjs +270 -0
  212. package/dataMap/metaManager/metaLayers/columnMeta.js +153 -0
  213. package/dataMap/metaManager/metaLayers/columnMeta.mjs +148 -0
  214. package/dataMap/metaManager/metaLayers/globalMeta.js +103 -0
  215. package/dataMap/metaManager/metaLayers/globalMeta.mjs +98 -0
  216. package/dataMap/metaManager/metaLayers/tableMeta.js +73 -0
  217. package/dataMap/metaManager/metaLayers/tableMeta.mjs +69 -0
  218. package/dataMap/metaManager/metaSchema.js +4610 -0
  219. package/dataMap/metaManager/metaSchema.mjs +4605 -0
  220. package/dataMap/metaManager/mods/dynamicCellMeta.js +107 -0
  221. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +101 -0
  222. package/dataMap/metaManager/mods/extendMetaProperties.js +104 -0
  223. package/dataMap/metaManager/mods/extendMetaProperties.mjs +99 -0
  224. package/dataMap/metaManager/utils.js +99 -0
  225. package/dataMap/metaManager/utils.mjs +91 -0
  226. package/dataMap/replaceData.js +119 -0
  227. package/dataMap/replaceData.mjs +115 -0
  228. package/dist/README.md +54 -0
  229. package/dist/handsontable.css +1941 -0
  230. package/dist/handsontable.full.css +2172 -0
  231. package/dist/handsontable.full.js +150392 -0
  232. package/dist/handsontable.full.min.css +47 -0
  233. package/dist/handsontable.full.min.js +869 -0
  234. package/dist/handsontable.js +94075 -0
  235. package/dist/handsontable.min.css +43 -0
  236. package/dist/handsontable.min.js +31 -0
  237. package/dist/languages/all.js +583 -0
  238. package/dist/languages/all.min.js +1 -0
  239. package/dist/languages/ar-AR.js +157 -0
  240. package/dist/languages/ar-AR.min.js +1 -0
  241. package/dist/languages/cs-CZ.js +157 -0
  242. package/dist/languages/cs-CZ.min.js +1 -0
  243. package/dist/languages/de-CH.js +158 -0
  244. package/dist/languages/de-CH.min.js +1 -0
  245. package/dist/languages/de-DE.js +159 -0
  246. package/dist/languages/de-DE.min.js +1 -0
  247. package/dist/languages/en-US.js +160 -0
  248. package/dist/languages/en-US.min.js +1 -0
  249. package/dist/languages/es-MX.js +161 -0
  250. package/dist/languages/es-MX.min.js +1 -0
  251. package/dist/languages/fr-FR.js +162 -0
  252. package/dist/languages/fr-FR.min.js +1 -0
  253. package/dist/languages/it-IT.js +164 -0
  254. package/dist/languages/it-IT.min.js +1 -0
  255. package/dist/languages/ja-JP.js +161 -0
  256. package/dist/languages/ja-JP.min.js +1 -0
  257. package/dist/languages/ko-KR.js +161 -0
  258. package/dist/languages/ko-KR.min.js +1 -0
  259. package/dist/languages/lv-LV.js +161 -0
  260. package/dist/languages/lv-LV.min.js +1 -0
  261. package/dist/languages/nb-NO.js +161 -0
  262. package/dist/languages/nb-NO.min.js +1 -0
  263. package/dist/languages/nl-NL.js +161 -0
  264. package/dist/languages/nl-NL.min.js +1 -0
  265. package/dist/languages/pl-PL.js +161 -0
  266. package/dist/languages/pl-PL.min.js +1 -0
  267. package/dist/languages/pt-BR.js +161 -0
  268. package/dist/languages/pt-BR.min.js +1 -0
  269. package/dist/languages/ru-RU.js +161 -0
  270. package/dist/languages/ru-RU.min.js +1 -0
  271. package/dist/languages/sr-SP.js +161 -0
  272. package/dist/languages/sr-SP.min.js +1 -0
  273. package/dist/languages/zh-CN.js +161 -0
  274. package/dist/languages/zh-CN.min.js +1 -0
  275. package/dist/languages/zh-TW.js +161 -0
  276. package/dist/languages/zh-TW.min.js +1 -0
  277. package/editorManager.js +522 -0
  278. package/editorManager.mjs +514 -0
  279. package/editors/autocompleteEditor/autocompleteEditor.d.ts +29 -0
  280. package/editors/autocompleteEditor/autocompleteEditor.js +584 -0
  281. package/editors/autocompleteEditor/autocompleteEditor.mjs +578 -0
  282. package/editors/autocompleteEditor/index.d.ts +1 -0
  283. package/editors/autocompleteEditor/index.js +7 -0
  284. package/editors/autocompleteEditor/index.mjs +1 -0
  285. package/editors/baseEditor/baseEditor.d.ts +45 -0
  286. package/editors/baseEditor/baseEditor.js +688 -0
  287. package/editors/baseEditor/baseEditor.mjs +679 -0
  288. package/editors/baseEditor/index.d.ts +1 -0
  289. package/editors/baseEditor/index.js +8 -0
  290. package/editors/baseEditor/index.mjs +1 -0
  291. package/editors/checkboxEditor/checkboxEditor.d.ts +12 -0
  292. package/editors/checkboxEditor/checkboxEditor.js +85 -0
  293. package/editors/checkboxEditor/checkboxEditor.mjs +79 -0
  294. package/editors/checkboxEditor/index.d.ts +1 -0
  295. package/editors/checkboxEditor/index.js +7 -0
  296. package/editors/checkboxEditor/index.mjs +1 -0
  297. package/editors/dateEditor/dateEditor.d.ts +18 -0
  298. package/editors/dateEditor/dateEditor.js +325 -0
  299. package/editors/dateEditor/dateEditor.mjs +318 -0
  300. package/editors/dateEditor/index.d.ts +1 -0
  301. package/editors/dateEditor/index.js +7 -0
  302. package/editors/dateEditor/index.mjs +1 -0
  303. package/editors/dropdownEditor/dropdownEditor.d.ts +7 -0
  304. package/editors/dropdownEditor/dropdownEditor.js +81 -0
  305. package/editors/dropdownEditor/dropdownEditor.mjs +74 -0
  306. package/editors/dropdownEditor/index.d.ts +1 -0
  307. package/editors/dropdownEditor/index.js +7 -0
  308. package/editors/dropdownEditor/index.mjs +1 -0
  309. package/editors/handsontableEditor/handsontableEditor.d.ts +10 -0
  310. package/editors/handsontableEditor/handsontableEditor.js +306 -0
  311. package/editors/handsontableEditor/handsontableEditor.mjs +300 -0
  312. package/editors/handsontableEditor/index.d.ts +1 -0
  313. package/editors/handsontableEditor/index.js +7 -0
  314. package/editors/handsontableEditor/index.mjs +1 -0
  315. package/editors/index.d.ts +56 -0
  316. package/editors/index.js +63 -0
  317. package/editors/index.mjs +30 -0
  318. package/editors/numericEditor/index.d.ts +1 -0
  319. package/editors/numericEditor/index.js +7 -0
  320. package/editors/numericEditor/index.mjs +1 -0
  321. package/editors/numericEditor/numericEditor.d.ts +7 -0
  322. package/editors/numericEditor/numericEditor.js +49 -0
  323. package/editors/numericEditor/numericEditor.mjs +43 -0
  324. package/editors/passwordEditor/index.d.ts +1 -0
  325. package/editors/passwordEditor/index.js +7 -0
  326. package/editors/passwordEditor/index.mjs +1 -0
  327. package/editors/passwordEditor/passwordEditor.d.ts +7 -0
  328. package/editors/passwordEditor/passwordEditor.js +68 -0
  329. package/editors/passwordEditor/passwordEditor.mjs +62 -0
  330. package/editors/registry.d.ts +29 -0
  331. package/editors/registry.js +106 -0
  332. package/editors/registry.mjs +94 -0
  333. package/editors/selectEditor/index.d.ts +1 -0
  334. package/editors/selectEditor/index.js +7 -0
  335. package/editors/selectEditor/index.mjs +1 -0
  336. package/editors/selectEditor/selectEditor.d.ts +16 -0
  337. package/editors/selectEditor/selectEditor.js +302 -0
  338. package/editors/selectEditor/selectEditor.mjs +296 -0
  339. package/editors/textEditor/caretPositioner.js +37 -0
  340. package/editors/textEditor/caretPositioner.mjs +33 -0
  341. package/editors/textEditor/index.d.ts +1 -0
  342. package/editors/textEditor/index.js +7 -0
  343. package/editors/textEditor/index.mjs +1 -0
  344. package/editors/textEditor/textEditor.d.ts +24 -0
  345. package/editors/textEditor/textEditor.js +612 -0
  346. package/editors/textEditor/textEditor.mjs +605 -0
  347. package/editors/timeEditor/index.d.ts +1 -0
  348. package/editors/timeEditor/index.js +7 -0
  349. package/editors/timeEditor/index.mjs +1 -0
  350. package/editors/timeEditor/timeEditor.d.ts +7 -0
  351. package/editors/timeEditor/timeEditor.js +70 -0
  352. package/editors/timeEditor/timeEditor.mjs +64 -0
  353. package/eventManager.d.ts +13 -0
  354. package/eventManager.js +236 -0
  355. package/eventManager.mjs +231 -0
  356. package/handsontable-non-commercial-license.pdf +0 -0
  357. package/helpers/array.d.ts +18 -0
  358. package/helpers/array.js +353 -0
  359. package/helpers/array.mjs +333 -0
  360. package/helpers/browser.d.ts +25 -0
  361. package/helpers/browser.js +231 -0
  362. package/helpers/browser.mjs +210 -0
  363. package/helpers/console.d.ts +4 -0
  364. package/helpers/console.js +65 -0
  365. package/helpers/console.mjs +56 -0
  366. package/helpers/data.d.ts +12 -0
  367. package/helpers/data.js +247 -0
  368. package/helpers/data.mjs +234 -0
  369. package/helpers/date.d.ts +1 -0
  370. package/helpers/date.js +22 -0
  371. package/helpers/date.mjs +18 -0
  372. package/helpers/dom/element.d.ts +49 -0
  373. package/helpers/dom/element.js +1117 -0
  374. package/helpers/dom/element.mjs +1064 -0
  375. package/helpers/dom/event.d.ts +4 -0
  376. package/helpers/dom/event.js +46 -0
  377. package/helpers/dom/event.mjs +39 -0
  378. package/helpers/dom/index.d.ts +2 -0
  379. package/helpers/feature.d.ts +11 -0
  380. package/helpers/feature.js +184 -0
  381. package/helpers/feature.mjs +172 -0
  382. package/helpers/function.d.ts +10 -0
  383. package/helpers/function.js +319 -0
  384. package/helpers/function.mjs +307 -0
  385. package/helpers/index.d.ts +14 -0
  386. package/helpers/mixed.d.ts +5 -0
  387. package/helpers/mixed.js +230 -0
  388. package/helpers/mixed.mjs +220 -0
  389. package/helpers/number.d.ts +5 -0
  390. package/helpers/number.js +142 -0
  391. package/helpers/number.mjs +134 -0
  392. package/helpers/object.d.ts +16 -0
  393. package/helpers/object.js +371 -0
  394. package/helpers/object.mjs +352 -0
  395. package/helpers/string.d.ts +7 -0
  396. package/helpers/string.js +115 -0
  397. package/helpers/string.mjs +104 -0
  398. package/helpers/templateLiteralTag.d.ts +1 -0
  399. package/helpers/templateLiteralTag.js +26 -0
  400. package/helpers/templateLiteralTag.mjs +22 -0
  401. package/helpers/unicode.d.ts +73 -0
  402. package/helpers/unicode.js +158 -0
  403. package/helpers/unicode.mjs +148 -0
  404. package/helpers/wrappers/jquery.js +50 -0
  405. package/helpers/wrappers/jquery.mjs +46 -0
  406. package/i18n/constants.js +162 -0
  407. package/i18n/constants.mjs +82 -0
  408. package/i18n/index.d.ts +2 -0
  409. package/i18n/index.js +18 -0
  410. package/i18n/index.mjs +2 -0
  411. package/i18n/languages/ar-AR.js +25 -0
  412. package/i18n/languages/ar-AR.mjs +15 -0
  413. package/i18n/languages/cs-CZ.js +24 -0
  414. package/i18n/languages/cs-CZ.mjs +14 -0
  415. package/i18n/languages/de-CH.d.ts +5 -0
  416. package/i18n/languages/de-CH.js +24 -0
  417. package/i18n/languages/de-CH.mjs +14 -0
  418. package/i18n/languages/de-DE.d.ts +5 -0
  419. package/i18n/languages/de-DE.js +24 -0
  420. package/i18n/languages/de-DE.mjs +14 -0
  421. package/i18n/languages/en-US.d.ts +5 -0
  422. package/i18n/languages/en-US.js +24 -0
  423. package/i18n/languages/en-US.mjs +14 -0
  424. package/i18n/languages/es-MX.d.ts +5 -0
  425. package/i18n/languages/es-MX.js +24 -0
  426. package/i18n/languages/es-MX.mjs +13 -0
  427. package/i18n/languages/fr-FR.d.ts +5 -0
  428. package/i18n/languages/fr-FR.js +24 -0
  429. package/i18n/languages/fr-FR.mjs +14 -0
  430. package/i18n/languages/index.d.ts +35 -0
  431. package/i18n/languages/index.js +42 -0
  432. package/i18n/languages/index.mjs +20 -0
  433. package/i18n/languages/it-IT.d.ts +5 -0
  434. package/i18n/languages/it-IT.js +24 -0
  435. package/i18n/languages/it-IT.mjs +14 -0
  436. package/i18n/languages/ja-JP.d.ts +5 -0
  437. package/i18n/languages/ja-JP.js +24 -0
  438. package/i18n/languages/ja-JP.mjs +14 -0
  439. package/i18n/languages/ko-KR.d.ts +5 -0
  440. package/i18n/languages/ko-KR.js +24 -0
  441. package/i18n/languages/ko-KR.mjs +14 -0
  442. package/i18n/languages/lv-LV.d.ts +5 -0
  443. package/i18n/languages/lv-LV.js +24 -0
  444. package/i18n/languages/lv-LV.mjs +14 -0
  445. package/i18n/languages/nb-NO.d.ts +5 -0
  446. package/i18n/languages/nb-NO.js +24 -0
  447. package/i18n/languages/nb-NO.mjs +14 -0
  448. package/i18n/languages/nl-NL.d.ts +5 -0
  449. package/i18n/languages/nl-NL.js +24 -0
  450. package/i18n/languages/nl-NL.mjs +14 -0
  451. package/i18n/languages/pl-PL.d.ts +5 -0
  452. package/i18n/languages/pl-PL.js +24 -0
  453. package/i18n/languages/pl-PL.mjs +14 -0
  454. package/i18n/languages/pt-BR.d.ts +5 -0
  455. package/i18n/languages/pt-BR.js +24 -0
  456. package/i18n/languages/pt-BR.mjs +14 -0
  457. package/i18n/languages/ru-RU.d.ts +5 -0
  458. package/i18n/languages/ru-RU.js +24 -0
  459. package/i18n/languages/ru-RU.mjs +14 -0
  460. package/i18n/languages/sr-SP.js +24 -0
  461. package/i18n/languages/sr-SP.mjs +14 -0
  462. package/i18n/languages/zh-CN.d.ts +5 -0
  463. package/i18n/languages/zh-CN.js +24 -0
  464. package/i18n/languages/zh-CN.mjs +14 -0
  465. package/i18n/languages/zh-TW.d.ts +5 -0
  466. package/i18n/languages/zh-TW.js +24 -0
  467. package/i18n/languages/zh-TW.mjs +14 -0
  468. package/i18n/phraseFormatters/index.js +31 -0
  469. package/i18n/phraseFormatters/index.mjs +26 -0
  470. package/i18n/phraseFormatters/pluralize.js +21 -0
  471. package/i18n/phraseFormatters/pluralize.mjs +17 -0
  472. package/i18n/phraseFormatters/substituteVariables.js +22 -0
  473. package/i18n/phraseFormatters/substituteVariables.mjs +18 -0
  474. package/i18n/registry.d.ts +13 -0
  475. package/i18n/registry.js +180 -0
  476. package/i18n/registry.mjs +155 -0
  477. package/i18n/utils.js +90 -0
  478. package/i18n/utils.mjs +83 -0
  479. package/index.d.ts +520 -0
  480. package/index.js +130 -0
  481. package/index.mjs +112 -0
  482. package/languages/all.js +583 -0
  483. package/languages/ar-AR.js +157 -0
  484. package/languages/ar-AR.mjs +17 -0
  485. package/languages/cs-CZ.js +157 -0
  486. package/languages/cs-CZ.mjs +16 -0
  487. package/languages/de-CH.js +158 -0
  488. package/languages/de-CH.mjs +16 -0
  489. package/languages/de-DE.js +159 -0
  490. package/languages/de-DE.mjs +16 -0
  491. package/languages/en-US.js +160 -0
  492. package/languages/en-US.mjs +16 -0
  493. package/languages/es-MX.js +161 -0
  494. package/languages/es-MX.mjs +15 -0
  495. package/languages/fr-FR.js +162 -0
  496. package/languages/fr-FR.mjs +16 -0
  497. package/languages/index.js +583 -0
  498. package/languages/index.mjs +20 -0
  499. package/languages/it-IT.js +164 -0
  500. package/languages/it-IT.mjs +16 -0
  501. package/languages/ja-JP.js +161 -0
  502. package/languages/ja-JP.mjs +16 -0
  503. package/languages/ko-KR.js +161 -0
  504. package/languages/ko-KR.mjs +16 -0
  505. package/languages/lv-LV.js +161 -0
  506. package/languages/lv-LV.mjs +16 -0
  507. package/languages/nb-NO.js +161 -0
  508. package/languages/nb-NO.mjs +16 -0
  509. package/languages/nl-NL.js +161 -0
  510. package/languages/nl-NL.mjs +16 -0
  511. package/languages/pl-PL.js +161 -0
  512. package/languages/pl-PL.mjs +16 -0
  513. package/languages/pt-BR.js +161 -0
  514. package/languages/pt-BR.mjs +16 -0
  515. package/languages/ru-RU.js +161 -0
  516. package/languages/ru-RU.mjs +16 -0
  517. package/languages/sr-SP.js +161 -0
  518. package/languages/sr-SP.mjs +16 -0
  519. package/languages/zh-CN.js +161 -0
  520. package/languages/zh-CN.mjs +16 -0
  521. package/languages/zh-TW.js +161 -0
  522. package/languages/zh-TW.mjs +16 -0
  523. package/mixins/hooksRefRegisterer.js +61 -0
  524. package/mixins/hooksRefRegisterer.mjs +56 -0
  525. package/mixins/localHooks.js +71 -0
  526. package/mixins/localHooks.mjs +66 -0
  527. package/package.json +751 -0
  528. package/pluginHooks.d.ts +256 -0
  529. package/pluginHooks.js +2750 -0
  530. package/pluginHooks.mjs +2744 -0
  531. package/plugins/autoColumnSize/autoColumnSize.d.ts +27 -0
  532. package/plugins/autoColumnSize/autoColumnSize.js +796 -0
  533. package/plugins/autoColumnSize/autoColumnSize.mjs +788 -0
  534. package/plugins/autoColumnSize/index.d.ts +1 -0
  535. package/plugins/autoColumnSize/index.js +8 -0
  536. package/plugins/autoColumnSize/index.mjs +1 -0
  537. package/plugins/autoRowSize/autoRowSize.d.ts +27 -0
  538. package/plugins/autoRowSize/autoRowSize.js +735 -0
  539. package/plugins/autoRowSize/autoRowSize.mjs +727 -0
  540. package/plugins/autoRowSize/index.d.ts +1 -0
  541. package/plugins/autoRowSize/index.js +8 -0
  542. package/plugins/autoRowSize/index.mjs +1 -0
  543. package/plugins/autofill/autofill.d.ts +18 -0
  544. package/plugins/autofill/autofill.js +694 -0
  545. package/plugins/autofill/autofill.mjs +687 -0
  546. package/plugins/autofill/index.d.ts +1 -0
  547. package/plugins/autofill/index.js +8 -0
  548. package/plugins/autofill/index.mjs +1 -0
  549. package/plugins/autofill/utils.js +134 -0
  550. package/plugins/autofill/utils.mjs +126 -0
  551. package/plugins/base/base.d.ts +27 -0
  552. package/plugins/base/base.js +345 -0
  553. package/plugins/base/base.mjs +339 -0
  554. package/plugins/base/index.d.ts +1 -0
  555. package/plugins/base/index.js +7 -0
  556. package/plugins/base/index.mjs +1 -0
  557. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.d.ts +9 -0
  558. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +169 -0
  559. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +161 -0
  560. package/plugins/bindRowsWithHeaders/index.d.ts +1 -0
  561. package/plugins/bindRowsWithHeaders/index.js +8 -0
  562. package/plugins/bindRowsWithHeaders/index.mjs +1 -0
  563. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +80 -0
  564. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +75 -0
  565. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +103 -0
  566. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +98 -0
  567. package/plugins/collapsibleColumns/collapsibleColumns.d.ts +22 -0
  568. package/plugins/collapsibleColumns/collapsibleColumns.js +592 -0
  569. package/plugins/collapsibleColumns/collapsibleColumns.mjs +584 -0
  570. package/plugins/collapsibleColumns/index.d.ts +1 -0
  571. package/plugins/collapsibleColumns/index.js +8 -0
  572. package/plugins/collapsibleColumns/index.mjs +1 -0
  573. package/plugins/columnSorting/columnSorting.d.ts +30 -0
  574. package/plugins/columnSorting/columnSorting.js +865 -0
  575. package/plugins/columnSorting/columnSorting.mjs +857 -0
  576. package/plugins/columnSorting/columnStatesManager.js +273 -0
  577. package/plugins/columnSorting/columnStatesManager.mjs +268 -0
  578. package/plugins/columnSorting/domHelpers.js +54 -0
  579. package/plugins/columnSorting/domHelpers.mjs +49 -0
  580. package/plugins/columnSorting/index.d.ts +1 -0
  581. package/plugins/columnSorting/index.js +8 -0
  582. package/plugins/columnSorting/index.mjs +1 -0
  583. package/plugins/columnSorting/rootComparator.js +52 -0
  584. package/plugins/columnSorting/rootComparator.mjs +48 -0
  585. package/plugins/columnSorting/sortFunction/checkbox.js +64 -0
  586. package/plugins/columnSorting/sortFunction/checkbox.mjs +58 -0
  587. package/plugins/columnSorting/sortFunction/date.js +61 -0
  588. package/plugins/columnSorting/sortFunction/date.mjs +54 -0
  589. package/plugins/columnSorting/sortFunction/default.js +65 -0
  590. package/plugins/columnSorting/sortFunction/default.mjs +59 -0
  591. package/plugins/columnSorting/sortFunction/numeric.js +49 -0
  592. package/plugins/columnSorting/sortFunction/numeric.mjs +43 -0
  593. package/plugins/columnSorting/sortService/engine.js +26 -0
  594. package/plugins/columnSorting/sortService/engine.mjs +18 -0
  595. package/plugins/columnSorting/sortService/index.js +13 -0
  596. package/plugins/columnSorting/sortService/index.mjs +3 -0
  597. package/plugins/columnSorting/sortService/registry.js +37 -0
  598. package/plugins/columnSorting/sortService/registry.mjs +30 -0
  599. package/plugins/columnSorting/utils.js +122 -0
  600. package/plugins/columnSorting/utils.mjs +110 -0
  601. package/plugins/columnSummary/columnSummary.d.ts +72 -0
  602. package/plugins/columnSummary/columnSummary.js +544 -0
  603. package/plugins/columnSummary/columnSummary.mjs +536 -0
  604. package/plugins/columnSummary/endpoints.js +557 -0
  605. package/plugins/columnSummary/endpoints.mjs +552 -0
  606. package/plugins/columnSummary/index.d.ts +1 -0
  607. package/plugins/columnSummary/index.js +8 -0
  608. package/plugins/columnSummary/index.mjs +1 -0
  609. package/plugins/columnSummary/utils.js +13 -0
  610. package/plugins/columnSummary/utils.mjs +9 -0
  611. package/plugins/comments/commentEditor.js +241 -0
  612. package/plugins/comments/commentEditor.mjs +236 -0
  613. package/plugins/comments/comments.d.ts +50 -0
  614. package/plugins/comments/comments.js +942 -0
  615. package/plugins/comments/comments.mjs +932 -0
  616. package/plugins/comments/displaySwitch.js +115 -0
  617. package/plugins/comments/displaySwitch.mjs +109 -0
  618. package/plugins/comments/index.d.ts +1 -0
  619. package/plugins/comments/index.js +8 -0
  620. package/plugins/comments/index.mjs +1 -0
  621. package/plugins/contextMenu/commandExecutor.js +113 -0
  622. package/plugins/contextMenu/commandExecutor.mjs +108 -0
  623. package/plugins/contextMenu/contextMenu.d.ts +65 -0
  624. package/plugins/contextMenu/contextMenu.js +445 -0
  625. package/plugins/contextMenu/contextMenu.mjs +437 -0
  626. package/plugins/contextMenu/cursor.js +126 -0
  627. package/plugins/contextMenu/cursor.mjs +121 -0
  628. package/plugins/contextMenu/index.d.ts +1 -0
  629. package/plugins/contextMenu/index.js +8 -0
  630. package/plugins/contextMenu/index.mjs +1 -0
  631. package/plugins/contextMenu/itemsFactory.js +136 -0
  632. package/plugins/contextMenu/itemsFactory.mjs +131 -0
  633. package/plugins/contextMenu/menu.js +1003 -0
  634. package/plugins/contextMenu/menu.mjs +997 -0
  635. package/plugins/contextMenu/predefinedItems/alignment.js +277 -0
  636. package/plugins/contextMenu/predefinedItems/alignment.mjs +259 -0
  637. package/plugins/contextMenu/predefinedItems/clearColumn.js +47 -0
  638. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +29 -0
  639. package/plugins/contextMenu/predefinedItems/columnLeft.js +57 -0
  640. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +39 -0
  641. package/plugins/contextMenu/predefinedItems/columnRight.js +55 -0
  642. package/plugins/contextMenu/predefinedItems/columnRight.mjs +37 -0
  643. package/plugins/contextMenu/predefinedItems/noItems.js +22 -0
  644. package/plugins/contextMenu/predefinedItems/noItems.mjs +16 -0
  645. package/plugins/contextMenu/predefinedItems/readOnly.js +69 -0
  646. package/plugins/contextMenu/predefinedItems/readOnly.mjs +51 -0
  647. package/plugins/contextMenu/predefinedItems/redo.js +42 -0
  648. package/plugins/contextMenu/predefinedItems/redo.mjs +24 -0
  649. package/plugins/contextMenu/predefinedItems/removeColumn.js +79 -0
  650. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +68 -0
  651. package/plugins/contextMenu/predefinedItems/removeRow.js +78 -0
  652. package/plugins/contextMenu/predefinedItems/removeRow.mjs +67 -0
  653. package/plugins/contextMenu/predefinedItems/rowAbove.js +53 -0
  654. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +35 -0
  655. package/plugins/contextMenu/predefinedItems/rowBelow.js +51 -0
  656. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +33 -0
  657. package/plugins/contextMenu/predefinedItems/separator.js +16 -0
  658. package/plugins/contextMenu/predefinedItems/separator.mjs +10 -0
  659. package/plugins/contextMenu/predefinedItems/undo.js +42 -0
  660. package/plugins/contextMenu/predefinedItems/undo.mjs +24 -0
  661. package/plugins/contextMenu/predefinedItems.js +76 -0
  662. package/plugins/contextMenu/predefinedItems.mjs +57 -0
  663. package/plugins/contextMenu/utils.js +278 -0
  664. package/plugins/contextMenu/utils.mjs +261 -0
  665. package/plugins/copyPaste/clipboardData.js +29 -0
  666. package/plugins/copyPaste/clipboardData.mjs +25 -0
  667. package/plugins/copyPaste/contextMenuItem/copy.js +45 -0
  668. package/plugins/copyPaste/contextMenuItem/copy.mjs +29 -0
  669. package/plugins/copyPaste/contextMenuItem/cut.js +45 -0
  670. package/plugins/copyPaste/contextMenuItem/cut.mjs +29 -0
  671. package/plugins/copyPaste/copyPaste.d.ts +35 -0
  672. package/plugins/copyPaste/copyPaste.js +721 -0
  673. package/plugins/copyPaste/copyPaste.mjs +713 -0
  674. package/plugins/copyPaste/focusableElement.js +210 -0
  675. package/plugins/copyPaste/focusableElement.mjs +204 -0
  676. package/plugins/copyPaste/index.d.ts +1 -0
  677. package/plugins/copyPaste/index.js +8 -0
  678. package/plugins/copyPaste/index.mjs +1 -0
  679. package/plugins/copyPaste/pasteEvent.js +17 -0
  680. package/plugins/copyPaste/pasteEvent.mjs +12 -0
  681. package/plugins/customBorders/contextMenuItem/bottom.js +39 -0
  682. package/plugins/customBorders/contextMenuItem/bottom.mjs +23 -0
  683. package/plugins/customBorders/contextMenuItem/index.js +14 -0
  684. package/plugins/customBorders/contextMenuItem/index.mjs +6 -0
  685. package/plugins/customBorders/contextMenuItem/left.js +40 -0
  686. package/plugins/customBorders/contextMenuItem/left.mjs +24 -0
  687. package/plugins/customBorders/contextMenuItem/noBorders.js +36 -0
  688. package/plugins/customBorders/contextMenuItem/noBorders.mjs +20 -0
  689. package/plugins/customBorders/contextMenuItem/right.js +40 -0
  690. package/plugins/customBorders/contextMenuItem/right.mjs +24 -0
  691. package/plugins/customBorders/contextMenuItem/top.js +39 -0
  692. package/plugins/customBorders/contextMenuItem/top.mjs +23 -0
  693. package/plugins/customBorders/customBorders.d.ts +38 -0
  694. package/plugins/customBorders/customBorders.js +887 -0
  695. package/plugins/customBorders/customBorders.mjs +877 -0
  696. package/plugins/customBorders/index.d.ts +1 -0
  697. package/plugins/customBorders/index.js +8 -0
  698. package/plugins/customBorders/index.mjs +1 -0
  699. package/plugins/customBorders/utils.js +265 -0
  700. package/plugins/customBorders/utils.mjs +249 -0
  701. package/plugins/dragToScroll/dragToScroll.d.ts +15 -0
  702. package/plugins/dragToScroll/dragToScroll.js +335 -0
  703. package/plugins/dragToScroll/dragToScroll.mjs +327 -0
  704. package/plugins/dragToScroll/index.d.ts +1 -0
  705. package/plugins/dragToScroll/index.js +8 -0
  706. package/plugins/dragToScroll/index.mjs +1 -0
  707. package/plugins/dropdownMenu/dropdownMenu.d.ts +24 -0
  708. package/plugins/dropdownMenu/dropdownMenu.js +511 -0
  709. package/plugins/dropdownMenu/dropdownMenu.mjs +504 -0
  710. package/plugins/dropdownMenu/index.d.ts +1 -0
  711. package/plugins/dropdownMenu/index.js +8 -0
  712. package/plugins/dropdownMenu/index.mjs +1 -0
  713. package/plugins/exportFile/dataProvider.js +200 -0
  714. package/plugins/exportFile/dataProvider.mjs +195 -0
  715. package/plugins/exportFile/exportFile.d.ts +12 -0
  716. package/plugins/exportFile/exportFile.js +262 -0
  717. package/plugins/exportFile/exportFile.mjs +250 -0
  718. package/plugins/exportFile/index.d.ts +1 -0
  719. package/plugins/exportFile/index.js +8 -0
  720. package/plugins/exportFile/index.mjs +1 -0
  721. package/plugins/exportFile/typeFactory.js +30 -0
  722. package/plugins/exportFile/typeFactory.mjs +21 -0
  723. package/plugins/exportFile/types/_base.js +78 -0
  724. package/plugins/exportFile/types/_base.mjs +73 -0
  725. package/plugins/exportFile/types/csv.js +131 -0
  726. package/plugins/exportFile/types/csv.mjs +125 -0
  727. package/plugins/filters/component/_base.js +169 -0
  728. package/plugins/filters/component/_base.mjs +163 -0
  729. package/plugins/filters/component/actionBar.js +161 -0
  730. package/plugins/filters/component/actionBar.mjs +151 -0
  731. package/plugins/filters/component/condition.js +325 -0
  732. package/plugins/filters/component/condition.mjs +316 -0
  733. package/plugins/filters/component/operators.js +222 -0
  734. package/plugins/filters/component/operators.mjs +216 -0
  735. package/plugins/filters/component/value.js +278 -0
  736. package/plugins/filters/component/value.mjs +269 -0
  737. package/plugins/filters/condition/beginsWith.js +50 -0
  738. package/plugins/filters/condition/beginsWith.mjs +39 -0
  739. package/plugins/filters/condition/between.js +64 -0
  740. package/plugins/filters/condition/between.mjs +53 -0
  741. package/plugins/filters/condition/byValue.js +48 -0
  742. package/plugins/filters/condition/byValue.mjs +42 -0
  743. package/plugins/filters/condition/contains.js +50 -0
  744. package/plugins/filters/condition/contains.mjs +39 -0
  745. package/plugins/filters/condition/date/after.js +55 -0
  746. package/plugins/filters/condition/date/after.mjs +43 -0
  747. package/plugins/filters/condition/date/before.js +55 -0
  748. package/plugins/filters/condition/date/before.mjs +43 -0
  749. package/plugins/filters/condition/date/today.js +39 -0
  750. package/plugins/filters/condition/date/today.mjs +20 -0
  751. package/plugins/filters/condition/date/tomorrow.js +39 -0
  752. package/plugins/filters/condition/date/tomorrow.mjs +20 -0
  753. package/plugins/filters/condition/date/yesterday.js +39 -0
  754. package/plugins/filters/condition/date/yesterday.mjs +20 -0
  755. package/plugins/filters/condition/empty.js +35 -0
  756. package/plugins/filters/condition/empty.mjs +17 -0
  757. package/plugins/filters/condition/endsWith.js +50 -0
  758. package/plugins/filters/condition/endsWith.mjs +39 -0
  759. package/plugins/filters/condition/equal.js +49 -0
  760. package/plugins/filters/condition/equal.mjs +38 -0
  761. package/plugins/filters/condition/false.js +18 -0
  762. package/plugins/filters/condition/false.mjs +12 -0
  763. package/plugins/filters/condition/greaterThan.js +52 -0
  764. package/plugins/filters/condition/greaterThan.mjs +41 -0
  765. package/plugins/filters/condition/greaterThanOrEqual.js +52 -0
  766. package/plugins/filters/condition/greaterThanOrEqual.mjs +41 -0
  767. package/plugins/filters/condition/lessThan.js +52 -0
  768. package/plugins/filters/condition/lessThan.mjs +41 -0
  769. package/plugins/filters/condition/lessThanOrEqual.js +52 -0
  770. package/plugins/filters/condition/lessThanOrEqual.mjs +41 -0
  771. package/plugins/filters/condition/none.js +33 -0
  772. package/plugins/filters/condition/none.mjs +15 -0
  773. package/plugins/filters/condition/notBetween.js +36 -0
  774. package/plugins/filters/condition/notBetween.mjs +18 -0
  775. package/plugins/filters/condition/notContains.js +36 -0
  776. package/plugins/filters/condition/notContains.mjs +18 -0
  777. package/plugins/filters/condition/notEmpty.js +36 -0
  778. package/plugins/filters/condition/notEmpty.mjs +18 -0
  779. package/plugins/filters/condition/notEqual.js +36 -0
  780. package/plugins/filters/condition/notEqual.mjs +18 -0
  781. package/plugins/filters/condition/true.js +18 -0
  782. package/plugins/filters/condition/true.mjs +12 -0
  783. package/plugins/filters/conditionCollection.d.ts +32 -0
  784. package/plugins/filters/conditionCollection.js +343 -0
  785. package/plugins/filters/conditionCollection.mjs +337 -0
  786. package/plugins/filters/conditionRegisterer.js +61 -0
  787. package/plugins/filters/conditionRegisterer.mjs +53 -0
  788. package/plugins/filters/conditionUpdateObserver.d.ts +10 -0
  789. package/plugins/filters/conditionUpdateObserver.js +248 -0
  790. package/plugins/filters/conditionUpdateObserver.mjs +242 -0
  791. package/plugins/filters/constants.js +103 -0
  792. package/plugins/filters/constants.mjs +69 -0
  793. package/plugins/filters/dataFilter.js +98 -0
  794. package/plugins/filters/dataFilter.mjs +93 -0
  795. package/plugins/filters/filters.d.ts +56 -0
  796. package/plugins/filters/filters.js +1037 -0
  797. package/plugins/filters/filters.mjs +1026 -0
  798. package/plugins/filters/index.d.ts +1 -0
  799. package/plugins/filters/index.js +8 -0
  800. package/plugins/filters/index.mjs +1 -0
  801. package/plugins/filters/logicalOperationRegisterer.js +50 -0
  802. package/plugins/filters/logicalOperationRegisterer.mjs +42 -0
  803. package/plugins/filters/logicalOperations/conjunction.js +36 -0
  804. package/plugins/filters/logicalOperations/conjunction.mjs +18 -0
  805. package/plugins/filters/logicalOperations/disjunction.js +36 -0
  806. package/plugins/filters/logicalOperations/disjunction.mjs +18 -0
  807. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +40 -0
  808. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +22 -0
  809. package/plugins/filters/ui/_base.js +249 -0
  810. package/plugins/filters/ui/_base.mjs +231 -0
  811. package/plugins/filters/ui/input.js +140 -0
  812. package/plugins/filters/ui/input.mjs +134 -0
  813. package/plugins/filters/ui/link.js +86 -0
  814. package/plugins/filters/ui/link.mjs +80 -0
  815. package/plugins/filters/ui/multipleSelect.js +441 -0
  816. package/plugins/filters/ui/multipleSelect.mjs +434 -0
  817. package/plugins/filters/ui/radioInput.js +130 -0
  818. package/plugins/filters/ui/radioInput.mjs +124 -0
  819. package/plugins/filters/ui/select.js +269 -0
  820. package/plugins/filters/ui/select.mjs +261 -0
  821. package/plugins/filters/utils.js +143 -0
  822. package/plugins/filters/utils.mjs +134 -0
  823. package/plugins/formulas/engine/register.js +259 -0
  824. package/plugins/formulas/engine/register.mjs +247 -0
  825. package/plugins/formulas/engine/settings.js +115 -0
  826. package/plugins/formulas/engine/settings.mjs +107 -0
  827. package/plugins/formulas/formulas.d.ts +31 -0
  828. package/plugins/formulas/formulas.js +1229 -0
  829. package/plugins/formulas/formulas.mjs +1221 -0
  830. package/plugins/formulas/index.d.ts +1 -0
  831. package/plugins/formulas/index.js +8 -0
  832. package/plugins/formulas/index.mjs +1 -0
  833. package/plugins/formulas/utils.js +24 -0
  834. package/plugins/formulas/utils.mjs +19 -0
  835. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +76 -0
  836. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +67 -0
  837. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +124 -0
  838. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +115 -0
  839. package/plugins/hiddenColumns/hiddenColumns.d.ts +21 -0
  840. package/plugins/hiddenColumns/hiddenColumns.js +620 -0
  841. package/plugins/hiddenColumns/hiddenColumns.mjs +612 -0
  842. package/plugins/hiddenColumns/index.d.ts +1 -0
  843. package/plugins/hiddenColumns/index.js +8 -0
  844. package/plugins/hiddenColumns/index.mjs +1 -0
  845. package/plugins/hiddenRows/contextMenuItem/hideRow.js +76 -0
  846. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +67 -0
  847. package/plugins/hiddenRows/contextMenuItem/showRow.js +124 -0
  848. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +115 -0
  849. package/plugins/hiddenRows/hiddenRows.d.ts +21 -0
  850. package/plugins/hiddenRows/hiddenRows.js +612 -0
  851. package/plugins/hiddenRows/hiddenRows.mjs +604 -0
  852. package/plugins/hiddenRows/index.d.ts +1 -0
  853. package/plugins/hiddenRows/index.js +8 -0
  854. package/plugins/hiddenRows/index.mjs +1 -0
  855. package/plugins/index.d.ts +111 -0
  856. package/plugins/index.js +115 -0
  857. package/plugins/index.mjs +75 -0
  858. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +58 -0
  859. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +49 -0
  860. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +58 -0
  861. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +49 -0
  862. package/plugins/manualColumnFreeze/index.d.ts +1 -0
  863. package/plugins/manualColumnFreeze/index.js +8 -0
  864. package/plugins/manualColumnFreeze/index.mjs +1 -0
  865. package/plugins/manualColumnFreeze/manualColumnFreeze.d.ts +11 -0
  866. package/plugins/manualColumnFreeze/manualColumnFreeze.js +250 -0
  867. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +242 -0
  868. package/plugins/manualColumnMove/index.d.ts +1 -0
  869. package/plugins/manualColumnMove/index.js +8 -0
  870. package/plugins/manualColumnMove/index.mjs +1 -0
  871. package/plugins/manualColumnMove/manualColumnMove.d.ts +14 -0
  872. package/plugins/manualColumnMove/manualColumnMove.js +775 -0
  873. package/plugins/manualColumnMove/manualColumnMove.mjs +767 -0
  874. package/plugins/manualColumnMove/ui/_base.js +209 -0
  875. package/plugins/manualColumnMove/ui/_base.mjs +204 -0
  876. package/plugins/manualColumnMove/ui/backlight.js +60 -0
  877. package/plugins/manualColumnMove/ui/backlight.mjs +54 -0
  878. package/plugins/manualColumnMove/ui/guideline.js +60 -0
  879. package/plugins/manualColumnMove/ui/guideline.mjs +54 -0
  880. package/plugins/manualColumnResize/index.d.ts +1 -0
  881. package/plugins/manualColumnResize/index.js +8 -0
  882. package/plugins/manualColumnResize/index.mjs +1 -0
  883. package/plugins/manualColumnResize/manualColumnResize.d.ts +30 -0
  884. package/plugins/manualColumnResize/manualColumnResize.js +690 -0
  885. package/plugins/manualColumnResize/manualColumnResize.mjs +680 -0
  886. package/plugins/manualRowMove/index.d.ts +1 -0
  887. package/plugins/manualRowMove/index.js +8 -0
  888. package/plugins/manualRowMove/index.mjs +1 -0
  889. package/plugins/manualRowMove/manualRowMove.d.ts +14 -0
  890. package/plugins/manualRowMove/manualRowMove.js +757 -0
  891. package/plugins/manualRowMove/manualRowMove.mjs +749 -0
  892. package/plugins/manualRowMove/ui/_base.js +196 -0
  893. package/plugins/manualRowMove/ui/_base.mjs +191 -0
  894. package/plugins/manualRowMove/ui/backlight.js +60 -0
  895. package/plugins/manualRowMove/ui/backlight.mjs +54 -0
  896. package/plugins/manualRowMove/ui/guideline.js +60 -0
  897. package/plugins/manualRowMove/ui/guideline.mjs +54 -0
  898. package/plugins/manualRowResize/index.d.ts +1 -0
  899. package/plugins/manualRowResize/index.js +8 -0
  900. package/plugins/manualRowResize/index.mjs +1 -0
  901. package/plugins/manualRowResize/manualRowResize.d.ts +29 -0
  902. package/plugins/manualRowResize/manualRowResize.js +652 -0
  903. package/plugins/manualRowResize/manualRowResize.mjs +642 -0
  904. package/plugins/mergeCells/calculations/autofill.js +464 -0
  905. package/plugins/mergeCells/calculations/autofill.mjs +459 -0
  906. package/plugins/mergeCells/calculations/selection.js +204 -0
  907. package/plugins/mergeCells/calculations/selection.mjs +199 -0
  908. package/plugins/mergeCells/cellCoords.js +347 -0
  909. package/plugins/mergeCells/cellCoords.mjs +342 -0
  910. package/plugins/mergeCells/cellsCollection.js +344 -0
  911. package/plugins/mergeCells/cellsCollection.mjs +338 -0
  912. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +55 -0
  913. package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +38 -0
  914. package/plugins/mergeCells/index.d.ts +1 -0
  915. package/plugins/mergeCells/index.js +8 -0
  916. package/plugins/mergeCells/index.mjs +1 -0
  917. package/plugins/mergeCells/mergeCells.d.ts +22 -0
  918. package/plugins/mergeCells/mergeCells.js +1290 -0
  919. package/plugins/mergeCells/mergeCells.mjs +1282 -0
  920. package/plugins/mergeCells/utils.js +30 -0
  921. package/plugins/mergeCells/utils.mjs +26 -0
  922. package/plugins/multiColumnSorting/domHelpers.js +44 -0
  923. package/plugins/multiColumnSorting/domHelpers.mjs +39 -0
  924. package/plugins/multiColumnSorting/index.d.ts +1 -0
  925. package/plugins/multiColumnSorting/index.js +8 -0
  926. package/plugins/multiColumnSorting/index.mjs +1 -0
  927. package/plugins/multiColumnSorting/multiColumnSorting.d.ts +8 -0
  928. package/plugins/multiColumnSorting/multiColumnSorting.js +336 -0
  929. package/plugins/multiColumnSorting/multiColumnSorting.mjs +329 -0
  930. package/plugins/multiColumnSorting/rootComparator.js +55 -0
  931. package/plugins/multiColumnSorting/rootComparator.mjs +51 -0
  932. package/plugins/multiColumnSorting/utils.js +16 -0
  933. package/plugins/multiColumnSorting/utils.mjs +12 -0
  934. package/plugins/multipleSelectionHandles/index.d.ts +1 -0
  935. package/plugins/multipleSelectionHandles/index.js +8 -0
  936. package/plugins/multipleSelectionHandles/index.mjs +1 -0
  937. package/plugins/multipleSelectionHandles/multipleSelectionHandles.d.ts +21 -0
  938. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +394 -0
  939. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +386 -0
  940. package/plugins/nestedHeaders/index.d.ts +1 -0
  941. package/plugins/nestedHeaders/index.js +8 -0
  942. package/plugins/nestedHeaders/index.mjs +1 -0
  943. package/plugins/nestedHeaders/nestedHeaders.d.ts +17 -0
  944. package/plugins/nestedHeaders/nestedHeaders.js +666 -0
  945. package/plugins/nestedHeaders/nestedHeaders.mjs +658 -0
  946. package/plugins/nestedHeaders/stateManager/headersTree.js +288 -0
  947. package/plugins/nestedHeaders/stateManager/headersTree.mjs +283 -0
  948. package/plugins/nestedHeaders/stateManager/index.js +417 -0
  949. package/plugins/nestedHeaders/stateManager/index.mjs +412 -0
  950. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +102 -0
  951. package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +99 -0
  952. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +98 -0
  953. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +94 -0
  954. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +95 -0
  955. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +91 -0
  956. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +54 -0
  957. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +50 -0
  958. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +40 -0
  959. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +35 -0
  960. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +55 -0
  961. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +51 -0
  962. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +61 -0
  963. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +55 -0
  964. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +122 -0
  965. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +119 -0
  966. package/plugins/nestedHeaders/stateManager/sourceSettings.js +250 -0
  967. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +245 -0
  968. package/plugins/nestedHeaders/stateManager/utils.js +75 -0
  969. package/plugins/nestedHeaders/stateManager/utils.mjs +70 -0
  970. package/plugins/nestedHeaders/utils/ghostTable.js +167 -0
  971. package/plugins/nestedHeaders/utils/ghostTable.mjs +162 -0
  972. package/plugins/nestedRows/data/dataManager.js +809 -0
  973. package/plugins/nestedRows/data/dataManager.mjs +804 -0
  974. package/plugins/nestedRows/index.d.ts +1 -0
  975. package/plugins/nestedRows/index.js +8 -0
  976. package/plugins/nestedRows/index.mjs +1 -0
  977. package/plugins/nestedRows/nestedRows.d.ts +12 -0
  978. package/plugins/nestedRows/nestedRows.js +592 -0
  979. package/plugins/nestedRows/nestedRows.mjs +584 -0
  980. package/plugins/nestedRows/ui/_base.js +28 -0
  981. package/plugins/nestedRows/ui/_base.mjs +23 -0
  982. package/plugins/nestedRows/ui/collapsing.js +562 -0
  983. package/plugins/nestedRows/ui/collapsing.mjs +556 -0
  984. package/plugins/nestedRows/ui/contextMenu.js +147 -0
  985. package/plugins/nestedRows/ui/contextMenu.mjs +138 -0
  986. package/plugins/nestedRows/ui/headers.js +157 -0
  987. package/plugins/nestedRows/ui/headers.mjs +151 -0
  988. package/plugins/nestedRows/utils/rowMoveController.js +331 -0
  989. package/plugins/nestedRows/utils/rowMoveController.mjs +327 -0
  990. package/plugins/persistentState/index.d.ts +1 -0
  991. package/plugins/persistentState/index.js +8 -0
  992. package/plugins/persistentState/index.mjs +1 -0
  993. package/plugins/persistentState/persistentState.d.ts +13 -0
  994. package/plugins/persistentState/persistentState.js +207 -0
  995. package/plugins/persistentState/persistentState.mjs +199 -0
  996. package/plugins/persistentState/storage.js +138 -0
  997. package/plugins/persistentState/storage.mjs +133 -0
  998. package/plugins/registry.d.ts +9 -0
  999. package/plugins/registry.js +150 -0
  1000. package/plugins/registry.mjs +146 -0
  1001. package/plugins/search/index.d.ts +1 -0
  1002. package/plugins/search/index.js +8 -0
  1003. package/plugins/search/index.mjs +1 -0
  1004. package/plugins/search/search.d.ts +28 -0
  1005. package/plugins/search/search.js +377 -0
  1006. package/plugins/search/search.mjs +370 -0
  1007. package/plugins/touchScroll/index.d.ts +1 -0
  1008. package/plugins/touchScroll/index.js +8 -0
  1009. package/plugins/touchScroll/index.mjs +1 -0
  1010. package/plugins/touchScroll/touchScroll.d.ts +13 -0
  1011. package/plugins/touchScroll/touchScroll.js +250 -0
  1012. package/plugins/touchScroll/touchScroll.mjs +243 -0
  1013. package/plugins/trimRows/index.d.ts +1 -0
  1014. package/plugins/trimRows/index.js +8 -0
  1015. package/plugins/trimRows/index.mjs +1 -0
  1016. package/plugins/trimRows/trimRows.d.ts +17 -0
  1017. package/plugins/trimRows/trimRows.js +393 -0
  1018. package/plugins/trimRows/trimRows.mjs +386 -0
  1019. package/plugins/undoRedo/index.d.ts +1 -0
  1020. package/plugins/undoRedo/index.js +18 -0
  1021. package/plugins/undoRedo/index.mjs +2 -0
  1022. package/plugins/undoRedo/undoRedo.d.ts +49 -0
  1023. package/plugins/undoRedo/undoRedo.js +935 -0
  1024. package/plugins/undoRedo/undoRedo.mjs +928 -0
  1025. package/registry.d.ts +6 -0
  1026. package/registry.js +35 -0
  1027. package/registry.mjs +26 -0
  1028. package/renderers/autocompleteRenderer/autocompleteRenderer.d.ts +5 -0
  1029. package/renderers/autocompleteRenderer/autocompleteRenderer.js +59 -0
  1030. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +52 -0
  1031. package/renderers/autocompleteRenderer/index.d.ts +1 -0
  1032. package/renderers/autocompleteRenderer/index.js +7 -0
  1033. package/renderers/autocompleteRenderer/index.mjs +1 -0
  1034. package/renderers/base.d.ts +3 -0
  1035. package/renderers/baseRenderer/baseRenderer.d.ts +5 -0
  1036. package/renderers/baseRenderer/baseRenderer.js +46 -0
  1037. package/renderers/baseRenderer/baseRenderer.mjs +39 -0
  1038. package/renderers/baseRenderer/index.d.ts +1 -0
  1039. package/renderers/baseRenderer/index.js +7 -0
  1040. package/renderers/baseRenderer/index.mjs +1 -0
  1041. package/renderers/checkboxRenderer/checkboxRenderer.d.ts +5 -0
  1042. package/renderers/checkboxRenderer/checkboxRenderer.js +398 -0
  1043. package/renderers/checkboxRenderer/checkboxRenderer.mjs +391 -0
  1044. package/renderers/checkboxRenderer/index.d.ts +1 -0
  1045. package/renderers/checkboxRenderer/index.js +7 -0
  1046. package/renderers/checkboxRenderer/index.mjs +1 -0
  1047. package/renderers/htmlRenderer/htmlRenderer.d.ts +5 -0
  1048. package/renderers/htmlRenderer/htmlRenderer.js +25 -0
  1049. package/renderers/htmlRenderer/htmlRenderer.mjs +19 -0
  1050. package/renderers/htmlRenderer/index.d.ts +1 -0
  1051. package/renderers/htmlRenderer/index.js +7 -0
  1052. package/renderers/htmlRenderer/index.mjs +1 -0
  1053. package/renderers/index.d.ts +45 -0
  1054. package/renderers/index.js +48 -0
  1055. package/renderers/index.mjs +24 -0
  1056. package/renderers/numericRenderer/index.d.ts +1 -0
  1057. package/renderers/numericRenderer/index.js +7 -0
  1058. package/renderers/numericRenderer/index.mjs +1 -0
  1059. package/renderers/numericRenderer/numericRenderer.d.ts +5 -0
  1060. package/renderers/numericRenderer/numericRenderer.js +57 -0
  1061. package/renderers/numericRenderer/numericRenderer.mjs +50 -0
  1062. package/renderers/passwordRenderer/index.d.ts +1 -0
  1063. package/renderers/passwordRenderer/index.js +7 -0
  1064. package/renderers/passwordRenderer/index.mjs +1 -0
  1065. package/renderers/passwordRenderer/passwordRenderer.d.ts +5 -0
  1066. package/renderers/passwordRenderer/passwordRenderer.js +32 -0
  1067. package/renderers/passwordRenderer/passwordRenderer.mjs +26 -0
  1068. package/renderers/registry.d.ts +18 -0
  1069. package/renderers/registry.js +48 -0
  1070. package/renderers/registry.mjs +38 -0
  1071. package/renderers/textRenderer/index.d.ts +1 -0
  1072. package/renderers/textRenderer/index.js +7 -0
  1073. package/renderers/textRenderer/index.mjs +1 -0
  1074. package/renderers/textRenderer/textRenderer.d.ts +5 -0
  1075. package/renderers/textRenderer/textRenderer.js +48 -0
  1076. package/renderers/textRenderer/textRenderer.mjs +42 -0
  1077. package/renderers/timeRenderer/index.d.ts +1 -0
  1078. package/renderers/timeRenderer/index.js +7 -0
  1079. package/renderers/timeRenderer/index.mjs +1 -0
  1080. package/renderers/timeRenderer/timeRenderer.d.ts +5 -0
  1081. package/renderers/timeRenderer/timeRenderer.js +26 -0
  1082. package/renderers/timeRenderer/timeRenderer.mjs +20 -0
  1083. package/selection/highlight/constants.js +16 -0
  1084. package/selection/highlight/constants.mjs +6 -0
  1085. package/selection/highlight/highlight.js +330 -0
  1086. package/selection/highlight/highlight.mjs +325 -0
  1087. package/selection/highlight/types/activeHeader.js +38 -0
  1088. package/selection/highlight/types/activeHeader.mjs +32 -0
  1089. package/selection/highlight/types/area.js +49 -0
  1090. package/selection/highlight/types/area.mjs +43 -0
  1091. package/selection/highlight/types/cell.js +46 -0
  1092. package/selection/highlight/types/cell.mjs +40 -0
  1093. package/selection/highlight/types/customSelection.js +41 -0
  1094. package/selection/highlight/types/customSelection.mjs +35 -0
  1095. package/selection/highlight/types/fill.js +41 -0
  1096. package/selection/highlight/types/fill.mjs +35 -0
  1097. package/selection/highlight/types/header.js +49 -0
  1098. package/selection/highlight/types/header.mjs +43 -0
  1099. package/selection/highlight/types/index.js +43 -0
  1100. package/selection/highlight/types/index.mjs +39 -0
  1101. package/selection/highlight/visualSelection.js +277 -0
  1102. package/selection/highlight/visualSelection.mjs +272 -0
  1103. package/selection/index.d.ts +5 -0
  1104. package/selection/index.js +30 -0
  1105. package/selection/index.mjs +6 -0
  1106. package/selection/mouseEventHandler.js +135 -0
  1107. package/selection/mouseEventHandler.mjs +129 -0
  1108. package/selection/range.js +173 -0
  1109. package/selection/range.mjs +168 -0
  1110. package/selection/selection.js +802 -0
  1111. package/selection/selection.mjs +796 -0
  1112. package/selection/transformation.js +169 -0
  1113. package/selection/transformation.mjs +163 -0
  1114. package/selection/utils.js +256 -0
  1115. package/selection/utils.mjs +242 -0
  1116. package/settings.d.ts +210 -0
  1117. package/shortcuts/context.d.ts +20 -0
  1118. package/shortcuts/context.js +241 -0
  1119. package/shortcuts/context.mjs +236 -0
  1120. package/shortcuts/index.d.ts +1 -0
  1121. package/shortcuts/index.js +6 -0
  1122. package/shortcuts/index.mjs +1 -0
  1123. package/shortcuts/keyObserver.js +58 -0
  1124. package/shortcuts/keyObserver.mjs +54 -0
  1125. package/shortcuts/manager.d.ts +10 -0
  1126. package/shortcuts/manager.js +165 -0
  1127. package/shortcuts/manager.mjs +159 -0
  1128. package/shortcuts/recorder.js +165 -0
  1129. package/shortcuts/recorder.mjs +161 -0
  1130. package/shortcuts/utils.js +58 -0
  1131. package/shortcuts/utils.mjs +51 -0
  1132. package/tableView.js +1313 -0
  1133. package/tableView.mjs +1307 -0
  1134. package/translations/changesObservable/observable.js +175 -0
  1135. package/translations/changesObservable/observable.mjs +170 -0
  1136. package/translations/changesObservable/observer.js +100 -0
  1137. package/translations/changesObservable/observer.mjs +94 -0
  1138. package/translations/changesObservable/utils.js +50 -0
  1139. package/translations/changesObservable/utils.mjs +46 -0
  1140. package/translations/index.d.ts +1 -0
  1141. package/translations/index.js +29 -0
  1142. package/translations/index.mjs +4 -0
  1143. package/translations/indexMapper.d.ts +48 -0
  1144. package/translations/indexMapper.js +865 -0
  1145. package/translations/indexMapper.mjs +859 -0
  1146. package/translations/mapCollections/aggregatedCollection.js +139 -0
  1147. package/translations/mapCollections/aggregatedCollection.mjs +134 -0
  1148. package/translations/mapCollections/index.js +18 -0
  1149. package/translations/mapCollections/index.mjs +2 -0
  1150. package/translations/mapCollections/mapCollection.js +164 -0
  1151. package/translations/mapCollections/mapCollection.mjs +156 -0
  1152. package/translations/maps/hidingMap.js +63 -0
  1153. package/translations/maps/hidingMap.mjs +58 -0
  1154. package/translations/maps/index.js +59 -0
  1155. package/translations/maps/index.mjs +29 -0
  1156. package/translations/maps/indexMap.d.ts +10 -0
  1157. package/translations/maps/indexMap.js +203 -0
  1158. package/translations/maps/indexMap.mjs +197 -0
  1159. package/translations/maps/indexesSequence.js +82 -0
  1160. package/translations/maps/indexesSequence.mjs +77 -0
  1161. package/translations/maps/linkedPhysicalIndexToValueMap.js +216 -0
  1162. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +211 -0
  1163. package/translations/maps/physicalIndexToValueMap.js +76 -0
  1164. package/translations/maps/physicalIndexToValueMap.mjs +71 -0
  1165. package/translations/maps/trimmingMap.js +63 -0
  1166. package/translations/maps/trimmingMap.mjs +58 -0
  1167. package/translations/maps/utils/actionsOnIndexes.js +42 -0
  1168. package/translations/maps/utils/actionsOnIndexes.mjs +37 -0
  1169. package/translations/maps/utils/index.js +28 -0
  1170. package/translations/maps/utils/index.mjs +22 -0
  1171. package/translations/maps/utils/indexesSequence.js +52 -0
  1172. package/translations/maps/utils/indexesSequence.mjs +47 -0
  1173. package/translations/maps/utils/physicallyIndexed.js +61 -0
  1174. package/translations/maps/utils/physicallyIndexed.mjs +56 -0
  1175. package/utils/dataStructures/linkedList.js +263 -0
  1176. package/utils/dataStructures/linkedList.mjs +258 -0
  1177. package/utils/dataStructures/priorityMap.js +106 -0
  1178. package/utils/dataStructures/priorityMap.mjs +99 -0
  1179. package/utils/dataStructures/queue.js +83 -0
  1180. package/utils/dataStructures/queue.mjs +78 -0
  1181. package/utils/dataStructures/stack.js +83 -0
  1182. package/utils/dataStructures/stack.mjs +78 -0
  1183. package/utils/dataStructures/tree.js +254 -0
  1184. package/utils/dataStructures/tree.mjs +246 -0
  1185. package/utils/dataStructures/uniqueMap.js +144 -0
  1186. package/utils/dataStructures/uniqueMap.mjs +140 -0
  1187. package/utils/dataStructures/uniqueSet.js +78 -0
  1188. package/utils/dataStructures/uniqueSet.mjs +74 -0
  1189. package/utils/ghostTable.js +536 -0
  1190. package/utils/ghostTable.mjs +531 -0
  1191. package/utils/interval.js +134 -0
  1192. package/utils/interval.mjs +129 -0
  1193. package/utils/parseTable.d.ts +5 -0
  1194. package/utils/parseTable.js +305 -0
  1195. package/utils/parseTable.mjs +299 -0
  1196. package/utils/rootInstance.js +48 -0
  1197. package/utils/rootInstance.mjs +38 -0
  1198. package/utils/samplesGenerator.js +210 -0
  1199. package/utils/samplesGenerator.mjs +205 -0
  1200. package/utils/staticRegister.js +92 -0
  1201. package/utils/staticRegister.mjs +86 -0
  1202. package/validators/autocompleteValidator/autocompleteValidator.d.ts +5 -0
  1203. package/validators/autocompleteValidator/autocompleteValidator.js +56 -0
  1204. package/validators/autocompleteValidator/autocompleteValidator.mjs +50 -0
  1205. package/validators/autocompleteValidator/index.d.ts +1 -0
  1206. package/validators/autocompleteValidator/index.js +7 -0
  1207. package/validators/autocompleteValidator/index.mjs +1 -0
  1208. package/validators/base.d.ts +6 -0
  1209. package/validators/dateValidator/dateValidator.d.ts +5 -0
  1210. package/validators/dateValidator/dateValidator.js +77 -0
  1211. package/validators/dateValidator/dateValidator.mjs +69 -0
  1212. package/validators/dateValidator/index.d.ts +1 -0
  1213. package/validators/dateValidator/index.js +8 -0
  1214. package/validators/dateValidator/index.mjs +1 -0
  1215. package/validators/index.d.ts +33 -0
  1216. package/validators/index.js +32 -0
  1217. package/validators/index.mjs +16 -0
  1218. package/validators/numericValidator/index.d.ts +1 -0
  1219. package/validators/numericValidator/index.js +7 -0
  1220. package/validators/numericValidator/index.mjs +1 -0
  1221. package/validators/numericValidator/numericValidator.d.ts +5 -0
  1222. package/validators/numericValidator/numericValidator.js +30 -0
  1223. package/validators/numericValidator/numericValidator.mjs +24 -0
  1224. package/validators/registry.d.ts +18 -0
  1225. package/validators/registry.js +48 -0
  1226. package/validators/registry.mjs +38 -0
  1227. package/validators/timeValidator/index.d.ts +1 -0
  1228. package/validators/timeValidator/index.js +7 -0
  1229. package/validators/timeValidator/index.mjs +1 -0
  1230. package/validators/timeValidator/timeValidator.d.ts +5 -0
  1231. package/validators/timeValidator/timeValidator.js +66 -0
  1232. package/validators/timeValidator/timeValidator.mjs +60 -0
@@ -0,0 +1,1221 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
4
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
5
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
8
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
12
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
13
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
+ import "core-js/modules/es.array.concat.js";
15
+ import "core-js/modules/es.object.to-string.js";
16
+ import "core-js/modules/web.dom-collections.for-each.js";
17
+ import "core-js/modules/es.array.iterator.js";
18
+ import "core-js/modules/es.set.js";
19
+ import "core-js/modules/es.string.iterator.js";
20
+ import "core-js/modules/web.dom-collections.iterator.js";
21
+ import "core-js/modules/es.array.map.js";
22
+ import "core-js/modules/es.array.includes.js";
23
+ import "core-js/modules/es.string.includes.js";
24
+ import "core-js/modules/es.array.reverse.js";
25
+ import "core-js/modules/es.array.sort.js";
26
+ import "core-js/modules/es.weak-map.js";
27
+ import "core-js/modules/es.object.set-prototype-of.js";
28
+ import "core-js/modules/es.object.get-prototype-of.js";
29
+ import "core-js/modules/es.reflect.construct.js";
30
+ import "core-js/modules/es.reflect.get.js";
31
+ import "core-js/modules/es.object.get-own-property-descriptor.js";
32
+ import "core-js/modules/es.symbol.js";
33
+ import "core-js/modules/es.symbol.description.js";
34
+ import "core-js/modules/es.symbol.iterator.js";
35
+ import "core-js/modules/es.array.slice.js";
36
+ import "core-js/modules/es.function.name.js";
37
+ import "core-js/modules/es.array.from.js";
38
+ import "core-js/modules/es.regexp.exec.js";
39
+ import "core-js/modules/es.object.keys.js";
40
+ import "core-js/modules/es.array.filter.js";
41
+ import "core-js/modules/es.object.get-own-property-descriptors.js";
42
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
43
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
44
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
45
+ function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
46
+ function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
47
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
48
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
49
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
50
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
51
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
52
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
53
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
54
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
55
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
56
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
57
+ function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
58
+ function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
59
+ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
60
+ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
61
+ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
62
+ import { BasePlugin } from "../base/index.mjs";
63
+ import staticRegister from "../../utils/staticRegister.mjs";
64
+ import { error, warn } from "../../helpers/console.mjs";
65
+ import { isNumeric } from "../../helpers/number.mjs";
66
+ import { isDefined, isUndefined } from "../../helpers/mixed.mjs";
67
+ import { setupEngine, setupSheet, unregisterEngine, getRegisteredHotInstances } from "./engine/register.mjs";
68
+ import { isEscapedFormulaExpression, unescapeFormulaExpression } from "./utils.mjs";
69
+ import { getEngineSettingsWithOverrides } from "./engine/settings.mjs";
70
+ import { isArrayOfArrays } from "../../helpers/data.mjs";
71
+ import { toUpperCaseFirst } from "../../helpers/string.mjs";
72
+ import Hooks from "../../pluginHooks.mjs";
73
+ export var PLUGIN_KEY = 'formulas';
74
+ export var PLUGIN_PRIORITY = 260;
75
+ var ROW_MOVE_UNDO_REDO_NAME = 'row_move';
76
+ Hooks.getSingleton().register('afterNamedExpressionAdded');
77
+ Hooks.getSingleton().register('afterNamedExpressionRemoved');
78
+ Hooks.getSingleton().register('afterSheetAdded');
79
+ Hooks.getSingleton().register('afterSheetRemoved');
80
+ Hooks.getSingleton().register('afterSheetRenamed');
81
+ Hooks.getSingleton().register('afterFormulasValuesUpdate');
82
+
83
+ // This function will be used for detecting changes coming from the `UndoRedo` plugin. This kind of change won't be
84
+ // handled by whole body of listeners and therefore won't change undo/redo stack inside engine provided by HyperFormula.
85
+ // HyperFormula's `undo` and `redo` methods will do it instead. Please keep in mind that undo/redo stacks inside
86
+ // instances of Handsontable and HyperFormula should be synced (number of actions should be the same).
87
+ var isBlockedSource = function isBlockedSource(source) {
88
+ return source === 'UndoRedo.undo' || source === 'UndoRedo.redo' || source === 'auto';
89
+ };
90
+
91
+ /**
92
+ * This plugin allows you to perform Excel-like calculations in your business applications. It does it by an
93
+ * integration with our other product, [HyperFormula](https://github.com/handsontable/hyperformula/), which is a
94
+ * powerful calculation engine with an extensive number of features.
95
+ *
96
+ * To test out HyperFormula, see [this guide](@/guides/formulas/formula-calculation.md#available-functions).
97
+ *
98
+ * @plugin Formulas
99
+ * @class Formulas
100
+ */
101
+ var _internalOperationPending = /*#__PURE__*/new WeakMap();
102
+ var _hotWasInitializedWithEmptyData = /*#__PURE__*/new WeakMap();
103
+ var _engineListeners = /*#__PURE__*/new WeakMap();
104
+ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
105
+ _inherits(Formulas, _BasePlugin);
106
+ var _super = _createSuper(Formulas);
107
+ function Formulas() {
108
+ var _this;
109
+ _classCallCheck(this, Formulas);
110
+ for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {
111
+ _args[_key] = arguments[_key];
112
+ }
113
+ _this = _super.call.apply(_super, [this].concat(_args));
114
+ _classPrivateFieldInitSpec(_assertThisInitialized(_this), _internalOperationPending, {
115
+ writable: true,
116
+ value: false
117
+ });
118
+ _classPrivateFieldInitSpec(_assertThisInitialized(_this), _hotWasInitializedWithEmptyData, {
119
+ writable: true,
120
+ value: false
121
+ });
122
+ _classPrivateFieldInitSpec(_assertThisInitialized(_this), _engineListeners, {
123
+ writable: true,
124
+ value: [['valuesUpdated', function () {
125
+ var _this2;
126
+ return (_this2 = _this).onEngineValuesUpdated.apply(_this2, arguments);
127
+ }], ['namedExpressionAdded', function () {
128
+ var _this3;
129
+ return (_this3 = _this).onEngineNamedExpressionsAdded.apply(_this3, arguments);
130
+ }], ['namedExpressionRemoved', function () {
131
+ var _this4;
132
+ return (_this4 = _this).onEngineNamedExpressionsRemoved.apply(_this4, arguments);
133
+ }], ['sheetAdded', function () {
134
+ var _this5;
135
+ return (_this5 = _this).onEngineSheetAdded.apply(_this5, arguments);
136
+ }], ['sheetRenamed', function () {
137
+ var _this6;
138
+ return (_this6 = _this).onEngineSheetRenamed.apply(_this6, arguments);
139
+ }], ['sheetRemoved', function () {
140
+ var _this7;
141
+ return (_this7 = _this).onEngineSheetRemoved.apply(_this7, arguments);
142
+ }]]
143
+ });
144
+ _defineProperty(_assertThisInitialized(_this), "staticRegister", staticRegister('formulas'));
145
+ _defineProperty(_assertThisInitialized(_this), "engine", null);
146
+ _defineProperty(_assertThisInitialized(_this), "sheetName", null);
147
+ return _this;
148
+ }
149
+ _createClass(Formulas, [{
150
+ key: "sheetId",
151
+ get:
152
+ /**
153
+ * HyperFormula's sheet id.
154
+ *
155
+ * @type {number|null}
156
+ */
157
+ function get() {
158
+ return this.sheetName === null ? null : this.engine.getSheetId(this.sheetName);
159
+ }
160
+
161
+ /**
162
+ * Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
163
+ * hook and if it returns `true` then the {@link Formulas#enablePlugin} method is called.
164
+ *
165
+ * @returns {boolean}
166
+ */
167
+ }, {
168
+ key: "isEnabled",
169
+ value: function isEnabled() {
170
+ /* eslint-disable no-unneeded-ternary */
171
+ return this.hot.getSettings()[PLUGIN_KEY] ? true : false;
172
+ }
173
+
174
+ /**
175
+ * Enables the plugin functionality for this Handsontable instance.
176
+ */
177
+ }, {
178
+ key: "enablePlugin",
179
+ value: function enablePlugin() {
180
+ var _setupEngine,
181
+ _this8 = this;
182
+ if (this.enabled) {
183
+ return;
184
+ }
185
+ this.engine = (_setupEngine = setupEngine(this.hot)) !== null && _setupEngine !== void 0 ? _setupEngine : this.engine;
186
+ if (!this.engine) {
187
+ warn('Missing the required `engine` key in the Formulas settings. Please fill it with either an' + ' engine class or an engine instance.');
188
+ return;
189
+ }
190
+
191
+ // Useful for disabling -> enabling the plugin using `updateSettings` or the API.
192
+ if (this.sheetName !== null && !this.engine.doesSheetExist(this.sheetName)) {
193
+ var newSheetName = this.addSheet(this.sheetName, this.hot.getSourceDataArray());
194
+ if (newSheetName !== false) {
195
+ this.sheetName = newSheetName;
196
+ }
197
+ }
198
+ this.addHook('beforeLoadData', function () {
199
+ return _this8.onBeforeLoadData.apply(_this8, arguments);
200
+ });
201
+ this.addHook('afterLoadData', function () {
202
+ return _this8.onAfterLoadData.apply(_this8, arguments);
203
+ });
204
+
205
+ // The `updateData` hooks utilize the same logic as the `loadData` hooks.
206
+ this.addHook('beforeUpdateData', function () {
207
+ return _this8.onBeforeLoadData.apply(_this8, arguments);
208
+ });
209
+ this.addHook('afterUpdateData', function () {
210
+ return _this8.onAfterLoadData.apply(_this8, arguments);
211
+ });
212
+ this.addHook('modifyData', function () {
213
+ return _this8.onModifyData.apply(_this8, arguments);
214
+ });
215
+ this.addHook('modifySourceData', function () {
216
+ return _this8.onModifySourceData.apply(_this8, arguments);
217
+ });
218
+ this.addHook('beforeValidate', function () {
219
+ return _this8.onBeforeValidate.apply(_this8, arguments);
220
+ });
221
+ this.addHook('afterSetSourceDataAtCell', function () {
222
+ return _this8.onAfterSetSourceDataAtCell.apply(_this8, arguments);
223
+ });
224
+ this.addHook('afterSetDataAtCell', function () {
225
+ return _this8.onAfterSetDataAtCell.apply(_this8, arguments);
226
+ });
227
+ this.addHook('afterSetDataAtRowProp', function () {
228
+ return _this8.onAfterSetDataAtCell.apply(_this8, arguments);
229
+ });
230
+ this.addHook('beforeCreateRow', function () {
231
+ return _this8.onBeforeCreateRow.apply(_this8, arguments);
232
+ });
233
+ this.addHook('beforeCreateCol', function () {
234
+ return _this8.onBeforeCreateCol.apply(_this8, arguments);
235
+ });
236
+ this.addHook('afterCreateRow', function () {
237
+ return _this8.onAfterCreateRow.apply(_this8, arguments);
238
+ });
239
+ this.addHook('afterCreateCol', function () {
240
+ return _this8.onAfterCreateCol.apply(_this8, arguments);
241
+ });
242
+ this.addHook('beforeRemoveRow', function () {
243
+ return _this8.onBeforeRemoveRow.apply(_this8, arguments);
244
+ });
245
+ this.addHook('beforeRemoveCol', function () {
246
+ return _this8.onBeforeRemoveCol.apply(_this8, arguments);
247
+ });
248
+ this.addHook('afterRemoveRow', function () {
249
+ return _this8.onAfterRemoveRow.apply(_this8, arguments);
250
+ });
251
+ this.addHook('afterRemoveCol', function () {
252
+ return _this8.onAfterRemoveCol.apply(_this8, arguments);
253
+ });
254
+
255
+ // Handling undo actions on data just using HyperFormula's UndoRedo mechanism
256
+ this.addHook('beforeUndo', function (action) {
257
+ // TODO: Move action isn't handled by HyperFormula.
258
+ if ((action === null || action === void 0 ? void 0 : action.actionType) === ROW_MOVE_UNDO_REDO_NAME) {
259
+ return;
260
+ }
261
+ _this8.engine.undo();
262
+ });
263
+
264
+ // Handling redo actions on data just using HyperFormula's UndoRedo mechanism
265
+ this.addHook('beforeRedo', function (action) {
266
+ // TODO: Move action isn't handled by HyperFormula.
267
+ if ((action === null || action === void 0 ? void 0 : action.actionType) === ROW_MOVE_UNDO_REDO_NAME) {
268
+ return;
269
+ }
270
+ _this8.engine.redo();
271
+ });
272
+ this.addHook('afterDetachChild', function () {
273
+ return _this8.onAfterDetachChild.apply(_this8, arguments);
274
+ });
275
+ this.addHook('beforeAutofill', function () {
276
+ return _this8.onBeforeAutofill.apply(_this8, arguments);
277
+ });
278
+ _classPrivateFieldGet(this, _engineListeners).forEach(function (_ref) {
279
+ var _ref2 = _slicedToArray(_ref, 2),
280
+ eventName = _ref2[0],
281
+ listener = _ref2[1];
282
+ return _this8.engine.on(eventName, listener);
283
+ });
284
+ _get(_getPrototypeOf(Formulas.prototype), "enablePlugin", this).call(this);
285
+ }
286
+
287
+ /**
288
+ * Disables the plugin functionality for this Handsontable instance.
289
+ */
290
+ }, {
291
+ key: "disablePlugin",
292
+ value: function disablePlugin() {
293
+ var _this9 = this;
294
+ _classPrivateFieldGet(this, _engineListeners).forEach(function (_ref3) {
295
+ var _ref4 = _slicedToArray(_ref3, 2),
296
+ eventName = _ref4[0],
297
+ listener = _ref4[1];
298
+ return _this9.engine.off(eventName, listener);
299
+ });
300
+ unregisterEngine(this.engine, this.hot);
301
+ this.engine = null;
302
+ _get(_getPrototypeOf(Formulas.prototype), "disablePlugin", this).call(this);
303
+ }
304
+
305
+ /**
306
+ * Triggered on `updateSettings`.
307
+ *
308
+ * @private
309
+ * @param {object} newSettings New set of settings passed to the `updateSettings` method.
310
+ */
311
+ }, {
312
+ key: "updatePlugin",
313
+ value: function updatePlugin(newSettings) {
314
+ this.engine.updateConfig(getEngineSettingsWithOverrides(this.hot.getSettings()));
315
+ var pluginSettings = this.hot.getSettings()[PLUGIN_KEY];
316
+ if (isDefined(pluginSettings) && isDefined(pluginSettings.sheetName) && pluginSettings.sheetName !== this.sheetName) {
317
+ this.switchSheet(pluginSettings.sheetName);
318
+ }
319
+
320
+ // If no data was passed to the `updateSettings` method and no sheet is connected to the instance -> create a
321
+ // new sheet using the currently used data. Otherwise, it will be handled by the `afterLoadData` call.
322
+ if (!newSettings.data && this.sheetName === null) {
323
+ var sheetName = this.hot.getSettings()[PLUGIN_KEY].sheetName;
324
+ if (sheetName && this.engine.doesSheetExist(sheetName)) {
325
+ this.switchSheet(this.sheetName);
326
+ } else {
327
+ this.sheetName = this.addSheet(sheetName !== null && sheetName !== void 0 ? sheetName : void 0, this.hot.getSourceDataArray());
328
+ }
329
+ }
330
+ _get(_getPrototypeOf(Formulas.prototype), "updatePlugin", this).call(this, newSettings);
331
+ }
332
+
333
+ /**
334
+ * Destroys the plugin instance.
335
+ */
336
+ }, {
337
+ key: "destroy",
338
+ value: function destroy() {
339
+ var _this10 = this;
340
+ _classPrivateFieldGet(this, _engineListeners).forEach(function (_ref5) {
341
+ var _this10$engine;
342
+ var _ref6 = _slicedToArray(_ref5, 2),
343
+ eventName = _ref6[0],
344
+ listener = _ref6[1];
345
+ return (_this10$engine = _this10.engine) === null || _this10$engine === void 0 ? void 0 : _this10$engine.off(eventName, listener);
346
+ });
347
+ _classPrivateFieldSet(this, _engineListeners, null);
348
+ unregisterEngine(this.engine, this.hot);
349
+ this.engine = null;
350
+ _get(_getPrototypeOf(Formulas.prototype), "destroy", this).call(this);
351
+ }
352
+
353
+ /**
354
+ * Helper function for `toPhysicalRowPosition` and `toPhysicalColumnPosition`.
355
+ *
356
+ * @private
357
+ * @param {number} visualIndex Visual entry index.
358
+ * @param {number} physicalIndex Physical entry index.
359
+ * @param {number} entriesCount Visual entries count.
360
+ * @param {number} sourceEntriesCount Source entries count.
361
+ * @param {boolean} contained `true` if it should return only indexes within boundaries of the table (basically
362
+ * `toPhysical` alias.
363
+ * @returns {*}
364
+ */
365
+ }, {
366
+ key: "getPhysicalIndexPosition",
367
+ value: function getPhysicalIndexPosition(visualIndex, physicalIndex, entriesCount, sourceEntriesCount, contained) {
368
+ if (!contained) {
369
+ if (visualIndex >= entriesCount) {
370
+ return sourceEntriesCount + (visualIndex - entriesCount);
371
+ }
372
+ }
373
+ return physicalIndex;
374
+ }
375
+
376
+ /**
377
+ * Returns the physical row index. The difference between this and Core's `toPhysical` is that it doesn't return
378
+ * `null` on rows with indexes higher than the number of rows.
379
+ *
380
+ * @private
381
+ * @param {number} row Visual row index.
382
+ * @param {boolean} [contained] `true` if it should return only indexes within boundaries of the table (basically
383
+ * `toPhysical` alias.
384
+ * @returns {number} The physical row index.
385
+ */
386
+ }, {
387
+ key: "toPhysicalRowPosition",
388
+ value: function toPhysicalRowPosition(row) {
389
+ var contained = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
390
+ return this.getPhysicalIndexPosition(row, this.hot.toPhysicalRow(row), this.hot.countRows(), this.hot.countSourceRows(), contained);
391
+ }
392
+
393
+ /**
394
+ * Returns the physical column index. The difference between this and Core's `toPhysical` is that it doesn't return
395
+ * `null` on columns with indexes higher than the number of columns.
396
+ *
397
+ * @private
398
+ * @param {number} column Visual column index.
399
+ * @param {boolean} [contained] `true` if it should return only indexes within boundaries of the table (basically
400
+ * `toPhysical` alias.
401
+ * @returns {number} The physical column index.
402
+ */
403
+ }, {
404
+ key: "toPhysicalColumnPosition",
405
+ value: function toPhysicalColumnPosition(column) {
406
+ var contained = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
407
+ return this.getPhysicalIndexPosition(column, this.hot.toPhysicalColumn(column), this.hot.countCols(), this.hot.countSourceCols(), contained);
408
+ }
409
+
410
+ /**
411
+ * Add a sheet to the shared HyperFormula instance.
412
+ *
413
+ * @param {string|null} [sheetName] The new sheet name. If not provided (or a null is passed), will be
414
+ * auto-generated by HyperFormula.
415
+ * @param {Array} [sheetData] Data passed to the shared HyperFormula instance. Has to be declared as an array of
416
+ * arrays - array of objects is not supported in this scenario.
417
+ * @returns {boolean|string} `false` if the data format is unusable or it is impossible to add a new sheet to the
418
+ * engine, the created sheet name otherwise.
419
+ */
420
+ }, {
421
+ key: "addSheet",
422
+ value: function addSheet(sheetName, sheetData) {
423
+ if (isDefined(sheetData) && !isArrayOfArrays(sheetData)) {
424
+ warn('The provided data should be an array of arrays.');
425
+ return false;
426
+ }
427
+ if (sheetName !== void 0 && sheetName !== null && this.engine.doesSheetExist(sheetName)) {
428
+ warn('Sheet with the provided name already exists.');
429
+ return false;
430
+ }
431
+ try {
432
+ var actualSheetName = this.engine.addSheet(sheetName !== null && sheetName !== void 0 ? sheetName : void 0);
433
+ if (sheetData) {
434
+ this.engine.setSheetContent(this.engine.getSheetId(actualSheetName), sheetData);
435
+ }
436
+ return actualSheetName;
437
+ } catch (e) {
438
+ warn(e.message);
439
+ return false;
440
+ }
441
+ }
442
+
443
+ /**
444
+ * Switch the sheet used as data in the Handsontable instance (it loads the data from the shared HyperFormula
445
+ * instance).
446
+ *
447
+ * @param {string} sheetName Sheet name used in the shared HyperFormula instance.
448
+ */
449
+ }, {
450
+ key: "switchSheet",
451
+ value: function switchSheet(sheetName) {
452
+ if (!this.engine.doesSheetExist(sheetName)) {
453
+ error("The sheet named `".concat(sheetName, "` does not exist, switch aborted."));
454
+ return;
455
+ }
456
+ this.sheetName = sheetName;
457
+ var serialized = this.engine.getSheetSerialized(this.sheetId);
458
+ if (serialized.length > 0) {
459
+ this.hot.loadData(serialized, "".concat(toUpperCaseFirst(PLUGIN_KEY), ".switchSheet"));
460
+ }
461
+ }
462
+
463
+ /**
464
+ * Get the cell type under specified visual coordinates.
465
+ *
466
+ * @param {number} row Visual row index.
467
+ * @param {number} column Visual column index.
468
+ * @param {number} [sheet] The target sheet id, defaults to the current sheet.
469
+ * @returns {string} Possible values: 'FORMULA' | 'VALUE' | 'ARRAYFORMULA' | 'EMPTY'.
470
+ */
471
+ }, {
472
+ key: "getCellType",
473
+ value: function getCellType(row, column) {
474
+ var sheet = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.sheetId;
475
+ var physicalRow = this.hot.toPhysicalRow(row);
476
+ var physicalColumn = this.hot.toPhysicalColumn(column);
477
+ if (physicalRow !== null && physicalColumn !== null) {
478
+ return this.engine.getCellType({
479
+ sheet: sheet,
480
+ row: physicalRow,
481
+ col: physicalColumn
482
+ });
483
+ } else {
484
+ // Should return `EMPTY` when out of bounds (according to the test cases).
485
+ return 'EMPTY';
486
+ }
487
+ }
488
+
489
+ /**
490
+ * Returns `true` if under specified visual coordinates is formula.
491
+ *
492
+ * @param {number} row Visual row index.
493
+ * @param {number} column Visual column index.
494
+ * @param {number} [sheet] The target sheet id, defaults to the current sheet.
495
+ * @returns {boolean}
496
+ */
497
+ }, {
498
+ key: "isFormulaCellType",
499
+ value: function isFormulaCellType(row, column) {
500
+ var sheet = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.sheetId;
501
+ var physicalRow = this.hot.toPhysicalRow(row);
502
+ var physicalColumn = this.hot.toPhysicalColumn(column);
503
+ if (physicalRow === null || physicalColumn === null) {
504
+ return false;
505
+ }
506
+ return this.engine.doesCellHaveFormula({
507
+ sheet: sheet,
508
+ row: physicalRow,
509
+ col: physicalColumn
510
+ });
511
+ }
512
+
513
+ /**
514
+ * Renders dependent sheets (handsontable instances) based on the changes - list of the
515
+ * recalculated dependent cells.
516
+ *
517
+ * @private
518
+ * @param {object[]} dependentCells The values and location of applied changes within HF engine.
519
+ * @param {boolean} [renderSelf] `true` if it's supposed to render itself, `false` otherwise.
520
+ */
521
+ }, {
522
+ key: "renderDependentSheets",
523
+ value: function renderDependentSheets(dependentCells) {
524
+ var _this11 = this;
525
+ var renderSelf = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
526
+ var affectedSheetIds = new Set();
527
+ dependentCells.forEach(function (change) {
528
+ var _change$address;
529
+ // For the Named expression the address is empty, hence the `sheetId` is undefined.
530
+ var sheetId = change === null || change === void 0 ? void 0 : (_change$address = change.address) === null || _change$address === void 0 ? void 0 : _change$address.sheet;
531
+ if (sheetId !== void 0) {
532
+ if (!affectedSheetIds.has(sheetId)) {
533
+ affectedSheetIds.add(sheetId);
534
+ }
535
+ }
536
+ });
537
+ getRegisteredHotInstances(this.engine).forEach(function (relatedHot, sheetId) {
538
+ if ((renderSelf || sheetId !== _this11.sheetId) && affectedSheetIds.has(sheetId)) {
539
+ var _relatedHot$view;
540
+ relatedHot.render();
541
+ (_relatedHot$view = relatedHot.view) === null || _relatedHot$view === void 0 ? void 0 : _relatedHot$view.adjustElementsSize();
542
+ }
543
+ });
544
+ }
545
+
546
+ /**
547
+ * Validates dependent cells based on the cells that are modified by the change.
548
+ *
549
+ * @private
550
+ * @param {object[]} dependentCells The values and location of applied changes within HF engine.
551
+ * @param {object[]} [changedCells] The values and location of applied changes by developer (through API or UI).
552
+ */
553
+ }, {
554
+ key: "validateDependentCells",
555
+ value: function validateDependentCells(dependentCells) {
556
+ var _this12 = this;
557
+ var changedCells = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
558
+ var stringifyAddress = function stringifyAddress(change) {
559
+ var _change$address2;
560
+ var _ref7 = (_change$address2 = change === null || change === void 0 ? void 0 : change.address) !== null && _change$address2 !== void 0 ? _change$address2 : {},
561
+ row = _ref7.row,
562
+ col = _ref7.col,
563
+ sheet = _ref7.sheet;
564
+ return isDefined(sheet) ? "".concat(sheet, ":").concat(row, "x").concat(col) : '';
565
+ };
566
+ var changedCellsSet = new Set(changedCells.map(function (change) {
567
+ return stringifyAddress(change);
568
+ }));
569
+ dependentCells.forEach(function (change) {
570
+ var _change$address3, _change$address4;
571
+ var _ref8 = (_change$address3 = change.address) !== null && _change$address3 !== void 0 ? _change$address3 : {},
572
+ row = _ref8.row,
573
+ col = _ref8.col;
574
+ var visualRow = isDefined(row) ? _this12.hot.toVisualRow(row) : null;
575
+ var visualColumn = isDefined(col) ? _this12.hot.toVisualColumn(col) : null;
576
+
577
+ // Don't try to validate cells outside of the visual part of the table.
578
+ if (visualRow === null || visualColumn === null) {
579
+ return;
580
+ }
581
+
582
+ // For the Named expression the address is empty, hence the `sheetId` is undefined.
583
+ var sheetId = change === null || change === void 0 ? void 0 : (_change$address4 = change.address) === null || _change$address4 === void 0 ? void 0 : _change$address4.sheet;
584
+ var addressId = stringifyAddress(change);
585
+
586
+ // Validate the cells that depend on the calculated formulas. Skip that cells
587
+ // where the user directly changes the values - the Core triggers those validators.
588
+ if (sheetId !== void 0 && !changedCellsSet.has(addressId)) {
589
+ var boundHot = getRegisteredHotInstances(_this12.engine).get(sheetId);
590
+
591
+ // if `sheetId` is not bound to any Handsontable instance, skip the validation process
592
+ if (!boundHot) {
593
+ return;
594
+ }
595
+
596
+ // It will just re-render certain cell when necessary.
597
+ boundHot.validateCell(boundHot.getDataAtCell(visualRow, visualColumn), boundHot.getCellMeta(visualRow, visualColumn), function () {});
598
+ }
599
+ });
600
+ }
601
+
602
+ /**
603
+ * Sync a change from the change-related hooks with the engine.
604
+ *
605
+ * @private
606
+ * @param {number} row Visual row index.
607
+ * @param {number} column Visual column index.
608
+ * @param {Handsontable.CellValue} newValue New value.
609
+ * @returns {Array} Array of changes exported from the engine.
610
+ */
611
+ }, {
612
+ key: "syncChangeWithEngine",
613
+ value: function syncChangeWithEngine(row, column, newValue) {
614
+ var address = {
615
+ row: this.toPhysicalRowPosition(row),
616
+ col: this.toPhysicalColumnPosition(column),
617
+ sheet: this.sheetId
618
+ };
619
+ if (!this.engine.isItPossibleToSetCellContents(address)) {
620
+ warn("Not possible to set cell data at ".concat(JSON.stringify(address)));
621
+ return;
622
+ }
623
+ return this.engine.setCellContents(address, newValue);
624
+ }
625
+
626
+ /**
627
+ * The hook allows to translate the formula value to calculated value before it goes to the
628
+ * validator function.
629
+ *
630
+ * @private
631
+ * @param {*} value The cell value to validate.
632
+ * @param {number} visualRow The visual row index.
633
+ * @param {number|string} prop The visual column index or property name of the column.
634
+ * @returns {*} Returns value to validate.
635
+ */
636
+ }, {
637
+ key: "onBeforeValidate",
638
+ value: function onBeforeValidate(value, visualRow, prop) {
639
+ var visualColumn = this.hot.propToCol(prop);
640
+ if (this.isFormulaCellType(visualRow, visualColumn)) {
641
+ var address = {
642
+ row: this.hot.toPhysicalRow(visualRow),
643
+ col: this.hot.toPhysicalColumn(visualColumn),
644
+ sheet: this.sheetId
645
+ };
646
+ var cellValue = this.engine.getCellValue(address);
647
+
648
+ // If `cellValue` is an object it is expected to be an error
649
+ return _typeof(cellValue) === 'object' && cellValue !== null ? cellValue.value : cellValue;
650
+ }
651
+ return value;
652
+ }
653
+
654
+ /**
655
+ * `onBeforeAutofill` hook callback.
656
+ *
657
+ * @private
658
+ * @param {Array[]} fillData The data that was used to fill the `targetRange`. If `beforeAutofill` was used
659
+ * and returned `[[]]`, this will be the same object that was returned from `beforeAutofill`.
660
+ * @param {CellRange} sourceRange The range values will be filled from.
661
+ * @param {CellRange} targetRange The range new values will be filled into.
662
+ * @returns {boolean|*}
663
+ */
664
+ }, {
665
+ key: "onBeforeAutofill",
666
+ value: function onBeforeAutofill(fillData, sourceRange, targetRange) {
667
+ var _this13 = this;
668
+ var withSheetId = function withSheetId(range) {
669
+ return _objectSpread(_objectSpread({}, range), {}, {
670
+ sheet: _this13.sheetId
671
+ });
672
+ };
673
+ var engineSourceRange = {
674
+ start: withSheetId(sourceRange.getTopStartCorner()),
675
+ end: withSheetId(sourceRange.getBottomEndCorner())
676
+ };
677
+ var engineTargetRange = {
678
+ start: withSheetId(targetRange.getTopStartCorner()),
679
+ end: withSheetId(targetRange.getBottomEndCorner())
680
+ };
681
+
682
+ // Blocks the autofill operation if HyperFormula says that at least one of
683
+ // the underlying cell's contents cannot be set.
684
+ if (this.engine.isItPossibleToSetCellContents(engineTargetRange) === false) {
685
+ return false;
686
+ }
687
+ return this.engine.getFillRangeData(engineSourceRange, engineTargetRange);
688
+ }
689
+
690
+ /**
691
+ * `beforeLoadData` hook callback.
692
+ *
693
+ * @param {Array} sourceData Array of arrays or array of objects containing data.
694
+ * @param {boolean} initialLoad Flag that determines whether the data has been loaded during the initialization.
695
+ * @param {string} [source] Source of the call.
696
+ * @private
697
+ */
698
+ }, {
699
+ key: "onBeforeLoadData",
700
+ value: function onBeforeLoadData(sourceData, initialLoad) {
701
+ var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
702
+ if (source.includes(toUpperCaseFirst(PLUGIN_KEY))) {
703
+ return;
704
+ }
705
+
706
+ // This flag needs to be defined, because not passing data to HOT results in HOT auto-generating a `null`-filled
707
+ // initial dataset.
708
+ _classPrivateFieldSet(this, _hotWasInitializedWithEmptyData, isUndefined(this.hot.getSettings().data));
709
+ }
710
+
711
+ /**
712
+ * `afterLoadData` hook callback.
713
+ *
714
+ * @param {Array} sourceData Array of arrays or array of objects containing data.
715
+ * @param {boolean} initialLoad Flag that determines whether the data has been loaded during the initialization.
716
+ * @param {string} [source] Source of the call.
717
+ * @private
718
+ */
719
+ }, {
720
+ key: "onAfterLoadData",
721
+ value: function onAfterLoadData(sourceData, initialLoad) {
722
+ var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
723
+ if (source.includes(toUpperCaseFirst(PLUGIN_KEY))) {
724
+ return;
725
+ }
726
+ this.sheetName = setupSheet(this.engine, this.hot.getSettings()[PLUGIN_KEY].sheetName);
727
+ if (!_classPrivateFieldGet(this, _hotWasInitializedWithEmptyData)) {
728
+ var sourceDataArray = this.hot.getSourceDataArray();
729
+ if (this.engine.isItPossibleToReplaceSheetContent(this.sheetId, sourceDataArray)) {
730
+ _classPrivateFieldSet(this, _internalOperationPending, true);
731
+ var dependentCells = this.engine.setSheetContent(this.sheetId, this.hot.getSourceDataArray());
732
+ this.renderDependentSheets(dependentCells);
733
+ _classPrivateFieldSet(this, _internalOperationPending, false);
734
+ }
735
+ } else {
736
+ this.switchSheet(this.sheetName);
737
+ }
738
+ }
739
+
740
+ /**
741
+ * `modifyData` hook callback.
742
+ *
743
+ * @private
744
+ * @param {number} row Physical row height.
745
+ * @param {number} column Physical column index.
746
+ * @param {object} valueHolder Object which contains original value which can be modified by overwriting `.value`
747
+ * property.
748
+ * @param {string} ioMode String which indicates for what operation hook is fired (`get` or `set`).
749
+ */
750
+ }, {
751
+ key: "onModifyData",
752
+ value: function onModifyData(row, column, valueHolder, ioMode) {
753
+ if (ioMode !== 'get' || _classPrivateFieldGet(this, _internalOperationPending) || this.sheetName === null || !this.engine.doesSheetExist(this.sheetName)) {
754
+ return;
755
+ }
756
+ var visualRow = this.hot.toVisualRow(row);
757
+
758
+ // `column` is here as visual index because of inconsistencies related to hook execution in `src/dataMap`.
759
+ var isFormulaCellType = this.isFormulaCellType(visualRow, column);
760
+ if (!isFormulaCellType) {
761
+ var cellType = this.getCellType(visualRow, column);
762
+ if (cellType !== 'ARRAY') {
763
+ if (isEscapedFormulaExpression(valueHolder.value)) {
764
+ valueHolder.value = unescapeFormulaExpression(valueHolder.value);
765
+ }
766
+ return;
767
+ }
768
+ }
769
+
770
+ // `toPhysicalColumn` is here because of inconsistencies related to hook execution in `DataMap`.
771
+ var address = {
772
+ row: row,
773
+ col: this.toPhysicalColumnPosition(column),
774
+ sheet: this.sheetId
775
+ };
776
+ var cellValue = this.engine.getCellValue(address);
777
+
778
+ // If `cellValue` is an object it is expected to be an error
779
+ var value = _typeof(cellValue) === 'object' && cellValue !== null ? cellValue.value : cellValue;
780
+ valueHolder.value = value;
781
+ }
782
+
783
+ /**
784
+ * `modifySourceData` hook callback.
785
+ *
786
+ * @private
787
+ * @param {number} row Physical row index.
788
+ * @param {number|string} columnOrProp Physical column index or prop.
789
+ * @param {object} valueHolder Object which contains original value which can be modified by overwriting `.value`
790
+ * property.
791
+ * @param {string} ioMode String which indicates for what operation hook is fired (`get` or `set`).
792
+ */
793
+ }, {
794
+ key: "onModifySourceData",
795
+ value: function onModifySourceData(row, columnOrProp, valueHolder, ioMode) {
796
+ if (ioMode !== 'get' || _classPrivateFieldGet(this, _internalOperationPending) || this.sheetName === null || !this.engine.doesSheetExist(this.sheetName)) {
797
+ return;
798
+ }
799
+ var visualRow = this.hot.toVisualRow(row);
800
+ var visualColumn = this.hot.propToCol(columnOrProp);
801
+
802
+ // `column` is here as visual index because of inconsistencies related to hook execution in `src/dataMap`.
803
+ var isFormulaCellType = this.isFormulaCellType(visualRow, visualColumn);
804
+ if (!isFormulaCellType) {
805
+ var cellType = this.getCellType(visualRow, visualColumn);
806
+ if (cellType !== 'ARRAY') {
807
+ return;
808
+ }
809
+ }
810
+ var dimensions = this.engine.getSheetDimensions(this.engine.getSheetId(this.sheetName));
811
+
812
+ // Don't actually change the source data if HyperFormula is not
813
+ // initialized yet. This is done to allow the `afterLoadData` hook to
814
+ // load the existing source data with `Handsontable#getSourceDataArray`
815
+ // properly.
816
+ if (dimensions.width === 0 && dimensions.height === 0) {
817
+ return;
818
+ }
819
+ var address = {
820
+ row: row,
821
+ // Workaround for inconsistencies in `src/dataSource.js`
822
+ col: this.toPhysicalColumnPosition(visualColumn),
823
+ sheet: this.sheetId
824
+ };
825
+ valueHolder.value = this.engine.getCellSerialized(address);
826
+ }
827
+
828
+ /**
829
+ * `onAfterSetDataAtCell` hook callback.
830
+ *
831
+ * @private
832
+ * @param {Array[]} changes An array of changes in format [[row, prop, oldValue, value], ...].
833
+ * @param {string} [source] String that identifies source of hook call
834
+ * ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
835
+ */
836
+ }, {
837
+ key: "onAfterSetDataAtCell",
838
+ value: function onAfterSetDataAtCell(changes, source) {
839
+ var _this14 = this;
840
+ if (isBlockedSource(source)) {
841
+ return;
842
+ }
843
+ var outOfBoundsChanges = [];
844
+ var changedCells = [];
845
+ var dependentCells = this.engine.batch(function () {
846
+ changes.forEach(function (_ref9) {
847
+ var _ref10 = _slicedToArray(_ref9, 4),
848
+ row = _ref10[0],
849
+ prop = _ref10[1],
850
+ newValue = _ref10[3];
851
+ var column = _this14.hot.propToCol(prop);
852
+ var physicalRow = _this14.hot.toPhysicalRow(row);
853
+ var physicalColumn = _this14.hot.toPhysicalColumn(column);
854
+ var address = {
855
+ row: physicalRow,
856
+ col: physicalColumn,
857
+ sheet: _this14.sheetId
858
+ };
859
+ if (physicalRow !== null && physicalColumn !== null) {
860
+ _this14.syncChangeWithEngine(row, column, newValue);
861
+ } else {
862
+ outOfBoundsChanges.push([row, column, newValue]);
863
+ }
864
+ changedCells.push({
865
+ address: address
866
+ });
867
+ });
868
+ });
869
+ if (outOfBoundsChanges.length) {
870
+ // Workaround for rows/columns being created two times (by HOT and the engine).
871
+ // (unfortunately, this requires an extra re-render)
872
+ this.hot.addHookOnce('afterChange', function () {
873
+ var outOfBoundsDependentCells = _this14.engine.batch(function () {
874
+ outOfBoundsChanges.forEach(function (_ref11) {
875
+ var _ref12 = _slicedToArray(_ref11, 3),
876
+ row = _ref12[0],
877
+ column = _ref12[1],
878
+ newValue = _ref12[2];
879
+ _this14.syncChangeWithEngine(row, column, newValue);
880
+ });
881
+ });
882
+ _this14.renderDependentSheets(outOfBoundsDependentCells, true);
883
+ });
884
+ }
885
+ this.renderDependentSheets(dependentCells);
886
+ this.validateDependentCells(dependentCells, changedCells);
887
+ }
888
+
889
+ /**
890
+ * `onAfterSetSourceDataAtCell` hook callback.
891
+ *
892
+ * @private
893
+ * @param {Array[]} changes An array of changes in format [[row, column, oldValue, value], ...].
894
+ * @param {string} [source] String that identifies source of hook call
895
+ * ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
896
+ */
897
+ }, {
898
+ key: "onAfterSetSourceDataAtCell",
899
+ value: function onAfterSetSourceDataAtCell(changes, source) {
900
+ var _this15 = this;
901
+ if (isBlockedSource(source)) {
902
+ return;
903
+ }
904
+ var dependentCells = [];
905
+ var changedCells = [];
906
+ changes.forEach(function (_ref13) {
907
+ var _ref14 = _slicedToArray(_ref13, 4),
908
+ row = _ref14[0],
909
+ prop = _ref14[1],
910
+ newValue = _ref14[3];
911
+ var column = _this15.hot.propToCol(prop);
912
+ if (!isNumeric(column)) {
913
+ return;
914
+ }
915
+ var address = {
916
+ row: row,
917
+ col: _this15.toPhysicalColumnPosition(column),
918
+ sheet: _this15.sheetId
919
+ };
920
+ if (!_this15.engine.isItPossibleToSetCellContents(address)) {
921
+ warn("Not possible to set source cell data at ".concat(JSON.stringify(address)));
922
+ return;
923
+ }
924
+ changedCells.push({
925
+ address: address
926
+ });
927
+ dependentCells.push.apply(dependentCells, _toConsumableArray(_this15.engine.setCellContents(address, newValue)));
928
+ });
929
+ this.renderDependentSheets(dependentCells);
930
+ this.validateDependentCells(dependentCells, changedCells);
931
+ }
932
+
933
+ /**
934
+ * `beforeCreateRow` hook callback.
935
+ *
936
+ * @private
937
+ * @param {number} row Represents the visual index of first newly created row in the data source array.
938
+ * @param {number} amount Number of newly created rows in the data source array.
939
+ * @returns {*|boolean} If false is returned the action is canceled.
940
+ */
941
+ }, {
942
+ key: "onBeforeCreateRow",
943
+ value: function onBeforeCreateRow(row, amount) {
944
+ if (this.sheetId === null || !this.engine.doesSheetExist(this.sheetName) || !this.engine.isItPossibleToAddRows(this.sheetId, [this.toPhysicalRowPosition(row), amount])) {
945
+ return false;
946
+ }
947
+ }
948
+
949
+ /**
950
+ * `beforeCreateCol` hook callback.
951
+ *
952
+ * @private
953
+ * @param {number} col Represents the visual index of first newly created column in the data source.
954
+ * @param {number} amount Number of newly created columns in the data source.
955
+ * @returns {*|boolean} If false is returned the action is canceled.
956
+ */
957
+ }, {
958
+ key: "onBeforeCreateCol",
959
+ value: function onBeforeCreateCol(col, amount) {
960
+ if (this.sheetId === null || !this.engine.doesSheetExist(this.sheetName) || !this.engine.isItPossibleToAddColumns(this.sheetId, [this.toPhysicalColumnPosition(col), amount])) {
961
+ return false;
962
+ }
963
+ }
964
+
965
+ /**
966
+ * `beforeRemoveRow` hook callback.
967
+ *
968
+ * @private
969
+ * @param {number} row Visual index of starter row.
970
+ * @param {number} amount Amount of rows to be removed.
971
+ * @param {number[]} physicalRows An array of physical rows removed from the data source.
972
+ * @returns {*|boolean} If false is returned the action is canceled.
973
+ */
974
+ }, {
975
+ key: "onBeforeRemoveRow",
976
+ value: function onBeforeRemoveRow(row, amount, physicalRows) {
977
+ var _this16 = this;
978
+ var possible = physicalRows.every(function (physicalRow) {
979
+ return _this16.engine.isItPossibleToRemoveRows(_this16.sheetId, [physicalRow, 1]);
980
+ });
981
+ return possible === false ? false : void 0;
982
+ }
983
+
984
+ /**
985
+ * `beforeRemoveCol` hook callback.
986
+ *
987
+ * @private
988
+ * @param {number} col Visual index of starter column.
989
+ * @param {number} amount Amount of columns to be removed.
990
+ * @param {number[]} physicalColumns An array of physical columns removed from the data source.
991
+ * @returns {*|boolean} If false is returned the action is canceled.
992
+ */
993
+ }, {
994
+ key: "onBeforeRemoveCol",
995
+ value: function onBeforeRemoveCol(col, amount, physicalColumns) {
996
+ var _this17 = this;
997
+ var possible = physicalColumns.every(function (physicalColumn) {
998
+ return _this17.engine.isItPossibleToRemoveColumns(_this17.sheetId, [physicalColumn, 1]);
999
+ });
1000
+ return possible === false ? false : void 0;
1001
+ }
1002
+
1003
+ /**
1004
+ * `afterCreateRow` hook callback.
1005
+ *
1006
+ * @private
1007
+ * @param {number} row Represents the visual index of first newly created row in the data source array.
1008
+ * @param {number} amount Number of newly created rows in the data source array.
1009
+ * @param {string} [source] String that identifies source of hook call
1010
+ * ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
1011
+ */
1012
+ }, {
1013
+ key: "onAfterCreateRow",
1014
+ value: function onAfterCreateRow(row, amount, source) {
1015
+ if (isBlockedSource(source)) {
1016
+ return;
1017
+ }
1018
+ var changes = this.engine.addRows(this.sheetId, [this.toPhysicalRowPosition(row), amount]);
1019
+ this.renderDependentSheets(changes);
1020
+ }
1021
+
1022
+ /**
1023
+ * `afterCreateCol` hook callback.
1024
+ *
1025
+ * @private
1026
+ * @param {number} col Represents the visual index of first newly created column in the data source.
1027
+ * @param {number} amount Number of newly created columns in the data source.
1028
+ * @param {string} [source] String that identifies source of hook call
1029
+ * ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
1030
+ */
1031
+ }, {
1032
+ key: "onAfterCreateCol",
1033
+ value: function onAfterCreateCol(col, amount, source) {
1034
+ if (isBlockedSource(source)) {
1035
+ return;
1036
+ }
1037
+ var changes = this.engine.addColumns(this.sheetId, [this.toPhysicalColumnPosition(col), amount]);
1038
+ this.renderDependentSheets(changes);
1039
+ }
1040
+
1041
+ /**
1042
+ * `afterRemoveRow` hook callback.
1043
+ *
1044
+ * @private
1045
+ * @param {number} row Visual index of starter row.
1046
+ * @param {number} amount An amount of removed rows.
1047
+ * @param {number[]} physicalRows An array of physical rows removed from the data source.
1048
+ * @param {string} [source] String that identifies source of hook call
1049
+ * ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
1050
+ */
1051
+ }, {
1052
+ key: "onAfterRemoveRow",
1053
+ value: function onAfterRemoveRow(row, amount, physicalRows, source) {
1054
+ var _this18 = this;
1055
+ if (isBlockedSource(source)) {
1056
+ return;
1057
+ }
1058
+ var descendingPhysicalRows = physicalRows.sort().reverse();
1059
+ var changes = this.engine.batch(function () {
1060
+ descendingPhysicalRows.forEach(function (physicalRow) {
1061
+ _this18.engine.removeRows(_this18.sheetId, [physicalRow, 1]);
1062
+ });
1063
+ });
1064
+ this.renderDependentSheets(changes);
1065
+ }
1066
+
1067
+ /**
1068
+ * `afterRemoveCol` hook callback.
1069
+ *
1070
+ * @private
1071
+ * @param {number} col Visual index of starter column.
1072
+ * @param {number} amount An amount of removed columns.
1073
+ * @param {number[]} physicalColumns An array of physical columns removed from the data source.
1074
+ * @param {string} [source] String that identifies source of hook call
1075
+ * ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
1076
+ */
1077
+ }, {
1078
+ key: "onAfterRemoveCol",
1079
+ value: function onAfterRemoveCol(col, amount, physicalColumns, source) {
1080
+ var _this19 = this;
1081
+ if (isBlockedSource(source)) {
1082
+ return;
1083
+ }
1084
+ var descendingPhysicalColumns = physicalColumns.sort().reverse();
1085
+ var changes = this.engine.batch(function () {
1086
+ descendingPhysicalColumns.forEach(function (physicalColumn) {
1087
+ _this19.engine.removeColumns(_this19.sheetId, [physicalColumn, 1]);
1088
+ });
1089
+ });
1090
+ this.renderDependentSheets(changes);
1091
+ }
1092
+
1093
+ /**
1094
+ * `afterDetachChild` hook callback.
1095
+ * Used to sync the data of the rows detached in the Nested Rows plugin with the engine's dataset.
1096
+ *
1097
+ * @private
1098
+ * @param {object} parent An object representing the parent from which the element was detached.
1099
+ * @param {object} element The detached element.
1100
+ * @param {number} finalElementRowIndex The final row index of the detached element.
1101
+ */
1102
+ }, {
1103
+ key: "onAfterDetachChild",
1104
+ value: function onAfterDetachChild(parent, element, finalElementRowIndex) {
1105
+ var _element$__children,
1106
+ _this20 = this;
1107
+ _classPrivateFieldSet(this, _internalOperationPending, true);
1108
+ var rowsData = this.hot.getSourceDataArray(finalElementRowIndex, 0, finalElementRowIndex + (((_element$__children = element.__children) === null || _element$__children === void 0 ? void 0 : _element$__children.length) || 0), this.hot.countSourceCols());
1109
+ _classPrivateFieldSet(this, _internalOperationPending, false);
1110
+ rowsData.forEach(function (row, relativeRowIndex) {
1111
+ row.forEach(function (value, colIndex) {
1112
+ _this20.engine.setCellContents({
1113
+ col: colIndex,
1114
+ row: finalElementRowIndex + relativeRowIndex,
1115
+ sheet: _this20.sheetId
1116
+ }, [[value]]);
1117
+ });
1118
+ });
1119
+ }
1120
+
1121
+ /**
1122
+ * Called when a value is updated in the engine.
1123
+ *
1124
+ * @private
1125
+ * @fires Hooks#afterFormulasValuesUpdate
1126
+ * @param {Array} changes The values and location of applied changes.
1127
+ */
1128
+ }, {
1129
+ key: "onEngineValuesUpdated",
1130
+ value: function onEngineValuesUpdated(changes) {
1131
+ this.hot.runHooks('afterFormulasValuesUpdate', changes);
1132
+ }
1133
+
1134
+ /**
1135
+ * Called when a named expression is added to the engine instance.
1136
+ *
1137
+ * @private
1138
+ * @fires Hooks#afterNamedExpressionAdded
1139
+ * @param {string} namedExpressionName The name of the added expression.
1140
+ * @param {Array} changes The values and location of applied changes.
1141
+ */
1142
+ }, {
1143
+ key: "onEngineNamedExpressionsAdded",
1144
+ value: function onEngineNamedExpressionsAdded(namedExpressionName, changes) {
1145
+ this.hot.runHooks('afterNamedExpressionAdded', namedExpressionName, changes);
1146
+ }
1147
+
1148
+ /**
1149
+ * Called when a named expression is removed from the engine instance.
1150
+ *
1151
+ * @private
1152
+ * @fires Hooks#afterNamedExpressionRemoved
1153
+ * @param {string} namedExpressionName The name of the removed expression.
1154
+ * @param {Array} changes The values and location of applied changes.
1155
+ */
1156
+ }, {
1157
+ key: "onEngineNamedExpressionsRemoved",
1158
+ value: function onEngineNamedExpressionsRemoved(namedExpressionName, changes) {
1159
+ this.hot.runHooks('afterNamedExpressionRemoved', namedExpressionName, changes);
1160
+ }
1161
+
1162
+ /**
1163
+ * Called when a new sheet is added to the engine instance.
1164
+ *
1165
+ * @private
1166
+ * @fires Hooks#afterSheetAdded
1167
+ * @param {string} addedSheetDisplayName The name of the added sheet.
1168
+ */
1169
+ }, {
1170
+ key: "onEngineSheetAdded",
1171
+ value: function onEngineSheetAdded(addedSheetDisplayName) {
1172
+ this.hot.runHooks('afterSheetAdded', addedSheetDisplayName);
1173
+ }
1174
+
1175
+ /**
1176
+ * Called when a sheet in the engine instance is renamed.
1177
+ *
1178
+ * @private
1179
+ * @fires Hooks#afterSheetRenamed
1180
+ * @param {string} oldDisplayName The old name of the sheet.
1181
+ * @param {string} newDisplayName The new name of the sheet.
1182
+ */
1183
+ }, {
1184
+ key: "onEngineSheetRenamed",
1185
+ value: function onEngineSheetRenamed(oldDisplayName, newDisplayName) {
1186
+ this.hot.runHooks('afterSheetRenamed', oldDisplayName, newDisplayName);
1187
+ }
1188
+
1189
+ /**
1190
+ * Called when a sheet is removed from the engine instance.
1191
+ *
1192
+ * @private
1193
+ * @fires Hooks#afterSheetRemoved
1194
+ * @param {string} removedSheetDisplayName The removed sheet name.
1195
+ * @param {Array} changes The values and location of applied changes.
1196
+ */
1197
+ }, {
1198
+ key: "onEngineSheetRemoved",
1199
+ value: function onEngineSheetRemoved(removedSheetDisplayName, changes) {
1200
+ this.hot.runHooks('afterSheetRemoved', removedSheetDisplayName, changes);
1201
+ }
1202
+ }], [{
1203
+ key: "PLUGIN_KEY",
1204
+ get: function get() {
1205
+ return PLUGIN_KEY;
1206
+ }
1207
+ }, {
1208
+ key: "PLUGIN_PRIORITY",
1209
+ get: function get() {
1210
+ return PLUGIN_PRIORITY;
1211
+ }
1212
+
1213
+ /**
1214
+ * Flag used to bypass hooks in internal operations.
1215
+ *
1216
+ * @private
1217
+ * @type {boolean}
1218
+ */
1219
+ }]);
1220
+ return Formulas;
1221
+ }(BasePlugin);