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
@@ -2,7 +2,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
2
2
 
3
3
  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); } }
4
4
 
5
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
5
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
6
6
 
7
7
  import "core-js/modules/es.array.iterator.js";
8
8
  import "core-js/modules/es.object.to-string.js";
@@ -11,11 +11,10 @@ import "core-js/modules/es.weak-map.js";
11
11
  import "core-js/modules/web.dom-collections.iterator.js";
12
12
  import "core-js/modules/web.timers.js";
13
13
  import "core-js/modules/es.array.includes.js";
14
- import { closestDown, hasClass, isChildOf, getParent } from "./../../../helpers/dom/element.mjs";
15
- import { partial } from "./../../../helpers/function.mjs";
16
- import { isTouchSupported } from "./../../../helpers/feature.mjs";
17
- import { isMobileBrowser, isChromeWebKit, isFirefoxWebKit, isIOS } from "./../../../helpers/browser.mjs";
18
- import EventManager from "./../../../eventManager.mjs";
14
+ import { closestDown, hasClass, isChildOf, getParent } from "../../../helpers/dom/element.mjs";
15
+ import { partial } from "../../../helpers/function.mjs";
16
+ import { isTouchSupported } from "../../../helpers/feature.mjs";
17
+ import { isMobileBrowser, isChromeWebKit, isFirefoxWebKit, isIOS } from "../../../helpers/browser.mjs";
19
18
  import { isDefined } from "../../../helpers/mixed.mjs";
20
19
  var privatePool = new WeakMap();
