handsontable 11.0.0 → 12.0.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 (633) hide show
  1. package/3rdparty/walkontable/src/border.js +121 -99
  2. package/3rdparty/walkontable/src/border.mjs +122 -96
  3. package/3rdparty/walkontable/src/calculator/viewportColumns.js +1 -1
  4. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +1 -1
  5. package/3rdparty/walkontable/src/calculator/viewportRows.js +1 -1
  6. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +1 -1
  7. package/3rdparty/walkontable/src/cell/coords.js +60 -18
  8. package/3rdparty/walkontable/src/cell/coords.mjs +56 -18
  9. package/3rdparty/walkontable/src/cell/range.d.ts +10 -2
  10. package/3rdparty/walkontable/src/cell/range.js +279 -100
  11. package/3rdparty/walkontable/src/cell/range.mjs +274 -100
  12. package/3rdparty/walkontable/src/core/_base.js +452 -0
  13. package/3rdparty/walkontable/src/core/_base.mjs +440 -0
  14. package/3rdparty/walkontable/src/core/clone.js +97 -0
  15. package/3rdparty/walkontable/src/core/clone.mjs +80 -0
  16. package/3rdparty/walkontable/src/core/core.js +183 -0
  17. package/3rdparty/walkontable/src/core/core.mjs +160 -0
  18. package/3rdparty/walkontable/src/event.js +100 -67
  19. package/3rdparty/walkontable/src/event.mjs +100 -64
  20. package/3rdparty/walkontable/src/facade/core.js +251 -0
  21. package/3rdparty/walkontable/src/facade/core.mjs +243 -0
  22. package/3rdparty/walkontable/src/filter/column.js +1 -1
  23. package/3rdparty/walkontable/src/filter/column.mjs +1 -1
  24. package/3rdparty/walkontable/src/filter/row.js +1 -1
  25. package/3rdparty/walkontable/src/filter/row.mjs +1 -1
  26. package/3rdparty/walkontable/src/index.js +3 -47
  27. package/3rdparty/walkontable/src/index.mjs +3 -13
  28. package/3rdparty/walkontable/src/overlay/_base.js +125 -58
  29. package/3rdparty/walkontable/src/overlay/_base.mjs +126 -59
  30. package/3rdparty/walkontable/src/overlay/bottom.js +86 -76
  31. package/3rdparty/walkontable/src/overlay/bottom.mjs +86 -76
  32. package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.js → bottomInlineStartCorner.js} +35 -58
  33. package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +34 -57
  34. package/3rdparty/walkontable/src/overlay/constants.js +25 -9
  35. package/3rdparty/walkontable/src/overlay/constants.mjs +14 -4
  36. package/3rdparty/walkontable/src/overlay/index.js +10 -19
  37. package/3rdparty/walkontable/src/overlay/index.mjs +4 -5
  38. package/3rdparty/walkontable/src/overlay/{left.js → inlineStart.js} +102 -80
  39. package/3rdparty/walkontable/src/overlay/{left.mjs → inlineStart.mjs} +101 -79
  40. package/3rdparty/walkontable/src/overlay/top.js +84 -79
  41. package/3rdparty/walkontable/src/overlay/top.mjs +84 -79
  42. package/3rdparty/walkontable/src/overlay/{topLeftCorner.js → topInlineStartCorner.js} +56 -57
  43. package/3rdparty/walkontable/src/overlay/{topLeftCorner.mjs → topInlineStartCorner.mjs} +51 -52
  44. package/3rdparty/walkontable/src/overlays.js +226 -157
  45. package/3rdparty/walkontable/src/overlays.mjs +226 -156
  46. package/3rdparty/walkontable/src/renderer/_base.js +1 -1
  47. package/3rdparty/walkontable/src/renderer/_base.mjs +1 -1
  48. package/3rdparty/walkontable/src/renderer/cells.js +5 -4
  49. package/3rdparty/walkontable/src/renderer/cells.mjs +5 -4
  50. package/3rdparty/walkontable/src/renderer/colGroup.js +3 -3
  51. package/3rdparty/walkontable/src/renderer/colGroup.mjs +3 -3
  52. package/3rdparty/walkontable/src/renderer/columnHeaders.js +3 -3
  53. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +3 -3
  54. package/3rdparty/walkontable/src/renderer/index.js +1 -1
  55. package/3rdparty/walkontable/src/renderer/index.mjs +1 -1
  56. package/3rdparty/walkontable/src/renderer/rowHeaders.js +3 -3
  57. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +3 -3
  58. package/3rdparty/walkontable/src/renderer/rows.js +3 -3
  59. package/3rdparty/walkontable/src/renderer/rows.mjs +3 -3
  60. package/3rdparty/walkontable/src/renderer/table.js +1 -1
  61. package/3rdparty/walkontable/src/renderer/table.mjs +1 -1
  62. package/3rdparty/walkontable/src/scroll.js +61 -88
  63. package/3rdparty/walkontable/src/scroll.mjs +61 -88
  64. package/3rdparty/walkontable/src/selection.js +12 -16
  65. package/3rdparty/walkontable/src/selection.mjs +12 -14
  66. package/3rdparty/walkontable/src/settings.js +236 -127
  67. package/3rdparty/walkontable/src/settings.mjs +236 -126
  68. package/3rdparty/walkontable/src/table/bottom.js +21 -6
  69. package/3rdparty/walkontable/src/table/bottom.mjs +20 -6
  70. package/3rdparty/walkontable/src/table/{bottomLeftCorner.js → bottomInlineStartCorner.js} +31 -15
  71. package/3rdparty/walkontable/src/table/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +30 -15
  72. package/3rdparty/walkontable/src/table/{left.js → inlineStart.js} +27 -15
  73. package/3rdparty/walkontable/src/table/{left.mjs → inlineStart.mjs} +26 -15
  74. package/3rdparty/walkontable/src/table/master.js +23 -13
  75. package/3rdparty/walkontable/src/table/master.mjs +23 -13
  76. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +12 -6
  77. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +12 -6
  78. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +12 -6
  79. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +12 -6
  80. package/3rdparty/walkontable/src/table/mixin/{stickyColumnsLeft.js → stickyColumnsStart.js} +13 -7
  81. package/3rdparty/walkontable/src/table/mixin/{stickyColumnsLeft.mjs → stickyColumnsStart.mjs} +13 -7
  82. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +11 -5
  83. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +11 -5
  84. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -3
  85. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -3
  86. package/3rdparty/walkontable/src/table/top.js +21 -6
  87. package/3rdparty/walkontable/src/table/top.mjs +20 -6
  88. package/3rdparty/walkontable/src/table/{topLeftCorner.js → topInlineStartCorner.js} +31 -15
  89. package/3rdparty/walkontable/src/table/{topLeftCorner.mjs → topInlineStartCorner.mjs} +30 -15
  90. package/3rdparty/walkontable/src/table.js +236 -141
  91. package/3rdparty/walkontable/src/table.mjs +232 -135
  92. package/3rdparty/walkontable/src/types.js +103 -0
  93. package/3rdparty/walkontable/src/types.mjs +102 -0
  94. package/3rdparty/walkontable/src/utils/column.js +23 -34
  95. package/3rdparty/walkontable/src/utils/column.mjs +23 -31
  96. package/3rdparty/walkontable/src/utils/nodesPool.js +1 -1
  97. package/3rdparty/walkontable/src/utils/nodesPool.mjs +1 -1
  98. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +3 -3
  99. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +3 -3
  100. package/3rdparty/walkontable/src/utils/orderView/view.js +1 -1
  101. package/3rdparty/walkontable/src/utils/orderView/view.mjs +1 -1
  102. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +1 -1
  103. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +1 -1
  104. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +1 -1
  105. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +1 -1
  106. package/3rdparty/walkontable/src/utils/row.js +10 -5
  107. package/3rdparty/walkontable/src/utils/row.mjs +10 -5
  108. package/3rdparty/walkontable/src/viewport.js +78 -81
  109. package/3rdparty/walkontable/src/viewport.mjs +78 -78
  110. package/CHANGELOG.md +94 -17
  111. package/README.md +10 -7
  112. package/base.js +2 -2
  113. package/base.mjs +2 -2
  114. package/cellTypes/timeType/timeType.d.ts +6 -6
  115. package/cellTypes/timeType/timeType.js +4 -5
  116. package/cellTypes/timeType/timeType.mjs +4 -5
  117. package/core.d.ts +9 -3
  118. package/core.js +590 -157
  119. package/core.mjs +599 -169
  120. package/dataMap/dataMap.js +2 -2
  121. package/dataMap/dataMap.mjs +2 -2
  122. package/dataMap/index.js +8 -0
  123. package/dataMap/index.mjs +3 -1
  124. package/dataMap/metaManager/index.js +3 -3
  125. package/dataMap/metaManager/index.mjs +3 -3
  126. package/dataMap/metaManager/lazyFactoryMap.js +1 -1
  127. package/dataMap/metaManager/lazyFactoryMap.mjs +1 -1
  128. package/dataMap/metaManager/metaLayers/cellMeta.js +1 -1
  129. package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -1
  130. package/dataMap/metaManager/metaLayers/columnMeta.js +1 -1
  131. package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -1
  132. package/dataMap/metaManager/metaLayers/globalMeta.js +7 -3
  133. package/dataMap/metaManager/metaLayers/globalMeta.mjs +7 -3
  134. package/dataMap/metaManager/metaLayers/tableMeta.js +3 -3
  135. package/dataMap/metaManager/metaLayers/tableMeta.mjs +3 -3
  136. package/dataMap/metaManager/metaSchema.js +2931 -2676
  137. package/dataMap/metaManager/metaSchema.mjs +2931 -2676
  138. package/dataMap/metaManager/mods/dynamicCellMeta.js +1 -1
  139. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
  140. package/dataMap/metaManager/mods/extendMetaProperties.js +126 -0
  141. package/dataMap/metaManager/mods/extendMetaProperties.mjs +113 -0
  142. package/dataMap/replaceData.js +140 -0
  143. package/dataMap/replaceData.mjs +124 -0
  144. package/dataSource.js +1 -1
  145. package/dataSource.mjs +1 -1
  146. package/dist/README.md +2 -2
  147. package/dist/handsontable.css +424 -166
  148. package/dist/handsontable.full.css +559 -298
  149. package/dist/handsontable.full.js +47163 -41289
  150. package/dist/handsontable.full.min.css +8 -13
  151. package/dist/handsontable.full.min.js +143 -142
  152. package/dist/handsontable.js +28270 -24105
  153. package/dist/handsontable.min.css +8 -11
  154. package/dist/handsontable.min.js +3 -3
  155. package/dist/languages/all.js +69 -38
  156. package/dist/languages/all.min.js +1 -1
  157. package/dist/languages/ar-AR.js +167 -0
  158. package/dist/languages/ar-AR.min.js +1 -0
  159. package/dist/languages/de-CH.js +32 -33
  160. package/dist/languages/de-CH.min.js +1 -1
  161. package/dist/languages/de-DE.js +5 -6
  162. package/dist/languages/de-DE.min.js +1 -1
  163. package/dist/languages/en-US.js +5 -6
  164. package/dist/languages/en-US.min.js +1 -1
  165. package/dist/languages/es-MX.js +5 -6
  166. package/dist/languages/es-MX.min.js +1 -1
  167. package/dist/languages/fr-FR.js +5 -6
  168. package/dist/languages/fr-FR.min.js +1 -1
  169. package/dist/languages/it-IT.js +5 -6
  170. package/dist/languages/it-IT.min.js +1 -1
  171. package/dist/languages/ja-JP.js +5 -6
  172. package/dist/languages/ja-JP.min.js +1 -1
  173. package/dist/languages/ko-KR.js +37 -42
  174. package/dist/languages/ko-KR.min.js +1 -1
  175. package/dist/languages/lv-LV.js +4 -6
  176. package/dist/languages/lv-LV.min.js +1 -1
  177. package/dist/languages/nb-NO.js +4 -6
  178. package/dist/languages/nb-NO.min.js +1 -1
  179. package/dist/languages/nl-NL.js +4 -6
  180. package/dist/languages/nl-NL.min.js +1 -1
  181. package/dist/languages/pl-PL.js +4 -6
  182. package/dist/languages/pl-PL.min.js +1 -1
  183. package/dist/languages/pt-BR.js +4 -6
  184. package/dist/languages/pt-BR.min.js +1 -1
  185. package/dist/languages/ru-RU.js +4 -6
  186. package/dist/languages/ru-RU.min.js +1 -1
  187. package/dist/languages/zh-CN.js +4 -6
  188. package/dist/languages/zh-CN.min.js +1 -1
  189. package/dist/languages/zh-TW.js +25 -27
  190. package/dist/languages/zh-TW.min.js +1 -1
  191. package/editorManager.js +121 -268
  192. package/editorManager.mjs +129 -279
  193. package/editors/autocompleteEditor/autocompleteEditor.js +19 -17
  194. package/editors/autocompleteEditor/autocompleteEditor.mjs +19 -17
  195. package/editors/baseEditor/baseEditor.js +207 -36
  196. package/editors/baseEditor/baseEditor.mjs +202 -34
  197. package/editors/checkboxEditor/checkboxEditor.js +3 -3
  198. package/editors/checkboxEditor/checkboxEditor.mjs +3 -3
  199. package/editors/dateEditor/dateEditor.js +22 -9
  200. package/editors/dateEditor/dateEditor.mjs +23 -10
  201. package/editors/dropdownEditor/dropdownEditor.js +4 -4
  202. package/editors/dropdownEditor/dropdownEditor.mjs +4 -4
  203. package/editors/handsontableEditor/handsontableEditor.js +107 -56
  204. package/editors/handsontableEditor/handsontableEditor.mjs +107 -56
  205. package/editors/index.d.ts +3 -0
  206. package/editors/index.js +6 -0
  207. package/editors/index.mjs +3 -1
  208. package/editors/numericEditor/numericEditor.js +3 -3
  209. package/editors/numericEditor/numericEditor.mjs +3 -3
  210. package/editors/passwordEditor/passwordEditor.js +4 -4
  211. package/editors/passwordEditor/passwordEditor.mjs +4 -4
  212. package/editors/selectEditor/selectEditor.js +66 -111
  213. package/editors/selectEditor/selectEditor.mjs +67 -110
  214. package/editors/textEditor/caretPositioner.js +49 -0
  215. package/editors/textEditor/caretPositioner.mjs +42 -0
  216. package/editors/textEditor/textEditor.js +206 -182
  217. package/editors/textEditor/textEditor.mjs +200 -180
  218. package/editors/timeEditor/index.d.ts +1 -0
  219. package/editors/timeEditor/index.js +9 -0
  220. package/editors/timeEditor/index.mjs +1 -0
  221. package/editors/timeEditor/timeEditor.d.ts +7 -0
  222. package/editors/timeEditor/timeEditor.js +105 -0
  223. package/editors/timeEditor/timeEditor.mjs +84 -0
  224. package/eventManager.js +11 -5
  225. package/eventManager.mjs +11 -5
  226. package/helpers/data.js +1 -1
  227. package/helpers/data.mjs +1 -1
  228. package/helpers/dom/element.js +1 -1
  229. package/helpers/dom/element.mjs +1 -1
  230. package/helpers/feature.js +1 -1
  231. package/helpers/feature.mjs +1 -1
  232. package/helpers/mixed.js +3 -3
  233. package/helpers/mixed.mjs +3 -3
  234. package/helpers/number.js +4 -4
  235. package/helpers/number.mjs +4 -4
  236. package/helpers/object.js +1 -1
  237. package/helpers/object.mjs +1 -1
  238. package/i18n/languages/ar-AR.js +41 -0
  239. package/i18n/languages/ar-AR.mjs +17 -0
  240. package/i18n/languages/de-CH.js +1 -1
  241. package/i18n/languages/de-DE.js +1 -1
  242. package/i18n/languages/en-US.js +1 -1
  243. package/i18n/languages/es-MX.js +1 -1
  244. package/i18n/languages/fr-FR.js +1 -1
  245. package/i18n/languages/index.js +4 -0
  246. package/i18n/languages/index.mjs +2 -1
  247. package/i18n/languages/it-IT.js +1 -1
  248. package/i18n/languages/ja-JP.js +1 -1
  249. package/i18n/languages/ko-KR.js +1 -1
  250. package/i18n/languages/lv-LV.js +1 -1
  251. package/i18n/languages/nb-NO.js +1 -1
  252. package/i18n/languages/nl-NL.js +1 -1
  253. package/i18n/languages/pl-PL.js +1 -1
  254. package/i18n/languages/pt-BR.js +1 -1
  255. package/i18n/languages/ru-RU.js +1 -1
  256. package/i18n/languages/zh-CN.js +1 -1
  257. package/i18n/languages/zh-TW.js +1 -1
  258. package/i18n/registry.js +1 -1
  259. package/index.d.ts +4 -0
  260. package/index.js +1 -1
  261. package/languages/all.js +69 -38
  262. package/languages/ar-AR.js +167 -0
  263. package/languages/ar-AR.mjs +19 -0
  264. package/languages/de-CH.js +32 -33
  265. package/languages/de-DE.js +5 -6
  266. package/languages/en-US.js +5 -6
  267. package/languages/es-MX.js +5 -6
  268. package/languages/fr-FR.js +5 -6
  269. package/languages/index.js +69 -38
  270. package/languages/index.mjs +2 -1
  271. package/languages/it-IT.js +5 -6
  272. package/languages/ja-JP.js +5 -6
  273. package/languages/ko-KR.js +37 -42
  274. package/languages/lv-LV.js +4 -6
  275. package/languages/nb-NO.js +4 -6
  276. package/languages/nl-NL.js +4 -6
  277. package/languages/pl-PL.js +4 -6
  278. package/languages/pt-BR.js +4 -6
  279. package/languages/ru-RU.js +4 -6
  280. package/languages/zh-CN.js +4 -6
  281. package/languages/zh-TW.js +25 -27
  282. package/package.json +26 -8
  283. package/pluginHooks.d.ts +2 -0
  284. package/pluginHooks.js +58 -27
  285. package/pluginHooks.mjs +58 -27
  286. package/plugins/autoColumnSize/autoColumnSize.js +14 -9
  287. package/plugins/autoColumnSize/autoColumnSize.mjs +14 -9
  288. package/plugins/autoRowSize/autoRowSize.js +15 -10
  289. package/plugins/autoRowSize/autoRowSize.mjs +15 -10
  290. package/plugins/autofill/autofill.js +50 -34
  291. package/plugins/autofill/autofill.mjs +50 -33
  292. package/plugins/autofill/utils.js +10 -11
  293. package/plugins/autofill/utils.mjs +10 -10
  294. package/plugins/base/base.d.ts +8 -2
  295. package/plugins/base/base.js +68 -5
  296. package/plugins/base/base.mjs +67 -5
  297. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +4 -4
  298. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +4 -4
  299. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +4 -4
  300. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +4 -4
  301. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +4 -4
  302. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +4 -4
  303. package/plugins/collapsibleColumns/collapsibleColumns.js +49 -30
  304. package/plugins/collapsibleColumns/collapsibleColumns.mjs +49 -30
  305. package/plugins/columnSorting/columnSorting.d.ts +1 -1
  306. package/plugins/columnSorting/columnSorting.js +10 -12
  307. package/plugins/columnSorting/columnSorting.mjs +10 -11
  308. package/plugins/columnSorting/columnStatesManager.js +3 -3
  309. package/plugins/columnSorting/columnStatesManager.mjs +3 -3
  310. package/plugins/columnSummary/columnSummary.js +4 -4
  311. package/plugins/columnSummary/columnSummary.mjs +4 -4
  312. package/plugins/columnSummary/endpoints.js +1 -1
  313. package/plugins/columnSummary/endpoints.mjs +1 -1
  314. package/plugins/comments/commentEditor.js +24 -4
  315. package/plugins/comments/commentEditor.mjs +25 -5
  316. package/plugins/comments/comments.js +63 -104
  317. package/plugins/comments/comments.mjs +63 -102
  318. package/plugins/comments/displaySwitch.js +1 -1
  319. package/plugins/comments/displaySwitch.mjs +1 -1
  320. package/plugins/contextMenu/commandExecutor.js +1 -1
  321. package/plugins/contextMenu/commandExecutor.mjs +1 -1
  322. package/plugins/contextMenu/contextMenu.js +11 -7
  323. package/plugins/contextMenu/contextMenu.mjs +11 -7
  324. package/plugins/contextMenu/cursor.js +1 -1
  325. package/plugins/contextMenu/cursor.mjs +1 -1
  326. package/plugins/contextMenu/itemsFactory.js +1 -1
  327. package/plugins/contextMenu/itemsFactory.mjs +1 -1
  328. package/plugins/contextMenu/menu.js +223 -111
  329. package/plugins/contextMenu/menu.mjs +220 -112
  330. package/plugins/contextMenu/predefinedItems/alignment.js +1 -1
  331. package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
  332. package/plugins/contextMenu/predefinedItems/columnLeft.js +13 -5
  333. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +11 -4
  334. package/plugins/contextMenu/predefinedItems/columnRight.js +10 -10
  335. package/plugins/contextMenu/predefinedItems/columnRight.mjs +9 -9
  336. package/plugins/contextMenu/predefinedItems/readOnly.js +1 -1
  337. package/plugins/contextMenu/predefinedItems/redo.js +1 -1
  338. package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
  339. package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
  340. package/plugins/contextMenu/predefinedItems/rowAbove.js +1 -1
  341. package/plugins/contextMenu/predefinedItems/rowBelow.js +1 -1
  342. package/plugins/contextMenu/predefinedItems/undo.js +1 -1
  343. package/plugins/contextMenu/predefinedItems.js +1 -1
  344. package/plugins/contextMenu/utils.js +2 -2
  345. package/plugins/contextMenu/utils.mjs +2 -2
  346. package/plugins/copyPaste/clipboardData.js +1 -1
  347. package/plugins/copyPaste/clipboardData.mjs +1 -1
  348. package/plugins/copyPaste/contextMenuItem/copy.js +1 -1
  349. package/plugins/copyPaste/contextMenuItem/cut.js +1 -1
  350. package/plugins/copyPaste/copyPaste.js +29 -19
  351. package/plugins/copyPaste/copyPaste.mjs +28 -19
  352. package/plugins/copyPaste/focusableElement.js +1 -1
  353. package/plugins/copyPaste/focusableElement.mjs +1 -1
  354. package/plugins/copyPaste/pasteEvent.js +6 -2
  355. package/plugins/copyPaste/pasteEvent.mjs +6 -2
  356. package/plugins/customBorders/contextMenuItem/bottom.js +1 -1
  357. package/plugins/customBorders/contextMenuItem/left.js +5 -4
  358. package/plugins/customBorders/contextMenuItem/left.mjs +4 -3
  359. package/plugins/customBorders/contextMenuItem/noBorders.js +1 -1
  360. package/plugins/customBorders/contextMenuItem/right.js +5 -4
  361. package/plugins/customBorders/contextMenuItem/right.mjs +4 -3
  362. package/plugins/customBorders/contextMenuItem/top.js +1 -1
  363. package/plugins/customBorders/customBorders.js +141 -85
  364. package/plugins/customBorders/customBorders.mjs +139 -82
  365. package/plugins/customBorders/utils.js +131 -27
  366. package/plugins/customBorders/utils.mjs +115 -27
  367. package/plugins/dragToScroll/dragToScroll.js +11 -6
  368. package/plugins/dragToScroll/dragToScroll.mjs +11 -6
  369. package/plugins/dropdownMenu/dropdownMenu.js +8 -7
  370. package/plugins/dropdownMenu/dropdownMenu.mjs +8 -7
  371. package/plugins/exportFile/dataProvider.js +1 -1
  372. package/plugins/exportFile/dataProvider.mjs +1 -1
  373. package/plugins/exportFile/exportFile.js +3 -3
  374. package/plugins/exportFile/exportFile.mjs +3 -3
  375. package/plugins/exportFile/types/_base.js +1 -1
  376. package/plugins/exportFile/types/_base.mjs +1 -1
  377. package/plugins/exportFile/types/csv.js +3 -3
  378. package/plugins/exportFile/types/csv.mjs +3 -3
  379. package/plugins/filters/component/_base.js +1 -1
  380. package/plugins/filters/component/_base.mjs +1 -1
  381. package/plugins/filters/component/actionBar.js +3 -3
  382. package/plugins/filters/component/actionBar.mjs +3 -3
  383. package/plugins/filters/component/condition.js +4 -4
  384. package/plugins/filters/component/condition.mjs +4 -4
  385. package/plugins/filters/component/operators.js +3 -3
  386. package/plugins/filters/component/operators.mjs +3 -3
  387. package/plugins/filters/component/value.js +4 -4
  388. package/plugins/filters/component/value.mjs +4 -4
  389. package/plugins/filters/condition/beginsWith.js +1 -1
  390. package/plugins/filters/condition/between.js +1 -1
  391. package/plugins/filters/condition/contains.js +1 -1
  392. package/plugins/filters/condition/date/after.js +1 -1
  393. package/plugins/filters/condition/date/before.js +1 -1
  394. package/plugins/filters/condition/date/today.js +1 -1
  395. package/plugins/filters/condition/date/tomorrow.js +1 -1
  396. package/plugins/filters/condition/date/yesterday.js +1 -1
  397. package/plugins/filters/condition/empty.js +1 -1
  398. package/plugins/filters/condition/endsWith.js +1 -1
  399. package/plugins/filters/condition/equal.js +1 -1
  400. package/plugins/filters/condition/greaterThan.js +1 -1
  401. package/plugins/filters/condition/greaterThanOrEqual.js +1 -1
  402. package/plugins/filters/condition/lessThan.js +1 -1
  403. package/plugins/filters/condition/lessThanOrEqual.js +1 -1
  404. package/plugins/filters/condition/none.js +1 -1
  405. package/plugins/filters/condition/notBetween.js +1 -1
  406. package/plugins/filters/condition/notContains.js +1 -1
  407. package/plugins/filters/condition/notEmpty.js +1 -1
  408. package/plugins/filters/condition/notEqual.js +1 -1
  409. package/plugins/filters/conditionCollection.js +1 -1
  410. package/plugins/filters/conditionCollection.mjs +1 -1
  411. package/plugins/filters/conditionUpdateObserver.js +1 -1
  412. package/plugins/filters/conditionUpdateObserver.mjs +1 -1
  413. package/plugins/filters/dataFilter.js +1 -1
  414. package/plugins/filters/dataFilter.mjs +1 -1
  415. package/plugins/filters/filters.js +12 -9
  416. package/plugins/filters/filters.mjs +12 -9
  417. package/plugins/filters/logicalOperations/conjunction.js +1 -1
  418. package/plugins/filters/logicalOperations/disjunction.js +1 -1
  419. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +1 -1
  420. package/plugins/filters/ui/_base.js +2 -2
  421. package/plugins/filters/ui/_base.mjs +1 -1
  422. package/plugins/filters/ui/input.js +4 -4
  423. package/plugins/filters/ui/input.mjs +4 -4
  424. package/plugins/filters/ui/link.js +4 -4
  425. package/plugins/filters/ui/link.mjs +4 -4
  426. package/plugins/filters/ui/multipleSelect.js +19 -32
  427. package/plugins/filters/ui/multipleSelect.mjs +19 -32
  428. package/plugins/filters/ui/radioInput.js +4 -4
  429. package/plugins/filters/ui/radioInput.mjs +4 -4
  430. package/plugins/filters/ui/select.js +5 -5
  431. package/plugins/filters/ui/select.mjs +5 -5
  432. package/plugins/formulas/engine/register.js +1 -1
  433. package/plugins/formulas/engine/register.mjs +1 -1
  434. package/plugins/formulas/engine/settings.js +2 -2
  435. package/plugins/formulas/engine/settings.mjs +2 -2
  436. package/plugins/formulas/formulas.js +10 -10
  437. package/plugins/formulas/formulas.mjs +10 -10
  438. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -1
  439. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +3 -3
  440. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -2
  441. package/plugins/hiddenColumns/hiddenColumns.js +10 -5
  442. package/plugins/hiddenColumns/hiddenColumns.mjs +10 -5
  443. package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -1
  444. package/plugins/hiddenRows/contextMenuItem/showRow.js +3 -3
  445. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -2
  446. package/plugins/hiddenRows/hiddenRows.js +10 -5
  447. package/plugins/hiddenRows/hiddenRows.mjs +10 -5
  448. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +2 -2
  449. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
  450. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +2 -2
  451. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
  452. package/plugins/manualColumnFreeze/manualColumnFreeze.js +26 -13
  453. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +26 -13
  454. package/plugins/manualColumnMove/manualColumnMove.js +73 -62
  455. package/plugins/manualColumnMove/manualColumnMove.mjs +74 -63
  456. package/plugins/manualColumnMove/ui/_base.js +26 -13
  457. package/plugins/manualColumnMove/ui/_base.mjs +25 -13
  458. package/plugins/manualColumnMove/ui/backlight.js +4 -4
  459. package/plugins/manualColumnMove/ui/backlight.mjs +4 -4
  460. package/plugins/manualColumnMove/ui/guideline.js +4 -4
  461. package/plugins/manualColumnMove/ui/guideline.mjs +4 -4
  462. package/plugins/manualColumnResize/manualColumnResize.js +38 -22
  463. package/plugins/manualColumnResize/manualColumnResize.mjs +38 -22
  464. package/plugins/manualRowMove/manualRowMove.js +27 -17
  465. package/plugins/manualRowMove/manualRowMove.mjs +27 -17
  466. package/plugins/manualRowMove/ui/_base.js +1 -1
  467. package/plugins/manualRowMove/ui/_base.mjs +1 -1
  468. package/plugins/manualRowMove/ui/backlight.js +4 -4
  469. package/plugins/manualRowMove/ui/backlight.mjs +4 -4
  470. package/plugins/manualRowMove/ui/guideline.js +4 -4
  471. package/plugins/manualRowMove/ui/guideline.mjs +4 -4
  472. package/plugins/manualRowResize/manualRowResize.js +35 -20
  473. package/plugins/manualRowResize/manualRowResize.mjs +35 -20
  474. package/plugins/mergeCells/calculations/autofill.js +7 -6
  475. package/plugins/mergeCells/calculations/autofill.mjs +7 -5
  476. package/plugins/mergeCells/calculations/selection.js +10 -5
  477. package/plugins/mergeCells/calculations/selection.mjs +10 -5
  478. package/plugins/mergeCells/cellCoords.js +17 -5
  479. package/plugins/mergeCells/cellCoords.mjs +17 -4
  480. package/plugins/mergeCells/cellsCollection.js +28 -21
  481. package/plugins/mergeCells/cellsCollection.mjs +28 -20
  482. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +1 -1
  483. package/plugins/mergeCells/mergeCells.js +83 -50
  484. package/plugins/mergeCells/mergeCells.mjs +83 -48
  485. package/plugins/multiColumnSorting/multiColumnSorting.js +5 -7
  486. package/plugins/multiColumnSorting/multiColumnSorting.mjs +5 -6
  487. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +52 -58
  488. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +53 -58
  489. package/plugins/nestedHeaders/nestedHeaders.js +26 -19
  490. package/plugins/nestedHeaders/nestedHeaders.mjs +26 -19
  491. package/plugins/nestedHeaders/stateManager/headersTree.js +3 -3
  492. package/plugins/nestedHeaders/stateManager/headersTree.mjs +3 -3
  493. package/plugins/nestedHeaders/stateManager/index.js +3 -3
  494. package/plugins/nestedHeaders/stateManager/index.mjs +3 -3
  495. package/plugins/nestedHeaders/stateManager/sourceSettings.js +3 -3
  496. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +3 -3
  497. package/plugins/nestedHeaders/utils/ghostTable.js +1 -1
  498. package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -1
  499. package/plugins/nestedRows/data/dataManager.js +2 -2
  500. package/plugins/nestedRows/data/dataManager.mjs +2 -2
  501. package/plugins/nestedRows/nestedRows.js +11 -5
  502. package/plugins/nestedRows/nestedRows.mjs +11 -5
  503. package/plugins/nestedRows/ui/_base.js +6 -2
  504. package/plugins/nestedRows/ui/_base.mjs +6 -2
  505. package/plugins/nestedRows/ui/collapsing.js +3 -3
  506. package/plugins/nestedRows/ui/collapsing.mjs +3 -3
  507. package/plugins/nestedRows/ui/contextMenu.js +3 -3
  508. package/plugins/nestedRows/ui/contextMenu.mjs +3 -3
  509. package/plugins/nestedRows/ui/headers.js +3 -3
  510. package/plugins/nestedRows/ui/headers.mjs +3 -3
  511. package/plugins/nestedRows/utils/rowMoveController.js +3 -5
  512. package/plugins/nestedRows/utils/rowMoveController.mjs +3 -4
  513. package/plugins/persistentState/persistentState.js +10 -5
  514. package/plugins/persistentState/persistentState.mjs +10 -5
  515. package/plugins/persistentState/storage.js +1 -1
  516. package/plugins/persistentState/storage.mjs +1 -1
  517. package/plugins/search/search.js +10 -5
  518. package/plugins/search/search.mjs +10 -5
  519. package/plugins/touchScroll/touchScroll.js +32 -26
  520. package/plugins/touchScroll/touchScroll.mjs +32 -25
  521. package/plugins/trimRows/trimRows.js +10 -5
  522. package/plugins/trimRows/trimRows.mjs +10 -5
  523. package/plugins/undoRedo/index.js +1 -1
  524. package/plugins/undoRedo/undoRedo.js +54 -48
  525. package/plugins/undoRedo/undoRedo.mjs +54 -47
  526. package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -3
  527. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +1 -2
  528. package/renderers/checkboxRenderer/checkboxRenderer.js +48 -43
  529. package/renderers/checkboxRenderer/checkboxRenderer.mjs +48 -41
  530. package/renderers/index.d.ts +4 -1
  531. package/renderers/index.js +6 -0
  532. package/renderers/index.mjs +3 -1
  533. package/renderers/numericRenderer/numericRenderer.js +1 -0
  534. package/renderers/numericRenderer/numericRenderer.mjs +1 -0
  535. package/renderers/timeRenderer/index.d.ts +1 -0
  536. package/renderers/timeRenderer/index.js +9 -0
  537. package/renderers/timeRenderer/index.mjs +1 -0
  538. package/renderers/timeRenderer/timeRenderer.d.ts +5 -0
  539. package/renderers/timeRenderer/timeRenderer.js +31 -0
  540. package/renderers/timeRenderer/timeRenderer.mjs +20 -0
  541. package/selection/highlight/highlight.js +3 -3
  542. package/selection/highlight/highlight.mjs +3 -3
  543. package/selection/highlight/types/activeHeader.js +2 -2
  544. package/selection/highlight/types/activeHeader.mjs +2 -2
  545. package/selection/highlight/types/area.js +2 -2
  546. package/selection/highlight/types/area.mjs +2 -2
  547. package/selection/highlight/types/cell.js +2 -2
  548. package/selection/highlight/types/cell.mjs +2 -2
  549. package/selection/highlight/types/customSelection.js +2 -2
  550. package/selection/highlight/types/customSelection.mjs +2 -2
  551. package/selection/highlight/types/fill.js +2 -2
  552. package/selection/highlight/types/fill.mjs +2 -2
  553. package/selection/highlight/types/header.js +2 -2
  554. package/selection/highlight/types/header.mjs +2 -2
  555. package/selection/highlight/types/index.js +2 -2
  556. package/selection/highlight/types/index.mjs +2 -2
  557. package/selection/highlight/visualSelection.js +17 -16
  558. package/selection/highlight/visualSelection.mjs +18 -17
  559. package/selection/mouseEventHandler.js +15 -10
  560. package/selection/mouseEventHandler.mjs +15 -9
  561. package/selection/range.js +5 -6
  562. package/selection/range.mjs +5 -6
  563. package/selection/selection.js +27 -20
  564. package/selection/selection.mjs +27 -18
  565. package/selection/transformation.js +5 -7
  566. package/selection/transformation.mjs +5 -6
  567. package/selection/utils.js +1 -1
  568. package/selection/utils.mjs +1 -1
  569. package/settings.d.ts +3 -1
  570. package/shortcuts/context.d.ts +20 -0
  571. package/shortcuts/context.js +296 -0
  572. package/shortcuts/context.mjs +268 -0
  573. package/shortcuts/index.d.ts +1 -0
  574. package/shortcuts/index.js +8 -0
  575. package/shortcuts/index.mjs +1 -0
  576. package/shortcuts/keyObserver.js +67 -0
  577. package/shortcuts/keyObserver.mjs +58 -0
  578. package/shortcuts/manager.d.ts +10 -0
  579. package/shortcuts/manager.js +183 -0
  580. package/shortcuts/manager.mjs +174 -0
  581. package/shortcuts/recorder.js +183 -0
  582. package/shortcuts/recorder.mjs +171 -0
  583. package/shortcuts/utils.js +77 -0
  584. package/shortcuts/utils.mjs +54 -0
  585. package/tableView.js +138 -80
  586. package/tableView.mjs +138 -70
  587. package/translations/changesObservable/observable.js +1 -1
  588. package/translations/changesObservable/observable.mjs +1 -1
  589. package/translations/changesObservable/observer.js +1 -2
  590. package/translations/changesObservable/observer.mjs +1 -2
  591. package/translations/indexMapper.d.ts +1 -0
  592. package/translations/indexMapper.js +25 -2
  593. package/translations/indexMapper.mjs +24 -2
  594. package/translations/mapCollections/aggregatedCollection.js +3 -3
  595. package/translations/mapCollections/aggregatedCollection.mjs +3 -3
  596. package/translations/mapCollections/mapCollection.js +1 -1
  597. package/translations/mapCollections/mapCollection.mjs +1 -1
  598. package/translations/maps/hidingMap.js +5 -3
  599. package/translations/maps/hidingMap.mjs +5 -3
  600. package/translations/maps/indexMap.js +3 -1
  601. package/translations/maps/indexMap.mjs +3 -1
  602. package/translations/maps/indexesSequence.js +6 -4
  603. package/translations/maps/indexesSequence.mjs +6 -4
  604. package/translations/maps/linkedPhysicalIndexToValueMap.js +6 -4
  605. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +6 -4
  606. package/translations/maps/physicalIndexToValueMap.js +6 -4
  607. package/translations/maps/physicalIndexToValueMap.mjs +6 -4
  608. package/translations/maps/trimmingMap.js +5 -3
  609. package/translations/maps/trimmingMap.mjs +5 -3
  610. package/utils/dataStructures/linkedList.js +3 -3
  611. package/utils/dataStructures/linkedList.mjs +3 -3
  612. package/utils/dataStructures/queue.js +1 -1
  613. package/utils/dataStructures/queue.mjs +1 -1
  614. package/utils/dataStructures/stack.js +1 -1
  615. package/utils/dataStructures/stack.mjs +1 -1
  616. package/utils/dataStructures/tree.js +3 -3
  617. package/utils/dataStructures/tree.mjs +3 -3
  618. package/utils/dataStructures/uniqueMap.js +14 -1
  619. package/utils/dataStructures/uniqueMap.mjs +14 -1
  620. package/utils/dataStructures/uniqueSet.js +9 -0
  621. package/utils/dataStructures/uniqueSet.mjs +9 -0
  622. package/utils/ghostTable.js +14 -3
  623. package/utils/ghostTable.mjs +15 -4
  624. package/utils/interval.js +1 -1
  625. package/utils/interval.mjs +1 -1
  626. package/utils/samplesGenerator.js +1 -1
  627. package/utils/samplesGenerator.mjs +1 -1
  628. package/3rdparty/walkontable/src/core.js +0 -309
  629. package/3rdparty/walkontable/src/core.mjs +0 -293
  630. package/3rdparty/walkontable/src/overlay/registerer.js +0 -70
  631. package/3rdparty/walkontable/src/overlay/registerer.mjs +0 -57
  632. package/utils/keyStateObserver.js +0 -121
  633. package/utils/keyStateObserver.mjs +0 -103
