handsontable 0.0.0-next-6d7bdba-20230620 → 0.0.0-next-06a64be-20230621

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 (281) 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 +12 -61
  5. package/3rdparty/walkontable/src/cell/coords.mjs +12 -61
  6. package/3rdparty/walkontable/src/cell/range.d.ts +2 -9
  7. package/3rdparty/walkontable/src/cell/range.js +7 -44
  8. package/3rdparty/walkontable/src/cell/range.mjs +7 -44
  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 +7 -7
  16. package/3rdparty/walkontable/src/event.mjs +7 -7
  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 +1 -1
  22. package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
  23. package/3rdparty/walkontable/src/overlay/inlineStart.js +4 -2
  24. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +4 -2
  25. package/3rdparty/walkontable/src/overlay/top.js +4 -2
  26. package/3rdparty/walkontable/src/overlay/top.mjs +4 -2
  27. package/3rdparty/walkontable/src/selection.js +355 -0
  28. package/3rdparty/walkontable/src/selection.mjs +349 -0
  29. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -9
  30. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -9
  31. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -9
  32. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -9
  33. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +0 -9
  34. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +0 -9
  35. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +0 -9
  36. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +0 -9
  37. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +0 -9
  38. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +0 -9
  39. package/3rdparty/walkontable/src/table.js +79 -7
  40. package/3rdparty/walkontable/src/table.mjs +80 -8
  41. package/base.js +2 -2
  42. package/base.mjs +2 -2
  43. package/core.d.ts +3 -5
  44. package/core.js +309 -127
  45. package/core.mjs +309 -127
  46. package/dataMap/metaManager/metaSchema.js +0 -19
  47. package/dataMap/metaManager/metaSchema.mjs +0 -19
  48. package/dist/handsontable.css +3 -8
  49. package/dist/handsontable.full.css +3 -8
  50. package/dist/handsontable.full.js +10685 -13607
  51. package/dist/handsontable.full.min.css +3 -3
  52. package/dist/handsontable.full.min.js +112 -112
  53. package/dist/handsontable.js +13664 -16586
  54. package/dist/handsontable.min.css +3 -3
  55. package/dist/handsontable.min.js +4 -4
  56. package/editorManager.js +94 -21
  57. package/editorManager.mjs +98 -26
  58. package/editors/textEditor/textEditor.js +11 -3
  59. package/editors/textEditor/textEditor.mjs +12 -4
  60. package/helpers/mixed.js +1 -1
  61. package/helpers/mixed.mjs +1 -1
  62. package/helpers/number.d.ts +0 -1
  63. package/helpers/number.js +0 -18
  64. package/helpers/number.mjs +0 -17
  65. package/package.json +1 -1
  66. package/pluginHooks.d.ts +1 -5
  67. package/pluginHooks.js +1 -89
  68. package/pluginHooks.mjs +1 -89
  69. package/plugins/collapsibleColumns/collapsibleColumns.js +24 -81
  70. package/plugins/collapsibleColumns/collapsibleColumns.mjs +24 -81
  71. package/plugins/columnSorting/columnSorting.js +8 -50
  72. package/plugins/columnSorting/columnSorting.mjs +9 -49
  73. package/plugins/columnSorting/index.js +2 -4
  74. package/plugins/columnSorting/index.mjs +1 -1
  75. package/plugins/comments/comments.js +4 -11
  76. package/plugins/comments/comments.mjs +4 -11
  77. package/plugins/contextMenu/contextMenu.d.ts +1 -1
  78. package/plugins/contextMenu/contextMenu.js +29 -80
  79. package/plugins/contextMenu/contextMenu.mjs +30 -81
  80. package/plugins/contextMenu/predefinedItems/alignment.js +0 -7
  81. package/plugins/contextMenu/predefinedItems/alignment.mjs +0 -7
  82. package/plugins/contextMenu/predefinedItems/clearColumn.js +3 -5
  83. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +3 -5
  84. package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -5
  85. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -5
  86. package/plugins/contextMenu/predefinedItems/columnRight.js +3 -5
  87. package/plugins/contextMenu/predefinedItems/columnRight.mjs +3 -5
  88. package/plugins/contextMenu/predefinedItems/readOnly.js +0 -7
  89. package/plugins/contextMenu/predefinedItems/readOnly.mjs +0 -7
  90. package/plugins/contextMenu/predefinedItems/removeColumn.js +5 -7
  91. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -5
  92. package/plugins/contextMenu/predefinedItems/removeRow.js +5 -7
  93. package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -5
  94. package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -5
  95. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -5
  96. package/plugins/contextMenu/predefinedItems/rowBelow.js +3 -5
  97. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +3 -5
  98. package/plugins/contextMenu/utils.js +16 -25
  99. package/plugins/contextMenu/utils.mjs +15 -24
  100. package/plugins/copyPaste/contextMenuItem/copy.js +0 -7
  101. package/plugins/copyPaste/contextMenuItem/copy.mjs +0 -7
  102. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +1 -9
  103. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +1 -9
  104. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +1 -9
  105. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +1 -9
  106. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +1 -9
  107. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +1 -9
  108. package/plugins/copyPaste/contextMenuItem/cut.js +0 -7
  109. package/plugins/copyPaste/contextMenuItem/cut.mjs +0 -7
  110. package/plugins/copyPaste/copyPaste.js +1 -5
  111. package/plugins/copyPaste/copyPaste.mjs +1 -5
  112. package/plugins/customBorders/customBorders.js +53 -25
  113. package/plugins/customBorders/customBorders.mjs +54 -26
  114. package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
  115. package/plugins/dropdownMenu/dropdownMenu.js +30 -94
  116. package/plugins/dropdownMenu/dropdownMenu.mjs +30 -94
  117. package/plugins/manualColumnResize/manualColumnResize.js +36 -5
  118. package/plugins/manualColumnResize/manualColumnResize.mjs +36 -5
  119. package/plugins/manualRowResize/manualRowResize.js +40 -9
  120. package/plugins/manualRowResize/manualRowResize.mjs +40 -9
  121. package/plugins/mergeCells/mergeCells.js +18 -5
  122. package/plugins/mergeCells/mergeCells.mjs +18 -5
  123. package/plugins/multiColumnSorting/multiColumnSorting.js +3 -42
  124. package/plugins/multiColumnSorting/multiColumnSorting.mjs +3 -42
  125. package/plugins/nestedHeaders/nestedHeaders.js +10 -132
  126. package/plugins/nestedHeaders/nestedHeaders.mjs +10 -132
  127. package/plugins/nestedHeaders/stateManager/index.js +0 -37
  128. package/plugins/nestedHeaders/stateManager/index.mjs +0 -37
  129. package/plugins/nestedRows/nestedRows.js +7 -52
  130. package/plugins/nestedRows/nestedRows.mjs +7 -52
  131. package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
  132. package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
  133. package/selection/highlight/constants.js +16 -0
  134. package/selection/highlight/constants.mjs +6 -0
  135. package/selection/highlight/highlight.js +89 -312
  136. package/selection/highlight/highlight.mjs +85 -302
  137. package/selection/highlight/types/activeHeader.js +9 -10
  138. package/selection/highlight/types/activeHeader.mjs +8 -10
  139. package/selection/highlight/types/area.js +27 -12
  140. package/selection/highlight/types/area.mjs +30 -16
  141. package/selection/highlight/types/{focus.js → cell.js} +8 -5
  142. package/selection/highlight/types/{focus.mjs → cell.mjs} +7 -5
  143. package/selection/highlight/types/customSelection.js +10 -7
  144. package/selection/highlight/types/customSelection.mjs +9 -7
  145. package/selection/highlight/types/fill.js +8 -5
  146. package/selection/highlight/types/fill.mjs +7 -5
  147. package/selection/highlight/types/header.js +20 -10
  148. package/selection/highlight/types/header.mjs +19 -10
  149. package/selection/highlight/types/{row.js → index.js} +31 -27
  150. package/selection/highlight/types/{row.mjs → index.mjs} +29 -24
  151. package/selection/highlight/visualSelection.js +27 -31
  152. package/selection/highlight/visualSelection.mjs +27 -31
  153. package/selection/index.js +7 -4
  154. package/selection/index.mjs +3 -2
  155. package/selection/mouseEventHandler.js +1 -1
  156. package/selection/mouseEventHandler.mjs +1 -1
  157. package/selection/range.js +8 -8
  158. package/selection/range.mjs +8 -8
  159. package/selection/selection.js +181 -315
  160. package/selection/selection.mjs +180 -310
  161. package/selection/transformation.js +96 -233
  162. package/selection/transformation.mjs +93 -230
  163. package/selection/utils.js +36 -12
  164. package/selection/utils.mjs +36 -13
  165. package/settings.d.ts +0 -1
  166. package/shortcuts/manager.js +0 -2
  167. package/shortcuts/manager.mjs +0 -2
  168. package/shortcuts/recorder.js +2 -2
  169. package/shortcuts/recorder.mjs +2 -2
  170. package/shortcuts/utils.js +5 -21
  171. package/shortcuts/utils.mjs +4 -20
  172. package/tableView.js +9 -58
  173. package/tableView.mjs +9 -58
  174. package/translations/indexMapper.js +9 -8
  175. package/translations/indexMapper.mjs +9 -8
  176. package/3rdparty/walkontable/src/selection/border/constants.js +0 -18
  177. package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -13
  178. package/3rdparty/walkontable/src/selection/constants.js +0 -63
  179. package/3rdparty/walkontable/src/selection/constants.mjs +0 -51
  180. package/3rdparty/walkontable/src/selection/index.js +0 -30
  181. package/3rdparty/walkontable/src/selection/index.mjs +0 -5
  182. package/3rdparty/walkontable/src/selection/manager.js +0 -329
  183. package/3rdparty/walkontable/src/selection/manager.mjs +0 -323
  184. package/3rdparty/walkontable/src/selection/scanner.js +0 -364
  185. package/3rdparty/walkontable/src/selection/scanner.mjs +0 -360
  186. package/3rdparty/walkontable/src/selection/selection.js +0 -133
  187. package/3rdparty/walkontable/src/selection/selection.mjs +0 -127
  188. package/selection/highlight/types/areaLayered.js +0 -54
  189. package/selection/highlight/types/areaLayered.mjs +0 -49
  190. package/selection/highlight/types/column.js +0 -50
  191. package/selection/highlight/types/column.mjs +0 -45
  192. package/shortcutContexts/commands/editor/closeAndSave.js +0 -15
  193. package/shortcutContexts/commands/editor/closeAndSave.mjs +0 -10
  194. package/shortcutContexts/commands/editor/closeWithoutSaving.js +0 -13
  195. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +0 -8
  196. package/shortcutContexts/commands/editor/fastOpen.js +0 -16
  197. package/shortcutContexts/commands/editor/fastOpen.mjs +0 -11
  198. package/shortcutContexts/commands/editor/index.js +0 -16
  199. package/shortcutContexts/commands/editor/index.mjs +0 -12
  200. package/shortcutContexts/commands/editor/open.js +0 -29
  201. package/shortcutContexts/commands/editor/open.mjs +0 -24
  202. package/shortcutContexts/commands/emptySelectedCells.js +0 -12
  203. package/shortcutContexts/commands/emptySelectedCells.mjs +0 -7
  204. package/shortcutContexts/commands/extendCellsSelection/down.js +0 -15
  205. package/shortcutContexts/commands/extendCellsSelection/down.mjs +0 -10
  206. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +0 -21
  207. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +0 -16
  208. package/shortcutContexts/commands/extendCellsSelection/index.js +0 -26
  209. package/shortcutContexts/commands/extendCellsSelection/index.mjs +0 -22
  210. package/shortcutContexts/commands/extendCellsSelection/left.js +0 -15
  211. package/shortcutContexts/commands/extendCellsSelection/left.mjs +0 -10
  212. package/shortcutContexts/commands/extendCellsSelection/right.js +0 -15
  213. package/shortcutContexts/commands/extendCellsSelection/right.mjs +0 -10
  214. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +0 -19
  215. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +0 -14
  216. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +0 -22
  217. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +0 -17
  218. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +0 -17
  219. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +0 -12
  220. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +0 -17
  221. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +0 -12
  222. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +0 -40
  223. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +0 -35
  224. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +0 -40
  225. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +0 -35
  226. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +0 -22
  227. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +0 -17
  228. package/shortcutContexts/commands/extendCellsSelection/toRows.js +0 -19
  229. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +0 -14
  230. package/shortcutContexts/commands/extendCellsSelection/up.js +0 -15
  231. package/shortcutContexts/commands/extendCellsSelection/up.mjs +0 -10
  232. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +0 -21
  233. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +0 -16
  234. package/shortcutContexts/commands/index.js +0 -52
  235. package/shortcutContexts/commands/index.mjs +0 -48
  236. package/shortcutContexts/commands/moveCellSelection/down.js +0 -12
  237. package/shortcutContexts/commands/moveCellSelection/down.mjs +0 -7
  238. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +0 -29
  239. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +0 -24
  240. package/shortcutContexts/commands/moveCellSelection/index.js +0 -28
  241. package/shortcutContexts/commands/moveCellSelection/index.mjs +0 -24
  242. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +0 -13
  243. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +0 -8
  244. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +0 -13
  245. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +0 -8
  246. package/shortcutContexts/commands/moveCellSelection/left.js +0 -11
  247. package/shortcutContexts/commands/moveCellSelection/left.mjs +0 -6
  248. package/shortcutContexts/commands/moveCellSelection/right.js +0 -11
  249. package/shortcutContexts/commands/moveCellSelection/right.mjs +0 -6
  250. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +0 -16
  251. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +0 -11
  252. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +0 -17
  253. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +0 -12
  254. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +0 -13
  255. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +0 -8
  256. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +0 -16
  257. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +0 -11
  258. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +0 -36
  259. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +0 -31
  260. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +0 -36
  261. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +0 -31
  262. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +0 -16
  263. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +0 -11
  264. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +0 -18
  265. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +0 -13
  266. package/shortcutContexts/commands/moveCellSelection/up.js +0 -12
  267. package/shortcutContexts/commands/moveCellSelection/up.mjs +0 -7
  268. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +0 -29
  269. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +0 -24
  270. package/shortcutContexts/commands/populateSelectedCellsData.js +0 -35
  271. package/shortcutContexts/commands/populateSelectedCellsData.mjs +0 -30
  272. package/shortcutContexts/commands/selectAll.js +0 -11
  273. package/shortcutContexts/commands/selectAll.mjs +0 -6
  274. package/shortcutContexts/constants.js +0 -19
  275. package/shortcutContexts/constants.mjs +0 -12
  276. package/shortcutContexts/editor.js +0 -29
  277. package/shortcutContexts/editor.mjs +0 -25
  278. package/shortcutContexts/grid.js +0 -244
  279. package/shortcutContexts/grid.mjs +0 -240
  280. package/shortcutContexts/index.js +0 -29
  281. package/shortcutContexts/index.mjs +0 -15
