handsontable 12.1.2 → 12.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (918) hide show
  1. package/3rdparty/SheetClip/SheetClip.js +3 -32
  2. package/3rdparty/SheetClip/SheetClip.mjs +3 -23
  3. package/3rdparty/SheetClip/index.js +0 -2
  4. package/3rdparty/autoResize/autoResize.js +119 -145
  5. package/3rdparty/autoResize/autoResize.mjs +119 -143
  6. package/3rdparty/autoResize/index.js +0 -2
  7. package/3rdparty/walkontable/src/border.js +72 -174
  8. package/3rdparty/walkontable/src/border.mjs +74 -161
  9. package/3rdparty/walkontable/src/calculator/constants.js +0 -3
  10. package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
  11. package/3rdparty/walkontable/src/calculator/index.js +0 -10
  12. package/3rdparty/walkontable/src/calculator/viewportColumns.js +26 -76
  13. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +26 -69
  14. package/3rdparty/walkontable/src/calculator/viewportRows.js +20 -48
  15. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +20 -41
  16. package/3rdparty/walkontable/src/cell/coords.js +13 -43
  17. package/3rdparty/walkontable/src/cell/coords.mjs +13 -38
  18. package/3rdparty/walkontable/src/cell/range.js +55 -130
  19. package/3rdparty/walkontable/src/cell/range.mjs +60 -126
  20. package/3rdparty/walkontable/src/core/_base.js +16 -74
  21. package/3rdparty/walkontable/src/core/_base.mjs +19 -70
  22. package/3rdparty/walkontable/src/core/clone.js +1 -40
  23. package/3rdparty/walkontable/src/core/clone.mjs +3 -30
  24. package/3rdparty/walkontable/src/core/core.js +3 -57
  25. package/3rdparty/walkontable/src/core/core.mjs +5 -41
  26. package/3rdparty/walkontable/src/event.js +31 -78
  27. package/3rdparty/walkontable/src/event.mjs +31 -65
  28. package/3rdparty/walkontable/src/facade/core.js +1 -17
  29. package/3rdparty/walkontable/src/facade/core.mjs +7 -20
  30. package/3rdparty/walkontable/src/filter/column.js +9 -18
  31. package/3rdparty/walkontable/src/filter/column.mjs +9 -17
  32. package/3rdparty/walkontable/src/filter/row.js +9 -18
  33. package/3rdparty/walkontable/src/filter/row.mjs +9 -17
  34. package/3rdparty/walkontable/src/index.js +0 -31
  35. package/3rdparty/walkontable/src/overlay/_base.js +24 -69
  36. package/3rdparty/walkontable/src/overlay/_base.mjs +31 -68
  37. package/3rdparty/walkontable/src/overlay/bottom.js +28 -99
  38. package/3rdparty/walkontable/src/overlay/bottom.mjs +30 -86
  39. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +7 -53
  40. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +9 -40
  41. package/3rdparty/walkontable/src/overlay/constants.js +0 -6
  42. package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
  43. package/3rdparty/walkontable/src/overlay/index.js +0 -17
  44. package/3rdparty/walkontable/src/overlay/inlineStart.js +21 -91
  45. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +23 -78
  46. package/3rdparty/walkontable/src/overlay/top.js +27 -100
  47. package/3rdparty/walkontable/src/overlay/top.mjs +29 -87
  48. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +4 -51
  49. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +6 -38
  50. package/3rdparty/walkontable/src/overlays.js +58 -129
  51. package/3rdparty/walkontable/src/overlays.mjs +60 -121
  52. package/3rdparty/walkontable/src/renderer/_base.js +4 -20
  53. package/3rdparty/walkontable/src/renderer/_base.mjs +8 -22
  54. package/3rdparty/walkontable/src/renderer/cells.js +10 -54
  55. package/3rdparty/walkontable/src/renderer/cells.mjs +22 -52
  56. package/3rdparty/walkontable/src/renderer/colGroup.js +10 -47
  57. package/3rdparty/walkontable/src/renderer/colGroup.mjs +21 -46
  58. package/3rdparty/walkontable/src/renderer/columnHeaders.js +8 -50
  59. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +19 -49
  60. package/3rdparty/walkontable/src/renderer/index.js +13 -36
  61. package/3rdparty/walkontable/src/renderer/index.mjs +17 -27
  62. package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -50
  63. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +20 -49
  64. package/3rdparty/walkontable/src/renderer/rows.js +3 -46
  65. package/3rdparty/walkontable/src/renderer/rows.mjs +3 -29
  66. package/3rdparty/walkontable/src/renderer/table.js +22 -49
  67. package/3rdparty/walkontable/src/renderer/table.mjs +22 -48
  68. package/3rdparty/walkontable/src/scroll.js +56 -86
  69. package/3rdparty/walkontable/src/scroll.mjs +58 -86
  70. package/3rdparty/walkontable/src/selection.js +20 -101
  71. package/3rdparty/walkontable/src/selection.mjs +22 -85
  72. package/3rdparty/walkontable/src/settings.js +9 -29
  73. package/3rdparty/walkontable/src/settings.mjs +9 -27
  74. package/3rdparty/walkontable/src/table/bottom.js +1 -35
  75. package/3rdparty/walkontable/src/table/bottom.mjs +6 -25
  76. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -35
  77. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +7 -26
  78. package/3rdparty/walkontable/src/table/inlineStart.js +1 -35
  79. package/3rdparty/walkontable/src/table/inlineStart.mjs +3 -22
  80. package/3rdparty/walkontable/src/table/master.js +10 -55
  81. package/3rdparty/walkontable/src/table/master.mjs +15 -44
  82. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +7 -28
  83. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +7 -26
  84. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +7 -28
  85. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +7 -26
  86. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +7 -22
  87. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +7 -20
  88. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +7 -23
  89. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +7 -21
  90. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +7 -22
  91. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +7 -20
  92. package/3rdparty/walkontable/src/table/top.js +1 -35
  93. package/3rdparty/walkontable/src/table/top.mjs +6 -25
  94. package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -35
  95. package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +7 -26
  96. package/3rdparty/walkontable/src/table.js +74 -238
  97. package/3rdparty/walkontable/src/table.mjs +84 -227
  98. package/3rdparty/walkontable/src/types.js +0 -5
  99. package/3rdparty/walkontable/src/types.mjs +0 -5
  100. package/3rdparty/walkontable/src/utils/column.js +9 -31
  101. package/3rdparty/walkontable/src/utils/column.mjs +13 -30
  102. package/3rdparty/walkontable/src/utils/nodesPool.js +3 -12
  103. package/3rdparty/walkontable/src/utils/nodesPool.mjs +3 -11
  104. package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
  105. package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
  106. package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
  107. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -33
  108. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +6 -26
  109. package/3rdparty/walkontable/src/utils/orderView/view.js +14 -46
  110. package/3rdparty/walkontable/src/utils/orderView/view.mjs +21 -50
  111. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +3 -15
  112. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +3 -14
  113. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +8 -22
  114. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +23 -34
  115. package/3rdparty/walkontable/src/utils/row.js +2 -13
  116. package/3rdparty/walkontable/src/utils/row.mjs +2 -12
  117. package/3rdparty/walkontable/src/viewport.js +38 -100
  118. package/3rdparty/walkontable/src/viewport.mjs +40 -99
  119. package/CHANGELOG.md +103 -5
  120. package/base.js +6 -17
  121. package/base.mjs +6 -12
  122. package/cellTypes/autocompleteType/autocompleteType.js +0 -4
  123. package/cellTypes/autocompleteType/index.js +0 -2
  124. package/cellTypes/checkboxType/checkboxType.js +0 -3
  125. package/cellTypes/checkboxType/index.js +0 -2
  126. package/cellTypes/dateType/dateType.js +0 -4
  127. package/cellTypes/dateType/index.js +0 -2
  128. package/cellTypes/dropdownType/dropdownType.js +0 -4
  129. package/cellTypes/dropdownType/index.js +0 -2
  130. package/cellTypes/handsontableType/handsontableType.js +0 -3
  131. package/cellTypes/handsontableType/index.js +0 -2
  132. package/cellTypes/index.js +0 -21
  133. package/cellTypes/index.mjs +3 -5
  134. package/cellTypes/numericType/index.js +0 -2
  135. package/cellTypes/numericType/numericType.js +0 -4
  136. package/cellTypes/passwordType/index.js +0 -2
  137. package/cellTypes/passwordType/passwordType.js +0 -3
  138. package/cellTypes/registry.js +10 -25
  139. package/cellTypes/registry.mjs +10 -20
  140. package/cellTypes/textType/index.js +0 -2
  141. package/cellTypes/textType/textType.js +0 -3
  142. package/cellTypes/timeType/index.js +0 -2
  143. package/cellTypes/timeType/timeType.js +0 -4
  144. package/core.d.ts +6 -4
  145. package/core.js +514 -974
  146. package/core.mjs +519 -921
  147. package/dataMap/dataMap.js +127 -212
  148. package/dataMap/dataMap.mjs +127 -188
  149. package/{dataSource.js → dataMap/dataSource.js} +18 -66
  150. package/{dataSource.mjs → dataMap/dataSource.mjs} +20 -60
  151. package/dataMap/index.js +0 -13
  152. package/dataMap/metaManager/index.js +21 -46
  153. package/dataMap/metaManager/index.mjs +47 -64
  154. package/dataMap/metaManager/lazyFactoryMap.js +23 -55
  155. package/dataMap/metaManager/lazyFactoryMap.mjs +23 -43
  156. package/dataMap/metaManager/metaLayers/cellMeta.js +16 -52
  157. package/dataMap/metaManager/metaLayers/cellMeta.mjs +16 -37
  158. package/dataMap/metaManager/metaLayers/columnMeta.js +8 -22
  159. package/dataMap/metaManager/metaLayers/columnMeta.mjs +14 -25
  160. package/dataMap/metaManager/metaLayers/globalMeta.js +4 -19
  161. package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -15
  162. package/dataMap/metaManager/metaLayers/tableMeta.js +4 -15
  163. package/dataMap/metaManager/metaLayers/tableMeta.mjs +28 -37
  164. package/dataMap/metaManager/metaSchema.js +196 -257
  165. package/dataMap/metaManager/metaSchema.mjs +196 -248
  166. package/dataMap/metaManager/mods/dynamicCellMeta.js +6 -36
  167. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +20 -39
  168. package/dataMap/metaManager/mods/extendMetaProperties.js +5 -28
  169. package/dataMap/metaManager/mods/extendMetaProperties.mjs +4 -18
  170. package/dataMap/metaManager/utils.js +11 -20
  171. package/dataMap/metaManager/utils.mjs +21 -23
  172. package/dataMap/replaceData.js +14 -35
  173. package/dataMap/replaceData.mjs +35 -45
  174. package/dist/handsontable.css +2 -2
  175. package/dist/handsontable.full.css +2 -2
  176. package/dist/handsontable.full.js +64469 -93042
  177. package/dist/handsontable.full.min.css +2 -2
  178. package/dist/handsontable.full.min.js +527 -284
  179. package/dist/handsontable.js +9616 -21414
  180. package/dist/handsontable.min.css +2 -2
  181. package/dist/handsontable.min.js +3 -3
  182. package/dist/languages/all.js +0 -175
  183. package/dist/languages/ar-AR.js +0 -10
  184. package/dist/languages/cs-CZ.js +0 -10
  185. package/dist/languages/de-CH.js +0 -10
  186. package/dist/languages/de-DE.js +0 -10
  187. package/dist/languages/en-US.js +0 -10
  188. package/dist/languages/es-MX.js +0 -10
  189. package/dist/languages/fr-FR.js +0 -10
  190. package/dist/languages/it-IT.js +0 -10
  191. package/dist/languages/ja-JP.js +0 -10
  192. package/dist/languages/ko-KR.js +0 -10
  193. package/dist/languages/lv-LV.js +0 -10
  194. package/dist/languages/nb-NO.js +0 -10
  195. package/dist/languages/nl-NL.js +0 -10
  196. package/dist/languages/pl-PL.js +0 -10
  197. package/dist/languages/pt-BR.js +0 -10
  198. package/dist/languages/ru-RU.js +0 -10
  199. package/dist/languages/sr-SP.js +0 -10
  200. package/dist/languages/zh-CN.js +0 -10
  201. package/dist/languages/zh-TW.js +0 -10
  202. package/editorManager.js +89 -124
  203. package/editorManager.mjs +89 -104
  204. package/editors/autocompleteEditor/autocompleteEditor.js +26 -133
  205. package/editors/autocompleteEditor/autocompleteEditor.mjs +26 -104
  206. package/editors/autocompleteEditor/index.js +0 -2
  207. package/editors/baseEditor/baseEditor.js +45 -155
  208. package/editors/baseEditor/baseEditor.mjs +45 -129
  209. package/editors/baseEditor/index.js +0 -2
  210. package/editors/checkboxEditor/checkboxEditor.js +2 -33
  211. package/editors/checkboxEditor/checkboxEditor.mjs +2 -19
  212. package/editors/checkboxEditor/index.js +0 -2
  213. package/editors/dateEditor/dateEditor.js +36 -97
  214. package/editors/dateEditor/dateEditor.mjs +35 -74
  215. package/editors/dateEditor/index.js +0 -2
  216. package/editors/dropdownEditor/dropdownEditor.js +1 -41
  217. package/editors/dropdownEditor/dropdownEditor.mjs +1 -22
  218. package/editors/dropdownEditor/index.js +0 -2
  219. package/editors/handsontableEditor/handsontableEditor.js +13 -85
  220. package/editors/handsontableEditor/handsontableEditor.mjs +13 -66
  221. package/editors/handsontableEditor/index.js +0 -2
  222. package/editors/index.js +0 -25
  223. package/editors/index.mjs +3 -5
  224. package/editors/numericEditor/index.js +0 -2
  225. package/editors/numericEditor/numericEditor.js +1 -31
  226. package/editors/numericEditor/numericEditor.mjs +1 -18
  227. package/editors/passwordEditor/index.js +0 -2
  228. package/editors/passwordEditor/passwordEditor.js +1 -38
  229. package/editors/passwordEditor/passwordEditor.mjs +1 -22
  230. package/editors/registry.js +10 -36
  231. package/editors/registry.mjs +10 -28
  232. package/editors/selectEditor/index.js +0 -2
  233. package/editors/selectEditor/selectEditor.js +21 -73
  234. package/editors/selectEditor/selectEditor.mjs +21 -56
  235. package/editors/textEditor/caretPositioner.js +0 -12
  236. package/editors/textEditor/caretPositioner.mjs +10 -20
  237. package/editors/textEditor/index.js +0 -2
  238. package/editors/textEditor/textEditor.js +38 -137
  239. package/editors/textEditor/textEditor.mjs +38 -106
  240. package/editors/timeEditor/index.js +0 -2
  241. package/editors/timeEditor/timeEditor.js +1 -36
  242. package/editors/timeEditor/timeEditor.mjs +1 -21
  243. package/eventManager.js +20 -56
  244. package/eventManager.mjs +23 -56
  245. package/helpers/array.js +22 -88
  246. package/helpers/array.mjs +22 -58
  247. package/helpers/browser.js +25 -51
  248. package/helpers/browser.mjs +25 -32
  249. package/helpers/console.js +3 -13
  250. package/helpers/console.mjs +8 -16
  251. package/helpers/data.d.ts +0 -1
  252. package/helpers/data.js +10 -55
  253. package/helpers/data.mjs +10 -33
  254. package/helpers/date.js +2 -3
  255. package/helpers/date.mjs +2 -2
  256. package/helpers/dom/element.js +67 -259
  257. package/helpers/dom/element.mjs +74 -194
  258. package/helpers/dom/event.js +3 -7
  259. package/helpers/dom/event.mjs +3 -3
  260. package/helpers/feature.js +13 -47
  261. package/helpers/feature.mjs +13 -31
  262. package/helpers/function.js +14 -59
  263. package/helpers/function.mjs +20 -52
  264. package/helpers/mixed.js +9 -66
  265. package/helpers/mixed.mjs +15 -51
  266. package/helpers/number.js +4 -46
  267. package/helpers/number.mjs +4 -23
  268. package/helpers/object.js +15 -72
  269. package/helpers/object.mjs +21 -52
  270. package/helpers/string.js +6 -28
  271. package/helpers/string.mjs +12 -21
  272. package/helpers/templateLiteralTag.js +0 -6
  273. package/helpers/templateLiteralTag.mjs +7 -10
  274. package/helpers/unicode.js +17 -26
  275. package/helpers/unicode.mjs +17 -15
  276. package/helpers/wrappers/jquery.js +4 -14
  277. package/helpers/wrappers/jquery.mjs +4 -13
  278. package/i18n/constants.js +1 -3
  279. package/i18n/constants.mjs +1 -1
  280. package/i18n/index.js +0 -7
  281. package/i18n/languages/ar-AR.js +0 -16
  282. package/i18n/languages/ar-AR.mjs +1 -4
  283. package/i18n/languages/cs-CZ.js +0 -16
  284. package/i18n/languages/cs-CZ.mjs +1 -4
  285. package/i18n/languages/de-CH.js +0 -16
  286. package/i18n/languages/de-CH.mjs +1 -4
  287. package/i18n/languages/de-DE.js +0 -16
  288. package/i18n/languages/de-DE.mjs +1 -4
  289. package/i18n/languages/en-US.js +0 -16
  290. package/i18n/languages/en-US.mjs +1 -4
  291. package/i18n/languages/es-MX.js +0 -16
  292. package/i18n/languages/es-MX.mjs +1 -4
  293. package/i18n/languages/fr-FR.js +0 -16
  294. package/i18n/languages/fr-FR.mjs +1 -4
  295. package/i18n/languages/index.js +0 -39
  296. package/i18n/languages/it-IT.js +0 -16
  297. package/i18n/languages/it-IT.mjs +1 -4
  298. package/i18n/languages/ja-JP.js +0 -16
  299. package/i18n/languages/ja-JP.mjs +1 -4
  300. package/i18n/languages/ko-KR.js +0 -16
  301. package/i18n/languages/ko-KR.mjs +1 -4
  302. package/i18n/languages/lv-LV.js +0 -16
  303. package/i18n/languages/lv-LV.mjs +1 -4
  304. package/i18n/languages/nb-NO.js +0 -16
  305. package/i18n/languages/nb-NO.mjs +1 -4
  306. package/i18n/languages/nl-NL.js +0 -16
  307. package/i18n/languages/nl-NL.mjs +1 -4
  308. package/i18n/languages/pl-PL.js +0 -16
  309. package/i18n/languages/pl-PL.mjs +1 -4
  310. package/i18n/languages/pt-BR.js +0 -16
  311. package/i18n/languages/pt-BR.mjs +1 -4
  312. package/i18n/languages/ru-RU.js +0 -16
  313. package/i18n/languages/ru-RU.mjs +1 -4
  314. package/i18n/languages/sr-SP.js +0 -16
  315. package/i18n/languages/sr-SP.mjs +1 -4
  316. package/i18n/languages/zh-CN.js +0 -16
  317. package/i18n/languages/zh-CN.mjs +1 -4
  318. package/i18n/languages/zh-TW.js +0 -16
  319. package/i18n/languages/zh-TW.mjs +1 -4
  320. package/i18n/phraseFormatters/index.js +4 -11
  321. package/i18n/phraseFormatters/index.mjs +4 -6
  322. package/i18n/phraseFormatters/pluralize.js +0 -5
  323. package/i18n/phraseFormatters/pluralize.mjs +0 -3
  324. package/i18n/phraseFormatters/substituteVariables.js +0 -4
  325. package/i18n/phraseFormatters/substituteVariables.mjs +8 -11
  326. package/i18n/registry.js +18 -59
  327. package/i18n/registry.mjs +18 -30
  328. package/i18n/utils.js +4 -22
  329. package/i18n/utils.mjs +13 -21
  330. package/index.js +19 -56
  331. package/index.mjs +19 -15
  332. package/languages/all.js +0 -175
  333. package/languages/ar-AR.js +0 -10
  334. package/languages/ar-AR.mjs +1 -4
  335. package/languages/cs-CZ.js +0 -10
  336. package/languages/cs-CZ.mjs +1 -4
  337. package/languages/de-CH.js +0 -10
  338. package/languages/de-CH.mjs +1 -4
  339. package/languages/de-DE.js +0 -10
  340. package/languages/de-DE.mjs +1 -4
  341. package/languages/en-US.js +0 -10
  342. package/languages/en-US.mjs +1 -4
  343. package/languages/es-MX.js +0 -10
  344. package/languages/es-MX.mjs +1 -4
  345. package/languages/fr-FR.js +0 -10
  346. package/languages/fr-FR.mjs +1 -4
  347. package/languages/index.js +0 -175
  348. package/languages/it-IT.js +0 -10
  349. package/languages/it-IT.mjs +1 -4
  350. package/languages/ja-JP.js +0 -10
  351. package/languages/ja-JP.mjs +1 -4
  352. package/languages/ko-KR.js +0 -10
  353. package/languages/ko-KR.mjs +1 -4
  354. package/languages/lv-LV.js +0 -10
  355. package/languages/lv-LV.mjs +1 -4
  356. package/languages/nb-NO.js +0 -10
  357. package/languages/nb-NO.mjs +1 -4
  358. package/languages/nl-NL.js +0 -10
  359. package/languages/nl-NL.mjs +1 -4
  360. package/languages/pl-PL.js +0 -10
  361. package/languages/pl-PL.mjs +1 -4
  362. package/languages/pt-BR.js +0 -10
  363. package/languages/pt-BR.mjs +1 -4
  364. package/languages/ru-RU.js +0 -10
  365. package/languages/ru-RU.mjs +1 -4
  366. package/languages/sr-SP.js +0 -10
  367. package/languages/sr-SP.mjs +1 -4
  368. package/languages/zh-CN.js +0 -10
  369. package/languages/zh-CN.mjs +1 -4
  370. package/languages/zh-TW.js +0 -10
  371. package/languages/zh-TW.mjs +1 -4
  372. package/mixins/hooksRefRegisterer.js +4 -18
  373. package/mixins/hooksRefRegisterer.mjs +4 -15
  374. package/mixins/localHooks.js +7 -17
  375. package/mixins/localHooks.mjs +7 -14
  376. package/package.json +1 -1
  377. package/pluginHooks.d.ts +3 -4
  378. package/pluginHooks.js +288 -110
  379. package/pluginHooks.mjs +287 -97
  380. package/plugins/autoColumnSize/autoColumnSize.js +74 -172
  381. package/plugins/autoColumnSize/autoColumnSize.mjs +74 -137
  382. package/plugins/autoColumnSize/index.js +0 -2
  383. package/plugins/autoRowSize/autoRowSize.js +73 -153
  384. package/plugins/autoRowSize/autoRowSize.mjs +73 -124
  385. package/plugins/autoRowSize/index.js +0 -2
  386. package/plugins/autofill/autofill.js +46 -163
  387. package/plugins/autofill/autofill.mjs +46 -131
  388. package/plugins/autofill/index.js +0 -2
  389. package/plugins/autofill/utils.js +4 -26
  390. package/plugins/autofill/utils.mjs +4 -18
  391. package/plugins/base/base.js +21 -92
  392. package/plugins/base/base.mjs +21 -63
  393. package/plugins/base/index.js +0 -2
  394. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +19 -52
  395. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +19 -33
  396. package/plugins/bindRowsWithHeaders/index.js +0 -2
  397. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +5 -41
  398. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +5 -29
  399. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -53
  400. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +6 -37
  401. package/plugins/collapsibleColumns/collapsibleColumns.js +96 -188
  402. package/plugins/collapsibleColumns/collapsibleColumns.mjs +97 -158
  403. package/plugins/collapsibleColumns/index.js +0 -2
  404. package/plugins/columnSorting/columnSorting.js +50 -188
  405. package/plugins/columnSorting/columnSorting.mjs +50 -143
  406. package/plugins/columnSorting/columnStatesManager.js +15 -71
  407. package/plugins/columnSorting/columnStatesManager.mjs +15 -48
  408. package/plugins/columnSorting/domHelpers.js +2 -18
  409. package/plugins/columnSorting/domHelpers.mjs +2 -7
  410. package/plugins/columnSorting/index.js +0 -2
  411. package/plugins/columnSorting/rootComparator.js +5 -24
  412. package/plugins/columnSorting/rootComparator.mjs +12 -21
  413. package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
  414. package/plugins/columnSorting/sortFunction/checkbox.mjs +16 -21
  415. package/plugins/columnSorting/sortFunction/date.js +2 -19
  416. package/plugins/columnSorting/sortFunction/date.mjs +10 -23
  417. package/plugins/columnSorting/sortFunction/default.js +2 -17
  418. package/plugins/columnSorting/sortFunction/default.mjs +10 -23
  419. package/plugins/columnSorting/sortFunction/numeric.js +2 -11
  420. package/plugins/columnSorting/sortFunction/numeric.mjs +10 -17
  421. package/plugins/columnSorting/sortService/engine.js +3 -13
  422. package/plugins/columnSorting/sortService/engine.mjs +3 -5
  423. package/plugins/columnSorting/sortService/index.js +0 -5
  424. package/plugins/columnSorting/sortService/registry.js +6 -18
  425. package/plugins/columnSorting/sortService/registry.mjs +6 -10
  426. package/plugins/columnSorting/utils.js +9 -34
  427. package/plugins/columnSorting/utils.mjs +9 -15
  428. package/plugins/columnSummary/columnSummary.js +66 -126
  429. package/plugins/columnSummary/columnSummary.mjs +66 -101
  430. package/plugins/columnSummary/endpoints.js +21 -98
  431. package/plugins/columnSummary/endpoints.mjs +26 -99
  432. package/plugins/columnSummary/index.js +0 -2
  433. package/plugins/columnSummary/utils.js +13 -0
  434. package/plugins/columnSummary/utils.mjs +9 -0
  435. package/plugins/comments/commentEditor.js +16 -28
  436. package/plugins/comments/commentEditor.mjs +21 -32
  437. package/plugins/comments/comments.js +92 -175
  438. package/plugins/comments/comments.mjs +92 -149
  439. package/plugins/comments/displaySwitch.js +6 -23
  440. package/plugins/comments/displaySwitch.mjs +6 -18
  441. package/plugins/comments/index.js +0 -2
  442. package/plugins/contextMenu/commandExecutor.js +9 -40
  443. package/plugins/contextMenu/commandExecutor.mjs +14 -41
  444. package/plugins/contextMenu/contextMenu.js +26 -105
  445. package/plugins/contextMenu/contextMenu.mjs +26 -75
  446. package/plugins/contextMenu/cursor.js +6 -20
  447. package/plugins/contextMenu/cursor.mjs +11 -24
  448. package/plugins/contextMenu/index.js +0 -2
  449. package/plugins/contextMenu/itemsFactory.js +14 -43
  450. package/plugins/contextMenu/itemsFactory.mjs +19 -44
  451. package/plugins/contextMenu/menu.js +61 -177
  452. package/plugins/contextMenu/menu.mjs +61 -149
  453. package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
  454. package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
  455. package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
  456. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
  457. package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
  458. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
  459. package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
  460. package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
  461. package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
  462. package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
  463. package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
  464. package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
  465. package/plugins/contextMenu/predefinedItems/redo.js +1 -16
  466. package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
  467. package/plugins/contextMenu/predefinedItems/removeColumn.js +3 -38
  468. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -18
  469. package/plugins/contextMenu/predefinedItems/removeRow.js +3 -37
  470. package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -17
  471. package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
  472. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
  473. package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
  474. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
  475. package/plugins/contextMenu/predefinedItems/separator.js +1 -2
  476. package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
  477. package/plugins/contextMenu/predefinedItems/undo.js +1 -16
  478. package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
  479. package/plugins/contextMenu/predefinedItems.js +2 -48
  480. package/plugins/contextMenu/predefinedItems.mjs +2 -7
  481. package/plugins/contextMenu/utils.js +17 -57
  482. package/plugins/contextMenu/utils.mjs +21 -39
  483. package/plugins/copyPaste/clipboardData.js +1 -10
  484. package/plugins/copyPaste/clipboardData.mjs +1 -9
  485. package/plugins/copyPaste/contextMenuItem/copy.js +2 -17
  486. package/plugins/copyPaste/contextMenuItem/copy.mjs +6 -9
  487. package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
  488. package/plugins/copyPaste/contextMenuItem/cut.mjs +6 -9
  489. package/plugins/copyPaste/copyPaste.js +53 -185
  490. package/plugins/copyPaste/copyPaste.mjs +53 -144
  491. package/plugins/copyPaste/focusableElement.js +12 -56
  492. package/plugins/copyPaste/focusableElement.mjs +15 -49
  493. package/plugins/copyPaste/index.js +0 -2
  494. package/plugins/copyPaste/pasteEvent.js +1 -10
  495. package/plugins/copyPaste/pasteEvent.mjs +3 -10
  496. package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
  497. package/plugins/customBorders/contextMenuItem/bottom.mjs +4 -8
  498. package/plugins/customBorders/contextMenuItem/index.js +0 -11
  499. package/plugins/customBorders/contextMenuItem/left.js +0 -17
  500. package/plugins/customBorders/contextMenuItem/left.mjs +4 -8
  501. package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
  502. package/plugins/customBorders/contextMenuItem/noBorders.mjs +4 -6
  503. package/plugins/customBorders/contextMenuItem/right.js +0 -17
  504. package/plugins/customBorders/contextMenuItem/right.mjs +4 -8
  505. package/plugins/customBorders/contextMenuItem/top.js +0 -17
  506. package/plugins/customBorders/contextMenuItem/top.mjs +4 -8
  507. package/plugins/customBorders/customBorders.js +52 -181
  508. package/plugins/customBorders/customBorders.mjs +52 -147
  509. package/plugins/customBorders/index.js +0 -2
  510. package/plugins/customBorders/utils.js +13 -52
  511. package/plugins/customBorders/utils.mjs +20 -39
  512. package/plugins/dragToScroll/dragToScroll.js +17 -74
  513. package/plugins/dragToScroll/dragToScroll.mjs +17 -55
  514. package/plugins/dragToScroll/index.js +0 -2
  515. package/plugins/dropdownMenu/dropdownMenu.js +47 -126
  516. package/plugins/dropdownMenu/dropdownMenu.mjs +47 -95
  517. package/plugins/dropdownMenu/index.js +0 -2
  518. package/plugins/exportFile/dataProvider.js +24 -69
  519. package/plugins/exportFile/dataProvider.mjs +26 -60
  520. package/plugins/exportFile/exportFile.js +48 -58
  521. package/plugins/exportFile/exportFile.mjs +48 -36
  522. package/plugins/exportFile/index.js +0 -2
  523. package/plugins/exportFile/typeFactory.js +1 -11
  524. package/plugins/exportFile/typeFactory.mjs +1 -4
  525. package/plugins/exportFile/types/_base.js +2 -16
  526. package/plugins/exportFile/types/_base.mjs +4 -16
  527. package/plugins/exportFile/types/csv.js +2 -50
  528. package/plugins/exportFile/types/csv.mjs +2 -29
  529. package/plugins/filters/component/_base.js +12 -32
  530. package/plugins/filters/component/_base.mjs +15 -30
  531. package/plugins/filters/component/actionBar.js +6 -55
  532. package/plugins/filters/component/actionBar.mjs +9 -38
  533. package/plugins/filters/component/condition.js +25 -122
  534. package/plugins/filters/component/condition.mjs +24 -88
  535. package/plugins/filters/component/operators.js +10 -68
  536. package/plugins/filters/component/operators.mjs +10 -45
  537. package/plugins/filters/component/value.js +25 -99
  538. package/plugins/filters/component/value.mjs +28 -72
  539. package/plugins/filters/condition/beginsWith.js +2 -32
  540. package/plugins/filters/condition/beginsWith.mjs +2 -10
  541. package/plugins/filters/condition/between.js +3 -37
  542. package/plugins/filters/condition/between.mjs +3 -15
  543. package/plugins/filters/condition/byValue.js +3 -27
  544. package/plugins/filters/condition/byValue.mjs +3 -12
  545. package/plugins/filters/condition/contains.js +2 -32
  546. package/plugins/filters/condition/contains.mjs +2 -10
  547. package/plugins/filters/condition/date/after.js +2 -34
  548. package/plugins/filters/condition/date/after.mjs +2 -12
  549. package/plugins/filters/condition/date/before.js +2 -34
  550. package/plugins/filters/condition/date/before.mjs +2 -12
  551. package/plugins/filters/condition/date/today.js +1 -22
  552. package/plugins/filters/condition/date/today.mjs +1 -3
  553. package/plugins/filters/condition/date/tomorrow.js +1 -22
  554. package/plugins/filters/condition/date/tomorrow.mjs +1 -3
  555. package/plugins/filters/condition/date/yesterday.js +1 -22
  556. package/plugins/filters/condition/date/yesterday.mjs +1 -3
  557. package/plugins/filters/condition/empty.js +1 -19
  558. package/plugins/filters/condition/empty.mjs +1 -1
  559. package/plugins/filters/condition/endsWith.js +2 -32
  560. package/plugins/filters/condition/endsWith.mjs +2 -10
  561. package/plugins/filters/condition/equal.js +2 -31
  562. package/plugins/filters/condition/equal.mjs +2 -10
  563. package/plugins/filters/condition/false.js +1 -5
  564. package/plugins/filters/condition/false.mjs +1 -1
  565. package/plugins/filters/condition/greaterThan.js +2 -32
  566. package/plugins/filters/condition/greaterThan.mjs +2 -12
  567. package/plugins/filters/condition/greaterThanOrEqual.js +2 -32
  568. package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -12
  569. package/plugins/filters/condition/lessThan.js +2 -32
  570. package/plugins/filters/condition/lessThan.mjs +2 -12
  571. package/plugins/filters/condition/lessThanOrEqual.js +2 -32
  572. package/plugins/filters/condition/lessThanOrEqual.mjs +2 -12
  573. package/plugins/filters/condition/none.js +1 -18
  574. package/plugins/filters/condition/none.mjs +1 -1
  575. package/plugins/filters/condition/notBetween.js +1 -19
  576. package/plugins/filters/condition/notBetween.mjs +1 -1
  577. package/plugins/filters/condition/notContains.js +1 -19
  578. package/plugins/filters/condition/notContains.mjs +1 -1
  579. package/plugins/filters/condition/notEmpty.js +1 -19
  580. package/plugins/filters/condition/notEmpty.mjs +1 -1
  581. package/plugins/filters/condition/notEqual.js +1 -19
  582. package/plugins/filters/condition/notEqual.mjs +1 -1
  583. package/plugins/filters/condition/true.js +1 -5
  584. package/plugins/filters/condition/true.mjs +1 -1
  585. package/plugins/filters/conditionCollection.js +21 -80
  586. package/plugins/filters/conditionCollection.mjs +21 -57
  587. package/plugins/filters/conditionRegisterer.js +5 -14
  588. package/plugins/filters/conditionRegisterer.mjs +5 -9
  589. package/plugins/filters/conditionUpdateObserver.js +17 -57
  590. package/plugins/filters/conditionUpdateObserver.mjs +25 -53
  591. package/plugins/filters/constants.js +1 -66
  592. package/plugins/filters/constants.mjs +1 -8
  593. package/plugins/filters/dataFilter.js +4 -21
  594. package/plugins/filters/dataFilter.mjs +7 -23
  595. package/plugins/filters/filters.d.ts +1 -1
  596. package/plugins/filters/filters.js +147 -272
  597. package/plugins/filters/filters.mjs +148 -228
  598. package/plugins/filters/index.js +0 -2
  599. package/plugins/filters/logicalOperationRegisterer.js +3 -9
  600. package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
  601. package/plugins/filters/logicalOperations/conjunction.js +2 -19
  602. package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
  603. package/plugins/filters/logicalOperations/disjunction.js +2 -19
  604. package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
  605. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
  606. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
  607. package/plugins/filters/ui/_base.js +12 -55
  608. package/plugins/filters/ui/_base.mjs +12 -35
  609. package/plugins/filters/ui/input.js +7 -52
  610. package/plugins/filters/ui/input.mjs +7 -34
  611. package/plugins/filters/ui/link.js +3 -43
  612. package/plugins/filters/ui/link.mjs +3 -25
  613. package/plugins/filters/ui/multipleSelect.js +26 -120
  614. package/plugins/filters/ui/multipleSelect.mjs +20 -76
  615. package/plugins/filters/ui/radioInput.js +6 -47
  616. package/plugins/filters/ui/radioInput.mjs +6 -30
  617. package/plugins/filters/ui/select.js +14 -76
  618. package/plugins/filters/ui/select.mjs +14 -52
  619. package/plugins/filters/utils.js +6 -39
  620. package/plugins/filters/utils.mjs +6 -23
  621. package/plugins/formulas/engine/register.js +24 -74
  622. package/plugins/formulas/engine/register.mjs +29 -51
  623. package/plugins/formulas/engine/settings.js +4 -24
  624. package/plugins/formulas/engine/settings.mjs +4 -12
  625. package/plugins/formulas/formulas.js +103 -295
  626. package/plugins/formulas/formulas.mjs +104 -248
  627. package/plugins/formulas/index.js +0 -2
  628. package/plugins/formulas/utils.js +1 -3
  629. package/plugins/formulas/utils.mjs +1 -1
  630. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +4 -38
  631. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +8 -25
  632. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
  633. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +21 -29
  634. package/plugins/hiddenColumns/hiddenColumns.js +72 -153
  635. package/plugins/hiddenColumns/hiddenColumns.mjs +72 -110
  636. package/plugins/hiddenColumns/index.js +0 -2
  637. package/plugins/hiddenRows/contextMenuItem/hideRow.js +4 -38
  638. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +8 -25
  639. package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
  640. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +21 -29
  641. package/plugins/hiddenRows/hiddenRows.js +70 -152
  642. package/plugins/hiddenRows/hiddenRows.mjs +70 -109
  643. package/plugins/hiddenRows/index.js +0 -2
  644. package/plugins/index.js +0 -71
  645. package/plugins/index.mjs +3 -5
  646. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -28
  647. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +5 -17
  648. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -28
  649. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +5 -17
  650. package/plugins/manualColumnFreeze/index.js +0 -2
  651. package/plugins/manualColumnFreeze/manualColumnFreeze.js +21 -78
  652. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +21 -54
  653. package/plugins/manualColumnMove/index.js +0 -2
  654. package/plugins/manualColumnMove/manualColumnMove.js +45 -134
  655. package/plugins/manualColumnMove/manualColumnMove.mjs +45 -106
  656. package/plugins/manualColumnMove/ui/_base.js +12 -30
  657. package/plugins/manualColumnMove/ui/_base.mjs +12 -27
  658. package/plugins/manualColumnMove/ui/backlight.js +1 -37
  659. package/plugins/manualColumnMove/ui/backlight.mjs +1 -22
  660. package/plugins/manualColumnMove/ui/guideline.js +1 -37
  661. package/plugins/manualColumnMove/ui/guideline.mjs +1 -22
  662. package/plugins/manualColumnResize/index.js +0 -2
  663. package/plugins/manualColumnResize/manualColumnResize.js +44 -143
  664. package/plugins/manualColumnResize/manualColumnResize.mjs +43 -118
  665. package/plugins/manualRowMove/index.js +0 -2
  666. package/plugins/manualRowMove/manualRowMove.js +45 -137
  667. package/plugins/manualRowMove/manualRowMove.mjs +45 -109
  668. package/plugins/manualRowMove/ui/_base.js +12 -27
  669. package/plugins/manualRowMove/ui/_base.mjs +12 -26
  670. package/plugins/manualRowMove/ui/backlight.js +1 -37
  671. package/plugins/manualRowMove/ui/backlight.mjs +1 -22
  672. package/plugins/manualRowMove/ui/guideline.js +1 -37
  673. package/plugins/manualRowMove/ui/guideline.mjs +1 -22
  674. package/plugins/manualRowResize/index.js +0 -2
  675. package/plugins/manualRowResize/manualRowResize.js +42 -138
  676. package/plugins/manualRowResize/manualRowResize.mjs +41 -112
  677. package/plugins/mergeCells/calculations/autofill.js +39 -130
  678. package/plugins/mergeCells/calculations/autofill.mjs +44 -122
  679. package/plugins/mergeCells/calculations/selection.js +9 -40
  680. package/plugins/mergeCells/calculations/selection.mjs +9 -37
  681. package/plugins/mergeCells/cellCoords.js +30 -51
  682. package/plugins/mergeCells/cellCoords.mjs +35 -54
  683. package/plugins/mergeCells/cellsCollection.js +13 -84
  684. package/plugins/mergeCells/cellsCollection.mjs +18 -69
  685. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
  686. package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +4 -11
  687. package/plugins/mergeCells/index.js +0 -2
  688. package/plugins/mergeCells/mergeCells.js +130 -333
  689. package/plugins/mergeCells/mergeCells.mjs +130 -292
  690. package/plugins/mergeCells/utils.js +0 -3
  691. package/plugins/mergeCells/utils.mjs +0 -1
  692. package/plugins/multiColumnSorting/domHelpers.js +3 -15
  693. package/plugins/multiColumnSorting/domHelpers.mjs +3 -7
  694. package/plugins/multiColumnSorting/index.js +0 -2
  695. package/plugins/multiColumnSorting/multiColumnSorting.js +14 -66
  696. package/plugins/multiColumnSorting/multiColumnSorting.mjs +14 -44
  697. package/plugins/multiColumnSorting/rootComparator.js +2 -26
  698. package/plugins/multiColumnSorting/rootComparator.mjs +9 -23
  699. package/plugins/multiColumnSorting/utils.js +0 -7
  700. package/plugins/multiColumnSorting/utils.mjs +3 -8
  701. package/plugins/multipleSelectionHandles/index.js +0 -2
  702. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +6 -109
  703. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +6 -87
  704. package/plugins/nestedHeaders/index.js +0 -2
  705. package/plugins/nestedHeaders/nestedHeaders.js +79 -200
  706. package/plugins/nestedHeaders/nestedHeaders.mjs +80 -173
  707. package/plugins/nestedHeaders/stateManager/headersTree.js +16 -93
  708. package/plugins/nestedHeaders/stateManager/headersTree.mjs +16 -73
  709. package/plugins/nestedHeaders/stateManager/index.js +24 -107
  710. package/plugins/nestedHeaders/stateManager/index.mjs +51 -115
  711. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
  712. package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +38 -51
  713. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
  714. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +29 -35
  715. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
  716. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +26 -32
  717. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
  718. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +9 -20
  719. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
  720. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +2 -5
  721. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
  722. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +9 -21
  723. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
  724. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
  725. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
  726. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +44 -61
  727. package/plugins/nestedHeaders/stateManager/sourceSettings.js +16 -78
  728. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +21 -68
  729. package/plugins/nestedHeaders/stateManager/utils.js +19 -22
  730. package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
  731. package/plugins/nestedHeaders/utils/ghostTable.js +9 -37
  732. package/plugins/nestedHeaders/utils/ghostTable.mjs +16 -43
  733. package/plugins/nestedRows/data/dataManager.js +40 -161
  734. package/plugins/nestedRows/data/dataManager.mjs +44 -148
  735. package/plugins/nestedRows/index.js +0 -2
  736. package/plugins/nestedRows/nestedRows.js +41 -119
  737. package/plugins/nestedRows/nestedRows.mjs +41 -86
  738. package/plugins/nestedRows/ui/_base.js +1 -9
  739. package/plugins/nestedRows/ui/_base.mjs +1 -8
  740. package/plugins/nestedRows/ui/collapsing.js +28 -134
  741. package/plugins/nestedRows/ui/collapsing.mjs +34 -118
  742. package/plugins/nestedRows/ui/contextMenu.js +2 -53
  743. package/plugins/nestedRows/ui/contextMenu.mjs +2 -32
  744. package/plugins/nestedRows/ui/headers.js +5 -50
  745. package/plugins/nestedRows/ui/headers.mjs +11 -41
  746. package/plugins/nestedRows/utils/rowMoveController.js +28 -78
  747. package/plugins/nestedRows/utils/rowMoveController.mjs +33 -66
  748. package/plugins/persistentState/index.js +0 -2
  749. package/plugins/persistentState/persistentState.js +10 -58
  750. package/plugins/persistentState/persistentState.mjs +10 -37
  751. package/plugins/persistentState/storage.js +9 -25
  752. package/plugins/persistentState/storage.mjs +12 -26
  753. package/plugins/registry.js +7 -51
  754. package/plugins/registry.mjs +8 -34
  755. package/plugins/search/index.js +0 -2
  756. package/plugins/search/search.js +16 -98
  757. package/plugins/search/search.mjs +16 -68
  758. package/plugins/touchScroll/index.js +0 -2
  759. package/plugins/touchScroll/touchScroll.js +15 -76
  760. package/plugins/touchScroll/touchScroll.mjs +15 -58
  761. package/plugins/trimRows/index.js +0 -2
  762. package/plugins/trimRows/trimRows.js +62 -88
  763. package/plugins/trimRows/trimRows.mjs +62 -65
  764. package/plugins/undoRedo/index.js +0 -14
  765. package/plugins/undoRedo/undoRedo.js +48 -218
  766. package/plugins/undoRedo/undoRedo.mjs +48 -188
  767. package/registry.js +0 -11
  768. package/registry.mjs +2 -4
  769. package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
  770. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
  771. package/renderers/autocompleteRenderer/index.js +0 -2
  772. package/renderers/baseRenderer/baseRenderer.js +2 -11
  773. package/renderers/baseRenderer/baseRenderer.mjs +2 -9
  774. package/renderers/baseRenderer/index.js +0 -2
  775. package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
  776. package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
  777. package/renderers/checkboxRenderer/index.js +0 -2
  778. package/renderers/htmlRenderer/htmlRenderer.js +1 -7
  779. package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
  780. package/renderers/htmlRenderer/index.js +0 -2
  781. package/renderers/index.js +0 -19
  782. package/renderers/index.mjs +3 -5
  783. package/renderers/numericRenderer/index.js +0 -2
  784. package/renderers/numericRenderer/numericRenderer.js +1 -23
  785. package/renderers/numericRenderer/numericRenderer.mjs +1 -10
  786. package/renderers/passwordRenderer/index.js +0 -2
  787. package/renderers/passwordRenderer/passwordRenderer.js +1 -8
  788. package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
  789. package/renderers/registry.js +7 -16
  790. package/renderers/registry.mjs +7 -14
  791. package/renderers/textRenderer/index.js +0 -2
  792. package/renderers/textRenderer/textRenderer.js +2 -14
  793. package/renderers/textRenderer/textRenderer.mjs +2 -6
  794. package/renderers/timeRenderer/index.js +0 -2
  795. package/renderers/timeRenderer/timeRenderer.js +1 -6
  796. package/renderers/timeRenderer/timeRenderer.mjs +1 -1
  797. package/selection/highlight/highlight.js +17 -73
  798. package/selection/highlight/highlight.mjs +31 -64
  799. package/selection/highlight/types/activeHeader.js +1 -21
  800. package/selection/highlight/types/activeHeader.mjs +6 -16
  801. package/selection/highlight/types/area.js +2 -22
  802. package/selection/highlight/types/area.mjs +10 -20
  803. package/selection/highlight/types/cell.js +1 -21
  804. package/selection/highlight/types/cell.mjs +9 -19
  805. package/selection/highlight/types/customSelection.js +2 -22
  806. package/selection/highlight/types/customSelection.mjs +11 -21
  807. package/selection/highlight/types/fill.js +2 -17
  808. package/selection/highlight/types/fill.mjs +9 -14
  809. package/selection/highlight/types/header.js +3 -23
  810. package/selection/highlight/types/header.mjs +13 -23
  811. package/selection/highlight/types/index.js +3 -24
  812. package/selection/highlight/types/index.mjs +3 -10
  813. package/selection/highlight/visualSelection.js +24 -74
  814. package/selection/highlight/visualSelection.mjs +24 -62
  815. package/selection/index.js +0 -14
  816. package/selection/mouseEventHandler.js +19 -30
  817. package/selection/mouseEventHandler.mjs +32 -36
  818. package/selection/range.js +11 -31
  819. package/selection/range.mjs +11 -22
  820. package/selection/selection.js +62 -157
  821. package/selection/selection.mjs +65 -132
  822. package/selection/transformation.js +10 -40
  823. package/selection/transformation.mjs +18 -45
  824. package/selection/utils.js +22 -70
  825. package/selection/utils.mjs +22 -47
  826. package/shortcuts/context.js +23 -78
  827. package/shortcuts/context.mjs +23 -55
  828. package/shortcuts/index.js +0 -2
  829. package/shortcuts/keyObserver.js +4 -17
  830. package/shortcuts/keyObserver.mjs +4 -12
  831. package/shortcuts/manager.js +16 -36
  832. package/shortcuts/manager.mjs +16 -33
  833. package/shortcuts/recorder.js +20 -47
  834. package/shortcuts/recorder.mjs +20 -39
  835. package/shortcuts/utils.js +5 -24
  836. package/shortcuts/utils.mjs +5 -8
  837. package/tableView.js +100 -270
  838. package/tableView.mjs +100 -248
  839. package/translations/changesObservable/observable.js +5 -54
  840. package/translations/changesObservable/observable.mjs +12 -51
  841. package/translations/changesObservable/observer.js +4 -32
  842. package/translations/changesObservable/observer.mjs +9 -29
  843. package/translations/changesObservable/utils.js +1 -5
  844. package/translations/changesObservable/utils.mjs +1 -4
  845. package/translations/index.js +0 -11
  846. package/translations/indexMapper.js +70 -158
  847. package/translations/indexMapper.mjs +70 -125
  848. package/translations/mapCollections/aggregatedCollection.js +9 -51
  849. package/translations/mapCollections/aggregatedCollection.mjs +12 -41
  850. package/translations/mapCollections/index.js +0 -7
  851. package/translations/mapCollections/mapCollection.js +10 -33
  852. package/translations/mapCollections/mapCollection.mjs +10 -22
  853. package/translations/maps/hidingMap.js +2 -35
  854. package/translations/maps/hidingMap.mjs +7 -28
  855. package/translations/maps/index.js +1 -24
  856. package/translations/maps/index.mjs +1 -3
  857. package/translations/maps/indexMap.js +12 -34
  858. package/translations/maps/indexMap.mjs +16 -32
  859. package/translations/maps/indexesSequence.js +3 -41
  860. package/translations/maps/indexesSequence.mjs +9 -32
  861. package/translations/maps/linkedPhysicalIndexToValueMap.js +9 -78
  862. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +16 -59
  863. package/translations/maps/physicalIndexToValueMap.js +2 -39
  864. package/translations/maps/physicalIndexToValueMap.mjs +8 -31
  865. package/translations/maps/trimmingMap.js +2 -35
  866. package/translations/maps/trimmingMap.mjs +7 -28
  867. package/translations/maps/utils/actionsOnIndexes.js +1 -7
  868. package/translations/maps/utils/actionsOnIndexes.mjs +9 -12
  869. package/translations/maps/utils/index.js +0 -13
  870. package/translations/maps/utils/index.mjs +0 -3
  871. package/translations/maps/utils/indexesSequence.js +1 -24
  872. package/translations/maps/utils/indexesSequence.mjs +10 -19
  873. package/translations/maps/utils/physicallyIndexed.js +1 -27
  874. package/translations/maps/utils/physicallyIndexed.mjs +11 -21
  875. package/utils/dataStructures/linkedList.js +15 -56
  876. package/utils/dataStructures/linkedList.mjs +15 -54
  877. package/utils/dataStructures/priorityMap.js +8 -46
  878. package/utils/dataStructures/priorityMap.mjs +8 -29
  879. package/utils/dataStructures/queue.js +6 -17
  880. package/utils/dataStructures/queue.mjs +6 -16
  881. package/utils/dataStructures/stack.js +6 -17
  882. package/utils/dataStructures/stack.mjs +6 -16
  883. package/utils/dataStructures/tree.js +11 -75
  884. package/utils/dataStructures/tree.mjs +11 -54
  885. package/utils/dataStructures/uniqueMap.js +17 -56
  886. package/utils/dataStructures/uniqueMap.mjs +17 -42
  887. package/utils/dataStructures/uniqueSet.js +5 -32
  888. package/utils/dataStructures/uniqueSet.mjs +5 -19
  889. package/utils/ghostTable.js +33 -104
  890. package/utils/ghostTable.mjs +35 -92
  891. package/utils/interval.js +10 -37
  892. package/utils/interval.mjs +7 -29
  893. package/utils/parseTable.js +11 -92
  894. package/utils/parseTable.mjs +11 -62
  895. package/utils/rootInstance.js +3 -14
  896. package/utils/rootInstance.mjs +3 -3
  897. package/utils/samplesGenerator.js +15 -51
  898. package/utils/samplesGenerator.mjs +17 -44
  899. package/utils/staticRegister.js +6 -33
  900. package/utils/staticRegister.mjs +6 -19
  901. package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
  902. package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
  903. package/validators/autocompleteValidator/index.js +0 -2
  904. package/validators/dateValidator/dateValidator.js +2 -21
  905. package/validators/dateValidator/dateValidator.mjs +2 -11
  906. package/validators/dateValidator/index.js +0 -2
  907. package/validators/index.js +0 -11
  908. package/validators/index.mjs +3 -5
  909. package/validators/numericValidator/index.js +0 -2
  910. package/validators/numericValidator/numericValidator.js +1 -7
  911. package/validators/numericValidator/numericValidator.mjs +1 -3
  912. package/validators/registry.js +7 -16
  913. package/validators/registry.mjs +7 -14
  914. package/validators/timeValidator/index.js +0 -2
  915. package/validators/timeValidator/timeValidator.js +6 -18
  916. package/validators/timeValidator/timeValidator.mjs +8 -13
  917. package/utils/sortingAlgorithms/mergeSort.js +0 -120
  918. package/utils/sortingAlgorithms/mergeSort.mjs +0 -110
