handsontable 9.0.1 → 11.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (757) 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/cell/coords.d.ts +16 -0
  9. package/3rdparty/walkontable/src/cell/range.d.ts +51 -0
  10. package/3rdparty/walkontable/src/index.d.ts +1 -0
  11. package/3rdparty/walkontable/src/overlay/bottom.js +3 -3
  12. package/3rdparty/walkontable/src/overlay/bottom.mjs +2 -2
  13. package/3rdparty/walkontable/src/overlay/bottomLeftCorner.js +3 -3
  14. package/3rdparty/walkontable/src/overlay/bottomLeftCorner.mjs +2 -2
  15. package/3rdparty/walkontable/src/overlay/constants.js +1 -1
  16. package/3rdparty/walkontable/src/overlay/index.js +2 -0
  17. package/3rdparty/walkontable/src/overlay/left.js +3 -3
  18. package/3rdparty/walkontable/src/overlay/left.mjs +2 -2
  19. package/3rdparty/walkontable/src/overlay/registerer.js +1 -1
  20. package/3rdparty/walkontable/src/overlay/top.js +3 -3
  21. package/3rdparty/walkontable/src/overlay/top.mjs +2 -2
  22. package/3rdparty/walkontable/src/overlay/topLeftCorner.js +3 -3
  23. package/3rdparty/walkontable/src/overlay/topLeftCorner.mjs +2 -2
  24. package/3rdparty/walkontable/src/overlays.js +2 -0
  25. package/3rdparty/walkontable/src/overlays.mjs +1 -0
  26. package/3rdparty/walkontable/src/renderer/cells.js +1 -1
  27. package/3rdparty/walkontable/src/renderer/cells.mjs +1 -1
  28. package/3rdparty/walkontable/src/renderer/colGroup.js +3 -3
  29. package/3rdparty/walkontable/src/renderer/colGroup.mjs +2 -2
  30. package/3rdparty/walkontable/src/renderer/columnHeaders.js +3 -3
  31. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +2 -2
  32. package/3rdparty/walkontable/src/renderer/rowHeaders.js +1 -1
  33. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +1 -1
  34. package/3rdparty/walkontable/src/renderer/rows.js +3 -3
  35. package/3rdparty/walkontable/src/renderer/rows.mjs +2 -2
  36. package/3rdparty/walkontable/src/selection.js +5 -3
  37. package/3rdparty/walkontable/src/selection.mjs +3 -2
  38. package/3rdparty/walkontable/src/table/bottom.js +3 -3
  39. package/3rdparty/walkontable/src/table/bottom.mjs +2 -2
  40. package/3rdparty/walkontable/src/table/bottomLeftCorner.js +3 -3
  41. package/3rdparty/walkontable/src/table/bottomLeftCorner.mjs +2 -2
  42. package/3rdparty/walkontable/src/table/left.js +3 -3
  43. package/3rdparty/walkontable/src/table/left.mjs +2 -2
  44. package/3rdparty/walkontable/src/table/master.js +3 -3
  45. package/3rdparty/walkontable/src/table/master.mjs +2 -2
  46. package/3rdparty/walkontable/src/table/top.js +3 -3
  47. package/3rdparty/walkontable/src/table/top.mjs +2 -2
  48. package/3rdparty/walkontable/src/table/topLeftCorner.js +3 -3
  49. package/3rdparty/walkontable/src/table/topLeftCorner.mjs +2 -2
  50. package/3rdparty/walkontable/src/table.js +5 -3
  51. package/3rdparty/walkontable/src/table.mjs +3 -2
  52. package/3rdparty/walkontable/src/utils/orderView/constants.js +1 -1
  53. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +3 -3
  54. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +2 -2
  55. package/CHANGELOG.md +72 -0
  56. package/LICENSE.txt +19 -22
  57. package/README.md +2 -1
  58. package/base.d.ts +1 -1
  59. package/base.js +16 -3
  60. package/base.mjs +14 -4
  61. package/cellTypes/autocompleteType/autocompleteType.d.ts +17 -0
  62. package/cellTypes/autocompleteType/autocompleteType.js +1 -1
  63. package/cellTypes/autocompleteType/index.d.ts +1 -0
  64. package/cellTypes/base.d.ts +14 -0
  65. package/cellTypes/checkboxType/checkboxType.d.ts +14 -0
  66. package/cellTypes/checkboxType/index.d.ts +1 -0
  67. package/cellTypes/dateType/dateType.d.ts +17 -0
  68. package/cellTypes/dateType/index.d.ts +1 -0
  69. package/cellTypes/dropdownType/dropdownType.d.ts +17 -0
  70. package/cellTypes/dropdownType/index.d.ts +1 -0
  71. package/cellTypes/handsontableType/handsontableType.d.ts +14 -0
  72. package/cellTypes/handsontableType/index.d.ts +1 -0
  73. package/cellTypes/index.d.ts +47 -0
  74. package/cellTypes/index.js +18 -2
  75. package/cellTypes/index.mjs +26 -9
  76. package/cellTypes/numericType/index.d.ts +1 -0
  77. package/cellTypes/numericType/numericType.d.ts +17 -0
  78. package/cellTypes/passwordType/index.d.ts +1 -0
  79. package/cellTypes/passwordType/passwordType.d.ts +14 -0
  80. package/cellTypes/registry.d.ts +18 -0
  81. package/cellTypes/registry.js +2 -2
  82. package/cellTypes/textType/index.d.ts +1 -0
  83. package/cellTypes/textType/textType.d.ts +14 -0
  84. package/cellTypes/timeType/index.d.ts +1 -0
  85. package/cellTypes/timeType/timeType.d.ts +17 -0
  86. package/common.d.ts +74 -0
  87. package/core.d.ts +159 -0
  88. package/core.js +143 -103
  89. package/core.mjs +141 -103
  90. package/{dataMap.js → dataMap/dataMap.js} +37 -35
  91. package/{dataMap.mjs → dataMap/dataMap.mjs} +37 -35
  92. package/dataMap/index.js +5 -1
  93. package/dataMap/index.mjs +3 -2
  94. package/dataMap/metaManager/index.js +54 -6
  95. package/dataMap/metaManager/index.mjs +51 -6
  96. package/dataMap/metaManager/lazyFactoryMap.js +3 -3
  97. package/dataMap/metaManager/lazyFactoryMap.mjs +3 -3
  98. package/dataMap/metaManager/metaLayers/cellMeta.js +2 -0
  99. package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -0
  100. package/dataMap/metaManager/metaLayers/globalMeta.js +2 -1
  101. package/dataMap/metaManager/metaLayers/globalMeta.mjs +2 -1
  102. package/dataMap/metaManager/metaSchema.js +2331 -871
  103. package/dataMap/metaManager/metaSchema.mjs +2331 -871
  104. package/dataMap/metaManager/mods/dynamicCellMeta.js +136 -0
  105. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +119 -0
  106. package/dataMap/metaManager/utils.js +3 -3
  107. package/dataSource.js +2 -0
  108. package/dataSource.mjs +1 -0
  109. package/dist/handsontable.css +309 -303
  110. package/dist/handsontable.full.css +309 -303
  111. package/dist/handsontable.full.js +50435 -45020
  112. package/dist/handsontable.full.min.css +25 -28
  113. package/dist/handsontable.full.min.js +181 -164
  114. package/dist/handsontable.js +31234 -28030
  115. package/dist/handsontable.min.css +25 -28
  116. package/dist/handsontable.min.js +22 -25
  117. package/editorManager.js +15 -12
  118. package/editorManager.mjs +15 -13
  119. package/editors/autocompleteEditor/autocompleteEditor.d.ts +29 -0
  120. package/editors/autocompleteEditor/autocompleteEditor.js +91 -87
  121. package/editors/autocompleteEditor/autocompleteEditor.mjs +89 -84
  122. package/editors/autocompleteEditor/index.d.ts +1 -0
  123. package/editors/autocompleteEditor/index.js +1 -1
  124. package/editors/baseEditor/baseEditor.d.ts +45 -0
  125. package/editors/baseEditor/baseEditor.js +8 -7
  126. package/editors/baseEditor/baseEditor.mjs +5 -5
  127. package/editors/baseEditor/index.d.ts +1 -0
  128. package/editors/baseEditor/index.js +1 -1
  129. package/editors/checkboxEditor/checkboxEditor.d.ts +12 -0
  130. package/editors/checkboxEditor/checkboxEditor.js +4 -4
  131. package/editors/checkboxEditor/checkboxEditor.mjs +2 -2
  132. package/editors/checkboxEditor/index.d.ts +1 -0
  133. package/editors/checkboxEditor/index.js +1 -1
  134. package/editors/dateEditor/dateEditor.d.ts +18 -0
  135. package/editors/dateEditor/dateEditor.js +20 -20
  136. package/editors/dateEditor/dateEditor.mjs +19 -19
  137. package/editors/dateEditor/index.d.ts +1 -0
  138. package/editors/dateEditor/index.js +1 -1
  139. package/editors/dropdownEditor/dropdownEditor.d.ts +7 -0
  140. package/editors/dropdownEditor/dropdownEditor.js +5 -5
  141. package/editors/dropdownEditor/dropdownEditor.mjs +3 -3
  142. package/editors/dropdownEditor/index.d.ts +1 -0
  143. package/editors/dropdownEditor/index.js +1 -1
  144. package/editors/handsontableEditor/handsontableEditor.d.ts +10 -0
  145. package/editors/handsontableEditor/handsontableEditor.js +4 -4
  146. package/editors/handsontableEditor/handsontableEditor.mjs +3 -3
  147. package/editors/handsontableEditor/index.d.ts +1 -0
  148. package/editors/index.d.ts +53 -0
  149. package/editors/index.js +19 -2
  150. package/editors/index.mjs +28 -10
  151. package/editors/numericEditor/index.d.ts +1 -0
  152. package/editors/numericEditor/numericEditor.d.ts +7 -0
  153. package/editors/numericEditor/numericEditor.js +3 -3
  154. package/editors/numericEditor/numericEditor.mjs +2 -2
  155. package/editors/passwordEditor/index.d.ts +1 -0
  156. package/editors/passwordEditor/passwordEditor.d.ts +7 -0
  157. package/editors/passwordEditor/passwordEditor.js +4 -4
  158. package/editors/passwordEditor/passwordEditor.mjs +3 -3
  159. package/editors/registry.d.ts +29 -0
  160. package/editors/registry.js +2 -2
  161. package/editors/selectEditor/index.d.ts +1 -0
  162. package/editors/selectEditor/selectEditor.d.ts +16 -0
  163. package/editors/selectEditor/selectEditor.js +4 -4
  164. package/editors/selectEditor/selectEditor.mjs +3 -3
  165. package/editors/textEditor/index.d.ts +1 -0
  166. package/editors/textEditor/textEditor.d.ts +24 -0
  167. package/editors/textEditor/textEditor.js +4 -4
  168. package/editors/textEditor/textEditor.mjs +3 -3
  169. package/eventManager.d.ts +13 -0
  170. package/eventManager.js +1 -1
  171. package/handsontable-non-commercial-license.pdf +0 -0
  172. package/helpers/array.d.ts +18 -0
  173. package/helpers/array.js +10 -10
  174. package/helpers/array.mjs +1 -1
  175. package/helpers/browser.d.ts +25 -0
  176. package/helpers/browser.js +11 -9
  177. package/helpers/browser.mjs +1 -0
  178. package/helpers/console.d.ts +4 -0
  179. package/helpers/console.js +2 -2
  180. package/helpers/data.d.ts +13 -0
  181. package/helpers/data.js +7 -35
  182. package/helpers/data.mjs +1 -27
  183. package/helpers/date.d.ts +1 -0
  184. package/helpers/dom/element.d.ts +49 -0
  185. package/helpers/dom/element.js +44 -45
  186. package/helpers/dom/element.mjs +7 -8
  187. package/helpers/dom/event.d.ts +4 -0
  188. package/helpers/dom/event.js +2 -2
  189. package/helpers/dom/index.d.ts +2 -0
  190. package/helpers/feature.d.ts +11 -0
  191. package/helpers/feature.js +6 -6
  192. package/helpers/function.d.ts +10 -0
  193. package/helpers/function.js +43 -5
  194. package/helpers/function.mjs +35 -0
  195. package/helpers/index.d.ts +14 -0
  196. package/helpers/mixed.d.ts +5 -0
  197. package/helpers/mixed.js +5 -5
  198. package/helpers/mixed.mjs +2 -2
  199. package/helpers/number.d.ts +5 -0
  200. package/helpers/number.js +96 -17
  201. package/helpers/number.mjs +85 -17
  202. package/helpers/object.d.ts +16 -0
  203. package/helpers/object.js +11 -11
  204. package/helpers/string.d.ts +7 -0
  205. package/helpers/string.js +4 -4
  206. package/helpers/templateLiteralTag.d.ts +1 -0
  207. package/helpers/unicode.d.ts +73 -0
  208. package/helpers/unicode.js +49 -33
  209. package/helpers/unicode.mjs +44 -27
  210. package/i18n/constants.js +1 -1
  211. package/i18n/index.d.ts +2 -0
  212. package/i18n/index.js +2 -0
  213. package/i18n/languages/de-CH.d.ts +5 -0
  214. package/i18n/languages/de-DE.d.ts +5 -0
  215. package/i18n/languages/en-US.d.ts +5 -0
  216. package/i18n/languages/es-MX.d.ts +5 -0
  217. package/i18n/languages/fr-FR.d.ts +5 -0
  218. package/i18n/languages/index.d.ts +35 -0
  219. package/i18n/languages/it-IT.d.ts +5 -0
  220. package/i18n/languages/ja-JP.d.ts +5 -0
  221. package/i18n/languages/ko-KR.d.ts +5 -0
  222. package/i18n/languages/lv-LV.d.ts +5 -0
  223. package/i18n/languages/nb-NO.d.ts +5 -0
  224. package/i18n/languages/nl-NL.d.ts +5 -0
  225. package/i18n/languages/pl-PL.d.ts +5 -0
  226. package/i18n/languages/pt-BR.d.ts +5 -0
  227. package/i18n/languages/ru-RU.d.ts +5 -0
  228. package/i18n/languages/zh-CN.d.ts +5 -0
  229. package/i18n/languages/zh-TW.d.ts +5 -0
  230. package/i18n/phraseFormatters/index.js +1 -1
  231. package/i18n/registry.d.ts +13 -0
  232. package/i18n/registry.js +4 -4
  233. package/i18n/utils.js +1 -1
  234. package/index.d.ts +516 -0
  235. package/index.js +40 -112
  236. package/index.mjs +17 -90
  237. package/mixins/localHooks.js +17 -14
  238. package/mixins/localHooks.mjs +16 -13
  239. package/package.json +103 -10
  240. package/pluginHooks.d.ts +255 -0
  241. package/pluginHooks.js +132 -57
  242. package/pluginHooks.mjs +131 -57
  243. package/plugins/autoColumnSize/autoColumnSize.d.ts +27 -0
  244. package/plugins/autoColumnSize/autoColumnSize.js +20 -13
  245. package/plugins/autoColumnSize/autoColumnSize.mjs +18 -12
  246. package/plugins/autoColumnSize/index.d.ts +1 -0
  247. package/plugins/autoColumnSize/index.js +1 -1
  248. package/plugins/autoRowSize/autoRowSize.d.ts +27 -0
  249. package/plugins/autoRowSize/autoRowSize.js +22 -14
  250. package/plugins/autoRowSize/autoRowSize.mjs +19 -12
  251. package/plugins/autoRowSize/index.d.ts +1 -0
  252. package/plugins/autoRowSize/index.js +1 -1
  253. package/plugins/autofill/autofill.d.ts +18 -0
  254. package/plugins/autofill/autofill.js +10 -19
  255. package/plugins/autofill/autofill.mjs +7 -16
  256. package/plugins/autofill/index.d.ts +1 -0
  257. package/plugins/autofill/index.js +1 -1
  258. package/plugins/autofill/utils.js +1 -1
  259. package/plugins/base/base.d.ts +21 -0
  260. package/plugins/base/base.js +2 -2
  261. package/plugins/base/base.mjs +1 -1
  262. package/plugins/base/index.d.ts +1 -0
  263. package/plugins/base/index.js +1 -1
  264. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.d.ts +9 -0
  265. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +4 -3
  266. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +3 -2
  267. package/plugins/bindRowsWithHeaders/index.d.ts +1 -0
  268. package/plugins/bindRowsWithHeaders/index.js +1 -1
  269. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +4 -4
  270. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +3 -3
  271. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -4
  272. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +4 -3
  273. package/plugins/collapsibleColumns/collapsibleColumns.d.ts +22 -0
  274. package/plugins/collapsibleColumns/collapsibleColumns.js +13 -6
  275. package/plugins/collapsibleColumns/collapsibleColumns.mjs +11 -5
  276. package/plugins/collapsibleColumns/index.d.ts +1 -0
  277. package/plugins/collapsibleColumns/index.js +1 -1
  278. package/plugins/columnSorting/columnSorting.d.ts +30 -0
  279. package/plugins/columnSorting/columnSorting.js +19 -14
  280. package/plugins/columnSorting/columnSorting.mjs +16 -12
  281. package/plugins/columnSorting/columnStatesManager.js +5 -3
  282. package/plugins/columnSorting/columnStatesManager.mjs +4 -3
  283. package/plugins/columnSorting/index.d.ts +1 -0
  284. package/plugins/columnSorting/index.js +1 -1
  285. package/plugins/columnSorting/rootComparator.js +2 -0
  286. package/plugins/columnSorting/rootComparator.mjs +1 -0
  287. package/plugins/columnSorting/sortFunction/checkbox.js +1 -1
  288. package/plugins/columnSorting/sortFunction/date.js +1 -1
  289. package/plugins/columnSorting/sortFunction/default.js +4 -3
  290. package/plugins/columnSorting/sortFunction/default.mjs +3 -2
  291. package/plugins/columnSorting/sortFunction/numeric.js +1 -1
  292. package/plugins/columnSorting/sortService/engine.js +1 -1
  293. package/plugins/columnSorting/sortService/registry.js +1 -1
  294. package/plugins/columnSorting/utils.js +4 -4
  295. package/plugins/columnSorting/utils.mjs +1 -1
  296. package/plugins/columnSummary/columnSummary.d.ts +72 -0
  297. package/plugins/columnSummary/columnSummary.js +31 -12
  298. package/plugins/columnSummary/columnSummary.mjs +29 -10
  299. package/plugins/columnSummary/endpoints.js +6 -4
  300. package/plugins/columnSummary/endpoints.mjs +5 -4
  301. package/plugins/columnSummary/index.d.ts +1 -0
  302. package/plugins/columnSummary/index.js +1 -1
  303. package/plugins/comments/commentEditor.js +1 -1
  304. package/plugins/comments/commentEditor.mjs +1 -1
  305. package/plugins/comments/comments.d.ts +50 -0
  306. package/plugins/comments/comments.js +11 -6
  307. package/plugins/comments/comments.mjs +10 -5
  308. package/plugins/comments/displaySwitch.js +1 -1
  309. package/plugins/comments/displaySwitch.mjs +1 -1
  310. package/plugins/comments/index.d.ts +1 -0
  311. package/plugins/comments/index.js +1 -1
  312. package/plugins/contextMenu/commandExecutor.js +1 -1
  313. package/plugins/contextMenu/commandExecutor.mjs +1 -1
  314. package/plugins/contextMenu/contextMenu.d.ts +65 -0
  315. package/plugins/contextMenu/contextMenu.js +8 -7
  316. package/plugins/contextMenu/contextMenu.mjs +6 -5
  317. package/plugins/contextMenu/cursor.js +1 -1
  318. package/plugins/contextMenu/cursor.mjs +1 -1
  319. package/plugins/contextMenu/index.d.ts +1 -0
  320. package/plugins/contextMenu/index.js +1 -1
  321. package/plugins/contextMenu/itemsFactory.js +1 -1
  322. package/plugins/contextMenu/itemsFactory.mjs +1 -1
  323. package/plugins/contextMenu/menu.js +4 -4
  324. package/plugins/contextMenu/menu.mjs +3 -3
  325. package/plugins/contextMenu/predefinedItems/alignment.js +1 -1
  326. package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
  327. package/plugins/contextMenu/predefinedItems/columnLeft.js +1 -1
  328. package/plugins/contextMenu/predefinedItems/columnRight.js +1 -1
  329. package/plugins/contextMenu/predefinedItems/noItems.js +1 -1
  330. package/plugins/contextMenu/predefinedItems/readOnly.js +1 -1
  331. package/plugins/contextMenu/predefinedItems/redo.js +1 -1
  332. package/plugins/contextMenu/predefinedItems/removeColumn.js +4 -2
  333. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +2 -1
  334. package/plugins/contextMenu/predefinedItems/removeRow.js +4 -2
  335. package/plugins/contextMenu/predefinedItems/removeRow.mjs +2 -1
  336. package/plugins/contextMenu/predefinedItems/rowAbove.js +1 -1
  337. package/plugins/contextMenu/predefinedItems/rowBelow.js +1 -1
  338. package/plugins/contextMenu/predefinedItems/separator.js +1 -1
  339. package/plugins/contextMenu/predefinedItems/undo.js +1 -1
  340. package/plugins/contextMenu/predefinedItems.js +2 -2
  341. package/plugins/contextMenu/utils.js +10 -10
  342. package/plugins/copyPaste/clipboardData.js +3 -0
  343. package/plugins/copyPaste/clipboardData.mjs +3 -0
  344. package/plugins/copyPaste/copyPaste.d.ts +35 -0
  345. package/plugins/copyPaste/copyPaste.js +13 -10
  346. package/plugins/copyPaste/copyPaste.mjs +11 -9
  347. package/plugins/copyPaste/focusableElement.js +1 -2
  348. package/plugins/copyPaste/focusableElement.mjs +1 -2
  349. package/plugins/copyPaste/index.d.ts +1 -0
  350. package/plugins/copyPaste/index.js +1 -1
  351. package/plugins/copyPaste/pasteEvent.js +3 -0
  352. package/plugins/copyPaste/pasteEvent.mjs +3 -0
  353. package/plugins/customBorders/customBorders.d.ts +38 -0
  354. package/plugins/customBorders/customBorders.js +11 -9
  355. package/plugins/customBorders/customBorders.mjs +8 -7
  356. package/plugins/customBorders/index.d.ts +1 -0
  357. package/plugins/customBorders/index.js +1 -1
  358. package/plugins/customBorders/utils.js +3 -3
  359. package/plugins/dragToScroll/dragToScroll.d.ts +15 -0
  360. package/plugins/dragToScroll/dragToScroll.js +5 -5
  361. package/plugins/dragToScroll/dragToScroll.mjs +3 -3
  362. package/plugins/dragToScroll/index.d.ts +1 -0
  363. package/plugins/dragToScroll/index.js +1 -1
  364. package/plugins/dropdownMenu/dropdownMenu.d.ts +24 -0
  365. package/plugins/dropdownMenu/dropdownMenu.js +9 -9
  366. package/plugins/dropdownMenu/dropdownMenu.mjs +7 -7
  367. package/plugins/dropdownMenu/index.d.ts +1 -0
  368. package/plugins/dropdownMenu/index.js +1 -1
  369. package/plugins/exportFile/dataProvider.js +3 -5
  370. package/plugins/exportFile/dataProvider.mjs +3 -5
  371. package/plugins/exportFile/exportFile.d.ts +12 -0
  372. package/plugins/exportFile/exportFile.js +6 -5
  373. package/plugins/exportFile/exportFile.mjs +4 -3
  374. package/plugins/exportFile/index.d.ts +1 -0
  375. package/plugins/exportFile/index.js +1 -1
  376. package/plugins/exportFile/typeFactory.js +2 -1
  377. package/plugins/exportFile/typeFactory.mjs +1 -0
  378. package/plugins/exportFile/types/_base.js +0 -1
  379. package/plugins/exportFile/types/_base.mjs +0 -1
  380. package/plugins/exportFile/types/csv.js +3 -4
  381. package/plugins/exportFile/types/csv.mjs +2 -3
  382. package/plugins/filters/component/_base.js +1 -1
  383. package/plugins/filters/component/_base.mjs +1 -1
  384. package/plugins/filters/component/actionBar.js +4 -4
  385. package/plugins/filters/component/actionBar.mjs +3 -3
  386. package/plugins/filters/component/condition.js +7 -5
  387. package/plugins/filters/component/condition.mjs +5 -4
  388. package/plugins/filters/component/operators.js +4 -4
  389. package/plugins/filters/component/operators.mjs +3 -3
  390. package/plugins/filters/component/value.js +13 -6
  391. package/plugins/filters/component/value.mjs +11 -5
  392. package/plugins/filters/condition/beginsWith.js +5 -3
  393. package/plugins/filters/condition/beginsWith.mjs +3 -2
  394. package/plugins/filters/condition/between.js +4 -2
  395. package/plugins/filters/condition/between.mjs +2 -1
  396. package/plugins/filters/condition/byValue.js +4 -2
  397. package/plugins/filters/condition/byValue.mjs +2 -1
  398. package/plugins/filters/condition/contains.js +5 -3
  399. package/plugins/filters/condition/contains.mjs +3 -2
  400. package/plugins/filters/condition/date/after.js +4 -2
  401. package/plugins/filters/condition/date/after.mjs +2 -1
  402. package/plugins/filters/condition/date/before.js +4 -2
  403. package/plugins/filters/condition/date/before.mjs +2 -1
  404. package/plugins/filters/condition/date/today.js +1 -1
  405. package/plugins/filters/condition/date/tomorrow.js +1 -1
  406. package/plugins/filters/condition/date/yesterday.js +1 -1
  407. package/plugins/filters/condition/empty.js +1 -1
  408. package/plugins/filters/condition/endsWith.js +5 -3
  409. package/plugins/filters/condition/endsWith.mjs +3 -2
  410. package/plugins/filters/condition/equal.js +5 -3
  411. package/plugins/filters/condition/equal.mjs +3 -2
  412. package/plugins/filters/condition/false.js +1 -1
  413. package/plugins/filters/condition/greaterThan.js +4 -2
  414. package/plugins/filters/condition/greaterThan.mjs +2 -1
  415. package/plugins/filters/condition/greaterThanOrEqual.js +4 -2
  416. package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -1
  417. package/plugins/filters/condition/lessThan.js +4 -2
  418. package/plugins/filters/condition/lessThan.mjs +2 -1
  419. package/plugins/filters/condition/lessThanOrEqual.js +4 -2
  420. package/plugins/filters/condition/lessThanOrEqual.mjs +2 -1
  421. package/plugins/filters/condition/none.js +1 -1
  422. package/plugins/filters/condition/notBetween.js +1 -1
  423. package/plugins/filters/condition/notContains.js +1 -1
  424. package/plugins/filters/condition/notEmpty.js +1 -1
  425. package/plugins/filters/condition/notEqual.js +1 -1
  426. package/plugins/filters/condition/true.js +1 -1
  427. package/plugins/filters/conditionCollection.d.ts +32 -0
  428. package/plugins/filters/conditionCollection.js +8 -5
  429. package/plugins/filters/conditionCollection.mjs +6 -4
  430. package/plugins/filters/conditionRegisterer.js +1 -1
  431. package/plugins/filters/conditionUpdateObserver.d.ts +10 -0
  432. package/plugins/filters/conditionUpdateObserver.js +3 -1
  433. package/plugins/filters/conditionUpdateObserver.mjs +2 -1
  434. package/plugins/filters/constants.js +2 -1
  435. package/plugins/filters/constants.mjs +1 -0
  436. package/plugins/filters/dataFilter.js +1 -1
  437. package/plugins/filters/dataFilter.mjs +1 -1
  438. package/plugins/filters/filters.d.ts +56 -0
  439. package/plugins/filters/filters.js +19 -14
  440. package/plugins/filters/filters.mjs +17 -13
  441. package/plugins/filters/index.d.ts +1 -0
  442. package/plugins/filters/index.js +1 -1
  443. package/plugins/filters/logicalOperationRegisterer.js +1 -1
  444. package/plugins/filters/logicalOperations/conjunction.js +3 -3
  445. package/plugins/filters/logicalOperations/conjunction.mjs +1 -0
  446. package/plugins/filters/logicalOperations/disjunction.js +3 -3
  447. package/plugins/filters/logicalOperations/disjunction.mjs +1 -0
  448. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +3 -3
  449. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +1 -0
  450. package/plugins/filters/ui/_base.js +2 -3
  451. package/plugins/filters/ui/_base.mjs +2 -3
  452. package/plugins/filters/ui/input.js +3 -3
  453. package/plugins/filters/ui/input.mjs +3 -3
  454. package/plugins/filters/ui/link.js +3 -3
  455. package/plugins/filters/ui/link.mjs +3 -3
  456. package/plugins/filters/ui/multipleSelect.js +31 -5
  457. package/plugins/filters/ui/multipleSelect.mjs +30 -5
  458. package/plugins/filters/ui/radioInput.js +3 -3
  459. package/plugins/filters/ui/radioInput.mjs +3 -3
  460. package/plugins/filters/ui/select.js +3 -3
  461. package/plugins/filters/ui/select.mjs +3 -3
  462. package/plugins/filters/utils.js +3 -3
  463. package/plugins/formulas/engine/register.js +3 -3
  464. package/plugins/formulas/engine/settings.js +4 -4
  465. package/plugins/formulas/engine/settings.mjs +2 -3
  466. package/plugins/formulas/formulas.d.ts +31 -0
  467. package/plugins/formulas/formulas.js +286 -89
  468. package/plugins/formulas/formulas.mjs +279 -86
  469. package/plugins/formulas/index.d.ts +1 -0
  470. package/plugins/formulas/index.js +1 -1
  471. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +3 -1
  472. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +2 -1
  473. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +4 -2
  474. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -1
  475. package/plugins/hiddenColumns/hiddenColumns.d.ts +21 -0
  476. package/plugins/hiddenColumns/hiddenColumns.js +37 -24
  477. package/plugins/hiddenColumns/hiddenColumns.mjs +36 -23
  478. package/plugins/hiddenColumns/index.d.ts +1 -0
  479. package/plugins/hiddenColumns/index.js +1 -1
  480. package/plugins/hiddenRows/contextMenuItem/hideRow.js +3 -1
  481. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +2 -1
  482. package/plugins/hiddenRows/contextMenuItem/showRow.js +4 -2
  483. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -1
  484. package/plugins/hiddenRows/hiddenRows.d.ts +21 -0
  485. package/plugins/hiddenRows/hiddenRows.js +37 -25
  486. package/plugins/hiddenRows/hiddenRows.mjs +36 -24
  487. package/plugins/hiddenRows/index.d.ts +1 -0
  488. package/plugins/hiddenRows/index.js +1 -1
  489. package/plugins/index.d.ts +111 -0
  490. package/plugins/index.js +98 -58
  491. package/plugins/index.mjs +75 -34
  492. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +3 -1
  493. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +2 -1
  494. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +3 -1
  495. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +2 -1
  496. package/plugins/manualColumnFreeze/index.d.ts +1 -0
  497. package/plugins/manualColumnFreeze/index.js +1 -1
  498. package/plugins/manualColumnFreeze/manualColumnFreeze.d.ts +11 -0
  499. package/plugins/manualColumnFreeze/manualColumnFreeze.js +11 -6
  500. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +10 -5
  501. package/plugins/manualColumnMove/index.d.ts +1 -0
  502. package/plugins/manualColumnMove/index.js +1 -1
  503. package/plugins/manualColumnMove/manualColumnMove.d.ts +14 -0
  504. package/plugins/manualColumnMove/manualColumnMove.js +28 -23
  505. package/plugins/manualColumnMove/manualColumnMove.mjs +27 -22
  506. package/plugins/manualColumnMove/ui/_base.js +1 -1
  507. package/plugins/manualColumnMove/ui/_base.mjs +1 -1
  508. package/plugins/manualColumnMove/ui/backlight.js +4 -4
  509. package/plugins/manualColumnMove/ui/backlight.mjs +3 -3
  510. package/plugins/manualColumnMove/ui/guideline.js +4 -4
  511. package/plugins/manualColumnMove/ui/guideline.mjs +3 -3
  512. package/plugins/manualColumnResize/index.d.ts +1 -0
  513. package/plugins/manualColumnResize/index.js +1 -1
  514. package/plugins/manualColumnResize/manualColumnResize.d.ts +30 -0
  515. package/plugins/manualColumnResize/manualColumnResize.js +7 -6
  516. package/plugins/manualColumnResize/manualColumnResize.mjs +6 -5
  517. package/plugins/manualRowMove/index.d.ts +1 -0
  518. package/plugins/manualRowMove/index.js +1 -1
  519. package/plugins/manualRowMove/manualRowMove.d.ts +14 -0
  520. package/plugins/manualRowMove/manualRowMove.js +25 -22
  521. package/plugins/manualRowMove/manualRowMove.mjs +24 -21
  522. package/plugins/manualRowMove/ui/_base.js +1 -2
  523. package/plugins/manualRowMove/ui/_base.mjs +1 -2
  524. package/plugins/manualRowMove/ui/backlight.js +5 -5
  525. package/plugins/manualRowMove/ui/backlight.mjs +4 -4
  526. package/plugins/manualRowMove/ui/guideline.js +5 -5
  527. package/plugins/manualRowMove/ui/guideline.mjs +4 -4
  528. package/plugins/manualRowResize/index.d.ts +1 -0
  529. package/plugins/manualRowResize/index.js +1 -1
  530. package/plugins/manualRowResize/manualRowResize.d.ts +29 -0
  531. package/plugins/manualRowResize/manualRowResize.js +6 -5
  532. package/plugins/manualRowResize/manualRowResize.mjs +5 -4
  533. package/plugins/mergeCells/calculations/autofill.js +4 -3
  534. package/plugins/mergeCells/calculations/autofill.mjs +3 -3
  535. package/plugins/mergeCells/calculations/selection.js +1 -2
  536. package/plugins/mergeCells/calculations/selection.mjs +1 -2
  537. package/plugins/mergeCells/cellCoords.js +1 -1
  538. package/plugins/mergeCells/cellCoords.mjs +1 -1
  539. package/plugins/mergeCells/cellsCollection.js +5 -3
  540. package/plugins/mergeCells/cellsCollection.mjs +4 -3
  541. package/plugins/mergeCells/index.d.ts +1 -0
  542. package/plugins/mergeCells/index.js +1 -1
  543. package/plugins/mergeCells/mergeCells.d.ts +22 -0
  544. package/plugins/mergeCells/mergeCells.js +7 -4
  545. package/plugins/mergeCells/mergeCells.mjs +5 -3
  546. package/plugins/multiColumnSorting/domHelpers.js +2 -0
  547. package/plugins/multiColumnSorting/domHelpers.mjs +1 -0
  548. package/plugins/multiColumnSorting/index.d.ts +1 -0
  549. package/plugins/multiColumnSorting/index.js +1 -1
  550. package/plugins/multiColumnSorting/multiColumnSorting.d.ts +8 -0
  551. package/plugins/multiColumnSorting/multiColumnSorting.js +11 -8
  552. package/plugins/multiColumnSorting/multiColumnSorting.mjs +9 -6
  553. package/plugins/multiColumnSorting/rootComparator.js +2 -0
  554. package/plugins/multiColumnSorting/rootComparator.mjs +1 -0
  555. package/plugins/multipleSelectionHandles/index.d.ts +1 -0
  556. package/plugins/multipleSelectionHandles/index.js +1 -1
  557. package/plugins/multipleSelectionHandles/multipleSelectionHandles.d.ts +21 -0
  558. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +7 -5
  559. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +5 -3
  560. package/plugins/nestedHeaders/index.d.ts +1 -0
  561. package/plugins/nestedHeaders/index.js +1 -1
  562. package/plugins/nestedHeaders/nestedHeaders.d.ts +17 -0
  563. package/plugins/nestedHeaders/nestedHeaders.js +41 -21
  564. package/plugins/nestedHeaders/nestedHeaders.mjs +38 -19
  565. package/plugins/nestedHeaders/stateManager/headersTree.js +11 -5
  566. package/plugins/nestedHeaders/stateManager/headersTree.mjs +10 -5
  567. package/plugins/nestedHeaders/stateManager/index.js +9 -6
  568. package/plugins/nestedHeaders/stateManager/index.mjs +9 -6
  569. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +1 -1
  570. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +2 -0
  571. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +1 -0
  572. package/plugins/nestedHeaders/stateManager/sourceSettings.js +8 -4
  573. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +8 -4
  574. package/plugins/nestedHeaders/utils/ghostTable.js +10 -2
  575. package/plugins/nestedHeaders/utils/ghostTable.mjs +10 -2
  576. package/plugins/nestedRows/data/dataManager.js +40 -14
  577. package/plugins/nestedRows/data/dataManager.mjs +38 -13
  578. package/plugins/nestedRows/index.d.ts +1 -0
  579. package/plugins/nestedRows/index.js +1 -1
  580. package/plugins/nestedRows/nestedRows.d.ts +12 -0
  581. package/plugins/nestedRows/nestedRows.js +48 -34
  582. package/plugins/nestedRows/nestedRows.mjs +43 -32
  583. package/plugins/nestedRows/ui/_base.js +1 -2
  584. package/plugins/nestedRows/ui/_base.mjs +1 -2
  585. package/plugins/nestedRows/ui/collapsing.js +6 -5
  586. package/plugins/nestedRows/ui/collapsing.mjs +4 -4
  587. package/plugins/nestedRows/ui/contextMenu.js +2 -3
  588. package/plugins/nestedRows/ui/contextMenu.mjs +2 -3
  589. package/plugins/nestedRows/ui/headers.js +4 -5
  590. package/plugins/nestedRows/ui/headers.mjs +3 -4
  591. package/plugins/nestedRows/utils/rowMoveController.js +10 -9
  592. package/plugins/nestedRows/utils/rowMoveController.mjs +8 -8
  593. package/plugins/persistentState/index.d.ts +1 -0
  594. package/plugins/persistentState/persistentState.d.ts +13 -0
  595. package/plugins/persistentState/persistentState.js +13 -4
  596. package/plugins/persistentState/persistentState.mjs +12 -3
  597. package/plugins/persistentState/storage.js +1 -1
  598. package/plugins/persistentState/storage.mjs +1 -1
  599. package/plugins/registry.d.ts +9 -0
  600. package/plugins/registry.js +4 -2
  601. package/plugins/registry.mjs +2 -1
  602. package/plugins/search/index.d.ts +1 -0
  603. package/plugins/search/search.d.ts +28 -0
  604. package/plugins/search/search.js +7 -6
  605. package/plugins/search/search.mjs +7 -6
  606. package/plugins/touchScroll/index.d.ts +1 -0
  607. package/plugins/touchScroll/touchScroll.d.ts +13 -0
  608. package/plugins/touchScroll/touchScroll.js +9 -9
  609. package/plugins/touchScroll/touchScroll.mjs +8 -8
  610. package/plugins/trimRows/index.d.ts +1 -0
  611. package/plugins/trimRows/trimRows.d.ts +17 -0
  612. package/plugins/trimRows/trimRows.js +3 -2
  613. package/plugins/trimRows/trimRows.mjs +3 -2
  614. package/plugins/undoRedo/index.d.ts +1 -0
  615. package/plugins/undoRedo/undoRedo.d.ts +49 -0
  616. package/plugins/undoRedo/undoRedo.js +28 -30
  617. package/plugins/undoRedo/undoRedo.mjs +26 -29
  618. package/registry.d.ts +6 -0
  619. package/registry.js +46 -0
  620. package/registry.mjs +27 -0
  621. package/renderers/autocompleteRenderer/autocompleteRenderer.d.ts +5 -0
  622. package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -1
  623. package/renderers/autocompleteRenderer/index.d.ts +1 -0
  624. package/renderers/base.d.ts +3 -0
  625. package/renderers/baseRenderer/baseRenderer.d.ts +5 -0
  626. package/renderers/baseRenderer/baseRenderer.js +1 -1
  627. package/renderers/baseRenderer/index.d.ts +1 -0
  628. package/renderers/checkboxRenderer/checkboxRenderer.d.ts +5 -0
  629. package/renderers/checkboxRenderer/checkboxRenderer.js +3 -5
  630. package/renderers/checkboxRenderer/checkboxRenderer.mjs +3 -4
  631. package/renderers/checkboxRenderer/index.d.ts +1 -0
  632. package/renderers/htmlRenderer/htmlRenderer.d.ts +5 -0
  633. package/renderers/htmlRenderer/htmlRenderer.js +1 -1
  634. package/renderers/htmlRenderer/index.d.ts +1 -0
  635. package/renderers/index.d.ts +42 -0
  636. package/renderers/index.js +16 -2
  637. package/renderers/index.mjs +22 -7
  638. package/renderers/numericRenderer/index.d.ts +1 -0
  639. package/renderers/numericRenderer/numericRenderer.d.ts +5 -0
  640. package/renderers/numericRenderer/numericRenderer.js +1 -1
  641. package/renderers/passwordRenderer/index.d.ts +1 -0
  642. package/renderers/passwordRenderer/passwordRenderer.d.ts +5 -0
  643. package/renderers/passwordRenderer/passwordRenderer.js +1 -1
  644. package/renderers/registry.d.ts +18 -0
  645. package/renderers/registry.js +3 -2
  646. package/renderers/textRenderer/index.d.ts +1 -0
  647. package/renderers/textRenderer/textRenderer.d.ts +5 -0
  648. package/renderers/textRenderer/textRenderer.js +1 -1
  649. package/selection/highlight/constants.js +1 -1
  650. package/selection/highlight/highlight.js +7 -5
  651. package/selection/highlight/highlight.mjs +5 -4
  652. package/selection/highlight/types/activeHeader.js +2 -0
  653. package/selection/highlight/types/activeHeader.mjs +1 -0
  654. package/selection/highlight/types/area.js +2 -0
  655. package/selection/highlight/types/area.mjs +1 -0
  656. package/selection/highlight/types/cell.js +2 -0
  657. package/selection/highlight/types/cell.mjs +1 -0
  658. package/selection/highlight/types/customSelection.js +2 -0
  659. package/selection/highlight/types/customSelection.mjs +1 -0
  660. package/selection/highlight/types/fill.js +2 -0
  661. package/selection/highlight/types/fill.mjs +1 -0
  662. package/selection/highlight/types/header.js +2 -0
  663. package/selection/highlight/types/header.mjs +1 -0
  664. package/selection/highlight/types/index.js +2 -0
  665. package/selection/highlight/types/index.mjs +1 -0
  666. package/selection/highlight/visualSelection.js +7 -5
  667. package/selection/highlight/visualSelection.mjs +5 -4
  668. package/selection/index.d.ts +5 -0
  669. package/selection/index.js +2 -0
  670. package/selection/mouseEventHandler.js +4 -4
  671. package/selection/mouseEventHandler.mjs +3 -3
  672. package/selection/range.js +5 -5
  673. package/selection/range.mjs +4 -4
  674. package/selection/selection.js +18 -9
  675. package/selection/selection.mjs +17 -9
  676. package/selection/transformation.js +3 -2
  677. package/selection/transformation.mjs +3 -2
  678. package/selection/utils.js +6 -4
  679. package/selection/utils.mjs +3 -2
  680. package/settings.d.ts +208 -0
  681. package/tableView.js +20 -14
  682. package/tableView.mjs +19 -14
  683. package/translations/changesObservable/observable.js +10 -5
  684. package/translations/changesObservable/observable.mjs +10 -5
  685. package/translations/changesObservable/observer.js +6 -1
  686. package/translations/changesObservable/observer.mjs +6 -1
  687. package/translations/changesObservable/utils.js +1 -0
  688. package/translations/changesObservable/utils.mjs +1 -0
  689. package/translations/index.d.ts +1 -0
  690. package/translations/index.js +3 -1
  691. package/translations/indexMapper.d.ts +45 -0
  692. package/translations/indexMapper.js +8 -3
  693. package/translations/indexMapper.mjs +6 -2
  694. package/translations/mapCollections/aggregatedCollection.js +3 -3
  695. package/translations/mapCollections/aggregatedCollection.mjs +2 -2
  696. package/translations/mapCollections/index.js +2 -0
  697. package/translations/mapCollections/mapCollection.js +1 -1
  698. package/translations/maps/hidingMap.js +3 -3
  699. package/translations/maps/hidingMap.mjs +2 -2
  700. package/translations/maps/indexMap.d.ts +10 -0
  701. package/translations/maps/indexesSequence.js +4 -4
  702. package/translations/maps/indexesSequence.mjs +3 -3
  703. package/translations/maps/linkedPhysicalIndexToValueMap.js +4 -2
  704. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +3 -2
  705. package/translations/maps/physicalIndexToValueMap.js +4 -4
  706. package/translations/maps/physicalIndexToValueMap.mjs +3 -3
  707. package/translations/maps/trimmingMap.js +3 -3
  708. package/translations/maps/trimmingMap.mjs +2 -2
  709. package/translations/maps/utils/actionsOnIndexes.js +2 -0
  710. package/translations/maps/utils/actionsOnIndexes.mjs +1 -0
  711. package/translations/maps/utils/indexesSequence.js +2 -0
  712. package/translations/maps/utils/indexesSequence.mjs +1 -0
  713. package/translations/maps/utils/physicallyIndexed.js +2 -0
  714. package/translations/maps/utils/physicallyIndexed.mjs +1 -0
  715. package/utils/dataStructures/priorityMap.js +4 -2
  716. package/utils/dataStructures/priorityMap.mjs +2 -1
  717. package/utils/dataStructures/tree.js +3 -1
  718. package/utils/dataStructures/tree.mjs +1 -0
  719. package/utils/dataStructures/uniqueMap.js +3 -1
  720. package/utils/dataStructures/uniqueMap.mjs +2 -1
  721. package/utils/dataStructures/uniqueSet.js +2 -0
  722. package/utils/dataStructures/uniqueSet.mjs +1 -0
  723. package/utils/ghostTable.js +5 -4
  724. package/utils/ghostTable.mjs +3 -3
  725. package/utils/interval.js +1 -2
  726. package/utils/interval.mjs +0 -1
  727. package/utils/parseTable.d.ts +5 -0
  728. package/utils/parseTable.js +2 -2
  729. package/utils/parseTable.mjs +1 -1
  730. package/utils/rootInstance.js +3 -2
  731. package/utils/samplesGenerator.js +0 -1
  732. package/utils/samplesGenerator.mjs +0 -1
  733. package/utils/staticRegister.js +3 -1
  734. package/utils/staticRegister.mjs +1 -0
  735. package/validators/autocompleteValidator/autocompleteValidator.d.ts +5 -0
  736. package/validators/autocompleteValidator/autocompleteValidator.js +1 -1
  737. package/validators/autocompleteValidator/index.d.ts +1 -0
  738. package/validators/base.d.ts +6 -0
  739. package/validators/dateValidator/dateValidator.d.ts +5 -0
  740. package/validators/dateValidator/dateValidator.js +2 -2
  741. package/validators/dateValidator/index.d.ts +1 -0
  742. package/validators/index.d.ts +33 -0
  743. package/validators/index.js +13 -2
  744. package/validators/index.mjs +16 -4
  745. package/validators/numericValidator/index.d.ts +1 -0
  746. package/validators/numericValidator/numericValidator.d.ts +5 -0
  747. package/validators/numericValidator/numericValidator.js +1 -1
  748. package/validators/registry.d.ts +18 -0
  749. package/validators/registry.js +3 -2
  750. package/validators/timeValidator/index.d.ts +1 -0
  751. package/validators/timeValidator/timeValidator.d.ts +5 -0
  752. package/validators/timeValidator/timeValidator.js +3 -1
  753. package/validators/timeValidator/timeValidator.mjs +1 -0
  754. package/handsontable-general-terms.pdf +0 -0
  755. package/handsontable.d.ts +0 -2616
  756. package/plugins/formulas/autofill.js +0 -180
  757. package/plugins/formulas/autofill.mjs +0 -172
