handsontable 0.0.0-next-9379dd1-20231020 → 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 (414) 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 +5 -40
  76. package/dist/handsontable.full.css +5 -40
  77. package/dist/handsontable.full.js +8038 -12837
  78. package/dist/handsontable.full.min.css +4 -4
  79. package/dist/handsontable.full.min.js +141 -141
  80. package/dist/handsontable.js +11488 -16287
  81. package/dist/handsontable.min.css +3 -3
  82. package/dist/handsontable.min.js +21 -21
  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} +308 -96
  142. package/plugins/contextMenu/{menu/menu.mjs → menu.mjs} +309 -97
  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 +38 -97
  183. package/plugins/dropdownMenu/dropdownMenu.mjs +37 -96
  184. package/plugins/filters/constants.mjs +1 -1
  185. package/plugins/filters/filters.js +14 -31
  186. package/plugins/filters/filters.mjs +14 -31
  187. package/plugins/filters/ui/select.js +3 -3
  188. package/plugins/filters/ui/select.mjs +2 -2
  189. package/plugins/hiddenColumns/hiddenColumns.mjs +1 -1
  190. package/plugins/hiddenRows/hiddenRows.mjs +1 -1
  191. package/plugins/manualColumnMove/manualColumnMove.js +1 -3
  192. package/plugins/manualColumnMove/manualColumnMove.mjs +1 -3
  193. package/plugins/mergeCells/mergeCells.js +16 -5
  194. package/plugins/mergeCells/mergeCells.mjs +16 -5
  195. package/plugins/multiColumnSorting/multiColumnSorting.js +2 -37
  196. package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -37
  197. package/plugins/nestedHeaders/nestedHeaders.js +10 -240
  198. package/plugins/nestedHeaders/nestedHeaders.mjs +11 -241
  199. package/plugins/nestedHeaders/stateManager/index.js +3 -102
  200. package/plugins/nestedHeaders/stateManager/index.mjs +3 -102
  201. package/plugins/nestedRows/nestedRows.js +0 -41
  202. package/plugins/nestedRows/nestedRows.mjs +0 -41
  203. package/plugins/nestedRows/ui/headers.js +0 -11
  204. package/plugins/nestedRows/ui/headers.mjs +1 -12
  205. package/renderers/autocompleteRenderer/autocompleteRenderer.js +0 -8
  206. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +0 -8
  207. package/renderers/baseRenderer/baseRenderer.js +0 -17
  208. package/renderers/baseRenderer/baseRenderer.mjs +1 -18
  209. package/renderers/checkboxRenderer/checkboxRenderer.js +4 -9
  210. package/renderers/checkboxRenderer/checkboxRenderer.mjs +4 -9
  211. package/renderers/index.d.ts +0 -9
  212. package/selection/highlight/constants.js +15 -0
  213. package/selection/highlight/constants.mjs +6 -0
  214. package/selection/highlight/highlight.js +71 -256
  215. package/selection/highlight/highlight.mjs +71 -250
  216. package/selection/highlight/types/activeHeader.js +8 -10
  217. package/selection/highlight/types/activeHeader.mjs +8 -10
  218. package/selection/highlight/types/area.js +18 -6
  219. package/selection/highlight/types/area.mjs +18 -6
  220. package/selection/highlight/types/{focus.js → cell.js} +7 -5
  221. package/selection/highlight/types/{focus.mjs → cell.mjs} +7 -5
  222. package/selection/highlight/types/customSelection.js +9 -7
  223. package/selection/highlight/types/customSelection.mjs +9 -7
  224. package/selection/highlight/types/fill.js +7 -5
  225. package/selection/highlight/types/fill.mjs +7 -5
  226. package/selection/highlight/types/header.js +18 -9
  227. package/selection/highlight/types/header.mjs +18 -9
  228. package/selection/highlight/types/index.js +35 -0
  229. package/selection/highlight/types/index.mjs +31 -0
  230. package/selection/highlight/visualSelection.js +27 -31
  231. package/selection/highlight/visualSelection.mjs +27 -31
  232. package/selection/index.js +7 -4
  233. package/selection/index.mjs +3 -2
  234. package/selection/mouseEventHandler.js +1 -7
  235. package/selection/mouseEventHandler.mjs +1 -7
  236. package/selection/range.js +8 -8
  237. package/selection/range.mjs +8 -8
  238. package/selection/selection.js +152 -321
  239. package/selection/selection.mjs +151 -318
  240. package/selection/transformation.js +90 -232
  241. package/selection/transformation.mjs +90 -232
  242. package/selection/utils.js +21 -15
  243. package/selection/utils.mjs +21 -16
  244. package/settings.d.ts +0 -4
  245. package/shortcuts/context.js +2 -20
  246. package/shortcuts/context.mjs +3 -20
  247. package/shortcuts/manager.js +7 -25
  248. package/shortcuts/manager.mjs +7 -26
  249. package/shortcuts/recorder.js +3 -3
  250. package/shortcuts/recorder.mjs +3 -3
  251. package/shortcuts/utils.js +5 -19
  252. package/shortcuts/utils.mjs +4 -18
  253. package/tableView.js +13 -111
  254. package/tableView.mjs +14 -112
  255. package/3rdparty/walkontable/src/selection/border/constants.js +0 -16
  256. package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
  257. package/3rdparty/walkontable/src/selection/constants.js +0 -62
  258. package/3rdparty/walkontable/src/selection/constants.mjs +0 -51
  259. package/3rdparty/walkontable/src/selection/index.js +0 -26
  260. package/3rdparty/walkontable/src/selection/index.mjs +0 -5
  261. package/3rdparty/walkontable/src/selection/manager.js +0 -274
  262. package/3rdparty/walkontable/src/selection/manager.mjs +0 -269
  263. package/3rdparty/walkontable/src/selection/scanner.js +0 -270
  264. package/3rdparty/walkontable/src/selection/scanner.mjs +0 -267
  265. package/3rdparty/walkontable/src/selection/selection.js +0 -101
  266. package/3rdparty/walkontable/src/selection/selection.mjs +0 -96
  267. package/cellTypes/selectType/index.d.ts +0 -1
  268. package/cellTypes/selectType/index.js +0 -6
  269. package/cellTypes/selectType/index.mjs +0 -1
  270. package/cellTypes/selectType/selectType.d.ts +0 -14
  271. package/cellTypes/selectType/selectType.js +0 -13
  272. package/cellTypes/selectType/selectType.mjs +0 -8
  273. package/core/focusCatcher/focusDetector.js +0 -63
  274. package/core/focusCatcher/focusDetector.mjs +0 -59
  275. package/core/focusCatcher/index.js +0 -142
  276. package/core/focusCatcher/index.mjs +0 -138
  277. package/core/index.js +0 -9
  278. package/core/index.mjs +0 -1
  279. package/focusManager.d.ts +0 -12
  280. package/focusManager.js +0 -265
  281. package/focusManager.mjs +0 -261
  282. package/helpers/a11y.js +0 -79
  283. package/helpers/a11y.mjs +0 -38
  284. package/plugins/comments/contextMenuItem/addEditComment.js +0 -41
  285. package/plugins/comments/contextMenuItem/addEditComment.mjs +0 -35
  286. package/plugins/comments/contextMenuItem/readOnlyComment.js +0 -49
  287. package/plugins/comments/contextMenuItem/readOnlyComment.mjs +0 -43
  288. package/plugins/comments/contextMenuItem/removeComment.js +0 -38
  289. package/plugins/comments/contextMenuItem/removeComment.mjs +0 -32
  290. package/plugins/contextMenu/menu/index.js +0 -9
  291. package/plugins/contextMenu/menu/index.mjs +0 -1
  292. package/plugins/contextMenu/menu/navigator.js +0 -152
  293. package/plugins/contextMenu/menu/navigator.mjs +0 -148
  294. package/plugins/contextMenu/menu/positioner.js +0 -213
  295. package/plugins/contextMenu/menu/positioner.mjs +0 -209
  296. package/plugins/contextMenu/menu/utils.js +0 -177
  297. package/plugins/contextMenu/menu/utils.mjs +0 -163
  298. package/plugins/contextMenu/predefinedItems/index.mjs +0 -68
  299. package/renderers/dateRenderer/dateRenderer.d.ts +0 -5
  300. package/renderers/dateRenderer/dateRenderer.js +0 -29
  301. package/renderers/dateRenderer/dateRenderer.mjs +0 -24
  302. package/renderers/dateRenderer/index.d.ts +0 -1
  303. package/renderers/dateRenderer/index.js +0 -6
  304. package/renderers/dateRenderer/index.mjs +0 -1
  305. package/renderers/handsontableRenderer/handsontableRenderer.d.ts +0 -5
  306. package/renderers/handsontableRenderer/handsontableRenderer.js +0 -29
  307. package/renderers/handsontableRenderer/handsontableRenderer.mjs +0 -24
  308. package/renderers/handsontableRenderer/index.d.ts +0 -1
  309. package/renderers/handsontableRenderer/index.js +0 -6
  310. package/renderers/handsontableRenderer/index.mjs +0 -1
  311. package/renderers/selectRenderer/index.d.ts +0 -1
  312. package/renderers/selectRenderer/index.js +0 -6
  313. package/renderers/selectRenderer/index.mjs +0 -1
  314. package/renderers/selectRenderer/selectRenderer.d.ts +0 -5
  315. package/renderers/selectRenderer/selectRenderer.js +0 -27
  316. package/renderers/selectRenderer/selectRenderer.mjs +0 -22
  317. package/selection/highlight/types/areaLayered.js +0 -31
  318. package/selection/highlight/types/areaLayered.mjs +0 -26
  319. package/selection/highlight/types/column.js +0 -27
  320. package/selection/highlight/types/column.mjs +0 -22
  321. package/selection/highlight/types/row.js +0 -27
  322. package/selection/highlight/types/row.mjs +0 -22
  323. package/shortcutContexts/commands/editor/closeAndSave.js +0 -12
  324. package/shortcutContexts/commands/editor/closeAndSave.mjs +0 -8
  325. package/shortcutContexts/commands/editor/closeWithoutSaving.js +0 -12
  326. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +0 -8
  327. package/shortcutContexts/commands/editor/fastOpen.js +0 -16
  328. package/shortcutContexts/commands/editor/fastOpen.mjs +0 -12
  329. package/shortcutContexts/commands/editor/index.js +0 -16
  330. package/shortcutContexts/commands/editor/index.mjs +0 -12
  331. package/shortcutContexts/commands/editor/open.js +0 -27
  332. package/shortcutContexts/commands/editor/open.mjs +0 -23
  333. package/shortcutContexts/commands/emptySelectedCells.js +0 -11
  334. package/shortcutContexts/commands/emptySelectedCells.mjs +0 -7
  335. package/shortcutContexts/commands/extendCellsSelection/down.js +0 -15
  336. package/shortcutContexts/commands/extendCellsSelection/down.mjs +0 -11
  337. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +0 -25
  338. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +0 -21
  339. package/shortcutContexts/commands/extendCellsSelection/index.js +0 -26
  340. package/shortcutContexts/commands/extendCellsSelection/index.mjs +0 -22
  341. package/shortcutContexts/commands/extendCellsSelection/left.js +0 -15
  342. package/shortcutContexts/commands/extendCellsSelection/left.mjs +0 -11
  343. package/shortcutContexts/commands/extendCellsSelection/right.js +0 -15
  344. package/shortcutContexts/commands/extendCellsSelection/right.mjs +0 -11
  345. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +0 -19
  346. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +0 -15
  347. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +0 -29
  348. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +0 -25
  349. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +0 -19
  350. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +0 -15
  351. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +0 -19
  352. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +0 -15
  353. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +0 -29
  354. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +0 -25
  355. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +0 -29
  356. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +0 -25
  357. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +0 -29
  358. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +0 -25
  359. package/shortcutContexts/commands/extendCellsSelection/toRows.js +0 -19
  360. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +0 -15
  361. package/shortcutContexts/commands/extendCellsSelection/up.js +0 -15
  362. package/shortcutContexts/commands/extendCellsSelection/up.mjs +0 -11
  363. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +0 -25
  364. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +0 -21
  365. package/shortcutContexts/commands/index.js +0 -35
  366. package/shortcutContexts/commands/index.mjs +0 -31
  367. package/shortcutContexts/commands/moveCellSelection/down.js +0 -13
  368. package/shortcutContexts/commands/moveCellSelection/down.mjs +0 -9
  369. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +0 -33
  370. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +0 -29
  371. package/shortcutContexts/commands/moveCellSelection/index.js +0 -28
  372. package/shortcutContexts/commands/moveCellSelection/index.mjs +0 -24
  373. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +0 -12
  374. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +0 -8
  375. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +0 -12
  376. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +0 -8
  377. package/shortcutContexts/commands/moveCellSelection/left.js +0 -10
  378. package/shortcutContexts/commands/moveCellSelection/left.mjs +0 -6
  379. package/shortcutContexts/commands/moveCellSelection/right.js +0 -10
  380. package/shortcutContexts/commands/moveCellSelection/right.mjs +0 -6
  381. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +0 -17
  382. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +0 -13
  383. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +0 -18
  384. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +0 -14
  385. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +0 -14
  386. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +0 -10
  387. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +0 -17
  388. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +0 -13
  389. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +0 -19
  390. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +0 -15
  391. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +0 -21
  392. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +0 -17
  393. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +0 -17
  394. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +0 -13
  395. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +0 -19
  396. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +0 -15
  397. package/shortcutContexts/commands/moveCellSelection/up.js +0 -13
  398. package/shortcutContexts/commands/moveCellSelection/up.mjs +0 -9
  399. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +0 -33
  400. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +0 -29
  401. package/shortcutContexts/commands/populateSelectedCellsData.js +0 -29
  402. package/shortcutContexts/commands/populateSelectedCellsData.mjs +0 -25
  403. package/shortcutContexts/commands/scrollToFocusedCell.js +0 -35
  404. package/shortcutContexts/commands/scrollToFocusedCell.mjs +0 -31
  405. package/shortcutContexts/commands/selectAll.js +0 -12
  406. package/shortcutContexts/commands/selectAll.mjs +0 -8
  407. package/shortcutContexts/constants.js +0 -13
  408. package/shortcutContexts/constants.mjs +0 -8
  409. package/shortcutContexts/editor.js +0 -25
  410. package/shortcutContexts/editor.mjs +0 -21
  411. package/shortcutContexts/grid.js +0 -163
  412. package/shortcutContexts/grid.mjs +0 -159
  413. package/shortcutContexts/index.js +0 -24
  414. package/shortcutContexts/index.mjs +0 -11