@@ -1,79 +1,45 @@
1
1
  "use strict";
2
2
 
3
3
  require("core-js/modules/es.symbol.js");
4
-
5
4
  require("core-js/modules/es.array.filter.js");
6
-
7
5
  require("core-js/modules/es.object.get-own-property-descriptor.js");
8
-
9
6
  require("core-js/modules/web.dom-collections.for-each.js");
10
-
11
7
  require("core-js/modules/es.object.get-own-property-descriptors.js");
12
-
13
8
  exports.__esModule = true;
14
9
  exports.default = void 0;
15
-
16
10
  require("core-js/modules/es.function.name.js");
17
-
18
11
  require("core-js/modules/web.timers.js");
19
-
20
12
  require("core-js/modules/es.object.keys.js");
21
-
22
13
  require("core-js/modules/es.regexp.exec.js");
23
-
24
14
  require("core-js/modules/es.regexp.constructor.js");
25
-
26
15
  require("core-js/modules/es.regexp.to-string.js");
27
-
28
16
  require("core-js/modules/es.object.to-string.js");
29
-
30
17
  require("core-js/modules/es.string.replace.js");
31
-
32
18
  require("core-js/modules/es.array.concat.js");
33
-
34
19
  var _cursor = _interopRequireDefault(require("./cursor"));
