handsontable 15.2.0 → 15.3.0-next-6f5f494-20250424

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/3rdparty/walkontable/src/cell/range.js +14 -0
  2. package/3rdparty/walkontable/src/cell/range.mjs +14 -0
  3. package/3rdparty/walkontable/src/core/_base.js +2 -2
  4. package/3rdparty/walkontable/src/core/_base.mjs +3 -3
  5. package/3rdparty/walkontable/src/overlay/_base.js +0 -2
  6. package/3rdparty/walkontable/src/overlay/_base.mjs +0 -2
  7. package/3rdparty/walkontable/src/overlay/bottom.js +9 -6
  8. package/3rdparty/walkontable/src/overlay/bottom.mjs +9 -6
  9. package/3rdparty/walkontable/src/overlay/inlineStart.js +8 -5
  10. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +8 -5
  11. package/3rdparty/walkontable/src/overlay/top.js +11 -6
  12. package/3rdparty/walkontable/src/overlay/top.mjs +11 -6
  13. package/3rdparty/walkontable/src/overlays.js +15 -11
  14. package/3rdparty/walkontable/src/overlays.mjs +15 -11
  15. package/3rdparty/walkontable/src/renderer/rowHeaders.js +4 -1
  16. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +4 -1
  17. package/3rdparty/walkontable/src/selection/border/border.js +5 -0
  18. package/3rdparty/walkontable/src/selection/border/border.mjs +5 -0
  19. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +3 -4
  20. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +3 -4
  21. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +8 -10
  22. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +8 -10
  23. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +3 -4
  24. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +3 -4
  25. package/3rdparty/walkontable/src/table.js +5 -2
  26. package/3rdparty/walkontable/src/table.mjs +5 -2
  27. package/3rdparty/walkontable/src/utils/orderView/viewDiffer/viewOrder.js +0 -2
  28. package/3rdparty/walkontable/src/utils/orderView/viewDiffer/viewOrder.mjs +0 -2
  29. package/CHANGELOG.md +45 -1
  30. package/README.md +1 -1
  31. package/base.js +2 -2
  32. package/base.mjs +2 -2
  33. package/core/focusCatcher/focusDetector.js +1 -1
  34. package/core/focusCatcher/focusDetector.mjs +2 -2
  35. package/core/hooks/constants.js +8 -0
  36. package/core/hooks/constants.mjs +8 -0
  37. package/core/hooks/index.d.ts +1 -0
  38. package/core/viewportScroll/scrollStrategies/columnHeaderScroll.js +7 -5
  39. package/core/viewportScroll/scrollStrategies/columnHeaderScroll.mjs +7 -5
  40. package/core/viewportScroll/scrollStrategies/focusScroll.js +8 -1
  41. package/core/viewportScroll/scrollStrategies/focusScroll.mjs +8 -1
  42. package/core/viewportScroll/scrollStrategies/multipleScroll.js +13 -1
  43. package/core/viewportScroll/scrollStrategies/multipleScroll.mjs +13 -1
  44. package/core/viewportScroll/scrollStrategies/noncontiguousScroll.js +13 -1
  45. package/core/viewportScroll/scrollStrategies/noncontiguousScroll.mjs +13 -1
  46. package/core/viewportScroll/scrollStrategies/rowHeaderScroll.js +7 -5
  47. package/core/viewportScroll/scrollStrategies/rowHeaderScroll.mjs +7 -5
  48. package/core/viewportScroll/scrollStrategies/singleScroll.js +8 -4
  49. package/core/viewportScroll/scrollStrategies/singleScroll.mjs +8 -4
  50. package/core/viewportScroll/utils.js +111 -0
  51. package/core/viewportScroll/utils.mjs +106 -0
  52. package/core.d.ts +2 -3
  53. package/core.js +125 -71
  54. package/core.mjs +126 -72
  55. package/dataMap/dataMap.js +0 -7
  56. package/dataMap/dataMap.mjs +0 -7
  57. package/dataMap/metaManager/index.js +8 -9
  58. package/dataMap/metaManager/index.mjs +8 -9
  59. package/dataMap/metaManager/mods/dynamicCellMeta.js +4 -1
  60. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +4 -1
  61. package/dist/handsontable.css +4 -15
  62. package/dist/handsontable.full.css +4 -17
  63. package/dist/handsontable.full.js +4573 -4013
  64. package/dist/handsontable.full.min.css +3 -3
  65. package/dist/handsontable.full.min.js +148 -148
  66. package/dist/handsontable.js +4287 -3730
  67. package/dist/handsontable.min.css +3 -3
  68. package/dist/handsontable.min.js +19 -19
  69. package/editorManager.js +1 -7
  70. package/editorManager.mjs +1 -7
  71. package/editors/autocompleteEditor/autocompleteEditor.js +31 -7
  72. package/editors/autocompleteEditor/autocompleteEditor.mjs +31 -7
  73. package/focusManager.js +4 -2
  74. package/focusManager.mjs +4 -2
  75. package/helpers/browser.js +1 -1
  76. package/helpers/browser.mjs +1 -1
  77. package/helpers/dom/element.d.ts +1 -0
  78. package/helpers/dom/element.js +20 -0
  79. package/helpers/dom/element.mjs +19 -0
  80. package/helpers/mixed.js +2 -2
  81. package/helpers/mixed.mjs +2 -2
  82. package/helpers/object.js +3 -0
  83. package/helpers/object.mjs +3 -0
  84. package/package.json +1 -1
  85. package/plugins/autoColumnSize/autoColumnSize.js +38 -17
  86. package/plugins/autoColumnSize/autoColumnSize.mjs +38 -17
  87. package/plugins/autoRowSize/autoRowSize.js +12 -6
  88. package/plugins/autoRowSize/autoRowSize.mjs +12 -6
  89. package/plugins/columnSorting/columnSorting.js +0 -4
  90. package/plugins/columnSorting/columnSorting.mjs +0 -4
  91. package/plugins/comments/comments.js +1 -0
  92. package/plugins/comments/comments.mjs +1 -0
  93. package/plugins/contextMenu/menu/defaultShortcutsList.js +2 -2
  94. package/plugins/contextMenu/menu/defaultShortcutsList.mjs +2 -2
  95. package/plugins/contextMenu/menu/menu.js +1 -0
  96. package/plugins/contextMenu/menu/menu.mjs +1 -0
  97. package/plugins/contextMenu/menu/positioner.js +10 -2
  98. package/plugins/contextMenu/menu/positioner.mjs +10 -2
  99. package/plugins/contextMenu/predefinedItems/redo.js +3 -3
  100. package/plugins/contextMenu/predefinedItems/redo.mjs +3 -3
  101. package/plugins/contextMenu/predefinedItems/undo.js +3 -3
  102. package/plugins/contextMenu/predefinedItems/undo.mjs +3 -3
  103. package/plugins/copyPaste/copyPaste.js +12 -9
  104. package/plugins/copyPaste/copyPaste.mjs +12 -9
  105. package/plugins/copyPaste/pasteEvent.js +3 -0
  106. package/plugins/copyPaste/pasteEvent.mjs +3 -0
  107. package/plugins/exportFile/exportFile.d.ts +1 -0
  108. package/plugins/exportFile/exportFile.js +2 -1
  109. package/plugins/exportFile/exportFile.mjs +2 -1
  110. package/plugins/exportFile/types/csv.js +76 -11
  111. package/plugins/exportFile/types/csv.mjs +76 -11
  112. package/plugins/filters/filters.js +24 -23
  113. package/plugins/filters/filters.mjs +24 -23
  114. package/plugins/filters/ui/multipleSelect.js +7 -1
  115. package/plugins/filters/ui/multipleSelect.mjs +7 -1
  116. package/plugins/formulas/formulas.d.ts +1 -1
  117. package/plugins/formulas/formulas.js +57 -60
  118. package/plugins/formulas/formulas.mjs +59 -62
  119. package/plugins/formulas/indexSyncer/axisSyncer.js +5 -1
  120. package/plugins/formulas/indexSyncer/axisSyncer.mjs +5 -1
  121. package/plugins/hiddenColumns/hiddenColumns.js +1 -1
  122. package/plugins/hiddenColumns/hiddenColumns.mjs +1 -1
  123. package/plugins/hiddenRows/hiddenRows.js +1 -1
  124. package/plugins/hiddenRows/hiddenRows.mjs +1 -1
  125. package/plugins/manualColumnResize/manualColumnResize.js +4 -6
  126. package/plugins/manualColumnResize/manualColumnResize.mjs +4 -6
  127. package/plugins/manualRowResize/manualRowResize.js +4 -6
  128. package/plugins/manualRowResize/manualRowResize.mjs +4 -6
  129. package/plugins/mergeCells/mergeCells.js +10 -30
  130. package/plugins/mergeCells/mergeCells.mjs +10 -30
  131. package/plugins/mergeCells/renderer.js +15 -0
  132. package/plugins/mergeCells/renderer.mjs +15 -0
  133. package/plugins/mergeCells/utils.js +31 -0
  134. package/plugins/mergeCells/utils.mjs +27 -0
  135. package/plugins/nestedRows/data/dataManager.js +2 -2
  136. package/plugins/nestedRows/data/dataManager.mjs +2 -2
  137. package/plugins/undoRedo/actions/index.js +0 -2
  138. package/plugins/undoRedo/actions/index.mjs +0 -2
  139. package/plugins/undoRedo/actions/removeColumn.js +19 -14
  140. package/plugins/undoRedo/actions/removeColumn.mjs +19 -14
  141. package/plugins/undoRedo/actions/removeRow.js +12 -4
  142. package/plugins/undoRedo/actions/removeRow.mjs +12 -4
  143. package/selection/selection.js +3 -1
  144. package/selection/selection.mjs +3 -1
  145. package/shortcutContexts/commands/extendCellsSelection/down.js +7 -2
  146. package/shortcutContexts/commands/extendCellsSelection/down.mjs +7 -2
  147. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +8 -2
  148. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +8 -2
  149. package/shortcutContexts/commands/extendCellsSelection/left.js +7 -2
  150. package/shortcutContexts/commands/extendCellsSelection/left.mjs +7 -2
  151. package/shortcutContexts/commands/extendCellsSelection/right.js +7 -2
  152. package/shortcutContexts/commands/extendCellsSelection/right.mjs +7 -2
  153. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +7 -2
  154. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +7 -2
  155. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +3 -1
  156. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +3 -1
  157. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +3 -1
  158. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +3 -1
  159. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +3 -1
  160. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +3 -1
  161. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +3 -1
  162. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +3 -1
  163. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +3 -1
  164. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +3 -1
  165. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +3 -1
  166. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +3 -1
  167. package/shortcutContexts/commands/extendCellsSelection/toRows.js +7 -2
  168. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +7 -2
  169. package/shortcutContexts/commands/extendCellsSelection/up.js +7 -2
  170. package/shortcutContexts/commands/extendCellsSelection/up.mjs +7 -2
  171. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +8 -2
  172. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +8 -2
  173. package/shortcutContexts/commands/index.js +0 -2
  174. package/shortcutContexts/commands/index.mjs +0 -2
  175. package/shortcutContexts/commands/moveCellSelection/down.js +2 -0
  176. package/shortcutContexts/commands/moveCellSelection/down.mjs +2 -0
  177. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +6 -1
  178. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +6 -1
  179. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +8 -3
  180. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -3
  181. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +8 -3
  182. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -3
  183. package/shortcutContexts/commands/moveCellSelection/left.js +6 -1
  184. package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -1
  185. package/shortcutContexts/commands/moveCellSelection/right.js +6 -1
  186. package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -1
  187. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +4 -1
  188. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +4 -1
  189. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +2 -0
  190. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +2 -0
  191. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +2 -0
  192. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +2 -0
  193. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +2 -0
  194. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +2 -0
  195. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +2 -0
  196. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +2 -0
  197. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +2 -0
  198. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +2 -0
  199. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +6 -1
  200. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +6 -1
  201. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +2 -0
  202. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +2 -0
  203. package/shortcutContexts/commands/moveCellSelection/up.js +2 -0
  204. package/shortcutContexts/commands/moveCellSelection/up.mjs +2 -0
  205. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +6 -1
  206. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +6 -1
  207. package/shortcutContexts/commands/selectAllCells.js +7 -2
  208. package/shortcutContexts/commands/selectAllCells.mjs +7 -2
  209. package/shortcutContexts/commands/selectAllCellsAndHeaders.js +7 -2
  210. package/shortcutContexts/commands/selectAllCellsAndHeaders.mjs +7 -2
  211. package/shortcutContexts/index.js +2 -2
  212. package/shortcutContexts/index.mjs +0 -2
  213. package/styles/handsontable.css +15 -17
  214. package/styles/handsontable.min.css +3 -3
  215. package/styles/ht-theme-horizon.css +2 -2
  216. package/styles/ht-theme-horizon.min.css +2 -2
  217. package/styles/ht-theme-main.css +2 -2
  218. package/styles/ht-theme-main.min.css +2 -2
  219. package/tableView.js +5 -8
  220. package/tableView.mjs +5 -8
  221. package/translations/indexMapper.js +0 -1
  222. package/translations/indexMapper.mjs +0 -1
  223. package/utils/ghostTable.js +3 -0
  224. package/utils/ghostTable.mjs +3 -0
