handsontable 9.0.2 → 11.1.0

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