handsontable 0.0.0-next-b0a4ea2-20231024 → 0.0.0-next-9059914-20231025

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

Files changed (446) hide show
  1. package/3rdparty/walkontable/src/{selection/border/border.js → border.js} +12 -7
  2. package/3rdparty/walkontable/src/{selection/border/border.mjs → border.mjs} +12 -7
  3. package/3rdparty/walkontable/src/cell/coords.d.ts +1 -6
  4. package/3rdparty/walkontable/src/cell/coords.js +11 -50
  5. package/3rdparty/walkontable/src/cell/coords.mjs +11 -50
  6. package/3rdparty/walkontable/src/cell/range.d.ts +2 -9
  7. package/3rdparty/walkontable/src/cell/range.js +7 -38
  8. package/3rdparty/walkontable/src/cell/range.mjs +7 -38
  9. package/3rdparty/walkontable/src/core/_base.js +3 -9
  10. package/3rdparty/walkontable/src/core/_base.mjs +3 -9
  11. package/3rdparty/walkontable/src/core/clone.js +2 -2
  12. package/3rdparty/walkontable/src/core/clone.mjs +2 -2
  13. package/3rdparty/walkontable/src/core/core.js +2 -3
  14. package/3rdparty/walkontable/src/core/core.mjs +2 -3
  15. package/3rdparty/walkontable/src/event.js +10 -12
  16. package/3rdparty/walkontable/src/event.mjs +10 -12
  17. package/3rdparty/walkontable/src/facade/core.js +2 -2
  18. package/3rdparty/walkontable/src/facade/core.mjs +2 -2
  19. package/3rdparty/walkontable/src/index.js +2 -10
  20. package/3rdparty/walkontable/src/index.mjs +2 -2
  21. package/3rdparty/walkontable/src/overlay/_base.js +2 -13
  22. package/3rdparty/walkontable/src/overlay/_base.mjs +3 -14
  23. package/3rdparty/walkontable/src/overlay/inlineStart.js +6 -2
  24. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +6 -2
  25. package/3rdparty/walkontable/src/overlay/top.js +6 -2
  26. package/3rdparty/walkontable/src/overlay/top.mjs +6 -2
  27. package/3rdparty/walkontable/src/renderer/cells.js +0 -10
  28. package/3rdparty/walkontable/src/renderer/cells.mjs +1 -11
  29. package/3rdparty/walkontable/src/renderer/columnHeaders.js +0 -10
  30. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +1 -11
  31. package/3rdparty/walkontable/src/renderer/rowHeaders.js +0 -5
  32. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +0 -5
  33. package/3rdparty/walkontable/src/renderer/rows.js +0 -13
  34. package/3rdparty/walkontable/src/renderer/rows.mjs +0 -13
  35. package/3rdparty/walkontable/src/renderer/table.js +0 -9
  36. package/3rdparty/walkontable/src/renderer/table.mjs +0 -9
  37. package/3rdparty/walkontable/src/scroll.js +0 -2
  38. package/3rdparty/walkontable/src/scroll.mjs +0 -2
  39. package/3rdparty/walkontable/src/selection.js +295 -0
  40. package/3rdparty/walkontable/src/selection.mjs +290 -0
  41. package/3rdparty/walkontable/src/settings.js +4 -13
  42. package/3rdparty/walkontable/src/settings.mjs +4 -13
  43. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -9
  44. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -9
  45. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -9
  46. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -9
  47. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +0 -9
  48. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +0 -9
  49. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +0 -9
  50. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +0 -9
  51. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +0 -9
  52. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +0 -9
  53. package/3rdparty/walkontable/src/table.js +78 -19
  54. package/3rdparty/walkontable/src/table.mjs +79 -20
  55. package/base.js +2 -2
  56. package/base.mjs +2 -2
  57. package/cellTypes/dateType/dateType.d.ts +3 -3
  58. package/cellTypes/dateType/dateType.js +2 -2
  59. package/cellTypes/dateType/dateType.mjs +2 -2
  60. package/cellTypes/handsontableType/handsontableType.d.ts +3 -3
  61. package/cellTypes/handsontableType/handsontableType.js +2 -2
  62. package/cellTypes/handsontableType/handsontableType.mjs +2 -2
  63. package/cellTypes/index.d.ts +0 -3
  64. package/cellTypes/index.js +0 -4
  65. package/cellTypes/index.mjs +1 -3
  66. package/core.d.ts +4 -9
  67. package/core.js +327 -285
  68. package/core.mjs +327 -285
  69. package/dataMap/metaManager/metaSchema.js +0 -65
  70. package/dataMap/metaManager/metaSchema.mjs +0 -65
  71. package/dataMap/metaManager/mods/extendMetaProperties.js +1 -7
  72. package/dataMap/metaManager/mods/extendMetaProperties.mjs +1 -7
  73. package/dataMap/replaceData.js +0 -5
  74. package/dataMap/replaceData.mjs +0 -5
  75. package/dist/handsontable.css +15 -51
  76. package/dist/handsontable.full.css +15 -51
  77. package/dist/handsontable.full.js +8668 -14188
  78. package/dist/handsontable.full.min.css +7 -7
  79. package/dist/handsontable.full.min.js +136 -136
  80. package/dist/handsontable.js +22829 -28349
  81. package/dist/handsontable.min.css +6 -6
  82. package/dist/handsontable.min.js +24 -24
  83. package/dist/languages/all.js +2 -6
  84. package/dist/languages/all.min.js +1 -1
  85. package/dist/languages/en-US.js +1 -3
  86. package/dist/languages/en-US.min.js +1 -1
  87. package/dist/languages/pl-PL.js +1 -3
  88. package/dist/languages/pl-PL.min.js +1 -1
  89. package/editorManager.js +87 -15
  90. package/editorManager.mjs +87 -16
  91. package/editors/autocompleteEditor/autocompleteEditor.js +2 -53
  92. package/editors/autocompleteEditor/autocompleteEditor.mjs +3 -54
  93. package/editors/dateEditor/dateEditor.js +7 -26
  94. package/editors/dateEditor/dateEditor.mjs +8 -27
  95. package/editors/handsontableEditor/handsontableEditor.js +1 -9
  96. package/editors/handsontableEditor/handsontableEditor.mjs +2 -10
  97. package/editors/textEditor/textEditor.js +27 -19
  98. package/editors/textEditor/textEditor.mjs +30 -22
  99. package/helpers/dom/element.js +9 -188
  100. package/helpers/dom/element.mjs +9 -182
  101. package/helpers/mixed.js +1 -1
  102. package/helpers/mixed.mjs +1 -1
  103. package/helpers/number.d.ts +0 -1
  104. package/helpers/number.js +0 -18
  105. package/helpers/number.mjs +0 -17
  106. package/i18n/constants.js +1 -7
  107. package/i18n/constants.mjs +1 -4
  108. package/i18n/languages/en-US.js +1 -3
  109. package/i18n/languages/en-US.mjs +1 -3
  110. package/i18n/languages/pl-PL.js +1 -3
  111. package/i18n/languages/pl-PL.mjs +1 -3
  112. package/languages/all.js +2 -6
  113. package/languages/en-US.js +1 -3
  114. package/languages/en-US.mjs +1 -3
  115. package/languages/index.js +2 -6
  116. package/languages/pl-PL.js +1 -3
  117. package/languages/pl-PL.mjs +1 -3
  118. package/package.json +99 -116
  119. package/pluginHooks.d.ts +1 -12
  120. package/pluginHooks.js +1 -152
  121. package/pluginHooks.mjs +1 -152
  122. package/plugins/collapsibleColumns/collapsibleColumns.js +4 -74
  123. package/plugins/collapsibleColumns/collapsibleColumns.mjs +5 -75
  124. package/plugins/columnSorting/columnSorting.js +0 -43
  125. package/plugins/columnSorting/columnSorting.mjs +3 -44
  126. package/plugins/columnSorting/index.js +1 -3
  127. package/plugins/columnSorting/index.mjs +1 -1
  128. package/plugins/comments/commentEditor.js +0 -1
  129. package/plugins/comments/commentEditor.mjs +0 -1
  130. package/plugins/comments/comments.js +189 -252
  131. package/plugins/comments/comments.mjs +190 -251
  132. package/plugins/contextMenu/commandExecutor.js +3 -2
  133. package/plugins/contextMenu/commandExecutor.mjs +3 -2
  134. package/plugins/contextMenu/contextMenu.d.ts +1 -1
  135. package/plugins/contextMenu/contextMenu.js +36 -75
  136. package/plugins/contextMenu/contextMenu.mjs +35 -74
  137. package/plugins/contextMenu/{menu/cursor.mjs → cursor.js} +10 -4
  138. package/plugins/contextMenu/{menu/cursor.js → cursor.mjs} +4 -6
  139. package/plugins/contextMenu/itemsFactory.js +3 -2
  140. package/plugins/contextMenu/itemsFactory.mjs +4 -3
  141. package/plugins/contextMenu/{menu/menu.js → menu.js} +421 -145
  142. package/plugins/contextMenu/{menu/menu.mjs → menu.mjs} +422 -146
  143. package/plugins/contextMenu/predefinedItems/alignment.js +0 -7
  144. package/plugins/contextMenu/predefinedItems/alignment.mjs +0 -7
  145. package/plugins/contextMenu/predefinedItems/clearColumn.js +3 -5
  146. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +3 -5
  147. package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -5
  148. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -5
  149. package/plugins/contextMenu/predefinedItems/columnRight.js +3 -5
  150. package/plugins/contextMenu/predefinedItems/columnRight.mjs +3 -5
  151. package/plugins/contextMenu/predefinedItems/readOnly.js +0 -7
  152. package/plugins/contextMenu/predefinedItems/readOnly.mjs +0 -7
  153. package/plugins/contextMenu/predefinedItems/removeColumn.js +5 -7
  154. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -5
  155. package/plugins/contextMenu/predefinedItems/removeRow.js +5 -7
  156. package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -5
  157. package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -5
  158. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -5
  159. package/plugins/contextMenu/predefinedItems/rowBelow.js +3 -5
  160. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +3 -5
  161. package/plugins/contextMenu/{predefinedItems/index.js → predefinedItems.js} +14 -14
  162. package/plugins/contextMenu/predefinedItems.mjs +68 -0
  163. package/plugins/contextMenu/utils.js +151 -35
  164. package/plugins/contextMenu/utils.mjs +144 -35
  165. package/plugins/copyPaste/contextMenuItem/copy.js +0 -7
  166. package/plugins/copyPaste/contextMenuItem/copy.mjs +0 -7
  167. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +1 -9
  168. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +1 -9
  169. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +1 -9
  170. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +1 -9
  171. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +1 -9
  172. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +1 -9
  173. package/plugins/copyPaste/contextMenuItem/cut.js +0 -7
  174. package/plugins/copyPaste/contextMenuItem/cut.mjs +0 -7
  175. package/plugins/copyPaste/copyPaste.js +78 -127
  176. package/plugins/copyPaste/copyPaste.mjs +79 -128
  177. package/plugins/copyPaste/focusableElement.js +186 -0
  178. package/plugins/copyPaste/focusableElement.mjs +180 -0
  179. package/plugins/customBorders/customBorders.js +20 -23
  180. package/plugins/customBorders/customBorders.mjs +21 -24
  181. package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
  182. package/plugins/dropdownMenu/dropdownMenu.js +40 -127
  183. package/plugins/dropdownMenu/dropdownMenu.mjs +39 -126
  184. package/plugins/filters/component/_base.js +8 -23
  185. package/plugins/filters/component/_base.mjs +8 -23
  186. package/plugins/filters/component/actionBar.js +27 -29
  187. package/plugins/filters/component/actionBar.mjs +23 -26
  188. package/plugins/filters/component/condition.js +59 -46
  189. package/plugins/filters/component/condition.mjs +52 -40
  190. package/plugins/filters/component/operators.js +22 -21
  191. package/plugins/filters/component/operators.mjs +18 -18
  192. package/plugins/filters/component/value.js +26 -35
  193. package/plugins/filters/component/value.mjs +22 -32
  194. package/plugins/filters/constants.mjs +1 -1
  195. package/plugins/filters/filters.js +62 -106
  196. package/plugins/filters/filters.mjs +55 -99
  197. package/plugins/filters/ui/_base.js +13 -35
  198. package/plugins/filters/ui/_base.mjs +13 -35
  199. package/plugins/filters/ui/input.js +32 -43
  200. package/plugins/filters/ui/input.mjs +30 -42
  201. package/plugins/filters/ui/link.js +12 -44
  202. package/plugins/filters/ui/link.mjs +11 -44
  203. package/plugins/filters/ui/multipleSelect.js +129 -234
  204. package/plugins/filters/ui/multipleSelect.mjs +127 -232
  205. package/plugins/filters/ui/radioInput.js +18 -42
  206. package/plugins/filters/ui/radioInput.mjs +17 -42
  207. package/plugins/filters/ui/select.js +75 -144
  208. package/plugins/filters/ui/select.mjs +72 -142
  209. package/plugins/hiddenColumns/hiddenColumns.mjs +1 -1
  210. package/plugins/hiddenRows/hiddenRows.mjs +1 -1
  211. package/plugins/manualColumnMove/manualColumnMove.js +1 -3
  212. package/plugins/manualColumnMove/manualColumnMove.mjs +1 -3
  213. package/plugins/mergeCells/mergeCells.js +16 -5
  214. package/plugins/mergeCells/mergeCells.mjs +16 -5
  215. package/plugins/multiColumnSorting/multiColumnSorting.js +2 -37
  216. package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -37
  217. package/plugins/nestedHeaders/nestedHeaders.js +10 -240
  218. package/plugins/nestedHeaders/nestedHeaders.mjs +11 -241
  219. package/plugins/nestedHeaders/stateManager/index.js +3 -102
  220. package/plugins/nestedHeaders/stateManager/index.mjs +3 -102
  221. package/plugins/nestedRows/nestedRows.js +0 -41
  222. package/plugins/nestedRows/nestedRows.mjs +0 -41
  223. package/plugins/nestedRows/ui/headers.js +0 -11
  224. package/plugins/nestedRows/ui/headers.mjs +1 -12
  225. package/renderers/autocompleteRenderer/autocompleteRenderer.js +0 -8
  226. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +0 -8
  227. package/renderers/baseRenderer/baseRenderer.js +0 -17
  228. package/renderers/baseRenderer/baseRenderer.mjs +1 -18
  229. package/renderers/checkboxRenderer/checkboxRenderer.js +4 -9
  230. package/renderers/checkboxRenderer/checkboxRenderer.mjs +4 -9
  231. package/renderers/index.d.ts +0 -9
  232. package/selection/highlight/constants.js +15 -0
  233. package/selection/highlight/constants.mjs +6 -0
  234. package/selection/highlight/highlight.js +71 -256
  235. package/selection/highlight/highlight.mjs +71 -250
  236. package/selection/highlight/types/activeHeader.js +8 -10
  237. package/selection/highlight/types/activeHeader.mjs +8 -10
  238. package/selection/highlight/types/area.js +18 -6
  239. package/selection/highlight/types/area.mjs +18 -6
  240. package/selection/highlight/types/{focus.js → cell.js} +7 -5
  241. package/selection/highlight/types/{focus.mjs → cell.mjs} +7 -5
  242. package/selection/highlight/types/customSelection.js +9 -7
  243. package/selection/highlight/types/customSelection.mjs +9 -7
  244. package/selection/highlight/types/fill.js +7 -5
  245. package/selection/highlight/types/fill.mjs +7 -5
  246. package/selection/highlight/types/header.js +18 -9
  247. package/selection/highlight/types/header.mjs +18 -9
  248. package/selection/highlight/types/index.js +35 -0
  249. package/selection/highlight/types/index.mjs +31 -0
  250. package/selection/highlight/visualSelection.js +27 -31
  251. package/selection/highlight/visualSelection.mjs +27 -31
  252. package/selection/index.js +7 -4
  253. package/selection/index.mjs +3 -2
  254. package/selection/mouseEventHandler.js +1 -7
  255. package/selection/mouseEventHandler.mjs +1 -7
  256. package/selection/range.js +8 -8
  257. package/selection/range.mjs +8 -8
  258. package/selection/selection.js +152 -321
  259. package/selection/selection.mjs +151 -318
  260. package/selection/transformation.js +90 -232
  261. package/selection/transformation.mjs +90 -232
  262. package/selection/utils.js +21 -15
  263. package/selection/utils.mjs +21 -16
  264. package/settings.d.ts +0 -4
  265. package/shortcuts/context.js +4 -23
  266. package/shortcuts/context.mjs +5 -23
  267. package/shortcuts/manager.js +7 -25
  268. package/shortcuts/manager.mjs +7 -26
  269. package/shortcuts/recorder.js +3 -3
  270. package/shortcuts/recorder.mjs +3 -3
  271. package/shortcuts/utils.js +5 -19
  272. package/shortcuts/utils.mjs +4 -18
  273. package/tableView.js +13 -111
  274. package/tableView.mjs +14 -112
  275. package/3rdparty/walkontable/src/selection/border/constants.js +0 -16
  276. package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
  277. package/3rdparty/walkontable/src/selection/constants.js +0 -62
  278. package/3rdparty/walkontable/src/selection/constants.mjs +0 -51
  279. package/3rdparty/walkontable/src/selection/index.js +0 -26
  280. package/3rdparty/walkontable/src/selection/index.mjs +0 -5
  281. package/3rdparty/walkontable/src/selection/manager.js +0 -274
  282. package/3rdparty/walkontable/src/selection/manager.mjs +0 -269
  283. package/3rdparty/walkontable/src/selection/scanner.js +0 -270
  284. package/3rdparty/walkontable/src/selection/scanner.mjs +0 -267
  285. package/3rdparty/walkontable/src/selection/selection.js +0 -101
  286. package/3rdparty/walkontable/src/selection/selection.mjs +0 -96
  287. package/cellTypes/selectType/index.d.ts +0 -1
  288. package/cellTypes/selectType/index.js +0 -6
  289. package/cellTypes/selectType/index.mjs +0 -1
  290. package/cellTypes/selectType/selectType.d.ts +0 -14
  291. package/cellTypes/selectType/selectType.js +0 -13
  292. package/cellTypes/selectType/selectType.mjs +0 -8
  293. package/core/focusCatcher/focusDetector.js +0 -63
  294. package/core/focusCatcher/focusDetector.mjs +0 -59
  295. package/core/focusCatcher/index.js +0 -142
  296. package/core/focusCatcher/index.mjs +0 -138
  297. package/core/index.js +0 -9
  298. package/core/index.mjs +0 -1
  299. package/focusManager.d.ts +0 -12
  300. package/focusManager.js +0 -265
  301. package/focusManager.mjs +0 -261
  302. package/helpers/a11y.js +0 -79
  303. package/helpers/a11y.mjs +0 -38
  304. package/plugins/comments/contextMenuItem/addEditComment.js +0 -41
  305. package/plugins/comments/contextMenuItem/addEditComment.mjs +0 -35
  306. package/plugins/comments/contextMenuItem/readOnlyComment.js +0 -49
  307. package/plugins/comments/contextMenuItem/readOnlyComment.mjs +0 -43
  308. package/plugins/comments/contextMenuItem/removeComment.js +0 -38
  309. package/plugins/comments/contextMenuItem/removeComment.mjs +0 -32
  310. package/plugins/contextMenu/menu/defaultShortcutsList.js +0 -88
  311. package/plugins/contextMenu/menu/defaultShortcutsList.mjs +0 -84
  312. package/plugins/contextMenu/menu/index.js +0 -9
  313. package/plugins/contextMenu/menu/index.mjs +0 -1
  314. package/plugins/contextMenu/menu/menuItemRenderer.js +0 -58
  315. package/plugins/contextMenu/menu/menuItemRenderer.mjs +0 -54
  316. package/plugins/contextMenu/menu/navigator.js +0 -27
  317. package/plugins/contextMenu/menu/navigator.mjs +0 -23
  318. package/plugins/contextMenu/menu/positioner.js +0 -213
  319. package/plugins/contextMenu/menu/positioner.mjs +0 -209
  320. package/plugins/contextMenu/menu/shortcuts.js +0 -114
  321. package/plugins/contextMenu/menu/shortcuts.mjs +0 -110
  322. package/plugins/contextMenu/menu/utils.js +0 -177
  323. package/plugins/contextMenu/menu/utils.mjs +0 -163
  324. package/plugins/contextMenu/predefinedItems/index.mjs +0 -68
  325. package/plugins/filters/menu/focusController.js +0 -123
  326. package/plugins/filters/menu/focusController.mjs +0 -119
  327. package/plugins/filters/menu/focusNavigator.js +0 -30
  328. package/plugins/filters/menu/focusNavigator.mjs +0 -26
  329. package/renderers/dateRenderer/dateRenderer.d.ts +0 -5
  330. package/renderers/dateRenderer/dateRenderer.js +0 -29
  331. package/renderers/dateRenderer/dateRenderer.mjs +0 -24
  332. package/renderers/dateRenderer/index.d.ts +0 -1
  333. package/renderers/dateRenderer/index.js +0 -6
  334. package/renderers/dateRenderer/index.mjs +0 -1
  335. package/renderers/handsontableRenderer/handsontableRenderer.d.ts +0 -5
  336. package/renderers/handsontableRenderer/handsontableRenderer.js +0 -29
  337. package/renderers/handsontableRenderer/handsontableRenderer.mjs +0 -24
  338. package/renderers/handsontableRenderer/index.d.ts +0 -1
  339. package/renderers/handsontableRenderer/index.js +0 -6
  340. package/renderers/handsontableRenderer/index.mjs +0 -1
  341. package/renderers/selectRenderer/index.d.ts +0 -1
  342. package/renderers/selectRenderer/index.js +0 -6
  343. package/renderers/selectRenderer/index.mjs +0 -1
  344. package/renderers/selectRenderer/selectRenderer.d.ts +0 -5
  345. package/renderers/selectRenderer/selectRenderer.js +0 -27
  346. package/renderers/selectRenderer/selectRenderer.mjs +0 -22
  347. package/selection/highlight/types/areaLayered.js +0 -31
  348. package/selection/highlight/types/areaLayered.mjs +0 -26
  349. package/selection/highlight/types/column.js +0 -27
  350. package/selection/highlight/types/column.mjs +0 -22
  351. package/selection/highlight/types/row.js +0 -27
  352. package/selection/highlight/types/row.mjs +0 -22
  353. package/shortcutContexts/commands/editor/closeAndSave.js +0 -12
  354. package/shortcutContexts/commands/editor/closeAndSave.mjs +0 -8
  355. package/shortcutContexts/commands/editor/closeWithoutSaving.js +0 -12
  356. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +0 -8
  357. package/shortcutContexts/commands/editor/fastOpen.js +0 -16
  358. package/shortcutContexts/commands/editor/fastOpen.mjs +0 -12
  359. package/shortcutContexts/commands/editor/index.js +0 -16
  360. package/shortcutContexts/commands/editor/index.mjs +0 -12
  361. package/shortcutContexts/commands/editor/open.js +0 -27
  362. package/shortcutContexts/commands/editor/open.mjs +0 -23
  363. package/shortcutContexts/commands/emptySelectedCells.js +0 -11
  364. package/shortcutContexts/commands/emptySelectedCells.mjs +0 -7
  365. package/shortcutContexts/commands/extendCellsSelection/down.js +0 -15
  366. package/shortcutContexts/commands/extendCellsSelection/down.mjs +0 -11
  367. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +0 -25
  368. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +0 -21
  369. package/shortcutContexts/commands/extendCellsSelection/index.js +0 -26
  370. package/shortcutContexts/commands/extendCellsSelection/index.mjs +0 -22
  371. package/shortcutContexts/commands/extendCellsSelection/left.js +0 -15
  372. package/shortcutContexts/commands/extendCellsSelection/left.mjs +0 -11
  373. package/shortcutContexts/commands/extendCellsSelection/right.js +0 -15
  374. package/shortcutContexts/commands/extendCellsSelection/right.mjs +0 -11
  375. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +0 -19
  376. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +0 -15
  377. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +0 -29
  378. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +0 -25
  379. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +0 -19
  380. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +0 -15
  381. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +0 -19
  382. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +0 -15
  383. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +0 -29
  384. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +0 -25
  385. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +0 -29
  386. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +0 -25
  387. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +0 -29
  388. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +0 -25
  389. package/shortcutContexts/commands/extendCellsSelection/toRows.js +0 -19
  390. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +0 -15
  391. package/shortcutContexts/commands/extendCellsSelection/up.js +0 -15
  392. package/shortcutContexts/commands/extendCellsSelection/up.mjs +0 -11
  393. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +0 -25
  394. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +0 -21
  395. package/shortcutContexts/commands/index.js +0 -35
  396. package/shortcutContexts/commands/index.mjs +0 -31
  397. package/shortcutContexts/commands/moveCellSelection/down.js +0 -13
  398. package/shortcutContexts/commands/moveCellSelection/down.mjs +0 -9
  399. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +0 -33
  400. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +0 -29
  401. package/shortcutContexts/commands/moveCellSelection/index.js +0 -28
  402. package/shortcutContexts/commands/moveCellSelection/index.mjs +0 -24
  403. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +0 -12
  404. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +0 -8
  405. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +0 -12
  406. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +0 -8
  407. package/shortcutContexts/commands/moveCellSelection/left.js +0 -10
  408. package/shortcutContexts/commands/moveCellSelection/left.mjs +0 -6
  409. package/shortcutContexts/commands/moveCellSelection/right.js +0 -10
  410. package/shortcutContexts/commands/moveCellSelection/right.mjs +0 -6
  411. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +0 -17
  412. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +0 -13
  413. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +0 -18
  414. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +0 -14
  415. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +0 -14
  416. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +0 -10
  417. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +0 -17
  418. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +0 -13
  419. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +0 -19
  420. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +0 -15
  421. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +0 -21
  422. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +0 -17
  423. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +0 -17
  424. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +0 -13
  425. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +0 -19
  426. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +0 -15
  427. package/shortcutContexts/commands/moveCellSelection/up.js +0 -13
  428. package/shortcutContexts/commands/moveCellSelection/up.mjs +0 -9
  429. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +0 -33
  430. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +0 -29
  431. package/shortcutContexts/commands/populateSelectedCellsData.js +0 -29
  432. package/shortcutContexts/commands/populateSelectedCellsData.mjs +0 -25
  433. package/shortcutContexts/commands/scrollToFocusedCell.js +0 -35
  434. package/shortcutContexts/commands/scrollToFocusedCell.mjs +0 -31
  435. package/shortcutContexts/commands/selectAll.js +0 -12
  436. package/shortcutContexts/commands/selectAll.mjs +0 -8
  437. package/shortcutContexts/constants.js +0 -13
  438. package/shortcutContexts/constants.mjs +0 -8
  439. package/shortcutContexts/editor.js +0 -25
  440. package/shortcutContexts/editor.mjs +0 -21
  441. package/shortcutContexts/grid.js +0 -163
  442. package/shortcutContexts/grid.mjs +0 -159
  443. package/shortcutContexts/index.js +0 -24
  444. package/shortcutContexts/index.mjs +0 -11
  445. package/utils/paginator.js +0 -151
  446. package/utils/paginator.mjs +0 -147