@@ -10,11 +10,12 @@ export const command = {
10
10
  from,
11
11
  to
12
12
  } = hot.getSelectedRangeLast();
13
- const isFocusHighlightedByHeader = highlight.isHeader() && hot.selection.isSelectedByRowHeader();
13
+ const isFocusHighlightedByHeader = highlight.isHeader() && selection.isSelectedByRowHeader();
14
14
  if (highlight.isCell() || isFocusHighlightedByHeader) {
15
15
  const row = rowIndexMapper.getNearestNotHiddenIndex(hot.countRows() - 1, -1);
16
16
  const newFrom = from.clone();
17
17
  newFrom.row = highlight.row;
18
+ selection.markSource('keyboard');
18
19
  selection.setRangeStart(newFrom, undefined, false, highlight.clone());
19
20
 
20
21
  // Restore the row highlight by header flag after setting up a new selection.
@@ -22,6 +23,7 @@ export const command = {
22
23
  selection.selectedByRowHeader.add(selection.getLayerLevel());
23
24
  }
24
25
  selection.setRangeEnd(hot._createCellCoords(row, to.col));
26
+ selection.markEndSource();
25
27
  }
26
28
  }
27
29
  };
@@ -13,12 +13,14 @@ const command = exports.command = {
13
13
  from,
14
14
  to
15
15
  } = hot.getSelectedRangeLast();