@@ -9,9 +9,8 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
9
9
 
10
10
  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); } }
11
11
 
12
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
12
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13
13
 
14
- import { CellCoords, CellRange } from "../../3rdparty/walkontable/src/index.mjs";
15
14
  import { toSingleLine } from "../../helpers/templateLiteralTag.mjs";
16
15
  /**
17
16
  * The `MergedCellCoords` class represents a single merged cell.
@@ -21,7 +20,7 @@ import { toSingleLine } from "../../helpers/templateLiteralTag.mjs";
21
20
  */
22
21
 
23
22
  var MergedCellCoords = /*#__PURE__*/function () {
24
- function MergedCellCoords(row, column, rowspan, colspan) {
23
+ function MergedCellCoords(row, column, rowspan, colspan, cellCoordsFactory, cellRangeFactory) {
25
24
  _classCallCheck(this, MergedCellCoords);
26
25
 
27
26
  /**
@@ -58,6 +57,20 @@ var MergedCellCoords = /*#__PURE__*/function () {
58
57
  */
59
58
 
60
59
  this.removed = false;
60
+ /**
61
+ * The CellCoords function factory.
62
+ *
63
+ * @type {Function}
64
+ */
65
+
66
+ this.cellCoordsFactory = cellCoordsFactory;
67
+ /**
68
+ * The CellRange function factory.
69
+ *
70
+ * @type {Function}
71
+ */
72
+
73
+ this.cellRangeFactory = cellRangeFactory;
61
74
  }
62
75
  /**
63
76
  * Get a warning message for when the declared merged cell data contains negative values.
@@ -244,7 +257,7 @@ var MergedCellCoords = /*#__PURE__*/function () {
244
257
  }, {
245
258
  key: "getRange",
246
259
  value: function getRange() {
247
- return new CellRange(new CellCoords(this.row, this.col), new CellCoords(this.row, this.col), new CellCoords(this.getLastRow(), this.getLastColumn()));
260
+ return this.cellRangeFactory(this.cellCoordsFactory(this.row, this.col), this.cellCoordsFactory(this.row, this.col), this.cellCoordsFactory(this.getLastRow(), this.getLastColumn()));
248
261
  }
249
262
  }], [{
250
263
  key: "NEGATIVE_VALUES_WARNING",
@@ -33,8 +33,6 @@ require("core-js/modules/es.array.splice.js");
33
33
 
34
34
  var _cellCoords = _interopRequireDefault(require("./cellCoords"));
35
35
 
36
- var _index = require("../../3rdparty/walkontable/src/index");
37
-
38
36
  var _number = require("../../helpers/number");
39
37
 
40
38
  var _console = require("../../helpers/console");
@@ -67,7 +65,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
67
65
 
68
66
  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); } }
69
67
 
70
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
68
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
71
69
 
72
70
  /**
73
71
  * Defines a container object for the merged cells.
@@ -165,21 +163,27 @@ var MergedCellsCollection = /*#__PURE__*/function () {
165
163
  }, {
166
164
  key: "getWithinRange",
167
165
  value: function getWithinRange(range) {
166
+ var _this = this;
167
+
168
168
  var countPartials = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
169
169
  var mergedCells = this.mergedCells;
170
170
  var foundMergedCells = [];
171
171
  var testedRange = range;
172
172
 
173
173
  if (!testedRange.includesRange) {
174
- var from = new _index.CellCoords(testedRange.from.row, testedRange.from.col);
175
- var to = new _index.CellCoords(testedRange.to.row, testedRange.to.col);
176
- testedRange = new _index.CellRange(from, from, to);
174
+ var from = this.hot._createCellCoords(testedRange.from.row, testedRange.from.col);
175
+
176
+ var to = this.hot._createCellCoords(testedRange.to.row, testedRange.to.col);
177
+
178
+ testedRange = this.hot._createCellRange(from, from, to);
177
179
  }
178
180
 
179
181
  (0, _array.arrayEach)(mergedCells, function (mergedCell) {
180
- var mergedCellTopLeft = new _index.CellCoords(mergedCell.row, mergedCell.col);
181
- var mergedCellBottomRight = new _index.CellCoords(mergedCell.row + mergedCell.rowspan - 1, mergedCell.col + mergedCell.colspan - 1);
182
- var mergedCellRange = new _index.CellRange(mergedCellTopLeft, mergedCellTopLeft, mergedCellBottomRight);
182
+ var mergedCellTopLeft = _this.hot._createCellCoords(mergedCell.row, mergedCell.col);
183
+
184
+ var mergedCellBottomRight = _this.hot._createCellCoords(mergedCell.row + mergedCell.rowspan - 1, mergedCell.col + mergedCell.colspan - 1);
185
+
186
+ var mergedCellRange = _this.hot._createCellRange(mergedCellTopLeft, mergedCellTopLeft, mergedCellBottomRight);
183
187
 
184
188
  if (countPartials) {
185
189
  if (testedRange.overlaps(mergedCellRange)) {
@@ -206,7 +210,7 @@ var MergedCellsCollection = /*#__PURE__*/function () {
206
210
  var column = mergedCellInfo.col;
207
211
  var rowspan = mergedCellInfo.rowspan;
208
212
  var colspan = mergedCellInfo.colspan;
209
- var newMergedCell = new _cellCoords.default(row, column, rowspan, colspan);
213
+ var newMergedCell = new _cellCoords.default(row, column, rowspan, colspan, this.hot._createCellCoords, this.hot._createCellRange);
210
214
  var alreadyExists = this.get(row, column);
211
215
  var isOverlapping = this.isOverlapping(newMergedCell);
212
216
 
@@ -252,16 +256,16 @@ var MergedCellsCollection = /*#__PURE__*/function () {
252
256
  }, {
253
257
  key: "clear",
254
258
  value: function clear() {
255
- var _this = this;
259
+ var _this2 = this;
256
260
 
257
261
  var mergedCells = this.mergedCells;
258
262
  var mergedCellParentsToClear = [];
259
263
  var hiddenCollectionElements = [];
260
264
  (0, _array.arrayEach)(mergedCells, function (mergedCell) {
261
- var TD = _this.hot.getCell(mergedCell.row, mergedCell.col);
265
+ var TD = _this2.hot.getCell(mergedCell.row, mergedCell.col);
262
266
 
263
267
  if (TD) {
264
- mergedCellParentsToClear.push([TD, _this.get(mergedCell.row, mergedCell.col), mergedCell.row, mergedCell.col]);
268
+ mergedCellParentsToClear.push([TD, _this2.get(mergedCell.row, mergedCell.col), mergedCell.row, mergedCell.col]);
265
269
  }
266
270
  });
267
271
  this.mergedCells.length = 0;
@@ -269,7 +273,7 @@ var MergedCellsCollection = /*#__PURE__*/function () {
269
273
  (0, _number.rangeEach)(0, mergedCell.rowspan - 1, function (j) {
270
274
  (0, _number.rangeEach)(0, mergedCell.colspan - 1, function (k) {
271
275
  if (k !== 0 || j !== 0) {
272
- var TD = _this.hot.getCell(mergedCell.row + j, mergedCell.col + k);
276
+ var TD = _this2.hot.getCell(mergedCell.row + j, mergedCell.col + k);
273
277
 
274
278
  if (TD) {
275
279
  hiddenCollectionElements.push([TD, null, null, null]);
@@ -296,10 +300,13 @@ var MergedCellsCollection = /*#__PURE__*/function () {
296
300
  }, {
297
301
  key: "isOverlapping",
298
302
  value: function isOverlapping(mergedCell) {
299
- var mergedCellRange = new _index.CellRange(new _index.CellCoords(0, 0), new _index.CellCoords(mergedCell.row, mergedCell.col), new _index.CellCoords(mergedCell.row + mergedCell.rowspan - 1, mergedCell.col + mergedCell.colspan - 1));
303
+ var _this3 = this;
304
+
305
+ var mergedCellRange = this.hot._createCellRange(this.hot._createCellCoords(0, 0), this.hot._createCellCoords(mergedCell.row, mergedCell.col), this.hot._createCellCoords(mergedCell.row + mergedCell.rowspan - 1, mergedCell.col + mergedCell.colspan - 1));
306
+
300
307
  var result = false;
301
308
  (0, _array.arrayEach)(this.mergedCells, function (col) {
302
- var currentRange = new _index.CellRange(new _index.CellCoords(0, 0), new _index.CellCoords(col.row, col.col), new _index.CellCoords(col.row + col.rowspan - 1, col.col + col.colspan - 1));
309
+ var currentRange = _this3.hot._createCellRange(_this3.hot._createCellCoords(0, 0), _this3.hot._createCellCoords(col.row, col.col), _this3.hot._createCellCoords(col.row + col.rowspan - 1, col.col + col.colspan - 1));
303
310
 
304
311
  if (currentRange.overlaps(mergedCellRange)) {
305
312
  result = true;
@@ -340,12 +347,12 @@ var MergedCellsCollection = /*#__PURE__*/function () {
340
347
  var mergeParent = this.get(row, column);
341
348
 
342
349
  if (!mergeParent || this.isFirstRenderableMergedCell(row, column)) {
343
- return new _index.CellCoords(row, column);
350
+ return this.hot._createCellCoords(row, column);
344
351
  }
345
352
 
346
353
  var firstRenderableRow = this.hot.rowIndexMapper.getFirstNotHiddenIndex(mergeParent.row, 1);
347
354
  var firstRenderableColumn = this.hot.columnIndexMapper.getFirstNotHiddenIndex(mergeParent.col, 1);
348
- return new _index.CellCoords(firstRenderableRow, firstRenderableColumn);
355
+ return this.hot._createCellCoords(firstRenderableRow, firstRenderableColumn);
349
356
  }
350
357
  /**
351
358
  * Shift the merged cell in the direction and by an offset defined in the arguments.
@@ -358,7 +365,7 @@ var MergedCellsCollection = /*#__PURE__*/function () {
358
365
  }, {
359
366
  key: "shiftCollections",
360
367
  value: function shiftCollections(direction, index, count) {
361
- var _this2 = this;
368
+ var _this4 = this;
362
369
 
363
370
  var shiftVector = [0, 0];
364
371
 
@@ -386,10 +393,10 @@ var MergedCellsCollection = /*#__PURE__*/function () {
386
393
  currentMerge.shift(shiftVector, index);
387
394
  });
388
395
  (0, _number.rangeEachReverse)(this.mergedCells.length - 1, 0, function (i) {
389
- var currentMerge = _this2.mergedCells[i];
396
+ var currentMerge = _this4.mergedCells[i];
390
397
 
391
398
  if (currentMerge && currentMerge.removed) {
392
- _this2.mergedCells.splice(_this2.mergedCells.indexOf(currentMerge), 1);
399
+ _this4.mergedCells.splice(_this4.mergedCells.indexOf(currentMerge), 1);
393
400
  }
394
401
  });
395
402
  }
@@ -33,10 +33,9 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
33
33
 
34
34
  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); } }
35
35
 
36
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
36
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
37
37
 
38
38
  import MergedCellCoords from "./cellCoords.mjs";
39
- import { CellCoords, CellRange } from "../../3rdparty/walkontable/src/index.mjs";
40
39
  import { rangeEach, rangeEachReverse } from "../../helpers/number.mjs";
41
40
  import { warn } from "../../helpers/console.mjs";
42
41
  import { arrayEach } from "../../helpers/array.mjs";
@@ -139,21 +138,27 @@ var MergedCellsCollection = /*#__PURE__*/function () {
139
138
  }, {
140
139
  key: "getWithinRange",
141
140
  value: function getWithinRange(range) {
141
+ var _this = this;
142
+
142
143
  var countPartials = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
143
144
  var mergedCells = this.mergedCells;
144
145
  var foundMergedCells = [];
145
146
  var testedRange = range;
146
147
 
147
148
  if (!testedRange.includesRange) {
148
- var from = new CellCoords(testedRange.from.row, testedRange.from.col);
149
- var to = new CellCoords(testedRange.to.row, testedRange.to.col);
150
- testedRange = new CellRange(from, from, to);
149
+ var from = this.hot._createCellCoords(testedRange.from.row, testedRange.from.col);
150
+
151
+ var to = this.hot._createCellCoords(testedRange.to.row, testedRange.to.col);
152
+
153
+ testedRange = this.hot._createCellRange(from, from, to);
151
154
  }
152
155
 
153
156
  arrayEach(mergedCells, function (mergedCell) {
154
- var mergedCellTopLeft = new CellCoords(mergedCell.row, mergedCell.col);
155
- var mergedCellBottomRight = new CellCoords(mergedCell.row + mergedCell.rowspan - 1, mergedCell.col + mergedCell.colspan - 1);
156
- var mergedCellRange = new CellRange(mergedCellTopLeft, mergedCellTopLeft, mergedCellBottomRight);
157
+ var mergedCellTopLeft = _this.hot._createCellCoords(mergedCell.row, mergedCell.col);
158
+
159
+ var mergedCellBottomRight = _this.hot._createCellCoords(mergedCell.row + mergedCell.rowspan - 1, mergedCell.col + mergedCell.colspan - 1);
160
+
161
+ var mergedCellRange = _this.hot._createCellRange(mergedCellTopLeft, mergedCellTopLeft, mergedCellBottomRight);
157
162
 
158
163
  if (countPartials) {
159
164
  if (testedRange.overlaps(mergedCellRange)) {
@@ -180,7 +185,7 @@ var MergedCellsCollection = /*#__PURE__*/function () {
180
185
  var column = mergedCellInfo.col;
181
186
  var rowspan = mergedCellInfo.rowspan;
182
187
  var colspan = mergedCellInfo.colspan;
183
- var newMergedCell = new MergedCellCoords(row, column, rowspan, colspan);
188
+ var newMergedCell = new MergedCellCoords(row, column, rowspan, colspan, this.hot._createCellCoords, this.hot._createCellRange);
184
189
  var alreadyExists = this.get(row, column);
185
190
  var isOverlapping = this.isOverlapping(newMergedCell);
186
191
 
@@ -226,16 +231,16 @@ var MergedCellsCollection = /*#__PURE__*/function () {
226
231
  }, {
227
232
  key: "clear",
228
233
  value: function clear() {
229
- var _this = this;
234
+ var _this2 = this;
230
235
 
231
236
  var mergedCells = this.mergedCells;
232
237
  var mergedCellParentsToClear = [];
233
238
  var hiddenCollectionElements = [];
234
239
  arrayEach(mergedCells, function (mergedCell) {
235
- var TD = _this.hot.getCell(mergedCell.row, mergedCell.col);
240
+ var TD = _this2.hot.getCell(mergedCell.row, mergedCell.col);
236
241
 
237
242
  if (TD) {
238
- mergedCellParentsToClear.push([TD, _this.get(mergedCell.row, mergedCell.col), mergedCell.row, mergedCell.col]);
243
+ mergedCellParentsToClear.push([TD, _this2.get(mergedCell.row, mergedCell.col), mergedCell.row, mergedCell.col]);
239
244
  }
240
245
  });
241
246
  this.mergedCells.length = 0;
@@ -243,7 +248,7 @@ var MergedCellsCollection = /*#__PURE__*/function () {
243
248
  rangeEach(0, mergedCell.rowspan - 1, function (j) {
244
249
  rangeEach(0, mergedCell.colspan - 1, function (k) {
245
250
  if (k !== 0 || j !== 0) {
246
- var TD = _this.hot.getCell(mergedCell.row + j, mergedCell.col + k);
251
+ var TD = _this2.hot.getCell(mergedCell.row + j, mergedCell.col + k);
247
252
 
248
253
  if (TD) {
249
254
  hiddenCollectionElements.push([TD, null, null, null]);
@@ -270,10 +275,13 @@ var MergedCellsCollection = /*#__PURE__*/function () {
270
275
  }, {
271
276
  key: "isOverlapping",
272
277
  value: function isOverlapping(mergedCell) {
273
- var mergedCellRange = new CellRange(new CellCoords(0, 0), new CellCoords(mergedCell.row, mergedCell.col), new CellCoords(mergedCell.row + mergedCell.rowspan - 1, mergedCell.col + mergedCell.colspan - 1));
278
+ var _this3 = this;
279
+
280
+ var mergedCellRange = this.hot._createCellRange(this.hot._createCellCoords(0, 0), this.hot._createCellCoords(mergedCell.row, mergedCell.col), this.hot._createCellCoords(mergedCell.row + mergedCell.rowspan - 1, mergedCell.col + mergedCell.colspan - 1));
281
+
274
282
  var result = false;
275
283
  arrayEach(this.mergedCells, function (col) {
276
- var currentRange = new CellRange(new CellCoords(0, 0), new CellCoords(col.row, col.col), new CellCoords(col.row + col.rowspan - 1, col.col + col.colspan - 1));
284
+ var currentRange = _this3.hot._createCellRange(_this3.hot._createCellCoords(0, 0), _this3.hot._createCellCoords(col.row, col.col), _this3.hot._createCellCoords(col.row + col.rowspan - 1, col.col + col.colspan - 1));
277
285
 
278
286
  if (currentRange.overlaps(mergedCellRange)) {
279
287
  result = true;
@@ -314,12 +322,12 @@ var MergedCellsCollection = /*#__PURE__*/function () {
314
322
  var mergeParent = this.get(row, column);
315
323
 
316
324
  if (!mergeParent || this.isFirstRenderableMergedCell(row, column)) {
317
- return new CellCoords(row, column);
325
+ return this.hot._createCellCoords(row, column);
318
326
  }
319
327
 
320
328
  var firstRenderableRow = this.hot.rowIndexMapper.getFirstNotHiddenIndex(mergeParent.row, 1);
321
329
  var firstRenderableColumn = this.hot.columnIndexMapper.getFirstNotHiddenIndex(mergeParent.col, 1);
322
- return new CellCoords(firstRenderableRow, firstRenderableColumn);
330
+ return this.hot._createCellCoords(firstRenderableRow, firstRenderableColumn);
323
331
  }
324
332
  /**
325
333
  * Shift the merged cell in the direction and by an offset defined in the arguments.
@@ -332,7 +340,7 @@ var MergedCellsCollection = /*#__PURE__*/function () {
332
340
  }, {
333
341
  key: "shiftCollections",
334
342
  value: function shiftCollections(direction, index, count) {
335
- var _this2 = this;
343
+ var _this4 = this;
336
344
 
337
345
  var shiftVector = [0, 0];
338
346
 
@@ -360,10 +368,10 @@ var MergedCellsCollection = /*#__PURE__*/function () {
360
368
  currentMerge.shift(shiftVector, index);
361
369
  });
362
370
  rangeEachReverse(this.mergedCells.length - 1, 0, function (i) {
363
- var currentMerge = _this2.mergedCells[i];
371
+ var currentMerge = _this4.mergedCells[i];
364
372
 
365
373
  if (currentMerge && currentMerge.removed) {
366
- _this2.mergedCells.splice(_this2.mergedCells.indexOf(currentMerge), 1);
374
+ _this4.mergedCells.splice(_this4.mergedCells.indexOf(currentMerge), 1);
367
375
  }
368
376
  });
369
377
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
5
  require("core-js/modules/es.array.iterator.js");
6
6
 
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
5
  require("core-js/modules/es.object.set-prototype-of.js");
6
6
 
@@ -53,10 +53,6 @@ var _base = require("../base");
53
53
 
54
54
  var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
55
55
 
56
- var _event = require("../../helpers/dom/event");
57
-
58
- var _src = require("../../3rdparty/walkontable/src");
59
-
60
56
  var _cellsCollection = _interopRequireDefault(require("./cellsCollection"));
61
57
 
62
58
  var _cellCoords = _interopRequireDefault(require("./cellCoords"));
@@ -103,13 +99,13 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
103
99
 
104
100
  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); } }
105
101
 
106
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
102
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
107
103
 
108
- function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
104
+ function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
109
105
 
110
106
  function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
111
107
 
112
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
108
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
113
109
 
114
110
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
115
111
 
@@ -136,6 +132,9 @@ exports.PLUGIN_KEY = PLUGIN_KEY;
136
132
  var PLUGIN_PRIORITY = 150;
137
133
  exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
138
134
  var privatePool = new WeakMap();
135
+ var SHORTCUTS_GROUP = PLUGIN_KEY;
136
+ /* eslint-disable jsdoc/require-description-complete-sentence */
137
+
139
138
  /**
140
139
  * @plugin MergeCells
141
140
  * @class MergeCells
@@ -228,9 +227,6 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
228
227
  this.addHook('afterInit', function () {
229
228
  return _this2.onAfterInit.apply(_this2, arguments);
230
229
  });
231
- this.addHook('beforeKeyDown', function () {
232
- return _this2.onBeforeKeyDown.apply(_this2, arguments);
233
- });
234
230
  this.addHook('modifyTransformStart', function () {
235
231
  return _this2.onModifyTransformStart.apply(_this2, arguments);
236
232
  });
@@ -302,6 +298,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
302
298
  return false;
303
299
  }
304
300
  });
301
+ this.registerShortcuts();
305
302
 
306
303
  _get(_getPrototypeOf(MergeCells.prototype), "enablePlugin", this).call(this);
307
304
  }
@@ -313,12 +310,16 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
313
310
  key: "disablePlugin",
314
311
  value: function disablePlugin() {
315
312
  this.clearCollections();
313
+ this.unregisterShortcuts();
316
314
  this.hot.render();
317
315
 
318
316
  _get(_getPrototypeOf(MergeCells.prototype), "disablePlugin", this).call(this);
319
317
  }
320
318
  /**
321
- * Updates the plugin state. This method is executed when {@link Core#updateSettings} is invoked.
319
+ * Updates the plugin's state.
320
+ *
321
+ * This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the following configuration options:
322
+ * - [`mergeCells`](@/api/options.md#mergecells)
322
323
  */
323
324
 
324
325
  }, {
@@ -385,9 +386,12 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
385
386
  return;
386
387
  }
387
388
 
388
- var highlight = new _src.CellCoords(setting.row, setting.col);
389
- var rangeEnd = new _src.CellCoords(setting.row + setting.rowspan - 1, setting.col + setting.colspan - 1);
390
- var mergeRange = new _src.CellRange(highlight, highlight, rangeEnd);
389
+ var highlight = _this3.hot._createCellCoords(setting.row, setting.col);
390
+
391
+ var rangeEnd = _this3.hot._createCellCoords(setting.row + setting.rowspan - 1, setting.col + setting.colspan - 1);
392
+
393
+ var mergeRange = _this3.hot._createCellRange(highlight, highlight, rangeEnd);
394
+
391
395
  populationArgumentsList.push(_this3.mergeRange(mergeRange, true, true));
392
396
  }); // remove 'empty' setting objects, caused by improper merge range declarations
393
397
 
@@ -564,13 +568,13 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
564
568
 
565
569
  var auto = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
566
570
  var preventPopulation = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
567
- var topLeft = cellRange.getTopLeftCorner();
568
- var bottomRight = cellRange.getBottomRightCorner();
571
+ var topStart = cellRange.getTopStartCorner();
572
+ var bottomEnd = cellRange.getBottomEndCorner();
569
573
  var mergeParent = {
570
- row: topLeft.row,
571
- col: topLeft.col,
572
- rowspan: bottomRight.row - topLeft.row + 1,
573
- colspan: bottomRight.col - topLeft.col + 1
574
+ row: topStart.row,
575
+ col: topStart.col,
576
+ rowspan: bottomEnd.row - topStart.row + 1,
577
+ colspan: bottomEnd.col - topStart.col + 1
574
578
  };
575
579
  var clearedData = [];
576
580
  var populationInfo = null;
@@ -684,9 +688,11 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
684
688
  }, {
685
689
  key: "merge",
686
690
  value: function merge(startRow, startColumn, endRow, endColumn) {
687
- var start = new _src.CellCoords(startRow, startColumn);
688
- var end = new _src.CellCoords(endRow, endColumn);
689
- this.mergeRange(new _src.CellRange(start, start, end));
691
+ var start = this.hot._createCellCoords(startRow, startColumn);
692
+
693
+ var end = this.hot._createCellCoords(endRow, endColumn);
694
+
695
+ this.mergeRange(this.hot._createCellRange(start, start, end));
690
696
  }
691
697
  /**
692
698
  * Unmerges the merged cell in the provided range.
@@ -702,9 +708,11 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
702
708
  }, {
703
709
  key: "unmerge",
704
710
  value: function unmerge(startRow, startColumn, endRow, endColumn) {
705
- var start = new _src.CellCoords(startRow, startColumn);
706
- var end = new _src.CellCoords(endRow, endColumn);
707
- this.unmergeRange(new _src.CellRange(start, start, end));
711
+ var start = this.hot._createCellCoords(startRow, startColumn);
712
+
713
+ var end = this.hot._createCellCoords(endRow, endColumn);
714
+
715
+ this.unmergeRange(this.hot._createCellRange(start, start, end));
708
716
  }
709
717
  /**
710
718
  * `afterInit` hook callback.
@@ -719,23 +727,44 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
719
727
  this.hot.render();
720
728
  }
721
729
  /**
722
- * `beforeKeyDown` hook callback.
730
+ * Register shortcuts responsible for toggling a merge.
723
731
  *
724
732
  * @private
725
- * @param {KeyboardEvent} event The `keydown` event object.
726
733
  */
727
734
 
728
735
  }, {
729
- key: "onBeforeKeyDown",
730
- value: function onBeforeKeyDown(event) {
731
- var ctrlDown = (event.ctrlKey || event.metaKey) && !event.altKey;
732
-
733
- if (ctrlDown && event.keyCode === 77) {
734
- // CTRL + M
735
- this.toggleMerge(this.hot.getSelectedRangeLast());
736
- this.hot.render();
737
- (0, _event.stopImmediatePropagation)(event);
738
- }
736
+ key: "registerShortcuts",
737
+ value: function registerShortcuts() {
738
+ var _this6 = this;
739
+
740
+ var shortcutManager = this.hot.getShortcutManager();
741
+ var gridContext = shortcutManager.getContext('grid');
742
+ gridContext.addShortcut({
743
+ keys: [['Control', 'm']],
744
+ callback: function callback() {
745
+ _this6.toggleMerge(_this6.hot.getSelectedRangeLast());
746
+
747
+ _this6.hot.render();
748
+ },
749
+ runOnlyIf: function runOnlyIf(event) {
750
+ return !event.altKey;
751
+ },
752
+ // right ALT in some systems triggers ALT+CTRL
753
+ group: SHORTCUTS_GROUP
754
+ });
755
+ }
756
+ /**
757
+ * Unregister shortcuts responsible for toggling a merge.
758
+ *
759
+ * @private
760
+ */
761
+
762
+ }, {
763
+ key: "unregisterShortcuts",
764
+ value: function unregisterShortcuts() {
765
+ var shortcutManager = this.hot.getShortcutManager();
766
+ var gridContext = shortcutManager.getContext('grid');
767
+ gridContext.removeShortcutsByGroup(SHORTCUTS_GROUP);
739
768
  }
740
769
  /**
741
770
  * Modifies the information on whether the current selection contains multiple cells. The `afterIsMultipleSelection` hook callback.
@@ -778,21 +807,25 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
778
807
  col: delta.col
779
808
  };
780
809
  var nextPosition = null;
781
- var currentPosition = new _src.CellCoords(currentlySelectedRange.highlight.row, currentlySelectedRange.highlight.col);
810
+
811
+ var currentPosition = this.hot._createCellCoords(currentlySelectedRange.highlight.row, currentlySelectedRange.highlight.col);
812
+
782
813
  var mergedParent = this.mergedCellsCollection.get(currentPosition.row, currentPosition.col);
783
814
 
784
815
  if (!priv.lastDesiredCoords) {
785
- priv.lastDesiredCoords = new _src.CellCoords(null, null);
816
+ priv.lastDesiredCoords = this.hot._createCellCoords(null, null);
786
817
  }
787
818
 
788
819
  if (mergedParent) {
789
820
  // only merge selected
790
- var mergeTopLeft = new _src.CellCoords(mergedParent.row, mergedParent.col);
791
- var mergeBottomRight = new _src.CellCoords(mergedParent.row + mergedParent.rowspan - 1, mergedParent.col + mergedParent.colspan - 1);
792
- var mergeRange = new _src.CellRange(mergeTopLeft, mergeTopLeft, mergeBottomRight);
821
+ var mergeTopLeft = this.hot._createCellCoords(mergedParent.row, mergedParent.col);
822
+
823
+ var mergeBottomRight = this.hot._createCellCoords(mergedParent.row + mergedParent.rowspan - 1, mergedParent.col + mergedParent.colspan - 1);
824
+
825
+ var mergeRange = this.hot._createCellRange(mergeTopLeft, mergeTopLeft, mergeBottomRight);
793
826
 
794
827
  if (!mergeRange.includes(priv.lastDesiredCoords)) {
795
- priv.lastDesiredCoords = new _src.CellCoords(null, null); // reset outdated version of lastDesiredCoords
828
+ priv.lastDesiredCoords = this.hot._createCellCoords(null, null); // reset outdated version of lastDesiredCoords
796
829
  }
797
830
 
798
831
  newDelta.row = priv.lastDesiredCoords.row ? priv.lastDesiredCoords.row - currentPosition.row : newDelta.row;
@@ -815,7 +848,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
815
848
  }
816
849
  }
817
850
 
818
- nextPosition = new _src.CellCoords(currentlySelectedRange.highlight.row + newDelta.row, currentlySelectedRange.highlight.col + newDelta.col);
851
+ nextPosition = this.hot._createCellCoords(currentlySelectedRange.highlight.row + newDelta.row, currentlySelectedRange.highlight.col + newDelta.col);
819
852
  var nextPositionMergedCell = this.mergedCellsCollection.get(nextPosition.row, nextPosition.col);
820
853
 
821
854
  if (nextPositionMergedCell) {
@@ -846,7 +879,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
846
879
  }, {
847
880
  key: "onModifyTransformEnd",
848
881
  value: function onModifyTransformEnd(delta) {
849
- var _this6 = this;
882
+ var _this7 = this;
850
883
 
851
884
  var currentSelectionRange = this.hot.getSelectedRangeLast();
852
885
  var newDelta = (0, _object.clone)(delta);
@@ -858,7 +891,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
858
891
  tempDelta = (0, _object.clone)(newDelta);
859
892
  this.selectionCalculations.getUpdatedSelectionRange(currentSelectionRange, newDelta);
860
893
  (0, _array.arrayEach)(mergedCellsWithinRange, function (mergedCell) {
861
- _this6.selectionCalculations.snapDelta(newDelta, currentSelectionRange, mergedCell);
894
+ _this7.selectionCalculations.snapDelta(newDelta, currentSelectionRange, mergedCell);
862
895
  });
863
896
  } while (newDelta.row !== tempDelta.row || newDelta.col !== tempDelta.col);
864
897
 
@@ -994,7 +1027,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
994
1027
  key: "onBeforeSetRangeEnd",
995
1028
  value: function onBeforeSetRangeEnd(coords) {
996
1029
  var selRange = this.hot.getSelectedRangeLast();
997
- selRange.highlight = new _src.CellCoords(selRange.highlight.row, selRange.highlight.col); // clone in case we will modify its reference
1030
+ selRange.highlight = this.hot._createCellCoords(selRange.highlight.row, selRange.highlight.col); // clone in case we will modify its reference
998
1031
 
999
1032
  selRange.to = coords;
1000
1033
  var rangeExpanded = false;
@@ -1365,7 +1398,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
1365
1398
  var selectedRange = this.hot.getSelectedRangeLast();
1366
1399
  var mergedCellsWithinRange = this.mergedCellsCollection.getWithinRange(selectedRange);
1367
1400
  (0, _array.arrayEach)(mergedCellsWithinRange, function (mergedCell) {
1368
- if (selectedRange.getBottomRightCorner().row === mergedCell.getLastRow() && selectedRange.getBottomRightCorner().col === mergedCell.getLastColumn()) {
1401
+ if (selectedRange.getBottomEndCorner().row === mergedCell.getLastRow() && selectedRange.getBottomEndCorner().col === mergedCell.getLastColumn()) {
1369
1402
  corners[2] = mergedCell.row;
1370
1403
  corners[3] = mergedCell.col;
1371
1404
  }