@@ -1,298 +1,156 @@
1
- import "core-js/modules/es.error.cause.js";
2
- function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
3
- function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
4
- function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
5
- function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
6
- function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
7
- function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
8
- function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
9
- function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
10
- function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
11
1
  import { mixin } from "../helpers/object.mjs";
12
2
  import localHooks from "./../mixins/localHooks.mjs";
13
3
  /**
14
4
  * The Transformation class implements algorithms for transforming coordinates based on current settings
15
- * passed to the Handsontable. The class performs the calculations based on the renderable indexes.
5
+ * passed to the Handsontable.
16
6
  *
17
7
  * Transformation is always applied relative to the current selection.
18
8
  *
19
- * The class operates on a table size defined by the renderable indexes. If the `navigableHeaders`
20
- * option is enabled, the table size is increased by the number of row and/or column headers.
21
- * Because the headers are treated as cells as part of the table size (indexes always go from 0 to N),
22
- * the algorithm can be written as simply as possible (without new if's that distinguish the headers
23
- * logic).
24
- *
25
9
  * @class Transformation
26
10
  * @util
27
11
  */
28
- var _range = /*#__PURE__*/new WeakMap();
29
- var _options = /*#__PURE__*/new WeakMap();
30
- var _offset = /*#__PURE__*/new WeakMap();
31
- var _setOffsetSize = /*#__PURE__*/new WeakSet();
32
- var _clampCoords = /*#__PURE__*/new WeakSet();
33
- var _getTableSize = /*#__PURE__*/new WeakSet();
34
- var _visualToZeroBasedCoords = /*#__PURE__*/new WeakSet();
35
- var _zeroBasedToVisualCoords = /*#__PURE__*/new WeakSet();
36
12
  class Transformation {
37
13
  constructor(range, options) {
38
- /**
39
- * Translates the zero-based coordinates to visual ones.
40
- *
41
- * @param {CellCoords} zeroBasedCoords The coordinates to process.
42
- * @returns {CellCoords}
43
- */
44
- _classPrivateMethodInitSpec(this, _zeroBasedToVisualCoords);
45
- /**
46
- * Translates the visual coordinates to zero-based ones.
47
- *
48
- * @param {CellCoords} visualCoords The visual coords to process.
49
- * @returns {{x: number, y: number}}
50
- */
51
- _classPrivateMethodInitSpec(this, _visualToZeroBasedCoords);
52
- /**
53
- * Gets the table size in number of rows with headers as "height" and number of columns with
54
- * headers as "width".
55
- *
56
- * @returns {{width: number, height: number}}
57
- */
58
- _classPrivateMethodInitSpec(this, _getTableSize);
59
- /**
60
- * Clamps the coords to make sure they points to the cell (or header) in the table range.
61
- *
62
- * @param {CellCoords} zeroBasedCoords The coords object to clamp.
63
- * @returns {{rowDir: 1|0|-1, colDir: 1|0|-1}}
64
- */
65
- _classPrivateMethodInitSpec(this, _clampCoords);
66
- /**
67
- * Sets the additional offset in table size that may occur when the `navigableHeaders` option
68
- * is enabled.
69
- *
70
- * @param {{x: number, y: number}} offset Offset as x and y properties.
71
- */
72
- _classPrivateMethodInitSpec(this, _setOffsetSize);
73
14
  /**
74
15
  * Instance of the SelectionRange, holder for visual coordinates applied to the table.
75
16
  *
76
17
  * @type {SelectionRange}
77
18
  */
78
- _classPrivateFieldInitSpec(this, _range, {
79
- writable: true,
80
- value: void 0
81
- });
19
+ this.range = range;
82
20
  /**
83
21
  * Additional options which define the state of the settings which can infer transformation and
84
22
  * give the possibility to translate indexes.
85
23
  *
86
24
  * @type {object}
87
25
  */
88
- _classPrivateFieldInitSpec(this, _options, {
89
- writable: true,
90
- value: void 0
91
- });
92
- /**
93
- * Increases the table size by applying the offsets. The option is used by the `navigableHeaders`
94
- * option.
95
- *
96
- * @type {{ x: number, y: number }}
97
- */
98
- _classPrivateFieldInitSpec(this, _offset, {
99
- writable: true,
100
- value: {
101
- x: 0,
102
- y: 0
103
- }
104
- });
105
- _classPrivateFieldSet(this, _range, range);
106
- _classPrivateFieldSet(this, _options, options);
26
+ this.options = options;
107
27
  }
108
28
 
109
29
  /**
110
- * Selects cell relative to the current cell (if possible).
30
+ * Selects cell relative to current cell (if possible).
111
31
  *
112
32
  * @param {number} rowDelta Rows number to move, value can be passed as negative number.
113
33
  * @param {number} colDelta Columns number to move, value can be passed as negative number.
114
- * @param {boolean} [createMissingRecords=false] If `true` the new rows/columns will be created if necessary. Otherwise, row/column will
34
+ * @param {boolean} [force=false] If `true` the new rows/columns will be created if necessary. Otherwise, row/column will
115
35
  * be created according to `minSpareRows/minSpareCols` settings of Handsontable.
116
36
  * @returns {CellCoords} Visual coordinates after transformation.
117
37
  */
118
38
  transformStart(rowDelta, colDelta) {
119
- let createMissingRecords = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
120
- _classPrivateMethodGet(this, _setOffsetSize, _setOffsetSize2).call(this, {
121
- x: _classPrivateFieldGet(this, _options).navigableHeaders() ? _classPrivateFieldGet(this, _options).countRowHeaders() : 0,
122
- y: _classPrivateFieldGet(this, _options).navigableHeaders() ? _classPrivateFieldGet(this, _options).countColHeaders() : 0
123
- });
124
- const delta = _classPrivateFieldGet(this, _options).createCellCoords(rowDelta, colDelta);
125
- let visualCoords = _classPrivateFieldGet(this, _range).current().highlight;
126
- const highlightRenderableCoords = _classPrivateFieldGet(this, _options).visualToRenderableCoords(visualCoords);
39
+ let force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
40
+ const delta = this.options.createCellCoords(rowDelta, colDelta);
41
+ const highlightCoords = this.range.current().highlight;
42
+ const {
43
+ row: renderableRow,
44
+ col: renderableColumn
45
+ } = this.options.visualToRenderableCoords(highlightCoords);
46
+ let visualCoords = highlightCoords;
127
47
  let rowTransformDir = 0;
128
48
  let colTransformDir = 0;
129
49
  this.runLocalHooks('beforeTransformStart', delta);
130
- if (highlightRenderableCoords.row !== null && highlightRenderableCoords.col !== null) {
131
- const {
132
- width,
133
- height
134
- } = _classPrivateMethodGet(this, _getTableSize, _getTableSize2).call(this);
135
- const {
136
- x,
137
- y
138
- } = _classPrivateMethodGet(this, _visualToZeroBasedCoords, _visualToZeroBasedCoords2).call(this, visualCoords);
139
- const fixedRowsBottom = _classPrivateFieldGet(this, _options).fixedRowsBottom();
140
- const minSpareRows = _classPrivateFieldGet(this, _options).minSpareRows();
141
- const minSpareCols = _classPrivateFieldGet(this, _options).minSpareCols();
142
- const autoWrapRow = _classPrivateFieldGet(this, _options).autoWrapRow();
143
- const autoWrapCol = _classPrivateFieldGet(this, _options).autoWrapCol();
144
- const rawCoords = {
145
- row: y + delta.row,
146
- col: x + delta.col
147
- };
148
- if (rawCoords.row >= height) {
149
- if (createMissingRecords && minSpareRows > 0 && fixedRowsBottom === 0) {
150
- this.runLocalHooks('insertRowRequire', _classPrivateFieldGet(this, _options).countRenderableRows());
50
+ if (renderableRow !== null && renderableColumn !== null) {
51
+ let totalRows = this.options.countRows();
52
+ let totalCols = this.options.countCols();
53
+ const fixedRowsBottom = this.options.fixedRowsBottom();
54
+ const minSpareRows = this.options.minSpareRows();
55
+ const minSpareCols = this.options.minSpareCols();
56
+ const autoWrapRow = this.options.autoWrapRow();
57
+ const autoWrapCol = this.options.autoWrapCol();
58
+ if (renderableRow + rowDelta > totalRows - 1) {
59
+ if (force && minSpareRows > 0 && !(fixedRowsBottom && renderableRow >= totalRows - fixedRowsBottom - 1)) {
60
+ this.runLocalHooks('insertRowRequire', totalRows);
61
+ totalRows = this.options.countRows();
151
62
  } else if (autoWrapCol) {
152
- const nextColumn = rawCoords.col + 1;
153
- rawCoords.row = rawCoords.row - height;
154
- rawCoords.col = nextColumn >= width ? nextColumn - width : nextColumn;
155
- }
156
- } else if (rawCoords.row < 0) {
157
- if (autoWrapCol) {
158
- const previousColumn = rawCoords.col - 1;
159
- rawCoords.row = height + rawCoords.row;
160
- rawCoords.col = previousColumn < 0 ? width + previousColumn : previousColumn;
63
+ delta.row = 1 - totalRows;
64
+ delta.col = renderableColumn + delta.col === totalCols - 1 ? 1 - totalCols : 1;
161
65
  }
66
+ } else if (autoWrapCol && renderableRow + delta.row < 0 && renderableColumn + delta.col >= 0) {
67
+ delta.row = totalRows - 1;
68
+ delta.col = renderableColumn + delta.col === 0 ? totalCols - 1 : -1;
162
69
  }
163
- if (rawCoords.col >= width) {
164
- if (createMissingRecords && minSpareCols > 0) {
165
- this.runLocalHooks('insertColRequire', _classPrivateFieldGet(this, _options).countRenderableColumns());
70
+ if (renderableColumn + delta.col > totalCols - 1) {
71
+ if (force && minSpareCols > 0) {
72
+ this.runLocalHooks('insertColRequire', totalCols);
73
+ totalCols = this.options.countCols();
166
74
  } else if (autoWrapRow) {
167
- const nextRow = rawCoords.row + 1;
168
- rawCoords.row = nextRow >= height ? nextRow - height : nextRow;
169
- rawCoords.col = rawCoords.col - width;
170
- }
171
- } else if (rawCoords.col < 0) {
172
- if (autoWrapRow) {
173
- const previousRow = rawCoords.row - 1;
174
- rawCoords.row = previousRow < 0 ? height + previousRow : previousRow;
175
- rawCoords.col = width + rawCoords.col;
75
+ delta.row = renderableRow + delta.row === totalRows - 1 ? 1 - totalRows : 1;
76
+ delta.col = 1 - totalCols;
176
77
  }
78
+ } else if (autoWrapRow && renderableColumn + delta.col < 0 && renderableRow + delta.row >= 0) {
79
+ delta.row = renderableRow + delta.row === 0 ? totalRows - 1 : -1;
80
+ delta.col = totalCols - 1;
177
81
  }
178
- const coords = _classPrivateFieldGet(this, _options).createCellCoords(rawCoords.row, rawCoords.col);
179
- const {
180
- rowDir,
181
- colDir
182
- } = _classPrivateMethodGet(this, _clampCoords, _clampCoords2).call(this, coords);
183
- rowTransformDir = rowDir;
184
- colTransformDir = colDir;
185
- visualCoords = _classPrivateMethodGet(this, _zeroBasedToVisualCoords, _zeroBasedToVisualCoords2).call(this, coords);
82
+ const coords = this.options.createCellCoords(renderableRow + delta.row, renderableColumn + delta.col);
83
+ rowTransformDir = 0;
84
+ colTransformDir = 0;
85
+ if (coords.row < 0) {
86
+ rowTransformDir = -1;
87
+ coords.row = 0;
88
+ } else if (coords.row > 0 && coords.row >= totalRows) {
89
+ rowTransformDir = 1;
90
+ coords.row = totalRows - 1;
91
+ }
92
+ if (coords.col < 0) {
93
+ colTransformDir = -1;
94
+ coords.col = 0;
95
+ } else if (coords.col > 0 && coords.col >= totalCols) {
96
+ colTransformDir = 1;
97
+ coords.col = totalCols - 1;
98
+ }
99
+ visualCoords = this.options.renderableToVisualCoords(coords);
186
100
  }
187
101
  this.runLocalHooks('afterTransformStart', visualCoords, rowTransformDir, colTransformDir);
188
102
  return visualCoords;
189
103
  }
190
104
 
191
105
  /**
192
- * Sets selection end cell relative to the current selection end cell (if possible).
106
+ * Sets selection end cell relative to current selection end cell (if possible).
193
107
  *
194
108
  * @param {number} rowDelta Rows number to move, value can be passed as negative number.
195
109
  * @param {number} colDelta Columns number to move, value can be passed as negative number.
196
110
  * @returns {CellCoords} Visual coordinates after transformation.
197
111
  */
198
112
  transformEnd(rowDelta, colDelta) {
199
- _classPrivateMethodGet(this, _setOffsetSize, _setOffsetSize2).call(this, {
200
- x: _classPrivateFieldGet(this, _options).navigableHeaders() ? _classPrivateFieldGet(this, _options).countRowHeaders() : 0,
201
- y: _classPrivateFieldGet(this, _options).navigableHeaders() ? _classPrivateFieldGet(this, _options).countColHeaders() : 0
202
- });
203
- const delta = _classPrivateFieldGet(this, _options).createCellCoords(rowDelta, colDelta);
204
- const cellRange = _classPrivateFieldGet(this, _range).current();
205
- const highlightRenderableCoords = _classPrivateFieldGet(this, _options).visualToRenderableCoords(cellRange.highlight);
206
- const visualCoords = cellRange.to.clone();
113
+ const delta = this.options.createCellCoords(rowDelta, colDelta);
114
+ const cellRange = this.range.current();
115
+ let visualCoords = cellRange.to;
207
116
  let rowTransformDir = 0;
208
117
  let colTransformDir = 0;
209
118
  this.runLocalHooks('beforeTransformEnd', delta);
210
- if (highlightRenderableCoords.row !== null && highlightRenderableCoords.col !== null) {
211
- const {
212
- x,
213
- y
214
- } = _classPrivateMethodGet(this, _visualToZeroBasedCoords, _visualToZeroBasedCoords2).call(this, cellRange.to);
215
- const rawCoords = {
216
- row: y + delta.row,
217
- col: x + delta.col
218
- };
219
- const coords = _classPrivateFieldGet(this, _options).createCellCoords(rawCoords.row, rawCoords.col);
119
+ const {
120
+ row: rowHighlight,
121
+ col: colHighlight
122
+ } = this.options.visualToRenderableCoords(cellRange.highlight);
123
+
124
+ // We have highlight (start point for the selection).
125
+ if (rowHighlight !== null && colHighlight !== null) {
126
+ const totalRows = this.options.countRows();
127
+ const totalCols = this.options.countCols();
220
128
  const {
221
- rowDir,
222
- colDir
223
- } = _classPrivateMethodGet(this, _clampCoords, _clampCoords2).call(this, coords);
224
- rowTransformDir = rowDir;
225
- colTransformDir = colDir;
226
- const newVisualCoords = _classPrivateMethodGet(this, _zeroBasedToVisualCoords, _zeroBasedToVisualCoords2).call(this, coords);
227
- if (delta.row === 0 && delta.col !== 0) {
228
- visualCoords.col = newVisualCoords.col;
229
- } else if (delta.row !== 0 && delta.col === 0) {
230
- visualCoords.row = newVisualCoords.row;
231
- } else {
232
- visualCoords.row = newVisualCoords.row;
233
- visualCoords.col = newVisualCoords.col;
129
+ row: rowTo,
130
+ col: colTo
131
+ } = this.options.visualToRenderableCoords(cellRange.to);
132
+ const coords = this.options.createCellCoords(rowTo + delta.row, colTo + delta.col);
133
+ rowTransformDir = 0;
134
+ colTransformDir = 0;
135
+ if (coords.row < 0) {
136
+ rowTransformDir = -1;
137
+ coords.row = 0;
138
+ } else if (coords.row > 0 && coords.row >= totalRows) {
139
+ rowTransformDir = 1;
140
+ coords.row = totalRows - 1;
141
+ }
142
+ if (coords.col < 0) {
143
+ colTransformDir = -1;
144
+ coords.col = 0;
145
+ } else if (coords.col > 0 && coords.col >= totalCols) {
146
+ colTransformDir = 1;
147
+ coords.col = totalCols - 1;
234
148
  }
149
+ visualCoords = this.options.renderableToVisualCoords(coords);
235
150
  }
236
151
  this.runLocalHooks('afterTransformEnd', visualCoords, rowTransformDir, colTransformDir);
237
152
  return visualCoords;
238
153
  }
239
154
  }
240
- function _setOffsetSize2(_ref) {
241
- let {
242
- x,
243
- y
244
- } = _ref;
245
- _classPrivateFieldSet(this, _offset, {
246
- x,
247
- y
248
- });
249
- }
250
- function _clampCoords2(zeroBasedCoords) {
251
- const {
252
- width,
253
- height
254
- } = _classPrivateMethodGet(this, _getTableSize, _getTableSize2).call(this);
255
- let rowDir = 0;
256
- let colDir = 0;
257
- if (zeroBasedCoords.row < 0) {
258
- rowDir = -1;
259
- zeroBasedCoords.row = 0;
260
- } else if (zeroBasedCoords.row > 0 && zeroBasedCoords.row >= height) {
261
- rowDir = 1;
262
- zeroBasedCoords.row = height - 1;
263
- }
264
- if (zeroBasedCoords.col < 0) {
265
- colDir = -1;
266
- zeroBasedCoords.col = 0;
267
- } else if (zeroBasedCoords.col > 0 && zeroBasedCoords.col >= width) {
268
- colDir = 1;
269
- zeroBasedCoords.col = width - 1;
270
- }
271
- return {
272
- rowDir,
273
- colDir
274
- };
275
- }
276
- function _getTableSize2() {
277
- return {
278
- width: _classPrivateFieldGet(this, _offset).x + _classPrivateFieldGet(this, _options).countRenderableColumns(),
279
- height: _classPrivateFieldGet(this, _offset).y + _classPrivateFieldGet(this, _options).countRenderableRows()
280
- };
281
- }
282
- function _visualToZeroBasedCoords2(visualCoords) {
283
- const {
284
- row,
285
- col
286
- } = _classPrivateFieldGet(this, _options).visualToRenderableCoords(visualCoords);
287
- return {
288
- x: _classPrivateFieldGet(this, _offset).x + col,
289
- y: _classPrivateFieldGet(this, _offset).y + row
290
- };
291
- }
292
- function _zeroBasedToVisualCoords2(zeroBasedCoords) {
293
- zeroBasedCoords.col = zeroBasedCoords.col - _classPrivateFieldGet(this, _offset).x;
294
- zeroBasedCoords.row = zeroBasedCoords.row - _classPrivateFieldGet(this, _offset).y;
295
- return _classPrivateFieldGet(this, _options).renderableToVisualCoords(zeroBasedCoords);
296
- }
297
155
  mixin(Transformation, localHooks);
298
156
  export default Transformation;
@@ -2,6 +2,7 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.detectSelectionType = detectSelectionType;
5
+ exports.isValidCoord = isValidCoord;
5
6
  exports.normalizeSelectionFactory = normalizeSelectionFactory;
6
7
  exports.transformSelectionToColumnDistance = transformSelectionToColumnDistance;
7
8
  exports.transformSelectionToRowDistance = transformSelectionToRowDistance;
@@ -110,9 +111,7 @@ function normalizeSelectionFactory(type) {
110
111
  rowEnd = Math.max(origRowStart, origRowEnd);
111
112
  columnEnd = Math.max(origColumnStart, origColumnEnd);
112
113
  }
113
- const from = new _src.CellCoords(rowStart, columnStart);
114
- const to = new _src.CellCoords(rowEnd, columnEnd);
115
- return new _src.CellRange(from, from, to);
114
+ return [rowStart, columnStart, rowEnd, columnEnd];
116
115
  };
117
116
  }
118
117
 
@@ -138,12 +137,9 @@ function transformSelectionToColumnDistance(selectionRanges) {
138
137
 
139
138
  // Iterate through all ranges and collect all column indexes which are not saved yet.
140
139
  (0, _array.arrayEach)(selectionRanges, selection => {
141
- const {
142
- from,
143
- to
144
- } = selectionSchemaNormalizer(selection);
145
- const columnNonHeaderStart = Math.max(from.col, 0);
146
- const amount = to.col - columnNonHeaderStart + 1;
140
+ const [, columnStart,, columnEnd] = selectionSchemaNormalizer(selection);
141
+ const columnNonHeaderStart = Math.max(columnStart, 0);
142
+ const amount = columnEnd - columnNonHeaderStart + 1;
147
143
  (0, _array.arrayEach)(Array.from(new Array(amount), (_, i) => columnNonHeaderStart + i), index => {
148
144
  if (!unorderedIndexes.has(index)) {
149
145
  unorderedIndexes.add(index);
@@ -186,12 +182,9 @@ function transformSelectionToRowDistance(selectionRanges) {
186
182
 
187
183
  // Iterate through all ranges and collect all column indexes which are not saved yet.
188
184
  (0, _array.arrayEach)(selectionRanges, selection => {
189
- const {
190
- from,
191
- to
192
- } = selectionSchemaNormalizer(selection);
193
- const rowNonHeaderStart = Math.max(from.row, 0);
194
- const amount = to.row - rowNonHeaderStart + 1;
185
+ const [rowStart,, rowEnd] = selectionSchemaNormalizer(selection);
186
+ const rowNonHeaderStart = Math.max(rowStart, 0);
187
+ const amount = rowEnd - rowNonHeaderStart + 1;
195
188
  (0, _array.arrayEach)(Array.from(new Array(amount), (_, i) => rowNonHeaderStart + i), index => {
196
189
  if (!unorderedIndexes.has(index)) {
197
190
  unorderedIndexes.add(index);
@@ -210,4 +203,17 @@ function transformSelectionToRowDistance(selectionRanges) {
210
203
  return acc;
211
204
  }, []);
212
205
  return normalizedRowRanges;
206
+ }
207
+
208
+ /**
209
+ * Check if passed value can be treated as valid cell coordinate. The second argument is
210
+ * used to check if the value doesn't exceed the defined max table rows/columns count.
211
+ *
212
+ * @param {number} coord The coordinate to validate (row index or column index).
213
+ * @param {number} maxTableItemsCount The value that declares the maximum coordinate that is still validatable.
214
+ * @returns {boolean}
215
+ */
216
+ function isValidCoord(coord) {
217
+ let maxTableItemsCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Infinity;
218
+ return typeof coord === 'number' && coord >= 0 && coord < maxTableItemsCount;
213
219
  }
@@ -1,6 +1,6 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
2
  import "core-js/modules/es.array.push.js";
3
- import { CellRange, CellCoords } from "./../3rdparty/walkontable/src/index.mjs";
3
+ import { CellRange } from "./../3rdparty/walkontable/src/index.mjs";
4
4
  import { arrayEach, arrayReduce } from "./../helpers/array.mjs";
5
5
  import { isUndefined } from "./../helpers/mixed.mjs";
6
6
  export const SELECTION_TYPE_UNRECOGNIZED = 0;
@@ -98,9 +98,7 @@ export function normalizeSelectionFactory(type) {
98
98
  rowEnd = Math.max(origRowStart, origRowEnd);
99
99
  columnEnd = Math.max(origColumnStart, origColumnEnd);
100
100
  }
101
- const from = new CellCoords(rowStart, columnStart);
102
- const to = new CellCoords(rowEnd, columnEnd);
103
- return new CellRange(from, from, to);
101
+ return [rowStart, columnStart, rowEnd, columnEnd];
104
102
  };
105
103
  }
106
104
 
@@ -126,12 +124,9 @@ export function transformSelectionToColumnDistance(selectionRanges) {
126
124
 
127
125
  // Iterate through all ranges and collect all column indexes which are not saved yet.
128
126
  arrayEach(selectionRanges, selection => {
129
- const {
130
- from,
131
- to
132
- } = selectionSchemaNormalizer(selection);
133
- const columnNonHeaderStart = Math.max(from.col, 0);
134
- const amount = to.col - columnNonHeaderStart + 1;
127
+ const [, columnStart,, columnEnd] = selectionSchemaNormalizer(selection);
128
+ const columnNonHeaderStart = Math.max(columnStart, 0);
129
+ const amount = columnEnd - columnNonHeaderStart + 1;
135
130
  arrayEach(Array.from(new Array(amount), (_, i) => columnNonHeaderStart + i), index => {
136
131
  if (!unorderedIndexes.has(index)) {
137
132
  unorderedIndexes.add(index);
@@ -174,12 +169,9 @@ export function transformSelectionToRowDistance(selectionRanges) {
174
169
 
175
170
  // Iterate through all ranges and collect all column indexes which are not saved yet.
176
171
  arrayEach(selectionRanges, selection => {
177
- const {
178
- from,
179
- to
180
- } = selectionSchemaNormalizer(selection);
181
- const rowNonHeaderStart = Math.max(from.row, 0);
182
- const amount = to.row - rowNonHeaderStart + 1;
172
+ const [rowStart,, rowEnd] = selectionSchemaNormalizer(selection);
173
+ const rowNonHeaderStart = Math.max(rowStart, 0);
174
+ const amount = rowEnd - rowNonHeaderStart + 1;
183
175
  arrayEach(Array.from(new Array(amount), (_, i) => rowNonHeaderStart + i), index => {
184
176
  if (!unorderedIndexes.has(index)) {
185
177
  unorderedIndexes.add(index);
@@ -198,4 +190,17 @@ export function transformSelectionToRowDistance(selectionRanges) {
198
190
  return acc;
199
191
  }, []);
200
192
  return normalizedRowRanges;
193
+ }
194
+
195
+ /**
196
+ * Check if passed value can be treated as valid cell coordinate. The second argument is
197
+ * used to check if the value doesn't exceed the defined max table rows/columns count.
198
+ *
199
+ * @param {number} coord The coordinate to validate (row index or column index).
200
+ * @param {number} maxTableItemsCount The value that declares the maximum coordinate that is still validatable.
201
+ * @returns {boolean}
202
+ */
203
+ export function isValidCoord(coord) {
204
+ let maxTableItemsCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Infinity;
205
+ return typeof coord === 'number' && coord >= 0 && coord < maxTableItemsCount;
201
206
  }
package/settings.d.ts CHANGED
@@ -93,7 +93,6 @@ export interface GridSettings extends Events {
93
93
  allowInvalid?: boolean;
94
94
  allowRemoveColumn?: boolean;
95
95
  allowRemoveRow?: boolean;
96
- ariaTags?: boolean;
97
96
  autoColumnSize?: AutoColumnSizeSettings;
98
97
  autoRowSize?: AutoRowSizeSettings;
99
98
  autoWrapCol?: boolean;
@@ -125,7 +124,6 @@ export interface GridSettings extends Events {
125
124
  dateFormat?: string;
126
125
  datePickerConfig?: PikadayOptions;
127
126
  defaultDate?: string;
128
- disableTabNavigation?: boolean;
129
127
  disableVisualSelection?: boolean | 'current' | 'area' | 'header' | Array<'current' | 'area' | 'header'>;
130
128
  dragToScroll?: boolean;
131
129
  dropdownMenu?: DropdownMenuSettings;
@@ -146,7 +144,6 @@ export interface GridSettings extends Events {
146
144
  hiddenColumns?: HiddenColumnsSettings;
147
145
  hiddenRows?: HiddenRowsSettings;
148
146
  invalidCellClassName?: string;
149
- imeFastEdit?: boolean;
150
147
  isEmptyCol?: (this: Core, col: number) => boolean;
151
148
  isEmptyRow?: (this: Core, row: number) => boolean;
152
149
  label?: LabelOptions;
@@ -167,7 +164,6 @@ export interface GridSettings extends Events {
167
164
  minSpareCols?: number;
168
165
  minSpareRows?: number;
169
166
  multiColumnSorting?: MultiColumnSortingSettings;
170
- navigableHeaders?: boolean;
171
167
  nestedHeaders?: NestedHeadersSettings;
172
168
  nestedRows?: boolean;
173
169
  noWordWrapClassName?: string;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.isContextObject = isContextObject;
5
4
  require("core-js/modules/es.error.cause.js");
6
5
  require("core-js/modules/es.array.push.js");
7
6
  var _uniqueMap = require("../utils/dataStructures/uniqueMap");
@@ -10,18 +9,6 @@ var _mixed = require("../helpers/mixed");
10
9
  var _function = require("../helpers/function");
11
10
  var _object = require("../helpers/object");
12
11
  var _templateLiteralTag = require("../helpers/templateLiteralTag");
13
- const __kindOf = Symbol('shortcut-context');
14
-
15
- /**
16
- * Checks if the provided object is a context object.
17
- *
18
- * @param {*} objectToCheck An object to check.
19
- * @returns {boolean}
20
- */
21
- function isContextObject(objectToCheck) {
22
- return (0, _object.isObject)(objectToCheck) && objectToCheck.__kindOf === __kindOf;
23
- }
24
-
25
12
  /* eslint-disable jsdoc/require-description-complete-sentence */
26
13
  /**
27
14
  * 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).
@@ -55,7 +42,7 @@ const createContext = name => {
55
42
  * @param {object} [options.position='after'] The order in which the shortcut's action runs:
56
43
  * `'before'` or `'after'` the `relativeToGroup` group of actions
57
44
  * @param {object} [options.relativeToGroup] The name of a group of actions, used to determine an action's `position`
58
- * @param {object} [options.forwardToContext] The context object where the event will be forwarded to.
45
+ *
59
46
  */
60
47
  const addShortcut = function () {
61
48
  let {
@@ -67,8 +54,7 @@ const createContext = name => {
67
54
  preventDefault = true,
68
55
  stopPropagation = false,
69
56
  relativeToGroup,
70
- position,
71
- forwardToContext
57
+ position
72
58
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
73
59
  if ((0, _mixed.isUndefined)(group)) {
74
60
  throw new Error('You need to define the shortcut\'s group.');
@@ -92,9 +78,6 @@ const createContext = name => {
92
78
  if ((0, _mixed.isDefined)(relativeToGroup)) {
93
79
  [newShortcut.relativeToGroup, newShortcut.position] = [relativeToGroup, position];
94
80
  }
95
- if (isContextObject(forwardToContext)) {
96
- newShortcut.forwardToContext = forwardToContext;
97
- }
98
81
  keys.forEach(keyCombination => {
99
82
  const normalizedKeys = (0, _utils.normalizeKeys)(keyCombination);
100
83
  const hasKeyCombination = SHORTCUTS.hasItem(normalizedKeys);
@@ -206,7 +189,6 @@ const createContext = name => {
206
189
  return SHORTCUTS.hasItem(normalizedKeys);
207
190
  };
208
191
  return {
209
- __kindOf,
210
192
  addShortcut,
211
193
  addShortcuts,
212
194
  getShortcuts,