16
- if (!hot.selection.isSelectedByRowHeader() && !hot.selection.isSelectedByCorner() && highlight.isCell()) {
16
+ if (!selection.isSelectedByRowHeader() && !selection.isSelectedByCorner() && highlight.isCell()) {
17
17
  const column = columnIndexMapper.getNearestNotHiddenIndex(hot.countCols() - 1, -1);
18
18
  const newFrom = from.clone();
19
19
  newFrom.col = highlight.col;
20
+ selection.markSource('keyboard');
20
21
  selection.setRangeStart(newFrom, undefined, false, highlight.clone());
21
22
  selection.setRangeEnd(hot._createCellCoords(to.row, column));
23
+ selection.markEndSource();
22
24
  }
23
25
  }
24
26
  };
@@ -10,12 +10,14 @@ export const command = {
10
10
  from,
11
11
  to
12
12
  } = hot.getSelectedRangeLast();
13
- if (!hot.selection.isSelectedByRowHeader() && !hot.selection.isSelectedByCorner() && highlight.isCell()) {
13
+ if (!selection.isSelectedByRowHeader() && !selection.isSelectedByCorner() && highlight.isCell()) {
14
14
  const column = columnIndexMapper.getNearestNotHiddenIndex(hot.countCols() - 1, -1);
15
15
  const newFrom = from.clone();
16
16
  newFrom.col = highlight.col;
17
+ selection.markSource('keyboard');
17
18
  selection.setRangeStart(newFrom, undefined, false, highlight.clone());
18
19
  selection.setRangeEnd(hot._createCellCoords(to.row, column));
20
+ selection.markEndSource();
19
21
  }
20
22
  }
21
23
  };
@@ -13,13 +13,15 @@ const command = exports.command = {
13
13
  from,
14
14
  to
15
15
  } = hot.getSelectedRangeLast();
