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,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,50 +504,50 @@ 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
  *
526
+ * The `executeCommand()` method works only for selected cells.
527
+ *
528
+ * When no cells are selected, `executeCommand()` doesn't do anything.
529
+ *
577
530
  * @param {Event} [event] The mouse event object.
578
531
  */
579
-
580
532
  }, {
581
533
  key: "executeCommand",
582
534
  value: function executeCommand(event) {
583
535
  if (!this.isOpened() || !this.hasSelectedItem()) {
584
536
  return;
585
537
  }
586
-
587
538
  var selectedItem = this.getSelectedItem();
588
539
  this.runLocalHooks('select', selectedItem, event);
589
-
590
540
  if (this.isCommandPassive(selectedItem)) {
591
541
  return;
592
542
  }
593
-
594
543
  var selRanges = this.hot.getSelectedRange();
595
544
  var normalizedSelection = selRanges ? normalizeSelection(selRanges) : [];
596
545
  this.runLocalHooks('executeCommand', selectedItem.key, normalizedSelection, event);
597
-
598
546
  if (this.isSubMenu()) {
599
547
  this.parentMenu.runLocalHooks('executeCommand', selectedItem.key, normalizedSelection, event);
600
548
  }
601
549
  }
550
+
602
551
  /**
603
552
  * Checks if the passed command is passive or not. The command is passive when it's marked as
604
553
  * disabled, the descriptor object contains `isCommand` property set to `false`, command
@@ -608,28 +557,26 @@ var Menu = /*#__PURE__*/function () {
608
557
  * @param {object} commandDescriptor Selected menu item from the menu data source.
609
558
  * @returns {boolean}
610
559
  */
611
-
612
560
  }, {
613
561
  key: "isCommandPassive",
614
562
  value: function isCommandPassive(commandDescriptor) {
615
563
  var isCommand = commandDescriptor.isCommand,
616
- commandName = commandDescriptor.name,
617
- disabled = commandDescriptor.disabled,
618
- submenu = commandDescriptor.submenu;
564
+ commandName = commandDescriptor.name,
565
+ disabled = commandDescriptor.disabled,
566
+ submenu = commandDescriptor.submenu;
619
567
  var isItemDisabled = disabled === true || typeof disabled === 'function' && disabled.call(this.hot) === true;
620
568
  return isCommand === false || commandName === SEPARATOR || isItemDisabled === true || submenu;
621
569
  }
570
+
622
571
  /**
623
572
  * Set menu position based on dom event or based on literal object.
624
573
  *
625
574
  * @param {Event|object} coords Event or literal Object with coordinates.
626
575
  */
627
-
628
576
  }, {
629
577
  key: "setPosition",
630
578
  value: function setPosition(coords) {
631
579
  var cursor = new Cursor(coords, this.container.ownerDocument.defaultView);
632
-
633
580
  if (this.options.keepInViewport) {
634
581
  if (cursor.fitsBelow(this.container)) {
635
582
  this.setPositionBelowCursor(cursor);
@@ -638,7 +585,6 @@ var Menu = /*#__PURE__*/function () {
638
585
  } else {
639
586
  this.setPositionBelowCursor(cursor);
640
587
  }
641
-
642
588
  if (this.hot.isLtr()) {
643
589
  this.setHorizontalPositionForLtr(cursor);
644
590
  } else {
@@ -649,12 +595,12 @@ var Menu = /*#__PURE__*/function () {
649
595
  this.setPositionOnRightOfCursor(cursor);
650
596
  }
651
597
  }
598
+
652
599
  /**
653
600
  * Set menu horizontal position for RTL mode.
654
601
  *
655
602
  * @param {Cursor} cursor `Cursor` object.
656
603
  */
657
-
658
604
  }, {
659
605
  key: "setHorizontalPositionForRtl",
660
606
  value: function setHorizontalPositionForRtl(cursor) {
@@ -664,12 +610,12 @@ var Menu = /*#__PURE__*/function () {
664
610
  this.setPositionOnRightOfCursor(cursor);
665
611
  }
666
612
  }
613
+
667
614
  /**
668
615
  * Set menu horizontal position for LTR mode.
669
616
  *
670
617
  * @param {Cursor} cursor `Cursor` object.
671
618
  */
672
-
673
619
  }, {
674
620
  key: "setHorizontalPositionForLtr",
675
621
  value: function setHorizontalPositionForLtr(cursor) {
@@ -679,164 +625,151 @@ var Menu = /*#__PURE__*/function () {
679
625
  this.setPositionOnLeftOfCursor(cursor);
680
626
  }
681
627
  }
628
+
682
629
  /**
683
630
  * Set menu position above cursor object.
684
631
  *
685
632
  * @param {Cursor} cursor `Cursor` object.
686
633
  */
687
-
688
634
  }, {
689
635
  key: "setPositionAboveCursor",
690
636
  value: function setPositionAboveCursor(cursor) {
691
637
  var top = this.offset.above + cursor.top - this.container.offsetHeight;
692
-
693
638
  if (this.isSubMenu()) {
694
639
  top = cursor.top + cursor.cellHeight - this.container.offsetHeight + 3;
695
640
  }
696
-
697
641
  this.container.style.top = "".concat(top, "px");
698
642
  }
643
+
699
644
  /**
700
645
  * Set menu position below cursor object.
701
646
  *
702
647
  * @param {Cursor} cursor `Cursor` object.
703
648
  */
704
-
705
649
  }, {
706
650
  key: "setPositionBelowCursor",
707
651
  value: function setPositionBelowCursor(cursor) {
708
652
  var top = this.offset.below + cursor.top + 1;
709
-
710
653
  if (this.isSubMenu()) {
711
654
  top = cursor.top - 1;
712
655
  }
713
-
714
656
  this.container.style.top = "".concat(top, "px");
715
657
  }
658
+
716
659
  /**
717
660
  * Set menu position on the right of cursor object.
718
661
  *
719
662
  * @param {Cursor} cursor `Cursor` object.
720
663
  */
721
-
722
664
  }, {
723
665
  key: "setPositionOnRightOfCursor",
724
666
  value: function setPositionOnRightOfCursor(cursor) {
725
667
  var left = cursor.left;
726
-
727
668
  if (this.isSubMenu()) {
728
669
  var _this$parentMenu$cont = this.parentMenu.container.getBoundingClientRect(),
729
- parentMenuRight = _this$parentMenu$cont.right; // move the sub menu by the width of the parent's border (usually by 1-2 pixels)
730
-
670
+ parentMenuRight = _this$parentMenu$cont.right;
731
671
 
672
+ // move the sub menu by the width of the parent's border (usually by 1-2 pixels)
732
673
  left += cursor.cellWidth + parentMenuRight - (cursor.left + cursor.cellWidth);
733
674
  } else {
734
675
  left += this.offset.right;
735
676
  }
736
-
737
677
  this.container.style.left = "".concat(left, "px");
738
678
  }
679
+
739
680
  /**
740
681
  * Set menu position on the left of cursor object.
741
682
  *
742
683
  * @param {Cursor} cursor `Cursor` object.
743
684
  */
744
-
745
685
  }, {
746
686
  key: "setPositionOnLeftOfCursor",
747
687
  value: function setPositionOnLeftOfCursor(cursor) {
748
688
  var left = this.offset.left + cursor.left - this.container.offsetWidth;
749
-
750
689
  if (this.isSubMenu()) {
751
690
  var _this$parentMenu$cont2 = this.parentMenu.container.getBoundingClientRect(),
752
- parentMenuLeft = _this$parentMenu$cont2.left; // move the sub menu by the width of the parent's border (usually by 1-2 pixels)
753
-
691
+ parentMenuLeft = _this$parentMenu$cont2.left;
754
692
 
693
+ // move the sub menu by the width of the parent's border (usually by 1-2 pixels)
755
694
  left -= cursor.left - parentMenuLeft;
756
695
  }
757
-
758
696
  this.container.style.left = "".concat(left, "px");
759
697
  }
698
+
760
699
  /**
761
700
  * Select first cell in opened menu.
762
701
  */
763
-
764
702
  }, {
765
703
  key: "selectFirstCell",
766
704
  value: function selectFirstCell() {
767
705
  var cell = this.hotMenu.getCell(0, 0);
768
-
769
706
  if (isSeparator(cell) || isDisabled(cell) || isSelectionDisabled(cell)) {
770
707
  this.selectNextCell(0, 0);
771
708
  } else {
772
709
  this.hotMenu.selectCell(0, 0);
773
710
  }
774
711
  }
712
+
775
713
  /**
776
714
  * Select last cell in opened menu.
777
715
  */
778
-
779
716
  }, {
780
717
  key: "selectLastCell",
781
718
  value: function selectLastCell() {
782
719
  var lastRow = this.hotMenu.countRows() - 1;
783
720
  var cell = this.hotMenu.getCell(lastRow, 0);
784
-
785
721
  if (isSeparator(cell) || isDisabled(cell) || isSelectionDisabled(cell)) {
786
722
  this.selectPrevCell(lastRow, 0);
787
723
  } else {
788
724
  // disable default "scroll-to-cell" option and instead of that...
789
- this.hotMenu.selectCell(lastRow, 0, undefined, undefined, false); // ...scroll to the cell with "snap to the bottom" option
790
-
725
+ this.hotMenu.selectCell(lastRow, 0, undefined, undefined, false);
726
+ // ...scroll to the cell with "snap to the bottom" option
791
727
  this.hotMenu.scrollViewportTo(lastRow, 0, true, false);
792
728
  }
793
729
  }
730
+
794
731
  /**
795
732
  * Select next cell in opened menu.
796
733
  *
797
734
  * @param {number} row Row index.
798
735
  * @param {number} col Column index.
799
736
  */
800
-
801
737
  }, {
802
738
  key: "selectNextCell",
803
739
  value: function selectNextCell(row, col) {
804
740
  var nextRow = row + 1;
805
741
  var cell = nextRow < this.hotMenu.countRows() ? this.hotMenu.getCell(nextRow, col) : null;
806
-
807
742
  if (!cell) {
808
743
  return;
809
744
  }
810
-
811
745
  if (isSeparator(cell) || isDisabled(cell) || isSelectionDisabled(cell)) {
812
746
  this.selectNextCell(nextRow, col);
813
747
  } else {
814
748
  this.hotMenu.selectCell(nextRow, col);
815
749
  }
816
750
  }
751
+
817
752
  /**
818
753
  * Select previous cell in opened menu.
819
754
  *
820
755
  * @param {number} row Row index.
821
756
  * @param {number} col Column index.
822
757
  */
823
-
824
758
  }, {
825
759
  key: "selectPrevCell",
826
760
  value: function selectPrevCell(row, col) {
827
761
  var prevRow = row - 1;
828
762
  var cell = prevRow >= 0 ? this.hotMenu.getCell(prevRow, col) : null;
829
-
830
763
  if (!cell) {
831
764
  return;
832
765
  }
833
-
834
766
  if (isSeparator(cell) || isDisabled(cell) || isSelectionDisabled(cell)) {
835
767
  this.selectPrevCell(prevRow, col);
836
768
  } else {
837
769
  this.hotMenu.selectCell(prevRow, col);
838
770
  }
839
771
  }
772
+
840
773
  /**
841
774
  * Menu item renderer.
842
775
  *
@@ -848,41 +781,31 @@ var Menu = /*#__PURE__*/function () {
848
781
  * @param {string} prop The column property if used.
849
782
  * @param {string} value The cell value.
850
783
  */
851
-
852
784
  }, {
853
785
  key: "menuItemRenderer",
854
786
  value: function menuItemRenderer(hot, TD, row, col, prop, value) {
855
787
  var _this4 = this;
856
-
857
788
  var item = hot.getSourceDataAtRow(row);
858
789
  var wrapper = this.hot.rootDocument.createElement('div');
859
-
860
790
  var isSubMenu = function isSubMenu(itemToTest) {
861
791
  return hasOwnProperty(itemToTest, 'submenu');
862
792
  };
863
-
864
793
  var itemIsSeparator = function itemIsSeparator(itemToTest) {
865
794
  return new RegExp(SEPARATOR, 'i').test(itemToTest.name);
866
795
  };
867
-
868
796
  var itemIsDisabled = function itemIsDisabled(itemToTest) {
869
797
  return itemToTest.disabled === true || typeof itemToTest.disabled === 'function' && itemToTest.disabled.call(_this4.hot) === true;
870
798
  };
871
-
872
799
  var itemIsSelectionDisabled = function itemIsSelectionDisabled(itemToTest) {
873
800
  return itemToTest.disableSelection;
874
801
  };
875
-
876
802
  var itemValue = value;
877
-
878
803
  if (typeof itemValue === 'function') {
879
804
  itemValue = itemValue.call(this.hot);
880
805
  }
881
-
882
806
  empty(TD);
883
807
  addClass(wrapper, 'htItemWrapper');
884
808
  TD.appendChild(wrapper);
885
-
886
809
  if (itemIsSeparator(item)) {
887
810
  addClass(TD, 'htSeparator');
888
811
  } else if (typeof item.renderer === 'function') {
@@ -891,7 +814,6 @@ var Menu = /*#__PURE__*/function () {
891
814
  } else {
892
815
  fastInnerHTML(wrapper, itemValue);
893
816
  }
894
-
895
817
  if (itemIsDisabled(item)) {
896
818
  addClass(TD, 'htDisabled');
897
819
  this.eventManager.addEventListener(TD, 'mouseenter', function () {
@@ -904,7 +826,6 @@ var Menu = /*#__PURE__*/function () {
904
826
  });
905
827
  } else if (isSubMenu(item)) {
906
828
  addClass(TD, 'htSubmenu');
907
-
908
829
  if (itemIsSelectionDisabled(item)) {
909
830
  this.eventManager.addEventListener(TD, 'mouseenter', function () {
910
831
  return hot.deselectCell();
@@ -916,7 +837,6 @@ var Menu = /*#__PURE__*/function () {
916
837
  }
917
838
  } else {
918
839
  removeClass(TD, ['htSubmenu', 'htDisabled']);
919
-
920
840
  if (itemIsSelectionDisabled(item)) {
921
841
  this.eventManager.addEventListener(TD, 'mouseenter', function () {
922
842
  return hot.deselectCell();
@@ -928,6 +848,7 @@ var Menu = /*#__PURE__*/function () {
928
848
  }
929
849
  }
930
850
  }
851
+
931
852
  /**
932
853
  * Create container/wrapper for handsontable.
933
854
  *
@@ -935,7 +856,6 @@ var Menu = /*#__PURE__*/function () {
935
856
  * @param {string} [name] Class name.
936
857
  * @returns {HTMLElement}
937
858
  */
938
-
939
859
  }, {
940
860
  key: "createContainer",
941
861
  value: function createContainer() {
@@ -943,52 +863,44 @@ var Menu = /*#__PURE__*/function () {
943
863
  var doc = this.options.container.ownerDocument;
944
864
  var className = name;
945
865
  var container;
946
-
947
866
  if (className) {
948
867
  if (isFunction(className)) {
949
868
  className = className.call(this.hot);
950
-
951
869
  if (className === null || isUndefined(className)) {
952
870
  className = '';
953
871
  } else {
954
872
  className = className.toString();
955
873
  }
956
874
  }
957
-
958
875
  className = className.replace(/[^A-z0-9]/g, '_');
959
876
  className = "".concat(this.options.className, "Sub_").concat(className);
960
877
  container = doc.querySelector(".".concat(this.options.className, ".").concat(className));
961
878
  }
962
-
963
879
  if (!container) {
964
880
  container = doc.createElement('div');
965
881
  addClass(container, "htMenu ".concat(this.options.className));
966
-
967
882
  if (className) {
968
883
  addClass(container, className);
969
884
  }
970
-
971
885
  this.options.container.appendChild(container);
972
886
  }
973
-
974
887
  return container;
975
888
  }
889
+
976
890
  /**
977
891
  * @private
978
892
  */
979
-
980
893
  }, {
981
894
  key: "blockMainTableCallbacks",
982
895
  value: function blockMainTableCallbacks() {
983
896
  this._afterScrollCallback = function () {};
984
-
985
897
  this.hot.addHook('afterScrollVertically', this._afterScrollCallback);
986
898
  this.hot.addHook('afterScrollHorizontally', this._afterScrollCallback);
987
899
  }
900
+
988
901
  /**
989
902
  * @private
990
903
  */
991
-
992
904
  }, {
993
905
  key: "releaseMainTableCallbacks",
994
906
  value: function releaseMainTableCallbacks() {
@@ -998,12 +910,12 @@ var Menu = /*#__PURE__*/function () {
998
910
  this._afterScrollCallback = null;
999
911
  }
1000
912
  }
913
+
1001
914
  /**
1002
915
  * On after init listener.
1003
916
  *
1004
917
  * @private
1005
918
  */
1006
-
1007
919
  }, {
1008
920
  key: "onAfterInit",
1009
921
  value: function onAfterInit() {
@@ -1014,12 +926,14 @@ var Menu = /*#__PURE__*/function () {
1014
926
  var currentHiderWidth = parseInt(hiderStyle.width, 10);
1015
927
  var realHeight = arrayReduce(data, function (accumulator, value) {
1016
928
  return accumulator + (value.name === SEPARATOR ? 1 : 26);
1017
- }, 0); // Additional 3px to menu's size because of additional border around its `table.htCore`.
929
+ }, 0);
1018
930
 
931
+ // Additional 3px to menu's size because of additional border around its `table.htCore`.
1019
932
  holderStyle.width = "".concat(currentHiderWidth + 3, "px");
1020
933
  holderStyle.height = "".concat(realHeight + 3, "px");
1021
934
  hiderStyle.height = holderStyle.height;
1022
935
  }
936
+
1023
937
  /**
1024
938
  * On after selection listener.
1025
939
  *
@@ -1029,7 +943,6 @@ var Menu = /*#__PURE__*/function () {
1029
943
  * @param {number} c2 Selection end column index.
1030
944
  * @param {object} preventScrolling Object with `value` property where its value change will be observed.
1031
945
  */
1032
-
1033
946
  }, {
1034
947
  key: "onAfterSelection",
1035
948
  value: function onAfterSelection(r, c, r2, c2, preventScrolling) {
@@ -1037,49 +950,48 @@ var Menu = /*#__PURE__*/function () {
1037
950
  preventScrolling.value = true;
1038
951
  }
1039
952
  }
953
+
1040
954
  /**
1041
955
  * Document mouse down listener.
1042
956
  *
1043
957
  * @private
1044
958
  * @param {Event} event The mouse event object.
1045
959
  */
1046
-
1047
960
  }, {
1048
961
  key: "onDocumentMouseDown",
1049
962
  value: function onDocumentMouseDown(event) {
1050
963
  if (!this.isOpened()) {
1051
964
  return;
1052
- } // Close menu when clicked element is not belongs to menu itself
1053
-
965
+ }
1054
966
 
967
+ // Close menu when clicked element is not belongs to menu itself
1055
968
  if (this.options.standalone && this.hotMenu && !isChildOf(event.target, this.hotMenu.rootElement)) {
1056
- 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)
1057
972
  } else if ((this.isAllSubMenusClosed() || this.isSubMenu()) && !isChildOf(event.target, '.htMenu')) {
1058
973
  this.close(true);
1059
974
  }
1060
975
  }
976
+
1061
977
  /**
1062
978
  * Document's contextmenu listener.
1063
979
  *
1064
980
  * @private
1065
981
  * @param {MouseEvent} event The mouse event object.
1066
982
  */
1067
-
1068
983
  }, {
1069
984
  key: "onDocumentContextMenu",
1070
985
  value: function onDocumentContextMenu(event) {
1071
986
  if (!this.isOpened()) {
1072
987
  return;
1073
988
  }
1074
-
1075
989
  if (hasClass(event.target, 'htCore') && isChildOf(event.target, this.hotMenu.rootElement)) {
1076
990
  event.preventDefault();
1077
991
  }
1078
992
  }
1079
993
  }]);
1080
-
1081
994
  return Menu;
1082
995
  }();
1083
-
1084
996
  mixin(Menu, localHooks);
1085
997
  export default Menu;