handsontable 9.0.2 → 11.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (895) hide show
  1. package/3rdparty/autoResize/autoResize.js +2 -0
  2. package/3rdparty/autoResize/autoResize.mjs +1 -0
  3. package/3rdparty/walkontable/src/border.js +3 -1
  4. package/3rdparty/walkontable/src/border.mjs +2 -1
  5. package/3rdparty/walkontable/src/calculator/constants.js +1 -1
  6. package/3rdparty/walkontable/src/calculator/index.js +2 -0
  7. package/3rdparty/walkontable/src/calculator/viewportColumns.d.ts +18 -0
  8. package/3rdparty/walkontable/src/calculator/viewportColumns.js +1 -1
  9. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +1 -1
  10. package/3rdparty/walkontable/src/calculator/viewportRows.js +1 -1
  11. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +1 -1
  12. package/3rdparty/walkontable/src/cell/coords.d.ts +16 -0
  13. package/3rdparty/walkontable/src/cell/coords.js +1 -1
  14. package/3rdparty/walkontable/src/cell/coords.mjs +1 -1
  15. package/3rdparty/walkontable/src/cell/range.d.ts +51 -0
  16. package/3rdparty/walkontable/src/cell/range.js +1 -1
  17. package/3rdparty/walkontable/src/cell/range.mjs +1 -1
  18. package/3rdparty/walkontable/src/core.js +1 -1
  19. package/3rdparty/walkontable/src/core.mjs +1 -1
  20. package/3rdparty/walkontable/src/event.js +1 -1
  21. package/3rdparty/walkontable/src/event.mjs +1 -1
  22. package/3rdparty/walkontable/src/filter/column.js +1 -1
  23. package/3rdparty/walkontable/src/filter/column.mjs +1 -1
  24. package/3rdparty/walkontable/src/filter/row.js +1 -1
  25. package/3rdparty/walkontable/src/filter/row.mjs +1 -1
  26. package/3rdparty/walkontable/src/index.d.ts +1 -0
  27. package/3rdparty/walkontable/src/index.js +1 -1
  28. package/3rdparty/walkontable/src/overlay/_base.js +1 -1
  29. package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
  30. package/3rdparty/walkontable/src/overlay/bottom.js +6 -6
  31. package/3rdparty/walkontable/src/overlay/bottom.mjs +5 -5
  32. package/3rdparty/walkontable/src/overlay/bottomLeftCorner.js +6 -6
  33. package/3rdparty/walkontable/src/overlay/bottomLeftCorner.mjs +5 -5
  34. package/3rdparty/walkontable/src/overlay/constants.js +1 -1
  35. package/3rdparty/walkontable/src/overlay/index.js +2 -0
  36. package/3rdparty/walkontable/src/overlay/left.js +6 -6
  37. package/3rdparty/walkontable/src/overlay/left.mjs +5 -5
  38. package/3rdparty/walkontable/src/overlay/registerer.js +1 -1
  39. package/3rdparty/walkontable/src/overlay/top.js +6 -17
  40. package/3rdparty/walkontable/src/overlay/top.mjs +5 -16
  41. package/3rdparty/walkontable/src/overlay/topLeftCorner.js +6 -6
  42. package/3rdparty/walkontable/src/overlay/topLeftCorner.mjs +5 -5
  43. package/3rdparty/walkontable/src/overlays.js +3 -1
  44. package/3rdparty/walkontable/src/overlays.mjs +2 -1
  45. package/3rdparty/walkontable/src/renderer/_base.js +1 -1
  46. package/3rdparty/walkontable/src/renderer/_base.mjs +1 -1
  47. package/3rdparty/walkontable/src/renderer/cells.js +4 -4
  48. package/3rdparty/walkontable/src/renderer/cells.mjs +4 -4
  49. package/3rdparty/walkontable/src/renderer/colGroup.js +6 -6
  50. package/3rdparty/walkontable/src/renderer/colGroup.mjs +5 -5
  51. package/3rdparty/walkontable/src/renderer/columnHeaders.js +6 -6
  52. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +5 -5
  53. package/3rdparty/walkontable/src/renderer/index.js +1 -1
  54. package/3rdparty/walkontable/src/renderer/index.mjs +1 -1
  55. package/3rdparty/walkontable/src/renderer/rowHeaders.js +4 -4
  56. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +4 -4
  57. package/3rdparty/walkontable/src/renderer/rows.js +6 -6
  58. package/3rdparty/walkontable/src/renderer/rows.mjs +5 -5
  59. package/3rdparty/walkontable/src/renderer/table.js +1 -1
  60. package/3rdparty/walkontable/src/renderer/table.mjs +1 -1
  61. package/3rdparty/walkontable/src/scroll.js +1 -1
  62. package/3rdparty/walkontable/src/scroll.mjs +1 -1
  63. package/3rdparty/walkontable/src/selection.js +6 -4
  64. package/3rdparty/walkontable/src/selection.mjs +4 -3
  65. package/3rdparty/walkontable/src/settings.js +1 -1
  66. package/3rdparty/walkontable/src/settings.mjs +1 -1
  67. package/3rdparty/walkontable/src/table/bottom.js +10 -6
  68. package/3rdparty/walkontable/src/table/bottom.mjs +9 -5
  69. package/3rdparty/walkontable/src/table/bottomLeftCorner.js +10 -6
  70. package/3rdparty/walkontable/src/table/bottomLeftCorner.mjs +9 -5
  71. package/3rdparty/walkontable/src/table/left.js +10 -6
  72. package/3rdparty/walkontable/src/table/left.mjs +9 -5
  73. package/3rdparty/walkontable/src/table/master.js +6 -6
  74. package/3rdparty/walkontable/src/table/master.mjs +5 -5
  75. package/3rdparty/walkontable/src/table/top.js +10 -6
  76. package/3rdparty/walkontable/src/table/top.mjs +9 -5
  77. package/3rdparty/walkontable/src/table/topLeftCorner.js +10 -6
  78. package/3rdparty/walkontable/src/table/topLeftCorner.mjs +9 -5
  79. package/3rdparty/walkontable/src/table.js +5 -3
  80. package/3rdparty/walkontable/src/table.mjs +3 -2
  81. package/3rdparty/walkontable/src/utils/column.js +2 -2
  82. package/3rdparty/walkontable/src/utils/column.mjs +2 -2
  83. package/3rdparty/walkontable/src/utils/nodesPool.js +1 -1
  84. package/3rdparty/walkontable/src/utils/nodesPool.mjs +1 -1
  85. package/3rdparty/walkontable/src/utils/orderView/constants.js +1 -1
  86. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +6 -6
  87. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +5 -5
  88. package/3rdparty/walkontable/src/utils/orderView/view.js +1 -1
  89. package/3rdparty/walkontable/src/utils/orderView/view.mjs +1 -1
  90. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +1 -1
  91. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +1 -1
  92. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +1 -1
  93. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +1 -1
  94. package/3rdparty/walkontable/src/utils/row.js +1 -1
  95. package/3rdparty/walkontable/src/utils/row.mjs +1 -1
  96. package/3rdparty/walkontable/src/viewport.js +1 -1
  97. package/3rdparty/walkontable/src/viewport.mjs +1 -1
  98. package/CHANGELOG.md +92 -7
  99. package/LICENSE.txt +19 -22
  100. package/README.md +13 -8
  101. package/base.d.ts +1 -1
  102. package/base.js +16 -3
  103. package/base.mjs +14 -4
  104. package/cellTypes/autocompleteType/autocompleteType.d.ts +17 -0
  105. package/cellTypes/autocompleteType/autocompleteType.js +1 -1
  106. package/cellTypes/autocompleteType/index.d.ts +1 -0
  107. package/cellTypes/base.d.ts +14 -0
  108. package/cellTypes/checkboxType/checkboxType.d.ts +14 -0
  109. package/cellTypes/checkboxType/index.d.ts +1 -0
  110. package/cellTypes/dateType/dateType.d.ts +17 -0
  111. package/cellTypes/dateType/index.d.ts +1 -0
  112. package/cellTypes/dropdownType/dropdownType.d.ts +17 -0
  113. package/cellTypes/dropdownType/index.d.ts +1 -0
  114. package/cellTypes/handsontableType/handsontableType.d.ts +14 -0
  115. package/cellTypes/handsontableType/index.d.ts +1 -0
  116. package/cellTypes/index.d.ts +47 -0
  117. package/cellTypes/index.js +18 -2
  118. package/cellTypes/index.mjs +26 -9
  119. package/cellTypes/numericType/index.d.ts +1 -0
  120. package/cellTypes/numericType/numericType.d.ts +17 -0
  121. package/cellTypes/passwordType/index.d.ts +1 -0
  122. package/cellTypes/passwordType/passwordType.d.ts +14 -0
  123. package/cellTypes/registry.d.ts +18 -0
  124. package/cellTypes/registry.js +2 -2
  125. package/cellTypes/textType/index.d.ts +1 -0
  126. package/cellTypes/textType/textType.d.ts +14 -0
  127. package/cellTypes/timeType/index.d.ts +1 -0
  128. package/cellTypes/timeType/timeType.d.ts +17 -0
  129. package/common.d.ts +74 -0
  130. package/core.d.ts +160 -0
  131. package/core.js +244 -189
  132. package/core.mjs +243 -190
  133. package/{dataMap.js → dataMap/dataMap.js} +39 -37
  134. package/{dataMap.mjs → dataMap/dataMap.mjs} +39 -37
  135. package/dataMap/index.js +9 -1
  136. package/dataMap/index.mjs +4 -2
  137. package/dataMap/metaManager/index.js +55 -7
  138. package/dataMap/metaManager/index.mjs +52 -7
  139. package/dataMap/metaManager/lazyFactoryMap.js +4 -4
  140. package/dataMap/metaManager/lazyFactoryMap.mjs +4 -4
  141. package/dataMap/metaManager/metaLayers/cellMeta.js +3 -1
  142. package/dataMap/metaManager/metaLayers/cellMeta.mjs +2 -1
  143. package/dataMap/metaManager/metaLayers/columnMeta.js +1 -1
  144. package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -1
  145. package/dataMap/metaManager/metaLayers/globalMeta.js +5 -4
  146. package/dataMap/metaManager/metaLayers/globalMeta.mjs +5 -4
  147. package/dataMap/metaManager/metaLayers/tableMeta.js +1 -1
  148. package/dataMap/metaManager/metaLayers/tableMeta.mjs +1 -1
  149. package/dataMap/metaManager/metaSchema.js +3213 -1712
  150. package/dataMap/metaManager/metaSchema.mjs +3213 -1712
  151. package/dataMap/metaManager/mods/dynamicCellMeta.js +136 -0
  152. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +119 -0
  153. package/dataMap/metaManager/utils.js +3 -3
  154. package/dataMap/replaceData.js +154 -0
  155. package/dataMap/replaceData.mjs +138 -0
  156. package/dataSource.js +3 -1
  157. package/dataSource.mjs +2 -1
  158. package/dist/README.md +2 -2
  159. package/dist/handsontable.css +508 -420
  160. package/dist/handsontable.full.css +621 -530
  161. package/dist/handsontable.full.js +54025 -48518
  162. package/dist/handsontable.full.min.css +27 -35
  163. package/dist/handsontable.full.min.js +181 -164
  164. package/dist/handsontable.js +37028 -33780
  165. package/dist/handsontable.min.css +27 -33
  166. package/dist/handsontable.min.js +22 -25
  167. package/dist/languages/all.js +2 -4
  168. package/dist/languages/all.min.js +1 -1
  169. package/dist/languages/de-CH.js +2 -4
  170. package/dist/languages/de-CH.min.js +1 -1
  171. package/dist/languages/de-DE.js +2 -4
  172. package/dist/languages/de-DE.min.js +1 -1
  173. package/dist/languages/en-US.js +2 -4
  174. package/dist/languages/en-US.min.js +1 -1
  175. package/dist/languages/es-MX.js +2 -4
  176. package/dist/languages/es-MX.min.js +1 -1
  177. package/dist/languages/fr-FR.js +2 -4
  178. package/dist/languages/fr-FR.min.js +1 -1
  179. package/dist/languages/it-IT.js +2 -4
  180. package/dist/languages/it-IT.min.js +1 -1
  181. package/dist/languages/ja-JP.js +2 -4
  182. package/dist/languages/ja-JP.min.js +1 -1
  183. package/dist/languages/ko-KR.js +2 -4
  184. package/dist/languages/ko-KR.min.js +1 -1
  185. package/dist/languages/lv-LV.js +2 -4
  186. package/dist/languages/lv-LV.min.js +1 -1
  187. package/dist/languages/nb-NO.js +2 -4
  188. package/dist/languages/nb-NO.min.js +1 -1
  189. package/dist/languages/nl-NL.js +2 -4
  190. package/dist/languages/nl-NL.min.js +1 -1
  191. package/dist/languages/pl-PL.js +2 -4
  192. package/dist/languages/pl-PL.min.js +1 -1
  193. package/dist/languages/pt-BR.js +2 -4
  194. package/dist/languages/pt-BR.min.js +1 -1
  195. package/dist/languages/ru-RU.js +2 -4
  196. package/dist/languages/ru-RU.min.js +1 -1
  197. package/dist/languages/zh-CN.js +2 -4
  198. package/dist/languages/zh-CN.min.js +1 -1
  199. package/dist/languages/zh-TW.js +2 -4
  200. package/dist/languages/zh-TW.min.js +1 -1
  201. package/editorManager.js +9 -7
  202. package/editorManager.mjs +8 -7
  203. package/editors/autocompleteEditor/autocompleteEditor.d.ts +29 -0
  204. package/editors/autocompleteEditor/autocompleteEditor.js +99 -91
  205. package/editors/autocompleteEditor/autocompleteEditor.mjs +97 -88
  206. package/editors/autocompleteEditor/index.d.ts +1 -0
  207. package/editors/autocompleteEditor/index.js +1 -1
  208. package/editors/baseEditor/baseEditor.d.ts +45 -0
  209. package/editors/baseEditor/baseEditor.js +11 -10
  210. package/editors/baseEditor/baseEditor.mjs +8 -8
  211. package/editors/baseEditor/index.d.ts +1 -0
  212. package/editors/baseEditor/index.js +1 -1
  213. package/editors/checkboxEditor/checkboxEditor.d.ts +12 -0
  214. package/editors/checkboxEditor/checkboxEditor.js +7 -7
  215. package/editors/checkboxEditor/checkboxEditor.mjs +5 -5
  216. package/editors/checkboxEditor/index.d.ts +1 -0
  217. package/editors/checkboxEditor/index.js +1 -1
  218. package/editors/dateEditor/dateEditor.d.ts +18 -0
  219. package/editors/dateEditor/dateEditor.js +21 -21
  220. package/editors/dateEditor/dateEditor.mjs +19 -19
  221. package/editors/dateEditor/index.d.ts +1 -0
  222. package/editors/dateEditor/index.js +1 -1
  223. package/editors/dropdownEditor/dropdownEditor.d.ts +7 -0
  224. package/editors/dropdownEditor/dropdownEditor.js +8 -8
  225. package/editors/dropdownEditor/dropdownEditor.mjs +6 -6
  226. package/editors/dropdownEditor/index.d.ts +1 -0
  227. package/editors/dropdownEditor/index.js +1 -1
  228. package/editors/handsontableEditor/handsontableEditor.d.ts +10 -0
  229. package/editors/handsontableEditor/handsontableEditor.js +7 -7
  230. package/editors/handsontableEditor/handsontableEditor.mjs +6 -6
  231. package/editors/handsontableEditor/index.d.ts +1 -0
  232. package/editors/index.d.ts +53 -0
  233. package/editors/index.js +19 -2
  234. package/editors/index.mjs +28 -10
  235. package/editors/numericEditor/index.d.ts +1 -0
  236. package/editors/numericEditor/numericEditor.d.ts +7 -0
  237. package/editors/numericEditor/numericEditor.js +6 -6
  238. package/editors/numericEditor/numericEditor.mjs +5 -5
  239. package/editors/passwordEditor/index.d.ts +1 -0
  240. package/editors/passwordEditor/passwordEditor.d.ts +7 -0
  241. package/editors/passwordEditor/passwordEditor.js +7 -7
  242. package/editors/passwordEditor/passwordEditor.mjs +6 -6
  243. package/editors/registry.d.ts +29 -0
  244. package/editors/registry.js +2 -2
  245. package/editors/selectEditor/index.d.ts +1 -0
  246. package/editors/selectEditor/selectEditor.d.ts +16 -0
  247. package/editors/selectEditor/selectEditor.js +7 -7
  248. package/editors/selectEditor/selectEditor.mjs +6 -6
  249. package/editors/textEditor/index.d.ts +1 -0
  250. package/editors/textEditor/textEditor.d.ts +24 -0
  251. package/editors/textEditor/textEditor.js +7 -7
  252. package/editors/textEditor/textEditor.mjs +6 -6
  253. package/eventManager.d.ts +13 -0
  254. package/eventManager.js +8 -4
  255. package/eventManager.mjs +7 -3
  256. package/handsontable-non-commercial-license.pdf +0 -0
  257. package/helpers/array.d.ts +18 -0
  258. package/helpers/array.js +10 -10
  259. package/helpers/array.mjs +1 -1
  260. package/helpers/browser.d.ts +25 -0
  261. package/helpers/browser.js +11 -9
  262. package/helpers/browser.mjs +1 -0
  263. package/helpers/console.d.ts +4 -0
  264. package/helpers/console.js +2 -2
  265. package/helpers/data.d.ts +13 -0
  266. package/helpers/data.js +8 -36
  267. package/helpers/data.mjs +2 -28
  268. package/helpers/date.d.ts +1 -0
  269. package/helpers/dom/element.d.ts +49 -0
  270. package/helpers/dom/element.js +45 -46
  271. package/helpers/dom/element.mjs +8 -9
  272. package/helpers/dom/event.d.ts +4 -0
  273. package/helpers/dom/event.js +2 -2
  274. package/helpers/dom/index.d.ts +2 -0
  275. package/helpers/feature.d.ts +11 -0
  276. package/helpers/feature.js +7 -7
  277. package/helpers/feature.mjs +1 -1
  278. package/helpers/function.d.ts +10 -0
  279. package/helpers/function.js +43 -5
  280. package/helpers/function.mjs +35 -0
  281. package/helpers/index.d.ts +14 -0
  282. package/helpers/mixed.d.ts +5 -0
  283. package/helpers/mixed.js +6 -6
  284. package/helpers/mixed.mjs +3 -3
  285. package/helpers/number.d.ts +5 -0
  286. package/helpers/number.js +98 -19
  287. package/helpers/number.mjs +87 -19
  288. package/helpers/object.d.ts +16 -0
  289. package/helpers/object.js +12 -12
  290. package/helpers/object.mjs +1 -1
  291. package/helpers/string.d.ts +7 -0
  292. package/helpers/string.js +4 -4
  293. package/helpers/templateLiteralTag.d.ts +1 -0
  294. package/helpers/unicode.d.ts +73 -0
  295. package/helpers/unicode.js +3 -3
  296. package/i18n/constants.js +1 -1
  297. package/i18n/index.d.ts +2 -0
  298. package/i18n/index.js +2 -0
  299. package/i18n/languages/de-CH.d.ts +5 -0
  300. package/i18n/languages/de-CH.js +1 -1
  301. package/i18n/languages/de-DE.d.ts +5 -0
  302. package/i18n/languages/de-DE.js +1 -1
  303. package/i18n/languages/en-US.d.ts +5 -0
  304. package/i18n/languages/en-US.js +1 -1
  305. package/i18n/languages/es-MX.d.ts +5 -0
  306. package/i18n/languages/es-MX.js +1 -1
  307. package/i18n/languages/fr-FR.d.ts +5 -0
  308. package/i18n/languages/fr-FR.js +1 -1
  309. package/i18n/languages/index.d.ts +35 -0
  310. package/i18n/languages/it-IT.d.ts +5 -0
  311. package/i18n/languages/it-IT.js +1 -1
  312. package/i18n/languages/ja-JP.d.ts +5 -0
  313. package/i18n/languages/ja-JP.js +1 -1
  314. package/i18n/languages/ko-KR.d.ts +5 -0
  315. package/i18n/languages/ko-KR.js +1 -1
  316. package/i18n/languages/lv-LV.d.ts +5 -0
  317. package/i18n/languages/lv-LV.js +1 -1
  318. package/i18n/languages/nb-NO.d.ts +5 -0
  319. package/i18n/languages/nb-NO.js +1 -1
  320. package/i18n/languages/nl-NL.d.ts +5 -0
  321. package/i18n/languages/nl-NL.js +1 -1
  322. package/i18n/languages/pl-PL.d.ts +5 -0
  323. package/i18n/languages/pl-PL.js +1 -1
  324. package/i18n/languages/pt-BR.d.ts +5 -0
  325. package/i18n/languages/pt-BR.js +1 -1
  326. package/i18n/languages/ru-RU.d.ts +5 -0
  327. package/i18n/languages/ru-RU.js +1 -1
  328. package/i18n/languages/zh-CN.d.ts +5 -0
  329. package/i18n/languages/zh-CN.js +1 -1
  330. package/i18n/languages/zh-TW.d.ts +5 -0
  331. package/i18n/languages/zh-TW.js +1 -1
  332. package/i18n/phraseFormatters/index.js +1 -1
  333. package/i18n/registry.d.ts +13 -0
  334. package/i18n/registry.js +5 -5
  335. package/i18n/utils.js +1 -1
  336. package/index.d.ts +516 -0
  337. package/index.js +41 -113
  338. package/index.mjs +17 -90
  339. package/languages/all.js +2 -4
  340. package/languages/de-CH.js +2 -4
  341. package/languages/de-DE.js +2 -4
  342. package/languages/en-US.js +2 -4
  343. package/languages/es-MX.js +2 -4
  344. package/languages/fr-FR.js +2 -4
  345. package/languages/index.js +2 -4
  346. package/languages/it-IT.js +2 -4
  347. package/languages/ja-JP.js +2 -4
  348. package/languages/ko-KR.js +2 -4
  349. package/languages/lv-LV.js +2 -4
  350. package/languages/nb-NO.js +2 -4
  351. package/languages/nl-NL.js +2 -4
  352. package/languages/pl-PL.js +2 -4
  353. package/languages/pt-BR.js +2 -4
  354. package/languages/ru-RU.js +2 -4
  355. package/languages/zh-CN.js +2 -4
  356. package/languages/zh-TW.js +2 -4
  357. package/mixins/localHooks.js +17 -14
  358. package/mixins/localHooks.mjs +16 -13
  359. package/package.json +106 -15
  360. package/pluginHooks.d.ts +257 -0
  361. package/pluginHooks.js +216 -141
  362. package/pluginHooks.mjs +215 -141
  363. package/plugins/autoColumnSize/autoColumnSize.d.ts +27 -0
  364. package/plugins/autoColumnSize/autoColumnSize.js +24 -22
  365. package/plugins/autoColumnSize/autoColumnSize.mjs +22 -21
  366. package/plugins/autoColumnSize/index.d.ts +1 -0
  367. package/plugins/autoColumnSize/index.js +1 -1
  368. package/plugins/autoRowSize/autoRowSize.d.ts +27 -0
  369. package/plugins/autoRowSize/autoRowSize.js +29 -21
  370. package/plugins/autoRowSize/autoRowSize.mjs +26 -19
  371. package/plugins/autoRowSize/index.d.ts +1 -0
  372. package/plugins/autoRowSize/index.js +1 -1
  373. package/plugins/autofill/autofill.d.ts +18 -0
  374. package/plugins/autofill/autofill.js +12 -21
  375. package/plugins/autofill/autofill.mjs +9 -18
  376. package/plugins/autofill/index.d.ts +1 -0
  377. package/plugins/autofill/index.js +1 -1
  378. package/plugins/autofill/utils.js +1 -1
  379. package/plugins/base/base.d.ts +21 -0
  380. package/plugins/base/base.js +2 -2
  381. package/plugins/base/base.mjs +1 -1
  382. package/plugins/base/index.d.ts +1 -0
  383. package/plugins/base/index.js +1 -1
  384. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.d.ts +9 -0
  385. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +6 -6
  386. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +5 -5
  387. package/plugins/bindRowsWithHeaders/index.d.ts +1 -0
  388. package/plugins/bindRowsWithHeaders/index.js +1 -1
  389. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +7 -7
  390. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +6 -6
  391. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +9 -7
  392. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +7 -6
  393. package/plugins/collapsibleColumns/collapsibleColumns.d.ts +22 -0
  394. package/plugins/collapsibleColumns/collapsibleColumns.js +34 -27
  395. package/plugins/collapsibleColumns/collapsibleColumns.mjs +32 -26
  396. package/plugins/collapsibleColumns/index.d.ts +1 -0
  397. package/plugins/collapsibleColumns/index.js +1 -1
  398. package/plugins/columnSorting/columnSorting.d.ts +30 -0
  399. package/plugins/columnSorting/columnSorting.js +21 -19
  400. package/plugins/columnSorting/columnSorting.mjs +18 -17
  401. package/plugins/columnSorting/columnStatesManager.js +6 -4
  402. package/plugins/columnSorting/columnStatesManager.mjs +5 -4
  403. package/plugins/columnSorting/index.d.ts +1 -0
  404. package/plugins/columnSorting/index.js +1 -1
  405. package/plugins/columnSorting/rootComparator.js +2 -0
  406. package/plugins/columnSorting/rootComparator.mjs +1 -0
  407. package/plugins/columnSorting/sortFunction/checkbox.js +1 -1
  408. package/plugins/columnSorting/sortFunction/date.js +1 -1
  409. package/plugins/columnSorting/sortFunction/default.js +4 -3
  410. package/plugins/columnSorting/sortFunction/default.mjs +3 -2
  411. package/plugins/columnSorting/sortFunction/numeric.js +1 -1
  412. package/plugins/columnSorting/sortService/engine.js +1 -1
  413. package/plugins/columnSorting/sortService/registry.js +1 -1
  414. package/plugins/columnSorting/utils.js +4 -4
  415. package/plugins/columnSorting/utils.mjs +1 -1
  416. package/plugins/columnSummary/columnSummary.d.ts +72 -0
  417. package/plugins/columnSummary/columnSummary.js +32 -14
  418. package/plugins/columnSummary/columnSummary.mjs +30 -12
  419. package/plugins/columnSummary/endpoints.js +7 -5
  420. package/plugins/columnSummary/endpoints.mjs +6 -5
  421. package/plugins/columnSummary/index.d.ts +1 -0
  422. package/plugins/columnSummary/index.js +1 -1
  423. package/plugins/comments/commentEditor.js +7 -3
  424. package/plugins/comments/commentEditor.mjs +7 -3
  425. package/plugins/comments/comments.d.ts +50 -0
  426. package/plugins/comments/comments.js +49 -88
  427. package/plugins/comments/comments.mjs +49 -87
  428. package/plugins/comments/displaySwitch.js +2 -2
  429. package/plugins/comments/displaySwitch.mjs +2 -2
  430. package/plugins/comments/index.d.ts +1 -0
  431. package/plugins/comments/index.js +1 -1
  432. package/plugins/contextMenu/commandExecutor.js +2 -2
  433. package/plugins/contextMenu/commandExecutor.mjs +2 -2
  434. package/plugins/contextMenu/contextMenu.d.ts +65 -0
  435. package/plugins/contextMenu/contextMenu.js +9 -8
  436. package/plugins/contextMenu/contextMenu.mjs +7 -6
  437. package/plugins/contextMenu/cursor.js +2 -2
  438. package/plugins/contextMenu/cursor.mjs +2 -2
  439. package/plugins/contextMenu/index.d.ts +1 -0
  440. package/plugins/contextMenu/index.js +1 -1
  441. package/plugins/contextMenu/itemsFactory.js +2 -2
  442. package/plugins/contextMenu/itemsFactory.mjs +2 -2
  443. package/plugins/contextMenu/menu.js +5 -5
  444. package/plugins/contextMenu/menu.mjs +4 -4
  445. package/plugins/contextMenu/predefinedItems/alignment.js +2 -2
  446. package/plugins/contextMenu/predefinedItems/clearColumn.js +2 -2
  447. package/plugins/contextMenu/predefinedItems/columnLeft.js +2 -2
  448. package/plugins/contextMenu/predefinedItems/columnRight.js +2 -2
  449. package/plugins/contextMenu/predefinedItems/noItems.js +1 -1
  450. package/plugins/contextMenu/predefinedItems/readOnly.js +2 -2
  451. package/plugins/contextMenu/predefinedItems/redo.js +2 -2
  452. package/plugins/contextMenu/predefinedItems/removeColumn.js +4 -2
  453. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +1 -0
  454. package/plugins/contextMenu/predefinedItems/removeRow.js +4 -2
  455. package/plugins/contextMenu/predefinedItems/removeRow.mjs +1 -0
  456. package/plugins/contextMenu/predefinedItems/rowAbove.js +2 -2
  457. package/plugins/contextMenu/predefinedItems/rowBelow.js +2 -2
  458. package/plugins/contextMenu/predefinedItems/separator.js +1 -1
  459. package/plugins/contextMenu/predefinedItems/undo.js +2 -2
  460. package/plugins/contextMenu/predefinedItems.js +3 -3
  461. package/plugins/contextMenu/utils.js +10 -10
  462. package/plugins/copyPaste/clipboardData.js +4 -1
  463. package/plugins/copyPaste/clipboardData.mjs +4 -1
  464. package/plugins/copyPaste/contextMenuItem/copy.js +1 -1
  465. package/plugins/copyPaste/contextMenuItem/cut.js +1 -1
  466. package/plugins/copyPaste/copyPaste.d.ts +35 -0
  467. package/plugins/copyPaste/copyPaste.js +14 -11
  468. package/plugins/copyPaste/copyPaste.mjs +12 -10
  469. package/plugins/copyPaste/focusableElement.js +2 -3
  470. package/plugins/copyPaste/focusableElement.mjs +2 -3
  471. package/plugins/copyPaste/index.d.ts +1 -0
  472. package/plugins/copyPaste/index.js +1 -1
  473. package/plugins/copyPaste/pasteEvent.js +9 -2
  474. package/plugins/copyPaste/pasteEvent.mjs +9 -2
  475. package/plugins/customBorders/contextMenuItem/bottom.js +1 -1
  476. package/plugins/customBorders/contextMenuItem/left.js +1 -1
  477. package/plugins/customBorders/contextMenuItem/noBorders.js +1 -1
  478. package/plugins/customBorders/contextMenuItem/right.js +1 -1
  479. package/plugins/customBorders/contextMenuItem/top.js +1 -1
  480. package/plugins/customBorders/customBorders.d.ts +38 -0
  481. package/plugins/customBorders/customBorders.js +11 -9
  482. package/plugins/customBorders/customBorders.mjs +8 -7
  483. package/plugins/customBorders/index.d.ts +1 -0
  484. package/plugins/customBorders/index.js +1 -1
  485. package/plugins/customBorders/utils.js +3 -3
  486. package/plugins/dragToScroll/dragToScroll.d.ts +15 -0
  487. package/plugins/dragToScroll/dragToScroll.js +8 -8
  488. package/plugins/dragToScroll/dragToScroll.mjs +6 -6
  489. package/plugins/dragToScroll/index.d.ts +1 -0
  490. package/plugins/dragToScroll/index.js +1 -1
  491. package/plugins/dropdownMenu/dropdownMenu.d.ts +24 -0
  492. package/plugins/dropdownMenu/dropdownMenu.js +8 -8
  493. package/plugins/dropdownMenu/dropdownMenu.mjs +6 -6
  494. package/plugins/dropdownMenu/index.d.ts +1 -0
  495. package/plugins/dropdownMenu/index.js +1 -1
  496. package/plugins/exportFile/dataProvider.js +3 -5
  497. package/plugins/exportFile/dataProvider.mjs +3 -5
  498. package/plugins/exportFile/exportFile.d.ts +12 -0
  499. package/plugins/exportFile/exportFile.js +9 -9
  500. package/plugins/exportFile/exportFile.mjs +7 -7
  501. package/plugins/exportFile/index.d.ts +1 -0
  502. package/plugins/exportFile/index.js +1 -1
  503. package/plugins/exportFile/typeFactory.js +2 -1
  504. package/plugins/exportFile/typeFactory.mjs +1 -0
  505. package/plugins/exportFile/types/_base.js +1 -2
  506. package/plugins/exportFile/types/_base.mjs +1 -2
  507. package/plugins/exportFile/types/csv.js +6 -7
  508. package/plugins/exportFile/types/csv.mjs +5 -6
  509. package/plugins/filters/component/_base.js +2 -2
  510. package/plugins/filters/component/_base.mjs +2 -2
  511. package/plugins/filters/component/actionBar.js +7 -7
  512. package/plugins/filters/component/actionBar.mjs +6 -6
  513. package/plugins/filters/component/condition.js +10 -8
  514. package/plugins/filters/component/condition.mjs +8 -7
  515. package/plugins/filters/component/operators.js +7 -7
  516. package/plugins/filters/component/operators.mjs +6 -6
  517. package/plugins/filters/component/value.js +15 -8
  518. package/plugins/filters/component/value.mjs +13 -7
  519. package/plugins/filters/condition/beginsWith.js +5 -3
  520. package/plugins/filters/condition/beginsWith.mjs +2 -1
  521. package/plugins/filters/condition/between.js +4 -2
  522. package/plugins/filters/condition/between.mjs +1 -0
  523. package/plugins/filters/condition/byValue.js +3 -1
  524. package/plugins/filters/condition/byValue.mjs +1 -0
  525. package/plugins/filters/condition/contains.js +5 -3
  526. package/plugins/filters/condition/contains.mjs +2 -1
  527. package/plugins/filters/condition/date/after.js +4 -2
  528. package/plugins/filters/condition/date/after.mjs +1 -0
  529. package/plugins/filters/condition/date/before.js +4 -2
  530. package/plugins/filters/condition/date/before.mjs +1 -0
  531. package/plugins/filters/condition/date/today.js +2 -2
  532. package/plugins/filters/condition/date/tomorrow.js +2 -2
  533. package/plugins/filters/condition/date/yesterday.js +2 -2
  534. package/plugins/filters/condition/empty.js +2 -2
  535. package/plugins/filters/condition/endsWith.js +5 -3
  536. package/plugins/filters/condition/endsWith.mjs +2 -1
  537. package/plugins/filters/condition/equal.js +5 -3
  538. package/plugins/filters/condition/equal.mjs +2 -1
  539. package/plugins/filters/condition/false.js +1 -1
  540. package/plugins/filters/condition/greaterThan.js +4 -2
  541. package/plugins/filters/condition/greaterThan.mjs +1 -0
  542. package/plugins/filters/condition/greaterThanOrEqual.js +4 -2
  543. package/plugins/filters/condition/greaterThanOrEqual.mjs +1 -0
  544. package/plugins/filters/condition/lessThan.js +4 -2
  545. package/plugins/filters/condition/lessThan.mjs +1 -0
  546. package/plugins/filters/condition/lessThanOrEqual.js +4 -2
  547. package/plugins/filters/condition/lessThanOrEqual.mjs +1 -0
  548. package/plugins/filters/condition/none.js +2 -2
  549. package/plugins/filters/condition/notBetween.js +2 -2
  550. package/plugins/filters/condition/notContains.js +2 -2
  551. package/plugins/filters/condition/notEmpty.js +2 -2
  552. package/plugins/filters/condition/notEqual.js +2 -2
  553. package/plugins/filters/condition/true.js +1 -1
  554. package/plugins/filters/conditionCollection.d.ts +32 -0
  555. package/plugins/filters/conditionCollection.js +8 -5
  556. package/plugins/filters/conditionCollection.mjs +6 -4
  557. package/plugins/filters/conditionRegisterer.js +1 -1
  558. package/plugins/filters/conditionUpdateObserver.d.ts +10 -0
  559. package/plugins/filters/conditionUpdateObserver.js +4 -2
  560. package/plugins/filters/conditionUpdateObserver.mjs +3 -2
  561. package/plugins/filters/constants.js +2 -1
  562. package/plugins/filters/constants.mjs +1 -0
  563. package/plugins/filters/dataFilter.js +2 -2
  564. package/plugins/filters/dataFilter.mjs +2 -2
  565. package/plugins/filters/filters.d.ts +56 -0
  566. package/plugins/filters/filters.js +15 -11
  567. package/plugins/filters/filters.mjs +13 -10
  568. package/plugins/filters/index.d.ts +1 -0
  569. package/plugins/filters/index.js +1 -1
  570. package/plugins/filters/logicalOperationRegisterer.js +1 -1
  571. package/plugins/filters/logicalOperations/conjunction.js +4 -4
  572. package/plugins/filters/logicalOperations/conjunction.mjs +1 -0
  573. package/plugins/filters/logicalOperations/disjunction.js +4 -4
  574. package/plugins/filters/logicalOperations/disjunction.mjs +1 -0
  575. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +4 -4
  576. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +1 -0
  577. package/plugins/filters/ui/_base.js +4 -5
  578. package/plugins/filters/ui/_base.mjs +3 -4
  579. package/plugins/filters/ui/input.js +6 -6
  580. package/plugins/filters/ui/input.mjs +6 -6
  581. package/plugins/filters/ui/link.js +6 -6
  582. package/plugins/filters/ui/link.mjs +6 -6
  583. package/plugins/filters/ui/multipleSelect.js +34 -8
  584. package/plugins/filters/ui/multipleSelect.mjs +33 -8
  585. package/plugins/filters/ui/radioInput.js +6 -6
  586. package/plugins/filters/ui/radioInput.mjs +6 -6
  587. package/plugins/filters/ui/select.js +6 -6
  588. package/plugins/filters/ui/select.mjs +6 -6
  589. package/plugins/filters/utils.js +3 -3
  590. package/plugins/formulas/engine/register.js +4 -4
  591. package/plugins/formulas/engine/register.mjs +1 -1
  592. package/plugins/formulas/engine/settings.js +6 -6
  593. package/plugins/formulas/engine/settings.mjs +4 -5
  594. package/plugins/formulas/formulas.d.ts +31 -0
  595. package/plugins/formulas/formulas.js +287 -91
  596. package/plugins/formulas/formulas.mjs +280 -88
  597. package/plugins/formulas/index.d.ts +1 -0
  598. package/plugins/formulas/index.js +1 -1
  599. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +3 -1
  600. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +1 -0
  601. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +5 -3
  602. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -1
  603. package/plugins/hiddenColumns/hiddenColumns.d.ts +21 -0
  604. package/plugins/hiddenColumns/hiddenColumns.js +39 -27
  605. package/plugins/hiddenColumns/hiddenColumns.mjs +38 -26
  606. package/plugins/hiddenColumns/index.d.ts +1 -0
  607. package/plugins/hiddenColumns/index.js +1 -1
  608. package/plugins/hiddenRows/contextMenuItem/hideRow.js +3 -1
  609. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +1 -0
  610. package/plugins/hiddenRows/contextMenuItem/showRow.js +5 -3
  611. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -1
  612. package/plugins/hiddenRows/hiddenRows.d.ts +21 -0
  613. package/plugins/hiddenRows/hiddenRows.js +39 -28
  614. package/plugins/hiddenRows/hiddenRows.mjs +38 -27
  615. package/plugins/hiddenRows/index.d.ts +1 -0
  616. package/plugins/hiddenRows/index.js +1 -1
  617. package/plugins/index.d.ts +111 -0
  618. package/plugins/index.js +98 -58
  619. package/plugins/index.mjs +75 -34
  620. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +3 -1
  621. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -0
  622. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +3 -1
  623. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -0
  624. package/plugins/manualColumnFreeze/index.d.ts +1 -0
  625. package/plugins/manualColumnFreeze/index.js +1 -1
  626. package/plugins/manualColumnFreeze/manualColumnFreeze.d.ts +11 -0
  627. package/plugins/manualColumnFreeze/manualColumnFreeze.js +11 -8
  628. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +10 -7
  629. package/plugins/manualColumnMove/index.d.ts +1 -0
  630. package/plugins/manualColumnMove/index.js +1 -1
  631. package/plugins/manualColumnMove/manualColumnMove.d.ts +14 -0
  632. package/plugins/manualColumnMove/manualColumnMove.js +27 -25
  633. package/plugins/manualColumnMove/manualColumnMove.mjs +26 -24
  634. package/plugins/manualColumnMove/ui/_base.js +2 -2
  635. package/plugins/manualColumnMove/ui/_base.mjs +2 -2
  636. package/plugins/manualColumnMove/ui/backlight.js +7 -7
  637. package/plugins/manualColumnMove/ui/backlight.mjs +6 -6
  638. package/plugins/manualColumnMove/ui/guideline.js +7 -7
  639. package/plugins/manualColumnMove/ui/guideline.mjs +6 -6
  640. package/plugins/manualColumnResize/index.d.ts +1 -0
  641. package/plugins/manualColumnResize/index.js +1 -1
  642. package/plugins/manualColumnResize/manualColumnResize.d.ts +30 -0
  643. package/plugins/manualColumnResize/manualColumnResize.js +10 -10
  644. package/plugins/manualColumnResize/manualColumnResize.mjs +9 -9
  645. package/plugins/manualRowMove/index.d.ts +1 -0
  646. package/plugins/manualRowMove/index.js +1 -1
  647. package/plugins/manualRowMove/manualRowMove.d.ts +14 -0
  648. package/plugins/manualRowMove/manualRowMove.js +24 -22
  649. package/plugins/manualRowMove/manualRowMove.mjs +23 -21
  650. package/plugins/manualRowMove/ui/_base.js +2 -3
  651. package/plugins/manualRowMove/ui/_base.mjs +2 -3
  652. package/plugins/manualRowMove/ui/backlight.js +8 -8
  653. package/plugins/manualRowMove/ui/backlight.mjs +7 -7
  654. package/plugins/manualRowMove/ui/guideline.js +8 -8
  655. package/plugins/manualRowMove/ui/guideline.mjs +7 -7
  656. package/plugins/manualRowResize/index.d.ts +1 -0
  657. package/plugins/manualRowResize/index.js +1 -1
  658. package/plugins/manualRowResize/manualRowResize.d.ts +29 -0
  659. package/plugins/manualRowResize/manualRowResize.js +6 -6
  660. package/plugins/manualRowResize/manualRowResize.mjs +5 -5
  661. package/plugins/mergeCells/calculations/autofill.js +4 -3
  662. package/plugins/mergeCells/calculations/autofill.mjs +3 -3
  663. package/plugins/mergeCells/calculations/selection.js +2 -3
  664. package/plugins/mergeCells/calculations/selection.mjs +2 -3
  665. package/plugins/mergeCells/cellCoords.js +2 -2
  666. package/plugins/mergeCells/cellCoords.mjs +2 -2
  667. package/plugins/mergeCells/cellsCollection.js +6 -4
  668. package/plugins/mergeCells/cellsCollection.mjs +5 -4
  669. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +1 -1
  670. package/plugins/mergeCells/index.d.ts +1 -0
  671. package/plugins/mergeCells/index.js +1 -1
  672. package/plugins/mergeCells/mergeCells.d.ts +22 -0
  673. package/plugins/mergeCells/mergeCells.js +8 -6
  674. package/plugins/mergeCells/mergeCells.mjs +6 -5
  675. package/plugins/multiColumnSorting/domHelpers.js +2 -0
  676. package/plugins/multiColumnSorting/domHelpers.mjs +1 -0
  677. package/plugins/multiColumnSorting/index.d.ts +1 -0
  678. package/plugins/multiColumnSorting/index.js +1 -1
  679. package/plugins/multiColumnSorting/multiColumnSorting.d.ts +8 -0
  680. package/plugins/multiColumnSorting/multiColumnSorting.js +8 -8
  681. package/plugins/multiColumnSorting/multiColumnSorting.mjs +6 -6
  682. package/plugins/multiColumnSorting/rootComparator.js +2 -0
  683. package/plugins/multiColumnSorting/rootComparator.mjs +1 -0
  684. package/plugins/multipleSelectionHandles/index.d.ts +1 -0
  685. package/plugins/multipleSelectionHandles/index.js +1 -1
  686. package/plugins/multipleSelectionHandles/multipleSelectionHandles.d.ts +21 -0
  687. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +9 -8
  688. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +7 -6
  689. package/plugins/nestedHeaders/index.d.ts +1 -0
  690. package/plugins/nestedHeaders/index.js +1 -1
  691. package/plugins/nestedHeaders/nestedHeaders.d.ts +17 -0
  692. package/plugins/nestedHeaders/nestedHeaders.js +24 -20
  693. package/plugins/nestedHeaders/nestedHeaders.mjs +22 -18
  694. package/plugins/nestedHeaders/stateManager/headersTree.js +13 -7
  695. package/plugins/nestedHeaders/stateManager/headersTree.mjs +12 -7
  696. package/plugins/nestedHeaders/stateManager/index.js +10 -7
  697. package/plugins/nestedHeaders/stateManager/index.mjs +10 -7
  698. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +1 -1
  699. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +2 -0
  700. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +1 -0
  701. package/plugins/nestedHeaders/stateManager/sourceSettings.js +11 -7
  702. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +11 -7
  703. package/plugins/nestedHeaders/utils/ghostTable.js +4 -1
  704. package/plugins/nestedHeaders/utils/ghostTable.mjs +4 -1
  705. package/plugins/nestedRows/data/dataManager.js +42 -16
  706. package/plugins/nestedRows/data/dataManager.mjs +40 -15
  707. package/plugins/nestedRows/index.d.ts +1 -0
  708. package/plugins/nestedRows/index.js +1 -1
  709. package/plugins/nestedRows/nestedRows.d.ts +12 -0
  710. package/plugins/nestedRows/nestedRows.js +34 -35
  711. package/plugins/nestedRows/nestedRows.mjs +31 -33
  712. package/plugins/nestedRows/ui/_base.js +7 -4
  713. package/plugins/nestedRows/ui/_base.mjs +7 -4
  714. package/plugins/nestedRows/ui/collapsing.js +9 -8
  715. package/plugins/nestedRows/ui/collapsing.mjs +7 -7
  716. package/plugins/nestedRows/ui/contextMenu.js +5 -6
  717. package/plugins/nestedRows/ui/contextMenu.mjs +5 -6
  718. package/plugins/nestedRows/ui/headers.js +7 -8
  719. package/plugins/nestedRows/ui/headers.mjs +6 -7
  720. package/plugins/nestedRows/utils/rowMoveController.js +7 -6
  721. package/plugins/nestedRows/utils/rowMoveController.mjs +5 -5
  722. package/plugins/persistentState/index.d.ts +1 -0
  723. package/plugins/persistentState/persistentState.d.ts +13 -0
  724. package/plugins/persistentState/persistentState.js +15 -7
  725. package/plugins/persistentState/persistentState.mjs +14 -6
  726. package/plugins/persistentState/storage.js +2 -2
  727. package/plugins/persistentState/storage.mjs +2 -2
  728. package/plugins/registry.d.ts +9 -0
  729. package/plugins/registry.js +3 -1
  730. package/plugins/registry.mjs +1 -0
  731. package/plugins/search/index.d.ts +1 -0
  732. package/plugins/search/search.d.ts +28 -0
  733. package/plugins/search/search.js +10 -10
  734. package/plugins/search/search.mjs +10 -10
  735. package/plugins/touchScroll/index.d.ts +1 -0
  736. package/plugins/touchScroll/touchScroll.d.ts +13 -0
  737. package/plugins/touchScroll/touchScroll.js +16 -16
  738. package/plugins/touchScroll/touchScroll.mjs +15 -14
  739. package/plugins/trimRows/index.d.ts +1 -0
  740. package/plugins/trimRows/trimRows.d.ts +17 -0
  741. package/plugins/trimRows/trimRows.js +6 -6
  742. package/plugins/trimRows/trimRows.mjs +6 -6
  743. package/plugins/undoRedo/index.d.ts +1 -0
  744. package/plugins/undoRedo/index.js +1 -1
  745. package/plugins/undoRedo/undoRedo.d.ts +49 -0
  746. package/plugins/undoRedo/undoRedo.js +30 -32
  747. package/plugins/undoRedo/undoRedo.mjs +28 -31
  748. package/registry.d.ts +6 -0
  749. package/registry.js +46 -0
  750. package/registry.mjs +27 -0
  751. package/renderers/autocompleteRenderer/autocompleteRenderer.d.ts +5 -0
  752. package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -1
  753. package/renderers/autocompleteRenderer/index.d.ts +1 -0
  754. package/renderers/base.d.ts +3 -0
  755. package/renderers/baseRenderer/baseRenderer.d.ts +5 -0
  756. package/renderers/baseRenderer/baseRenderer.js +1 -1
  757. package/renderers/baseRenderer/index.d.ts +1 -0
  758. package/renderers/checkboxRenderer/checkboxRenderer.d.ts +5 -0
  759. package/renderers/checkboxRenderer/checkboxRenderer.js +3 -5
  760. package/renderers/checkboxRenderer/checkboxRenderer.mjs +3 -4
  761. package/renderers/checkboxRenderer/index.d.ts +1 -0
  762. package/renderers/htmlRenderer/htmlRenderer.d.ts +5 -0
  763. package/renderers/htmlRenderer/htmlRenderer.js +1 -1
  764. package/renderers/htmlRenderer/index.d.ts +1 -0
  765. package/renderers/index.d.ts +42 -0
  766. package/renderers/index.js +16 -2
  767. package/renderers/index.mjs +22 -7
  768. package/renderers/numericRenderer/index.d.ts +1 -0
  769. package/renderers/numericRenderer/numericRenderer.d.ts +5 -0
  770. package/renderers/numericRenderer/numericRenderer.js +1 -1
  771. package/renderers/passwordRenderer/index.d.ts +1 -0
  772. package/renderers/passwordRenderer/passwordRenderer.d.ts +5 -0
  773. package/renderers/passwordRenderer/passwordRenderer.js +1 -1
  774. package/renderers/registry.d.ts +18 -0
  775. package/renderers/registry.js +3 -2
  776. package/renderers/textRenderer/index.d.ts +1 -0
  777. package/renderers/textRenderer/textRenderer.d.ts +5 -0
  778. package/renderers/textRenderer/textRenderer.js +1 -1
  779. package/selection/highlight/constants.js +1 -1
  780. package/selection/highlight/highlight.js +10 -8
  781. package/selection/highlight/highlight.mjs +8 -7
  782. package/selection/highlight/types/activeHeader.js +4 -2
  783. package/selection/highlight/types/activeHeader.mjs +3 -2
  784. package/selection/highlight/types/area.js +4 -2
  785. package/selection/highlight/types/area.mjs +3 -2
  786. package/selection/highlight/types/cell.js +4 -2
  787. package/selection/highlight/types/cell.mjs +3 -2
  788. package/selection/highlight/types/customSelection.js +4 -2
  789. package/selection/highlight/types/customSelection.mjs +3 -2
  790. package/selection/highlight/types/fill.js +4 -2
  791. package/selection/highlight/types/fill.mjs +3 -2
  792. package/selection/highlight/types/header.js +4 -2
  793. package/selection/highlight/types/header.mjs +3 -2
  794. package/selection/highlight/types/index.js +4 -2
  795. package/selection/highlight/types/index.mjs +3 -2
  796. package/selection/highlight/visualSelection.js +9 -7
  797. package/selection/highlight/visualSelection.mjs +7 -6
  798. package/selection/index.d.ts +5 -0
  799. package/selection/index.js +2 -0
  800. package/selection/mouseEventHandler.js +4 -4
  801. package/selection/mouseEventHandler.mjs +3 -3
  802. package/selection/range.js +6 -6
  803. package/selection/range.mjs +5 -5
  804. package/selection/selection.js +18 -9
  805. package/selection/selection.mjs +17 -9
  806. package/selection/transformation.js +4 -3
  807. package/selection/transformation.mjs +4 -3
  808. package/selection/utils.js +6 -4
  809. package/selection/utils.mjs +3 -2
  810. package/settings.d.ts +208 -0
  811. package/tableView.js +21 -15
  812. package/tableView.mjs +19 -14
  813. package/translations/changesObservable/observable.js +11 -6
  814. package/translations/changesObservable/observable.mjs +11 -6
  815. package/translations/changesObservable/observer.js +7 -2
  816. package/translations/changesObservable/observer.mjs +7 -2
  817. package/translations/changesObservable/utils.js +1 -0
  818. package/translations/changesObservable/utils.mjs +1 -0
  819. package/translations/index.d.ts +1 -0
  820. package/translations/index.js +3 -1
  821. package/translations/indexMapper.d.ts +46 -0
  822. package/translations/indexMapper.js +38 -13
  823. package/translations/indexMapper.mjs +35 -12
  824. package/translations/mapCollections/aggregatedCollection.js +6 -6
  825. package/translations/mapCollections/aggregatedCollection.mjs +5 -5
  826. package/translations/mapCollections/index.js +2 -0
  827. package/translations/mapCollections/mapCollection.js +2 -2
  828. package/translations/mapCollections/mapCollection.mjs +1 -1
  829. package/translations/maps/hidingMap.js +6 -6
  830. package/translations/maps/hidingMap.mjs +5 -5
  831. package/translations/maps/indexMap.d.ts +10 -0
  832. package/translations/maps/indexMap.js +1 -1
  833. package/translations/maps/indexMap.mjs +1 -1
  834. package/translations/maps/indexesSequence.js +7 -7
  835. package/translations/maps/indexesSequence.mjs +6 -6
  836. package/translations/maps/linkedPhysicalIndexToValueMap.js +7 -5
  837. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +6 -5
  838. package/translations/maps/physicalIndexToValueMap.js +7 -7
  839. package/translations/maps/physicalIndexToValueMap.mjs +6 -6
  840. package/translations/maps/trimmingMap.js +6 -6
  841. package/translations/maps/trimmingMap.mjs +5 -5
  842. package/translations/maps/utils/actionsOnIndexes.js +2 -0
  843. package/translations/maps/utils/actionsOnIndexes.mjs +1 -0
  844. package/translations/maps/utils/indexesSequence.js +2 -0
  845. package/translations/maps/utils/indexesSequence.mjs +1 -0
  846. package/translations/maps/utils/physicallyIndexed.js +2 -0
  847. package/translations/maps/utils/physicallyIndexed.mjs +1 -0
  848. package/utils/dataStructures/linkedList.js +3 -3
  849. package/utils/dataStructures/linkedList.mjs +3 -3
  850. package/utils/dataStructures/priorityMap.js +3 -1
  851. package/utils/dataStructures/priorityMap.mjs +1 -0
  852. package/utils/dataStructures/queue.js +1 -1
  853. package/utils/dataStructures/queue.mjs +1 -1
  854. package/utils/dataStructures/stack.js +1 -1
  855. package/utils/dataStructures/stack.mjs +1 -1
  856. package/utils/dataStructures/tree.js +6 -4
  857. package/utils/dataStructures/tree.mjs +4 -3
  858. package/utils/dataStructures/uniqueMap.js +2 -0
  859. package/utils/dataStructures/uniqueMap.mjs +1 -0
  860. package/utils/dataStructures/uniqueSet.js +2 -0
  861. package/utils/dataStructures/uniqueSet.mjs +1 -0
  862. package/utils/ghostTable.js +17 -5
  863. package/utils/ghostTable.mjs +16 -5
  864. package/utils/interval.js +2 -3
  865. package/utils/interval.mjs +1 -2
  866. package/utils/parseTable.d.ts +5 -0
  867. package/utils/parseTable.js +1 -1
  868. package/utils/rootInstance.js +3 -2
  869. package/utils/samplesGenerator.js +1 -2
  870. package/utils/samplesGenerator.mjs +1 -2
  871. package/utils/staticRegister.js +3 -1
  872. package/utils/staticRegister.mjs +1 -0
  873. package/validators/autocompleteValidator/autocompleteValidator.d.ts +5 -0
  874. package/validators/autocompleteValidator/autocompleteValidator.js +1 -1
  875. package/validators/autocompleteValidator/index.d.ts +1 -0
  876. package/validators/base.d.ts +6 -0
  877. package/validators/dateValidator/dateValidator.d.ts +5 -0
  878. package/validators/dateValidator/dateValidator.js +2 -2
  879. package/validators/dateValidator/index.d.ts +1 -0
  880. package/validators/index.d.ts +33 -0
  881. package/validators/index.js +13 -2
  882. package/validators/index.mjs +16 -4
  883. package/validators/numericValidator/index.d.ts +1 -0
  884. package/validators/numericValidator/numericValidator.d.ts +5 -0
  885. package/validators/numericValidator/numericValidator.js +1 -1
  886. package/validators/registry.d.ts +18 -0
  887. package/validators/registry.js +3 -2
  888. package/validators/timeValidator/index.d.ts +1 -0
  889. package/validators/timeValidator/timeValidator.d.ts +5 -0
  890. package/validators/timeValidator/timeValidator.js +3 -1
  891. package/validators/timeValidator/timeValidator.mjs +1 -0
  892. package/handsontable-general-terms.pdf +0 -0
  893. package/handsontable.d.ts +0 -2616
  894. package/plugins/formulas/autofill.js +0 -180
  895. package/plugins/formulas/autofill.mjs +0 -172
