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

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

Potentially problematic release.


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

Files changed (446) hide show
  1. package/3rdparty/walkontable/src/{selection/border/border.js → border.js} +12 -7
  2. package/3rdparty/walkontable/src/{selection/border/border.mjs → border.mjs} +12 -7
  3. package/3rdparty/walkontable/src/cell/coords.d.ts +1 -6
  4. package/3rdparty/walkontable/src/cell/coords.js +11 -50
  5. package/3rdparty/walkontable/src/cell/coords.mjs +11 -50
  6. package/3rdparty/walkontable/src/cell/range.d.ts +2 -9
  7. package/3rdparty/walkontable/src/cell/range.js +7 -38
  8. package/3rdparty/walkontable/src/cell/range.mjs +7 -38
  9. package/3rdparty/walkontable/src/core/_base.js +3 -9
  10. package/3rdparty/walkontable/src/core/_base.mjs +3 -9
  11. package/3rdparty/walkontable/src/core/clone.js +2 -2
  12. package/3rdparty/walkontable/src/core/clone.mjs +2 -2
  13. package/3rdparty/walkontable/src/core/core.js +2 -3
  14. package/3rdparty/walkontable/src/core/core.mjs +2 -3
  15. package/3rdparty/walkontable/src/event.js +10 -12
  16. package/3rdparty/walkontable/src/event.mjs +10 -12
  17. package/3rdparty/walkontable/src/facade/core.js +2 -2
  18. package/3rdparty/walkontable/src/facade/core.mjs +2 -2
  19. package/3rdparty/walkontable/src/index.js +2 -10
  20. package/3rdparty/walkontable/src/index.mjs +2 -2
  21. package/3rdparty/walkontable/src/overlay/_base.js +2 -13
  22. package/3rdparty/walkontable/src/overlay/_base.mjs +3 -14
  23. package/3rdparty/walkontable/src/overlay/inlineStart.js +6 -2
  24. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +6 -2
  25. package/3rdparty/walkontable/src/overlay/top.js +6 -2
  26. package/3rdparty/walkontable/src/overlay/top.mjs +6 -2
  27. package/3rdparty/walkontable/src/renderer/cells.js +0 -10
  28. package/3rdparty/walkontable/src/renderer/cells.mjs +1 -11
  29. package/3rdparty/walkontable/src/renderer/columnHeaders.js +0 -10
  30. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +1 -11
  31. package/3rdparty/walkontable/src/renderer/rowHeaders.js +0 -5
  32. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +0 -5
  33. package/3rdparty/walkontable/src/renderer/rows.js +0 -13
  34. package/3rdparty/walkontable/src/renderer/rows.mjs +0 -13
  35. package/3rdparty/walkontable/src/renderer/table.js +0 -9
  36. package/3rdparty/walkontable/src/renderer/table.mjs +0 -9
  37. package/3rdparty/walkontable/src/scroll.js +0 -2
  38. package/3rdparty/walkontable/src/scroll.mjs +0 -2
  39. package/3rdparty/walkontable/src/selection.js +295 -0
  40. package/3rdparty/walkontable/src/selection.mjs +290 -0
  41. package/3rdparty/walkontable/src/settings.js +4 -13
  42. package/3rdparty/walkontable/src/settings.mjs +4 -13
  43. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -9
  44. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -9
  45. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -9
  46. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -9
  47. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +0 -9
  48. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +0 -9
  49. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +0 -9
  50. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +0 -9
  51. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +0 -9
  52. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +0 -9
  53. package/3rdparty/walkontable/src/table.js +78 -19
  54. package/3rdparty/walkontable/src/table.mjs +79 -20
  55. package/base.js +2 -2
  56. package/base.mjs +2 -2
  57. package/cellTypes/dateType/dateType.d.ts +3 -3
  58. package/cellTypes/dateType/dateType.js +2 -2
  59. package/cellTypes/dateType/dateType.mjs +2 -2
  60. package/cellTypes/handsontableType/handsontableType.d.ts +3 -3
  61. package/cellTypes/handsontableType/handsontableType.js +2 -2
  62. package/cellTypes/handsontableType/handsontableType.mjs +2 -2
  63. package/cellTypes/index.d.ts +0 -3
  64. package/cellTypes/index.js +0 -4
  65. package/cellTypes/index.mjs +1 -3
  66. package/core.d.ts +4 -9
  67. package/core.js +327 -285
  68. package/core.mjs +327 -285
  69. package/dataMap/metaManager/metaSchema.js +0 -65
  70. package/dataMap/metaManager/metaSchema.mjs +0 -65
  71. package/dataMap/metaManager/mods/extendMetaProperties.js +1 -7
  72. package/dataMap/metaManager/mods/extendMetaProperties.mjs +1 -7
  73. package/dataMap/replaceData.js +0 -5
  74. package/dataMap/replaceData.mjs +0 -5
  75. package/dist/handsontable.css +15 -51
  76. package/dist/handsontable.full.css +15 -51
  77. package/dist/handsontable.full.js +8668 -14188
  78. package/dist/handsontable.full.min.css +7 -7
  79. package/dist/handsontable.full.min.js +136 -136
  80. package/dist/handsontable.js +22829 -28349
  81. package/dist/handsontable.min.css +6 -6
  82. package/dist/handsontable.min.js +24 -24
  83. package/dist/languages/all.js +2 -6
  84. package/dist/languages/all.min.js +1 -1
  85. package/dist/languages/en-US.js +1 -3
  86. package/dist/languages/en-US.min.js +1 -1
  87. package/dist/languages/pl-PL.js +1 -3
  88. package/dist/languages/pl-PL.min.js +1 -1
  89. package/editorManager.js +87 -15
  90. package/editorManager.mjs +87 -16
  91. package/editors/autocompleteEditor/autocompleteEditor.js +2 -53
  92. package/editors/autocompleteEditor/autocompleteEditor.mjs +3 -54
  93. package/editors/dateEditor/dateEditor.js +7 -26
  94. package/editors/dateEditor/dateEditor.mjs +8 -27
  95. package/editors/handsontableEditor/handsontableEditor.js +1 -9
  96. package/editors/handsontableEditor/handsontableEditor.mjs +2 -10
  97. package/editors/textEditor/textEditor.js +27 -19
  98. package/editors/textEditor/textEditor.mjs +30 -22
  99. package/helpers/dom/element.js +9 -188
  100. package/helpers/dom/element.mjs +9 -182
  101. package/helpers/mixed.js +1 -1
  102. package/helpers/mixed.mjs +1 -1
  103. package/helpers/number.d.ts +0 -1
  104. package/helpers/number.js +0 -18
  105. package/helpers/number.mjs +0 -17
  106. package/i18n/constants.js +1 -7
  107. package/i18n/constants.mjs +1 -4
  108. package/i18n/languages/en-US.js +1 -3
  109. package/i18n/languages/en-US.mjs +1 -3
  110. package/i18n/languages/pl-PL.js +1 -3
  111. package/i18n/languages/pl-PL.mjs +1 -3
  112. package/languages/all.js +2 -6
  113. package/languages/en-US.js +1 -3
  114. package/languages/en-US.mjs +1 -3
  115. package/languages/index.js +2 -6
  116. package/languages/pl-PL.js +1 -3
  117. package/languages/pl-PL.mjs +1 -3
  118. package/package.json +99 -116
  119. package/pluginHooks.d.ts +1 -12
  120. package/pluginHooks.js +1 -152
  121. package/pluginHooks.mjs +1 -152
  122. package/plugins/collapsibleColumns/collapsibleColumns.js +4 -74
  123. package/plugins/collapsibleColumns/collapsibleColumns.mjs +5 -75
  124. package/plugins/columnSorting/columnSorting.js +0 -43
  125. package/plugins/columnSorting/columnSorting.mjs +3 -44
  126. package/plugins/columnSorting/index.js +1 -3
  127. package/plugins/columnSorting/index.mjs +1 -1
  128. package/plugins/comments/commentEditor.js +0 -1
  129. package/plugins/comments/commentEditor.mjs +0 -1
  130. package/plugins/comments/comments.js +189 -252
  131. package/plugins/comments/comments.mjs +190 -251
  132. package/plugins/contextMenu/commandExecutor.js +3 -2
  133. package/plugins/contextMenu/commandExecutor.mjs +3 -2
  134. package/plugins/contextMenu/contextMenu.d.ts +1 -1
  135. package/plugins/contextMenu/contextMenu.js +36 -75
  136. package/plugins/contextMenu/contextMenu.mjs +35 -74
  137. package/plugins/contextMenu/{menu/cursor.mjs → cursor.js} +10 -4
  138. package/plugins/contextMenu/{menu/cursor.js → cursor.mjs} +4 -6
  139. package/plugins/contextMenu/itemsFactory.js +3 -2
  140. package/plugins/contextMenu/itemsFactory.mjs +4 -3
  141. package/plugins/contextMenu/{menu/menu.js → menu.js} +421 -145
  142. package/plugins/contextMenu/{menu/menu.mjs → menu.mjs} +422 -146
  143. package/plugins/contextMenu/predefinedItems/alignment.js +0 -7
  144. package/plugins/contextMenu/predefinedItems/alignment.mjs +0 -7
  145. package/plugins/contextMenu/predefinedItems/clearColumn.js +3 -5
  146. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +3 -5
  147. package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -5
  148. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -5
  149. package/plugins/contextMenu/predefinedItems/columnRight.js +3 -5
  150. package/plugins/contextMenu/predefinedItems/columnRight.mjs +3 -5
  151. package/plugins/contextMenu/predefinedItems/readOnly.js +0 -7
  152. package/plugins/contextMenu/predefinedItems/readOnly.mjs +0 -7
  153. package/plugins/contextMenu/predefinedItems/removeColumn.js +5 -7
  154. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -5
  155. package/plugins/contextMenu/predefinedItems/removeRow.js +5 -7
  156. package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -5
  157. package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -5
  158. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -5
  159. package/plugins/contextMenu/predefinedItems/rowBelow.js +3 -5
  160. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +3 -5
  161. package/plugins/contextMenu/{predefinedItems/index.js → predefinedItems.js} +14 -14
  162. package/plugins/contextMenu/predefinedItems.mjs +68 -0
  163. package/plugins/contextMenu/utils.js +151 -35
  164. package/plugins/contextMenu/utils.mjs +144 -35
  165. package/plugins/copyPaste/contextMenuItem/copy.js +0 -7
  166. package/plugins/copyPaste/contextMenuItem/copy.mjs +0 -7
  167. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +1 -9
  168. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +1 -9
  169. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +1 -9
  170. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +1 -9
  171. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +1 -9
  172. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +1 -9
  173. package/plugins/copyPaste/contextMenuItem/cut.js +0 -7
  174. package/plugins/copyPaste/contextMenuItem/cut.mjs +0 -7
  175. package/plugins/copyPaste/copyPaste.js +78 -127
  176. package/plugins/copyPaste/copyPaste.mjs +79 -128
  177. package/plugins/copyPaste/focusableElement.js +186 -0
  178. package/plugins/copyPaste/focusableElement.mjs +180 -0
  179. package/plugins/customBorders/customBorders.js +20 -23
  180. package/plugins/customBorders/customBorders.mjs +21 -24
  181. package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
  182. package/plugins/dropdownMenu/dropdownMenu.js +40 -127
  183. package/plugins/dropdownMenu/dropdownMenu.mjs +39 -126
  184. package/plugins/filters/component/_base.js +8 -23
  185. package/plugins/filters/component/_base.mjs +8 -23
  186. package/plugins/filters/component/actionBar.js +27 -29
  187. package/plugins/filters/component/actionBar.mjs +23 -26
  188. package/plugins/filters/component/condition.js +59 -46
  189. package/plugins/filters/component/condition.mjs +52 -40
  190. package/plugins/filters/component/operators.js +22 -21
  191. package/plugins/filters/component/operators.mjs +18 -18
  192. package/plugins/filters/component/value.js +26 -35
  193. package/plugins/filters/component/value.mjs +22 -32
  194. package/plugins/filters/constants.mjs +1 -1
  195. package/plugins/filters/filters.js +62 -106
  196. package/plugins/filters/filters.mjs +55 -99
  197. package/plugins/filters/ui/_base.js +13 -35
  198. package/plugins/filters/ui/_base.mjs +13 -35
  199. package/plugins/filters/ui/input.js +32 -43
  200. package/plugins/filters/ui/input.mjs +30 -42
  201. package/plugins/filters/ui/link.js +12 -44
  202. package/plugins/filters/ui/link.mjs +11 -44
  203. package/plugins/filters/ui/multipleSelect.js +129 -234
  204. package/plugins/filters/ui/multipleSelect.mjs +127 -232
  205. package/plugins/filters/ui/radioInput.js +18 -42
  206. package/plugins/filters/ui/radioInput.mjs +17 -42
  207. package/plugins/filters/ui/select.js +75 -144
  208. package/plugins/filters/ui/select.mjs +72 -142
  209. package/plugins/hiddenColumns/hiddenColumns.mjs +1 -1
  210. package/plugins/hiddenRows/hiddenRows.mjs +1 -1
  211. package/plugins/manualColumnMove/manualColumnMove.js +1 -3
  212. package/plugins/manualColumnMove/manualColumnMove.mjs +1 -3
  213. package/plugins/mergeCells/mergeCells.js +16 -5
  214. package/plugins/mergeCells/mergeCells.mjs +16 -5
  215. package/plugins/multiColumnSorting/multiColumnSorting.js +2 -37
  216. package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -37
  217. package/plugins/nestedHeaders/nestedHeaders.js +10 -240
  218. package/plugins/nestedHeaders/nestedHeaders.mjs +11 -241
  219. package/plugins/nestedHeaders/stateManager/index.js +3 -102
  220. package/plugins/nestedHeaders/stateManager/index.mjs +3 -102
  221. package/plugins/nestedRows/nestedRows.js +0 -41
  222. package/plugins/nestedRows/nestedRows.mjs +0 -41
  223. package/plugins/nestedRows/ui/headers.js +0 -11
  224. package/plugins/nestedRows/ui/headers.mjs +1 -12
  225. package/renderers/autocompleteRenderer/autocompleteRenderer.js +0 -8
  226. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +0 -8
  227. package/renderers/baseRenderer/baseRenderer.js +0 -17
  228. package/renderers/baseRenderer/baseRenderer.mjs +1 -18
  229. package/renderers/checkboxRenderer/checkboxRenderer.js +4 -9
  230. package/renderers/checkboxRenderer/checkboxRenderer.mjs +4 -9
  231. package/renderers/index.d.ts +0 -9
  232. package/selection/highlight/constants.js +15 -0
  233. package/selection/highlight/constants.mjs +6 -0
  234. package/selection/highlight/highlight.js +71 -256
  235. package/selection/highlight/highlight.mjs +71 -250
  236. package/selection/highlight/types/activeHeader.js +8 -10
  237. package/selection/highlight/types/activeHeader.mjs +8 -10
  238. package/selection/highlight/types/area.js +18 -6
  239. package/selection/highlight/types/area.mjs +18 -6
  240. package/selection/highlight/types/{focus.js → cell.js} +7 -5
  241. package/selection/highlight/types/{focus.mjs → cell.mjs} +7 -5
  242. package/selection/highlight/types/customSelection.js +9 -7
  243. package/selection/highlight/types/customSelection.mjs +9 -7
  244. package/selection/highlight/types/fill.js +7 -5
  245. package/selection/highlight/types/fill.mjs +7 -5
  246. package/selection/highlight/types/header.js +18 -9
  247. package/selection/highlight/types/header.mjs +18 -9
  248. package/selection/highlight/types/index.js +35 -0
  249. package/selection/highlight/types/index.mjs +31 -0
  250. package/selection/highlight/visualSelection.js +27 -31
  251. package/selection/highlight/visualSelection.mjs +27 -31
  252. package/selection/index.js +7 -4
  253. package/selection/index.mjs +3 -2
  254. package/selection/mouseEventHandler.js +1 -7
  255. package/selection/mouseEventHandler.mjs +1 -7
  256. package/selection/range.js +8 -8
  257. package/selection/range.mjs +8 -8
  258. package/selection/selection.js +152 -321
  259. package/selection/selection.mjs +151 -318
  260. package/selection/transformation.js +90 -232
  261. package/selection/transformation.mjs +90 -232
  262. package/selection/utils.js +21 -15
  263. package/selection/utils.mjs +21 -16
  264. package/settings.d.ts +0 -4
  265. package/shortcuts/context.js +4 -23
  266. package/shortcuts/context.mjs +5 -23
  267. package/shortcuts/manager.js +7 -25
  268. package/shortcuts/manager.mjs +7 -26
  269. package/shortcuts/recorder.js +3 -3
  270. package/shortcuts/recorder.mjs +3 -3
  271. package/shortcuts/utils.js +5 -19
  272. package/shortcuts/utils.mjs +4 -18
  273. package/tableView.js +13 -111
  274. package/tableView.mjs +14 -112
  275. package/3rdparty/walkontable/src/selection/border/constants.js +0 -16
  276. package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
  277. package/3rdparty/walkontable/src/selection/constants.js +0 -62
  278. package/3rdparty/walkontable/src/selection/constants.mjs +0 -51
  279. package/3rdparty/walkontable/src/selection/index.js +0 -26
  280. package/3rdparty/walkontable/src/selection/index.mjs +0 -5
  281. package/3rdparty/walkontable/src/selection/manager.js +0 -274
  282. package/3rdparty/walkontable/src/selection/manager.mjs +0 -269
  283. package/3rdparty/walkontable/src/selection/scanner.js +0 -270
  284. package/3rdparty/walkontable/src/selection/scanner.mjs +0 -267
  285. package/3rdparty/walkontable/src/selection/selection.js +0 -101
  286. package/3rdparty/walkontable/src/selection/selection.mjs +0 -96
  287. package/cellTypes/selectType/index.d.ts +0 -1
  288. package/cellTypes/selectType/index.js +0 -6
  289. package/cellTypes/selectType/index.mjs +0 -1
  290. package/cellTypes/selectType/selectType.d.ts +0 -14
  291. package/cellTypes/selectType/selectType.js +0 -13
  292. package/cellTypes/selectType/selectType.mjs +0 -8
  293. package/core/focusCatcher/focusDetector.js +0 -63
  294. package/core/focusCatcher/focusDetector.mjs +0 -59
  295. package/core/focusCatcher/index.js +0 -142
  296. package/core/focusCatcher/index.mjs +0 -138
  297. package/core/index.js +0 -9
  298. package/core/index.mjs +0 -1
  299. package/focusManager.d.ts +0 -12
  300. package/focusManager.js +0 -265
  301. package/focusManager.mjs +0 -261
  302. package/helpers/a11y.js +0 -79
  303. package/helpers/a11y.mjs +0 -38
  304. package/plugins/comments/contextMenuItem/addEditComment.js +0 -41
  305. package/plugins/comments/contextMenuItem/addEditComment.mjs +0 -35
  306. package/plugins/comments/contextMenuItem/readOnlyComment.js +0 -49
  307. package/plugins/comments/contextMenuItem/readOnlyComment.mjs +0 -43
  308. package/plugins/comments/contextMenuItem/removeComment.js +0 -38
  309. package/plugins/comments/contextMenuItem/removeComment.mjs +0 -32
  310. package/plugins/contextMenu/menu/defaultShortcutsList.js +0 -88
  311. package/plugins/contextMenu/menu/defaultShortcutsList.mjs +0 -84
  312. package/plugins/contextMenu/menu/index.js +0 -9
  313. package/plugins/contextMenu/menu/index.mjs +0 -1
  314. package/plugins/contextMenu/menu/menuItemRenderer.js +0 -58
  315. package/plugins/contextMenu/menu/menuItemRenderer.mjs +0 -54
  316. package/plugins/contextMenu/menu/navigator.js +0 -27
  317. package/plugins/contextMenu/menu/navigator.mjs +0 -23
  318. package/plugins/contextMenu/menu/positioner.js +0 -213
  319. package/plugins/contextMenu/menu/positioner.mjs +0 -209
  320. package/plugins/contextMenu/menu/shortcuts.js +0 -114
  321. package/plugins/contextMenu/menu/shortcuts.mjs +0 -110
  322. package/plugins/contextMenu/menu/utils.js +0 -177
  323. package/plugins/contextMenu/menu/utils.mjs +0 -163
  324. package/plugins/contextMenu/predefinedItems/index.mjs +0 -68
  325. package/plugins/filters/menu/focusController.js +0 -123
  326. package/plugins/filters/menu/focusController.mjs +0 -119
  327. package/plugins/filters/menu/focusNavigator.js +0 -30
  328. package/plugins/filters/menu/focusNavigator.mjs +0 -26
  329. package/renderers/dateRenderer/dateRenderer.d.ts +0 -5
  330. package/renderers/dateRenderer/dateRenderer.js +0 -29
  331. package/renderers/dateRenderer/dateRenderer.mjs +0 -24
  332. package/renderers/dateRenderer/index.d.ts +0 -1
  333. package/renderers/dateRenderer/index.js +0 -6
  334. package/renderers/dateRenderer/index.mjs +0 -1
  335. package/renderers/handsontableRenderer/handsontableRenderer.d.ts +0 -5
  336. package/renderers/handsontableRenderer/handsontableRenderer.js +0 -29
  337. package/renderers/handsontableRenderer/handsontableRenderer.mjs +0 -24
  338. package/renderers/handsontableRenderer/index.d.ts +0 -1
  339. package/renderers/handsontableRenderer/index.js +0 -6
  340. package/renderers/handsontableRenderer/index.mjs +0 -1
  341. package/renderers/selectRenderer/index.d.ts +0 -1
  342. package/renderers/selectRenderer/index.js +0 -6
  343. package/renderers/selectRenderer/index.mjs +0 -1
  344. package/renderers/selectRenderer/selectRenderer.d.ts +0 -5
  345. package/renderers/selectRenderer/selectRenderer.js +0 -27
  346. package/renderers/selectRenderer/selectRenderer.mjs +0 -22
  347. package/selection/highlight/types/areaLayered.js +0 -31
  348. package/selection/highlight/types/areaLayered.mjs +0 -26
  349. package/selection/highlight/types/column.js +0 -27
  350. package/selection/highlight/types/column.mjs +0 -22
  351. package/selection/highlight/types/row.js +0 -27
  352. package/selection/highlight/types/row.mjs +0 -22
  353. package/shortcutContexts/commands/editor/closeAndSave.js +0 -12
  354. package/shortcutContexts/commands/editor/closeAndSave.mjs +0 -8
  355. package/shortcutContexts/commands/editor/closeWithoutSaving.js +0 -12
  356. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +0 -8
  357. package/shortcutContexts/commands/editor/fastOpen.js +0 -16
  358. package/shortcutContexts/commands/editor/fastOpen.mjs +0 -12
  359. package/shortcutContexts/commands/editor/index.js +0 -16
  360. package/shortcutContexts/commands/editor/index.mjs +0 -12
  361. package/shortcutContexts/commands/editor/open.js +0 -27
  362. package/shortcutContexts/commands/editor/open.mjs +0 -23
  363. package/shortcutContexts/commands/emptySelectedCells.js +0 -11
  364. package/shortcutContexts/commands/emptySelectedCells.mjs +0 -7
  365. package/shortcutContexts/commands/extendCellsSelection/down.js +0 -15
  366. package/shortcutContexts/commands/extendCellsSelection/down.mjs +0 -11
  367. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +0 -25
  368. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +0 -21
  369. package/shortcutContexts/commands/extendCellsSelection/index.js +0 -26
  370. package/shortcutContexts/commands/extendCellsSelection/index.mjs +0 -22
  371. package/shortcutContexts/commands/extendCellsSelection/left.js +0 -15
  372. package/shortcutContexts/commands/extendCellsSelection/left.mjs +0 -11
  373. package/shortcutContexts/commands/extendCellsSelection/right.js +0 -15
  374. package/shortcutContexts/commands/extendCellsSelection/right.mjs +0 -11
  375. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +0 -19
  376. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +0 -15
  377. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +0 -29
  378. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +0 -25
  379. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +0 -19
  380. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +0 -15
  381. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +0 -19
  382. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +0 -15
  383. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +0 -29
  384. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +0 -25
  385. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +0 -29
  386. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +0 -25
  387. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +0 -29
  388. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +0 -25
  389. package/shortcutContexts/commands/extendCellsSelection/toRows.js +0 -19
  390. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +0 -15
  391. package/shortcutContexts/commands/extendCellsSelection/up.js +0 -15
  392. package/shortcutContexts/commands/extendCellsSelection/up.mjs +0 -11
  393. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +0 -25
  394. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +0 -21
  395. package/shortcutContexts/commands/index.js +0 -35
  396. package/shortcutContexts/commands/index.mjs +0 -31
  397. package/shortcutContexts/commands/moveCellSelection/down.js +0 -13
  398. package/shortcutContexts/commands/moveCellSelection/down.mjs +0 -9
  399. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +0 -33
  400. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +0 -29
  401. package/shortcutContexts/commands/moveCellSelection/index.js +0 -28
  402. package/shortcutContexts/commands/moveCellSelection/index.mjs +0 -24
  403. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +0 -12
  404. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +0 -8
  405. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +0 -12
  406. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +0 -8
  407. package/shortcutContexts/commands/moveCellSelection/left.js +0 -10
  408. package/shortcutContexts/commands/moveCellSelection/left.mjs +0 -6
  409. package/shortcutContexts/commands/moveCellSelection/right.js +0 -10
  410. package/shortcutContexts/commands/moveCellSelection/right.mjs +0 -6
  411. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +0 -17
  412. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +0 -13
  413. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +0 -18
  414. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +0 -14
  415. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +0 -14
  416. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +0 -10
  417. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +0 -17
  418. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +0 -13
  419. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +0 -19
  420. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +0 -15
  421. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +0 -21
  422. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +0 -17
  423. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +0 -17
  424. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +0 -13
  425. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +0 -19
  426. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +0 -15
  427. package/shortcutContexts/commands/moveCellSelection/up.js +0 -13
  428. package/shortcutContexts/commands/moveCellSelection/up.mjs +0 -9
  429. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +0 -33
  430. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +0 -29
  431. package/shortcutContexts/commands/populateSelectedCellsData.js +0 -29
  432. package/shortcutContexts/commands/populateSelectedCellsData.mjs +0 -25
  433. package/shortcutContexts/commands/scrollToFocusedCell.js +0 -35
  434. package/shortcutContexts/commands/scrollToFocusedCell.mjs +0 -31
  435. package/shortcutContexts/commands/selectAll.js +0 -12
  436. package/shortcutContexts/commands/selectAll.mjs +0 -8
  437. package/shortcutContexts/constants.js +0 -13
  438. package/shortcutContexts/constants.mjs +0 -8
  439. package/shortcutContexts/editor.js +0 -25
  440. package/shortcutContexts/editor.mjs +0 -21
  441. package/shortcutContexts/grid.js +0 -163
  442. package/shortcutContexts/grid.mjs +0 -159
  443. package/shortcutContexts/index.js +0 -24
  444. package/shortcutContexts/index.mjs +0 -11
  445. package/utils/paginator.js +0 -151
  446. package/utils/paginator.mjs +0 -147