35
-
36
20
  var _predefinedItems = require("./predefinedItems");
37
-
38
21
  var _utils = require("./utils");
39
-
40
22
  var _core = _interopRequireDefault(require("../../core"));
41
-
42
23
  var _eventManager = _interopRequireDefault(require("../../eventManager"));
43
-
44
24
  var _array = require("../../helpers/array");
45
-
46
25
  var _browser = require("../../helpers/browser");
47
-
48
26
  var _element = require("../../helpers/dom/element");
49
-
50
27
  var _event = require("../../helpers/dom/event");
51
-
52
28
  var _function = require("../../helpers/function");
53
-
54
29
  var _mixed = require("../../helpers/mixed");
55
-
56
30
  var _object = require("../../helpers/object");
57
-
58
31
  var _localHooks = _interopRequireDefault(require("../../mixins/localHooks"));
59
-
60
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
61
-
62
33
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
63
-
64
34
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
65
-
66
35
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
67
-
68
36
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
69
-
70
37
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
71
-
72
38
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
73
-
74
39
  var MIN_WIDTH = 215;
75
40
  var SHORTCUTS_CONTEXT = 'menu';
76
41
  var SHORTCUTS_GROUP = SHORTCUTS_CONTEXT;
42
+
77
43
  /**
78
44
  * @typedef MenuOptions
79
45
  * @property {Menu} [parent=null] Instance of {@link Menu}.
@@ -89,7 +55,6 @@ var SHORTCUTS_GROUP = SHORTCUTS_CONTEXT;
89
55
  * @private
90
56
  * @class Menu
91
57
  */