21
20
  /**
@@ -24,26 +23,44 @@ var privatePool = new WeakMap();
24
23
 
25
24
  var Event = /*#__PURE__*/function () {
26
25
  /**
27
- * @param {*} instance Walkontable instance.
26
+ * @param {FacadeGetter} facadeGetter Gets an instance facade.
27
+ * @param {DomBindings} domBindings Bindings into dom.
28
+ * @param {Settings} wtSettings The walkontable settings.
29
+ * @param {EventManager} eventManager The walkontable event manager.
30
+ * @param {Table} wtTable The table.
31
+ * @param {Selections} selections Selections.
32
+ * @param {Event} [parent=null] The main Event instance.
28
33
  */
29
- function Event(instance) {
34
+ function Event(facadeGetter, domBindings, wtSettings, eventManager, wtTable, selections) {
35
+ var parent = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
36
+
30
37
  _classCallCheck(this, Event);
31
38
 
39
+ this.wtSettings = wtSettings;
40
+ this.domBindings = domBindings;
41
+ this.wtTable = wtTable;
42
+ this.selections = selections;
43
+ this.parent = parent;
32
44
  /**
33
- * Instance of {@link Walkontable}.
45
+ * Instance of {@link EventManager}.
34
46
  *
35
47
  * @private
36
- * @type {Walkontable}
48
+ * @type {EventManager}
37
49
  */
38
- this.instance = instance;
50
+
51
+ this.eventManager = eventManager;
39
52
  /**
40
- * Instance of {@link EventManager}.
53
+ * Should be use only for passing face called external origin methods, like registered event listeners.
54
+ * It provides backward compatibility by getting instance facade.
55
+ *
56
+ * @todo Consider about removing this from Event class, because it make relationship into facade (implicit circular dependency).
57
+ * @todo Con. Maybe passing listener caller as an ioc from faced resolves this issue. To rethink later.
41
58
  *
59
+ * @type {FacadeGetter}
42
60
  * @private
43
- * @type {EventManager}
44
61
  */
45
62
 
46
- this.eventManager = new EventManager(instance);
63
+ this.facadeGetter = facadeGetter;
47
64
  privatePool.set(this, {
48
65
  selectedCellBeforeTouchEnd: void 0,
49
66
  dblClickTimeout: [null, null],
@@ -63,53 +80,53 @@ var Event = /*#__PURE__*/function () {
63
80
  value: function registerEvents() {
64
81
  var _this = this;
65
82
 
66
- this.eventManager.addEventListener(this.instance.wtTable.holder, 'contextmenu', function (event) {
83
+ this.eventManager.addEventListener(this.wtTable.holder, 'contextmenu', function (event) {
67
84
  return _this.onContextMenu(event);
68
85
  });
69
- this.eventManager.addEventListener(this.instance.wtTable.TABLE, 'mouseover', function (event) {
86
+ this.eventManager.addEventListener(this.wtTable.TABLE, 'mouseover', function (event) {
70
87
  return _this.onMouseOver(event);
71
88
  });
72
- this.eventManager.addEventListener(this.instance.wtTable.TABLE, 'mouseout', function (event) {
89
+ this.eventManager.addEventListener(this.wtTable.TABLE, 'mouseout', function (event) {
73
90
  return _this.onMouseOut(event);
74
91
  });
75
92
 
76
93
  var initTouchEvents = function initTouchEvents() {
77
- _this.eventManager.addEventListener(_this.instance.wtTable.holder, 'touchstart', function (event) {
94
+ _this.eventManager.addEventListener(_this.wtTable.holder, 'touchstart', function (event) {
78
95
  return _this.onTouchStart(event);
79
96
  });
80
97
 
81
- _this.eventManager.addEventListener(_this.instance.wtTable.holder, 'touchend', function (event) {
98
+ _this.eventManager.addEventListener(_this.wtTable.holder, 'touchend', function (event) {
82
99
  return _this.onTouchEnd(event);
83
100
  });
84
101
 
85
- if (!_this.instance.momentumScrolling) {
86
- _this.instance.momentumScrolling = {};
102
+ if (!_this.momentumScrolling) {
103
+ _this.momentumScrolling = {};
87
104
  }
88
105
 
89
- _this.eventManager.addEventListener(_this.instance.wtTable.holder, 'scroll', function () {
90
- clearTimeout(_this.instance.momentumScrolling._timeout);
106
+ _this.eventManager.addEventListener(_this.wtTable.holder, 'scroll', function () {
107
+ clearTimeout(_this.momentumScrolling._timeout);
91
108
 
92
- if (!_this.instance.momentumScrolling.ongoing) {
93
- _this.instance.getSetting('onBeforeTouchScroll');
109
+ if (!_this.momentumScrolling.ongoing) {
110
+ _this.wtSettings.getSetting('onBeforeTouchScroll');
94
111
  }
95
112
 
96
- _this.instance.momentumScrolling.ongoing = true;
97
- _this.instance.momentumScrolling._timeout = setTimeout(function () {
98
- if (!_this.instance.touchApplied) {
99
- _this.instance.momentumScrolling.ongoing = false;
113
+ _this.momentumScrolling.ongoing = true;
114
+ _this.momentumScrolling._timeout = setTimeout(function () {
115
+ if (!_this.touchApplied) {
116
+ _this.momentumScrolling.ongoing = false;
100
117
 
101
- _this.instance.getSetting('onAfterMomentumScroll');
118
+ _this.wtSettings.getSetting('onAfterMomentumScroll');
102
119
  }
103
120
  }, 200);
104
121
  });
105
122
  };
106
123
 
107
124
  var initMouseEvents = function initMouseEvents() {
108
- _this.eventManager.addEventListener(_this.instance.wtTable.holder, 'mouseup', function (event) {
125
+ _this.eventManager.addEventListener(_this.wtTable.holder, 'mouseup', function (event) {
109
126
  return _this.onMouseUp(event);
110
127
  });
111
128
 
112
- _this.eventManager.addEventListener(_this.instance.wtTable.holder, 'mousedown', function (event) {
129
+ _this.eventManager.addEventListener(_this.wtTable.holder, 'mousedown', function (event) {
113
130
  return _this.onMouseDown(event);
114
131
  });
115
132
  };
@@ -164,19 +181,19 @@ var Event = /*#__PURE__*/function () {
164
181
  key: "parentCell",
165
182
  value: function parentCell(elem) {
166
183
  var cell = {};
167
- var TABLE = this.instance.wtTable.TABLE;
184
+ var TABLE = this.wtTable.TABLE;
168
185
  var TD = closestDown(elem, ['TD', 'TH'], TABLE);
169
186
 
170
187
  if (TD) {
171
- cell.coords = this.instance.wtTable.getCoords(TD);
188
+ cell.coords = this.wtTable.getCoords(TD);
172
189
  cell.TD = TD;
173
190
  } else if (hasClass(elem, 'wtBorder') && hasClass(elem, 'current')) {
174
- cell.coords = this.instance.selections.getCell().cellRange.highlight;
175
- cell.TD = this.instance.wtTable.getCell(cell.coords);
191
+ cell.coords = this.selections.getCell().cellRange.highlight;
192
+ cell.TD = this.wtTable.getCell(cell.coords);
176
193
  } else if (hasClass(elem, 'wtBorder') && hasClass(elem, 'area')) {
177
- if (this.instance.selections.createOrGetArea().cellRange) {
178
- cell.coords = this.instance.selections.createOrGetArea().cellRange.to;
179
- cell.TD = this.instance.wtTable.getCell(cell.coords);
194
+ if (this.selections.createOrGetArea().cellRange) {
195
+ cell.coords = this.selections.createOrGetArea().cellRange.to;
196
+ cell.TD = this.wtTable.getCell(cell.coords);
180
197
  }
181
198
  }
182
199
 
@@ -193,7 +210,7 @@ var Event = /*#__PURE__*/function () {
193
210
  key: "onMouseDown",
194
211
  value: function onMouseDown(event) {
195
212
  var priv = privatePool.get(this);
196
- var activeElement = this.instance.rootDocument.activeElement;
213
+ var activeElement = this.domBindings.rootDocument.activeElement;
197
214
  var getParentNode = partial(getParent, event.target);
198
215
  var realTarget = event.target; // ignore focusable element from mouse down processing (https://github.com/handsontable/handsontable/issues/3555)
199
216
 
@@ -204,13 +221,13 @@ var Event = /*#__PURE__*/function () {
204
221
  var cell = this.parentCell(realTarget);
205
222
 
206
223
  if (hasClass(realTarget, 'corner')) {
207
- this.instance.getSetting('onCellCornerMouseDown', event, realTarget);
208
- } else if (cell.TD && this.instance.hasSetting('onCellMouseDown')) {
209
- this.instance.getSetting('onCellMouseDown', event, cell.coords, cell.TD, this.instance);
224
+ this.wtSettings.getSetting('onCellCornerMouseDown', event, realTarget);
225
+ } else if (cell.TD && this.wtSettings.has('onCellMouseDown')) {
226
+ this.callListener('onCellMouseDown', event, cell.coords, cell.TD);
210
227
  } // doubleclick reacts only for left mouse button or from touch events
211
228
 
212
229
 
213
- if ((event.button === 0 || this.instance.touchApplied) && cell.TD) {
230
+ if ((event.button === 0 || this.touchApplied) && cell.TD) {
214
231
  priv.dblClickOrigin[0] = cell.TD;
215
232
  clearTimeout(priv.dblClickTimeout[0]);
216
233
  priv.dblClickTimeout[0] = setTimeout(function () {
@@ -228,11 +245,11 @@ var Event = /*#__PURE__*/function () {
228
245
  }, {
229
246
  key: "onContextMenu",
230
247
  value: function onContextMenu(event) {
231
- if (this.instance.hasSetting('onCellContextMenu')) {
248
+ if (this.wtSettings.has('onCellContextMenu')) {
232
249
  var cell = this.parentCell(event.target);
233
250
 
234
251
  if (cell.TD) {
235
- this.instance.getSetting('onCellContextMenu', event, cell.coords, cell.TD, this.instance);
252
+ this.callListener('onCellContextMenu', event, cell.coords, cell.TD);
236
253
  }
237
254
  }
238
255
  }
@@ -246,17 +263,17 @@ var Event = /*#__PURE__*/function () {
246
263
  }, {
247
264
  key: "onMouseOver",
248
265
  value: function onMouseOver(event) {
249
- if (!this.instance.hasSetting('onCellMouseOver')) {
266
+ if (!this.wtSettings.has('onCellMouseOver')) {
250
267
  return;
251
268
  }
252
269
 
253
- var table = this.instance.wtTable.TABLE;
270
+ var table = this.wtTable.TABLE;
254
271
  var td = closestDown(event.target, ['TD', 'TH'], table);
255
- var mainWOT = this.instance.cloneSource || this.instance;
272
+ var parent = this.parent || this;
256
273
 
257
- if (td && td !== mainWOT.lastMouseOver && isChildOf(td, table)) {
258
- mainWOT.lastMouseOver = td;
259
- this.instance.getSetting('onCellMouseOver', event, this.instance.wtTable.getCoords(td), td, this.instance);
274
+ if (td && td !== parent.lastMouseOver && isChildOf(td, table)) {
275
+ parent.lastMouseOver = td;
276
+ this.callListener('onCellMouseOver', event, this.wtTable.getCoords(td), td);
260
277
  }
261
278
  }
262
279
  /**
@@ -269,16 +286,16 @@ var Event = /*#__PURE__*/function () {
269
286
  }, {
270
287
  key: "onMouseOut",
271
288
  value: function onMouseOut(event) {
272
- if (!this.instance.hasSetting('onCellMouseOut')) {
289
+ if (!this.wtSettings.has('onCellMouseOut')) {
273
290
  return;
274
291
  }
275
292
 
276
- var table = this.instance.wtTable.TABLE;
293
+ var table = this.wtTable.TABLE;
277
294
  var lastTD = closestDown(event.target, ['TD', 'TH'], table);
278
295
  var nextTD = closestDown(event.relatedTarget, ['TD', 'TH'], table);
279
296
 
280
297
  if (lastTD && lastTD !== nextTD && isChildOf(lastTD, table)) {
281
- this.instance.getSetting('onCellMouseOut', event, this.instance.wtTable.getCoords(lastTD), lastTD, this.instance);
298
+ this.callListener('onCellMouseOut', event, this.wtTable.getCoords(lastTD), lastTD);
282
299
  }
283
300
  }
284
301
  /**
@@ -294,20 +311,20 @@ var Event = /*#__PURE__*/function () {
294
311
  var priv = privatePool.get(this);
295
312
  var cell = this.parentCell(event.target);
296
313
 
297
- if (cell.TD && this.instance.hasSetting('onCellMouseUp')) {
298
- this.instance.getSetting('onCellMouseUp', event, cell.coords, cell.TD, this.instance);
314
+ if (cell.TD && this.wtSettings.has('onCellMouseUp')) {
315
+ this.callListener('onCellMouseUp', event, cell.coords, cell.TD);
299
316
  } // if not left mouse button, and the origin event is not comes from touch
300
317
 
301
318
 
302
- if (event.button !== 0 && !this.instance.touchApplied) {
319
+ if (event.button !== 0 && !this.touchApplied) {
303
320
  return;
304
321
  }
305
322
 
306
323
  if (cell.TD === priv.dblClickOrigin[0] && cell.TD === priv.dblClickOrigin[1]) {
307
324
  if (hasClass(event.target, 'corner')) {
308
- this.instance.getSetting('onCellCornerDblClick', event, cell.coords, cell.TD, this.instance);
325
+ this.callListener('onCellCornerDblClick', event, cell.coords, cell.TD);
309
326
  } else {
310
- this.instance.getSetting('onCellDblClick', event, cell.coords, cell.TD, this.instance);
327
+ this.callListener('onCellDblClick', event, cell.coords, cell.TD);
311
328
  }
312
329
 
313
330
  priv.dblClickOrigin[0] = null;
@@ -331,8 +348,8 @@ var Event = /*#__PURE__*/function () {
331
348
  key: "onTouchStart",
332
349
  value: function onTouchStart(event) {
333
350
  var priv = privatePool.get(this);
334
- priv.selectedCellBeforeTouchEnd = this.instance.selections.getCell().cellRange;
335
- this.instance.touchApplied = true;
351
+ priv.selectedCellBeforeTouchEnd = this.selections.getCell().cellRange;
352
+ this.touchApplied = true;
336
353
  this.onMouseDown(event);
337
354
  }
338
355
  /**
@@ -350,7 +367,7 @@ var Event = /*#__PURE__*/function () {
350
367
  var target = event.target;
351
368
  var parentCellCoords = (_this$parentCell = this.parentCell(target)) === null || _this$parentCell === void 0 ? void 0 : _this$parentCell.coords;
352
369
  var isCellsRange = isDefined(parentCellCoords) && parentCellCoords.row >= 0 && parentCellCoords.col >= 0;
353
- var isEventCancelable = event.cancelable && isCellsRange && this.instance.getSetting('isDataViewInstance'); // To prevent accidental redirects or other actions that the interactive elements (e.q "A" link) do
370
+ var isEventCancelable = event.cancelable && isCellsRange && this.wtSettings.getSetting('isDataViewInstance'); // To prevent accidental redirects or other actions that the interactive elements (e.q "A" link) do
354
371
  // while the cell is highlighted, all touch events that are triggered on different cells are
355
372
  // "preventDefault"'ed. The user can interact with the element (e.q. click on the link that opens
356
373
  // a new page) only when the same cell was previously selected (see related PR #7980).
@@ -372,7 +389,26 @@ var Event = /*#__PURE__*/function () {
372
389
  }
373
390
 
374
391
  this.onMouseUp(event);
375
- this.instance.touchApplied = false;
392
+ this.touchApplied = false;
393
+ }
394
+ /**
395
+ * Call listener with backward compatibility.
396
+ *
397
+ * @private
398
+ * @param {string} name Name of listener.
399
+ * @param {MouseEvent} event The event object.
400
+ * @param {CellCoords} coords Coordinates.
401
+ * @param {HTMLElement} target Event target.
402
+ */
403
+
404
+ }, {
405
+ key: "callListener",
406
+ value: function callListener(name, event, coords, target) {
407
+ var listener = this.wtSettings.getSettingPure(name);
408
+
409
+ if (listener) {
410
+ listener(event, coords, target, this.facadeGetter());
411
+ }
376
412
  }
377
413
  /**
378
414
  * Clears double-click timeouts and destroys the internal eventManager instance.
@@ -0,0 +1,251 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _core = _interopRequireDefault(require("../core/core"));
7
+
8
+ var _base = _interopRequireDefault(require("../core/_base"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
13
+
14
+ 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); } }
15
+
16
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
17
+
18
+ /**
19
+ * This layer cares about backward compatibility.
20
+ *
21
+ * @class WalkontableFacade
22
+ * @augments Walkontable
23
+ * @inheritDoc
24
+ */
25
+ var WalkontableFacade = /*#__PURE__*/function () {
26
+ /**
27
+ * @param {SettingsPure|Walkontable} settingsOrInstance The Walkontable settings.
28
+ */
29
+ function WalkontableFacade(settingsOrInstance) {
30
+ _classCallCheck(this, WalkontableFacade);
31
+
32
+ if (settingsOrInstance instanceof _base.default) {
33
+ this._wot = settingsOrInstance;
34
+ } else {
35
+ this._initFromSettings(settingsOrInstance);
36
+ }
37
+ }
38
+
39
+ _createClass(WalkontableFacade, [{
40
+ key: "_initFromSettings",
41
+ value: function _initFromSettings(settings) {
42
+ settings.facade = function (instance) {
43
+ var facade = new WalkontableFacade(instance);
44
+ return function () {
45
+ return facade;
46
+ };
47
+ };
48
+
49
+ this._wot = new _core.default(settings.table, settings);
50
+ }
51
+ }, {
52
+ key: "guid",
53
+ get: function get() {
54
+ return this._wot.guid;
55
+ }
56
+ }, {
57
+ key: "rootDocument",
58
+ get: function get() {
59
+ return this._wot.domBindings.rootDocument;
60
+ }
61
+ }, {
62
+ key: "rootWindow",
63
+ get: function get() {
64
+ return this._wot.domBindings.rootWindow;
65
+ }
66
+ }, {
67
+ key: "wtSettings",
68
+ get: function get() {
69
+ return this._wot.wtSettings; // todo create facade
70
+ }
71
+ }, {
72
+ key: "cloneSource",
73
+ get: function get() {
74
+ return this._wot.cloneSource; // todo create facade
75
+ }
76
+ }, {
77
+ key: "cloneOverlay",
78
+ get: function get() {
79
+ return this._wot.cloneOverlay; // todo create facade
80
+ }
81
+ }, {
82
+ key: "selections",
83
+ get: function get() {
84
+ return this._wot.selections; // todo create facade
85
+ }
86
+ }, {
87
+ key: "wtViewport",
88
+ get: function get() {
89
+ return this._wot.wtViewport; // todo create facade
90
+ }
91
+ }, {
92
+ key: "wtOverlays",
93
+ get: function get() {
94
+ return this._wot.wtOverlays; // todo create facade
95
+ }
96
+ }, {
97
+ key: "wtTable",
98
+ get: function get() {
99
+ return this._wot.wtTable; // todo create facade
100
+ }
101
+ }, {
102
+ key: "wtEvent",
103
+ get: function get() {
104
+ return this._wot.wtEvent; // todo create facade
105
+ }
106
+ }, {
107
+ key: "wtScroll",
108
+ get: function get() {
109
+ return this._wot.wtScroll; // todo create facade
110
+ }
111
+ }, {
112
+ key: "drawn",
113
+ get: function get() {
114
+ return this._wot.drawn;
115
+ },
116
+ set: function set(value) {
117
+ this._wot.drawn = value;
118
+ }
119
+ }, {
120
+ key: "drawInterrupted",
121
+ get: function get() {
122
+ return this._wot.drawInterrupted;
123
+ },
124
+ set: function set(value) {
125
+ this._wot.drawInterrupted = value;
126
+ }
127
+ }, {
128
+ key: "lastMouseOver",
129
+ get: function get() {
130
+ return this._wot.lastMouseOver;
131
+ },
132
+ set: function set(value) {
133
+ this._wot.lastMouseOver = value;
134
+ }
135
+ }, {
136
+ key: "momentumScrolling",
137
+ get: function get() {
138
+ return this._wot.momentumScrolling;
139
+ },
140
+ set: function set(value) {
141
+ this._wot.momentumScrolling = value;
142
+ }
143
+ }, {
144
+ key: "touchApplied",
145
+ get: function get() {
146
+ return this._wot.touchApplied;
147
+ },
148
+ set: function set(value) {
149
+ this._wot.touchApplied = value;
150
+ }
151
+ }, {
152
+ key: "domBindings",
153
+ get: function get() {
154
+ return this._wot.domBindings;
155
+ }
156
+ }, {
157
+ key: "eventListeners",
158
+ get: function get() {
159
+ return this._wot.eventListeners;
160
+ },
161
+ set: function set(value) {
162
+ this._wot.eventListeners = value;
163
+ }
164
+ }, {
165
+ key: "eventManager",
166
+ get: function get() {
167
+ return this._wot.eventManager;
168
+ }
169
+ }, {
170
+ key: "createCellCoords",
171
+ value: function createCellCoords(row, column) {
172
+ return this._wot.createCellCoords(row, column);
173
+ }
174
+ }, {
175
+ key: "createCellRange",
176
+ value: function createCellRange(highlight, from, to) {
177
+ return this._wot.createCellRange(highlight, from, to);
178
+ }
179
+ }, {
180
+ key: "draw",
181
+ value: function draw() {
182
+ var fastDraw = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
183
+
184
+ this._wot.draw(fastDraw);
185
+
186
+ return this;
187
+ }
188
+ }, {
189
+ key: "getCell",
190
+ value: function getCell(coords) {
191
+ var topmost = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
192
+ return this._wot.getCell(coords, topmost);
193
+ }
194
+ }, {
195
+ key: "scrollViewport",
196
+ value: function scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft) {
197
+ return this._wot.scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft);
198
+ }
199
+ }, {
200
+ key: "scrollViewportHorizontally",
201
+ value: function scrollViewportHorizontally(column, snapToRight, snapToLeft) {
202
+ return this._wot.scrollViewportHorizontally(column, snapToRight, snapToLeft);
203
+ }
204
+ }, {
205
+ key: "scrollViewportVertically",
206
+ value: function scrollViewportVertically(row, snapToTop, snapToBottom) {
207
+ return this._wot.scrollViewportVertically(row, snapToTop, snapToBottom);
208
+ }
209
+ }, {
210
+ key: "getViewport",
211
+ value: function getViewport() {
212
+ return this._wot.getViewport();
213
+ }
214
+ }, {
215
+ key: "getOverlayName",
216
+ value: function getOverlayName() {
217
+ return this._wot.cloneOverlay ? this._wot.cloneOverlay.type : 'master';
218
+ }
219
+ }, {
220
+ key: "exportSettingsAsClassNames",
221
+ value: function exportSettingsAsClassNames() {
222
+ return this._wot.exportSettingsAsClassNames();
223
+ }
224
+ }, {
225
+ key: "update",
226
+ value: function update(settings, value) {
227
+ this._wot.wtSettings.update(settings, value);
228
+
229
+ return this;
230
+ }
231
+ }, {
232
+ key: "getSetting",
233
+ value: function getSetting(key, param1, param2, param3, param4) {
234
+ return this._wot.wtSettings.getSetting(key, param1, param2, param3, param4);
235
+ }
236
+ }, {
237
+ key: "hasSetting",
238
+ value: function hasSetting(key) {
239
+ return this._wot.wtSettings.hasSetting(key);
240
+ }
241
+ }, {
242
+ key: "destroy",
243
+ value: function destroy() {
244
+ this._wot.destroy();
245
+ }
246
+ }]);
247
+
248
+ return WalkontableFacade;
249
+ }();
250
+
251
+ exports.default = WalkontableFacade;