16
- if (!hot.selection.isSelectedByRowHeader() && !hot.selection.isSelectedByCorner() && highlight.isCell()) {
16
+ if (!selection.isSelectedByRowHeader() && !selection.isSelectedByCorner() && highlight.isCell()) {
17
17
  const fixedColumns = parseInt(hot.getSettings().fixedColumnsStart, 10);
18
18
  const column = columnIndexMapper.getNearestNotHiddenIndex(fixedColumns, 1);
19
19
  const newFrom = from.clone();
20
20
  newFrom.col = highlight.col;
21
+ selection.markSource('keyboard');
21
22
  selection.setRangeStart(newFrom, undefined, false, highlight.clone());
22
23
  selection.setRangeEnd(hot._createCellCoords(to.row, column));
24
+ selection.markEndSource();
23
25
  }
24
26
  }
25
27
  };
@@ -10,13 +10,15 @@ export const command = {
10
10
  from,
11
11
  to
12
12
  } = hot.getSelectedRangeLast();
13
- if (!hot.selection.isSelectedByRowHeader() && !hot.selection.isSelectedByCorner() && highlight.isCell()) {
13
+ if (!selection.isSelectedByRowHeader() && !selection.isSelectedByCorner() && highlight.isCell()) {
14
14
  const fixedColumns = parseInt(hot.getSettings().fixedColumnsStart, 10);
15
15
  const column = columnIndexMapper.getNearestNotHiddenIndex(fixedColumns, 1);
16
16
  const newFrom = from.clone();
17
17
  newFrom.col = highlight.col;
18
+ selection.markSource('keyboard');
18
19
  selection.setRangeStart(newFrom, undefined, false, highlight.clone());
19
20
  selection.setRangeEnd(hot._createCellCoords(to.row, column));
21
+ selection.markEndSource();
20
22
  }
21
23
  }
22
24
  };
@@ -13,11 +13,12 @@ const command = exports.command = {
13
13
  from,
14
14
  to
15
15
  } = hot.getSelectedRangeLast();
16
- const isFocusHighlightedByHeader = highlight.isHeader() && hot.selection.isSelectedByColumnHeader();
16
+ const isFocusHighlightedByHeader = highlight.isHeader() && selection.isSelectedByColumnHeader();
17
17
  if (highlight.isCell() || isFocusHighlightedByHeader) {
18
18
  const column = columnIndexMapper.getNearestNotHiddenIndex(...(hot.isRtl() ? [hot.countCols() - 1, -1] : [0, 1]));
19
19
  const newFrom = from.clone();
20
20
  newFrom.col = highlight.col;
21
+ selection.markSource('keyboard');
21
22
  selection.setRangeStart(newFrom, undefined, false, highlight.clone());
22
23
 
23
24
  // Restore the column highlight by header flag after setting up a new selection.
@@ -25,6 +26,7 @@ const command = exports.command = {
25
26
  selection.selectedByColumnHeader.add(selection.getLayerLevel());
26
27
  }
27
28
  selection.setRangeEnd(hot._createCellCoords(to.row, column));
29
+ selection.markEndSource();
28
30
  }
29
31
  }
30
32
  };
@@ -10,11 +10,12 @@ export const command = {
10
10
  from,
11
11
  to
12
12
  } = hot.getSelectedRangeLast();
13
- const isFocusHighlightedByHeader = highlight.isHeader() && hot.selection.isSelectedByColumnHeader();
13
+ const isFocusHighlightedByHeader = highlight.isHeader() && selection.isSelectedByColumnHeader();
14
14
  if (highlight.isCell() || isFocusHighlightedByHeader) {
15
15
  const column = columnIndexMapper.getNearestNotHiddenIndex(...(hot.isRtl() ? [hot.countCols() - 1, -1] : [0, 1]));
16
16
  const newFrom = from.clone();
17
17
  newFrom.col = highlight.col;
18
+ selection.markSource('keyboard');
18
19
  selection.setRangeStart(newFrom, undefined, false, highlight.clone());
19
20
 
20
21
  // Restore the column highlight by header flag after setting up a new selection.
@@ -22,6 +23,7 @@ export const command = {
22
23
  selection.selectedByColumnHeader.add(selection.getLayerLevel());
23
24
  }
24
25
  selection.setRangeEnd(hot._createCellCoords(to.row, column));
26
+ selection.markEndSource();
25
27
  }
26
28
  }
27
29
  };
@@ -13,11 +13,12 @@ const command = exports.command = {
13
13
  from,
14
14
  to
15
15
  } = hot.getSelectedRangeLast();
16
- const isFocusHighlightedByHeader = highlight.isHeader() && hot.selection.isSelectedByColumnHeader();
16
+ const isFocusHighlightedByHeader = highlight.isHeader() && selection.isSelectedByColumnHeader();
17
17
  if (highlight.isCell() || isFocusHighlightedByHeader) {
18
18
  const column = columnIndexMapper.getNearestNotHiddenIndex(...(hot.isRtl() ? [0, 1] : [hot.countCols() - 1, -1]));
19
19
  const newFrom = from.clone();
20
20
  newFrom.col = highlight.col;
21
+ selection.markSource('keyboard');
21
22
  selection.setRangeStart(newFrom, undefined, false, highlight.clone());
22
23
 
23
24
  // Restore the column highlight by header flag after setting up a new selection.
@@ -25,6 +26,7 @@ const command = exports.command = {
25
26
  selection.selectedByColumnHeader.add(selection.getLayerLevel());
26
27
  }
27
28
  selection.setRangeEnd(hot._createCellCoords(to.row, column));
29
+ selection.markEndSource();
28
30
  }