92
-
93
58
  var Menu = /*#__PURE__*/function () {
94
59
  /**
95
60
  * @param {Core} hotInstance Handsontable instance.
@@ -97,7 +62,6 @@ var Menu = /*#__PURE__*/function () {
97
62
  */
98
63
  function Menu(hotInstance, options) {
99
64
  _classCallCheck(this, Menu);
100
-
101
65
  this.hot = hotInstance;
102
66
  this.options = options || {
103
67
  parent: null,
@@ -125,20 +89,17 @@ var Menu = /*#__PURE__*/function () {
125
89
  this._afterScrollCallback = null;
126
90
  this.registerEvents();
127
91
  }
92
+
128
93
  /**
129
94
  * Register event listeners.
130
95
  *
131
96
  * @private
132
97
  */
133
-
134
-
135
98
  _createClass(Menu, [{
136
99
  key: "registerEvents",
137
100
  value: function registerEvents() {
138
101
  var _this = this;
139
-
140
102
  var frame = this.hot.rootWindow;
141
-
142
103
  while (frame) {
143
104
  this.eventManager.addEventListener(frame.document, 'mousedown', function (event) {
144
105
  return _this.onDocumentMouseDown(event);
@@ -149,75 +110,74 @@ var Menu = /*#__PURE__*/function () {
149
110
  frame = (0, _element.getParentWindow)(frame);
150
111
  }
151
112
  }
113
+
152
114
  /**
153
115
  * Set array of objects which defines menu items.
154
116
  *
155
117
  * @param {Array} menuItems Menu items to display.
156
118
  */
157
-
158
119
  }, {
159
120
  key: "setMenuItems",
160
121
  value: function setMenuItems(menuItems) {
161
122
  this.menuItems = menuItems;
162
123
  }
124
+
163
125
  /**
164
126
  * Returns currently selected menu item. Returns `null` if no item was selected.
165
127
  *
166
128
  * @returns {object|null}
167
129
  */
168
-
169
130
  }, {
170
131
  key: "getSelectedItem",
171
132
  value: function getSelectedItem() {
172
133
  return this.hasSelectedItem() ? this.hotMenu.getSourceDataAtRow(this.hotMenu.getSelectedLast()[0]) : null;
173
134
  }
135
+
174
136
  /**
175
137
  * Checks if the menu has selected (highlighted) any item from the menu list.
176
138
  *
177
139
  * @returns {boolean}
178
140
  */
179
-
180
141
  }, {
181
142
  key: "hasSelectedItem",
182
143
  value: function hasSelectedItem() {
183
144
  return Array.isArray(this.hotMenu.getSelectedLast());
184
145
  }
146
+
185
147
  /**
186
148
  * Set offset menu position for specified area (`above`, `below`, `left` or `right`).
187
149
  *
188
150
  * @param {string} area Specified area name (`above`, `below`, `left` or `right`).
189
151
  * @param {number} offset Offset value.
190
152
  */
191
-
192
153
  }, {
193
154
  key: "setOffset",
194
155
  value: function setOffset(area) {
195
156
  var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
196
157
  this.offset[area] = offset;
197
158
  }
159
+
198
160
  /**
199
161
  * Check if menu is using as sub-menu.
200
162
  *
201
163
  * @returns {boolean}
202
164
  */
203
-
204
165
  }, {
205
166
  key: "isSubMenu",
206
167
  value: function isSubMenu() {
207
168
  return this.parentMenu !== null;
208
169
  }
170
+
209
171
  /**
210
172
  * Open menu.
211
173
  *
212
174
  * @fires Hooks#beforeContextMenuShow
213
175
  * @fires Hooks#afterContextMenuShow
214
176
  */
215
-
216
177
  }, {
217
178
  key: "open",
218
179
  value: function open() {
219
180
  var _this2 = this;
220
-
221
181
  this.runLocalHooks('beforeOpen');
222
182
  this.container.removeAttribute('style');
223
183
  this.container.style.display = 'block';
@@ -230,16 +190,13 @@ var Menu = /*#__PURE__*/function () {
230
190
  if (item.key === _predefinedItems.NO_ITEMS) {
231
191
  noItemsDefined = true;
232
192
  }
233
-
234
193
  return (0, _utils.isItemHidden)(item, _this2.hot);
235
194
  });
236
-
237
195
  if (filteredItems.length < 1 && !noItemsDefined) {
238
196
  filteredItems.push((0, _predefinedItems.predefinedItems)()[_predefinedItems.NO_ITEMS]);
239
197
  } else if (filteredItems.length === 0) {
240
198
  return;
241
199
  }
242
-
243
200
  filteredItems = (0, _utils.filterSeparators)(filteredItems, _predefinedItems.SEPARATOR);
244
201
  var shouldAutoCloseMenu = false;
245
202
  var settings = {
@@ -251,7 +208,6 @@ var Menu = /*#__PURE__*/function () {
251
208
  if ((0, _mixed.isDefined)(width) && width < minWidthOfMenu) {
252
209
  return minWidthOfMenu;
253
210
  }
254
-
255
211
  return width;
256
212
  },
257
213
  autoRowSize: false,
@@ -281,9 +237,10 @@ var Menu = /*#__PURE__*/function () {
281
237
  return filteredItems[row].name === _predefinedItems.SEPARATOR ? 1 : 23;
282
238
  },
283
239
  afterOnCellContextMenu: function afterOnCellContextMenu(event) {
284
- event.preventDefault(); // On the Windows platform, the "contextmenu" is triggered after the "mouseup" so that's
285
- // why the closing menu is here. (#6507#issuecomment-582392301).
240
+ event.preventDefault();
286
241
 
242
+ // On the Windows platform, the "contextmenu" is triggered after the "mouseup" so that's
243
+ // why the closing menu is here. (#6507#issuecomment-582392301).
287
244
  if ((0, _browser.isWindowsOS)() && shouldAutoCloseMenu && _this2.hasSelectedItem()) {
288
245
  _this2.close(true);
289
246
  }
@@ -291,7 +248,6 @@ var Menu = /*#__PURE__*/function () {
291
248
  beforeOnCellMouseUp: function beforeOnCellMouseUp(event) {
292
249
  if (_this2.hasSelectedItem()) {
293
250
  shouldAutoCloseMenu = !_this2.isCommandPassive(_this2.getSelectedItem());
294
-
295
251
  _this2.executeCommand(event);
296
252
  }
297
253
  },
@@ -338,152 +294,123 @@ var Menu = /*#__PURE__*/function () {
338
294
  var config = {
339
295
  group: SHORTCUTS_CONTEXT
340
296
  };
341
-
342
297
  var menuContextConfig = _objectSpread(_objectSpread({}, config), {}, {
343
298
  runOnlyIf: function runOnlyIf(event) {
344
299
  return (0, _element.isInput)(event.target) === false || _this2.container.contains(event.target) === false;
345
300
  }
346
- }); // Default shortcuts for Handsontable should not be handled. Changing context will help with that.
347
-
301
+ });
348
302
 
303
+ // Default shortcuts for Handsontable should not be handled. Changing context will help with that.
349
304
  shortcutManager.setActiveContextName('menu');
350
305
  menuContext.addShortcuts([{
351
306
  keys: [['Escape']],
352
307
  callback: function callback() {
353
308
  _this2.keyEvent = true;
354
-
355
309
  _this2.close();
356
-
357
310
  _this2.keyEvent = false;
358
311
  }
359
312
  }, {
360
313
  keys: [['ArrowDown']],
361
314
  callback: function callback() {
362
315
  var selection = _this2.hotMenu.getSelectedLast();
363
-
364
316
  _this2.keyEvent = true;
365
-
366
317
  if (selection) {
367
318
  _this2.selectNextCell(selection[0], selection[1]);
368
319
  } else {
369
320
  _this2.selectFirstCell();
370
321
  }
371
-
372
322
  _this2.keyEvent = false;
373
323
  }
374
324
  }, {
375
325
  keys: [['ArrowUp']],
376
326
  callback: function callback() {
377
327
  var selection = _this2.hotMenu.getSelectedLast();
378
-
379
328
  _this2.keyEvent = true;
380
-
381
329
  if (selection) {
382
330
  _this2.selectPrevCell(selection[0], selection[1]);
383
331
  } else {
384
332
  _this2.selectLastCell();
385
333
  }
386
-
387
334
  _this2.keyEvent = false;
388
335
  }
389
336
  }, {
390
337
  keys: [['ArrowRight']],
391
338
  callback: function callback() {
392
339
  var selection = _this2.hotMenu.getSelectedLast();
393
-
394
340
  _this2.keyEvent = true;
395
-
396
341
  if (selection) {
397
342
  var menu = _this2.openSubMenu(selection[0]);
398
-
399
343
  if (menu) {
400
344
  menu.selectFirstCell();
401
345
  }
402
346
  }
403
-
404
347
  _this2.keyEvent = false;
405
348
  }
406
349
  }, {
407
350
  keys: [['ArrowLeft']],
408
351
  callback: function callback() {
409
352
  var selection = _this2.hotMenu.getSelectedLast();
410
-
411
353
  _this2.keyEvent = true;
412
-
413
354
  if (selection && _this2.isSubMenu()) {
414
355
  _this2.close();
415
-
416
356
  if (_this2.parentMenu) {
417
357
  _this2.parentMenu.hotMenu.listen();
418
358
  }
419
359
  }
420
-
421
360
  _this2.keyEvent = false;
422
361
  }
423
362
  }, {
424
363
  keys: [['Enter']],
425
364
  callback: function callback(event) {
426
365
  var selection = _this2.hotMenu.getSelectedLast();
427
-
428
366
  _this2.keyEvent = true;
429
-
430
367
  if (!_this2.hotMenu.getSourceDataAtRow(selection[0]).submenu) {
431
368
  _this2.executeCommand(event);
432
-
433
369
  _this2.close(true);
434
370
  }
435
-
436
371
  _this2.keyEvent = false;
437
372
  }
438
373
  }, {
439
374
  keys: [['PageUp']],
440
375
  callback: function callback() {
441
376
  var selection = _this2.hotMenu.getSelectedLast();
442
-
443
377
  _this2.keyEvent = true;
444
-
445
378
  if (selection) {
446
379
  _this2.hotMenu.selection.transformStart(-_this2.hotMenu.countVisibleRows(), 0);
447
380
  } else {
448
381
  _this2.selectFirstCell();
449
382
  }
450
-
451
383
  _this2.keyEvent = false;
452
384
  }
453
385
  }, {
454
386
  keys: [['PageDown']],
455
387
  callback: function callback() {
456
388
  var selection = _this2.hotMenu.getSelectedLast();
457
-
458
389
  _this2.keyEvent = true;
459
-
460
390
  if (selection) {
461
391
  _this2.hotMenu.selection.transformStart(_this2.hotMenu.countVisibleRows(), 0);
462
392
  } else {
463
393
  _this2.selectLastCell();
464
394
  }
465
-
466
395
  _this2.keyEvent = false;
467
396
  }
468
397
  }], menuContextConfig);
469
398
  this.blockMainTableCallbacks();
470
399
  this.runLocalHooks('afterOpen');
471
400
  }
401
+
472
402
  /**
473
403
  * Close menu.
474
404
  *
475
405
  * @param {boolean} [closeParent=false] If `true` try to close parent menu if exists.
476
406
  */
477
-
478
407
  }, {
479
408
  key: "close",
480
409
  value: function close() {
481
410
  var closeParent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
482
-
483
411
  if (!this.isOpened()) {
484
412
  return;
485
413
  }
486
-
487
414
  if (closeParent && this.parentMenu) {
488
415
  this.parentMenu.close();
489
416
  } else {
@@ -494,33 +421,29 @@ var Menu = /*#__PURE__*/function () {
494
421
  this.hotMenu = null;
495
422
  this.hot.getSettings().outsideClickDeselects = this.origOutsideClickDeselects;
496
423
  this.runLocalHooks('afterClose');
497
-
498
424
  if (this.parentMenu) {
499
425
  this.parentMenu.hotMenu.listen();
500
426
  }
501
427
  }
502
428
  }
429
+
503
430
  /**
504
431
  * Open sub menu at the provided row index.
505
432
  *
506
433
  * @param {number} row Row index.
507
434
  * @returns {Menu|boolean} Returns created menu or `false` if no one menu was created.
508
435
  */
509
-
510
436
  }, {
511
437
  key: "openSubMenu",
512
438
  value: function openSubMenu(row) {
513
439
  if (!this.hotMenu) {
514
440
  return false;
515
441
  }
516
-
517
442
  var cell = this.hotMenu.getCell(row, 0);
518
443
  this.closeAllSubMenus();
519
-
520
444
  if (!cell || !(0, _utils.hasSubMenu)(cell)) {
521
445
  return false;
522
446
  }
523
-
524
447
  var dataItem = this.hotMenu.getSourceDataAtRow(row);
525
448
  var subMenu = new Menu(this.hot, {
526
449
  parent: this,
@@ -535,51 +458,49 @@ var Menu = /*#__PURE__*/function () {
535
458
  this.hotSubMenus[dataItem.key] = subMenu;
536
459
  return subMenu;
537
460
  }
461
+
538
462
  /**
539
463
  * Close sub menu at row index.
540
464
  *
541
465
  * @param {number} row Row index.
542
466
  */
543
-
544
467
  }, {
545
468
  key: "closeSubMenu",
546
469
  value: function closeSubMenu(row) {
547
470
  var dataItem = this.hotMenu.getSourceDataAtRow(row);
548
471
  var menus = this.hotSubMenus[dataItem.key];
549
-
550
472
  if (menus) {
551
473
  menus.destroy();
552
474
  delete this.hotSubMenus[dataItem.key];
553
475
  }
554
476
  }
477
+
555
478
  /**
556
479
  * Close all opened sub menus.
557
480
  */
558
-
559
481
  }, {
560
482
  key: "closeAllSubMenus",
561
483
  value: function closeAllSubMenus() {
562
484
  var _this3 = this;
563
-
564
485
  (0, _array.arrayEach)(this.hotMenu.getData(), function (value, row) {
565
486
  return _this3.closeSubMenu(row);
566
487
  });
567
488
  }
489
+
568
490
  /**
569
491
  * Checks if all created and opened sub menus are closed.
570
492
  *
571
493
  * @returns {boolean}
572
494
  */
573
-
574
495
  }, {
575
496
  key: "isAllSubMenusClosed",
576
497
  value: function isAllSubMenusClosed() {
577
498
  return Object.keys(this.hotSubMenus).length === 0;
578
499
  }
500
+
579
501
  /**
580
502
  * Destroy instance.
581
503
  */
582
-
583
504
  }, {
584
505
  key: "destroy",
585
506
  value: function destroy() {
@@ -588,50 +509,50 @@ var Menu = /*#__PURE__*/function () {
588
509
  this.close();
589
510
  this.parentMenu = null;
590
511
  this.eventManager.destroy();
591
-
592
512
  if (menuContainerParentElement) {
593
513
  menuContainerParentElement.removeChild(this.container);
594
514
  }
595
515
  }
516
+
596
517
  /**
597
518
  * Checks if menu was opened.
598
519
  *
599
520
  * @returns {boolean} Returns `true` if menu was opened.
600
521
  */
601
-
602
522
  }, {
603
523
  key: "isOpened",
604
524
  value: function isOpened() {
605
525
  return this.hotMenu !== null;
606
526
  }
527
+
607
528
  /**
608
529
  * Execute menu command.
609
530
  *
531
+ * The `executeCommand()` method works only for selected cells.
532
+ *
533
+ * When no cells are selected, `executeCommand()` doesn't do anything.
534
+ *
610
535
  * @param {Event} [event] The mouse event object.
611
536
  */
612
-
613
537
  }, {
614
538
  key: "executeCommand",
615
539
  value: function executeCommand(event) {
616
540
  if (!this.isOpened() || !this.hasSelectedItem()) {
617
541
  return;
618
542
  }
619
-
620
543
  var selectedItem = this.getSelectedItem();
621
544
  this.runLocalHooks('select', selectedItem, event);
622
-
623
545
  if (this.isCommandPassive(selectedItem)) {
624
546
  return;
625
547
  }
626
-
627
548
  var selRanges = this.hot.getSelectedRange();
628
549
  var normalizedSelection = selRanges ? (0, _utils.normalizeSelection)(selRanges) : [];
629
550
  this.runLocalHooks('executeCommand', selectedItem.key, normalizedSelection, event);
630
-
631
551
  if (this.isSubMenu()) {
632
552
  this.parentMenu.runLocalHooks('executeCommand', selectedItem.key, normalizedSelection, event);
633
553
  }
634
554
  }
555
+
635
556
  /**
636
557
  * Checks if the passed command is passive or not. The command is passive when it's marked as
637
558
  * disabled, the descriptor object contains `isCommand` property set to `false`, command
@@ -641,28 +562,26 @@ var Menu = /*#__PURE__*/function () {
641
562
  * @param {object} commandDescriptor Selected menu item from the menu data source.
642
563
  * @returns {boolean}
643
564
  */
644
-
645
565
  }, {
646
566
  key: "isCommandPassive",
647
567
  value: function isCommandPassive(commandDescriptor) {
648
568
  var isCommand = commandDescriptor.isCommand,
649
- commandName = commandDescriptor.name,
650
- disabled = commandDescriptor.disabled,
651
- submenu = commandDescriptor.submenu;
569
+ commandName = commandDescriptor.name,
570
+ disabled = commandDescriptor.disabled,
571
+ submenu = commandDescriptor.submenu;
652
572
  var isItemDisabled = disabled === true || typeof disabled === 'function' && disabled.call(this.hot) === true;
653
573
  return isCommand === false || commandName === _predefinedItems.SEPARATOR || isItemDisabled === true || submenu;
654
574
  }
575
+
655
576
  /**
656
577
  * Set menu position based on dom event or based on literal object.
657
578
  *
658
579
  * @param {Event|object} coords Event or literal Object with coordinates.
659
580
  */
660
-
661
581
  }, {
662
582
  key: "setPosition",
663
583
  value: function setPosition(coords) {
664
584
  var cursor = new _cursor.default(coords, this.container.ownerDocument.defaultView);
665
-
666
585
  if (this.options.keepInViewport) {
667
586
  if (cursor.fitsBelow(this.container)) {
668
587
  this.setPositionBelowCursor(cursor);
@@ -671,7 +590,6 @@ var Menu = /*#__PURE__*/function () {
671
590
  } else {
672
591
  this.setPositionBelowCursor(cursor);
673
592
  }
674
-
675
593
  if (this.hot.isLtr()) {
676
594
  this.setHorizontalPositionForLtr(cursor);
677
595
  } else {
@@ -682,12 +600,12 @@ var Menu = /*#__PURE__*/function () {
682
600
  this.setPositionOnRightOfCursor(cursor);
683
601
  }
684
602
  }
603
+
685
604
  /**
686
605
  * Set menu horizontal position for RTL mode.
687
606
  *
688
607
  * @param {Cursor} cursor `Cursor` object.
689
608
  */
690
-
691
609
  }, {
692
610
  key: "setHorizontalPositionForRtl",
693
611
  value: function setHorizontalPositionForRtl(cursor) {
@@ -697,12 +615,12 @@ var Menu = /*#__PURE__*/function () {
697
615
  this.setPositionOnRightOfCursor(cursor);
698
616
  }
699
617
  }
618
+
700
619
  /**
701
620
  * Set menu horizontal position for LTR mode.
702
621
  *
703
622
  * @param {Cursor} cursor `Cursor` object.
704
623
  */
705
-
706
624
  }, {
707
625
  key: "setHorizontalPositionForLtr",
708
626
  value: function setHorizontalPositionForLtr(cursor) {
@@ -712,164 +630,151 @@ var Menu = /*#__PURE__*/function () {
712
630
  this.setPositionOnLeftOfCursor(cursor);
713
631
  }
714
632
  }
633
+
715
634
  /**
716
635
  * Set menu position above cursor object.
717
636
  *
718
637
  * @param {Cursor} cursor `Cursor` object.
719
638
  */
720
-
721
639
  }, {
722
640
  key: "setPositionAboveCursor",
723
641
  value: function setPositionAboveCursor(cursor) {
724
642
  var top = this.offset.above + cursor.top - this.container.offsetHeight;
725
-
726
643
  if (this.isSubMenu()) {
727
644
  top = cursor.top + cursor.cellHeight - this.container.offsetHeight + 3;
728
645
  }
729
-
730
646
  this.container.style.top = "".concat(top, "px");
731
647
  }
648
+
732
649
  /**
733
650
  * Set menu position below cursor object.
734
651
  *
735
652
  * @param {Cursor} cursor `Cursor` object.
736
653
  */
737
-
738
654
  }, {
739
655
  key: "setPositionBelowCursor",
740
656
  value: function setPositionBelowCursor(cursor) {
741
657
  var top = this.offset.below + cursor.top + 1;
742
-
743
658
  if (this.isSubMenu()) {
744
659
  top = cursor.top - 1;
745
660
  }
746
-
747
661
  this.container.style.top = "".concat(top, "px");
748
662
  }
663
+
749
664
  /**
750
665
  * Set menu position on the right of cursor object.
751
666
  *
752
667
  * @param {Cursor} cursor `Cursor` object.
753
668
  */
754
-
755
669
  }, {
756
670
  key: "setPositionOnRightOfCursor",
757
671
  value: function setPositionOnRightOfCursor(cursor) {
758
672
  var left = cursor.left;
759
-
760
673
  if (this.isSubMenu()) {
761
674
  var _this$parentMenu$cont = this.parentMenu.container.getBoundingClientRect(),
762
- parentMenuRight = _this$parentMenu$cont.right; // move the sub menu by the width of the parent's border (usually by 1-2 pixels)
763
-
675
+ parentMenuRight = _this$parentMenu$cont.right;
764
676
 
677
+ // move the sub menu by the width of the parent's border (usually by 1-2 pixels)
765
678
  left += cursor.cellWidth + parentMenuRight - (cursor.left + cursor.cellWidth);
766
679
  } else {
767
680
  left += this.offset.right;
768
681
  }
769
-
770
682
  this.container.style.left = "".concat(left, "px");
771
683
  }
684
+
772
685
  /**
773
686
  * Set menu position on the left of cursor object.
774
687
  *
775
688
  * @param {Cursor} cursor `Cursor` object.
776
689
  */
777
-
778
690
  }, {
779
691
  key: "setPositionOnLeftOfCursor",
780
692
  value: function setPositionOnLeftOfCursor(cursor) {
781
693
  var left = this.offset.left + cursor.left - this.container.offsetWidth;
782
-
783
694
  if (this.isSubMenu()) {
784
695
  var _this$parentMenu$cont2 = this.parentMenu.container.getBoundingClientRect(),
785
- parentMenuLeft = _this$parentMenu$cont2.left; // move the sub menu by the width of the parent's border (usually by 1-2 pixels)
786
-
696
+ parentMenuLeft = _this$parentMenu$cont2.left;
787
697
 
698
+ // move the sub menu by the width of the parent's border (usually by 1-2 pixels)
788
699
  left -= cursor.left - parentMenuLeft;
789
700
  }
790
-
791
701
  this.container.style.left = "".concat(left, "px");
792
702
  }
703
+
793
704
  /**
794
705
  * Select first cell in opened menu.
795
706
  */
796
-
797
707
  }, {
798
708
  key: "selectFirstCell",
799
709
  value: function selectFirstCell() {
800
710
  var cell = this.hotMenu.getCell(0, 0);
801
-
802
711
  if ((0, _utils.isSeparator)(cell) || (0, _utils.isDisabled)(cell) || (0, _utils.isSelectionDisabled)(cell)) {
803
712
  this.selectNextCell(0, 0);
804
713
  } else {
805
714
  this.hotMenu.selectCell(0, 0);
806
715
  }
807
716
  }
717
+
808
718
  /**
809
719
  * Select last cell in opened menu.
810
720
  */
811
-
812
721
  }, {
813
722
  key: "selectLastCell",
814
723
  value: function selectLastCell() {
815
724
  var lastRow = this.hotMenu.countRows() - 1;
816
725
  var cell = this.hotMenu.getCell(lastRow, 0);
817
-
818
726
  if ((0, _utils.isSeparator)(cell) || (0, _utils.isDisabled)(cell) || (0, _utils.isSelectionDisabled)(cell)) {
819
727
  this.selectPrevCell(lastRow, 0);
820
728
  } else {
821
729
  // disable default "scroll-to-cell" option and instead of that...
822
- this.hotMenu.selectCell(lastRow, 0, undefined, undefined, false); // ...scroll to the cell with "snap to the bottom" option
823
-
730
+ this.hotMenu.selectCell(lastRow, 0, undefined, undefined, false);
731
+ // ...scroll to the cell with "snap to the bottom" option
824
732
  this.hotMenu.scrollViewportTo(lastRow, 0, true, false);
825
733
  }
826
734
  }
735
+
827
736
  /**
828
737
  * Select next cell in opened menu.
829
738
  *
830
739
  * @param {number} row Row index.
831
740
  * @param {number} col Column index.
832
741
  */
833
-
834
742
  }, {
835
743
  key: "selectNextCell",
836
744
  value: function selectNextCell(row, col) {
837
745
  var nextRow = row + 1;
838
746
  var cell = nextRow < this.hotMenu.countRows() ? this.hotMenu.getCell(nextRow, col) : null;
839
-
840
747
  if (!cell) {
841
748
  return;
842
749
  }
843
-
844
750
  if ((0, _utils.isSeparator)(cell) || (0, _utils.isDisabled)(cell) || (0, _utils.isSelectionDisabled)(cell)) {
845
751
  this.selectNextCell(nextRow, col);
846
752
  } else {
847
753
  this.hotMenu.selectCell(nextRow, col);
848
754
  }
849
755
  }
756
+
850
757
  /**
851
758
  * Select previous cell in opened menu.
852
759
  *
853
760
  * @param {number} row Row index.
854
761
  * @param {number} col Column index.
855
762
  */
856
-
857
763
  }, {
858
764
  key: "selectPrevCell",
859
765
  value: function selectPrevCell(row, col) {
860
766
  var prevRow = row - 1;
861
767
  var cell = prevRow >= 0 ? this.hotMenu.getCell(prevRow, col) : null;
862
-
863
768
  if (!cell) {
864
769
  return;
865
770
  }
866
-
867
771
  if ((0, _utils.isSeparator)(cell) || (0, _utils.isDisabled)(cell) || (0, _utils.isSelectionDisabled)(cell)) {
868
772
  this.selectPrevCell(prevRow, col);
869
773
  } else {
870
774
  this.hotMenu.selectCell(prevRow, col);
871
775
  }
872
776
  }
777
+
873
778
  /**
874
779
  * Menu item renderer.
875
780
  *
@@ -881,41 +786,31 @@ var Menu = /*#__PURE__*/function () {
881
786
  * @param {string} prop The column property if used.
882
787
  * @param {string} value The cell value.
883
788
  */
884
-
885
789
  }, {
886
790
  key: "menuItemRenderer",
887
791
  value: function menuItemRenderer(hot, TD, row, col, prop, value) {
888
792
  var _this4 = this;
889
-
890
793
  var item = hot.getSourceDataAtRow(row);
891
794
  var wrapper = this.hot.rootDocument.createElement('div');
892
-
893
795
  var isSubMenu = function isSubMenu(itemToTest) {
894
796
  return (0, _object.hasOwnProperty)(itemToTest, 'submenu');
895
797
  };
896
-
897
798
  var itemIsSeparator = function itemIsSeparator(itemToTest) {
898
799
  return new RegExp(_predefinedItems.SEPARATOR, 'i').test(itemToTest.name);
899
800
  };
900
-
901
801
  var itemIsDisabled = function itemIsDisabled(itemToTest) {
902
802
  return itemToTest.disabled === true || typeof itemToTest.disabled === 'function' && itemToTest.disabled.call(_this4.hot) === true;
903
803
  };
904
-
905
804
  var itemIsSelectionDisabled = function itemIsSelectionDisabled(itemToTest) {
906
805
  return itemToTest.disableSelection;
907
806
  };
908
-
909
807
  var itemValue = value;
910
-
911
808
  if (typeof itemValue === 'function') {
912
809
  itemValue = itemValue.call(this.hot);
913
810
  }
914
-
915
811
  (0, _element.empty)(TD);
916
812
  (0, _element.addClass)(wrapper, 'htItemWrapper');
917
813
  TD.appendChild(wrapper);
918
-
919
814
  if (itemIsSeparator(item)) {
920
815
  (0, _element.addClass)(TD, 'htSeparator');
921
816
  } else if (typeof item.renderer === 'function') {
@@ -924,7 +819,6 @@ var Menu = /*#__PURE__*/function () {
924
819
  } else {
925
820
  (0, _element.fastInnerHTML)(wrapper, itemValue);
926
821
  }
927
-
928
822
  if (itemIsDisabled(item)) {
929
823
  (0, _element.addClass)(TD, 'htDisabled');
930
824
  this.eventManager.addEventListener(TD, 'mouseenter', function () {
@@ -937,7 +831,6 @@ var Menu = /*#__PURE__*/function () {
937
831
  });
938
832
  } else if (isSubMenu(item)) {
939
833
  (0, _element.addClass)(TD, 'htSubmenu');
940
-
941
834
  if (itemIsSelectionDisabled(item)) {
942
835
  this.eventManager.addEventListener(TD, 'mouseenter', function () {
943
836
  return hot.deselectCell();
@@ -949,7 +842,6 @@ var Menu = /*#__PURE__*/function () {
949
842
  }
950
843
  } else {
951
844
  (0, _element.removeClass)(TD, ['htSubmenu', 'htDisabled']);
952
-
953
845
  if (itemIsSelectionDisabled(item)) {
954
846
  this.eventManager.addEventListener(TD, 'mouseenter', function () {
955
847
  return hot.deselectCell();
@@ -961,6 +853,7 @@ var Menu = /*#__PURE__*/function () {
961
853
  }
962
854
  }
963
855
  }
856
+
964
857
  /**
965
858
  * Create container/wrapper for handsontable.
966
859
  *
@@ -968,7 +861,6 @@ var Menu = /*#__PURE__*/function () {
968
861
  * @param {string} [name] Class name.
969
862
  * @returns {HTMLElement}
970
863
  */
971
-
972
864
  }, {
973
865
  key: "createContainer",
974
866
  value: function createContainer() {
@@ -976,52 +868,44 @@ var Menu = /*#__PURE__*/function () {
976
868
  var doc = this.options.container.ownerDocument;
977
869
  var className = name;
978
870
  var container;
979
-
980
871
  if (className) {
981
872
  if ((0, _function.isFunction)(className)) {
982
873
  className = className.call(this.hot);
983
-
984
874
  if (className === null || (0, _mixed.isUndefined)(className)) {
985
875
  className = '';
986
876
  } else {
987
877
  className = className.toString();
988
878
  }
989
879
  }
990
-
991
880
  className = className.replace(/[^A-z0-9]/g, '_');
992
881
  className = "".concat(this.options.className, "Sub_").concat(className);
993
882
  container = doc.querySelector(".".concat(this.options.className, ".").concat(className));
994
883
  }
995
-
996
884
  if (!container) {
997
885
  container = doc.createElement('div');
998
886
  (0, _element.addClass)(container, "htMenu ".concat(this.options.className));
999
-
1000
887
  if (className) {
1001
888
  (0, _element.addClass)(container, className);
1002
889
  }
1003
-
1004
890
  this.options.container.appendChild(container);
1005
891
  }
1006
-
1007
892
  return container;
1008
893
  }
894
+
1009
895
  /**
1010
896
  * @private
1011
897
  */
1012
-
1013
898
  }, {
1014
899
  key: "blockMainTableCallbacks",
1015
900
  value: function blockMainTableCallbacks() {
1016
901
  this._afterScrollCallback = function () {};
1017
-
1018
902
  this.hot.addHook('afterScrollVertically', this._afterScrollCallback);
1019
903
  this.hot.addHook('afterScrollHorizontally', this._afterScrollCallback);
1020
904
  }
905
+
1021
906
  /**
1022
907
  * @private
1023
908
  */
1024
-
1025
909
  }, {
1026
910
  key: "releaseMainTableCallbacks",
1027
911
  value: function releaseMainTableCallbacks() {
@@ -1031,12 +915,12 @@ var Menu = /*#__PURE__*/function () {
1031
915
  this._afterScrollCallback = null;
1032
916
  }
1033
917
  }
918
+
1034
919
  /**
1035
920
  * On after init listener.
1036
921
  *
1037
922
  * @private
1038
923
  */
1039
-
1040
924
  }, {
1041
925
  key: "onAfterInit",
1042
926
  value: function onAfterInit() {
@@ -1047,12 +931,14 @@ var Menu = /*#__PURE__*/function () {
1047
931
  var currentHiderWidth = parseInt(hiderStyle.width, 10);
1048
932
  var realHeight = (0, _array.arrayReduce)(data, function (accumulator, value) {
1049
933
  return accumulator + (value.name === _predefinedItems.SEPARATOR ? 1 : 26);
1050
- }, 0); // Additional 3px to menu's size because of additional border around its `table.htCore`.
934
+ }, 0);
1051
935
 
936
+ // Additional 3px to menu's size because of additional border around its `table.htCore`.
1052
937
  holderStyle.width = "".concat(currentHiderWidth + 3, "px");
1053
938
  holderStyle.height = "".concat(realHeight + 3, "px");
1054
939
  hiderStyle.height = holderStyle.height;
1055
940
  }
941
+
1056
942
  /**
1057
943
  * On after selection listener.
1058
944
  *
@@ -1062,7 +948,6 @@ var Menu = /*#__PURE__*/function () {
1062
948
  * @param {number} c2 Selection end column index.
1063
949
  * @param {object} preventScrolling Object with `value` property where its value change will be observed.
1064
950
  */
1065
-
1066
951
  }, {
1067
952
  key: "onAfterSelection",
1068
953
  value: function onAfterSelection(r, c, r2, c2, preventScrolling) {
@@ -1070,50 +955,49 @@ var Menu = /*#__PURE__*/function () {
1070
955
  preventScrolling.value = true;
1071
956
  }
1072
957
  }
958
+
1073
959
  /**
1074
960
  * Document mouse down listener.
1075
961
  *
1076
962
  * @private
1077
963
  * @param {Event} event The mouse event object.
1078
964
  */
1079
-
1080
965
  }, {
1081
966
  key: "onDocumentMouseDown",
1082
967
  value: function onDocumentMouseDown(event) {
1083
968
  if (!this.isOpened()) {
1084
969
  return;
1085
- } // Close menu when clicked element is not belongs to menu itself
1086
-
970
+ }
1087
971
 
972
+ // Close menu when clicked element is not belongs to menu itself
1088
973
  if (this.options.standalone && this.hotMenu && !(0, _element.isChildOf)(event.target, this.hotMenu.rootElement)) {
1089
- this.close(true); // Automatically close menu when clicked element is not belongs to menu or submenu (not necessarily to itself)
974
+ this.close(true);
975
+
976
+ // Automatically close menu when clicked element is not belongs to menu or submenu (not necessarily to itself)
1090
977
  } else if ((this.isAllSubMenusClosed() || this.isSubMenu()) && !(0, _element.isChildOf)(event.target, '.htMenu')) {
1091
978
  this.close(true);
1092
979
  }
1093
980
  }
981
+
1094
982
  /**
1095
983
  * Document's contextmenu listener.
1096
984
  *
1097
985
  * @private
1098
986
  * @param {MouseEvent} event The mouse event object.
1099
987
  */
1100
-
1101
988
  }, {
1102
989
  key: "onDocumentContextMenu",
1103
990
  value: function onDocumentContextMenu(event) {
1104
991
  if (!this.isOpened()) {
1105
992
  return;
1106
993
  }
1107
-
1108
994
  if ((0, _element.hasClass)(event.target, 'htCore') && (0, _element.isChildOf)(event.target, this.hotMenu.rootElement)) {
1109
995
  event.preventDefault();
1110
996
  }
1111
997
  }
1112
998
  }]);
1113
-
1114
999
  return Menu;
1115
1000
  }();
1116
-
1117
1001
  (0, _object.mixin)(Menu, _localHooks.default);
1118
1002
  var _default = Menu;
1119
1003
  exports.default = _default;