@@ -53,6 +53,21 @@ export function isSelectionDisabled(cell) {
53
53
  return hasClass(cell, 'htSelectionDisabled');
54
54
  }
55
55
 
56
+ /**
57
+ * @param {Core} hot The Handsontable instance.
58
+ * @returns {Array[]|null}
59
+ */
60
+ export function getValidSelection(hot) {
61
+ var selected = hot.getSelected();
62
+ if (!selected) {
63
+ return null;
64
+ }
65
+ if (selected[0] < 0) {
66
+ return null;
67
+ }
68
+ return selected;
69
+ }
70
+
56
71
  /**
57
72
  * @param {string} className The full element class name to process.
58
73
  * @param {string} alignment The slignment class name to compare with.
@@ -243,28 +258,4 @@ export function filterSeparators(items) {
243
258
  result = popSeparators(result, separator);
244
259
  result = removeDuplicatedSeparators(result);
245
260
  return result;
246
- }
247
-
248
- /**
249
- * Returns document offset based on the passed element. If the document objects between element and the
250
- * base document are not the same the offset as top and left properties will be returned.
251
- *
252
- * @param {Element} elementToCheck The element to compare with Document object.
253
- * @param {Document} baseDocument The base Document object.
254
- * @returns {{ top: number, left: number }}
255
- */
256
- export function getDocumentOffsetByElement(elementToCheck, baseDocument) {
257
- var offset = {
258
- top: 0,
259
- left: 0
260
- };
261
- if (baseDocument !== elementToCheck.ownerDocument) {
262
- var frameElement = baseDocument.defaultView.frameElement;
263
- var _frameElement$getBoun = frameElement.getBoundingClientRect(),
264
- top = _frameElement$getBoun.top,
265
- left = _frameElement$getBoun.left;
266
- offset.top = top;
267
- offset.left = left;
268
- }
269
- return offset;
270
261
  }