@@ -4,20 +4,8 @@ import { createUniqueMap } from "../utils/dataStructures/uniqueMap.mjs";
4
4
  import { normalizeKeys, getKeysList } from "./utils.mjs";
5
5
  import { isUndefined, isDefined } from "../helpers/mixed.mjs";
6
6
  import { isFunction } from "../helpers/function.mjs";
7
- import { objectEach, isObject } from "../helpers/object.mjs";
7
+ import { objectEach } from "../helpers/object.mjs";
8
8
  import { toSingleLine } from "../helpers/templateLiteralTag.mjs";
9
- const __kindOf = Symbol('shortcut-context');
10
-
11
- /**
12
- * Checks if the provided object is a context object.
13
- *
14
- * @param {*} objectToCheck An object to check.
15
- * @returns {boolean}
16
- */
17
- export function isContextObject(objectToCheck) {
18
- return isObject(objectToCheck) && objectToCheck.__kindOf === __kindOf;
19
- }
20
-
21
9
  /* eslint-disable jsdoc/require-description-complete-sentence */
22
10
  /**
23
11
  * The `ShortcutContext` API lets you store and manage [keyboard shortcuts](@/guides/accessories-and-menus/keyboard-shortcuts.md) in a given [context](@/guides/accessories-and-menus/keyboard-shortcuts.md#keyboard-shortcut-contexts).
@@ -45,13 +33,13 @@ export const createContext = name => {
45
33
  * @param {Function} options.callback The shortcut's action
46
34
  * @param {object} options.group A group of shortcuts to which the shortcut belongs
47
35
  * @param {object} [options.runOnlyIf] A condition on which the shortcut's action runs
48
- * @param {object} [options.stopPropagation=false] If set to `true`: stops the event's propagation
36
+ * @param {object} [options.stopPropagation=true] If set to `true`: stops the event's propagation
49
37
  * @param {object} [options.captureCtrl=false] If set to `true`: captures the state of the Control/Meta modifier key
50
38
  * @param {object} [options.preventDefault=true] If set to `true`: prevents the default behavior
51
39
  * @param {object} [options.position='after'] The order in which the shortcut's action runs:
52
40
  * `'before'` or `'after'` the `relativeToGroup` group of actions
53
41
  * @param {object} [options.relativeToGroup] The name of a group of actions, used to determine an action's `position`
54
- * @param {object} [options.forwardToContext] The context object where the event will be forwarded to.
42
+ *
55
43
  */
