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,152 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- require("core-js/modules/es.error.cause.js");
5
- var _utils = require("./utils");
6
- function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
7
- function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
8
- function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
9
- function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
10
- function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
11
- function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
12
- function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
13
- function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
14
- 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; } }
15
- /**
16
- * Helper class that supports navigating throughout the menu and submenus.
17
- *
18
- * @private
19
- * @class Navigator
20
- */
21
- var _hotMenu = /*#__PURE__*/new WeakMap();
22
- var _current = /*#__PURE__*/new WeakMap();
23
- var _prev = /*#__PURE__*/new WeakMap();
24
- var _visited = /*#__PURE__*/new WeakMap();
25
- var _updateMenuSelection = /*#__PURE__*/new WeakSet();
26
- class Navigator {
27
- constructor() {
28
- /**
29
- * Selects the menu based on the internal state of the class.
30
- */
31
- _classPrivateMethodInitSpec(this, _updateMenuSelection);
32
- /**
33
- * The instance of the Handsontable as menu.
34
- *
35
- * @type {Handsontable}
36
- */
37
- _classPrivateFieldInitSpec(this, _hotMenu, {
38
- writable: true,
39
- value: void 0
40
- });
41
- /**
42
- * The index of the current selected menu item.
43
- *
44
- * @type {number}
45
- */
46
- _classPrivateFieldInitSpec(this, _current, {
47
- writable: true,
48
- value: -1
49
- });
50
- /**
51
- * The index of the previously selected menu item.
52
- *
53
- * @type {number}
54
- */
55
- _classPrivateFieldInitSpec(this, _prev, {
56
- writable: true,
57
- value: -1
58
- });
59
- /**
60
- * The collection of the already visited menu item indexes. The collection allows for preventing
61
- * infinite loops in cases when all menu items are disabled, or there is only one item available
62
- * and the navigation is triggered.
63
- *
64
- * @type {Set<number>}
65
- */
66
- _classPrivateFieldInitSpec(this, _visited, {
67
- writable: true,
68
- value: new Set()
69
- });
70
- }
71
- /**
72
- * Sets the menu Handsontable instance.
73
- *
74
- * @param {Handsontable} hotMenu The menu Handsontable instance.
75
- */
76
- setMenu(hotMenu) {
77
- _classPrivateFieldSet(this, _hotMenu, hotMenu);
78
- }
79
-
80
- /**
81
- * Selects the first menu item in the menu.
82
- */
83
- selectFirst() {
84
- _classPrivateFieldGet(this, _visited).clear();
85
- _classPrivateFieldSet(this, _current, 0);
86
- _classPrivateFieldSet(this, _prev, _classPrivateFieldGet(this, _current) - 1);
87
- _classPrivateMethodGet(this, _updateMenuSelection, _updateMenuSelection2).call(this);
88
- }
89
-
90
- /**
91
- * Selects the last menu item in the menu.
92
- */
93
- selectLast() {
94
- _classPrivateFieldGet(this, _visited).clear();
95
- _classPrivateFieldSet(this, _current, _classPrivateFieldGet(this, _hotMenu).countRows() - 1);
96
- _classPrivateFieldSet(this, _prev, _classPrivateFieldGet(this, _current) + 1);
97
- _classPrivateMethodGet(this, _updateMenuSelection, _updateMenuSelection2).call(this);
98
- }
99
-
100
- /**
101
- * Selects the next menu item in the menu. The navigator tries to select the closes non-disabled menu
102
- * item. When all next items are disabled the first (or next non-disabled) menu item is selected.
103
- */
104
- selectNext() {
105
- _classPrivateFieldGet(this, _visited).clear();
106
- _classPrivateFieldSet(this, _current, _classPrivateFieldGet(this, _current) + 1);
107
- _classPrivateMethodGet(this, _updateMenuSelection, _updateMenuSelection2).call(this);
108
- }
109
-
110
- /**
111
- * Selects the previous menu item in the menu. The navigator tries to select the closes non-disabled menu
112
- * item. When all previous items are disabled the last (or previous non-disabled) menu item is selected.
113
- */
114
- selectPrev() {
115
- _classPrivateFieldGet(this, _visited).clear();
116
- _classPrivateFieldSet(this, _current, _classPrivateFieldGet(this, _current) - 1);
117
- _classPrivateMethodGet(this, _updateMenuSelection, _updateMenuSelection2).call(this);
118
- }
119
-
120
- /**
121
- * Clears the internal state to the initial values.
122
- */
123
- clear() {
124
- _classPrivateFieldGet(this, _visited).clear();
125
- _classPrivateFieldSet(this, _prev, -1);
126
- _classPrivateFieldSet(this, _current, -1);
127
- }
128
- }
129
- exports.Navigator = Navigator;
130
- function _updateMenuSelection2() {
131
- const maxItems = _classPrivateFieldGet(this, _hotMenu).countRows() - 1;
132
- if (_classPrivateFieldGet(this, _current) < 0) {
133
- _classPrivateFieldSet(this, _current, maxItems);
134
- _classPrivateFieldSet(this, _prev, maxItems);
135
- }
136
- if (_classPrivateFieldGet(this, _current) > maxItems) {
137
- _classPrivateFieldSet(this, _current, 0);
138
- _classPrivateFieldSet(this, _prev, -1);
139
- }
140
- if (_classPrivateFieldGet(this, _visited).has(_classPrivateFieldGet(this, _current))) {
141
- return;
142
- }
143
- const cell = _classPrivateFieldGet(this, _hotMenu).getCell(_classPrivateFieldGet(this, _current), 0);
144
- _classPrivateFieldGet(this, _visited).add(_classPrivateFieldGet(this, _current));
145
- if (!cell || (0, _utils.isSeparator)(cell) || (0, _utils.isDisabled)(cell) || (0, _utils.isSelectionDisabled)(cell)) {
146
- _classPrivateFieldSet(this, _current, _classPrivateFieldGet(this, _current) + (_classPrivateFieldGet(this, _current) > _classPrivateFieldGet(this, _prev) ? 1 : -1));
147
- _classPrivateMethodGet(this, _updateMenuSelection, _updateMenuSelection2).call(this);
148
- } else {
149
- _classPrivateFieldGet(this, _hotMenu).selectCell(_classPrivateFieldGet(this, _current), 0);
150
- }
151
- _classPrivateFieldSet(this, _prev, _classPrivateFieldGet(this, _current));
152
- }
@@ -1,148 +0,0 @@
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 _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
6
- function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
7
- function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
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
- import { isSeparator, isDisabled, isSelectionDisabled } from "./utils.mjs";
12
- /**
13
- * Helper class that supports navigating throughout the menu and submenus.
14
- *
15
- * @private
16
- * @class Navigator
17
- */
18
- var _hotMenu = /*#__PURE__*/new WeakMap();
19
- var _current = /*#__PURE__*/new WeakMap();
20
- var _prev = /*#__PURE__*/new WeakMap();
21
- var _visited = /*#__PURE__*/new WeakMap();
22
- var _updateMenuSelection = /*#__PURE__*/new WeakSet();
23
- export class Navigator {
24
- constructor() {
25
- /**
26
- * Selects the menu based on the internal state of the class.
27
- */
28
- _classPrivateMethodInitSpec(this, _updateMenuSelection);
29
- /**
30
- * The instance of the Handsontable as menu.
31
- *
32
- * @type {Handsontable}
33
- */
34
- _classPrivateFieldInitSpec(this, _hotMenu, {
35
- writable: true,
36
- value: void 0
37
- });
38
- /**
39
- * The index of the current selected menu item.
40
- *
41
- * @type {number}
42
- */
43
- _classPrivateFieldInitSpec(this, _current, {
44
- writable: true,
45
- value: -1
46
- });
47
- /**
48
- * The index of the previously selected menu item.
49
- *
50
- * @type {number}
51
- */
52
- _classPrivateFieldInitSpec(this, _prev, {
53
- writable: true,
54
- value: -1
55
- });
56
- /**
57
- * The collection of the already visited menu item indexes. The collection allows for preventing
58
- * infinite loops in cases when all menu items are disabled, or there is only one item available
59
- * and the navigation is triggered.
60
- *
61
- * @type {Set<number>}
62
- */
63
- _classPrivateFieldInitSpec(this, _visited, {
64
- writable: true,
65
- value: new Set()
66
- });
67
- }
68
- /**
69
- * Sets the menu Handsontable instance.
70
- *
71
- * @param {Handsontable} hotMenu The menu Handsontable instance.
72
- */
73
- setMenu(hotMenu) {
74
- _classPrivateFieldSet(this, _hotMenu, hotMenu);
75
- }
76
-
77
- /**
78
- * Selects the first menu item in the menu.
79
- */
80
- selectFirst() {
81
- _classPrivateFieldGet(this, _visited).clear();
82
- _classPrivateFieldSet(this, _current, 0);
83
- _classPrivateFieldSet(this, _prev, _classPrivateFieldGet(this, _current) - 1);
84
- _classPrivateMethodGet(this, _updateMenuSelection, _updateMenuSelection2).call(this);
85
- }
86
-
87
- /**
88
- * Selects the last menu item in the menu.
89
- */
90
- selectLast() {
91
- _classPrivateFieldGet(this, _visited).clear();
92
- _classPrivateFieldSet(this, _current, _classPrivateFieldGet(this, _hotMenu).countRows() - 1);
93
- _classPrivateFieldSet(this, _prev, _classPrivateFieldGet(this, _current) + 1);
94
- _classPrivateMethodGet(this, _updateMenuSelection, _updateMenuSelection2).call(this);
95
- }
96
-
97
- /**
98
- * Selects the next menu item in the menu. The navigator tries to select the closes non-disabled menu
99
- * item. When all next items are disabled the first (or next non-disabled) menu item is selected.
100
- */
101
- selectNext() {
102
- _classPrivateFieldGet(this, _visited).clear();
103
- _classPrivateFieldSet(this, _current, _classPrivateFieldGet(this, _current) + 1);
104
- _classPrivateMethodGet(this, _updateMenuSelection, _updateMenuSelection2).call(this);
105
- }
106
-
107
- /**
108
- * Selects the previous menu item in the menu. The navigator tries to select the closes non-disabled menu
109
- * item. When all previous items are disabled the last (or previous non-disabled) menu item is selected.
110
- */
111
- selectPrev() {
112
- _classPrivateFieldGet(this, _visited).clear();
113
- _classPrivateFieldSet(this, _current, _classPrivateFieldGet(this, _current) - 1);
114
- _classPrivateMethodGet(this, _updateMenuSelection, _updateMenuSelection2).call(this);
115
- }
116
-
117
- /**
118
- * Clears the internal state to the initial values.
119
- */
120
- clear() {
121
- _classPrivateFieldGet(this, _visited).clear();
122
- _classPrivateFieldSet(this, _prev, -1);
123
- _classPrivateFieldSet(this, _current, -1);
124
- }
125
- }
126
- function _updateMenuSelection2() {
127
- const maxItems = _classPrivateFieldGet(this, _hotMenu).countRows() - 1;
128
- if (_classPrivateFieldGet(this, _current) < 0) {
129
- _classPrivateFieldSet(this, _current, maxItems);
130
- _classPrivateFieldSet(this, _prev, maxItems);
131
- }
132
- if (_classPrivateFieldGet(this, _current) > maxItems) {
133
- _classPrivateFieldSet(this, _current, 0);
134
- _classPrivateFieldSet(this, _prev, -1);
135
- }
136
- if (_classPrivateFieldGet(this, _visited).has(_classPrivateFieldGet(this, _current))) {
137
- return;
138
- }
139
- const cell = _classPrivateFieldGet(this, _hotMenu).getCell(_classPrivateFieldGet(this, _current), 0);
140
- _classPrivateFieldGet(this, _visited).add(_classPrivateFieldGet(this, _current));
141
- if (!cell || isSeparator(cell) || isDisabled(cell) || isSelectionDisabled(cell)) {
142
- _classPrivateFieldSet(this, _current, _classPrivateFieldGet(this, _current) + (_classPrivateFieldGet(this, _current) > _classPrivateFieldGet(this, _prev) ? 1 : -1));
143
- _classPrivateMethodGet(this, _updateMenuSelection, _updateMenuSelection2).call(this);
144
- } else {
145
- _classPrivateFieldGet(this, _hotMenu).selectCell(_classPrivateFieldGet(this, _current), 0);
146
- }
147
- _classPrivateFieldSet(this, _prev, _classPrivateFieldGet(this, _current));
148
- }
@@ -1,213 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- require("core-js/modules/es.error.cause.js");
5
- var _cursor2 = require("./cursor");
6
- function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
7
- function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
8
- function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
9
- function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
10
- function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
11
- function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
12
- 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; } }
13
- /**
14
- * Helper class for positioning the menu and submenus in the correct place relative to the
15
- * cursor position (DOM element or mouse coordinates).
16
- *
17
- * @private
18
- * @class Positioner
19
- */
20
- var _container = /*#__PURE__*/new WeakMap();
21
- var _parentContainer = /*#__PURE__*/new WeakMap();
22
- var _cursor = /*#__PURE__*/new WeakMap();
23
- var _keepInViewport = /*#__PURE__*/new WeakMap();
24
- var _offset = /*#__PURE__*/new WeakMap();
25
- class Positioner {
26
- constructor(keepInViewport) {
27
- /**
28
- * The menu container element the positioning will be applied to.
29
- *
30
- * @type {HTMLElement}
31
- */
32
- _classPrivateFieldInitSpec(this, _container, {
33
- writable: true,
34
- value: void 0
35
- });
36
- /**
37
- * For positioning the submenu, the parent element is used to calculate offsets to ensure that submenu
38
- * is positioned right next to the parent menu.
39
- *
40
- * @type {HTMLElement}
41
- */
42
- _classPrivateFieldInitSpec(this, _parentContainer, {
43
- writable: true,
44
- value: void 0
45
- });
46
- /**
47
- * The instance of the Cursor class.
48
- *
49
- * @type {Cursor}
50
- */
51
- _classPrivateFieldInitSpec(this, _cursor, {
52
- writable: true,
53
- value: void 0
54
- });
55
- /**
56
- * Enabling the option allows changing the position calculation so that the menus (or submenus)
57
- * are always placed within the visible viewport of the browser.
58
- *
59
- * @type {boolean}
60
- */
61
- _classPrivateFieldInitSpec(this, _keepInViewport, {
62
- writable: true,
63
- value: false
64
- });
65
- /**
66
- * Allows apply the position offset for directions.
67
- *
68
- * @type {{above: number, below: number, left: number, right: number}}
69
- */
70
- _classPrivateFieldInitSpec(this, _offset, {
71
- writable: true,
72
- value: {
73
- above: 0,
74
- below: 0,
75
- left: 0,
76
- right: 0
77
- }
78
- });
79
- _classPrivateFieldSet(this, _keepInViewport, keepInViewport);
80
- }
81
-
82
- /**
83
- * Sets offset position for specified directions (`above`, `below`, `left` or `right`).
84
- *
85
- * @param {'above' | 'below' | 'left' | 'right'} direction A direction name.
86
- * @param {number} [offset=0] Offset value.
87
- * @returns {Positioner}
88
- */
89
- setOffset(direction) {
90
- let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
91
- _classPrivateFieldGet(this, _offset)[direction] = offset;
92
- return this;
93
- }
94
-
95
- /**
96
- * Sets the menu element to work with. The element can be owned by the main menu or the submenu.
97
- *
98
- * @param {HTMLElement} container The menu container element.
99
- * @returns {Positioner}
100
- */
101
- setElement(container) {
102
- _classPrivateFieldSet(this, _container, container);
103
- return this;
104
- }
105
-
106
- /**
107
- * Sets the parent menu element to work with.
108
- *
109
- * @param {HTMLElement} container The parent menu container element.
110
- * @returns {Positioner}
111
- */
112
- setParentElement(container) {
113
- _classPrivateFieldSet(this, _parentContainer, container);
114
- return this;
115
- }
116
-
117
- /**
118
- * Updates the menu position.
119
- *
120
- * @param {object|MouseEvent} coords The literal object with `top`, `left`, `width` and `height` props or a
121
- * mouse event object.
122
- */
123
- updatePosition(coords) {
124
- _classPrivateFieldSet(this, _cursor, new _cursor2.Cursor(coords, _classPrivateFieldGet(this, _container).ownerDocument.defaultView));
125
- if (_classPrivateFieldGet(this, _keepInViewport)) {
126
- if (_classPrivateFieldGet(this, _cursor).fitsBelow(_classPrivateFieldGet(this, _container))) {
127
- this.setPositionBelowCursor();
128
- } else if (_classPrivateFieldGet(this, _cursor).fitsAbove(_classPrivateFieldGet(this, _container))) {
129
- this.setPositionAboveCursor();
130
- } else {
131
- this.setPositionBelowCursor();
132
- }
133
- this.updateHorizontalPosition();
134
- } else {
135
- this.setPositionBelowCursor();
136
- this.setPositionOnRightOfCursor();
137
- }
138
- }
139
-
140
- /**
141
- * Updates the menu horizontal position.
142
- */
143
- updateHorizontalPosition() {
144
- if (_classPrivateFieldGet(this, _container).dir === 'rtl') {
145
- if (_classPrivateFieldGet(this, _cursor).fitsOnLeft(_classPrivateFieldGet(this, _container))) {
146
- this.setPositionOnLeftOfCursor();
147
- } else {
148
- this.setPositionOnRightOfCursor();
149
- }
150
- } else if (_classPrivateFieldGet(this, _cursor).fitsOnRight(_classPrivateFieldGet(this, _container))) {
151
- this.setPositionOnRightOfCursor();
152
- } else {
153
- this.setPositionOnLeftOfCursor();
154
- }
155
- }
156
-
157
- /**
158
- * Sets the menu position above the cursor object.
159
- */
160
- setPositionAboveCursor() {
161
- let top = _classPrivateFieldGet(this, _offset).above + _classPrivateFieldGet(this, _cursor).top - _classPrivateFieldGet(this, _container).offsetHeight;
162
- if (_classPrivateFieldGet(this, _parentContainer)) {
163
- top = _classPrivateFieldGet(this, _cursor).top + _classPrivateFieldGet(this, _cursor).cellHeight - _classPrivateFieldGet(this, _container).offsetHeight + 3;
164
- }
165
- _classPrivateFieldGet(this, _container).style.top = `${top}px`;
166
- }
167
-
168
- /**
169
- * Sets the menu position below the cursor object.
170
- */
171
- setPositionBelowCursor() {
172
- let top = _classPrivateFieldGet(this, _offset).below + _classPrivateFieldGet(this, _cursor).top + 1;
173
- if (_classPrivateFieldGet(this, _parentContainer)) {
174
- top = _classPrivateFieldGet(this, _cursor).top - 1;
175
- }
176
- _classPrivateFieldGet(this, _container).style.top = `${top}px`;
177
- }
178
-
179
- /**
180
- * Sets the menu position on the right of the cursor object.
181
- */
182
- setPositionOnRightOfCursor() {
183
- let left = _classPrivateFieldGet(this, _cursor).left;
184
- if (_classPrivateFieldGet(this, _parentContainer)) {
185
- const {
186
- right: parentMenuRight
187
- } = _classPrivateFieldGet(this, _parentContainer).getBoundingClientRect();
188
-
189
- // move the sub menu by the width of the parent's border (usually by 1-2 pixels)
190
- left += _classPrivateFieldGet(this, _cursor).cellWidth + parentMenuRight - (_classPrivateFieldGet(this, _cursor).left + _classPrivateFieldGet(this, _cursor).cellWidth);
191
- } else {
192
- left += _classPrivateFieldGet(this, _offset).right;
193
- }
194
- _classPrivateFieldGet(this, _container).style.left = `${left}px`;
195
- }
196
-
197
- /**
198
- * Sets the menu position on the left of the cursor object.
199
- */
200
- setPositionOnLeftOfCursor() {
201
- let left = _classPrivateFieldGet(this, _offset).left + _classPrivateFieldGet(this, _cursor).left - _classPrivateFieldGet(this, _container).offsetWidth;
202
- if (_classPrivateFieldGet(this, _parentContainer)) {
203
- const {
204
- left: parentMenuLeft
205
- } = _classPrivateFieldGet(this, _parentContainer).getBoundingClientRect();
206
-
207
- // move the sub menu by the width of the parent's border (usually by 1-2 pixels)
208
- left -= _classPrivateFieldGet(this, _cursor).left - parentMenuLeft;
209
- }
210
- _classPrivateFieldGet(this, _container).style.left = `${left}px`;
211
- }
212
- }
213
- exports.Positioner = Positioner;