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