56
44
  const addShortcut = function () {
57
45
  let {
@@ -63,8 +51,7 @@ export const createContext = name => {
63
51
  preventDefault = true,
64
52
  stopPropagation = false,
65
53
  relativeToGroup,
66
- position,
67
- forwardToContext
54
+ position
68
55
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
69
56
  if (isUndefined(group)) {
70
57
  throw new Error('You need to define the shortcut\'s group.');
@@ -88,9 +75,6 @@ export const createContext = name => {
88
75
  if (isDefined(relativeToGroup)) {
89
76
  [newShortcut.relativeToGroup, newShortcut.position] = [relativeToGroup, position];
90
77
  }
91
- if (isContextObject(forwardToContext)) {
92
- newShortcut.forwardToContext = forwardToContext;
93
- }
94
78
  keys.forEach(keyCombination => {
95
79
  const normalizedKeys = normalizeKeys(keyCombination);
96
80
  const hasKeyCombination = SHORTCUTS.hasItem(normalizedKeys);
@@ -122,12 +106,11 @@ export const createContext = name => {
122
106
  * @param {Function} [options.callback] A shortcut's action
123
107
  * @param {object} [options.group] A group of shortcuts to which a shortcut belongs
124
108
  * @param {object} [options.runOnlyIf] A condition on which a shortcut's action runs
125
- * @param {object} [options.stopPropagation=false] If set to `true`: stops the event's propagation
109
+ * @param {object} [options.stopPropagation=true] If set to `true`: stops the event's propagation
126
110
  * @param {object} [options.preventDefault=true] If set to `true`: prevents the default behavior
127
111
  * @param {object} [options.position='after'] The order in which a shortcut's action runs:
128
112
  * `'before'` or `'after'` a `relativeToGroup` group of actions
129
113
  * @param {object} [options.relativeToGroup] The name of a group of actions, used to determine an action's `position`
130
- * @param {object} [options.forwardToContext] The context object where the event will be forwarded to.
131
114
  */
132
115
  const addShortcuts = function (shortcuts) {
133
116
  let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
@@ -203,7 +186,6 @@ export const createContext = name => {
203
186
  return SHORTCUTS.hasItem(normalizedKeys);
204
187
  };
205
188
  return {
206
- __kindOf,
207
189
  addShortcut,
208
190
  addShortcuts,
209
191
  getShortcuts,
@@ -3,11 +3,11 @@
3
3
  exports.__esModule = true;
4
4
  require("core-js/modules/es.error.cause.js");
5
5
  var _uniqueMap = require("../utils/dataStructures/uniqueMap");
6
- var _event = require("../helpers/dom/event");
7
6
  var _context = require("./context");
8
7
  var _recorder = require("./recorder");
9
8
  var _templateLiteralTag = require("../helpers/templateLiteralTag");
10
9
  /* eslint-disable jsdoc/require-description-complete-sentence */
10
+
11
11
  /**
12
12
  * The `ShortcutManager` API lets you store and manage [keyboard shortcut contexts](@/guides/accessories-and-menus/keyboard-shortcuts.md#keyboard-shortcut-contexts) ([`ShortcutContext`](@/api/shortcutContext.md)).
13
13
  *
@@ -103,18 +103,12 @@ const createShortcutManager = _ref => {
103
103
  let isCtrlKeySilenced = false;
104
104
 
105
105
  /**
106
- * A callback function for listening events from the recorder.
106
+ * Internal key recorder.
107
107
  *
108
- * @param {KeyboardEvent} event The keyboard event.
109
- * @param {string[]} keys Names of the shortcut's keys,
110
- * (coming from [`KeyboardEvent.key`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values)),
111
- * in lowercase or uppercase, unified across browsers.
112
- * @param {object | string} context The context object or name.
113
- * @returns {boolean}
108
+ * @private
114
109
  */
115
- const recorderCallback = function (event, keys) {
116
- let context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getActiveContextName();
117
- const activeContext = (0, _context.isContextObject)(context) ? context : getContext(context);
110
+ const keyRecorder = (0, _recorder.useRecorder)(ownerWindow, handleEvent, beforeKeyDown, afterKeyDown, (event, keys) => {
111
+ const activeContext = getContext(getActiveContextName());
118
112
  let isExecutionCancelled = false;
119
113
  if (!activeContext.hasShortcut(keys)) {
120
114
  return isExecutionCancelled;
@@ -128,8 +122,7 @@ const createShortcutManager = _ref => {
128
122
  runOnlyIf,
129
123
  preventDefault,
130
124
  stopPropagation,
131
- captureCtrl,
132
- forwardToContext
125
+ captureCtrl
133
126
  } = shortcuts[index];
134
127
  if (runOnlyIf(event) !== false) {
135
128
  isCtrlKeySilenced = captureCtrl;
@@ -139,26 +132,15 @@ const createShortcutManager = _ref => {
139
132
  event.preventDefault();
140
133
  }
141
134
  if (stopPropagation) {
142
- (0, _event.stopImmediatePropagation)(event);
143
135
  event.stopPropagation();
144
136
  }
145
137
  if (isExecutionCancelled) {
146
138
  break;
147
139
  }
148
- if (forwardToContext) {
149
- recorderCallback(event, keys, forwardToContext);
150
- }
151
140
  }
152
141
  }
153
142
  return isExecutionCancelled;
154
- };
155
-
156
- /**
157
- * Internal key recorder.
158
- *
159
- * @private
160
- */
161
- const keyRecorder = (0, _recorder.useRecorder)(ownerWindow, handleEvent, beforeKeyDown, afterKeyDown, recorderCallback);
143
+ });
162
144
  keyRecorder.mount();
163
145
  return {
164
146
  addContext,
@@ -1,7 +1,6 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
2
  import { createUniqueMap } from "../utils/dataStructures/uniqueMap.mjs";
3
- import { stopImmediatePropagation } from "../helpers/dom/event.mjs";
4
- import { createContext, isContextObject } from "./context.mjs";
3
+ import { createContext } from "./context.mjs";
5
4
  import { useRecorder } from "./recorder.mjs";
6
5
  import { toSingleLine } from "../helpers/templateLiteralTag.mjs";
7
6
  /* eslint-disable jsdoc/require-description-complete-sentence */
@@ -100,18 +99,12 @@ export const createShortcutManager = _ref => {
100
99
  let isCtrlKeySilenced = false;
101
100
 
102
101
  /**
103
- * A callback function for listening events from the recorder.
102
+ * Internal key recorder.
104
103
  *
105
- * @param {KeyboardEvent} event The keyboard event.
106
- * @param {string[]} keys Names of the shortcut's keys,
107
- * (coming from [`KeyboardEvent.key`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values)),
108
- * in lowercase or uppercase, unified across browsers.
109
- * @param {object | string} context The context object or name.
110
- * @returns {boolean}
104
+ * @private
111
105
  */
112
- const recorderCallback = function (event, keys) {
113
- let context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getActiveContextName();
114
- const activeContext = isContextObject(context) ? context : getContext(context);
106
+ const keyRecorder = useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDown, (event, keys) => {
107
+ const activeContext = getContext(getActiveContextName());
115
108
  let isExecutionCancelled = false;
116
109
  if (!activeContext.hasShortcut(keys)) {
117
110
  return isExecutionCancelled;
@@ -125,8 +118,7 @@ export const createShortcutManager = _ref => {
125
118
  runOnlyIf,
126
119
  preventDefault,
127
120
  stopPropagation,
128
- captureCtrl,
129
- forwardToContext
121
+ captureCtrl
130
122
  } = shortcuts[index];
131
123
  if (runOnlyIf(event) !== false) {
132
124
  isCtrlKeySilenced = captureCtrl;
@@ -136,26 +128,15 @@ export const createShortcutManager = _ref => {
136
128
  event.preventDefault();
137
129
  }
138
130
  if (stopPropagation) {
139
- stopImmediatePropagation(event);
140
131
  event.stopPropagation();
141
132
  }
142
133
  if (isExecutionCancelled) {
143
134
  break;
144
135
  }
145
- if (forwardToContext) {
146
- recorderCallback(event, keys, forwardToContext);
147
- }
148
136
  }
149
137
  }
150
138
  return isExecutionCancelled;
151
- };
152
-
153
- /**
154
- * Internal key recorder.
155
- *
156
- * @private
157
- */
158
- const keyRecorder = useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDown, recorderCallback);
139
+ });
159
140
  keyRecorder.mount();
160
141
  return {
161
142
  addContext,
@@ -87,7 +87,7 @@ function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDown, call
87
87
  if (event.keyCode === 229 || result === false || (0, _event.isImmediatePropagationStopped)(event)) {
88
88
  return;
89
89
  }
90
- const pressedKey = (0, _utils.normalizeEventKey)(event);
90
+ const pressedKey = (0, _utils.normalizeEventKey)(event.key);
91
91
  let extraModifierKeys = [];
92
92
  if (!isModifierKey(pressedKey)) {
93
93
  extraModifierKeys = getPressedModifierKeys(event);
@@ -108,7 +108,7 @@ function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDown, call
108
108
  * @param {KeyboardEvent} event The event object
109
109
  */
110
110
  const onkeydownForModKeys = event => {
111
- const pressedKey = (0, _utils.normalizeEventKey)(event);
111
+ const pressedKey = (0, _utils.normalizeEventKey)(event.key);
112
112
  if (isModifierKey(pressedKey)) {
113
113
  modifierKeysObserver.press(pressedKey);
114
114
  }
@@ -121,7 +121,7 @@ function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDown, call
121
121
  * @param {KeyboardEvent} event The event object
122
122
  */
123
123
  const onkeyupForModKeys = event => {
124
- const pressedKey = (0, _utils.normalizeEventKey)(event);
124
+ const pressedKey = (0, _utils.normalizeEventKey)(event.key);
125
125
  if (isModifierKey(pressedKey)) {
126
126
  modifierKeysObserver.release(pressedKey);
127
127
  }
@@ -83,7 +83,7 @@ export function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDow
83
83
  if (event.keyCode === 229 || result === false || isImmediatePropagationStopped(event)) {
84
84
  return;
85
85
  }
86
- const pressedKey = normalizeEventKey(event);
86
+ const pressedKey = normalizeEventKey(event.key);
87
87
  let extraModifierKeys = [];
88
88
  if (!isModifierKey(pressedKey)) {
89
89
  extraModifierKeys = getPressedModifierKeys(event);
@@ -104,7 +104,7 @@ export function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDow
104
104
  * @param {KeyboardEvent} event The event object
105
105
  */
106
106
  const onkeydownForModKeys = event => {
107
- const pressedKey = normalizeEventKey(event);
107
+ const pressedKey = normalizeEventKey(event.key);
108
108
  if (isModifierKey(pressedKey)) {
109
109
  modifierKeysObserver.press(pressedKey);
110
110
  }
@@ -117,7 +117,7 @@ export function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDow
117
117
  * @param {KeyboardEvent} event The event object
118
118
  */
119
119
  const onkeyupForModKeys = event => {
120
- const pressedKey = normalizeEventKey(event);
120
+ const pressedKey = normalizeEventKey(event.key);
121
121
  if (isModifierKey(pressedKey)) {
122
122
  modifierKeysObserver.release(pressedKey);
123
123
  }
@@ -37,27 +37,13 @@ const getKeysList = normalizedKeys => {
37
37
  };
38
38
 
39
39
  /**
40
- * The regex tests if the event.code matches to the pattern and it's used to extract letters and digits from
41
- * the string.
42
- */
43
- exports.getKeysList = getKeysList;
44
- const codeToKeyRegExp = new RegExp('^(?:Key|Digit)([A-Z0-9])$');
45
-
46
- /**
47
- * Normalizes a keyboard event key value to a key before its modification. When the keyboard event
48
- * is triggered with Alt, Control or Shift keys the `key` property contains modified key e.g. for Alt+L
49
- * it will be `ł`. But that value is only valid for polish keyboard layout. To fix that limitations, for
50
- * letters and digits the value is taken from the `code` property which holds original value before
51
- * transformation.
40
+ * Normalize a `KeyboardEvent.key` property, to use it for keyboard shortcuts.
52
41
  *
53
- * @param {Event} event The KeyboardEvent object.
42
+ * @param {string} key KeyboardEvent's key property.
54
43
  * @returns {string}
55
44
  */
56
- const normalizeEventKey = _ref => {
57
- let {
58
- key,
59
- code
60
- } = _ref;
61
- return (codeToKeyRegExp.test(code) ? code.replace(codeToKeyRegExp, '$1') : key).toLowerCase();
45
+ exports.getKeysList = getKeysList;
46
+ const normalizeEventKey = key => {
47
+ return key.toLowerCase();
62
48
  };
63
49
  exports.normalizeEventKey = normalizeEventKey;
@@ -33,25 +33,11 @@ export const getKeysList = normalizedKeys => {
33
33
  };
34
34
 
35
35
  /**
36
- * The regex tests if the event.code matches to the pattern and it's used to extract letters and digits from
37
- * the string.
38
- */
39
- const codeToKeyRegExp = new RegExp('^(?:Key|Digit)([A-Z0-9])$');
40
-
41
- /**
42
- * Normalizes a keyboard event key value to a key before its modification. When the keyboard event
43
- * is triggered with Alt, Control or Shift keys the `key` property contains modified key e.g. for Alt+L
44
- * it will be `ł`. But that value is only valid for polish keyboard layout. To fix that limitations, for
45
- * letters and digits the value is taken from the `code` property which holds original value before
46
- * transformation.
36
+ * Normalize a `KeyboardEvent.key` property, to use it for keyboard shortcuts.
47
37
  *
48
- * @param {Event} event The KeyboardEvent object.
38
+ * @param {string} key KeyboardEvent's key property.
49
39
  * @returns {string}
50
40
  */
51
- export const normalizeEventKey = _ref => {
52
- let {
53
- key,
54
- code
55
- } = _ref;
56
- return (codeToKeyRegExp.test(code) ? code.replace(codeToKeyRegExp, '$1') : key).toLowerCase();
41
+ export const normalizeEventKey = key => {
42
+ return key.toLowerCase();
57
43
  };
package/tableView.js CHANGED
@@ -9,7 +9,6 @@ var _event = require("./helpers/dom/event");
9
9
  var _src = _interopRequireDefault(require("./3rdparty/walkontable/src"));
10
10
  var _mouseEventHandler = require("./selection/mouseEventHandler");
11
11
  var _rootInstance = require("./utils/rootInstance");
12
- var _a11y = require("./helpers/a11y");
13
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
13
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
15
14
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
@@ -260,10 +259,6 @@ class TableView {
260
259
  if (this.instance.getSettings().tableClassName) {
261
260
  (0, _element.addClass)(priv.table, this.instance.getSettings().tableClassName);
262
261
  }
263
- if (this.settings.ariaTags) {
264
- (0, _element.setAttribute)(priv.table, [(0, _a11y.A11Y_PRESENTATION)()]);
265
- (0, _element.setAttribute)(rootElement, [(0, _a11y.A11Y_TREEGRID)(), (0, _a11y.A11Y_ROWCOUNT)(this.instance.countRows()), (0, _a11y.A11Y_COLCOUNT)(this.instance.countCols()), (0, _a11y.A11Y_MULTISELECTABLE)()]);
266
- }
267
262
  this.THEAD = rootDocument.createElement('THEAD');
268
263
  priv.table.appendChild(this.THEAD);
269
264
  this.TBODY = rootDocument.createElement('TBODY');
@@ -317,14 +312,11 @@ class TableView {
317
312
  });
318
313
  this.eventManager.addEventListener(documentElement, 'mouseup', event => {
319
314
  if (selection.isInProgress() && (0, _event.isLeftClick)(event)) {
315
+ // is left mouse button
320
316
  selection.finish();
321
317
  }
322
318
  priv.mouseDown = false;
323
- const isOutsideInputElement = (0, _element.isOutsideInput)(rootDocument.activeElement);
324
- if (!isOutsideInputElement) {
325
- return;
326
- }
327
- if (isOutsideInputElement || !selection.isSelected() && !selection.isSelectedByAnyHeader() && !rootElement.contains(event.target) && !(0, _event.isRightClick)(event)) {
319
+ if ((0, _element.isOutsideInput)(rootDocument.activeElement) || !selection.isSelected() && !selection.isSelectedByAnyHeader() && !rootElement.contains(event.target) && !(0, _event.isRightClick)(event)) {
328
320
  this.instance.unlisten();
329
321
  }
330
322
  });
@@ -558,40 +550,6 @@ class TableView {
558
550
  return this.countNotHiddenRowIndexes(visualFixedRowsBottom, 1);
559
551
  }
560
552
 
561
- /**
562
- * The function returns the number of renderable column indexes within the passed range of the visual indexes.
563
- *
564
- * @param {number} columnStart The column visual start index.
565
- * @param {number} columnEnd The column visual end index.
566
- * @returns {number}
567
- */
568
- countRenderableColumnsInRange(columnStart, columnEnd) {
569
- let count = 0;
570
- for (let column = columnStart; column <= columnEnd; column++) {
571
- if (this.instance.columnIndexMapper.getRenderableFromVisualIndex(column) !== null) {
572
- count += 1;
573
- }
574
- }
575
- return count;
576
- }
577
-
578
- /**
579
- * The function returns the number of renderable row indexes within the passed range of the visual indexes.
580
- *
581
- * @param {number} rowStart The row visual start index.
582
- * @param {number} rowEnd The row visual end index.
583
- * @returns {number}
584
- */
585
- countRenderableRowsInRange(rowStart, rowEnd) {
586
- let count = 0;
587
- for (let row = rowStart; row <= rowEnd; row++) {
588
- if (this.instance.rowIndexMapper.getRenderableFromVisualIndex(row) !== null) {
589
- count += 1;
590
- }
591
- }
592
- return count;
593
- }
594
-
595
553
  /**
596
554
  * Checks if at least one cell than belongs to the main table is not covered by the top, left or
597
555
  * bottom overlay.
@@ -612,7 +570,6 @@ class TableView {
612
570
  initializeWalkontable() {
613
571
  const priv = privatePool.get(this);
614
572
  const walkontableConfig = {
615
- ariaTags: this.settings.ariaTags,
616
573
  rtlMode: this.instance.isRtl(),
617
574
  externalRowCalculator: this.instance.getPlugin('autoRowSize') && this.instance.getPlugin('autoRowSize').isEnabled(),
618
575
  table: priv.table,
@@ -812,78 +769,20 @@ class TableView {
812
769
  },
813
770
  beforeDraw: (force, skipRender) => this.beforeRender(force, skipRender),
814
771
  onDraw: force => this.afterRender(force),
815
- onBeforeViewportScrollVertically: renderableRow => {
816
- const rowMapper = this.instance.rowIndexMapper;
817
- const areColumnHeadersSelected = renderableRow < 0;
818
- let visualRow = renderableRow;
819
- if (!areColumnHeadersSelected) {
820
- visualRow = rowMapper.getVisualFromRenderableIndex(renderableRow);
821
-
822
- // for an empty data return index as is
823
- if (visualRow === null) {
824
- return renderableRow;
825
- }
826
- }
827
- visualRow = this.instance.runHooks('beforeViewportScrollVertically', visualRow);
828
- this.instance.runHooks('beforeViewportScroll');
829
- if (!areColumnHeadersSelected) {
830
- return rowMapper.getRenderableFromVisualIndex(visualRow);
831
- }
832
- return visualRow;
833
- },
834
- onBeforeViewportScrollHorizontally: renderableColumn => {
835
- const columnMapper = this.instance.columnIndexMapper;
836
- const areRowHeadersSelected = renderableColumn < 0;
837
- let visualColumn = renderableColumn;
838
- if (!areRowHeadersSelected) {
839
- visualColumn = columnMapper.getVisualFromRenderableIndex(renderableColumn);
840
-
841
- // for an empty data return index as is
842
- if (visualColumn === null) {
843
- return renderableColumn;
844
- }
845
- }
846
- visualColumn = this.instance.runHooks('beforeViewportScrollHorizontally', visualColumn);
847
- this.instance.runHooks('beforeViewportScroll');
848
- if (!areRowHeadersSelected) {
849
- return columnMapper.getRenderableFromVisualIndex(visualColumn);
850
- }
851
- return visualColumn;
852
- },
853
- onScrollVertically: () => {
854
- this.instance.runHooks('afterScrollVertically');
855
- this.instance.runHooks('afterScroll');
856
- },
857
- onScrollHorizontally: () => {
858
- this.instance.runHooks('afterScrollHorizontally');
859
- this.instance.runHooks('afterScroll');
860
- },
772
+ onScrollVertically: () => this.instance.runHooks('afterScrollVertically'),
773
+ onScrollHorizontally: () => this.instance.runHooks('afterScrollHorizontally'),
861
774
  onBeforeRemoveCellClassNames: () => this.instance.runHooks('beforeRemoveCellClassNames'),
862
775
  onBeforeHighlightingRowHeader: (renderableRow, headerLevel, highlightMeta) => {
863
776
  const rowMapper = this.instance.rowIndexMapper;
864
- const areColumnHeadersSelected = renderableRow < 0;
865
- let visualRow = renderableRow;
866
- if (!areColumnHeadersSelected) {
867
- visualRow = rowMapper.getVisualFromRenderableIndex(renderableRow);
868
- }
777
+ const visualRow = rowMapper.getVisualFromRenderableIndex(renderableRow);
869
778
  const newVisualRow = this.instance.runHooks('beforeHighlightingRowHeader', visualRow, headerLevel, highlightMeta);
870
- if (!areColumnHeadersSelected) {
871
- return rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(newVisualRow, 1));
872
- }
873
- return newVisualRow;
779
+ return rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(newVisualRow, 1));
874
780
  },
875
781
  onBeforeHighlightingColumnHeader: (renderableColumn, headerLevel, highlightMeta) => {
876
782
  const columnMapper = this.instance.columnIndexMapper;
877
- const areRowHeadersSelected = renderableColumn < 0;
878
- let visualColumn = renderableColumn;
879
- if (!areRowHeadersSelected) {
880
- visualColumn = columnMapper.getVisualFromRenderableIndex(renderableColumn);
881
- }
783
+ const visualColumn = columnMapper.getVisualFromRenderableIndex(renderableColumn);
882
784
  const newVisualColumn = this.instance.runHooks('beforeHighlightingColumnHeader', visualColumn, headerLevel, highlightMeta);
883
- if (!areRowHeadersSelected) {
884
- return columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(newVisualColumn, 1));
885
- }
886
- return newVisualColumn;
785
+ return columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(newVisualColumn, 1));
887
786
  },
888
787
  onAfterDrawSelection: (currentRow, currentColumn, layerLevel) => {
889
788
  let cornersOfSelection;
@@ -891,7 +790,10 @@ class TableView {
891
790
  const selectedRange = this.instance.selection.getSelectedRange();
892
791
  const selectionRangeSize = selectedRange.size();
893
792
  if (selectionRangeSize > 0) {
894
- const selectionForLayer = selectedRange.peekByIndex(layerLevel !== null && layerLevel !== void 0 ? layerLevel : 0);
793
+ // Selection layers are stored from the "oldest" to the "newest". We should calculate the offset.
794
+ // Please look at the `SelectedRange` class and it's method for getting selection's layer for more information.
795
+ const selectionOffset = (layerLevel !== null && layerLevel !== void 0 ? layerLevel : 0) + 1 - selectionRangeSize;
796
+ const selectionForLayer = selectedRange.peekByIndex(selectionOffset);
895
797
  cornersOfSelection = [selectionForLayer.from.row, selectionForLayer.from.col, selectionForLayer.to.row, selectionForLayer.to.col];
896
798
  }
897
799
  return this.instance.runHooks('afterDrawSelection', visualRowIndex, visualColumnIndex, cornersOfSelection, layerLevel);
@@ -1044,7 +946,7 @@ class TableView {
1044
946
  */
1045
947
  isSelectedOnlyCell() {
1046
948
  var _this$instance$getSel, _this$instance$getSel2;
1047
- return (_this$instance$getSel = (_this$instance$getSel2 = this.instance.getSelectedRangeLast()) === null || _this$instance$getSel2 === void 0 ? void 0 : _this$instance$getSel2.isSingleCell()) !== null && _this$instance$getSel !== void 0 ? _this$instance$getSel : false;
949
+ return (_this$instance$getSel = (_this$instance$getSel2 = this.instance.getSelectedRangeLast()) === null || _this$instance$getSel2 === void 0 ? void 0 : _this$instance$getSel2.isSingle()) !== null && _this$instance$getSel !== void 0 ? _this$instance$getSel : false;
1048
950
  }
1049
951
 
1050
952
  /**