29
31
  }
30
32
  };
@@ -10,11 +10,12 @@ export const command = {
10
10
  from,
11
11
  to
12
12
  } = hot.getSelectedRangeLast();
13
- const isFocusHighlightedByHeader = highlight.isHeader() && hot.selection.isSelectedByColumnHeader();
13
+ const isFocusHighlightedByHeader = highlight.isHeader() && selection.isSelectedByColumnHeader();
14
14
  if (highlight.isCell() || isFocusHighlightedByHeader) {
15
15
  const column = columnIndexMapper.getNearestNotHiddenIndex(...(hot.isRtl() ? [0, 1] : [hot.countCols() - 1, -1]));
16
16
  const newFrom = from.clone();
17
17
  newFrom.col = highlight.col;
18
+ selection.markSource('keyboard');
18
19
  selection.setRangeStart(newFrom, undefined, false, highlight.clone());
19
20
 
20
21
  // Restore the column highlight by header flag after setting up a new selection.
@@ -22,6 +23,7 @@ export const command = {
22
23
  selection.selectedByColumnHeader.add(selection.getLayerLevel());
23
24
  }
24
25
  selection.setRangeEnd(hot._createCellCoords(to.row, column));
26
+ selection.markEndSource();
25
27
  }
26
28
  }
27
29
  };
@@ -13,11 +13,12 @@ const command = exports.command = {
13
13
  from,
14
14
  to
15
15
  } = hot.getSelectedRangeLast();
16
- const isFocusHighlightedByHeader = highlight.isHeader() && hot.selection.isSelectedByRowHeader();
16
+ const isFocusHighlightedByHeader = highlight.isHeader() && selection.isSelectedByRowHeader();
17
17
  if (highlight.isCell() || isFocusHighlightedByHeader) {
18
18
  const row = rowIndexMapper.getNearestNotHiddenIndex(0, 1);
19
19
  const newFrom = from.clone();
20
20
  newFrom.row = highlight.row;
21
+ selection.markSource('keyboard');
21
22
  selection.setRangeStart(newFrom, undefined, false, highlight.clone());
22
23
 
23
24
  // Restore the row highlight by header flag after setting up a new selection.
@@ -25,6 +26,7 @@ const command = exports.command = {
25
26
  selection.selectedByRowHeader.add(selection.getLayerLevel());
26
27
  }
27
28
  selection.setRangeEnd(hot._createCellCoords(row, to.col));
29
+ selection.markEndSource();
28
30
  }
29
31
  }
30
32
  };
@@ -10,11 +10,12 @@ export const command = {
10
10
  from,
11
11
  to
12
12
  } = hot.getSelectedRangeLast();
13
- const isFocusHighlightedByHeader = highlight.isHeader() && hot.selection.isSelectedByRowHeader();
13
+ const isFocusHighlightedByHeader = highlight.isHeader() && selection.isSelectedByRowHeader();
14
14
  if (highlight.isCell() || isFocusHighlightedByHeader) {
15
15
  const row = rowIndexMapper.getNearestNotHiddenIndex(0, 1);
16
16
  const newFrom = from.clone();
17
17
  newFrom.row = highlight.row;
18
+ selection.markSource('keyboard');
18
19
  selection.setRangeStart(newFrom, undefined, false, highlight.clone());
19
20
 
20
21
  // Restore the row highlight by header flag after setting up a new selection.
@@ -22,6 +23,7 @@ export const command = {
22
23
  selection.selectedByRowHeader.add(selection.getLayerLevel());
23
24
  }
24
25
  selection.setRangeEnd(hot._createCellCoords(row, to.col));
26
+ selection.markEndSource();
25
27
  }
26
28
  }
27
29
  };