@@ -20,13 +20,6 @@ function copyItem(copyPastePlugin) {
20
20
  if (this.countRows() === 0 || this.countCols() === 0) {
21
21
  return true;
22
22
  }
23
- var range = this.getSelectedRangeLast();
24
- if (!range) {
25
- return true;
26
- }
27
- if (range.isSingleHeader()) {
28
- return true;
29
- }
30
23
  var 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
- var range = this.getSelectedRangeLast();
20
- if (!range) {
21
- return true;
22
- }
23
- if (range.isSingleHeader()) {
24
- return true;
25
- }
26
19
  var 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: function name() {
15
14
  var selectedRange = this.getSelectedRangeLast();
16
- var nounForm = selectedRange ? (0, _number.clamp)(selectedRange.getWidth() - 1, 0, 1) : 0;
15
+ var 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: function callback() {
@@ -23,13 +22,6 @@ function copyColumnHeadersOnlyItem(copyPastePlugin) {
23
22
  if (!this.hasColHeaders()) {
24
23
  return true;
25
24
  }
26
- var range = this.getSelectedRangeLast();
27
- if (!range) {
28
- return true;
29
- }
30
- if (range.isSingleHeader()) {
31
- return true;
32
- }
33
25
  var 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: function name() {
11
10
  var selectedRange = this.getSelectedRangeLast();
12
- var nounForm = selectedRange ? clamp(selectedRange.getWidth() - 1, 0, 1) : 0;
11
+ var 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: function callback() {
@@ -19,13 +18,6 @@ export default function copyColumnHeadersOnlyItem(copyPastePlugin) {
19
18
  if (!this.hasColHeaders()) {
20
19
  return true;
21
20
  }
22
- var range = this.getSelectedRangeLast();
23
- if (!range) {
24
- return true;
25
- }
26
- if (range.isSingleHeader()) {
27
- return true;
28
- }
29
21
  var 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: function name() {
15
14
  var selectedRange = this.getSelectedRangeLast();
16
- var nounForm = selectedRange ? (0, _number.clamp)(selectedRange.getWidth() - 1, 0, 1) : 0;
15
+ var 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: function callback() {
@@ -23,13 +22,6 @@ function copyWithColumnGroupHeadersItem(copyPastePlugin) {
23
22
  if (!this.hasColHeaders() || !this.getSettings().nestedHeaders) {
24
23
  return true;
25
24
  }
26
- var range = this.getSelectedRangeLast();
27
- if (!range) {
28
- return true;
29
- }
30
- if (range.isSingleHeader()) {
31
- return true;
32
- }
33
25
  var 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: function name() {
11
10
  var selectedRange = this.getSelectedRangeLast();
12
- var nounForm = selectedRange ? clamp(selectedRange.getWidth() - 1, 0, 1) : 0;
11
+ var 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: function 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
- var range = this.getSelectedRangeLast();
23
- if (!range) {
24
- return true;
25
- }
26
- if (range.isSingleHeader()) {
27
- return true;
28
- }
29
21
  var 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: function name() {
15
14
  var selectedRange = this.getSelectedRangeLast();
16
- var nounForm = selectedRange ? (0, _number.clamp)(selectedRange.getWidth() - 1, 0, 1) : 0;
15
+ var 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: function callback() {
@@ -23,13 +22,6 @@ function copyWithColumnHeadersItem(copyPastePlugin) {
23
22
  if (!this.hasColHeaders()) {
24
23
  return true;
25
24
  }
26
- var range = this.getSelectedRangeLast();
27
- if (!range) {
28
- return true;
29
- }
30
- if (range.isSingleHeader()) {
31
- return true;
32
- }
33
25
  var 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: function name() {
11
10
  var selectedRange = this.getSelectedRangeLast();
12
- var nounForm = selectedRange ? clamp(selectedRange.getWidth() - 1, 0, 1) : 0;
11
+ var 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: function callback() {
@@ -19,13 +18,6 @@ export default function copyWithColumnHeadersItem(copyPastePlugin) {
19
18
  if (!this.hasColHeaders()) {
20
19
  return true;
21
20
  }
22
- var range = this.getSelectedRangeLast();
23
- if (!range) {
24
- return true;
25
- }
26
- if (range.isSingleHeader()) {
27
- return true;
28
- }
29
21
  var selected = this.getSelected();
30
22
 
31
23
  // Disable for no selection or for non-contiguous selection.
@@ -32,13 +32,6 @@ function cutItem(copyPastePlugin) {
32
32
  if (this.countRows() === 0 || this.countCols() === 0) {
33
33
  return true;
34
34
  }
35
- var range = this.getSelectedRangeLast();
36
- if (!range) {
37
- return true;
38
- }
39
- if (range.isSingleHeader()) {
40
- return true;
41
- }
42
35
  var selected = this.getSelected();
43
36
 
44
37
  // 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
- var range = this.getSelectedRangeLast();
20
- if (!range) {
21
- return true;
22
- }
23
- if (range.isSingleHeader()) {
24
- return true;
25
- }
26
19
  var selected = this.getSelected();
27
20
 
28
21
  // Disable for no selection or for non-contiquous selection.
@@ -528,10 +528,6 @@ var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
528
528
  if (!selectionRange) {
529
529
  return;
530
530
  }
531
- if (selectionRange.isSingleHeader()) {
532
- this.copyableRanges = [];
533
- return;
534
- }
535
531
  _classPrivateFieldGet(this, _copyableRangesFactory).setSelectedRange(selectionRange);
536
532
  var groupedRanges = new Map([['headers', null], ['cells', null]]);
537
533
  if (_classPrivateFieldGet(this, _copyMode) === 'column-headers-only') {
@@ -760,7 +756,7 @@ var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
760
756
  if (typeof pastedData === 'string') {
761
757
  pastedData = (0, _SheetClip.parse)(pastedData);
762
758
  }
763
- if (pastedData === void 0 || pastedData && pastedData.length === 0) {
759
+ if (pastedData && pastedData.length === 0) {
764
760
  return;
765
761
  }
766
762
  if (this.hot.runHooks('beforePaste', pastedData, this.copyableRanges) === false) {
@@ -521,10 +521,6 @@ export var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
521
521
  if (!selectionRange) {
522
522
  return;
523
523
  }
524
- if (selectionRange.isSingleHeader()) {
525
- this.copyableRanges = [];
526
- return;
527
- }
528
524
  _classPrivateFieldGet(this, _copyableRangesFactory).setSelectedRange(selectionRange);
529
525
  var groupedRanges = new Map([['headers', null], ['cells', null]]);
530
526
  if (_classPrivateFieldGet(this, _copyMode) === 'column-headers-only') {
@@ -753,7 +749,7 @@ export var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
753
749
  if (typeof pastedData === 'string') {
754
750
  pastedData = parse(pastedData);
755
751
  }
756
- if (pastedData === void 0 || pastedData && pastedData.length === 0) {
752
+ if (pastedData && pastedData.length === 0) {
757
753
  return;
758
754
  }
759
755
  if (this.hot.runHooks('beforePaste', pastedData, this.copyableRanges) === false) {
@@ -9,6 +9,11 @@ require("core-js/modules/es.symbol.iterator.js");
9
9
  require("core-js/modules/es.array.iterator.js");
10
10
  require("core-js/modules/es.string.iterator.js");
11
11
  require("core-js/modules/web.dom-collections.iterator.js");
12
+ require("core-js/modules/es.array.slice.js");
13
+ require("core-js/modules/es.regexp.to-string.js");
14
+ require("core-js/modules/es.function.name.js");
15
+ require("core-js/modules/es.array.from.js");
16
+ require("core-js/modules/es.regexp.exec.js");
12
17
  require("core-js/modules/es.weak-map.js");
13
18
  exports.__esModule = true;
14
19
  exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.CustomBorders = void 0;
@@ -34,6 +39,12 @@ var _selection = require("../../selection");
34
39
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
40
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
36
41
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
42
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
43
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
44
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
45
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
46
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
47
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
37
48
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
38
49
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
39
50
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
@@ -219,11 +230,25 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
219
230
  var selectionType = (0, _selection.detectSelectionType)(selectionRanges);
220
231
  var selectionSchemaNormalizer = (0, _selection.normalizeSelectionFactory)(selectionType);
221
232
  (0, _array.arrayEach)(selectionRanges, function (selection) {
222
- selectionSchemaNormalizer(selection).forAll(function (row, col) {
223
- (0, _array.arrayEach)(borderKeys, function (borderKey) {
224
- _this3.prepareBorderFromCustomAdded(row, col, normBorder, (0, _utils.toInlinePropName)(borderKey));
225
- });
226
- });
233
+ var _selectionSchemaNorma = selectionSchemaNormalizer(selection),
234
+ _selectionSchemaNorma2 = _slicedToArray(_selectionSchemaNorma, 4),
235
+ rowStart = _selectionSchemaNorma2[0],
236
+ columnStart = _selectionSchemaNorma2[1],
237
+ rowEnd = _selectionSchemaNorma2[2],
238
+ columnEnd = _selectionSchemaNorma2[3];
239
+ var _loop = function _loop(row) {
240
+ var _loop2 = function _loop2(col) {
241
+ (0, _array.arrayEach)(borderKeys, function (borderKey) {
242
+ _this3.prepareBorderFromCustomAdded(row, col, normBorder, (0, _utils.toInlinePropName)(borderKey));
243
+ });
244
+ };
245
+ for (var col = columnStart; col <= columnEnd; col += 1) {
246
+ _loop2(col);
247
+ }
248
+ };
249
+ for (var row = rowStart; row <= rowEnd; row += 1) {
250
+ _loop(row);
251
+ }
227
252
  });
228
253
 
229
254
  /*
@@ -266,13 +291,27 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
266
291
  var selectionSchemaNormalizer = (0, _selection.normalizeSelectionFactory)(selectionType);
267
292
  var selectedBorders = [];
268
293
  (0, _array.arrayEach)(selectionRanges, function (selection) {
269
- selectionSchemaNormalizer(selection).forAll(function (row, col) {
270
- (0, _array.arrayEach)(_this4.savedBorders, function (border) {
271
- if (border.row === row && border.col === col) {
272
- selectedBorders.push((0, _utils.denormalizeBorder)(border));
273
- }
274
- });
275
- });
294
+ var _selectionSchemaNorma3 = selectionSchemaNormalizer(selection),
295
+ _selectionSchemaNorma4 = _slicedToArray(_selectionSchemaNorma3, 4),
296
+ rowStart = _selectionSchemaNorma4[0],
297
+ columnStart = _selectionSchemaNorma4[1],
298
+ rowEnd = _selectionSchemaNorma4[2],
299
+ columnEnd = _selectionSchemaNorma4[3];
300
+ var _loop3 = function _loop3(row) {
301
+ var _loop4 = function _loop4(col) {
302
+ (0, _array.arrayEach)(_this4.savedBorders, function (border) {
303
+ if (border.row === row && border.col === col) {
304
+ selectedBorders.push((0, _utils.denormalizeBorder)(border));
305
+ }
306
+ });
307
+ };
308
+ for (var col = columnStart; col <= columnEnd; col += 1) {
309
+ _loop4(col);
310
+ }
311
+ };
312
+ for (var row = rowStart; row <= rowEnd; row += 1) {
313
+ _loop3(row);
314
+ }
276
315
  });
277
316
  return selectedBorders;
278
317
  }
@@ -697,12 +736,10 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
697
736
  }, {
698
737
  key: "checkCustomSelectionsFromContextMenu",
699
738
  value: function checkCustomSelectionsFromContextMenu(border, place, remove) {
700
- var _this12 = this;
701
739
  var check = false;
702
740
  (0, _array.arrayEach)(this.hot.selection.highlight.customSelections, function (customSelection) {
703
741
  if (border.id === customSelection.settings.id) {
704
- var borders = _this12.hot.view._wt.selectionManager.getBorderInstances(customSelection);
705
- (0, _array.arrayEach)(borders, function (borderObject) {
742
+ (0, _object.objectEach)(customSelection.instanceBorders, function (borderObject) {
706
743
  borderObject.toggleHiddenClass(place, remove); // TODO this also bad?
707
744
  });
708
745
 
@@ -727,7 +764,6 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
727
764
  }, {
728
765
  key: "checkCustomSelections",
729
766
  value: function checkCustomSelections(border, cellRange, place) {
730
- var _this13 = this;
731
767
  var hideCount = this.countHide(border);
732
768
  var check = false;
733
769
  if (hideCount === 4) {
@@ -739,8 +775,7 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
739
775
  customSelection.visualCellRange = cellRange;
740
776
  customSelection.commit();
741
777
  if (place) {
742
- var borders = _this13.hot.view._wt.selectionManager.getBorderInstances(customSelection);
743
- (0, _array.arrayEach)(borders, function (borderObject) {
778
+ (0, _object.objectEach)(customSelection.instanceBorders, function (borderObject) {
744
779
  borderObject.changeBorderStyle(place, border);
745
780
  });
746
781
  }
@@ -814,13 +849,6 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
814
849
  return this.getTranslatedPhrase(C.CONTEXTMENU_ITEMS_BORDERS);
815
850
  },
816
851
  disabled: function disabled() {
817
- var range = this.getSelectedRangeLast();
818
- if (!range) {
819
- return true;
820
- }
821
- if (range.isSingleHeader()) {
822
- return true;
823
- }
824
852
  return this.selection.isSelectedByCorner();
825
853
  },
826
854
  submenu: {
@@ -1,4 +1,10 @@
1
1
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
3
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
5
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
6
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
7
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
2
8
  import "core-js/modules/es.array.concat.js";
3
9
  import "core-js/modules/es.object.keys.js";
4
10
  import "core-js/modules/es.object.assign.js";
@@ -19,6 +25,11 @@ import "core-js/modules/es.symbol.iterator.js";
19
25
  import "core-js/modules/es.array.iterator.js";
20
26
  import "core-js/modules/es.string.iterator.js";
21
27
  import "core-js/modules/web.dom-collections.iterator.js";
28
+ import "core-js/modules/es.array.slice.js";
29
+ import "core-js/modules/es.regexp.to-string.js";
30
+ import "core-js/modules/es.function.name.js";
31
+ import "core-js/modules/es.array.from.js";
32
+ import "core-js/modules/es.regexp.exec.js";
22
33
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
23
34
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
24
35
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
@@ -35,7 +46,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
35
46
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
36
47
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
37
48
  import { BasePlugin } from "../base/index.mjs";
38
- import { hasOwnProperty, deepClone } from "../../helpers/object.mjs";
49
+ import { hasOwnProperty, objectEach, deepClone } from "../../helpers/object.mjs";
39
50
  import { rangeEach } from "../../helpers/number.mjs";
40
51
  import { arrayEach, arrayReduce, arrayMap } from "../../helpers/array.mjs";
41
52
  import * as C from "../../i18n/constants.mjs";
@@ -210,11 +221,25 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
210
221
  var selectionType = detectSelectionType(selectionRanges);
211
222
  var selectionSchemaNormalizer = normalizeSelectionFactory(selectionType);
212
223
  arrayEach(selectionRanges, function (selection) {
213
- selectionSchemaNormalizer(selection).forAll(function (row, col) {
214
- arrayEach(borderKeys, function (borderKey) {
215
- _this3.prepareBorderFromCustomAdded(row, col, normBorder, toInlinePropName(borderKey));
216
- });
217
- });
224
+ var _selectionSchemaNorma = selectionSchemaNormalizer(selection),
225
+ _selectionSchemaNorma2 = _slicedToArray(_selectionSchemaNorma, 4),
226
+ rowStart = _selectionSchemaNorma2[0],
227
+ columnStart = _selectionSchemaNorma2[1],
228
+ rowEnd = _selectionSchemaNorma2[2],
229
+ columnEnd = _selectionSchemaNorma2[3];
230
+ var _loop = function _loop(row) {
231
+ var _loop2 = function _loop2(col) {
232
+ arrayEach(borderKeys, function (borderKey) {
233
+ _this3.prepareBorderFromCustomAdded(row, col, normBorder, toInlinePropName(borderKey));
234
+ });
235
+ };
236
+ for (var col = columnStart; col <= columnEnd; col += 1) {
237
+ _loop2(col);
238
+ }
239
+ };
240
+ for (var row = rowStart; row <= rowEnd; row += 1) {
241
+ _loop(row);
242
+ }
218
243
  });
219
244
 
220
245
  /*
@@ -257,13 +282,27 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
257
282
  var selectionSchemaNormalizer = normalizeSelectionFactory(selectionType);
258
283
  var selectedBorders = [];
259
284
  arrayEach(selectionRanges, function (selection) {
260
- selectionSchemaNormalizer(selection).forAll(function (row, col) {
261
- arrayEach(_this4.savedBorders, function (border) {
262
- if (border.row === row && border.col === col) {
263
- selectedBorders.push(denormalizeBorder(border));
264
- }
265
- });
266
- });
285
+ var _selectionSchemaNorma3 = selectionSchemaNormalizer(selection),
286
+ _selectionSchemaNorma4 = _slicedToArray(_selectionSchemaNorma3, 4),
287
+ rowStart = _selectionSchemaNorma4[0],
288
+ columnStart = _selectionSchemaNorma4[1],
289
+ rowEnd = _selectionSchemaNorma4[2],
290
+ columnEnd = _selectionSchemaNorma4[3];
291
+ var _loop3 = function _loop3(row) {
292
+ var _loop4 = function _loop4(col) {
293
+ arrayEach(_this4.savedBorders, function (border) {
294
+ if (border.row === row && border.col === col) {
295
+ selectedBorders.push(denormalizeBorder(border));
296
+ }
297
+ });
298
+ };
299
+ for (var col = columnStart; col <= columnEnd; col += 1) {
300
+ _loop4(col);
301
+ }
302
+ };
303
+ for (var row = rowStart; row <= rowEnd; row += 1) {
304
+ _loop3(row);
305
+ }
267
306
  });
268
307
  return selectedBorders;
269
308
  }
@@ -688,12 +727,10 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
688
727
  }, {
689
728
  key: "checkCustomSelectionsFromContextMenu",
690
729
  value: function checkCustomSelectionsFromContextMenu(border, place, remove) {
691
- var _this12 = this;
692
730
  var check = false;
693
731
  arrayEach(this.hot.selection.highlight.customSelections, function (customSelection) {
694
732
  if (border.id === customSelection.settings.id) {
695
- var borders = _this12.hot.view._wt.selectionManager.getBorderInstances(customSelection);
696
- arrayEach(borders, function (borderObject) {
733
+ objectEach(customSelection.instanceBorders, function (borderObject) {
697
734
  borderObject.toggleHiddenClass(place, remove); // TODO this also bad?
698
735
  });
699
736
 
@@ -718,7 +755,6 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
718
755
  }, {
719
756
  key: "checkCustomSelections",
720
757
  value: function checkCustomSelections(border, cellRange, place) {
721
- var _this13 = this;
722
758
  var hideCount = this.countHide(border);
723
759
  var check = false;
724
760
  if (hideCount === 4) {
@@ -730,8 +766,7 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
730
766
  customSelection.visualCellRange = cellRange;
731
767
  customSelection.commit();
732
768
  if (place) {
733
- var borders = _this13.hot.view._wt.selectionManager.getBorderInstances(customSelection);
734
- arrayEach(borders, function (borderObject) {
769
+ objectEach(customSelection.instanceBorders, function (borderObject) {
735
770
  borderObject.changeBorderStyle(place, border);
736
771
  });
737
772
  }
@@ -805,13 +840,6 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
805
840
  return this.getTranslatedPhrase(C.CONTEXTMENU_ITEMS_BORDERS);
806
841
  },
807
842
  disabled: function disabled() {
808
- var range = this.getSelectedRangeLast();
809
- if (!range) {
810
- return true;
811
- }
812
- if (range.isSingleHeader()) {
813
- return true;
814
- }
815
843
  return this.selection.isSelectedByCorner();
816
844
  },
817
845
  submenu: {
@@ -18,7 +18,7 @@ export class DropdownMenu extends BasePlugin {
18
18
 
19
19
  constructor(hotInstance: Core);
20
20
  isEnabled(): boolean;
21
- open(position: { left: number, top: number } | Event, offset?: { above?: number, below?: number, left?: number, right?: number }): void;
21
+ open(event: Event): void;
22
22
  close(): void;
23
23
  executeCommand(commandName: string, ...params: any): void;
24
24
  }