handsontable 9.0.1 → 11.0.1

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 (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
package/pluginHooks.mjs CHANGED
@@ -24,6 +24,7 @@ import { objectEach } from "./helpers/object.mjs";
24
24
  import { substitute } from "./helpers/string.mjs";
25
25
  import { warn } from "./helpers/console.mjs";
26
26
  import { toSingleLine } from "./helpers/templateLiteralTag.mjs";
27
+ import { fastCall } from "./helpers/function.mjs";
27
28
  /**
28
29
  * @description
29
30
  * Handsontable events are the common interface that function in 2 ways: as __callbacks__ and as __hooks__.
@@ -87,7 +88,7 @@ var REGISTERED_HOOKS = [
87
88
  *
88
89
  * @event Hooks#afterChange
89
90
  * @param {Array} changes 2D array containing information about each of the edited cells `[[row, prop, oldVal, newVal], ...]`.
90
- * @param {string} [source] String that identifies source of hook call ([list of all available sources]{@link https://handsontable.com/docs/tutorial-using-callbacks.html#page-source-definition}).
91
+ * @param {string} [source] String that identifies source of hook call ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
91
92
  * @example
92
93
  * ```js
93
94
  * new Handsontable(element, {
@@ -177,7 +178,7 @@ var REGISTERED_HOOKS = [
177
178
  * @param {number} index Represents the visual index of first newly created column in the data source array.
178
179
  * @param {number} amount Number of newly created columns in the data source array.
179
180
  * @param {string} [source] String that identifies source of hook call
180
- * ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
181
+ * ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
181
182
  * @returns {*} If `false` then creating columns is cancelled.
182
183
  * @example
183
184
  * ```js
@@ -197,7 +198,7 @@ var REGISTERED_HOOKS = [
197
198
  * @param {number} index Represents the visual index of first newly created column in the data source.
198
199
  * @param {number} amount Number of newly created columns in the data source.
199
200
  * @param {string} [source] String that identifies source of hook call
200
- * ([list of all available sources]{@link https://handsontable.com/docs/tutorial-using-callbacks.html#page-source-definition}).
201
+ * ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
201
202
  */
202
203
  'afterCreateCol',
203
204
  /**
@@ -207,7 +208,7 @@ var REGISTERED_HOOKS = [
207
208
  * @param {number} index Represents the visual index of first newly created row in the data source array.
208
209
  * @param {number} amount Number of newly created rows in the data source array.
209
210
  * @param {string} [source] String that identifies source of hook call
210
- * ([list of all available sources]{@link https://handsontable.com/docs/tutorial-using-callbacks.html#page-source-definition}).
211
+ * ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
211
212
  * @returns {*|boolean} If false is returned the action is canceled.
212
213
  */
213
214
  'beforeCreateRow',
@@ -218,7 +219,7 @@ var REGISTERED_HOOKS = [
218
219
  * @param {number} index Represents the visual index of first newly created row in the data source array.
219
220
  * @param {number} amount Number of newly created rows in the data source array.
220
221
  * @param {string} [source] String that identifies source of hook call
221
- * ([list of all available sources]{@link https://handsontable.com/docs/tutorial-using-callbacks.html#page-source-definition}).
222
+ * ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
222
223
  */
223
224
  'afterCreateRow',
224
225
  /**
@@ -389,7 +390,8 @@ var REGISTERED_HOOKS = [
389
390
  * @param {number} index Visual index of starter column.
390
391
  * @param {number} amount An amount of removed columns.
391
392
  * @param {number[]} physicalColumns An array of physical columns removed from the data source.
392
- * @param {string} [source] String that identifies source of hook call ([list of all available sources]{@link https://handsontable.com/docs/tutorial-using-callbacks.html#page-source-definition}).
393
+ * @param {string} [source] String that identifies source of hook call
394
+ * ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
393
395
  */
394
396
  'afterRemoveCol',
395
397
  /**
@@ -399,17 +401,10 @@ var REGISTERED_HOOKS = [
399
401
  * @param {number} index Visual index of starter row.
400
402
  * @param {number} amount An amount of removed rows.
401
403
  * @param {number[]} physicalRows An array of physical rows removed from the data source.
402
- * @param {string} [source] String that identifies source of hook call ([list of all available sources]{@link https://handsontable.com/docs/tutorial-using-callbacks.html#page-source-definition}).
404
+ * @param {string} [source] String that identifies source of hook call
405
+ * ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
403
406
  */
404
407
  'afterRemoveRow',
405
- /**
406
- * Fired after the Handsontable table is rendered.
407
- *
408
- * @event Hooks#afterRender
409
- * @param {boolean} isForced Is `true` if rendering was triggered by a change of settings or data; or `false` if
410
- * rendering was triggered by scrolling or moving selection.
411
- */
412
- 'afterRender',
413
408
  /**
414
409
  * Fired before starting rendering the cell.
415
410
  *
@@ -454,13 +449,19 @@ var REGISTERED_HOOKS = [
454
449
  * @param {number} column Selection start visual column index.
455
450
  * @param {number} row2 Selection end visual row index.
456
451
  * @param {number} column2 Selection end visual column index.
452
+ * @param {object} preventScrolling A reference to the observable object with the `value` property.
453
+ * Property `preventScrolling.value` expects a boolean value that
454
+ * Handsontable uses to control scroll behavior after selection.
457
455
  * @param {object} preventScrolling Object with `value` property where its value change will be observed.
458
456
  * @param {number} selectionLayerLevel The number which indicates what selection layer is currently modified.
459
457
  * @example
460
458
  * ```js
461
459
  * new Handsontable(element, {
462
460
  * afterSelection: (row, column, row2, column2, preventScrolling, selectionLayerLevel) => {
463
- * // setting if prevent scrolling after selection
461
+ * // If set to `false` (default): when cell selection is outside the viewport,
462
+ * // Handsontable scrolls the viewport to cell selection's end corner.
463
+ * // If set to `true`: when cell selection is outside the viewport,
464
+ * // Handsontable doesn't scroll to cell selection's end corner.
464
465
  * preventScrolling.value = true;
465
466
  * }
466
467
  * })
@@ -540,7 +541,7 @@ var REGISTERED_HOOKS = [
540
541
  * @event Hooks#afterSetDataAtCell
541
542
  * @param {Array} changes An array of changes in format `[[row, column, oldValue, value], ...]`.
542
543
  * @param {string} [source] String that identifies source of hook call
543
- * ([list of all available sources]{@link https://handsontable.com/docs/tutorial-using-callbacks.html#page-source-definition}).
544
+ * ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
544
545
  */
545
546
  'afterSetDataAtCell',
546
547
  /**
@@ -550,7 +551,7 @@ var REGISTERED_HOOKS = [
550
551
  * @event Hooks#afterSetDataAtRowProp
551
552
  * @param {Array} changes An array of changes in format `[[row, prop, oldValue, value], ...]`.
552
553
  * @param {string} [source] String that identifies source of hook call
553
- * ([list of all available sources]{@link https://handsontable.com/docs/tutorial-using-callbacks.html#page-source-definition}).
554
+ * ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
554
555
  */
555
556
  'afterSetDataAtRowProp',
556
557
  /**
@@ -582,7 +583,7 @@ var REGISTERED_HOOKS = [
582
583
  * @param {number} row Visual row index.
583
584
  * @param {string|number} prop Property name / visual column index.
584
585
  * @param {string} [source] String that identifies source of hook call
585
- * ([list of all available sources]{@link https://handsontable.com/docs/tutorial-using-callbacks.html#page-source-definition}).
586
+ * ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
586
587
  * @returns {void | boolean} If `false` the cell will be marked as invalid, `true` otherwise.
587
588
  */
588
589
  'afterValidate',
@@ -655,7 +656,7 @@ var REGISTERED_HOOKS = [
655
656
  * @event Hooks#beforeChange
656
657
  * @param {Array[]} changes 2D array containing information about each of the edited cells.
657
658
  * @param {string} [source] String that identifies source of hook call
658
- * ([list of all available sources]{@link https://handsontable.com/docs/tutorial-using-callbacks.html#page-source-definition}).
659
+ * ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
659
660
  * @returns {void | boolean} If `false` all changes were cancelled, `true` otherwise.
660
661
  * @example
661
662
  * ```js
@@ -689,7 +690,7 @@ var REGISTERED_HOOKS = [
689
690
  * @event Hooks#beforeChangeRender
690
691
  * @param {Array[]} changes Array in form of `[row, prop, oldValue, newValue]`.
691
692
  * @param {string} [source] String that identifies source of hook call
692
- * ([list of all available sources]{@link https://handsontable.com/docs/tutorial-using-callbacks.html#page-source-definition}).
693
+ * ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
693
694
  */
694
695
  'beforeChangeRender',
695
696
  /**
@@ -761,8 +762,8 @@ var REGISTERED_HOOKS = [
761
762
  * @param {Event} event The `mousedown` event object.
762
763
  * @param {CellCoords} coords Cell coords object containing the visual coordinates of the clicked cell.
763
764
  * @param {HTMLTableCellElement} TD TD element.
764
- * @param {object} controller An object with keys `row`, `column` and `cells` which contains boolean values. This
765
- * object allows or disallows changing the selection for the particular axies.
765
+ * @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
766
+ * a boolean value that allows or disallows changing the selection for that particular area.
766
767
  */
767
768
  'beforeOnCellMouseDown',
768
769
  /**
@@ -791,8 +792,8 @@ var REGISTERED_HOOKS = [
791
792
  * @param {Event} event The `mouseover` event object.
792
793
  * @param {CellCoords} coords CellCoords object containing the visual coordinates of the clicked cell.
793
794
  * @param {HTMLTableCellElement} TD TD element.
794
- * @param {object} controller An object with keys `row`, `column` and `cells` which contains boolean values. This
795
- * object allows or disallows changing the selection for the particular axies.
795
+ * @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
796
+ * a boolean value that allows or disallows changing the selection for that particular area.
796
797
  */
797
798
  'beforeOnCellMouseOver',
798
799
  /**
@@ -811,7 +812,8 @@ var REGISTERED_HOOKS = [
811
812
  * @param {number} index Visual index of starter column.
812
813
  * @param {number} amount Amount of columns to be removed.
813
814
  * @param {number[]} physicalColumns An array of physical columns removed from the data source.
814
- * @param {string} [source] String that identifies source of hook call ([list of all available sources]{@link https://handsontable.com/docs/tutorial-using-callbacks.html#page-source-definition}).
815
+ * @param {string} [source] String that identifies source of hook call
816
+ * ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
815
817
  * @returns {*|boolean} If false is returned the action is canceled.
816
818
  */
817
819
  'beforeRemoveCol',
@@ -822,19 +824,63 @@ var REGISTERED_HOOKS = [
822
824
  * @param {number} index Visual index of starter row.
823
825
  * @param {number} amount Amount of rows to be removed.
824
826
  * @param {number[]} physicalRows An array of physical rows removed from the data source.
825
- * @param {string} [source] String that identifies source of hook call ([list of all available sources]{@link https://handsontable.com/docs/tutorial-using-callbacks.html#page-source-definition}).
827
+ * @param {string} [source] String that identifies source of hook call
828
+ * ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
826
829
  * @returns {*|boolean} If false is returned the action is canceled.
827
830
  */
828
831
  'beforeRemoveRow',
829
832
  /**
830
- * Fired before the Handsontable table is rendered.
833
+ * Fired before Handsontable's view-rendering engine is rendered.
831
834
  *
832
- * @event Hooks#beforeRender
833
- * @param {boolean} isForced If `true` rendering was triggered by a change of settings or data; or `false` if
834
- * rendering was triggered by scrolling or moving selection.
835
+ * __Note:__ In Handsontable 9.x and earlier, the `beforeViewRender` hook was named `beforeRender`.
836
+ *
837
+ * @event Hooks#beforeViewRender
838
+ * @since 10.0.0
839
+ * @param {boolean} isForced If set to `true`, the rendering gets triggered by a change of settings, a change of
840
+ * data, or a logic that needs a full Handsontable render cycle.
841
+ * If set to `false`, the rendering gets triggered by scrolling or moving the selection.
835
842
  * @param {object} skipRender Object with `skipRender` property, if it is set to `true ` the next rendering cycle will be skipped.
836
843
  */
844
+ 'beforeViewRender',
845
+ /**
846
+ * Fired after Handsontable's view-rendering engine is rendered,
847
+ * but before redrawing the selection borders and before scroll syncing.
848
+ *
849
+ * __Note:__ In Handsontable 9.x and earlier, the `afterViewRender` hook was named `afterRender`.
850
+ *
851
+ * @event Hooks#afterViewRender
852
+ * @since 10.0.0
853
+ * @param {boolean} isForced If set to `true`, the rendering gets triggered by a change of settings, a change of
854
+ * data, or a logic that needs a full Handsontable render cycle.
855
+ * If set to `false`, the rendering gets triggered by scrolling or moving the selection.
856
+ */
857
+ 'afterViewRender',
858
+ /* eslint-disable jsdoc/require-description-complete-sentence */
859
+
860
+ /**
861
+ * Fired before Handsontable's view-rendering engine updates the view.
862
+ *
863
+ * The `beforeRender` event is fired right after the Handsontable
864
+ * business logic is executed and right before the rendering engine starts calling
865
+ * the Core logic, renderers, cell meta objects etc. to update the view.
866
+ *
867
+ * @event Hooks#beforeRender
868
+ * @param {boolean} isForced If set to `true`, the rendering gets triggered by a change of settings, a change of
869
+ * data, or a logic that needs a full Handsontable render cycle.
870
+ * If set to `false`, the rendering gets triggered by scrolling or moving the selection.
871
+ */
872
+
873
+ /* eslint-enable jsdoc/require-description-complete-sentence */
837
874
  'beforeRender',
875
+ /**
876
+ * Fired after Handsontable's view-rendering engine updates the view.
877
+ *
878
+ * @event Hooks#afterRender
879
+ * @param {boolean} isForced If set to `true`, the rendering gets triggered by a change of settings, a change of
880
+ * data, or a logic that needs a full Handsontable render cycle.
881
+ * If set to `false`, the rendering gets triggered by scrolling or moving the selection.
882
+ */
883
+ 'afterRender',
838
884
  /**
839
885
  * Fired before cell meta is changed.
840
886
  *
@@ -885,7 +931,7 @@ var REGISTERED_HOOKS = [
885
931
  * @param {number} row Visual row index.
886
932
  * @param {string|number} prop Property name / column index.
887
933
  * @param {string} [source] String that identifies source of hook call
888
- * ([list of all available sources]{@link https://handsontable.com/docs/tutorial-using-callbacks.html#page-source-definition}).
934
+ * ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
889
935
  */
890
936
  'beforeValidate',
891
937
  /**
@@ -1199,20 +1245,34 @@ var REGISTERED_HOOKS = [
1199
1245
  *
1200
1246
  * @event Hooks#beforeColumnMove
1201
1247
  * @param {Array} movedColumns Array of visual column indexes to be moved.
1202
- * @param {number} finalIndex Visual column index, being a start index for the moved columns. Points to where the elements will be placed after the moving action. To check visualization of final index please take a look at [documentation](/docs/demo-moving.html).
1203
- * @param {number|undefined} dropIndex Visual column index, being a drop index for the moved columns. Points to where we are going to drop the moved elements. To check visualization of drop index please take a look at [documentation](/docs/demo-moving.html). It's `undefined` when `dragColumns` function wasn't called.
1248
+ * @param {number} finalIndex Visual column index, being a start index for the moved columns.
1249
+ * Points to where the elements will be placed after the moving action.
1250
+ * To check visualization of final index please take a look at
1251
+ * [documentation](@/guides/columns/column-moving.md).
1252
+ * @param {number|undefined} dropIndex Visual column index, being a drop index for the moved columns.
1253
+ * Points to where we are going to drop the moved elements. To check
1254
+ * visualization of drop index please take a look at
1255
+ * [documentation](@/guides/columns/column-moving.md).
1256
+ * It's `undefined` when `dragColumns` function wasn't called.
1204
1257
  * @param {boolean} movePossible Indicates if it's possible to move rows to the desired position.
1205
1258
  * @returns {void | boolean} If `false` the column will not be moved, `true` otherwise.
1206
1259
  */
1207
1260
  'beforeColumnMove',
1208
1261
  /**
1209
- * Fired by {@link ManualColumnMove} plugin after changing order of the visual indexes. This hook is fired when
1210
- * {@link Options#manualColumnMove} option is enabled.
1262
+ * Fired by {@link ManualColumnMove} plugin after changing order of the visual indexes.
1263
+ * This hook is fired when {@link Options#manualColumnMove} option is enabled.
1211
1264
  *
1212
1265
  * @event Hooks#afterColumnMove
1213
1266
  * @param {Array} movedColumns Array of visual column indexes to be moved.
1214
- * @param {number} finalIndex Visual column index, being a start index for the moved columns. Points to where the elements will be placed after the moving action. To check visualization of final index please take a look at [documentation](/docs/demo-moving.html).
1215
- * @param {number|undefined} dropIndex Visual column index, being a drop index for the moved columns. Points to where we are going to drop the moved elements. To check visualization of drop index please take a look at [documentation](/docs/demo-moving.html). It's `undefined` when `dragColumns` function wasn't called.
1267
+ * @param {number} finalIndex Visual column index, being a start index for the moved columns.
1268
+ * Points to where the elements will be placed after the moving action.
1269
+ * To check visualization of final index please take a look at
1270
+ * [documentation](@/guides/columns/column-moving.md).
1271
+ * @param {number|undefined} dropIndex Visual column index, being a drop index for the moved columns.
1272
+ * Points to where we are going to drop the moved elements.
1273
+ * To check visualization of drop index please take a look at
1274
+ * [documentation](@/guides/columns/column-moving.md).
1275
+ * It's `undefined` when `dragColumns` function wasn't called.
1216
1276
  * @param {boolean} movePossible Indicates if it was possible to move columns to the desired position.
1217
1277
  * @param {boolean} orderChanged Indicates if order of columns was changed by move.
1218
1278
  */
@@ -1223,20 +1283,34 @@ var REGISTERED_HOOKS = [
1223
1283
  *
1224
1284
  * @event Hooks#beforeRowMove
1225
1285
  * @param {Array} movedRows Array of visual row indexes to be moved.
1226
- * @param {number} finalIndex Visual row index, being a start index for the moved rows. Points to where the elements will be placed after the moving action. To check visualization of final index please take a look at [documentation](/docs/demo-moving.html).
1227
- * @param {number|undefined} dropIndex Visual row index, being a drop index for the moved rows. Points to where we are going to drop the moved elements. To check visualization of drop index please take a look at [documentation](/docs/demo-moving.html). It's `undefined` when `dragRows` function wasn't called.
1286
+ * @param {number} finalIndex Visual row index, being a start index for the moved rows.
1287
+ * Points to where the elements will be placed after the moving action.
1288
+ * To check visualization of final index please take a look at
1289
+ * [documentation](@/guides/rows/row-moving.md).
1290
+ * @param {number|undefined} dropIndex Visual row index, being a drop index for the moved rows.
1291
+ * Points to where we are going to drop the moved elements.
1292
+ * To check visualization of drop index please take a look at
1293
+ * [documentation](@/guides/rows/row-moving.md).
1294
+ * It's `undefined` when `dragRows` function wasn't called.
1228
1295
  * @param {boolean} movePossible Indicates if it's possible to move rows to the desired position.
1229
1296
  * @returns {*|boolean} If false is returned the action is canceled.
1230
1297
  */
1231
1298
  'beforeRowMove',
1232
1299
  /**
1233
- * Fired by {@link ManualRowMove} plugin after changing the order of the visual indexes. This hook is fired when
1234
- * {@link Options#manualRowMove} option is enabled.
1300
+ * Fired by {@link ManualRowMove} plugin after changing the order of the visual indexes.
1301
+ * This hook is fired when {@link Options#manualRowMove} option is enabled.
1235
1302
  *
1236
1303
  * @event Hooks#afterRowMove
1237
1304
  * @param {Array} movedRows Array of visual row indexes to be moved.
1238
- * @param {number} finalIndex Visual row index, being a start index for the moved rows. Points to where the elements will be placed after the moving action. To check visualization of final index please take a look at [documentation](/docs/demo-moving.html).
1239
- * @param {number|undefined} dropIndex Visual row index, being a drop index for the moved rows. Points to where we are going to drop the moved elements. To check visualization of drop index please take a look at [documentation](/docs/demo-moving.html). It's `undefined` when `dragRows` function wasn't called.
1305
+ * @param {number} finalIndex Visual row index, being a start index for the moved rows.
1306
+ * Points to where the elements will be placed after the moving action.
1307
+ * To check visualization of final index please take a look at
1308
+ * [documentation](@/guides/rows/row-moving.md).
1309
+ * @param {number|undefined} dropIndex Visual row index, being a drop index for the moved rows.
1310
+ * Points to where we are going to drop the moved elements.
1311
+ * To check visualization of drop index please take a look at
1312
+ * [documentation](@/guides/rows/row-moving.md).
1313
+ * It's `undefined` when `dragRows` function wasn't called.
1240
1314
  * @param {boolean} movePossible Indicates if it was possible to move rows to the desired position.
1241
1315
  * @param {boolean} orderChanged Indicates if order of rows was changed by move.
1242
1316
  */
@@ -1309,8 +1383,8 @@ var REGISTERED_HOOKS = [
1309
1383
  /* eslint-disable jsdoc/require-description-complete-sentence */
1310
1384
 
1311
1385
  /**
1312
- * Fired by {@link Filters} plugin before applying [filtering]{@link https://handsontable.com/docs/demo-filtering.html}. This hook is fired when
1313
- * {@link Options#filters} option is enabled.
1386
+ * Fired by {@link Filters} plugin before applying [filtering](@/guides/columns/column-filter.md).
1387
+ * This hook is fired when {@link Options#filters} option is enabled.
1314
1388
  *
1315
1389
  * @event Hooks#beforeFilter
1316
1390
  * @param {object[]} conditionsStack An array of objects with added formulas.
@@ -1341,8 +1415,8 @@ var REGISTERED_HOOKS = [
1341
1415
  /* eslint-disable jsdoc/require-description-complete-sentence */
1342
1416
 
1343
1417
  /**
1344
- * Fired by {@link Filters} plugin after applying [filtering]{@link https://handsontable.com/docs/demo-filtering.html}. This hook is fired when
1345
- * {@link Options#filters} option is enabled.
1418
+ * Fired by {@link Filters} plugin after applying [filtering](@/guides/columns/column-filter.md).
1419
+ * This hook is fired when {@link Options#filters} option is enabled.
1346
1420
  *
1347
1421
  * @event Hooks#afterFilter
1348
1422
  * @param {object[]} conditionsStack An array of objects with added conditions.
@@ -1443,7 +1517,8 @@ var REGISTERED_HOOKS = [
1443
1517
  * @event Hooks#beforeUndoStackChange
1444
1518
  * @since 8.4.0
1445
1519
  * @param {Array} doneActions Stack of actions which may be undone.
1446
- * @param {string} [source] String that identifies source of action ([list of all available sources]{@link https://handsontable.com/docs/tutorial-using-callbacks.html#page-source-definition}).
1520
+ * @param {string} [source] String that identifies source of action
1521
+ * ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
1447
1522
  * @returns {*|boolean} If false is returned the action of changing undo stack is canceled.
1448
1523
  */
1449
1524
  'beforeUndoStackChange',
@@ -1763,6 +1838,7 @@ var REGISTERED_HOOKS = [
1763
1838
  * @event Hooks#afterDetachChild
1764
1839
  * @param {object} parent An object representing the parent from which the element was detached.
1765
1840
  * @param {object} element The detached element.
1841
+ * @param {number} finalElementPosition The final row index of the detached element.
1766
1842
  */
1767
1843
  'afterDetachChild',
1768
1844
  /**
@@ -1888,7 +1964,7 @@ var REGISTERED_HOOKS = [
1888
1964
  */
1889
1965
  'afterColumnExpand',
1890
1966
  /**
1891
- * Fired by {@link AutoColumnSize} plugin within {@link SampleGenerator} utility.
1967
+ * Fired by {@link AutoColumnSize} plugin within SampleGenerator utility.
1892
1968
  *
1893
1969
  * @event Hooks#modifyAutoColumnSizeSeed
1894
1970
  * @since 8.4.0
@@ -2198,10 +2274,9 @@ var Hooks = /*#__PURE__*/function () {
2198
2274
  /* eslint-disable no-continue */
2199
2275
 
2200
2276
  continue;
2201
- } // performance considerations - http://jsperf.com/call-vs-apply-for-a-plugin-architecture
2202
-
2277
+ }
2203
2278
 
2204
- var res = globalHandlers[index].call(context, p1, p2, p3, p4, p5, p6);
2279
+ var res = fastCall(globalHandlers[index], context, p1, p2, p3, p4, p5, p6);
2205
2280
 
2206
2281
  if (res !== void 0) {
2207
2282
  // eslint-disable-next-line no-param-reassign
@@ -2231,10 +2306,9 @@ var Hooks = /*#__PURE__*/function () {
2231
2306
  /* eslint-disable no-continue */
2232
2307
 
2233
2308
  continue;
2234
- } // performance considerations - http://jsperf.com/call-vs-apply-for-a-plugin-architecture
2235
-
2309
+ }
2236
2310
 
2237
- var _res = localHandlers[_index].call(context, p1, p2, p3, p4, p5, p6);
2311
+ var _res = fastCall(localHandlers[_index], context, p1, p2, p3, p4, p5, p6);
2238
2312
 
2239
2313
  if (_res !== void 0) {
2240
2314
  // eslint-disable-next-line no-param-reassign
@@ -2277,7 +2351,7 @@ var Hooks = /*#__PURE__*/function () {
2277
2351
  /**
2278
2352
  * Registers a hook name (adds it to the list of the known hook names). Used by plugins.
2279
2353
  * It is not necessary to call register, but if you use it, your plugin hook will be used returned by
2280
- * the `getRegistered` method. (which itself is used in the demo https://handsontable.com/docs/tutorial-using-callbacks.html).
2354
+ * the `getRegistered` method. (which itself is used in the [demo](@/guides/getting-started/events-and-hooks.md)).
2281
2355
  *
2282
2356
  * @param {string} key The hook name.
2283
2357
  *
@@ -0,0 +1,27 @@
1
+ import Core from '../../core';
2
+ import { BasePlugin } from '../base';
3
+
4
+ export interface DetailedSettings {
5
+ syncLimit?: string | number;
6
+ useHeaders?: boolean;
7
+ }
8
+
9
+ export type Settings = boolean | DetailedSettings;
10
+
11
+ export class AutoColumnSize extends BasePlugin {
12
+ constructor(hotInstance: Core);
13
+ inProgress: boolean;
14
+ measuredColumns: number;
15
+
16
+ isEnabled(): boolean;
17
+ calculateVisibleColumnsWidth(): void;
18
+ calculateColumnsWidth(colRange?: number | object, rowRange?: number | object, force?: boolean): void;
19
+ calculateAllColumnsWidth(rowRange?: number | object): void;
20
+ recalculateAllColumnsWidth(): void;
21
+ getSyncCalculationLimit(): number;
22
+ getColumnWidth(column: number, defaultWidth?: number, keepMinimum?: boolean): number;
23
+ getFirstVisibleColumn(): number;
24
+ getLastVisibleColumn(): number;
25
+ clearCache(columns?: number[]): void;
26
+ isNeedRecalculate(): boolean;
27
+ }
@@ -20,8 +20,10 @@ require("core-js/modules/es.symbol.iterator.js");
20
20
 
21
21
  require("core-js/modules/es.function.name.js");
22
22
 
23
+ require("core-js/modules/es.regexp.exec.js");
24
+
23
25
  exports.__esModule = true;
24
- exports.AutoColumnSize = exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = void 0;
26
+ exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.AutoColumnSize = void 0;
25
27
 
26
28
  require("core-js/modules/es.array.iterator.js");
27
29
 
@@ -75,7 +77,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
75
77
 
76
78
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
77
79
 
78
- function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
80
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
79
81
 
80
82
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
81
83
 
@@ -85,7 +87,7 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
85
87
 
86
88
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
87
89
 
88
- 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); }
90
+ 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); }
89
91
 
90
92
  function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
91
93
 
@@ -95,7 +97,7 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || func
95
97
 
96
98
  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); }; }
97
99
 
98
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
100
+ 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); }
99
101
 
100
102
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
101
103
 
@@ -130,6 +132,7 @@ var COLUMN_SIZE_MAP_NAME = 'autoColumnSize';
130
132
  * operations don't block the browser UI.
131
133
  *
132
134
  * To configure the sync/async distribution, you can pass an absolute value (number of columns) or a percentage value to a config object:
135
+ *
133
136
  * ```js
134
137
  * // as a number (300 columns in sync, rest async)
135
138
  * autoColumnSize: {syncLimit: 300},.
@@ -144,13 +147,16 @@ var COLUMN_SIZE_MAP_NAME = 'autoColumnSize';
144
147
  *
145
148
  * Sampling accepts additional options:
146
149
  * - *samplingRatio* - Defines how many samples for the same length will be used to calculate. Default is `3`.
147
- * ```js
150
+ *
151
+ * ```js
148
152
  * autoColumnSize: {
149
153
  * samplingRatio: 10,
150
154
  * }
151
- * ```
155
+ * ```
156
+ *
152
157
  * - *allowSampleDuplicates* - Defines if duplicated values might be used in sampling. Default is `false`.
153
- * ```js
158
+ *
159
+ * ```js
154
160
  * autoColumnSize: {
155
161
  * allowSampleDuplicates: true,
156
162
  * }
@@ -159,6 +165,7 @@ var COLUMN_SIZE_MAP_NAME = 'autoColumnSize';
159
165
  * To configure this plugin see {@link Options#autoColumnSize}.
160
166
  *
161
167
  * @example
168
+ *
162
169
  * ```js
163
170
  * const hot = new Handsontable(document.getElementById('example'), {
164
171
  * data: getData(),
@@ -277,7 +284,7 @@ var AutoColumnSize = /*#__PURE__*/function (_BasePlugin) {
277
284
  }
278
285
  /**
279
286
  * Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
280
- * hook and if it returns `true` than the {@link AutoColumnSize#enablePlugin} method is called.
287
+ * hook and if it returns `true` than the {@link #enablePlugin} method is called.
281
288
  *
282
289
  * @returns {boolean}
283
290
  */
@@ -317,8 +324,8 @@ var AutoColumnSize = /*#__PURE__*/function (_BasePlugin) {
317
324
  this.addHook('afterFormulasValuesUpdate', function (changes) {
318
325
  return _this2.onAfterFormulasValuesUpdate(changes);
319
326
  });
320
- this.addHook('beforeRender', function (force) {
321
- return _this2.onBeforeRender(force);
327
+ this.addHook('beforeViewRender', function (force) {
328
+ return _this2.onBeforeViewRender(force);
322
329
  });
323
330
  this.addHook('modifyColWidth', function (width, col) {
324
331
  return _this2.getColumnWidth(col, width);
@@ -734,14 +741,14 @@ var AutoColumnSize = /*#__PURE__*/function (_BasePlugin) {
734
741
  }).length;
735
742
  }
736
743
  /**
737
- * On before render listener.
744
+ * On before view render listener.
738
745
  *
739
746
  * @private
740
747
  */
741
748
 
742
749
  }, {
743
- key: "onBeforeRender",
744
- value: function onBeforeRender() {
750
+ key: "onBeforeViewRender",
751
+ value: function onBeforeViewRender() {
745
752
  this.calculateVisibleColumnsWidth();
746
753
 
747
754
  if (this.isNeedRecalculate() && !this.inProgress) {