@@ -4,15 +4,20 @@ exports.__esModule = true;
4
4
  const command = exports.command = {
5
5
  name: 'extendCellsSelectionToRows',
6
6
  callback(hot) {
7
+ const {
8
+ selection
9
+ } = hot;
7
10
  const {
8
11
  highlight,
9
12
  from,
10
13
  to
11
14
  } = hot.getSelectedRangeLast();
12
- if (hot.selection.isSelectedByColumnHeader()) {
13
- hot.selection.selectAll(true, true);
15
+ selection.markSource('keyboard');
16
+ if (selection.isSelectedByColumnHeader()) {
17
+ selection.selectAll(true, true);
14
18
  } else {
15
19
  hot.selectRows(from.row, to.row, highlight);
16
20
  }
21
+ selection.markEndSource();
17
22
  }
18
23
  };
@@ -1,15 +1,20 @@
1
1
  export const command = {
2
2
  name: 'extendCellsSelectionToRows',
3
3
  callback(hot) {
4
+ const {
5
+ selection
6
+ } = hot;
4
7
  const {
5
8
  highlight,
6
9
  from,
7
10
  to
8
11
  } = hot.getSelectedRangeLast();
9
- if (hot.selection.isSelectedByColumnHeader()) {
10
- hot.selection.selectAll(true, true);
12
+ selection.markSource('keyboard');
13
+ if (selection.isSelectedByColumnHeader()) {
14
+ selection.selectAll(true, true);
11
15
  } else {
12
16
  hot.selectRows(from.row, to.row, highlight);
13
17
  }
18
+ selection.markEndSource();
14
19
  }
15
20
  };
@@ -4,11 +4,16 @@ exports.__esModule = true;
4
4
  const command = exports.command = {
5
5
  name: 'extendCellsSelectionUp',
6
6
  callback(hot) {
7
+ const {
8
+ selection
9
+ } = hot;
7
10
  const {
8
11
  highlight
9
12
  } = hot.getSelectedRangeLast();
10
- if (!hot.selection.isSelectedByColumnHeader() && !hot.selection.isSelectedByCorner() && (highlight.isCell() || highlight.isHeader() && hot.selection.isSelectedByRowHeader())) {
11
- hot.selection.transformEnd(-1, 0);
13
+ if (!selection.isSelectedByColumnHeader() && !selection.isSelectedByCorner() && (highlight.isCell() || highlight.isHeader() && selection.isSelectedByRowHeader())) {
14
+ selection.markSource('keyboard');
15
+ selection.transformEnd(-1, 0);
16
+ selection.markEndSource();
12
17
  }
13
18
  }
14
19
  };
@@ -1,11 +1,16 @@
1
1
  export const command = {
2
2
  name: 'extendCellsSelectionUp',
3
3
  callback(hot) {
4
+ const {
5
+ selection
6
+ } = hot;
4
7
  const {
5
8
  highlight
6
9
  } = hot.getSelectedRangeLast();
7
- if (!hot.selection.isSelectedByColumnHeader() && !hot.selection.isSelectedByCorner() && (highlight.isCell() || highlight.isHeader() && hot.selection.isSelectedByRowHeader())) {
8
- hot.selection.transformEnd(-1, 0);
10
+ if (!selection.isSelectedByColumnHeader() && !selection.isSelectedByCorner() && (highlight.isCell() || highlight.isHeader() && selection.isSelectedByRowHeader())) {
11
+ selection.markSource('keyboard');
12
+ selection.transformEnd(-1, 0);
13
+ selection.markEndSource();
9
14
  }
10
15
  }
11
16
  };
@@ -4,16 +4,22 @@ exports.__esModule = true;
4
4
  const command = exports.command = {
5
5
  name: 'extendCellsSelectionUpByViewportHeight',
6
6
  callback(hot) {
7
+ const {
8
+ selection,
9
+ rowIndexMapper
10
+ } = hot;
7
11
  const {
8
12
  to
9
13
  } = hot.getSelectedRangeLast();
10
14
  const nextRowIndexToSelect = Math.max(to.row - hot.countVisibleRows(), 0);
11
- const row = hot.rowIndexMapper.getNearestNotHiddenIndex(nextRowIndexToSelect, 1);
15
+ const row = rowIndexMapper.getNearestNotHiddenIndex(nextRowIndexToSelect, 1);
12
16
  if (row !== null) {
13
17
  const coords = hot._createCellCoords(row, to.col);
14
18
  const scrollPadding = to.row - hot.getFirstFullyVisibleRow();
15
19
  const nextVerticalScroll = Math.max(coords.row - scrollPadding, 0);
16
- hot.selection.setRangeEnd(coords);
20
+ selection.markSource('keyboard');
21
+ selection.setRangeEnd(coords);
22
+ selection.markEndSource();
17
23
  hot.scrollViewportTo({
18
24
  row: nextVerticalScroll,
19
25
  verticalSnap: 'top',
@@ -1,16 +1,22 @@
1
1
  export const command = {
2
2
  name: 'extendCellsSelectionUpByViewportHeight',
3
3
  callback(hot) {
4
+ const {
5
+ selection,
6
+ rowIndexMapper
7
+ } = hot;
4
8
  const {
5
9
  to
6
10
  } = hot.getSelectedRangeLast();
7
11
  const nextRowIndexToSelect = Math.max(to.row - hot.countVisibleRows(), 0);
8
- const row = hot.rowIndexMapper.getNearestNotHiddenIndex(nextRowIndexToSelect, 1);
12
+ const row = rowIndexMapper.getNearestNotHiddenIndex(nextRowIndexToSelect, 1);
9
13
  if (row !== null) {
10
14
  const coords = hot._createCellCoords(row, to.col);
11
15
  const scrollPadding = to.row - hot.getFirstFullyVisibleRow();
12
16
  const nextVerticalScroll = Math.max(coords.row - scrollPadding, 0);
13
- hot.selection.setRangeEnd(coords);
17
+ selection.markSource('keyboard');
18
+ selection.setRangeEnd(coords);
19
+ selection.markEndSource();
14
20
  hot.scrollViewportTo({
15
21
  row: nextVerticalScroll,
16
22
  verticalSnap: 'top',
@@ -2,8 +2,6 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.createKeyboardShortcutCommandsPool = createKeyboardShortcutCommandsPool;
5
- require("core-js/modules/esnext.iterator.constructor.js");
6
- require("core-js/modules/esnext.iterator.for-each.js");
7
5
  var _editor = require("./editor");
8
6
  var _extendCellsSelection = require("./extendCellsSelection");
9
7
  var _moveCellSelection = require("./moveCellSelection");
@@ -1,5 +1,3 @@
1
- import "core-js/modules/esnext.iterator.constructor.js";
2
- import "core-js/modules/esnext.iterator.for-each.js";
3
1
  import { getAllCommands as getAllEditorCommands } from "./editor/index.mjs";
4
2
  import { getAllCommands as getAllSelectionExtendCommands } from "./extendCellsSelection/index.mjs";
5
3
  import { getAllCommands as getAllSelectionMoveCommands } from "./moveCellSelection/index.mjs";
@@ -7,6 +7,8 @@ const command = exports.command = {
7
7
  let {
8
8
  selection
9
9
  } = _ref;
10
+ selection.markSource('keyboard');
10
11
  selection.transformStart(1, 0);
12
+ selection.markEndSource();
11
13
  }
12
14
  };
@@ -4,6 +4,8 @@ export const command = {
4
4
  let {
5
5
  selection
6
6
  } = _ref;
7
+ selection.markSource('keyboard');
7
8
  selection.transformStart(1, 0);
9
+ selection.markEndSource();
8
10
  }
9
11
  };
@@ -4,6 +4,9 @@ exports.__esModule = true;
4
4
  const command = exports.command = {
5
5
  name: 'moveCellSelectionDownByViewportHeight',
6
6
  callback(hot) {
7
+ const {
8
+ selection
9
+ } = hot;
7
10
  const {
8
11
  navigableHeaders
9
12
  } = hot.getSettings();
@@ -23,7 +26,9 @@ const command = exports.command = {
23
26
  } else if (row + rowsStep > hot.countRows()) {
24
27
  rowsStep = hot.countRows() - row - 1;
25
28
  }
26
- hot.selection.transformStart(rowsStep, 0);
29
+ selection.markSource('keyboard');
30
+ selection.transformStart(rowsStep, 0);
31
+ selection.markEndSource();
27
32
  if (hot.getSelectedRangeLast().highlight.row < 0) {
28
33
  hot.scrollViewportTo({
29
34
  row: 0
@@ -1,6 +1,9 @@
1
1
  export const command = {
2
2
  name: 'moveCellSelectionDownByViewportHeight',
3
3
  callback(hot) {
4
+ const {
5
+ selection
6
+ } = hot;
4
7
  const {
5
8
  navigableHeaders
6
9
  } = hot.getSettings();
@@ -20,7 +23,9 @@ export const command = {
20
23
  } else if (row + rowsStep > hot.countRows()) {
21
24
  rowsStep = hot.countRows() - row - 1;
22
25
  }
23
- hot.selection.transformStart(rowsStep, 0);
26
+ selection.markSource('keyboard');
27
+ selection.transformStart(rowsStep, 0);
28
+ selection.markEndSource();
24
29
  if (hot.getSelectedRangeLast().highlight.row < 0) {
25
30
  hot.scrollViewportTo({
26
31
  row: 0
@@ -4,13 +4,18 @@ exports.__esModule = true;
4
4
  const command = exports.command = {
5
5
  name: 'moveCellSelectionInlineEnd',
6
6
  callback(hot, event) {
7
+ const {
8
+ selection
9
+ } = hot;
7
10
  const settings = hot.getSettings();
8
11
  const selectedRange = hot.getSelectedRangeLast();
9
12
  const tabMoves = typeof settings.tabMoves === 'function' ? settings.tabMoves(event) : settings.tabMoves;
10
- if (hot.selection.isMultiple() && !selectedRange.isHeader() && hot.countRenderedCols() > 0 && hot.countRenderedRows() > 0) {
11
- hot.selection.transformFocus(-tabMoves.row, -tabMoves.col);
13
+ selection.markSource('keyboard');
14
+ if (selection.isMultiple() && !selectedRange.isHeader() && hot.countRenderedCols() > 0 && hot.countRenderedRows() > 0) {
15
+ selection.transformFocus(-tabMoves.row, -tabMoves.col);
12
16
  } else {
13
- hot.selection.transformStart(-tabMoves.row, -tabMoves.col);
17
+ selection.transformStart(-tabMoves.row, -tabMoves.col);
14
18
  }
19
+ selection.markEndSource();
15
20
  }
16
21
  };
@@ -1,13 +1,18 @@
1
1
  export const command = {
2
2
  name: 'moveCellSelectionInlineEnd',
3
3
  callback(hot, event) {
4
+ const {
5
+ selection
6
+ } = hot;
4
7
  const settings = hot.getSettings();
5
8
  const selectedRange = hot.getSelectedRangeLast();
6
9
  const tabMoves = typeof settings.tabMoves === 'function' ? settings.tabMoves(event) : settings.tabMoves;
7
- if (hot.selection.isMultiple() && !selectedRange.isHeader() && hot.countRenderedCols() > 0 && hot.countRenderedRows() > 0) {
8
- hot.selection.transformFocus(-tabMoves.row, -tabMoves.col);
10
+ selection.markSource('keyboard');
11
+ if (selection.isMultiple() && !selectedRange.isHeader() && hot.countRenderedCols() > 0 && hot.countRenderedRows() > 0) {
12
+ selection.transformFocus(-tabMoves.row, -tabMoves.col);
9
13
  } else {
10
- hot.selection.transformStart(-tabMoves.row, -tabMoves.col);
14
+ selection.transformStart(-tabMoves.row, -tabMoves.col);
11
15
  }
16
+ selection.markEndSource();
12
17
  }
13
18
  };
@@ -4,13 +4,18 @@ exports.__esModule = true;
4
4
  const command = exports.command = {
5
5
  name: 'moveCellSelectionInlineStart',
6
6
  callback(hot, event) {
7
+ const {
8
+ selection
9
+ } = hot;
7
10
  const settings = hot.getSettings();
8
11
  const selectedRange = hot.getSelectedRangeLast();
9
12
  const tabMoves = typeof settings.tabMoves === 'function' ? settings.tabMoves(event) : settings.tabMoves;
10
- if (hot.selection.isMultiple() && !selectedRange.isHeader() && hot.countRenderedCols() > 0 && hot.countRenderedRows() > 0) {
11
- hot.selection.transformFocus(tabMoves.row, tabMoves.col);
13
+ selection.markSource('keyboard');
14
+ if (selection.isMultiple() && !selectedRange.isHeader() && hot.countRenderedCols() > 0 && hot.countRenderedRows() > 0) {
15
+ selection.transformFocus(tabMoves.row, tabMoves.col);
12
16
  } else {
13
- hot.selection.transformStart(tabMoves.row, tabMoves.col);
17
+ selection.transformStart(tabMoves.row, tabMoves.col);
14
18
  }
19
+ selection.markEndSource();
15
20
  }
16
21
  };
@@ -1,13 +1,18 @@
1
1
  export const command = {
2
2
  name: 'moveCellSelectionInlineStart',
3
3
  callback(hot, event) {
4
+ const {
5
+ selection
6
+ } = hot;
4
7
  const settings = hot.getSettings();
5
8
  const selectedRange = hot.getSelectedRangeLast();
6
9
  const tabMoves = typeof settings.tabMoves === 'function' ? settings.tabMoves(event) : settings.tabMoves;
7
- if (hot.selection.isMultiple() && !selectedRange.isHeader() && hot.countRenderedCols() > 0 && hot.countRenderedRows() > 0) {
8
- hot.selection.transformFocus(tabMoves.row, tabMoves.col);
10
+ selection.markSource('keyboard');
11
+ if (selection.isMultiple() && !selectedRange.isHeader() && hot.countRenderedCols() > 0 && hot.countRenderedRows() > 0) {
12
+ selection.transformFocus(tabMoves.row, tabMoves.col);
9
13
  } else {
10
- hot.selection.transformStart(tabMoves.row, tabMoves.col);
14
+ selection.transformStart(tabMoves.row, tabMoves.col);
11
15
  }
16
+ selection.markEndSource();
12
17
  }
13
18
  };
@@ -4,6 +4,11 @@ exports.__esModule = true;
4
4
  const command = exports.command = {
5
5
  name: 'moveCellSelectionLeft',
6
6
  callback(hot) {
7
- hot.selection.transformStart(0, -1 * hot.getDirectionFactor());
7
+ const {
8
+ selection
9
+ } = hot;
10
+ selection.markSource('keyboard');
11
+ selection.transformStart(0, -1 * hot.getDirectionFactor());
12
+ selection.markEndSource();
8
13
  }
9
14
  };
@@ -1,6 +1,11 @@
1
1
  export const command = {
2
2
  name: 'moveCellSelectionLeft',
3
3
  callback(hot) {
4
- hot.selection.transformStart(0, -1 * hot.getDirectionFactor());
4
+ const {
5
+ selection
6
+ } = hot;
7
+ selection.markSource('keyboard');
8
+ selection.transformStart(0, -1 * hot.getDirectionFactor());
9
+ selection.markEndSource();
5
10
  }
6
11
  };
@@ -4,6 +4,11 @@ exports.__esModule = true;
4
4
  const command = exports.command = {
5
5
  name: 'moveCellSelectionRight',
6
6
  callback(hot) {
7
- hot.selection.transformStart(0, hot.getDirectionFactor());
7
+ const {
8
+ selection
9
+ } = hot;
10
+ selection.markSource('keyboard');
11
+ selection.transformStart(0, hot.getDirectionFactor());
12
+ selection.markEndSource();
8
13
  }
9
14
  };
@@ -1,6 +1,11 @@
1
1
  export const command = {
2
2
  name: 'moveCellSelectionRight',
3
3
  callback(hot) {
4
- hot.selection.transformStart(0, hot.getDirectionFactor());
4
+ const {
5
+ selection
6
+ } = hot;
7
+ selection.markSource('keyboard');
8
+ selection.transformStart(0, hot.getDirectionFactor());
9
+ selection.markEndSource();
5
10
  }
6
11
  };
@@ -4,6 +4,9 @@ exports.__esModule = true;
4
4
  const command = exports.command = {
5
5
  name: 'moveCellSelectionToMostBottom',
6
6
  callback(hot) {
7
+ const {
8
+ selection
9
+ } = hot;
7
10
  const {
8
11
  col
9
12
  } = hot.getSelectedRangeLast().highlight;
@@ -11,6 +14,6 @@ const command = exports.command = {
11
14
  if (row === null) {
12
15
  row = -1;
13
16
  }
14
- hot.selection.setRangeStart(hot._createCellCoords(row, col));
17
+ selection.setRangeStart(hot._createCellCoords(row, col));
15
18
  }
16
19
  };
@@ -1,6 +1,9 @@
1
1
  export const command = {
2
2
  name: 'moveCellSelectionToMostBottom',
3
3
  callback(hot) {
4
+ const {
5
+ selection
6
+ } = hot;
4
7
  const {
5
8
  col
6
9
  } = hot.getSelectedRangeLast().highlight;
@@ -8,6 +11,6 @@ export const command = {
8
11
  if (row === null) {
9
12
  row = -1;
10
13
  }
11
- hot.selection.setRangeStart(hot._createCellCoords(row, col));
14
+ selection.setRangeStart(hot._createCellCoords(row, col));
12
15
  }
13
16
  };
@@ -12,6 +12,8 @@ const command = exports.command = {
12
12
  const fixedRows = parseInt(hot.getSettings().fixedRowsBottom, 10);
13
13
  const row = rowIndexMapper.getNearestNotHiddenIndex(hot.countRows() - fixedRows - 1, -1);
14
14
  const column = columnIndexMapper.getNearestNotHiddenIndex(hot.countCols() - 1, -1);
15
+ selection.markSource('keyboard');
15
16
  selection.setRangeStart(hot._createCellCoords(row, column));
17
+ selection.markEndSource();
16
18
  }
17
19
  };