@@ -3,15 +3,83 @@
3
3
  exports.__esModule = true;
4
4
  exports.align = align;
5
5
  exports.checkSelectionConsistency = checkSelectionConsistency;
6
+ exports.filterSeparators = filterSeparators;
6
7
  exports.getAlignmentClasses = getAlignmentClasses;
7
- exports.getDocumentOffsetByElement = getDocumentOffsetByElement;
8
+ exports.getValidSelection = getValidSelection;
9
+ exports.hasSubMenu = hasSubMenu;
10
+ exports.isDisabled = isDisabled;
11
+ exports.isItemHidden = isItemHidden;
12
+ exports.isSelectionDisabled = isSelectionDisabled;
13
+ exports.isSeparator = isSeparator;
8
14
  exports.markLabelAsSelected = markLabelAsSelected;
15
+ exports.normalizeSelection = normalizeSelection;
9
16
  exports.prepareHorizontalAlignClass = prepareHorizontalAlignClass;
10
17
  exports.prepareVerticalAlignClass = prepareVerticalAlignClass;
18
+ require("core-js/modules/es.array.push.js");
11
19
  var _array = require("../../helpers/array");
20
+ var _element = require("../../helpers/dom/element");
21
+ var _separator = require("./predefinedItems/separator");
22
+ /**
23
+ * @param {CellRange[]} selRanges An array of the cell ranges.
24
+ * @returns {object[]}
25
+ */
26
+ function normalizeSelection(selRanges) {
27
+ return (0, _array.arrayMap)(selRanges, range => ({
28
+ start: range.getTopStartCorner(),
29
+ end: range.getBottomEndCorner()
30
+ }));
31
+ }
32
+
33
+ /**
34
+ * @param {HTMLElement} cell The HTML cell element to check.
35
+ * @returns {boolean}
36
+ */
37
+ function isSeparator(cell) {
38
+ return (0, _element.hasClass)(cell, 'htSeparator');
39
+ }
40
+
41
+ /**
42
+ * @param {HTMLElement} cell The HTML cell element to check.
43
+ * @returns {boolean}
44
+ */
45
+ function hasSubMenu(cell) {
46
+ return (0, _element.hasClass)(cell, 'htSubmenu');
47
+ }
48
+
49
+ /**
50
+ * @param {HTMLElement} cell The HTML cell element to check.
51
+ * @returns {boolean}
52
+ */
53
+ function isDisabled(cell) {
54
+ return (0, _element.hasClass)(cell, 'htDisabled');
55
+ }
56
+
57
+ /**
58
+ * @param {HTMLElement} cell The HTML cell element to check.
59
+ * @returns {boolean}
60
+ */
61
+ function isSelectionDisabled(cell) {
62
+ return (0, _element.hasClass)(cell, 'htSelectionDisabled');
63
+ }
64
+
65
+ /**
66
+ * @param {Core} hot The Handsontable instance.
67
+ * @returns {Array[]|null}
68
+ */
69
+ function getValidSelection(hot) {
70
+ const selected = hot.getSelected();
71
+ if (!selected) {
72
+ return null;
73
+ }
74
+ if (selected[0] < 0) {
75
+ return null;
76
+ }
77
+ return selected;
78
+ }
79
+
12
80
  /**
13
81
  * @param {string} className The full element class name to process.
14
- * @param {string} alignment The alignment class name to compare with.
82
+ * @param {string} alignment The slignment class name to compare with.
15
83
  * @returns {string}
16
84
  */