@@ -6,10 +6,10 @@ require("core-js/modules/es.symbol.description.js");
6
6
 
7
7
  require("core-js/modules/es.symbol.iterator.js");
8
8
 
9
- require("core-js/modules/es.array.from.js");
10
-
11
9
  require("core-js/modules/es.function.name.js");
12
10
 
11
+ require("core-js/modules/es.regexp.exec.js");
12
+
13
13
  exports.__esModule = true;
14
14
  exports.default = void 0;
15
15
 
@@ -27,6 +27,8 @@ require("core-js/modules/es.array.index-of.js");
27
27
 
28
28
  require("core-js/modules/es.array.splice.js");
29
29
 
30
+ require("core-js/modules/es.array.from.js");
31
+
30
32
  require("core-js/modules/es.array.concat.js");
31
33
 
32
34
  require("core-js/modules/es.array.slice.js");
@@ -60,7 +62,6 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
60
62
  /**
61
63
  * Class responsible for making data operations.
62
64
  *
63
- * @class
64
65
  * @private
65
66
  */
66
67
  var DataManager = /*#__PURE__*/function () {
@@ -500,6 +501,21 @@ var DataManager = /*#__PURE__*/function () {
500
501
  value: function isChild(index) {
501
502
  return this.getRowParent(index) !== null;
502
503
  }
504
+ /**
505
+ * Get child at a provided index from the parent element.
506
+ *
507
+ * @param {object} parent The parent row object.
508
+ * @param {number} index Index of the child element to be retrieved.
509
+ * @returns {object|null} The child element or `null` if the child doesn't exist.
510
+ */
511
+
512
+ }, {
513
+ key: "getChild",
514
+ value: function getChild(parent, index) {
515
+ var _parent$__children;
516
+
517
+ return ((_parent$__children = parent.__children) === null || _parent$__children === void 0 ? void 0 : _parent$__children[index]) || null;
518
+ }
503
519
  /**
504
520
  * Return `true` of the row at the provided index is located at the topmost level.
505
521
  *
@@ -585,6 +601,7 @@ var DataManager = /*#__PURE__*/function () {
585
601
  key: "addChildAtIndex",
586
602
  value: function addChildAtIndex(parent, index, element) {
587
603
  var childElement = element;
604
+ var flattenedIndex;
588
605
 
589
606
  if (!childElement) {
590
607
  childElement = this.mockNode();
@@ -593,23 +610,28 @@ var DataManager = /*#__PURE__*/function () {
593
610
  this.hot.runHooks('beforeAddChild', parent, childElement, index);
594
611
 
595
612
  if (parent) {
596
- this.hot.runHooks('beforeCreateRow', index, 1);
613
+ var parentIndex = this.getRowIndex(parent);
614
+ var finalChildIndex = parentIndex + index + 1;
615
+ this.hot.runHooks('beforeCreateRow', finalChildIndex, 1);
597
616
 
598
617
  parent.__children.splice(index, null, childElement);
599
618
 
619
+ this.rewriteCache();
600
620
  this.plugin.disableCoreAPIModifiers();
601
621
  this.hot.setSourceDataAtCell(this.getRowIndexWithinParent(parent), '__children', parent.__children, 'NestedRows.addChildAtIndex');
622
+ this.hot.rowIndexMapper.insertIndexes(finalChildIndex, 1);
602
623
  this.plugin.enableCoreAPIModifiers();
603
- this.hot.runHooks('afterCreateRow', index, 1);
624
+ this.hot.runHooks('afterCreateRow', finalChildIndex, 1);
625
+ flattenedIndex = finalChildIndex;
604
626
  } else {
605
627
  this.plugin.disableCoreAPIModifiers();
606
628
  this.hot.alter('insert_row', index, 1, 'NestedRows.addChildAtIndex');
607
629
  this.plugin.enableCoreAPIModifiers();
608
- }
630
+ flattenedIndex = this.getRowIndex(this.data[index]);
631
+ } // Workaround for refreshing cache losing the reference to the mocked row.
609
632
 
610
- this.updateWithData(this.getRawSourceData()); // Workaround for refreshing cache losing the reference to the mocked row.
611
633
 
612
- childElement = this.getDataObject(index);
634
+ childElement = this.getDataObject(flattenedIndex);
613
635
  this.hot.runHooks('afterAddChild', parent, childElement, index);
614
636
  }
615
637
  /**
@@ -671,6 +693,7 @@ var DataManager = /*#__PURE__*/function () {
671
693
  }
672
694
 
673
695
  var childRowIndex = this.getRowIndex(element);
696
+ var childCount = this.countChildren(element);
674
697
  var indexWithinParent = this.getRowIndexWithinParent(element);
675
698
  var parent = this.getRowParent(element);
676
699
  var grandparent = this.getRowParent(parent);
@@ -679,28 +702,31 @@ var DataManager = /*#__PURE__*/function () {
679
702
  this.hot.runHooks('beforeDetachChild', parent, element);
680
703
 
681
704
  if (indexWithinParent !== null && indexWithinParent !== void 0) {
682
- this.hot.runHooks('beforeRemoveRow', childRowIndex, 1, [childRowIndex], this.plugin.pluginName);
705
+ var removedRowIndexes = Array.from(new Array(childRowIndex + childCount + 1).keys()).splice(-1 * (childCount + 1));
706
+ this.hot.runHooks('beforeRemoveRow', childRowIndex, childCount + 1, removedRowIndexes, this.plugin.pluginName);
683
707
 
684
708
  parent.__children.splice(indexWithinParent, 1);
685
709
 
686
710
  this.rewriteCache();
687
- this.hot.runHooks('afterRemoveRow', childRowIndex, 1, [childRowIndex], this.plugin.pluginName);
711
+ this.hot.runHooks('afterRemoveRow', childRowIndex, childCount + 1, removedRowIndexes, this.plugin.pluginName);
688
712
 
689
713
  if (grandparent) {
690
714
  movedElementRowIndex = grandparentRowIndex + this.countChildren(grandparent);
691
- this.hot.runHooks('beforeCreateRow', movedElementRowIndex, 1, this.plugin.pluginName);
715
+ var lastGrandparentChild = this.getChild(grandparent, this.countChildren(grandparent) - 1);
716
+ var lastGrandparentChildIndex = this.getRowIndex(lastGrandparentChild);
717
+ this.hot.runHooks('beforeCreateRow', lastGrandparentChildIndex + 1, childCount + 1, this.plugin.pluginName);
692
718
 
693
719
  grandparent.__children.push(element);
694
720
  } else {
695
721
  movedElementRowIndex = this.hot.countRows() + 1;
696
- this.hot.runHooks('beforeCreateRow', movedElementRowIndex, 1, this.plugin.pluginName);
722
+ this.hot.runHooks('beforeCreateRow', movedElementRowIndex - 2, childCount + 1, this.plugin.pluginName);
697
723
  this.data.push(element);
698
724
  }
699
725
  }
700
726
 
701
727
  this.rewriteCache();
702
- this.hot.runHooks('afterCreateRow', movedElementRowIndex, 1, this.plugin.pluginName);
703
- this.hot.runHooks('afterDetachChild', parent, element);
728
+ this.hot.runHooks('afterCreateRow', movedElementRowIndex - 2, childCount + 1, this.plugin.pluginName);
729
+ this.hot.runHooks('afterDetachChild', parent, element, this.getRowIndex(element));
704
730
 
705
731
  if (forceRender) {
706
732
  this.hot.render();
@@ -19,13 +19,14 @@ import "core-js/modules/es.weak-map.js";
19
19
  import "core-js/modules/web.dom-collections.iterator.js";
20
20
  import "core-js/modules/es.array.index-of.js";
21
21
  import "core-js/modules/es.array.splice.js";
22
+ import "core-js/modules/es.array.from.js";
22
23
  import "core-js/modules/es.array.concat.js";
23
24
  import "core-js/modules/es.array.slice.js";
24
25
  import "core-js/modules/es.symbol.js";
25
26
  import "core-js/modules/es.symbol.description.js";
26
27
  import "core-js/modules/es.symbol.iterator.js";
27
- import "core-js/modules/es.array.from.js";
28
28
  import "core-js/modules/es.function.name.js";
29
+ import "core-js/modules/es.regexp.exec.js";
29
30
 
30
31
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
31
32
 
@@ -39,7 +40,6 @@ import { arrayEach } from "../../../helpers/array.mjs";
39
40
  /**
40
41
  * Class responsible for making data operations.
41
42
  *
42
- * @class
43
43
  * @private
44
44
  */
45
45
 
@@ -480,6 +480,21 @@ var DataManager = /*#__PURE__*/function () {
480
480
  value: function isChild(index) {
481
481
  return this.getRowParent(index) !== null;
482
482
  }
483
+ /**
484
+ * Get child at a provided index from the parent element.
485
+ *
486
+ * @param {object} parent The parent row object.
487
+ * @param {number} index Index of the child element to be retrieved.
488
+ * @returns {object|null} The child element or `null` if the child doesn't exist.
489
+ */
490
+
491
+ }, {
492
+ key: "getChild",
493
+ value: function getChild(parent, index) {
494
+ var _parent$__children;
495
+
496
+ return ((_parent$__children = parent.__children) === null || _parent$__children === void 0 ? void 0 : _parent$__children[index]) || null;
497
+ }
483
498
  /**
484
499
  * Return `true` of the row at the provided index is located at the topmost level.
485
500
  *
@@ -565,6 +580,7 @@ var DataManager = /*#__PURE__*/function () {
565
580
  key: "addChildAtIndex",
566
581
  value: function addChildAtIndex(parent, index, element) {
567
582
  var childElement = element;
583
+ var flattenedIndex;
568
584
 
569
585
  if (!childElement) {
570
586
  childElement = this.mockNode();
@@ -573,23 +589,28 @@ var DataManager = /*#__PURE__*/function () {
573
589
  this.hot.runHooks('beforeAddChild', parent, childElement, index);
574
590
 
575
591
  if (parent) {
576
- this.hot.runHooks('beforeCreateRow', index, 1);
592
+ var parentIndex = this.getRowIndex(parent);
593
+ var finalChildIndex = parentIndex + index + 1;
594
+ this.hot.runHooks('beforeCreateRow', finalChildIndex, 1);
577
595
 
578
596
  parent.__children.splice(index, null, childElement);
579
597
 
598
+ this.rewriteCache();
580
599
  this.plugin.disableCoreAPIModifiers();
581
600
  this.hot.setSourceDataAtCell(this.getRowIndexWithinParent(parent), '__children', parent.__children, 'NestedRows.addChildAtIndex');
601
+ this.hot.rowIndexMapper.insertIndexes(finalChildIndex, 1);
582
602
  this.plugin.enableCoreAPIModifiers();
583
- this.hot.runHooks('afterCreateRow', index, 1);
603
+ this.hot.runHooks('afterCreateRow', finalChildIndex, 1);
604
+ flattenedIndex = finalChildIndex;
584
605
  } else {
585
606
  this.plugin.disableCoreAPIModifiers();
586
607
  this.hot.alter('insert_row', index, 1, 'NestedRows.addChildAtIndex');
587
608
  this.plugin.enableCoreAPIModifiers();
588
- }
609
+ flattenedIndex = this.getRowIndex(this.data[index]);
610
+ } // Workaround for refreshing cache losing the reference to the mocked row.
589
611
 
590
- this.updateWithData(this.getRawSourceData()); // Workaround for refreshing cache losing the reference to the mocked row.
591
612
 
592
- childElement = this.getDataObject(index);
613
+ childElement = this.getDataObject(flattenedIndex);
593
614
  this.hot.runHooks('afterAddChild', parent, childElement, index);
594
615
  }
595
616
  /**
@@ -651,6 +672,7 @@ var DataManager = /*#__PURE__*/function () {
651
672
  }
652
673
 
653
674
  var childRowIndex = this.getRowIndex(element);
675
+ var childCount = this.countChildren(element);
654
676
  var indexWithinParent = this.getRowIndexWithinParent(element);
655
677
  var parent = this.getRowParent(element);
656
678
  var grandparent = this.getRowParent(parent);
@@ -659,28 +681,31 @@ var DataManager = /*#__PURE__*/function () {
659
681
  this.hot.runHooks('beforeDetachChild', parent, element);
660
682
 
661
683
  if (indexWithinParent !== null && indexWithinParent !== void 0) {
662
- this.hot.runHooks('beforeRemoveRow', childRowIndex, 1, [childRowIndex], this.plugin.pluginName);
684
+ var removedRowIndexes = Array.from(new Array(childRowIndex + childCount + 1).keys()).splice(-1 * (childCount + 1));
685
+ this.hot.runHooks('beforeRemoveRow', childRowIndex, childCount + 1, removedRowIndexes, this.plugin.pluginName);
663
686
 
664
687
  parent.__children.splice(indexWithinParent, 1);
665
688
 
666
689
  this.rewriteCache();
667
- this.hot.runHooks('afterRemoveRow', childRowIndex, 1, [childRowIndex], this.plugin.pluginName);
690
+ this.hot.runHooks('afterRemoveRow', childRowIndex, childCount + 1, removedRowIndexes, this.plugin.pluginName);
668
691
 
669
692
  if (grandparent) {
670
693
  movedElementRowIndex = grandparentRowIndex + this.countChildren(grandparent);
671
- this.hot.runHooks('beforeCreateRow', movedElementRowIndex, 1, this.plugin.pluginName);
694
+ var lastGrandparentChild = this.getChild(grandparent, this.countChildren(grandparent) - 1);
695
+ var lastGrandparentChildIndex = this.getRowIndex(lastGrandparentChild);
696
+ this.hot.runHooks('beforeCreateRow', lastGrandparentChildIndex + 1, childCount + 1, this.plugin.pluginName);
672
697
 
673
698
  grandparent.__children.push(element);
674
699
  } else {
675
700
  movedElementRowIndex = this.hot.countRows() + 1;
676
- this.hot.runHooks('beforeCreateRow', movedElementRowIndex, 1, this.plugin.pluginName);
701
+ this.hot.runHooks('beforeCreateRow', movedElementRowIndex - 2, childCount + 1, this.plugin.pluginName);
677
702
  this.data.push(element);
678
703
  }
679
704
  }
680
705
 
681
706
  this.rewriteCache();
682
- this.hot.runHooks('afterCreateRow', movedElementRowIndex, 1, this.plugin.pluginName);
683
- this.hot.runHooks('afterDetachChild', parent, element);
707
+ this.hot.runHooks('afterCreateRow', movedElementRowIndex - 2, childCount + 1, this.plugin.pluginName);
708
+ this.hot.runHooks('afterDetachChild', parent, element, this.getRowIndex(element));
684
709
 
685
710
  if (forceRender) {
686
711
  this.hot.render();
@@ -0,0 +1 @@
1
+ export * from './nestedRows';
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.NestedRows = exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = void 0;
4
+ exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.NestedRows = void 0;
5
5
 
6
6
  var _nestedRows = require("./nestedRows");
7
7
 
@@ -0,0 +1,12 @@
1
+ import Core from '../../core';
2
+ import { BasePlugin } from '../base';
3
+
4
+ export type Settings = boolean;
5
+
6
+ export class NestedRows extends BasePlugin {
7
+ constructor(hotInstance: Core);
8
+ isEnabled(): boolean;
9
+
10
+ disableCoreAPIModifiers(): void;
11
+ enableCoreAPIModifiers(): void;
12
+ }
@@ -18,12 +18,12 @@ require("core-js/modules/es.symbol.description.js");
18
18
 
19
19
  require("core-js/modules/es.symbol.iterator.js");
20
20
 
21
- require("core-js/modules/es.array.slice.js");
22
-
23
21
  require("core-js/modules/es.function.name.js");
24
22
 
23
+ require("core-js/modules/es.regexp.exec.js");
24
+
25
25
  exports.__esModule = true;
26
- exports.NestedRows = exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = void 0;
26
+ exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.NestedRows = void 0;
27
27
 
28
28
  require("core-js/modules/es.array.iterator.js");
29
29
 
@@ -35,6 +35,8 @@ require("core-js/modules/es.weak-map.js");
35
35
 
36
36
  require("core-js/modules/web.dom-collections.iterator.js");
37
37
 
38
+ require("core-js/modules/es.array.slice.js");
39
+
38
40
  require("core-js/modules/web.timers.js");
39
41
 
40
42
  require("core-js/modules/es.array.from.js");
@@ -55,6 +57,10 @@ var _headers = _interopRequireDefault(require("./ui/headers"));
55
57
 
56
58
  var _contextMenu = _interopRequireDefault(require("./ui/contextMenu"));
57
59
 
60
+ var _console = require("../../helpers/console");
61
+
62
+ var _data = require("../../helpers/data");
63
+
58
64
  var _translations = require("../../translations");
59
65
 
60
66
  var _rowMoveController = _interopRequireDefault(require("./utils/rowMoveController"));
@@ -79,7 +85,7 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
79
85
 
80
86
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
81
87
 
82
- 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); }
88
+ 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); }
83
89
 
84
90
  function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
85
91
 
@@ -89,7 +95,7 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || func
89
95
 
90
96
  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); }; }
91
97
 
92
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
98
+ 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); }
93
99
 
94
100
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
95
101
 
@@ -102,8 +108,14 @@ exports.PLUGIN_KEY = PLUGIN_KEY;
102
108
  var PLUGIN_PRIORITY = 300;
103
109
  exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
104
110
  var privatePool = new WeakMap();
111
+ /**
112
+ * Error message for the wrong data type error.
113
+ */
114
+
115
+ var WRONG_DATA_TYPE_ERROR = 'The Nested Rows plugin requires an Array of Objects as a dataset to be' + ' provided. The plugin has been disabled.';
105
116
  /**
106
117
  * @plugin NestedRows
118
+ * @class NestedRows
107
119
  *
108
120
  * @description
109
121
  * Plugin responsible for displaying and operating on data sources with nested structures.
@@ -186,8 +198,8 @@ var NestedRows = /*#__PURE__*/function (_BasePlugin) {
186
198
  this.addHook('afterInit', function () {
187
199
  return _this2.onAfterInit.apply(_this2, arguments);
188
200
  });
189
- this.addHook('beforeRender', function () {
190
- return _this2.onBeforeRender.apply(_this2, arguments);
201
+ this.addHook('beforeViewRender', function () {
202
+ return _this2.onBeforeViewRender.apply(_this2, arguments);
191
203
  });
192
204
  this.addHook('modifyRowData', function () {
193
205
  return _this2.onModifyRowData.apply(_this2, arguments);
@@ -198,8 +210,8 @@ var NestedRows = /*#__PURE__*/function (_BasePlugin) {
198
210
  this.addHook('beforeDataSplice', function () {
199
211
  return _this2.onBeforeDataSplice.apply(_this2, arguments);
200
212
  });
201
- this.addHook('beforeDataFilter', function () {
202
- return _this2.onBeforeDataFilter.apply(_this2, arguments);
213
+ this.addHook('filterData', function () {
214
+ return _this2.onFilterData.apply(_this2, arguments);
203
215
  });
204
216
  this.addHook('afterContextMenuDefaultOptions', function () {
205
217
  return _this2.onAfterContextMenuDefaultOptions.apply(_this2, arguments);
@@ -261,10 +273,12 @@ var NestedRows = /*#__PURE__*/function (_BasePlugin) {
261
273
  }, {
262
274
  key: "updatePlugin",
263
275
  value: function updatePlugin() {
264
- this.disablePlugin();
265
- var vanillaSourceData = this.hot.getSourceData();
266
- this.enablePlugin();
267
- this.dataManager.updateWithData(vanillaSourceData);
276
+ this.disablePlugin(); // We store a state of the data manager.
277
+
278
+ var currentSourceData = this.dataManager.getData();
279
+ this.enablePlugin(); // After enabling plugin previously stored data is restored.
280
+
281
+ this.dataManager.updateWithData(currentSourceData);
268
282
 
269
283
  _get(_getPrototypeOf(NestedRows.prototype), "updatePlugin", this).call(this);
270
284
  }
@@ -275,10 +289,10 @@ var NestedRows = /*#__PURE__*/function (_BasePlugin) {
275
289
  * @param {Array} rows Array of visual row indexes to be moved.
276
290
  * @param {number} finalIndex Visual row index, being a start index for the moved rows. Points to where the elements
277
291
  * will be placed after the moving action. To check the visualization of the final index, please take a look at
278
- * [documentation](/docs/demo-moving.html).
292
+ * [documentation](@/guides/rows/row-summary.md).
279
293
  * @param {undefined|number} dropIndex Visual row index, being a drop index for the moved rows. Points to where we
280
294
  * are going to drop the moved elements. To check visualization of drop index please take a look at
281
- * [documentation](/docs/demo-moving.html).
295
+ * [documentation](@/guides/rows/row-summary.md).
282
296
  * @param {boolean} movePossible Indicates if it's possible to move rows to the desired position.
283
297
  * @fires Hooks#afterRowMove
284
298
  * @returns {boolean}
@@ -382,25 +396,25 @@ var NestedRows = /*#__PURE__*/function (_BasePlugin) {
382
396
  return false;
383
397
  }
384
398
  /**
385
- * Called before the source data filtering. Returning `false` stops the native filtering.
399
+ * Provide custom source data filtering. It's handled by core method and replaces the native filtering.
386
400
  *
387
401
  * @private
388
402
  * @param {number} index The index where the data filtering starts.
389
403
  * @param {number} amount An amount of rows which filtering applies to.
390
404
  * @param {number} physicalRows Physical row indexes.
391
- * @returns {boolean}
405
+ * @returns {Array}
392
406
  */
393
407
 
394
408
  }, {
395
- key: "onBeforeDataFilter",
396
- value: function onBeforeDataFilter(index, amount, physicalRows) {
409
+ key: "onFilterData",
410
+ value: function onFilterData(index, amount, physicalRows) {
397
411
  var priv = privatePool.get(this);
398
412
  this.collapsingUI.collapsedRowsStash.stash();
399
413
  this.collapsingUI.collapsedRowsStash.trimStash(physicalRows[0], amount);
400
414
  this.collapsingUI.collapsedRowsStash.shiftStash(physicalRows[0], null, -1 * amount);
401
415
  this.dataManager.filterData(index, amount, physicalRows);
402
416
  priv.skipRender = true;
403
- return false;
417
+ return this.dataManager.getData().slice(); // Data contains reference sometimes.
404
418
  }
405
419
  /**
406
420
  * `afterContextMenuDefaultOptions` hook callback.
@@ -551,12 +565,13 @@ var NestedRows = /*#__PURE__*/function (_BasePlugin) {
551
565
  * @private
552
566
  * @param {object} parent Parent element.
553
567
  * @param {object} element New child element.
568
+ * @param {number} finalElementRowIndex The final row index of the detached element.
554
569
  */
555
570
 
556
571
  }, {
557
572
  key: "onAfterDetachChild",
558
- value: function onAfterDetachChild(parent, element) {
559
- this.collapsingUI.collapsedRowsStash.shiftStash(this.dataManager.getRowIndex(element), null, -1);
573
+ value: function onAfterDetachChild(parent, element, finalElementRowIndex) {
574
+ this.collapsingUI.collapsedRowsStash.shiftStash(finalElementRowIndex, null, -1);
560
575
  this.collapsingUI.collapsedRowsStash.applyStash();
561
576
  this.headersUI.updateRowHeaderWidth();
562
577
  }
@@ -564,19 +579,12 @@ var NestedRows = /*#__PURE__*/function (_BasePlugin) {
564
579
  * `afterCreateRow` hook callback.
565
580
  *
566
581
  * @private
567
- * @param {number} index Represents the visual index of first newly created row in the data source array.
568
- * @param {number} amount Number of newly created rows in the data source array.
569
- * @param {string} source String that identifies source of hook call.
570
582
  */
571
583
 
572
584
  }, {
573
585
  key: "onAfterCreateRow",
574
- value: function onAfterCreateRow(index, amount, source) {
575
- if (source === this.pluginName) {
576
- return;
577
- }
578
-
579
- this.dataManager.updateWithData(this.dataManager.getRawSourceData());
586
+ value: function onAfterCreateRow() {
587
+ this.dataManager.rewriteCache();
580
588
  }
581
589
  /**
582
590
  * `afterInit` hook callback.
@@ -594,7 +602,7 @@ var NestedRows = /*#__PURE__*/function (_BasePlugin) {
594
602
  }
595
603
  }
596
604
  /**
597
- * `beforeRender` hook callback.
605
+ * `beforeViewRender` hook callback.
598
606
  *
599
607
  * @param {boolean} force Indicates if the render call was trigered by a change of settings or data.
600
608
  * @param {object} skipRender An object, holder for skipRender functionality.
@@ -602,8 +610,8 @@ var NestedRows = /*#__PURE__*/function (_BasePlugin) {
602
610
  */
603
611
 
604
612
  }, {
605
- key: "onBeforeRender",
606
- value: function onBeforeRender(force, skipRender) {
613
+ key: "onBeforeViewRender",
614
+ value: function onBeforeViewRender(force, skipRender) {
607
615
  var priv = privatePool.get(this);
608
616
 
609
617
  if (priv.skipRender) {
@@ -629,6 +637,12 @@ var NestedRows = /*#__PURE__*/function (_BasePlugin) {
629
637
  }, {
630
638
  key: "onBeforeLoadData",
631
639
  value: function onBeforeLoadData(data) {
640
+ if (!(0, _data.isArrayOfObjects)(data)) {
641
+ (0, _console.error)(WRONG_DATA_TYPE_ERROR);
642
+ this.disablePlugin();
643
+ return;
644
+ }
645
+
632
646
  this.dataManager.setData(data);
633
647
  this.dataManager.rewriteCache();
634
648
  }