package/handsontable.d.ts DELETED
@@ -1,2616 +0,0 @@
1
- import { PikadayOptions } from 'pikaday';
2
- import numbro from 'numbro';
3
- import {
4
- CellType as HyperFormulaCellType,
5
- ConfigParams,
6
- HyperFormula,
7
- } from 'hyperformula';
8
-
9
- /**
10
- * @internal
11
- * Omit properties K from T
12
- */
13
- type Omit<T, K extends keyof T> = Pick<T, ({ [P in keyof T]: P } & { [P in K]: never } & { [x: string]: never, [x: number]: never })[keyof T]>;
14
- // type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>; // TS >= 2.8
15
-
16
- declare namespace _Handsontable {
17
- class Core {
18
- addHook<K extends keyof Handsontable.Hooks.Events>(key: K, callback: Handsontable.Hooks.Events[K] | Handsontable.Hooks.Events[K][]): void;
19
- addHookOnce<K extends keyof Handsontable.Hooks.Events>(key: K, callback: Handsontable.Hooks.Events[K] | Handsontable.Hooks.Events[K][]): void;
20
- alter(action: 'insert_row' | 'insert_col' | 'remove_row' | 'remove_col', index?: number | Array<[number, number]>, amount?: number, source?: string, keepEmptyRows?: boolean): void;
21
- batch<R>(wrappedOperations: () => R): R;
22
- batchExecution<R>(wrappedOperations: () => R, forceFlushChanges: boolean): R;
23
- batchRender<R>(wrappedOperations: () => R): R;
24
- clear(): void;
25
- clearUndo(): void;
26
- colOffset(): number;
27
- colToProp(col: number): string | number;
28
- columnIndexMapper: Handsontable.RecordTranslation.IndexMapper;
29
- constructor(element: Element, options: Handsontable.GridSettings);
30
- container: HTMLElement;
31
- countCols(): number;
32
- countEmptyCols(ending?: boolean): number;
33
- countEmptyRows(ending?: boolean): number;
34
- countRenderedCols(): number;
35
- countRenderedRows(): number;
36
- countRows(): number;
37
- countSourceCols(): number;
38
- countSourceRows(): number;
39
- countVisibleCols(): number;
40
- countVisibleRows(): number;
41
- deselectCell(): void;
42
- destroy(): void;
43
- destroyEditor(revertOriginal?: boolean, prepareEditorIfNeeded?: boolean): void;
44
- emptySelectedCells(): void;
45
- forceFullRender: boolean;
46
- getActiveEditor<T extends Handsontable._editors.Base>(): T | undefined;
47
- getCell(row: number, col: number, topmost?: boolean): HTMLTableCellElement | null;
48
- getCellEditor<T extends Handsontable._editors.Base>(cellMeta: Handsontable.CellMeta): T;
49
- getCellEditor<T extends Handsontable._editors.Base>(row: number, col: number): T;
50
- getCellMeta(row: number, col: number): Handsontable.CellProperties;
51
- getCellMetaAtRow(row: number): Handsontable.CellProperties[];
52
- getCellRenderer(cellMeta: Handsontable.CellMeta): Handsontable.renderers.Base;
53
- getCellRenderer(row: number, col: number): Handsontable.renderers.Base;
54
- getCellsMeta(): Handsontable.CellProperties[];
55
- getCellValidator(cellMeta: Handsontable.CellMeta): Handsontable.validators.Base | RegExp | undefined;
56
- getCellValidator(row: number, col: number): Handsontable.validators.Base | RegExp | undefined;
57
- getColHeader(): (number | string)[];
58
- getColHeader(col: number): number | string;
59
- getColWidth(col: number): number;
60
- getCoords(elem: Element | null): Handsontable.wot.CellCoords;
61
- getCopyableData(row: number, column: number): string;
62
- getCopyableText(startRow: number, startCol: number, endRow: number, endCol: number): string;
63
- getData(row?: number, column?: number, row2?: number, column2?: number): Handsontable.CellValue[];
64
- getDataAtCell(row: number, column: number): Handsontable.CellValue;
65
- getDataAtCol(column: number): Handsontable.CellValue[];
66
- getDataAtProp(prop: string | number): Handsontable.CellValue[];
67
- getDataAtRow(row: number): Handsontable.CellValue[];
68
- getDataAtRowProp(row: number, prop: string): Handsontable.CellValue;
69
- getDataType(rowFrom: number, columnFrom: number, rowTo: number, columnTo: number): Handsontable.CellType | 'mixed';
70
- getInstance(): Handsontable;
71
- getPlugin<T extends keyof Handsontable.PluginsCollection>(pluginName: T): Handsontable.PluginsCollection[T];
72
- getRowHeader(): (string | number)[];
73
- getRowHeader(row: number): string | number;
74
- getRowHeight(row: number): number;
75
- getSchema(): Handsontable.RowObject;
76
- getSelected(): Array<[number, number, number, number]> | undefined;
77
- getSelectedLast(): number[] | undefined;
78
- getSelectedRange(): Handsontable.wot.CellRange[] | undefined;
79
- getSelectedRangeLast(): Handsontable.wot.CellRange | undefined;
80
- getSettings(): Handsontable.GridSettings;
81
- getSourceData(row?: number, column?: number, row2?: number, column2?: number): Handsontable.CellValue[][] | Handsontable.RowObject[];
82
- getSourceDataArray(row?: number, column?: number, row2?: number, ccolumn2?: number): Handsontable.CellValue[][];
83
- getSourceDataAtCell(row: number, column: number): Handsontable.CellValue;
84
- getSourceDataAtCol(column: number): Handsontable.CellValue[];
85
- getSourceDataAtRow(row: number): Handsontable.CellValue[] | Handsontable.RowObject;
86
- getTranslatedPhrase(dictionaryKey: string, extraArguments: any): string | null;
87
- getValue(): Handsontable.CellValue;
88
- hasColHeaders(): boolean;
89
- hasHook(key: keyof Handsontable.Hooks.Events): boolean;
90
- hasRowHeaders(): boolean;
91
- init(): () => void;
92
- isColumnModificationAllowed(): boolean;
93
- isDestroyed: boolean
94
- isEmptyCol(col: number): boolean;
95
- isEmptyRow(row: number): boolean;
96
- isExecutionSuspended(): boolean;
97
- isListening(): boolean;
98
- isRedoAvailable(): boolean;
99
- isRenderSuspended(): boolean;
100
- isUndoAvailable(): boolean;
101
- listen(): void;
102
- loadData(data: Handsontable.CellValue[][] | Handsontable.RowObject[], source?: string): void;
103
- populateFromArray(row: number, col: number, input: Handsontable.CellValue[][], endRow?: number, endCol?: number, source?: string, method?: 'shift_down' | 'shift_right' | 'overwrite', direction?: 'left' | 'right' | 'up' | 'down', deltas?: any[]): void;
104
- propToCol(prop: string | number): number;
105
- redo(): void;
106
- refreshDimensions(): void;
107
- removeCellMeta(row: number, col: number, key: keyof Handsontable.CellMeta): void;
108
- removeCellMeta(row: number, col: number, key: string): void;
109
- removeHook<K extends keyof Handsontable.Hooks.Events>(key: K, callback: Handsontable.Hooks.Events[K]): void;
110
- render(): void;
111
- renderCall: boolean;
112
- resumeExecution(): void;
113
- resumeRender(): void;
114
- rootDocument: Document;
115
- rootElement: HTMLElement;
116
- rootWindow: Window;
117
- rowIndexMapper: Handsontable.RecordTranslation.IndexMapper;
118
- rowOffset(): number;
119
- runHooks(key: keyof Handsontable.Hooks.Events, p1?: any, p2?: any, p3?: any, p4?: any, p5?: any, p6?: any): any;
120
- // Requires TS 3.0:
121
- // runHooks<K extends keyof Handsontable.Events>(key: K, ...params: Parameters<Handsontable.Events[K]>): ReturnType<Handsontable.Events[K]>;
122
- scrollViewportTo(row?: number, column?: number, snapToBottom?: boolean, snapToRight?: boolean, considerHiddenIndexes?: boolean): boolean;
123
- selectAll(): void;
124
- selectCell(row: number, col: number, endRow?: number, endCol?: number, scrollToCell?: boolean, changeListener?: boolean): boolean;
125
- selectCellByProp(row: number, prop: string, endRow?: number, endProp?: string, scrollToCell?: boolean): boolean;
126
- selectCells(coords: Array<[number, number | string, number, number | string]> | Array<Handsontable.wot.CellRange>, scrollToCell?: boolean, changeListener?: boolean): boolean;
127
- selectColumns(startColumn: number | string, endColumn?: number | string): boolean;
128
- selectRows(startRow: number, endRow?: number): boolean;
129
- setCellMeta(row: number, col: number, key: string, val: any): void;
130
- setCellMeta<K extends keyof Handsontable.CellMeta>(row: number, col: number, key: K, val: Handsontable.CellMeta[K]): void;
131
- setCellMetaObject<T extends Handsontable.CellMeta>(row: number, col: number, prop: T): void;
132
- setDataAtCell(changes: Array<[number, string | number, Handsontable.CellValue]>, source?: string): void;
133
- setDataAtCell(row: number, col: string | number, value: Handsontable.CellValue, source?: string): void;
134
- setDataAtRowProp(changes: Array<[number, string | number, Handsontable.CellValue]>, source?: string): void;
135
- setDataAtRowProp(row: number, prop: string, value: Handsontable.CellValue, source?: string): void;
136
- setSourceDataAtCell(changes: [number, string | number, Handsontable.CellValue][]): void;
137
- setSourceDataAtCell(row: number, column: number | string, value: Handsontable.CellValue, source?: string): void;
138
- spliceCol(col: number, index: number, amount: number, ...elements: Handsontable.CellValue[]): void;
139
- spliceRow(row: number, index: number, amount: number, ...elements: Handsontable.CellValue[]): void;
140
- suspendExecution(): void;
141
- suspendRender(): void;
142
- table: HTMLTableElement;
143
- toHTML(): string;
144
- toPhysicalColumn(column: number): number;
145
- toPhysicalRow(row: number): number;
146
- toTableElement(): HTMLTableElement;
147
- toVisualColumn(column: number): number;
148
- toVisualRow(row: number): number;
149
- undo(): void;
150
- undoRedo: Handsontable.UndoRedo;
151
- unlisten(): void;
152
- updateSettings(settings: Handsontable.GridSettings, init?: boolean): void;
153
- validateCell(value: any, cellProperties: Handsontable.CellProperties, callback: (valid: boolean) => void, source: string): void;
154
- validateCells(callback?: (valid: boolean) => void): void;
155
- validateColumns(columns: number[], callback?: (valid: boolean) => void): void;
156
- validateRows(rows: number[], callback?: (valid: boolean) => void): void;
157
- }
158
- }
159
-
160
- declare namespace Handsontable {
161
-
162
- // These types represent default known values, but users can extend with their own, leading to the need for assertions.
163
- // Using type arguments (ex `GridSettings<CellValue, CellType, SourceData>`) would solve this and provide very strict
164
- // type-checking, but adds a lot of noise for no benefit in the most common use cases.
165
-
166
- /**
167
- * A cell value, which can be anything to support custom cell data types, but by default is `string | number | boolean | undefined`.
168
- */
169
- type CellValue = any;
170
-
171
- /**
172
- * A cell change represented by `[row, column, prevValue, nextValue]`.
173
- */
174
- type CellChange = [number, string | number, CellValue, CellValue];
175
-
176
- /**
177
- * A row object, one of the two ways to supply data to the table, the alternative being an array of values.
178
- * Row objects can have any data assigned to them, not just column data, and can define a `__children` array for nested rows.
179
- */
180
- type RowObject = { [prop: string]: any };
181
-
182
- /**
183
- * A single row of source data, which can be represented as an array of values, or an object with key/value pairs.
184
- */
185
- type SourceRowData = RowObject | CellValue[];
186
-
187
- /**
188
- * The default sources for which the table triggers hooks.
189
- */
190
- type ChangeSource = 'auto' | 'edit' | 'loadData' | 'populateFromArray' | 'spliceCol' | 'spliceRow' | 'timeValidate' | 'dateValidate' | 'validateCells' | 'Autofill.fill' | 'ContextMenu.clearColumns' | 'ContextMenu.columnLeft' | 'ContextMenu.columnRight' | 'ContextMenu.removeColumn' | 'ContextMenu.removeRow' | 'ContextMenu.rowAbove' | 'ContextMenu.rowBelow' | 'CopyPaste.paste' | 'UndoRedo.redo' | 'UndoRedo.undo' | 'ColumnSummary.set' | 'ColumnSummary.reset';
191
- /**
192
- * The default cell type aliases the table has built-in.
193
- */
194
- type CellType = 'autocomplete' | 'checkbox' | 'date' | 'dropdown' | 'handsontable' | 'numeric' | 'password' | 'text' | 'time';
195
-
196
- /**
197
- * The default editor aliases the table has built-in.
198
- */
199
- type EditorType = 'autocomplete' | 'checkbox' | 'date' | 'dropdown' | 'handsontable' | 'mobile' | 'password' | 'select' | 'text';
200
-
201
- /**
202
- * The default renderer aliases the table has built-in.
203
- */
204
- type RendererType = 'autocomplete' | 'checkbox' | 'html' | 'numeric' | 'password' | 'text';
205
-
206
- /**
207
- * The default validator aliases the table has built-in.
208
- */
209
- type ValidatorType = 'autocomplete' | 'date' | 'numeric' | 'time';
210
-
211
- namespace wot {
212
- interface CellCoords {
213
- col: number;
214
- row: number;
215
- }
216
- interface CellRange {
217
- highlight: CellCoords;
218
- from: CellCoords;
219
- to: CellCoords;
220
- }
221
- type OverlayType = 'top' | 'bottom' | 'left' | 'top_left_corner' | 'bottom_left_corner';
222
- }
223
-
224
- namespace cellTypes {
225
- interface Autocomplete {
226
- editor: typeof _editors.Autocomplete;
227
- renderer: renderers.Autocomplete;
228
- validator: validators.Autocomplete;
229
- }
230
-
231
- interface Checkbox {
232
- editor: typeof _editors.Checkbox;
233
- renderer: renderers.Checkbox;
234
- }
235
-
236
- interface Date {
237
- editor: typeof _editors.Date;
238
- renderer: renderers.Autocomplete;
239
- validator: validators.Date
240
- }
241
-
242
- interface Dropdown {
243
- editor: typeof _editors.Dropdown;
244
- renderer: renderers.Autocomplete;
245
- validator: validators.Autocomplete;
246
- }
247
-
248
- interface Handsontable {
249
- editor: typeof _editors.Handsontable;
250
- renderer: renderers.Autocomplete;
251
- }
252
-
253
- interface Numeric {
254
- dataType: string;
255
- editor: typeof _editors.Numeric;
256
- renderer: renderers.Numeric;
257
- validator: validators.Numeric;
258
- }
259
-
260
- interface Password {
261
- copyable: boolean;
262
- editor: typeof _editors.Password;
263
- renderer: renderers.Password;
264
- }
265
-
266
- interface Text {
267
- editor: typeof _editors.Text;
268
- renderer: renderers.Text;
269
- }
270
-
271
- interface Time {
272
- editor: typeof _editors.Text;
273
- renderer: renderers.Text;
274
- validator: validators.Time;
275
- }
276
- }
277
-
278
-
279
- /**
280
- * The "_editor" namespace is named to avoid circular reference conflict with "Handsontable.editors" namespace.
281
- * The other namespaces (renderers, validators, etc) don't need this because they don't expose values (classes), just types (interfaces).
282
- * Note that TS will think it can use the values defined here, ex `new Handsontable._editors.Base()` compiles, but this is wrong.
283
- * TODO: This would be better solved by moving all types outside the exported namespaces. (Separate type definition from type publication.)
284
- */
285
- namespace _editors {
286
- type EditorState =
287
- 'STATE_VIRGIN' | // before editing
288
- 'STATE_EDITING' |
289
- 'STATE_WAITING' | // waiting for async validation
290
- 'STATE_FINISHED';
291
-
292
- abstract class Base {
293
- hot: _Handsontable.Core;
294
- instance: _Handsontable.Core;
295
- row: number;
296
- col: number;
297
- prop: string | number;
298
- TD: HTMLTableCellElement;
299
- originalValue: any;
300
- cellProperties: CellProperties;
301
- state: EditorState;
302
-
303
- constructor(hotInstance: _Handsontable.Core, row: number, col: number, prop: string | number, TD: HTMLTableCellElement, cellProperties: CellProperties)
304
-
305
- beginEditing(initialValue?: any, event?: Event): void;
306
- cancelChanges(): void;
307
- checkEditorSection(): 'top-left-corner' | 'top' | 'bottom-left-corner' | 'bottom' | 'left' | '';
308
- abstract close(): void;
309
- discardEditor(validationResult?: boolean): void;
310
- enableFullEditMode(): void;
311
- extend<T extends _editors.Base>(): T;
312
- finishEditing(restoreOriginalValue?: boolean, ctrlDown?: boolean, callback?: () => void): void;
313
- abstract focus(): void;
314
- getEditedCell(): HTMLTableCellElement | null;
315
- getEditedCellsZIndex(): string;
316
- abstract getValue(): any;
317
- init(): void;
318
- isInFullEditMode(): boolean;
319
- isOpened(): boolean;
320
- isWaiting(): boolean;
321
- abstract open(event?: Event): void;
322
- prepare(row: number, col: number, prop: string | number, TD: HTMLTableCellElement, originalValue: any, cellProperties: CellProperties): void;
323
- saveValue(val?: any, ctrlDown?: boolean): void;
324
- abstract setValue(newValue?: any): void;
325
- }
326
-
327
- class Checkbox extends Base {
328
- close(): void;
329
- focus(): void;
330
- getValue(): any;
331
- open(): void;
332
- setValue(newValue?: any): void;
333
- }
334
-
335
- class Mobile extends Base {
336
- close(): void;
337
- focus(): void;
338
- getValue(): any;
339
- open(): void;
340
- setValue(newValue?: any): void;
341
-
342
- hideCellPointer(): void;
343
- onBeforeKeyDown(event?: KeyboardEvent): void;
344
- prepareAndSave(): void;
345
- scrollToView(): void;
346
- updateEditorData(): void;
347
- updateEditorPosition(x?: number, y?: number): void;
348
- valueChanged(): boolean;
349
- }
350
-
351
- class Select extends Base {
352
- close(): void;
353
- focus(): void;
354
- getValue(): any;
355
- open(): void;
356
- setValue(newValue?: any): void;
357
-
358
- prepareOptions(optionsToPrepare?: RowObject | CellValue[]): void;
359
- refreshDimensions(): void;
360
- refreshValue(): void;
361
- registerHooks(): void;
362
- }
363
-
364
- class Text extends Base {
365
- close(): void;
366
- focus(): void;
367
- getValue(): any;
368
- open(): void;
369
- setValue(newValue?: any): void;
370
-
371
- bindEvents(): void;
372
- createElements(): void;
373
- destroy(): void;
374
- hideEditableElement(): void;
375
- showEditableElement(): void;
376
- refreshDimensions(force?: boolean): void;
377
- refreshValue(): void;
378
- TEXTAREA: HTMLInputElement;
379
- TEXTAREA_PARENT: HTMLElement;
380
- textareaStyle: CSSStyleDeclaration;
381
- }
382
-
383
- class Date extends Text {
384
- destroyElements(): void;
385
- getDatePickerConfig(): PikadayOptions;
386
- hideDatepicker(): void;
387
- open(event?: Event): void;
388
- showDatepicker(event?: Event): void;
389
- }
390
-
391
- class Handsontable extends Text {
392
- assignHooks(): void;
393
- }
394
-
395
- class Numeric extends Text { }
396
-
397
- class Password extends Text { }
398
-
399
- class Autocomplete extends Handsontable {
400
- allowKeyEventPropagation(keyCode?: number): boolean;
401
- flipDropdown(dropdownHeight?: number): void;
402
- flipDropdownIfNeeded(): void;
403
- getDropdownHeight(): number;
404
- highlightBestMatchingChoice(index?: number): void;
405
- limitDropdownIfNeeded(spaceAvailable?: number, dropdownHeight?: number): void;
406
- queryChoices(query?: string): void;
407
- sortByRelevance(value?: CellValue, choices?: CellValue[], caseSensitive?: boolean): any[];
408
- setDropdownHeight(height?: number): void;
409
- updateChoicesList(choices?: CellValue[]): void;
410
- unflipDropdown(): void;
411
- updateDropdownHeight(): void;
412
- }
413
-
414
- class Dropdown extends Autocomplete { }
415
- }
416
-
417
- namespace plugins {
418
- // utils for Filters
419
- namespace FiltersPlugin {
420
- type OperationType = 'conjunction' | 'disjunction';
421
- type ConditionName = 'begins_with' | 'between' | 'by_value' | 'contains' | 'empty' | 'ends_with' | 'eq' | 'gt' |
422
- 'gte' | 'lt' | 'lte' | 'not_between' | 'not_contains' | 'not_empty' | 'neq';
423
-
424
- type ColumnConditions = {
425
- column: number;
426
- conditions: Handsontable.plugins.FiltersPlugin.ConditionId[];
427
- operation: Handsontable.plugins.FiltersPlugin.OperationType;
428
- }
429
-
430
- interface ConditionId {
431
- args: any[];
432
- name?: ConditionName;
433
- command?: {
434
- key: ConditionName;
435
- }
436
- }
437
-
438
- interface Condition {
439
- name: ConditionName;
440
- args: any[];
441
- func: (dataRow: CellValue, values: any[]) => boolean;
442
- }
443
-
444
- interface CellLikeData {
445
- meta: {
446
- row: number;
447
- col: number;
448
- visualCol: number;
449
- visualRow: number;
450
- type: string;
451
- instance: _Handsontable.Core;
452
- dateFormat?: string;
453
- };
454
- value: string;
455
- }
456
-
457
- interface BaseComponent {
458
- hot: _Handsontable.Core;
459
- id: string;
460
- hidden: boolean;
461
- stateId: string;
462
- state: RecordTranslation.IndexMap;
463
- elements: any[];
464
-
465
- restoreState(): void;
466
- setState(state: any): void;
467
- saveState(physicalColumn: number): void;
468
- getState(): any;
469
- destroy(): boolean;
470
- hide(): void;
471
- isHidden(): boolean;
472
- reset(): void;
473
- show(): void;
474
- }
475
- interface ActionBarComponent extends BaseComponent {
476
- getMenuItemDescriptor(): object;
477
- accept(): void;
478
- cancel(): void;
479
- }
480
- interface ConditionComponent extends BaseComponent {
481
- getInputElement(index?: number): InputUI;
482
- getInputElements(): InputUI[];
483
- getMenuItemDescriptor(): object;
484
- getSelectElement(): SelectUI;
485
- getState(): object;
486
- setState(value: object): void;
487
- updateState(stateInfo: object): void;
488
- }
489
- interface ValueComponent extends BaseComponent {
490
- getMenuItemDescriptor(): object;
491
- getMultipleSelectElement(): MultipleSelectUI;
492
- getState(): object;
493
- setState(value: object): void;
494
- updateState(stateInfo: object): void;
495
- }
496
-
497
- interface BaseUI {
498
- buildState: boolean;
499
- eventManager: EventManager;
500
- hot: _Handsontable.Core;
501
- options: object;
502
-
503
- build(): void;
504
- destroy(): void;
505
- element(): Element;
506
- focus(): void;
507
- getValue(): any;
508
- hide(): void;
509
- isBuilt(): boolean;
510
- reset(): void;
511
- setValue(value: any): any;
512
- show(): void;
513
- update(): void;
514
- }
515
- interface InputUI extends BaseUI { }
516
- interface MultipleSelectUI extends BaseUI {
517
- clearAllUI: BaseUI;
518
- items: any[];
519
- itemsBox: _Handsontable.Core;
520
- searchInput: InputUI;
521
- selectAllUI: BaseUI;
522
-
523
- getItems(): void;
524
- getValue(): any[];
525
- isSelectedAllValues(): boolean;
526
- setItems(items: any[]): void;
527
- }
528
- interface SelectUI extends BaseUI {
529
- menu: Menu | void;
530
- items: any[];
531
-
532
- setItems(items: any[]): void;
533
- openOptions(): void;
534
- closeOptions(): void;
535
- }
536
-
537
- interface ConditionCollection {
538
- hot: _Handsontable.Core;
539
- isMapRegistrable: boolean;
540
- filteringStates: RecordTranslation.IndexMap;
541
- addCondition(column: number, conditionDefinition: ConditionId, operation?: OperationType, position?: number): void;
542
- clean(): void;
543
- destroy(): void;
544
- exportAllConditions(): ConditionId[];
545
- getConditions(column: number): Condition[];
546
- getFilteredColumns(): number[];
547
- getColumnStackPosition(column: number): number | void;
548
- getOperation(column: number): void | OperationType;
549
- hasConditions(column: number, name: string): boolean;
550
- isEmpty(): boolean;
551
- isMatch(value: CellLikeData, column: number): boolean;
552
- isMatchInConditions(conditions: Condition[], value: CellLikeData, operationType?: OperationType): boolean;
553
- importAllConditions(conditions: ConditionId[]): void;
554
- removeConditions(column: number): void;
555
- }
556
-
557
- interface ConditionUpdateObserver {
558
- hot: _Handsontable.Core;
559
- changes: number[];
560
- columnDataFactory: (column: number) => object[];
561
- conditionCollection: ConditionCollection;
562
- grouping: boolean;
563
- latestEditedColumnPosition: number;
564
- latestOrderStack: number[];
565
-
566
- destroy(): void;
567
- flush(): void;
568
- groupChanges(): void;
569
- updateStatesAtColumn(column: number, conditionArgsChange: object): void;
570
- }
571
- }
572
-
573
- interface BindStrategy {
574
- klass: () => void;
575
- strategy: string | void;
576
-
577
- clearMap(): void;
578
- createMap(length: number): void;
579
- createRow(params: any): void;
580
- destroy(): void;
581
- removeRow(params: any): void;
582
- setStrategy(name: string): void;
583
- translate(params: any): void;
584
- }
585
-
586
- interface CommandExecutor {
587
- hot: _Handsontable.Core;
588
- commands: object;
589
- commonCallback: (() => void) | void;
590
-
591
- registerCommand(name: string, commandDescriptor: object): void;
592
- setCommonCallback(callback: () => void): void;
593
- execute(commandName: string, ...params: any[]): void;
594
- }
595
-
596
- interface Cursor {
597
- cellHeight: number;
598
- cellWidth: number;
599
- left: number;
600
- leftRelative: number;
601
- rootWindow: Window;
602
- scrollLeft: number;
603
- scrollTop: number;
604
- top: number;
605
- topRelative: number;
606
- type: string;
607
-
608
- fitsAbove(element: HTMLElement): boolean;
609
- fitsBelow(element: HTMLElement, viewportHeight?: number): boolean;
610
- fitsOnLeft(element: HTMLElement): boolean;
611
- fitsOnRight(element: HTMLElement, viewportHeight?: number): boolean;
612
- getSourceType(object: any): string;
613
- }
614
-
615
- interface Endpoints {
616
- plugin: plugins.ColumnSummary;
617
- hot: _Handsontable.Core;
618
- endpoints: Endpoint[];
619
- settings: object | (() => void);
620
- settingsType: string;
621
- currentEndpoint: object | void;
622
-
623
- assignSetting(settings: object, endpoint: object, name: string, defaultValue: any): void;
624
- getAllEndpoints(): any[];
625
- getEndpoint(index: number): object;
626
- parseSettings(settings: any[]): void;
627
- refreshAllEndpoints(init: boolean): void;
628
- refreshChangedEndpoints(changes: any[]): void;
629
- refreshEndpoint(endpoint: object): void;
630
- resetAllEndpoints(endpoints: any[], useOffset?: boolean): void;
631
- resetEndpointValue(endpoint: object, useOffset?: boolean): void;
632
- setEndpointValue(endpoint: object, source: string, render?: boolean): void;
633
- }
634
-
635
- interface Endpoint {
636
- destinationRow: number;
637
- destinationColumn: number;
638
- forceNumeric: boolean;
639
- reversedRowCoords: boolean;
640
- suppressDataTypeErrors: boolean;
641
- readOnly: boolean;
642
- roundFloat: boolean;
643
- ranges: number[][];
644
- sourceColumn: number;
645
- type: 'sum' | 'min' | 'max' | 'count' | 'average' | 'custom';
646
- result: number;
647
- customFunction: ((this: ColumnSummary, endpoint: Endpoint) => number) | null;
648
- }
649
-
650
- interface EventManager {
651
- context?: object;
652
-
653
- addEventListener(element: Element, eventName: string, callback: (event: Event) => void): () => void;
654
- removeEventListener(element: Element, eventName: string, callback: (event: Event) => void): void;
655
- clearEvents(): void;
656
- clear(): void;
657
- destroy(): void;
658
- fireEvent(element: Element, eventName: string): void;
659
- extendEvent(context: object, event: Event): any;
660
- }
661
-
662
- interface GhostTable {
663
- columns: number[];
664
- container: HTMLElement | null;
665
- hot: _Handsontable.Core;
666
- injected: boolean;
667
- rows: object[];
668
- samples: object | null;
669
- settings: object;
670
-
671
- addRow(row: number, samples: object): void;
672
- addColumn(column: number, samples: object): void;
673
- addColumnHeadersRow(samples: object): void;
674
- clean(): void;
675
- createCol(column: number): DocumentFragment;
676
- createColElement(column: number): HTMLElement;
677
- createColGroupsCol(): DocumentFragment;
678
- createColumnHeadersRow(): DocumentFragment;
679
- createContainer(className?: string): object;
680
- createRow(row: number): DocumentFragment;
681
- createTable(className?: string): object;
682
- getHeights(callback: (row: number, height: number) => void): void;
683
- getWidths(callback: (row: number, height: number) => void): void;
684
- getSettings(): object | void;
685
- getSetting(name: string): boolean | void;
686
- injectTable(parent?: HTMLElement | void): void;
687
- isHorizontal(): boolean;
688
- isVertical(): boolean;
689
- removeTable(): void;
690
- setSettings(settings: GridSettings): void;
691
- setSetting(name: string, value: any): void;
692
- }
693
-
694
- interface ItemsFactory {
695
- defaultOrderPattern: any[] | void;
696
- hot: _Handsontable.Core;
697
- predefinedItems: object;
698
-
699
- getItems(pattern?: any[] | object | boolean): any[];
700
- setPredefinedItems(predefinedItems: any[]): void;
701
- }
702
-
703
- interface Menu {
704
- container: HTMLElement;
705
- eventManager: EventManager;
706
- hot: _Handsontable.Core;
707
- hotMenu: _Handsontable.Core;
708
- hotSubMenus: object;
709
- keyEvent: boolean;
710
- menuItems: any[] | null;
711
- offset: object;
712
- options: object;
713
- origOutsideClickDeselects: boolean | (() => void);
714
- parentMenu: Menu | null;
715
-
716
- close(closeParent?: boolean): void;
717
- closeSubMenu(row: number): void;
718
- closeAllSubMenus(): void;
719
- destroy(): void;
720
- executeCommand(event: Event): void;
721
- isOpened(): boolean;
722
- isSubMenu(): boolean;
723
- open(): void;
724
- openSubMenu(row: number): Menu | boolean;
725
- setMenuItems(menuItems: any[]): void;
726
- setOffset(area: string, offset?: number): void;
727
- selectLastCell(): void;
728
- selectFirstCell(): void;
729
- selectPrevCell(row: number, col: number): void;
730
- selectNextCell(row: number, col: number): void;
731
- setPosition(coords: Event | object): void;
732
- setPositionAboveCursor(cursor: Cursor): void;
733
- setPositionBelowCursor(cursor: Cursor): void;
734
- setPositionOnLeftOfCursor(cursor: Cursor): void;
735
- setPositionOnRightOfCursor(cursor: Cursor): void;
736
- }
737
-
738
- interface SamplesGenerator {
739
- allowDuplicates: boolean | null;
740
- customSampleCount: boolean | null;
741
- dataFactory: () => void;
742
- samples: object | null;
743
-
744
- generateColumnSamples(colRange: object, rowRange: object): object;
745
- generateRowSamples(rowRange: object | number, colRange: object): object;
746
- generateSamples(type: string, range: object, specifierRange: object | number): object;
747
- generateSample(type: string, range: object, specifierValue: number): object
748
- getSampleCount(): number;
749
- setAllowDuplicates(allowDuplicates: boolean): void;
750
- setSampleCount(sampleCount: number): void;
751
- }
752
-
753
- class Base {
754
- pluginName: string;
755
- pluginsInitializedCallback: any[];
756
- isPluginsReady: boolean;
757
- enabled: boolean;
758
- initialized: boolean;
759
- hot: _Handsontable.Core;
760
-
761
- constructor(hotInstance?: _Handsontable.Core)
762
-
763
- addHook(name: string, callback: (...args: any[]) => any): void;
764
- callOnPluginsReady(callback: () => void): void;
765
- clearHooks(): void;
766
- destroy(): void;
767
- isEnabled(): boolean;
768
- disablePlugin(): void;
769
- enablePlugin(): void;
770
- updatePlugin(): void;
771
- init(): void;
772
- removeHooks(name: string): void;
773
- }
774
-
775
- interface Base {
776
- new(hotInstance?: _Handsontable.Core): Base;
777
- }
778
-
779
- interface AutoColumnSize extends Base {
780
- firstCalculation: boolean;
781
- ghostTable: GhostTable;
782
- inProgress: boolean;
783
- measuredRows: number;
784
- samplesGenerator: SamplesGenerator;
785
-
786
- calculateAllColumnsWidth(rowRange?: number | object): void;
787
- calculateColumnsWidth(colRange?: number | object, rowRange?: number | object, force?: boolean): void;
788
- calculateVisibleColumnsWidth(): void;
789
- clearCache(columns?: any[]): void;
790
- findColumnsWhereHeaderWasChanged(): any[];
791
- getColumnWidth(col: number, defaultWidth?: number, keepMinimum?: boolean): number;
792
- getFirstVisibleColumn(): number;
793
- getLastVisibleColumn(): number;
794
- getSyncCalculationLimit(): number;
795
- isNeedRecalculate(): boolean;
796
- recalculateAllColumnsWidth(): void;
797
- }
798
-
799
- interface AutoRowSize extends Base {
800
- firstCalculation: boolean;
801
- heights: any[];
802
- ghostTable: GhostTable;
803
- inProgress: boolean;
804
- measuredColumns: number;
805
- sampleGenerator: SamplesGenerator;
806
-
807
- calculateAllRowsHeight(colRange?: number | object): void;
808
- calculateRowsHeight(rowRange?: number | object, colRange?: number | object, force?: boolean): void;
809
- clearCache(): void;
810
- clearCacheByRange(range: number | object): void;
811
- findColumnsWhereHeaderWasChanged(): any[];
812
- getColumnHeaderHeight(): number | void;
813
- getFirstVisibleRow(): number;
814
- getLastVisibleRow(): number;
815
- getRowHeight(col: number, defaultHeight?: number): number;
816
- getSyncCalculationLimit(): number;
817
- isNeedRecalculate(): boolean;
818
- recalculateAllRowsHeight(): void;
819
- }
820
-
821
- interface Autofill extends Base {
822
- addingStarted: boolean;
823
- autoInsertRow: boolean;
824
- directions: string[];
825
- eventManager: EventManager;
826
- handleDraggedCells: number;
827
- mouseDownOnCellCorner: boolean;
828
- mouseDragOutside: boolean;
829
- }
830
-
831
- interface BindRowsWithHeaders extends Base {
832
- bindStrategy: BindStrategy;
833
- removeRows: any[];
834
- }
835
-
836
- interface CollapsibleColumns extends Base {
837
- collapseAll(): void;
838
- collapseSection(coords: { row: number, col: number }): void;
839
- expandAll(): void;
840
- expandSection(coords: { row: number, col: number }): void;
841
- toggleAllCollapsibleSections(action: 'collapse' | 'expand'): void;
842
- toggleCollapsibleSection(coords: { row: number, col: number }, action: 'collapse' | 'expand'): void;
843
- }
844
-
845
- interface ColumnSorting extends Base {
846
- clearSort(): void;
847
- destroy(): void;
848
- getSortConfig(column: number): void | columnSorting.Config
849
- getSortConfig(): Array<columnSorting.Config>
850
- isSorted(): boolean;
851
- setSortConfig(sortConfig?: columnSorting.Config | Array<columnSorting.Config>): void;
852
- sort(sortConfig?: columnSorting.Config): void;
853
- }
854
-
855
- interface ColumnSummary extends Base {
856
- endpoints: Endpoints | void;
857
-
858
- calculate(endpoint: Endpoints): void;
859
- calculateAverage(endpoint: Endpoints): number;
860
- calculateMinMax(endpoint: Endpoints, type: string): number;
861
- calculateSum(endpoint: Endpoints): void;
862
- countEmpty(rowRange: any[], col: number): number;
863
- countEntries(endpoint: Endpoints): number;
864
- getCellValue(row: number, col: number): string;
865
- getPartialMinMax(rowRange: any[], col: number, type: string): number;
866
- getPartialSum(rowRange: any[], col: number): number;
867
- }
868
-
869
- type CommentsRangeObject = {
870
- from: wot.CellCoords;
871
- to?: wot.CellCoords;
872
- }
873
-
874
- interface Comments extends Base {
875
- contextMenuEvent: boolean;
876
- displayDelay: number;
877
- editor: CommentEditor;
878
- eventManager: EventManager;
879
- mouseDown: boolean;
880
- range: CommentsRangeObject;
881
- timer: any;
882
-
883
- clearRange(): void;
884
- getComment(): string;
885
- getCommentAtCell(row: number, column: number): string | undefined;
886
- getCommentMeta(row: number, column: number, property: string): any;
887
- hide(): void;
888
- refreshEditor(force?: boolean): void;
889
- removeComment(forceRender?: boolean): void;
890
- removeCommentAtCell(row: number, col: number, forceRender?: boolean): void;
891
- setComment(value: string): void;
892
- setCommentAtCell(row: number, col: number, value: string): void;
893
- setRange(range: CommentsRangeObject): void;
894
- show(): boolean;
895
- showAtCell(row: number, col: number): boolean;
896
- targetIsCellWithComment(event: Event): boolean;
897
- targetIsCommentTextArea(event: Event): boolean;
898
- updateCommentMeta(row: number, column: number, metaObject: object): void;
899
- }
900
-
901
- interface CommentEditor {
902
- editor: HTMLElement;
903
- editorStyle: CSSStyleDeclaration;
904
- hidden: boolean;
905
- rootDocument: Document;
906
-
907
- setPosition(x: number, y: number): void;
908
- setSize(width: number, height: number): void;
909
- resetSize(): void;
910
- setReadOnlyState(state: boolean): void;
911
- show(): void;
912
- hide(): void;
913
- isVisible(): boolean;
914
- setValue(value?: string): void;
915
- getValue(): string;
916
- isFocused(): boolean;
917
- focus(): void;
918
- createEditor(): HTMLElement;
919
- getInputElement(): HTMLElement;
920
- destroy(): void;
921
- }
922
-
923
- interface ContextMenu extends Base {
924
- DEFAULT_ITEMS: contextMenu.PredefinedMenuItemKey[];
925
- SEPARATOR: SeparatorObject;
926
- eventManager: EventManager;
927
- commandExecutor: CommandExecutor;
928
- itemsFactory: ItemsFactory | void;
929
- menu: Menu | void;
930
-
931
- close(): void;
932
- executeCommand(commandName: string, ...params: any[]): void;
933
- open(event: Event): void;
934
- }
935
-
936
- interface FocusableWrapper {
937
- eventManager: EventManager;
938
- listenersCount: WeakSet<HTMLElement>;
939
- mainElement: HTMLElement;
940
- rootDocument: Document;
941
-
942
- useSecondaryElement(): void;
943
- setFocusableElement(element: HTMLElement): void;
944
- getFocusableElement(): HTMLElement;
945
- focus(): void;
946
- }
947
-
948
- type PasteModeType = 'overwrite' | 'shift_down' | 'shift_right';
949
- type RangeType = { startRow: number, startCol: number, endRow: number, endCol: number };
950
-
951
- interface CopyPaste extends Base {
952
- columnsLimit: number;
953
- copyableRanges: any[];
954
- focusableElement: FocusableWrapper;
955
- pasteMode: PasteModeType;
956
- rowsLimit: number;
957
- uiContainer: HTMLElement;
958
-
959
- copy(): void;
960
- cut(): void;
961
- getRangedCopyableData(ranges: RangeType[]): string;
962
- getRangedData(ranges: RangeType[]): any[];
963
- paste(pastableText?: string, pastableHtml?: string): void;
964
- setCopyableText(): void;
965
- }
966
-
967
- interface CustomBorders extends Base {
968
- savedBorderSettings: any[];
969
-
970
- setBorders(selection: Range[] | Array<[number, number, number, number]>, borderObject: object): void;
971
- getBorders(selection: Range[] | Array<[number, number, number, number]>): Array<[object]>;
972
- clearBorders(selection: Range[] | Array<[number, number, number, number]>): void;
973
- }
974
-
975
- interface DragToScroll extends Base {
976
- boundaries: object | void;
977
- callback: (() => void) | void;
978
-
979
- check(x: number, y: number): void;
980
- setBoundaries(boundaries: object): void;
981
- setCallback(callback: () => void): void;
982
- }
983
-
984
- type SeparatorObject = {
985
- name: string;
986
- }
987
-
988
- interface DropdownMenu extends Base {
989
- eventManager: EventManager;
990
- commandExecutor: CommandExecutor;
991
- itemsFactory: ItemsFactory | void;
992
- menu: Menu | void;
993
- SEPARATOR: SeparatorObject
994
-
995
- close(): void;
996
- executeCommand(commandName: string, ...params: any[]): void;
997
- open(event: Event): void;
998
- }
999
-
1000
- interface ExportFile extends Base {
1001
- downloadFile(format: string, options: object): void;
1002
- exportAsString(format: string, options?: object): string;
1003
- exportAsBlob(format: string, options?: object): Blob;
1004
- }
1005
-
1006
- interface Filters extends Base {
1007
- actionBarComponent: FiltersPlugin.ActionBarComponent | void;
1008
- dropdownMenuPlugin: DropdownMenu | void;
1009
- eventManager: EventManager;
1010
- conditionComponent: FiltersPlugin.ConditionComponent | void;
1011
- conditionCollection: FiltersPlugin.ConditionCollection | void;
1012
- conditionUpdateObserver: FiltersPlugin.ConditionUpdateObserver | void;
1013
- lastSelectedColumn?: number | void;
1014
- trimRowsPlugin: TrimRows | void;
1015
- valueComponent: FiltersPlugin.ValueComponent | void;
1016
-
1017
- addCondition(column: number, name: string, args: any[], operationId?: FiltersPlugin.OperationType): void;
1018
- clearColumnSelection(): void;
1019
- clearConditions(column?: number | void): void;
1020
- getDataMapAtColumn(column: number): FiltersPlugin.CellLikeData[];
1021
- getSelectedColumn(): number | void;
1022
- filter(): void;
1023
- removeConditions(column: number): void;
1024
- }
1025
-
1026
- interface DataProvider {
1027
- changes: object;
1028
- hot: _Handsontable.Core;
1029
-
1030
- clearChanges(): void;
1031
- collectChanges(row: number, column: number, value: any): void;
1032
- destroy(): void;
1033
- getDataAtCell(row: number, column: number): any;
1034
- getDataByRange(row1: number, column1: number, row2: number, column2: number): any[];
1035
- getRawDataAtCell(row: number, column: number): any;
1036
- getRawDataByRange(row1: number, column1: number, row2: number, column2: number): any[];
1037
- getSourceDataByRange(row1: number, column1: number, row2: number, column2: number): any[];
1038
- getSourceDataAtCell(row: number, column: number): any;
1039
- isInDataRange(row: number, column: number): boolean;
1040
- updateSourceData(row: number, column: number, value: any): void;
1041
- }
1042
-
1043
- interface AlterManager {
1044
- sheet: Sheet;
1045
- hot: _Handsontable.Core;
1046
- dataProvider: DataProvider;
1047
- matrix: Matrix;
1048
-
1049
- prepareAlter(action: string, args: any): void;
1050
- triggerAlter(action: string, args: any): void;
1051
- destroy(): void;
1052
- }
1053
-
1054
- interface Matrix {
1055
- data: any[];
1056
- cellReferences: any[];
1057
-
1058
- getCellAt(row: number, column: number): CellValue | void;
1059
- getOutOfDateCells(): any[];
1060
- add(cellValue: CellValue | object): void;
1061
- remove(cellValue: CellValue | object | any[]): void;
1062
- getDependencies(cellCoord: object): void;
1063
- registerCellRef(cellReference: CellReference | object): void;
1064
- removeCellRefsAtRange(start: object, end: object): any[];
1065
- reset(): void;
1066
- }
1067
-
1068
- interface BaseCell {
1069
- columnAbsolute: boolean;
1070
- columnOffset: number;
1071
- rowAbsolute: boolean;
1072
- rowOffset: number;
1073
-
1074
- isEqual(cell: BaseCell): boolean;
1075
- toString(): string;
1076
- translateTo(rowOffset: number, columnOffset: number): void;
1077
- }
1078
-
1079
- interface CellReference extends BaseCell { }
1080
-
1081
- interface CellValue extends BaseCell {
1082
- error: string | void;
1083
- precedents: any[];
1084
- state: string;
1085
- value: any;
1086
-
1087
- addPrecedent(cellReference: CellReference): void;
1088
- clearPrecedents(): void;
1089
- getError(): string | void;
1090
- getPrecedents(): any[];
1091
- getValue(): any;
1092
- hasError(): boolean;
1093
- hasPrecedent(cellReference: CellReference): boolean;
1094
- hasPrecedents(): boolean;
1095
- isState(state: number): boolean;
1096
- removePrecedent(cellReference: CellReference): void;
1097
- setError(error: string): void;
1098
- setState(state: number): void;
1099
- setValue(value: any): void;
1100
- }
1101
-
1102
- type Parser = {};
1103
-
1104
- interface Sheet {
1105
- alterManager: AlterManager
1106
- dataProvider: DataProvider;
1107
- hot: _Handsontable.Core;
1108
- matrix: Matrix;
1109
- parser: Parser;
1110
-
1111
- applyChanges(row: number, column: number, newValue: any): void;
1112
- destroy(): void;
1113
- getCellAt(row: number, column: number): CellValue | void;
1114
- getCellDependencies(row: number, column: number): any[];
1115
- getVariable(name: string): any;
1116
- parseExpression(cellValue: CellValue | object, formula: string): void;
1117
- recalculate(): void;
1118
- recalculateFull(): void;
1119
- recalculateOptimized(): void;
1120
- setVariable(name: string, value: any): void;
1121
- }
1122
-
1123
- interface Stack {
1124
- items: any[];
1125
-
1126
- isEmpty(): boolean;
1127
- peek(): any;
1128
- pop(): any;
1129
- push(items: any): void;
1130
- size(): number;
1131
- }
1132
-
1133
- interface UndoRedoSnapshot {
1134
- sheet: Sheet;
1135
- stack: Stack;
1136
-
1137
- destroy(): void;
1138
- restore(): void;
1139
- save(axis: string, index: number, amount: number): void;
1140
- }
1141
-
1142
- namespace UndoRedoAction {
1143
- type Change = {
1144
- actionType: 'change';
1145
- changes: CellChange[];
1146
- selected: [number, number][]
1147
- };
1148
- type InsertRow = {
1149
- actionType: 'insert_row';
1150
- amount: number;
1151
- index: number;
1152
- }
1153
- type RemoveRow = {
1154
- actionType: 'remove_row';
1155
- index: number;
1156
- data: CellValue[][];
1157
- }
1158
- type InsertCol = {
1159
- actionType: 'insert_col';
1160
- amount: number;
1161
- index: number;
1162
- }
1163
- type RemoveCol = {
1164
- actionType: 'remove_col';
1165
- amount: number;
1166
- columnPositions: number[];
1167
- index: number;
1168
- indexes: number[];
1169
- headers: string[];
1170
- data: CellValue[][];
1171
- }
1172
- type Filter = {
1173
- actionType: 'filter';
1174
- conditionsStack: FiltersPlugin.ColumnConditions[];
1175
- }
1176
- }
1177
-
1178
- type UndoRedoAction = UndoRedoAction.Change | UndoRedoAction.InsertRow | UndoRedoAction.RemoveRow | UndoRedoAction.InsertCol | UndoRedoAction.RemoveCol | UndoRedoAction.Filter;
1179
-
1180
- interface Formulas extends Base {
1181
- engine: HyperFormula | null;
1182
- sheetName: string | null;
1183
- sheetId: number | null;
1184
-
1185
- addSheet(sheetName?: string | null, sheetData?: CellValue[][]): boolean | string;
1186
- getCellType(row: number, col: number, sheet?: number): HyperFormulaCellType;
1187
- switchSheet(sheetName: string): void;
1188
- }
1189
-
1190
- interface HiddenColumns extends Base {
1191
- isHidden(column: number): boolean;
1192
- hideColumn(column: number): void;
1193
- hideColumns(columns: number[]): void;
1194
- showColumn(column: number): void;
1195
- showColumns(columns: number[]): void;
1196
- getHiddenColumns(): number[];
1197
- isValidConfig(hiddenColumns: number[]): boolean;
1198
- }
1199
-
1200
- interface HiddenRows extends Base {
1201
- isHidden(row: number): boolean;
1202
- hideRow(row: number): void;
1203
- hideRows(rows: number[]): void;
1204
- showRow(row: number): void;
1205
- showRows(rows: number[]): void;
1206
- getHiddenRows(): number[];
1207
- isValidConfig(hiddenRows: number[]): boolean;
1208
- }
1209
-
1210
- interface ManualColumnFreeze extends Base {
1211
- freezeColumn(column: number): void;
1212
- unfreezeColumn(column: number): void;
1213
- }
1214
-
1215
- interface MultiColumnSorting extends Base {
1216
- clearSort(): void;
1217
- destroy(): void;
1218
- getSortConfig(column: number): void | columnSorting.Config;
1219
- getSortConfig(): Array<columnSorting.Config>;
1220
- isSorted(): boolean;
1221
- setSortConfig(sortConfig?: columnSorting.Config | Array<columnSorting.Config>): void;
1222
- sort(sortConfig?: columnSorting.Config | Array<columnSorting.Config>): void;
1223
- }
1224
-
1225
- namespace moveUI {
1226
- interface BaseUI {
1227
- hot: _Handsontable.Core;
1228
- state: number;
1229
-
1230
- appendTo(wrapper: HTMLElement): void;
1231
- build(): void;
1232
- destroy(): void;
1233
- getOffset(): object;
1234
- getPosition(): object;
1235
- getSize(): object;
1236
- isAppended(): boolean;
1237
- isBuilt(): boolean;
1238
- setOffset(top: number, left: number): void;
1239
- setPosition(top: number, left: number): void;
1240
- setSize(width: number, height: number): void;
1241
- }
1242
-
1243
- interface BacklightUI extends BaseUI { }
1244
- interface GuidelineUI extends BaseUI { }
1245
- }
1246
-
1247
- interface MergeCells extends Base {
1248
- mergedCellsCollection: MergeCellsPlugin.MergedCellsCollection;
1249
- autofillCalculations: MergeCellsPlugin.AutofillCalculations;
1250
- selectionCalculations: MergeCellsPlugin.SelectionCalculations;
1251
-
1252
- clearCollections(): void;
1253
- mergeSelection(cellRange: wot.CellRange): void;
1254
- merge(startRow: number, startColumn: number, endRow: number, endColumn: number): void;
1255
- unmerge(startRow: number, startColumn: number, endRow: number, endColumn: number): void;
1256
- }
1257
-
1258
- namespace MergeCellsPlugin {
1259
- interface AutofillCalculations {
1260
- plugin: MergeCells;
1261
- mergedCellsCollection: MergeCellsPlugin.MergedCellsCollection;
1262
- currentFillData: object;
1263
-
1264
- correctSelectionAreaSize(selectionArea: number[]): void;
1265
- getDirection(selectionArea: number[], finalArea: number[]): string;
1266
- snapDragArea(baseArea: number[], dragArea: number[], dragDirection: string, foundMergedCells: MergeCellsPlugin.MergedCellCoords[]): number[];
1267
- recreateAfterDataPopulation(changes: any[]): void;
1268
- dragAreaOverlapsCollections(baseArea: number[], fullArea: number[], direction: string): boolean;
1269
- }
1270
-
1271
- interface SelectionCalculations {
1272
- snapDelta(delta: object, selectionRange: wot.CellRange, mergedCell: MergeCellsPlugin.MergedCellCoords): void;
1273
- getUpdatedSelectionRange(oldSelectionRange: wot.CellRange, delta: object): wot.CellRange;
1274
- }
1275
-
1276
- interface MergedCellCoords {
1277
- row: number;
1278
- col: number;
1279
- rowspan: number;
1280
- colspan: number;
1281
- removed: boolean;
1282
-
1283
- normalize(hotInstance: _Handsontable.Core): void;
1284
- includes(row: number, column: number): boolean;
1285
- includesHorizontally(column: number): boolean;
1286
- includesVertically(row: number): boolean;
1287
- shift(shiftVector: number[], indexOfChange: number): boolean;
1288
- isFarther(mergedCell: MergeCellsPlugin.MergedCellCoords, direction: string): boolean | void;
1289
- getLastRow(): number;
1290
- getLastColumn(): number;
1291
- getRange(): wot.CellRange;
1292
- }
1293
-
1294
- interface MergedCellsCollection {
1295
- plugin: MergeCells;
1296
- mergedCells: MergeCellsPlugin.MergedCellCoords[];
1297
- hot: _Handsontable.Core;
1298
-
1299
- get(row: number, column: number): MergeCellsPlugin.MergedCellCoords | boolean;
1300
- getByRange(range: wot.CellRange | object): MergeCellsPlugin.MergedCellCoords | boolean;
1301
- getWithinRange(range: wot.CellRange | object, countPartials: boolean): MergeCellsPlugin.MergedCellCoords[] | boolean;
1302
- add(mergedCellInfo: object): MergeCellsPlugin.MergedCellCoords | boolean;
1303
- remove(row: number, column: number): MergeCellsPlugin.MergedCellCoords | boolean;
1304
- clear(): void;
1305
- isOverlapping(mergedCell: MergeCellsPlugin.MergedCellCoords): boolean;
1306
- isFirstRenderableMergedCell(row: number, column: number): boolean;
1307
- shiftCollections(direction: string, index: number, count: number): void;
1308
- }
1309
- }
1310
-
1311
- interface ManualColumnMove extends Base {
1312
- backlight: moveUI.BacklightUI;
1313
- eventManager: EventManager;
1314
- guideline: moveUI.GuidelineUI;
1315
-
1316
- moveColumn(column: number, finalIndex: number): boolean;
1317
- moveColumns(columns: number[], finalIndex: number): boolean;
1318
- dragColumn(column: number, dropIndex: number): boolean;
1319
- dragColumns(columns: number[], dropIndex: number): boolean;
1320
- isMovePossible(columns: number[], finalIndex: number): boolean;
1321
- }
1322
-
1323
- interface ManualColumnResize extends Base {
1324
- autoresizeTimeout: (() => void) | void;
1325
- currentCol: number | void;
1326
- currentTH: HTMLElement | void;
1327
- currentWidth: number | void;
1328
- dblclick: number;
1329
- eventManager: EventManager;
1330
- guide: HTMLElement;
1331
- handle: HTMLElement;
1332
- manualColumnWidths: any[];
1333
- newSize: number | void;
1334
- pressed: _Handsontable.Core | void;
1335
- selectedCols: any[];
1336
- startOffset: number | void;
1337
- startWidth: number | void;
1338
- startY: number | void;
1339
-
1340
- checkIfColumnHeader(element: HTMLElement): boolean;
1341
- clearManualSize(column: number): void;
1342
- getClosestTHParent(element: HTMLElement): HTMLElement;
1343
- hideHandleAndGuide(): void;
1344
- loadManualColumnWidths(): (number | null)[];
1345
- refreshGuidePosition(): void;
1346
- refreshHandlePosition(): void;
1347
- saveManualColumnWidths(): void;
1348
- setManualSize(column: number, width: number): number;
1349
- setupGuidePosition(): void;
1350
- setupHandlePosition(TH: HTMLElement): boolean | void;
1351
- }
1352
-
1353
- interface ManualRowMove extends Base {
1354
- backlight: moveUI.BacklightUI;
1355
- eventManager: EventManager;
1356
- guideline: moveUI.GuidelineUI;
1357
-
1358
- moveRow(row: number, finalIndex: number): boolean;
1359
- moveRows(rows: number[], finalIndex: number): boolean;
1360
- dragRow(row: number, dropIndex: number): boolean;
1361
- dragRows(rows: number[], dropIndex: number): boolean;
1362
- isMovePossible(rows: number[], finalIndex: number): boolean;
1363
- }
1364
-
1365
- interface ManualRowResize extends Base {
1366
- autoresizeTimeout: (() => void) | void;
1367
- currentRow: number | void;
1368
- currentTH: HTMLElement | void;
1369
- currentWidth: number | void;
1370
- dblclick: number;
1371
- eventManager: EventManager;
1372
- guide: HTMLElement;
1373
- handle: HTMLElement;
1374
- manualRowHeights: any[];
1375
- newSize: number | void;
1376
- pressed: _Handsontable.Core | void;
1377
- selectedRows: any[];
1378
- startOffset: number | void;
1379
- startWidth: number | void;
1380
- startY: number | void;
1381
-
1382
- checkIfRowHeader(element: HTMLElement): boolean;
1383
- clearManualSize(column: number): void;
1384
- getClosestTHParent(element: HTMLElement): HTMLElement;
1385
- hideHandleAndGuide(): void;
1386
- loadManualRowHeights(): (number|null)[];
1387
- refreshGuidePosition(): void;
1388
- refreshHandlePosition(): void;
1389
- saveManualRowHeights(): void;
1390
- setManualSize(column: number, width: number): number;
1391
- setupGuidePosition(): void;
1392
- setupHandlePosition(TH: HTMLElement): boolean | void;
1393
- }
1394
-
1395
- interface MultipleSelectionHandles extends Base {
1396
- dragged: any[];
1397
- eventManager: EventManager;
1398
- lastSetCell: HTMLElement | void;
1399
-
1400
- getCurrentRangeCoords(selectedRange: wot.CellRange, currentTouch: wot.CellCoords, touchStartDirection: string, currentDirection: string, draggedHandle: string): object;
1401
- isDragged(): boolean;
1402
- }
1403
-
1404
- interface NestedHeaders extends Base {
1405
- detectedOverlappedHeaders: boolean;
1406
- }
1407
-
1408
- interface DataManager {
1409
- cache: object;
1410
- data: object;
1411
- hot: _Handsontable.Core;
1412
- parentReference: any; //WeakMap
1413
- plugin: NestedRows;
1414
-
1415
- addChild(parent: object, element?: object): void;
1416
- addChildAtIndex(parent: object, index: number, element?: object, globalIndex?: number): void;
1417
- addSibling(index: number, where?: string): void;
1418
- countAllRows(): number;
1419
- countChildren(parent: object | number): number;
1420
- detachFromParent(elements: object | any[], forceRender?: boolean): void;
1421
- getDataObject(row: number): any | void;
1422
- getRowIndex(rowObj: object): number | void;
1423
- getRowIndexWithinParent(row: number | object): number;
1424
- getRowLevel(row: number): number | void;
1425
- getRowParent(row: number | object): object | void;
1426
- hasChildren(row: number | object): boolean;
1427
- isParent(row: number | object): boolean;
1428
- moveRow(fromIndex: number, toIndex: number): void;
1429
- rewriteCache(): void;
1430
- }
1431
-
1432
- interface NestedRows extends Base {
1433
- bindRowsWithHeadersPlugin: BindRowsWithHeaders | void;
1434
- dataManager: DataManager | void;
1435
- headersUI: object | void;
1436
- collapsingUI: object | void;
1437
- sourceData: object | void;
1438
- trimRowsPlugin: TrimRows | void;
1439
- }
1440
-
1441
- interface DataObserver {
1442
- observedData: any[];
1443
- observer: object;
1444
- paused: boolean;
1445
-
1446
- destroy(): void;
1447
- isPaused(): boolean;
1448
- pause(): void;
1449
- resume(): void;
1450
- setObservedData(observedData: any): void;
1451
- }
1452
-
1453
- interface TouchScroll extends Base {
1454
- clones: any[];
1455
- lockedCollection: boolean;
1456
- scrollbars: any[];
1457
- }
1458
-
1459
- interface TrimRows extends Base {
1460
- trimmedRows: any[];
1461
- removedRows: any[];
1462
-
1463
- isTrimmed(row: number): boolean;
1464
- getTrimmedRows(): number[];
1465
- trimRow(row: number): void;
1466
- trimRows(rows: number[]): void;
1467
- untrimAll(): void;
1468
- untrimRow(row: number): void;
1469
- untrimRows(rows: number[]): void;
1470
- }
1471
-
1472
- interface Storage {
1473
- prefix: string;
1474
- rootWindow: Window;
1475
- savedKeys: string[];
1476
-
1477
- clearSavedKeys(): void;
1478
- loadSavedKeys(): void;
1479
- loadValue(key: string, defaultValue: object): any;
1480
- resetAll(): void;
1481
- saveSavedKeys(): void;
1482
- saveValue(key: string, value: any): void;
1483
- }
1484
-
1485
- interface PersistenState extends Base {
1486
- storage: Storage;
1487
-
1488
- loadValue(key: string, saveTo: object): void;
1489
- saveValue(key: string, value: any): void;
1490
- resetValue(key: string): void;
1491
- }
1492
-
1493
- interface Search extends Base {
1494
- callback: search.SearchCallback;
1495
- queryMethod: search.SearchQueryMethod;
1496
- searchResultClass: string;
1497
-
1498
- query(queryStr: string, callback?: search.SearchCallback, queryMethod?: search.SearchQueryMethod): SearchResult[];
1499
- getCallback(): search.SearchCallback;
1500
- setCallback(newCallback: search.SearchCallback): void;
1501
- getQueryMethod(): search.SearchQueryMethod;
1502
- setQueryMethod(newQueryMethod: search.SearchQueryMethod): void;
1503
- getSearchResultClass(): string;
1504
- setSearchResultClass(newElementClass: string): void;
1505
- }
1506
-
1507
- type SearchResult = { row: number; col: number; data: CellValue };
1508
- }
1509
-
1510
- namespace renderers {
1511
- interface Base {
1512
- (instance: _Handsontable.Core, TD: HTMLTableCellElement, row: number, col: number, prop: string | number, value: CellValue, cellProperties: CellProperties): HTMLTableCellElement | void;
1513
- }
1514
-
1515
- interface Autocomplete extends Base { }
1516
-
1517
- interface Checkbox extends Base { }
1518
-
1519
- interface Html extends Base { }
1520
-
1521
- interface Numeric extends Base { }
1522
-
1523
- interface Password extends Base { }
1524
-
1525
- interface Text extends Base { }
1526
- }
1527
-
1528
- namespace validators {
1529
- interface Base {
1530
- (this: CellProperties, value: CellValue, callback: (valid: boolean) => void): void;
1531
- }
1532
-
1533
- interface Autocomplete extends Base { }
1534
-
1535
- interface Date extends Base { }
1536
-
1537
- interface Numeric extends Base { }
1538
-
1539
- interface Time extends Base { }
1540
- }
1541
-
1542
- interface EventManager {
1543
- new(context: object): plugins.EventManager;
1544
- }
1545
-
1546
- /**
1547
- * A rendered cell object with computed properties.
1548
- */
1549
- interface CellProperties extends CellMeta {
1550
- row: number;
1551
- col: number;
1552
- instance: Handsontable;
1553
- visualRow: number;
1554
- visualCol: number;
1555
- prop: string | number;
1556
- }
1557
-
1558
- /**
1559
- * Additional cell-specific meta data.
1560
- */
1561
- interface CellMeta extends ColumnSettings {
1562
- valid?: boolean;
1563
- comment?: comments.CommentObject;
1564
- isSearchResult?: boolean;
1565
- hidden?: boolean;
1566
- skipRowOnPaste?: boolean;
1567
- }
1568
-
1569
- /**
1570
- * Column settings inherit grid settings but overload the meaning of `data` to be specific to each column.
1571
- */
1572
- interface ColumnSettings extends Omit<GridSettings, "data"> {
1573
- data?: string | number | ColumnDataGetterSetterFunction;
1574
- /**
1575
- * Column and cell meta data is extensible, developers can add any properties they want.
1576
- */
1577
- [key: string]: any;
1578
- }
1579
-
1580
- interface ColumnDataGetterSetterFunction {
1581
- (row: RowObject | CellValue[]): CellValue;
1582
- (row: RowObject | CellValue[], value: CellValue): void;
1583
- }
1584
-
1585
- interface UndoRedo {
1586
- doneActions: plugins.UndoRedoAction[];
1587
- instance: Handsontable;
1588
- ignoreNewActions: boolean;
1589
- undoneActions: plugins.UndoRedoAction[];
1590
-
1591
- clear(): void;
1592
- done(action: plugins.UndoRedoAction): void;
1593
- isRedoAvailable(): boolean;
1594
- isUndoAvailable(): boolean;
1595
- redo(): void;
1596
- undo(): void;
1597
- }
1598
-
1599
- /**
1600
- * Base table settings that will cascade to columns and cells.
1601
- */
1602
- interface GridSettings extends Hooks.Events {
1603
- activeHeaderClassName?: string;
1604
- allowEmpty?: boolean;
1605
- allowHtml?: boolean;
1606
- allowInsertColumn?: boolean;
1607
- allowInsertRow?: boolean;
1608
- allowInvalid?: boolean;
1609
- allowRemoveColumn?: boolean;
1610
- allowRemoveRow?: boolean;
1611
- autoColumnSize?: autoColumnSize.Settings | boolean;
1612
- autoRowSize?: autoRowSize.Settings | boolean;
1613
- autoWrapCol?: boolean;
1614
- autoWrapRow?: boolean;
1615
- bindRowsWithHeaders?: boolean | 'loose' | 'strict';
1616
- cell?: CellSettings[];
1617
- cells?: (this: CellProperties, row: number, column: number, prop: string | number) => CellMeta;
1618
- checkedTemplate?: boolean | string | number;
1619
- className?: string | string[];
1620
- colHeaders?: boolean | string[] | ((index: number) => string);
1621
- collapsibleColumns?: boolean | collapsibleColumns.Settings[];
1622
- columnHeaderHeight?: number | (number | undefined)[];
1623
- columns?: ColumnSettings[] | ((index: number) => ColumnSettings);
1624
- columnSorting?: boolean | columnSorting.Settings;
1625
- columnSummary?: columnSummary.Settings[] | (() => columnSummary.Settings[]);
1626
- colWidths?: number | string | number[] | string[] | undefined[] | (number | string | undefined)[] | ((index: number) => string | number | undefined);
1627
- commentedCellClassName?: string;
1628
- comments?: boolean | comments.Settings | comments.CommentConfig[];
1629
- contextMenu?: boolean | contextMenu.PredefinedMenuItemKey[] | contextMenu.Settings;
1630
- copyable?: boolean;
1631
- copyPaste?: boolean | copyPaste.Settings;
1632
- correctFormat?: boolean;
1633
- currentColClassName?: string;
1634
- currentHeaderClassName?: string;
1635
- currentRowClassName?: string;
1636
- customBorders?: boolean | customBorders.Settings[];
1637
- data?: CellValue[][] | RowObject[];
1638
- dataSchema?: RowObject | CellValue[] | ((row: number) => RowObject | CellValue[]);
1639
- dateFormat?: string;
1640
- datePickerConfig?: PikadayOptions;
1641
- defaultDate?: string;
1642
- disableVisualSelection?: boolean | 'current' | 'area' | 'header' | ('current' | 'area' | 'header')[];
1643
- dragToScroll?: boolean;
1644
- dropdownMenu?: boolean | contextMenu.PredefinedMenuItemKey[] | contextMenu.Settings;
1645
- editor?: EditorType | typeof _editors.Base | boolean | string;
1646
- enterBeginsEditing?: boolean;
1647
- enterMoves?: wot.CellCoords | ((event: KeyboardEvent) => wot.CellCoords);
1648
- fillHandle?: boolean | 'vertical' | 'horizontal' | autoFill.Settings;
1649
- filter?: boolean;
1650
- filteringCaseSensitive?: boolean;
1651
- filters?: boolean;
1652
- fixedColumnsLeft?: number;
1653
- fixedRowsBottom?: number;
1654
- fixedRowsTop?: number;
1655
- formulas?: boolean | formulas.Settings;
1656
- fragmentSelection?: boolean | 'cell';
1657
- height?: number | string | (() => number | string);
1658
- hiddenColumns?: boolean | hiddenColumns.Settings;
1659
- hiddenRows?: boolean | hiddenRows.Settings;
1660
- invalidCellClassName?: string;
1661
- isEmptyCol?: (this: _Handsontable.Core, col: number) => boolean;
1662
- isEmptyRow?: (this: _Handsontable.Core, row: number) => boolean;
1663
- label?: LabelOptions;
1664
- language?: string;
1665
- licenseKey?: string | 'non-commercial-and-evaluation';
1666
- manualColumnFreeze?: boolean;
1667
- manualColumnMove?: boolean | number[];
1668
- manualColumnResize?: boolean | number[];
1669
- manualRowMove?: boolean | number[];
1670
- manualRowResize?: boolean | number[];
1671
- maxCols?: number;
1672
- maxRows?: number;
1673
- mergeCells?: boolean | mergeCells.Settings[];
1674
- minCols?: number;
1675
- minRows?: number;
1676
- minSpareCols?: number;
1677
- minSpareRows?: number;
1678
- multiColumnSorting?: boolean | multiColumnSorting.Settings;
1679
- nestedHeaders?: (string | nestedHeaders.NestedHeader)[][];
1680
- nestedRows?: boolean;
1681
- noWordWrapClassName?: string;
1682
- numericFormat?: NumericFormatOptions;
1683
- observeDOMVisibility?: boolean;
1684
- outsideClickDeselects?: boolean | ((target: HTMLElement) => boolean);
1685
- persistentState?: boolean;
1686
- placeholder?: string;
1687
- placeholderCellClassName?: string;
1688
- preventOverflow?: boolean | 'vertical' | 'horizontal';
1689
- preventWheel?: boolean;
1690
- readOnly?: boolean;
1691
- readOnlyCellClassName?: string;
1692
- renderAllRows?: boolean;
1693
- renderer?: RendererType | string | renderers.Base;
1694
- rowHeaders?: boolean | string[] | ((index: number) => string);
1695
- rowHeaderWidth?: number | number[];
1696
- rowHeights?: number | string | number[] | string[] | undefined[] | (number | string | undefined)[] | ((index: number) => string | number | undefined);
1697
- search?: boolean | search.Settings;
1698
- selectionMode?: 'single' | 'range' | 'multiple';
1699
- selectOptions?: string[];
1700
- skipColumnOnPaste?: boolean;
1701
- skipRowOnPaste?: boolean;
1702
- sortByRelevance?: boolean;
1703
- source?: string[] | number[] | ((this: CellProperties, query: string, callback: (items: string[]) => void) => void);
1704
- startCols?: number;
1705
- startRows?: number;
1706
- stretchH?: 'none' | 'all' | 'last';
1707
- strict?: boolean;
1708
- tableClassName?: string | string[];
1709
- tabMoves?: wot.CellCoords | ((event: KeyboardEvent) => wot.CellCoords);
1710
- title?: string;
1711
- trimDropdown?: boolean;
1712
- trimRows?: boolean | number[];
1713
- trimWhitespace?: boolean;
1714
- type?: CellType | string;
1715
- uncheckedTemplate?: boolean | string | number;
1716
- undo?: boolean;
1717
- validator?: validators.Base | RegExp | ValidatorType | string;
1718
- viewportColumnRenderingOffset?: number | 'auto';
1719
- viewportRowRenderingOffset?: number | 'auto';
1720
- visibleRows?: number;
1721
- width?: number | string | (() => number | string);
1722
- wordWrap?: boolean;
1723
- }
1724
-
1725
- namespace Hooks {
1726
- interface HookHighlightRowHeaderMeta {
1727
- selectionType: string;
1728
- rowCursor: number;
1729
- selectionHeight: number;
1730
- classNames: string[];
1731
- }
1732
- interface HookHighlightColumnHeaderMeta {
1733
- selectionType: string;
1734
- columnCursor: number;
1735
- selectionWidth: number;
1736
- classNames: string[];
1737
- }
1738
-
1739
- interface Events {
1740
- afterAddChild?: (parent: RowObject, element: RowObject | void, index: number | void) => void;
1741
- afterAutofill?: (fillData: CellValue[][], sourceRange: wot.CellRange, targetRange: wot.CellRange, direction: 'up' | 'down' | 'left' | 'right') => void;
1742
- afterBeginEditing?: (row: number, column: number) => void;
1743
- afterCellMetaReset?: () => void;
1744
- afterChange?: (changes: CellChange[] | null, source: ChangeSource) => void;
1745
- afterChangesObserved?: () => void;
1746
- afterColumnCollapse?: (currentCollapsedColumns: number[], destinationCollapsedColumns: number[], collapsePossible: boolean, successfullyCollapsed: boolean) => void;
1747
- afterColumnExpand?: (currentCollapsedColumns: number[], destinationCollapsedColumns: number[], expandPossible: boolean, successfullyExpanded: boolean) => void;
1748
- afterColumnMove?: (movedColumns: number[], finalIndex: number, dropIndex: number | void, movePossible: boolean, orderChanged: boolean) => void;
1749
- afterColumnResize?: (newSize: number, column: number, isDoubleClick: boolean) => void;
1750
- afterColumnSort?: (currentSortConfig: columnSorting.Config[], destinationSortConfigs: columnSorting.Config[]) => void;
1751
- afterContextMenuDefaultOptions?: (predefinedItems: (contextMenu.PredefinedMenuItemKey | contextMenu.MenuItemConfig)[]) => void;
1752
- afterContextMenuHide?: (context: plugins.ContextMenu) => void;
1753
- afterContextMenuShow?: (context: plugins.ContextMenu) => void;
1754
- afterCopy?: (data: CellValue[][], coords: plugins.RangeType[]) => void;
1755
- afterCopyLimit?: (selectedRows: number, selectedColumns: number, copyRowsLimit: number, copyColumnsLimit: number) => void;
1756
- afterCreateCol?: (index: number, amount: number, source?: ChangeSource) => void;
1757
- afterCreateRow?: (index: number, amount: number, source?: ChangeSource) => void;
1758
- afterCut?: (data: CellValue[][], coords: plugins.RangeType[]) => void;
1759
- afterDeselect?: () => void;
1760
- afterDestroy?: () => void;
1761
- afterDetachChild?: (parent: RowObject, element: RowObject) => void;
1762
- afterDocumentKeyDown?: (event: KeyboardEvent) => void;
1763
- afterDrawSelection?: (currentRow: number, currentColumn: number, cornersOfSelection: number[], layerLevel: number | void) => string | void
1764
- afterDropdownMenuDefaultOptions?: (predefinedItems: (contextMenu.PredefinedMenuItemKey | contextMenu.MenuItemConfig)[]) => void;
1765
- afterDropdownMenuHide?: (instance: plugins.DropdownMenu) => void;
1766
- afterDropdownMenuShow?: (instance: plugins.DropdownMenu) => void;
1767
- afterFilter?: (conditionsStack: plugins.FiltersPlugin.ColumnConditions[]) => void;
1768
- afterFormulasValuesUpdate?: (changes: object[]) => void;
1769
- afterGetCellMeta?: (row: number, column: number, cellProperties: CellProperties) => void;
1770
- afterGetColHeader?: (column: number, TH: HTMLTableHeaderCellElement) => void;
1771
- afterGetColumnHeaderRenderers?: (renderers: ((col: number, TH: HTMLTableHeaderCellElement) => void)[]) => void;
1772
- afterGetRowHeader?: (row: number, TH: HTMLTableHeaderCellElement) => void;
1773
- afterGetRowHeaderRenderers?: (renderers: ((row: number, TH: HTMLTableHeaderCellElement) => void)[]) => void;
1774
- afterHideColumns?: (currentHideConfig: number[], destinationHideConfig: number[], actionPossible: boolean, stateChanged: boolean) => void;
1775
- afterHideRows?: (currentHideConfig: number[], destinationHideConfig: number[], actionPossible: boolean, stateChanged: boolean) => void;
1776
- afterInit?: () => void;
1777
- afterLanguageChange?: (languageCode: string) => void;
1778
- afterListen?: () => void;
1779
- afterLoadData?: (sourceData: Handsontable.CellValue[], initialLoad: boolean, source: string | undefined) => void;
1780
- afterMergeCells?: (cellRange: wot.CellRange, mergeParent: mergeCells.Settings, auto: boolean) => void;
1781
- afterModifyTransformEnd?: (coords: wot.CellCoords, rowTransformDir: -1 | 0, colTransformDir: -1 | 0) => void;
1782
- afterModifyTransformStart?: (coords: wot.CellCoords, rowTransformDir: -1 | 0, colTransformDir: -1 | 0) => void;
1783
- afterMomentumScroll?: () => void;
1784
- afterNamedExpressionAdded?: (namedExpressionName: string, changes: object[]) => void;
1785
- afterNamedExpressionRemoved?: (namedExpressionName: string, changes: object[]) => void;
1786
- afterOnCellContextMenu?: (event: MouseEvent, coords: wot.CellCoords, TD: HTMLTableCellElement) => void;
1787
- afterOnCellCornerDblClick?: (event: MouseEvent) => void;
1788
- afterOnCellCornerMouseDown?: (event: MouseEvent) => void;
1789
- afterOnCellMouseDown?: (event: MouseEvent, coords: wot.CellCoords, TD: HTMLTableCellElement) => void;
1790
- afterOnCellMouseOver?: (event: MouseEvent, coords: wot.CellCoords, TD: HTMLTableCellElement) => void;
1791
- afterOnCellMouseOut?: (event: MouseEvent, coords: wot.CellCoords, TD: HTMLTableCellElement) => void;
1792
- afterOnCellMouseUp?: (event: MouseEvent, coords: wot.CellCoords, TD: HTMLTableCellElement) => void;
1793
- afterPaste?: (data: CellValue[][], coords: plugins.RangeType[]) => void;
1794
- afterPluginsInitialized?: () => void;
1795
- afterRedo?: (action: plugins.UndoRedoAction) => void;
1796
- afterRedoStackChange?: (undoneActionsBefore: plugins.UndoRedoAction[], undoneActionsAfter: plugins.UndoRedoAction[]) => void;
1797
- afterRefreshDimensions?: (previousDimensions: object, currentDimensions: object, stateChanged: boolean) => void;
1798
- afterRemoveCellMeta?: (row: number, column: number, key: string, value: any) => void;
1799
- afterRemoveCol?: (index: number, amount: number, physicalColumns: number[], source?: ChangeSource) => void;
1800
- afterRemoveRow?: (index: number, amount: number, physicalRows: number[], source?: ChangeSource) => void;
1801
- afterRender?: (isForced: boolean) => void;
1802
- afterRenderer?: (TD: HTMLTableCellElement, row: number, column: number, prop: string | number, value: string, cellProperties: CellProperties) => void;
1803
- afterRowMove?: (movedRows: number[], finalIndex: number, dropIndex: number | void, movePossible: boolean, orderChanged: boolean) => void;
1804
- afterRowResize?: (newSize: number, row: number, isDoubleClick: boolean) => void;
1805
- afterScrollHorizontally?: () => void;
1806
- afterScrollVertically?: () => void;
1807
- afterSelection?: (row: number, column: number, row2: number, column2: number, preventScrolling: { value: boolean }, selectionLayerLevel: number) => void;
1808
- afterSelectionByProp?: (row: number, prop: string, row2: number, prop2: string, preventScrolling: { value: boolean }, selectionLayerLevel: number) => void;
1809
- afterSelectionEnd?: (row: number, column: number, row2: number, column2: number, selectionLayerLevel: number) => void;
1810
- afterSelectionEndByProp?: (row: number, prop: string, row2: number, prop2: string, selectionLayerLevel: number) => void;
1811
- afterSetCellMeta?: (row: number, column: number, key: string, value: any) => void;
1812
- afterSetDataAtCell?: (changes: CellChange[], source?: ChangeSource) => void;
1813
- afterSetDataAtRowProp?: (changes: CellChange[], source?: ChangeSource) => void;
1814
- afterSetSourceDataAtCell?: (changes: CellChange[], source?: ChangeSource) => void;
1815
- afterSheetAdded?: (addedSheetDisplayName: string) => void;
1816
- afterSheetRenamed?: (oldDisplayName: string, newDisplayName: string) => void;
1817
- afterSheetRemoved?: (removedSheetDisplayName: string, changes: object[]) => void;
1818
- afterTrimRow?: (currentTrimConfig: number[], destinationTrimConfig: number[], actionPossible: boolean, stateChanged: boolean) => void;
1819
- afterUndo?: (action: plugins.UndoRedoAction) => void;
1820
- afterUndoStackChange?: (doneActionsBefore: plugins.UndoRedoAction[], doneActionsAfter: plugins.UndoRedoAction[]) => void;
1821
- afterUnhideColumns?: (currentHideConfig: number[], destinationHideConfig: number[], actionPossible: boolean, stateChanged: boolean) => void;
1822
- afterUnhideRows?: (currentHideConfig: number[], destinationHideConfig: number[], actionPossible: boolean, stateChanged: boolean) => void;
1823
- afterUnlisten?: () => void;
1824
- afterUnmergeCells?: (cellRange: wot.CellRange, auto: boolean) => void;
1825
- afterUntrimRow?: (currentTrimConfig: number[], destinationTrimConfig: number[], actionPossible: boolean, stateChanged: boolean) => void;
1826
- afterUpdateSettings?: (newSettings: GridSettings) => void;
1827
- afterValidate?: (isValid: boolean, value: CellValue, row: number, prop: string | number, source: ChangeSource) => void | boolean;
1828
- afterViewportColumnCalculatorOverride?: (calc: ViewportColumnsCalculator) => void;
1829
- afterViewportRowCalculatorOverride?: (calc: ViewportColumnsCalculator) => void;
1830
- beforeAddChild?: (parent: RowObject, element: RowObject | void, index: number | void) => void;
1831
- beforeAutofill?: (selectionData: CellValue[][], sourceRange: wot.CellRange, targetRange: wot.CellRange, direction: 'up' | 'down' | 'left' | 'right') => CellValue[][] | boolean | void;
1832
- beforeAutofillInsidePopulate?: (index: wot.CellCoords, direction: 'up' | 'down' | 'left' | 'right', input: CellValue[][], deltas: any[]) => void;
1833
- beforeCellAlignment?: (stateBefore: { [row: number]: string[] }, range: wot.CellRange[], type: 'horizontal' | 'vertical', alignmentClass: 'htLeft' | 'htCenter' | 'htRight' | 'htJustify' | 'htTop' | 'htMiddle' | 'htBottom') => void;
1834
- beforeChange?: (changes: CellChange[], source: ChangeSource) => void | boolean;
1835
- beforeChangeRender?: (changes: CellChange[], source: ChangeSource) => void;
1836
- beforeColumnCollapse?: (currentCollapsedColumn: number[], destinationCollapsedColumns: number[], collapsePossible: boolean) => void | boolean;
1837
- beforeColumnExpand?: (currentCollapsedColumn: number[], destinationCollapsedColumns: number[], expandPossible: boolean) => void | boolean;
1838
- beforeColumnMove?: (movedColumns: number[], finalIndex: number, dropIndex: number | void, movePossible: boolean) => void | boolean;
1839
- beforeColumnResize?: (newSize: number, column: number, isDoubleClick: boolean) => void | number;
1840
- beforeColumnSort?: (currentSortConfig: columnSorting.Config[], destinationSortConfigs: columnSorting.Config[]) => void | boolean;
1841
- beforeContextMenuSetItems?: (menuItems: contextMenu.MenuItemConfig[]) => void;
1842
- beforeContextMenuShow?: (context: plugins.ContextMenu) => void;
1843
- beforeCopy?: (data: CellValue[][], coords: plugins.RangeType[]) => void | boolean;
1844
- beforeCreateCol?: (index: number, amount: number, source?: ChangeSource) => void | boolean;
1845
- beforeCreateRow?: (index: number, amount: number, source?: ChangeSource) => void;
1846
- beforeCut?: (data: CellValue[][], coords: plugins.RangeType[]) => void | boolean;
1847
- beforeDetachChild?: (parent: RowObject, element: RowObject) => void;
1848
- beforeDrawBorders?: (corners: number[], borderClassName: 'current' | 'area' | 'highlight' | undefined) => void;
1849
- beforeDropdownMenuSetItems?: (menuItems: contextMenu.MenuItemConfig[]) => void;
1850
- beforeDropdownMenuShow?: (instance: plugins.DropdownMenu) => void;
1851
- beforeFilter?: (conditionsStack: plugins.FiltersPlugin.ColumnConditions[]) => void | boolean;
1852
- beforeGetCellMeta?: (row: number, col: number, cellProperties: CellProperties) => void;
1853
- beforeHideColumns?: (currentHideConfig: number[], destinationHideConfig: number[], actionPossible: boolean) => void | boolean;
1854
- beforeHideRows?: (currentHideConfig: number[], destinationHideConfig: number[], actionPossible: boolean) => void | boolean;
1855
- beforeHighlightingColumnHeader?: (column: number, headerLevel: number, highlightMeta: HookHighlightColumnHeaderMeta) => number | void;
1856
- beforeHighlightingRowHeader?: (row: number, headerLevel: number, highlightMeta: HookHighlightRowHeaderMeta) => number | void;
1857
- beforeInit?: () => void;
1858
- beforeInitWalkontable?: (walkontableConfig: object) => void;
1859
- beforeKeyDown?: (event: KeyboardEvent) => void;
1860
- beforeLanguageChange?: (languageCode: string) => void;
1861
- beforeLoadData?: (sourceData: Handsontable.CellValue[], initialLoad: boolean, source: string | undefined) => void;
1862
- beforeMergeCells?: (cellRange: wot.CellRange, auto: boolean) => void;
1863
- beforeOnCellContextMenu?: (event: MouseEvent, coords: wot.CellCoords, TD: HTMLTableCellElement) => void;
1864
- beforeOnCellMouseDown?: (event: MouseEvent, coords: wot.CellCoords, TD: HTMLTableCellElement, controller: SelectionController) => void;
1865
- beforeOnCellMouseOut?: (event: MouseEvent, coords: wot.CellCoords, TD: HTMLTableCellElement) => void;
1866
- beforeOnCellMouseOver?: (event: MouseEvent, coords: wot.CellCoords, TD: HTMLTableCellElement, controller: SelectionController) => void;
1867
- beforeOnCellMouseUp?: (event: MouseEvent, coords: wot.CellCoords, TD: HTMLTableCellElement, controller: SelectionController) => void;
1868
- beforePaste?: (data: CellValue[][], coords: plugins.RangeType[]) => void | boolean;
1869
- beforeRedo?: (action: plugins.UndoRedoAction) => void;
1870
- beforeRedoStackChange?: (undoneActions: plugins.UndoRedoAction[]) => void;
1871
- beforeRefreshDimensions?: (previousDimensions: object, currentDimensions: object, actionPossible: boolean) => boolean | void;
1872
- beforeRemoveCellClassNames?: () => string[] | void;
1873
- beforeRemoveCellMeta?: (row: number, column: number, key: string, value: any) => void;
1874
- beforeRemoveCol?: (index: number, amount: number, physicalColumns: number[], source?: ChangeSource) => void;
1875
- beforeRemoveRow?: (index: number, amount: number, physicalColumns: number[], source?: ChangeSource) => void;
1876
- beforeRender?: (isForced: boolean, skipRender: { skipRender?: boolean }) => void;
1877
- beforeRenderer?: (TD: HTMLTableCellElement, row: number, column: number, prop: string | number, value: CellValue, cellProperties: CellProperties) => void;
1878
- beforeRowMove?: (movedRows: number[], finalIndex: number, dropIndex: number | void, movePossible: boolean) => void;
1879
- beforeRowResize?: (newSize: number, row: number, isDoubleClick: boolean) => number | void;
1880
- beforeSetCellMeta?: (row: number, col: number, key: string, value: any) => boolean | void;
1881
- beforeSetRangeEnd?: (coords: wot.CellCoords) => void;
1882
- beforeSetRangeStart?: (coords: wot.CellCoords) => void;
1883
- beforeSetRangeStartOnly?: (coords: wot.CellCoords) => void;
1884
- beforeStretchingColumnWidth?: (stretchedWidth: number, column: number) => void | number;
1885
- beforeTouchScroll?: () => void;
1886
- beforeTrimRow?: (currentTrimConfig: number[], destinationTrimConfig: number[], actionPossible: boolean) => void | boolean;
1887
- beforeUndo?: (action: plugins.UndoRedoAction) => void;
1888
- beforeUndoStackChange?: (doneActions: plugins.UndoRedoAction[], source?: string) => void;
1889
- beforeUnhideColumns?: (currentHideConfig: number[], destinationHideConfig: number[], actionPossible: boolean) => void | boolean;
1890
- beforeUnhideRows?: (currentHideConfig: number[], destinationHideConfig: number[], actionPossible: boolean) => void | boolean;
1891
- beforeUnmergeCells?: (cellRange: wot.CellRange, auto: boolean) => void;
1892
- beforeUntrimRow?: (currentTrimConfig: number[], destinationTrimConfig: number[], actionPossible: boolean) => void | boolean;
1893
- beforeValidate?: (value: CellValue, row: number, prop: string | number, source?: ChangeSource) => void;
1894
- beforeValueRender?: (value: CellValue, cellProperties: CellProperties) => void;
1895
- construct?: () => void;
1896
- init?: () => void;
1897
- modifyAutoColumnSizeSeed?: (seed: string, cellProperties: CellProperties, cellValue: CellValue) => string | void;
1898
- modifyAutofillRange?: (startArea: [number, number, number, number][], entireArea: [number, number, number, number][]) => void;
1899
- modifyColHeader?: (column: number) => void;
1900
- modifyColumnHeaderHeight?: () => void;
1901
- modifyColWidth?: (width: number, column: number) => void;
1902
- modifyCopyableRange?: (copyableRanges: plugins.RangeType[]) => void;
1903
- modifyData?: (row: number, column: number, valueHolder: { value: CellValue }, ioMode: 'get' | 'set') => void;
1904
- modifyGetCellCoords?: (row: number, column: number, topmost: boolean) => void | [number, number] | [number, number, number, number];
1905
- modifyRowData?: (row: number) => void;
1906
- modifyRowHeader?: (row: number) => void;
1907
- modifyRowHeaderWidth?: (rowHeaderWidth: number) => void;
1908
- modifyRowHeight?: (height: number, row: number) => void;
1909
- modifyRowSourceData?: (row: number) => void;
1910
- modifySourceData?: (row: number, column: number, valueHolder: { value: CellValue }, ioMode: 'get' | 'set') => void;
1911
- modifyTransformEnd?: (delta: wot.CellCoords) => void;
1912
- modifyTransformStart?: (delta: wot.CellCoords) => void;
1913
- persistentStateLoad?: (key: string, valuePlaceholder: { value: any }) => void;
1914
- persistentStateReset?: (key: string) => void;
1915
- persistentStateSave?: (key: string, value: any) => void;
1916
- }
1917
- interface Methods {
1918
- add<K extends keyof Hooks.Events>(key: K, callback: Hooks.Events[K] | Hooks.Events[K][], context?: Handsontable): Hooks.Methods;
1919
- createEmptyBucket(): Bucket;
1920
- deregister(key: string): void;
1921
- destroy(context?: Handsontable): void;
1922
- getBucket(context?: Handsontable): Bucket;
1923
- getRegistered(): (keyof Hooks.Events)[];
1924
- has(key: keyof Hooks.Events, context?: Handsontable): boolean;
1925
- isDeprecated(key: keyof Hooks.Events): boolean;
1926
- isRegistered(key: keyof Hooks.Events): boolean;
1927
- once<K extends keyof Hooks.Events>(key: K, callback: Hooks.Events[K] | Hooks.Events[K][], context?: Handsontable): void;
1928
- register(key: string): void;
1929
- remove(key: keyof Hooks.Events, callback: Function, context?: Handsontable): boolean;
1930
- run(context: Handsontable, key: keyof Hooks.Events, p1?: any, p2?: any, p3?: any, p4?: any, p5?: any, p6?: any): any;
1931
- // Requires TS 3.0:
1932
- // run<K extends keyof Events>(context: Handsontable, key: K, ...params: Parameters<Events[K]>): ReturnType<Events[K]>;
1933
- }
1934
- }
1935
-
1936
- type Bucket = {
1937
- [P in keyof Hooks.Events]: Hooks.Events[P][];
1938
- };
1939
-
1940
- interface NumericFormatOptions {
1941
- pattern: string | numbro.Format;
1942
- culture?: string;
1943
- }
1944
-
1945
- interface CellSettings extends CellMeta {
1946
- row: number;
1947
- col: number;
1948
- }
1949
-
1950
- interface LabelOptions {
1951
- property?: string;
1952
- position?: 'before' | 'after';
1953
- value?: string | (() => string);
1954
- }
1955
-
1956
- interface ViewportColumnsCalculator {
1957
- count: number;
1958
- startColumn: number | null;
1959
- endColumn: number | null;
1960
- startPosition: number | null;
1961
- startRow?: number;
1962
- endRow?: number;
1963
- stretchAllRatio: number;
1964
- stretchLastWidth: number;
1965
- stretch: 'none' | 'all' | 'last';
1966
- totalTargetWidth: number;
1967
- needVerifyLastColumnWidth: boolean;
1968
- stretchAllColumnsWidth: number[];
1969
- calculate(): void;
1970
- refreshStretching(totalWidth: number): void;
1971
- getStretchedColumnWidth(column: number, baseWidth: number): number | null;
1972
- }
1973
-
1974
- interface SelectionController {
1975
- row: boolean;
1976
- column: boolean;
1977
- cells: boolean;
1978
- }
1979
-
1980
- namespace RecordTranslation {
1981
- interface IndexMap {
1982
- getValues(): any[],
1983
- getValueAtIndex(i: number): any;
1984
- setValues(v: any[]): void;
1985
- setValueAtIndex(i: number, value: any): boolean;
1986
- clear(): void;
1987
- getLength(): number;
1988
- }
1989
-
1990
- interface ChangesEventData {
1991
- op: 'replace' | 'insert' | 'remove';
1992
- index: number;
1993
- oldValue: any;
1994
- newValue: any;
1995
- }
1996
-
1997
- interface ChangesObserver {
1998
- subscribe(callback: (changes: ChangesEventData[]) => void): ChangesObserver;
1999
- unsubscribe(): ChangesObserver;
2000
- }
2001
-
2002
- type MapTypes = 'hidden' | 'index' | 'linkedPhysicalIndexToValue' | 'physicalIndexToValue' | 'trimming';
2003
-
2004
- interface IndexMapper {
2005
- suspendOperations(): void;
2006
- resumeOperations(): void;
2007
- createChangesObserver(indexMapType: 'hiding'): ChangesObserver;
2008
- createAndRegisterIndexMap(indexName: string, mapType: MapTypes, initValueOrFn?: any): IndexMap;
2009
- registerMap(uniqueName: string, indexMap: IndexMap): IndexMap;
2010
- unregisterMap(name: string): void;
2011
- unregisterAll(): void;
2012
- getPhysicalFromVisualIndex(visualIndex: number): number | null;
2013
- getPhysicalFromRenderableIndex(renderableIndex: number): number | null;
2014
- getVisualFromPhysicalIndex(physicalIndex: number): number | null;
2015
- getVisualFromRenderableIndex(renderableIndex: number): number | null;
2016
- getRenderableFromVisualIndex(visualIndex: number): number | null;
2017
- getFirstNotHiddenIndex(fromVisualIndex: number, incrementBy: number, searchAlsoOtherWayAround?: boolean, indexForNextSearch?: number): number | null;
2018
- initToLength(length?: number): void;
2019
- getIndexesSequence(): number[];
2020
- setIndexesSequence(indexes: number[]): void;
2021
- getNotTrimmedIndexes(readFromCache?: boolean): number[];
2022
- getNotTrimmedIndexesLength(): number;
2023
- getNotHiddenIndexes(readFromCache?: boolean): number[];
2024
- getNotHiddenIndexesLength(): number;
2025
- getRenderableIndexes(readFromCache?: boolean): number[];
2026
- getRenderableIndexesLength(): number;
2027
- getNumberOfIndexes(): number;
2028
- moveIndexes(movedIndexes: number | number[], finalIndex: number): void;
2029
- isTrimmed(physicalIndex: number): boolean;
2030
- isHidden(physicalIndex: number): boolean;
2031
- }
2032
- }
2033
-
2034
- namespace I18n {
2035
- type LanguageDictionary = {
2036
- [phraseKey: string]: string | string[];
2037
- languageCode: string;
2038
- };
2039
- interface Internationalization {
2040
- dictionaryKeys: I18n.LanguageDictionary;
2041
- registerLanguageDictionary(languageCodeOrDictionary: LanguageDictionary | string, dictionary?: LanguageDictionary): LanguageDictionary;
2042
- getTranslatedPhrase(dictionaryKey: string, extraArguments?: any): string | null;
2043
- getLanguagesDictionaries(): LanguageDictionary[];
2044
- getLanguageDictionary(languageCode: string): LanguageDictionary;
2045
- }
2046
- }
2047
-
2048
- interface CellTypes {
2049
- autocomplete: cellTypes.Autocomplete;
2050
- checkbox: cellTypes.Checkbox;
2051
- date: cellTypes.Date;
2052
- dropdown: cellTypes.Dropdown;
2053
- handsontable: cellTypes.Handsontable;
2054
- numeric: cellTypes.Numeric;
2055
- password: cellTypes.Password;
2056
- text: cellTypes.Text;
2057
- time: cellTypes.Time;
2058
- getCellType(name: string): CellTypeObject;
2059
- registerCellType(name: string, type: CellTypeObject): void;
2060
- }
2061
-
2062
- interface CellTypeObject extends GridSettings {
2063
- renderer?: renderers.Base;
2064
- editor?: typeof _editors.Base;
2065
- validator?: validators.Base;
2066
- /**
2067
- * Custom properties which will be accessible in `cellProperties`
2068
- */
2069
- [key: string]: any;
2070
- }
2071
-
2072
- interface Editors {
2073
- AutocompleteEditor: typeof _editors.Autocomplete;
2074
- BaseEditor: typeof _editors.Base;
2075
- CheckboxEditor: typeof _editors.Checkbox;
2076
- DateEditor: typeof _editors.Date;
2077
- DropdownEditor: typeof _editors.Dropdown;
2078
- HandsontableEditor: typeof _editors.Handsontable;
2079
- MobileEditor: typeof _editors.Mobile;
2080
- NumericEditor: typeof _editors.Numeric;
2081
- PasswordEditor: typeof _editors.Password;
2082
- SelectEditor: typeof _editors.Select;
2083
- TextEditor: typeof _editors.Text;
2084
- TimeEditor: typeof _editors.Text;
2085
- getEditor(editorName: string): typeof _editors.Base;
2086
- registerEditor(editorName: string, editorClass: typeof _editors.Base): void;
2087
- }
2088
-
2089
- interface Renderers {
2090
- AutocompleteRenderer: renderers.Autocomplete;
2091
- BaseRenderer: renderers.Base;
2092
- CheckboxRenderer: renderers.Checkbox;
2093
- DateRenderer: renderers.Autocomplete;
2094
- DropdownRenderer: renderers.Autocomplete;
2095
- HandsontableRenderer: renderers.Autocomplete;
2096
- HtmlRenderer: renderers.Html;
2097
- NumericRenderer: renderers.Numeric;
2098
- PasswordRenderer: renderers.Password;
2099
- TextRenderer: renderers.Text;
2100
- TimeRenderer: renderers.Text;
2101
- getRenderer(name: string): renderers.Base;
2102
- registerRenderer(name: string, renderer: renderers.Base): void;
2103
- }
2104
-
2105
- interface Validators {
2106
- AutocompleteValidator: validators.Autocomplete;
2107
- DateValidator: validators.Date;
2108
- DropdownValidator: validators.Autocomplete;
2109
- NumericValidator: validators.Numeric;
2110
- TimeValidator: validators.Time;
2111
- getValidator(name: string): validators.Base;
2112
- registerValidator(name: string, validatotr: validators.Base): void;
2113
- }
2114
-
2115
- interface Helper {
2116
- readonly KEY_CODES: {
2117
- A: number,
2118
- ALT: number,
2119
- ARROW_DOWN: number,
2120
- ARROW_LEFT: number,
2121
- ARROW_RIGHT: number,
2122
- ARROW_UP: number,
2123
- BACKSPACE: number,
2124
- C: number,
2125
- CAPS_LOCK: number,
2126
- COMMA: number,
2127
- COMMAND_LEFT: number,
2128
- COMMAND_RIGHT: number,
2129
- CONTROL_LEFT: number,
2130
- DELETE: number,
2131
- END: number,
2132
- ENTER: number,
2133
- ESCAPE: number,
2134
- F1: number,
2135
- F2: number,
2136
- F3: number,
2137
- F4: number,
2138
- F5: number,
2139
- F6: number,
2140
- F7: number,
2141
- F8: number,
2142
- F9: number,
2143
- F10: number,
2144
- F11: number,
2145
- F12: number,
2146
- HOME: number,
2147
- INSERT: number,
2148
- MOUSE_LEFT: number,
2149
- MOUSE_MIDDLE: number,
2150
- MOUSE_RIGHT: number,
2151
- PAGE_DOWN: number,
2152
- PAGE_UP: number,
2153
- PERIOD: number,
2154
- SHIFT: number,
2155
- SPACE: number,
2156
- TAB: number,
2157
- V: number,
2158
- X: number
2159
- },
2160
- arrayAvg(array: any[]): number,
2161
- arrayEach(array: any[], iteratee: (value: any, index: number, array: any[]) => void): any[],
2162
- arrayFilter(array: any[], predicate: (value: any, index: number, array: any[]) => void): any[],
2163
- arrayFlatten(array: any[]): any[],
2164
- arrayIncludes(array: any[], searchElement: any, fromIndex: number): any[],
2165
- arrayMap(array: any[], iteratee: (value: any, index: number, array: any[]) => void): any[],
2166
- arrayMax(array: any[]): number,
2167
- arrayMin(array: any[]): number,
2168
- arrayReduce(array: any[], iteratee: (value: any, index: number, array: any[]) => void, accumulator: any, initFromArray: boolean): any,
2169
- arraySum(array: any[]): number,
2170
- arrayUnique(array: any[]): any[],
2171
- cancelAnimationFrame(id: number): void,
2172
- cellMethodLookupFactory(methodName: string, allowUndefined: boolean): void,
2173
- clone(object: object): object,
2174
- columnFactory(GridSettings: GridSettings, conflictList: any[]): object,
2175
- stringToArray(value: string): string[],
2176
- countFirstRowKeys(data: Handsontable.CellValue[][] | object[]): number,
2177
- createEmptySpreadsheetData(rows: number, columns: number): any[],
2178
- createObjectPropListener(defaultValue?: any, propertyToListen?: string): object,
2179
- createSpreadsheetData(rows?: number, columns?: number): any[],
2180
- createSpreadsheetObjectData(rows?: number, colCount?: number): any[],
2181
- curry(func: () => void): () => void,
2182
- curryRight(func: () => void): () => void,
2183
- dataRowToChangesArray(dataRow: Handsontable.CellValue[] | object, rowOffset?: number): [number, number | string, Handsontable.CellValue][]
2184
- debounce(func: () => void, wait?: number): () => void,
2185
- deepClone(obj: object): object,
2186
- deepExtend(target: object, extension: object): void,
2187
- deepObjectSize(object: object): number,
2188
- defineGetter(object: object, property: any, value: any, options: object): void,
2189
- duckSchema(object: any[] | object): any[] | object,
2190
- endsWith(string: string, needle: string): boolean,
2191
- equalsIgnoreCase(...string: string[]): boolean,
2192
- extend(target: object, extension: object): void,
2193
- extendArray(arr: any[], extension: any[]): void,
2194
- getComparisonFunction(language: string, options?: object): any | void,
2195
- getDifferenceOfArrays(...arrays: (string | number)[][]): string[] | number[],
2196
- getIntersectionOfArrays(...arrays: (string | number)[][]): string[] | number[],
2197
- getNormalizedDate(dateString: string): Date,
2198
- getProperty(object: object, name: string): any | void,
2199
- getPrototypeOf(obj: object): any | void,
2200
- getUnionOfArrays(...arrays: (string | number)[][]): string[] | number[],
2201
- hasCaptionProblem(): boolean | void,
2202
- htmlToGridSettings(element: HTMLTableElement | string, rootDocument?: Document): GridSettings,
2203
- inherit(Child: object, Parent: object): object,
2204
- instanceToHTML(instance: _Handsontable.Core): string,
2205
- isChrome(): boolean,
2206
- isClassListSupported(): boolean;
2207
- isCtrlKey(keyCode: number): boolean,
2208
- isDefined(variable: any): boolean,
2209
- isEdge(): boolean,
2210
- isEmpty(variable: any): boolean,
2211
- isFirefox(): boolean,
2212
- isFunction(func: any): boolean,
2213
- isGetComputedStyleSupported(): boolean,
2214
- isIE(): boolean,
2215
- isIE9(): boolean,
2216
- isKey(keyCode: number, baseCode: string): boolean
2217
- isMetaKey(keyCode: number): boolean,
2218
- isMobileBrowser(): boolean,
2219
- isMSBrowser(): boolean,
2220
- isNumeric(n: any): boolean,
2221
- isObject(obj: any): boolean,
2222
- isObjectEqual(object1: object | any[], object2: object | any[]): boolean,
2223
- isPercentValue(value: string): boolean,
2224
- isPrintableChar(keyCode: number): boolean,
2225
- isSafari(): boolean,
2226
- isTextContentSupported(): boolean,
2227
- isTouchSupported(): boolean,
2228
- isUndefined(variable: any): boolean,
2229
- mixin(Base: object, ...mixins: object[]): object,
2230
- objectEach(object: object, iteratee: (value: any, key: any, object: object) => void): object,
2231
- padStart(string: string, maxLength: number, fillString?: string): string,
2232
- partial(func: () => void, ...params: any[]): () => void,
2233
- pipe(...functions: (() => void)[]): () => void,
2234
- pivot(arr: any[]): any[],
2235
- randomString(): string,
2236
- rangeEach(rangeFrom: number, rangeTo: number, iteratee: (index: number) => void): void,
2237
- rangeEachReverse(rangeFrom: number, rangeTo: number, iteratee: (index: number) => void): void,
2238
- requestAnimationFrame(callback: () => void): number,
2239
- setProperty(object: object, name: string, value: any): void,
2240
- spreadsheetColumnIndex(label: string): number,
2241
- spreadsheetColumnLabel(index: number): string,
2242
- startsWith(string: string, needle: string): boolean,
2243
- stringify(value: any): string,
2244
- stripTags(string: string): string,
2245
- substitute(template: string, variables?: object): string,
2246
- throttle(func: () => void, wait?: number): () => void,
2247
- throttleAfterHits(func: () => void, wait?: number, hits?: number): () => void,
2248
- to2dArray(arr: any[]): void,
2249
- toUpperCaseFirst(string: string): string,
2250
- translateRowsToColumns(input: any[]): any[],
2251
- valueAccordingPercent(value: number, percent: string | number): number
2252
- }
2253
-
2254
- interface Dom {
2255
- HTML_CHARACTERS: RegExp;
2256
- addClass: (element: HTMLElement, className: string | any[]) => void;
2257
- addEvent: (element: HTMLElement, event: string, callback: (event: Event) => void) => void;
2258
- clearTextSelection: (rootWindow?: Window) => void;
2259
- closest: (element: HTMLElement, nodes: any[], until?: HTMLElement) => HTMLElement | void;
2260
- closestDown: (element: HTMLElement, nodes: any[], until?: HTMLElement) => HTMLElement | void;
2261
- empty: (element: HTMLElement) => void;
2262
- fastInnerHTML: (element: HTMLElement, content: string) => void;
2263
- fastInnerText: (element: HTMLElement, content: string) => void;
2264
- getCaretPosition: (el: HTMLElement) => number;
2265
- getComputedStyle: (element: HTMLElement, rootWindow?: Window) => CSSStyleDeclaration | object;
2266
- getCssTransform: (element: HTMLElement) => number | void;
2267
- getFrameElement: (frame: Window) => HTMLIFrameElement | null;
2268
- getParent: (element: HTMLElement, level?: number) => HTMLElement | void;
2269
- getParentWindow: (frame: Window) => Window | null;
2270
- getScrollLeft: (element: HTMLElement, rootWindow?: Window) => number;
2271
- getScrollTop: (element: HTMLElement, rootWindow?: Window) => number;
2272
- getScrollableElement: (element: HTMLElement) => HTMLElement;
2273
- getScrollbarWidth: (rootDocument?: Document) => number;
2274
- getSelectionEndPosition: (el: HTMLElement) => number;
2275
- getSelectionText: (rootWindow?: Window) => string;
2276
- getStyle: (element: HTMLElement, prop: string, rootWindow?: Window) => string;
2277
- getTrimmingContainer: (base: HTMLElement) => HTMLElement;
2278
- getWindowScrollLeft: (rootWindow?: Window) => number;
2279
- getWindowScrollTop: (rootWindow?: Window) => number;
2280
- hasAccessToParentWindow: (frame: Window) => boolean;
2281
- hasClass: (element: HTMLElement, className: string) => boolean;
2282
- hasHorizontalScrollbar: (element: HTMLElement) => boolean;
2283
- hasVerticalScrollbar: (element: HTMLElement) => boolean;
2284
- index: (element: Element) => number;
2285
- innerHeight: (element: HTMLElement) => number;
2286
- innerWidth: (element: HTMLElement) => number;
2287
- isChildOf: (child: HTMLElement, parent: object | string) => boolean;
2288
- isDetached: (element: HTMLElement) => boolean;
2289
- isImmediatePropagationStopped: (event: Event) => boolean;
2290
- isInput: (element: HTMLElement) => boolean;
2291
- isLeftClick: (event: Event) => boolean;
2292
- isOutsideInput: (element: HTMLElement) => boolean;
2293
- isRightClick: (event: Event) => boolean;
2294
- isVisible: (elem: HTMLElement) => boolean;
2295
- matchesCSSRules: (elem: HTMLElement, rule: CSSRule) => boolean;
2296
- offset: (elem: HTMLElement) => object;
2297
- outerHeight: (elem: HTMLElement) => number;
2298
- outerWidth: (element: HTMLElement) => number;
2299
- overlayContainsElement: (overlayType: wot.OverlayType, element: HTMLElement, root: HTMLElement) => boolean;
2300
- removeClass: (element: HTMLElement, className: string | any[]) => void;
2301
- removeEvent: (element: HTMLElement, event: string, callback: () => void) => void;
2302
- removeTextNodes: (element: HTMLElement, parent: HTMLElement) => void;
2303
- resetCssTransform: (element: HTMLElement) => void;
2304
- setCaretPosition: (element: HTMLElement, pos: number, endPos: number) => void;
2305
- selectElementIfAllowed: (element: HTMLElement) => void;
2306
- setOverlayPosition: (overlayElem: HTMLElement, left: number, top: number) => void;
2307
- stopImmediatePropagation: (event: Event) => void;
2308
- }
2309
-
2310
- interface Plugins {
2311
- AutoColumnSize: plugins.AutoColumnSize;
2312
- Autofill: plugins.Autofill;
2313
- AutoRowSize: plugins.AutoRowSize;
2314
- BasePlugin: plugins.Base;
2315
- BindRowsWithHeaders: plugins.BindRowsWithHeaders;
2316
- CollapsibleColumns: plugins.CollapsibleColumns;
2317
- ColumnSorting: plugins.ColumnSorting;
2318
- ColumnSummary: plugins.ColumnSummary;
2319
- Comments: plugins.Comments;
2320
- ContextMenu: plugins.ContextMenu;
2321
- CopyPaste: plugins.CopyPaste;
2322
- CustomBorders: plugins.CustomBorders;
2323
- DragToScroll: plugins.DragToScroll;
2324
- DropdownMenu: plugins.DropdownMenu;
2325
- ExportFile: plugins.ExportFile;
2326
- Filters: plugins.Filters;
2327
- Formulas: plugins.Formulas;
2328
- HiddenColumns: plugins.HiddenColumns;
2329
- HiddenRows: plugins.HiddenRows;
2330
- ManualColumnFreeze: plugins.ManualColumnFreeze;
2331
- ManualColumnMove: plugins.ManualColumnMove;
2332
- ManualColumnResize: plugins.ManualColumnResize;
2333
- ManualRowMove: plugins.ManualRowMove;
2334
- ManualRowResize: plugins.ManualRowResize;
2335
- MergeCells: plugins.MergeCells;
2336
- MultiColumnSorting: plugins.MultiColumnSorting;
2337
- MultipleSelectionHandles: plugins.MultipleSelectionHandles;
2338
- NestedHeaders: plugins.NestedHeaders;
2339
- NestedRows: plugins.NestedRows;
2340
- Search: plugins.Search;
2341
- TouchScroll: plugins.TouchScroll;
2342
- TrimRows: plugins.TrimRows;
2343
- getPlugin<T extends keyof PluginsCollection>(pluginName: T): PluginsCollection[T];
2344
- registerPlugin(pluginName: string, pluginClass: { new(hotInstance?: _Handsontable.Core): plugins.Base }): void;
2345
- registerPlugin(pluginClass: { new(hotInstance?: _Handsontable.Core): plugins.Base }): void;
2346
- }
2347
-
2348
- // Plugin collection, map for getPlugin method
2349
- interface PluginsCollection {
2350
- autoColumnSize: plugins.AutoColumnSize;
2351
- autofill: plugins.Autofill;
2352
- autoRowSize: plugins.AutoRowSize;
2353
- basePlugin: plugins.Base;
2354
- bindRowsWithHeaders: plugins.BindRowsWithHeaders;
2355
- collapsibleColumns: plugins.CollapsibleColumns;
2356
- columnSorting: plugins.ColumnSorting;
2357
- columnSummary: plugins.ColumnSummary;
2358
- comments: plugins.Comments;
2359
- contextMenu: plugins.ContextMenu;
2360
- copyPaste: plugins.CopyPaste;
2361
- customBorders: plugins.CustomBorders;
2362
- dragToScroll: plugins.DragToScroll;
2363
- dropdownMenu: plugins.DropdownMenu;
2364
- exportFile: plugins.ExportFile;
2365
- filters: plugins.Filters;
2366
- formulas: plugins.Formulas;
2367
- hiddenColumns: plugins.HiddenColumns;
2368
- hiddenRows: plugins.HiddenRows;
2369
- manualColumnFreeze: plugins.ManualColumnFreeze;
2370
- manualColumnMove: plugins.ManualColumnMove;
2371
- manualColumnResize: plugins.ManualColumnResize;
2372
- manualRowMove: plugins.ManualRowMove;
2373
- manualRowResize: plugins.ManualRowResize;
2374
- mergeCells: plugins.MergeCells;
2375
- multiColumnSorting: plugins.MultiColumnSorting;
2376
- multipleSelectionHandles: plugins.MultipleSelectionHandles;
2377
- nestedHeaders: plugins.NestedHeaders;
2378
- nestedRows: plugins.NestedRows;
2379
- persistentState: plugins.PersistenState;
2380
- search: plugins.Search;
2381
- touchScroll: plugins.TouchScroll;
2382
- trimRows: plugins.TrimRows;
2383
- }
2384
-
2385
- // Plugin options
2386
- namespace comments {
2387
- interface CommentObject {
2388
- value?: string;
2389
- readOnly?: boolean;
2390
- style?: {
2391
- height?: number;
2392
- width?: number;
2393
- }
2394
- }
2395
- interface Settings {
2396
- displayDelay?: number;
2397
- }
2398
- interface CommentConfig {
2399
- row: number,
2400
- col: number,
2401
- comment: CommentObject
2402
- }
2403
- }
2404
-
2405
- namespace contextMenu {
2406
- interface Selection {
2407
- start: wot.CellCoords;
2408
- end: wot.CellCoords;
2409
- }
2410
- interface Settings {
2411
- callback?: (key: string, selection: Selection[], clickEvent: MouseEvent) => void;
2412
- items: PredefinedMenuItemKey[] | MenuConfig;
2413
- }
2414
- type PredefinedMenuItemKey = 'row_above' | 'row_below' | 'col_left' | 'col_right' | '---------' | 'remove_row' | 'remove_col' | 'clear_column' | 'undo' | 'redo' | 'make_read_only' | 'alignment' | 'cut' | 'copy' | 'freeze_column' | 'unfreeze_column' | 'borders' | 'commentsAddEdit' | 'commentsRemove' | 'commentsReadOnly' | 'mergeCells' | 'add_child' | 'detach_from_parent' | 'hidden_columns_hide' | 'hidden_columns_show' | 'hidden_rows_hide' | 'hidden_rows_show' | 'filter_by_condition' | 'filter_operators' | 'filter_by_condition2' | 'filter_by_value' | 'filter_action_bar';
2415
-
2416
- interface MenuConfig {
2417
- [key: string]: MenuItemConfig;
2418
- }
2419
-
2420
- interface MenuItemConfig {
2421
- name?: string | ((this: _Handsontable.Core) => string);
2422
- key?: string;
2423
- hidden?: boolean | ((this: _Handsontable.Core) => boolean | void);
2424
- disabled?: boolean | ((this: _Handsontable.Core) => boolean | void);
2425
- disableSelection?: boolean;
2426
- isCommand?: boolean;
2427
- callback?(this: _Handsontable.Core, key: string, selection: Selection[], clickEvent: MouseEvent): void;
2428
- renderer?(this: MenuItemConfig, hot: _Handsontable.Core, wrapper: HTMLElement, row: number, col: number, prop: number | string, itemValue: string): HTMLElement;
2429
- submenu?: SubmenuConfig;
2430
- }
2431
-
2432
- interface SubmenuConfig {
2433
- items: SubmenuItemConfig[];
2434
- }
2435
-
2436
- interface SubmenuItemConfig extends Omit<MenuItemConfig, "key"> {
2437
- /**
2438
- * Submenu item `key` must be defined as "parent_key:sub_key" where "parent_key" is the parent MenuItemConfig key.
2439
- */
2440
- key: string;
2441
- }
2442
- }
2443
-
2444
- namespace columnSorting {
2445
- type SortOrderType = 'asc' | 'desc';
2446
- type Config = { column: number; sortOrder: SortOrderType }
2447
-
2448
- interface Settings {
2449
- initialConfig?: Config;
2450
- sortEmptyCells?: boolean;
2451
- indicator?: boolean;
2452
- headerAction?: boolean;
2453
- compareFunctionFactory?: ((sortOrder: SortOrderType, columnMeta: GridSettings) =>
2454
- (value: any, nextValue: any) => -1 | 0 | 1);
2455
- }
2456
- }
2457
-
2458
- namespace multiColumnSorting {
2459
- interface Settings {
2460
- initialConfig?: columnSorting.Config | Array<columnSorting.Config>;
2461
- sortEmptyCells?: boolean;
2462
- indicator?: boolean;
2463
- headerAction?: boolean;
2464
- compareFunctionFactory?: ((sortOrder: columnSorting.SortOrderType, columnMeta: GridSettings) =>
2465
- (value: any, nextValue: any) => -1 | 0 | 1);
2466
- }
2467
- }
2468
-
2469
- namespace search {
2470
- interface Settings {
2471
- callback?: SearchCallback;
2472
- queryMethod?: SearchQueryMethod;
2473
- searchResultClass?: string;
2474
- }
2475
-
2476
- type SearchCallback = (instance: Handsontable, row: number, column: number, value: CellValue, result: boolean) => void;
2477
-
2478
- type SearchQueryMethod = (queryStr: string, value: CellValue, cellProperties: CellProperties) => boolean;
2479
- }
2480
-
2481
- namespace autoColumnSize {
2482
- interface Settings {
2483
- syncLimit?: string | number;
2484
- useHeaders?: boolean;
2485
- }
2486
- }
2487
-
2488
- namespace autoRowSize {
2489
- interface Settings {
2490
- syncLimit?: string | number;
2491
- }
2492
- }
2493
-
2494
- namespace collapsibleColumns {
2495
- interface Settings {
2496
- row: number;
2497
- col: number;
2498
- collapsible: boolean;
2499
- }
2500
- }
2501
-
2502
- namespace columnSummary {
2503
- type Settings = {
2504
- destinationRow: number;
2505
- destinationColumn: number;
2506
- forceNumeric?: boolean;
2507
- reversedRowCoords?: boolean;
2508
- suppressDataTypeErrors?: boolean;
2509
- readOnly?: boolean;
2510
- roundFloat?: boolean;
2511
- ranges?: number[][];
2512
- sourceColumn?: number;
2513
- } & ({
2514
- type: 'sum' | 'min' | 'max' | 'count' | 'average';
2515
- } | {
2516
- type: 'custom';
2517
- customFunction: (this: plugins.ColumnSummary, endpoint: plugins.Endpoint) => number;
2518
- });
2519
- }
2520
-
2521
- namespace copyPaste {
2522
- interface Settings {
2523
- pasteMode?: plugins.PasteModeType;
2524
- rowsLimit?: number;
2525
- columnsLimit?: number;
2526
- }
2527
- }
2528
-
2529
- namespace customBorders {
2530
- type BorderOptions = {
2531
- width?: number;
2532
- color?: string;
2533
- hide?: boolean;
2534
- }
2535
- type BorderRange = {
2536
- range: {
2537
- from: wot.CellCoords;
2538
- to: wot.CellCoords;
2539
- }
2540
- }
2541
- type Settings = (wot.CellCoords | BorderRange) & {
2542
- left?: BorderOptions | string;
2543
- right?: BorderOptions | string;
2544
- top?: BorderOptions | string;
2545
- bottom?: BorderOptions | string;
2546
- }
2547
- }
2548
-
2549
- namespace autoFill {
2550
- interface Settings {
2551
- autoInsertRow?: boolean;
2552
- direction?: 'vertical' | 'horizontal';
2553
- }
2554
- }
2555
-
2556
- namespace formulas {
2557
- interface HyperFormulaSettings extends Partial<ConfigParams> {
2558
- hyperformula: typeof HyperFormula | HyperFormula
2559
- }
2560
- interface Settings {
2561
- engine: typeof HyperFormula | HyperFormula | HyperFormulaSettings
2562
- }
2563
- }
2564
-
2565
- namespace hiddenColumns {
2566
- interface Settings {
2567
- columns?: number[];
2568
- indicators?: boolean;
2569
- }
2570
- }
2571
-
2572
- namespace hiddenRows {
2573
- interface Settings {
2574
- rows?: number[];
2575
- indicators?: boolean;
2576
- }
2577
- }
2578
-
2579
- namespace mergeCells {
2580
- interface Settings {
2581
- row: number;
2582
- col: number;
2583
- rowspan: number;
2584
- colspan: number;
2585
- }
2586
- }
2587
-
2588
- namespace nestedHeaders {
2589
- interface NestedHeader {
2590
- label: string;
2591
- colspan: number;
2592
- }
2593
- }
2594
- }
2595
-
2596
-
2597
- declare class Handsontable extends _Handsontable.Core {
2598
- static baseVersion: string;
2599
- static buildDate: string;
2600
- static packageName: 'handsontable';
2601
- static version: string;
2602
- static cellTypes: Handsontable.CellTypes;
2603
- static languages: Handsontable.I18n.Internationalization;
2604
- static dom: Handsontable.Dom;
2605
- static editors: Handsontable.Editors;
2606
- static helper: Handsontable.Helper;
2607
- static hooks: Handsontable.Hooks.Methods;
2608
- static plugins: Handsontable.Plugins;
2609
- static renderers: Handsontable.Renderers;
2610
- static validators: Handsontable.Validators;
2611
- static Core: typeof _Handsontable.Core;
2612
- static EventManager: Handsontable.EventManager;
2613
- static DefaultSettings: Handsontable.GridSettings;
2614
- }
2615
-
2616
- export default Handsontable;