17
85
  function prepareVerticalAlignClass(className, alignment) {
@@ -24,7 +92,7 @@ function prepareVerticalAlignClass(className, alignment) {
24
92
 
25
93
  /**
26
94
  * @param {string} className The full element class name to process.
27
- * @param {string} alignment The alignment class name to compare with.
95
+ * @param {string} alignment The slignment class name to compare with.
28
96
  * @returns {string}
29
97
  */
30
98
  function prepareHorizontalAlignClass(className, alignment) {
@@ -95,15 +163,6 @@ function applyAlignClassName(row, col, type, alignment, cellDescriptor, property
95
163
  propertySetter(row, col, 'className', className);
96
164
  }
97
165
 
98
- /**
99
- * @param {string} label The label text.
100
- * @returns {string}
101
- */
102
- function markLabelAsSelected(label) {
103
- // workaround for https://github.com/handsontable/handsontable/issues/1946
104
- return `<span class="selected">${String.fromCharCode(10003)}</span>${label}`;
105
- }
106
-
107
166
  /**
108
167
  * @param {CellRange[]} ranges An array of the cell ranges.
109
168
  * @param {Function} comparator The comparator function.
@@ -127,28 +186,85 @@ function checkSelectionConsistency(ranges, comparator) {
127
186
  }
128
187
 
129
188
  /**
130
- * Returns document offset based on the passed element. If the document objects between element and the
131
- * base document are not the same the offset as top and left properties will be returned.
132
- *
133
- * @param {Element} elementToCheck The element to compare with Document object.
134
- * @param {Document} baseDocument The base Document object.
135
- * @returns {{ top: number, left: number }}
136
- */
137
- function getDocumentOffsetByElement(elementToCheck, baseDocument) {
138
- const offset = {
139
- top: 0,
140
- left: 0
141
- };
142
- if (baseDocument !== elementToCheck.ownerDocument) {
143
- const {
144
- frameElement
145
- } = baseDocument.defaultView;
146
- const {
147
- top,
148
- left
149
- } = frameElement.getBoundingClientRect();
150
- offset.top = top;
151
- offset.left = left;
189
+ * @param {string} label The label text.
190
+ * @returns {string}
191
+ */
192
+ function markLabelAsSelected(label) {
193
+ // workaround for https://github.com/handsontable/handsontable/issues/1946
194
+ return `<span class="selected">${String.fromCharCode(10003)}</span>${label}`;
195
+ }
196
+
197
+ /**
198
+ * @param {object} item The object which describes the context menu item properties.
199
+ * @param {Core} instance The Handsontable instance.
200
+ * @returns {boolean}
201
+ */
202
+ function isItemHidden(item, instance) {
203
+ return !item.hidden || !(typeof item.hidden === 'function' && item.hidden.call(instance));
204
+ }
205
+
206
+ /**
207
+ * @param {object[]} items The context menu items collection.
208
+ * @param {string} separator The string which identifies the context menu separator item.
209
+ * @returns {object[]}
210
+ */
211
+ function shiftSeparators(items, separator) {
212
+ const result = items.slice(0);
213
+ for (let i = 0; i < result.length;) {
214
+ if (result[i].name === separator) {
215
+ result.shift();
216
+ } else {
217
+ break;
218
+ }
152
219
  }
153
- return offset;
220
+ return result;
221
+ }
222
+
223
+ /**
224
+ * @param {object[]} items The context menu items collection.
225
+ * @param {string} separator The string which identifies the context menu separator item.
226
+ * @returns {object[]}
227
+ */
228
+ function popSeparators(items, separator) {
229
+ let result = items.slice(0);
230
+ result.reverse();
231
+ result = shiftSeparators(result, separator);
232
+ result.reverse();
233
+ return result;
234
+ }
235
+
236
+ /**
237
+ * Removes duplicated menu separators from the context menu items collection.
238
+ *
239
+ * @param {object[]} items The context menu items collection.
240
+ * @returns {object[]}
241
+ */
242
+ function removeDuplicatedSeparators(items) {
243
+ const result = [];
244
+ (0, _array.arrayEach)(items, (value, index) => {
245
+ if (index > 0) {
246
+ if (result[result.length - 1].name !== value.name) {
247
+ result.push(value);
248
+ }
249
+ } else {
250
+ result.push(value);
251
+ }
252
+ });
253
+ return result;
254
+ }
255
+
256
+ /**
257
+ * Removes menu separators from the context menu items collection.
258
+ *
259
+ * @param {object[]} items The context menu items collection.
260
+ * @param {string} separator The string which identifies the context menu separator item.
261
+ * @returns {object[]}
262
+ */
263
+ function filterSeparators(items) {
264
+ let separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _separator.KEY;
265
+ let result = items.slice(0);
266
+ result = shiftSeparators(result, separator);
267
+ result = popSeparators(result, separator);
268
+ result = removeDuplicatedSeparators(result);
269
+ return result;
154
270
  }
@@ -1,7 +1,68 @@
1
- import { arrayEach } from "../../helpers/array.mjs";
1
+ import "core-js/modules/es.array.push.js";
2
+ import { arrayEach, arrayMap } from "../../helpers/array.mjs";
3
+ import { hasClass } from "../../helpers/dom/element.mjs";
4
+ import { KEY as SEPARATOR } from "./predefinedItems/separator.mjs";
5
+ /**
6
+ * @param {CellRange[]} selRanges An array of the cell ranges.
7
+ * @returns {object[]}
8
+ */
9
+ export function normalizeSelection(selRanges) {
10
+ return arrayMap(selRanges, range => ({
11
+ start: range.getTopStartCorner(),
12
+ end: range.getBottomEndCorner()
13
+ }));
14
+ }
15
+
16
+ /**
17
+ * @param {HTMLElement} cell The HTML cell element to check.
18
+ * @returns {boolean}
19
+ */
20
+ export function isSeparator(cell) {
21
+ return hasClass(cell, 'htSeparator');
22
+ }
23
+
24
+ /**
25
+ * @param {HTMLElement} cell The HTML cell element to check.
26
+ * @returns {boolean}
27
+ */
28
+ export function hasSubMenu(cell) {
29
+ return hasClass(cell, 'htSubmenu');
30
+ }
31
+
32
+ /**
33
+ * @param {HTMLElement} cell The HTML cell element to check.
34
+ * @returns {boolean}
35
+ */
36
+ export function isDisabled(cell) {
37
+ return hasClass(cell, 'htDisabled');
38
+ }
39
+
40
+ /**
41
+ * @param {HTMLElement} cell The HTML cell element to check.
42
+ * @returns {boolean}
43
+ */
44
+ export function isSelectionDisabled(cell) {
45
+ return hasClass(cell, 'htSelectionDisabled');
46
+ }
47
+
48
+ /**
49
+ * @param {Core} hot The Handsontable instance.
50
+ * @returns {Array[]|null}
51
+ */
52
+ export function getValidSelection(hot) {
53
+ const selected = hot.getSelected();
54
+ if (!selected) {
55
+ return null;
56
+ }
57
+ if (selected[0] < 0) {
58
+ return null;
59
+ }
60
+ return selected;
61
+ }
62
+
2
63
  /**
3
64
  * @param {string} className The full element class name to process.
4
- * @param {string} alignment The alignment class name to compare with.
65
+ * @param {string} alignment The slignment class name to compare with.
5
66
  * @returns {string}
6
67
  */
7
68
  export function prepareVerticalAlignClass(className, alignment) {
@@ -14,7 +75,7 @@ export function prepareVerticalAlignClass(className, alignment) {
14
75
 
15
76
  /**
16
77
  * @param {string} className The full element class name to process.
17
- * @param {string} alignment The alignment class name to compare with.
78
+ * @param {string} alignment The slignment class name to compare with.
18
79
  * @returns {string}
19
80
  */
20
81
  export function prepareHorizontalAlignClass(className, alignment) {
@@ -85,15 +146,6 @@ function applyAlignClassName(row, col, type, alignment, cellDescriptor, property
85
146
  propertySetter(row, col, 'className', className);
86
147
  }
87
148
 
88
- /**
89
- * @param {string} label The label text.
90
- * @returns {string}
91
- */
92
- export function markLabelAsSelected(label) {
93
- // workaround for https://github.com/handsontable/handsontable/issues/1946
94
- return `<span class="selected">${String.fromCharCode(10003)}</span>${label}`;
95
- }
96
-
97
149
  /**
98
150
  * @param {CellRange[]} ranges An array of the cell ranges.
99
151
  * @param {Function} comparator The comparator function.
@@ -117,28 +169,85 @@ export function checkSelectionConsistency(ranges, comparator) {
117
169
  }
118
170
 
119
171
  /**
120
- * Returns document offset based on the passed element. If the document objects between element and the
121
- * base document are not the same the offset as top and left properties will be returned.
122
- *
123
- * @param {Element} elementToCheck The element to compare with Document object.
124
- * @param {Document} baseDocument The base Document object.
125
- * @returns {{ top: number, left: number }}
126
- */
127
- export function getDocumentOffsetByElement(elementToCheck, baseDocument) {
128
- const offset = {
129
- top: 0,
130
- left: 0
131
- };
132
- if (baseDocument !== elementToCheck.ownerDocument) {
133
- const {
134
- frameElement
135
- } = baseDocument.defaultView;
136
- const {
137
- top,
138
- left
139
- } = frameElement.getBoundingClientRect();
140
- offset.top = top;
141
- offset.left = left;
172
+ * @param {string} label The label text.
173
+ * @returns {string}
174
+ */
175
+ export function markLabelAsSelected(label) {
176
+ // workaround for https://github.com/handsontable/handsontable/issues/1946
177
+ return `<span class="selected">${String.fromCharCode(10003)}</span>${label}`;
178
+ }
179
+
180
+ /**
181
+ * @param {object} item The object which describes the context menu item properties.
182
+ * @param {Core} instance The Handsontable instance.
183
+ * @returns {boolean}
184
+ */
185
+ export function isItemHidden(item, instance) {
186
+ return !item.hidden || !(typeof item.hidden === 'function' && item.hidden.call(instance));
187
+ }
188
+
189
+ /**
190
+ * @param {object[]} items The context menu items collection.
191
+ * @param {string} separator The string which identifies the context menu separator item.
192
+ * @returns {object[]}
193
+ */
194
+ function shiftSeparators(items, separator) {
195
+ const result = items.slice(0);
196
+ for (let i = 0; i < result.length;) {
197
+ if (result[i].name === separator) {
198
+ result.shift();
199
+ } else {
200
+ break;
201
+ }
142
202
  }
143
- return offset;
203
+ return result;
204
+ }
205
+
206
+ /**
207
+ * @param {object[]} items The context menu items collection.
208
+ * @param {string} separator The string which identifies the context menu separator item.
209
+ * @returns {object[]}
210
+ */
211
+ function popSeparators(items, separator) {
212
+ let result = items.slice(0);
213
+ result.reverse();
214
+ result = shiftSeparators(result, separator);
215
+ result.reverse();
216
+ return result;
217
+ }
218
+
219
+ /**
220
+ * Removes duplicated menu separators from the context menu items collection.
221
+ *
222
+ * @param {object[]} items The context menu items collection.
223
+ * @returns {object[]}
224
+ */
225
+ function removeDuplicatedSeparators(items) {
226
+ const result = [];
227
+ arrayEach(items, (value, index) => {
228
+ if (index > 0) {
229
+ if (result[result.length - 1].name !== value.name) {
230
+ result.push(value);
231
+ }
232
+ } else {
233
+ result.push(value);
234
+ }
235
+ });
236
+ return result;
237
+ }
238
+
239
+ /**
240
+ * Removes menu separators from the context menu items collection.
241
+ *
242
+ * @param {object[]} items The context menu items collection.
243
+ * @param {string} separator The string which identifies the context menu separator item.
244
+ * @returns {object[]}
245
+ */
246
+ export function filterSeparators(items) {
247
+ let separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : SEPARATOR;
248
+ let result = items.slice(0);
249
+ result = shiftSeparators(result, separator);
250
+ result = popSeparators(result, separator);
251
+ result = removeDuplicatedSeparators(result);
252
+ return result;
144
253
  }
@@ -20,13 +20,6 @@ function copyItem(copyPastePlugin) {
20
20
  if (this.countRows() === 0 || this.countCols() === 0) {
21
21
  return true;
22
22
  }
23
- const range = this.getSelectedRangeLast();
24
- if (!range) {
25
- return true;
26
- }
27
- if (range.isSingleHeader()) {
28
- return true;
29
- }
30
23
  const selected = this.getSelected();
31
24
 
32
25
  // Disable for no selection or for non-contiguous selection.
@@ -16,13 +16,6 @@ export default function copyItem(copyPastePlugin) {
16
16
  if (this.countRows() === 0 || this.countCols() === 0) {
17
17
  return true;
18
18
  }
19
- const range = this.getSelectedRangeLast();
20
- if (!range) {
21
- return true;
22
- }
23
- if (range.isSingleHeader()) {
24
- return true;
25
- }
26
19
  const selected = this.getSelected();
27
20
 
28
21
  // Disable for no selection or for non-contiguous selection.
@@ -3,7 +3,6 @@
3
3
  exports.__esModule = true;
4
4
  exports.default = copyColumnHeadersOnlyItem;
5
5
  var _constants = require("../../../i18n/constants");
6
- var _number = require("../../../helpers/number");
7
6
  /**
8
7
  * @param {CopyPaste} copyPastePlugin The plugin instance.
9
8
  * @returns {object}
@@ -13,7 +12,7 @@ function copyColumnHeadersOnlyItem(copyPastePlugin) {
13
12
  key: 'copy_column_headers_only',
14
13
  name() {
15
14
  const selectedRange = this.getSelectedRangeLast();
16
- const nounForm = selectedRange ? (0, _number.clamp)(selectedRange.getWidth() - 1, 0, 1) : 0;
15
+ const nounForm = selectedRange ? Math.min(selectedRange.getWidth() - 1, 1) : 0;
17
16
  return this.getTranslatedPhrase(_constants.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY, nounForm);
18
17
  },
19
18
  callback() {
@@ -23,13 +22,6 @@ function copyColumnHeadersOnlyItem(copyPastePlugin) {
23
22
  if (!this.hasColHeaders()) {
24
23
  return true;
25
24
  }
26
- const range = this.getSelectedRangeLast();
27
- if (!range) {
28
- return true;
29
- }
30
- if (range.isSingleHeader()) {
31
- return true;
32
- }
33
25
  const selected = this.getSelected();
34
26
 
35
27
  // Disable for no selection or for non-contiguous selection.
@@ -1,5 +1,4 @@
1
1
  import { CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY } from "../../../i18n/constants.mjs";
2
- import { clamp } from "../../../helpers/number.mjs";
3
2
  /**
4
3
  * @param {CopyPaste} copyPastePlugin The plugin instance.
5
4
  * @returns {object}
@@ -9,7 +8,7 @@ export default function copyColumnHeadersOnlyItem(copyPastePlugin) {
9
8
  key: 'copy_column_headers_only',
10
9
  name() {
11
10
  const selectedRange = this.getSelectedRangeLast();
12
- const nounForm = selectedRange ? clamp(selectedRange.getWidth() - 1, 0, 1) : 0;
11
+ const nounForm = selectedRange ? Math.min(selectedRange.getWidth() - 1, 1) : 0;
13
12
  return this.getTranslatedPhrase(CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY, nounForm);
14
13
  },
15
14
  callback() {
@@ -19,13 +18,6 @@ export default function copyColumnHeadersOnlyItem(copyPastePlugin) {
19
18
  if (!this.hasColHeaders()) {
20
19
  return true;
21
20
  }
22
- const range = this.getSelectedRangeLast();
23
- if (!range) {
24
- return true;
25
- }
26
- if (range.isSingleHeader()) {
27
- return true;
28
- }
29
21
  const selected = this.getSelected();
30
22
 
31
23
  // Disable for no selection or for non-contiguous selection.
@@ -3,7 +3,6 @@
3
3
  exports.__esModule = true;
4
4
  exports.default = copyWithColumnGroupHeadersItem;
5
5
  var _constants = require("../../../i18n/constants");
6
- var _number = require("../../../helpers/number");
7
6
  /**
8
7
  * @param {CopyPaste} copyPastePlugin The plugin instance.
9
8
  * @returns {object}
@@ -13,7 +12,7 @@ function copyWithColumnGroupHeadersItem(copyPastePlugin) {
13
12
  key: 'copy_with_column_group_headers',
14
13
  name() {
15
14
  const selectedRange = this.getSelectedRangeLast();
16
- const nounForm = selectedRange ? (0, _number.clamp)(selectedRange.getWidth() - 1, 0, 1) : 0;
15
+ const nounForm = selectedRange ? Math.min(selectedRange.getWidth() - 1, 1) : 0;
17
16
  return this.getTranslatedPhrase(_constants.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS, nounForm);
18
17
  },
19
18
  callback() {
@@ -23,13 +22,6 @@ function copyWithColumnGroupHeadersItem(copyPastePlugin) {
23
22
  if (!this.hasColHeaders() || !this.getSettings().nestedHeaders) {
24
23
  return true;
25
24
  }
26
- const range = this.getSelectedRangeLast();
27
- if (!range) {
28
- return true;
29
- }
30
- if (range.isSingleHeader()) {
31
- return true;
32
- }
33
25
  const selected = this.getSelected();
34
26
 
35
27
  // Disable for no selection or for non-contiguous selection.
@@ -1,5 +1,4 @@
1
1
  import { CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS } from "../../../i18n/constants.mjs";
2
- import { clamp } from "../../../helpers/number.mjs";
3
2
  /**
4
3
  * @param {CopyPaste} copyPastePlugin The plugin instance.
5
4
  * @returns {object}
@@ -9,7 +8,7 @@ export default function copyWithColumnGroupHeadersItem(copyPastePlugin) {
9
8
  key: 'copy_with_column_group_headers',
10
9
  name() {
11
10
  const selectedRange = this.getSelectedRangeLast();
12
- const nounForm = selectedRange ? clamp(selectedRange.getWidth() - 1, 0, 1) : 0;
11
+ const nounForm = selectedRange ? Math.min(selectedRange.getWidth() - 1, 1) : 0;
13
12
  return this.getTranslatedPhrase(CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS, nounForm);
14
13
  },
15
14
  callback() {
@@ -19,13 +18,6 @@ export default function copyWithColumnGroupHeadersItem(copyPastePlugin) {
19
18
  if (!this.hasColHeaders() || !this.getSettings().nestedHeaders) {
20
19
  return true;
21
20
  }
22
- const range = this.getSelectedRangeLast();
23
- if (!range) {
24
- return true;
25
- }
26
- if (range.isSingleHeader()) {
27
- return true;
28
- }
29
21
  const selected = this.getSelected();
30
22
 
31
23
  // Disable for no selection or for non-contiguous selection.
@@ -3,7 +3,6 @@
3
3
  exports.__esModule = true;
4
4
  exports.default = copyWithColumnHeadersItem;
5
5
  var _constants = require("../../../i18n/constants");
6
- var _number = require("../../../helpers/number");
7
6
  /**
8
7
  * @param {CopyPaste} copyPastePlugin The plugin instance.
9
8
  * @returns {object}
@@ -13,7 +12,7 @@ function copyWithColumnHeadersItem(copyPastePlugin) {
13
12
  key: 'copy_with_column_headers',
14
13
  name() {
15
14
  const selectedRange = this.getSelectedRangeLast();
16
- const nounForm = selectedRange ? (0, _number.clamp)(selectedRange.getWidth() - 1, 0, 1) : 0;
15
+ const nounForm = selectedRange ? Math.min(selectedRange.getWidth() - 1, 1) : 0;
17
16
  return this.getTranslatedPhrase(_constants.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS, nounForm);
18
17
  },
19
18
  callback() {
@@ -23,13 +22,6 @@ function copyWithColumnHeadersItem(copyPastePlugin) {
23
22
  if (!this.hasColHeaders()) {
24
23
  return true;
25
24
  }
26
- const range = this.getSelectedRangeLast();
27
- if (!range) {
28
- return true;
29
- }
30
- if (range.isSingleHeader()) {
31
- return true;
32
- }
33
25
  const selected = this.getSelected();
34
26
 
35
27
  // Disable for no selection or for non-contiguous selection.
@@ -1,5 +1,4 @@
1
1
  import { CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS } from "../../../i18n/constants.mjs";
2
- import { clamp } from "../../../helpers/number.mjs";
3
2
  /**
4
3
  * @param {CopyPaste} copyPastePlugin The plugin instance.
5
4
  * @returns {object}
@@ -9,7 +8,7 @@ export default function copyWithColumnHeadersItem(copyPastePlugin) {
9
8
  key: 'copy_with_column_headers',
10
9
  name() {
11
10
  const selectedRange = this.getSelectedRangeLast();
12
- const nounForm = selectedRange ? clamp(selectedRange.getWidth() - 1, 0, 1) : 0;
11
+ const nounForm = selectedRange ? Math.min(selectedRange.getWidth() - 1, 1) : 0;
13
12
  return this.getTranslatedPhrase(CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS, nounForm);
14
13
  },
15
14
  callback() {
@@ -19,13 +18,6 @@ export default function copyWithColumnHeadersItem(copyPastePlugin) {
19
18
  if (!this.hasColHeaders()) {
20
19
  return true;
21
20
  }
22
- const range = this.getSelectedRangeLast();
23
- if (!range) {
24
- return true;
25
- }
26
- if (range.isSingleHeader()) {
27
- return true;
28
- }
29
21
  const selected = this.getSelected();
30
22
 
31
23
  // Disable for no selection or for non-contiguous selection.
@@ -22,13 +22,6 @@ function cutItem(copyPastePlugin) {
22
22
  if (this.countRows() === 0 || this.countCols() === 0) {
23
23
  return true;
24
24
  }
25
- const range = this.getSelectedRangeLast();
26
- if (!range) {
27
- return true;
28
- }
29
- if (range.isSingleHeader()) {
30
- return true;
31
- }
32
25
  const selected = this.getSelected();
33
26
 
34
27
  // Disable for no selection or for non-contiquous selection.
@@ -16,13 +16,6 @@ export default function cutItem(copyPastePlugin) {
16
16
  if (this.countRows() === 0 || this.countCols() === 0) {
17
17
  return true;
18
18
  }
19
- const range = this.getSelectedRangeLast();
20
- if (!range) {
21
- return true;
22
- }
23
- if (range.isSingleHeader()) {
24
- return true;
25
- }
26
19
  const selected = this.getSelected();
27
20
 
28
21
  // Disable for no selection or for non-contiquous selection.