handsontable 0.0.0-next-b7cca45-20230605 → 0.0.0-next-aa25cac-20230607

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 (223) hide show
  1. package/3rdparty/walkontable/src/cell/coords.d.ts +6 -1
  2. package/3rdparty/walkontable/src/cell/coords.js +61 -12
  3. package/3rdparty/walkontable/src/cell/coords.mjs +61 -12
  4. package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
  5. package/3rdparty/walkontable/src/cell/range.js +44 -7
  6. package/3rdparty/walkontable/src/cell/range.mjs +44 -7
  7. package/3rdparty/walkontable/src/core/_base.js +9 -3
  8. package/3rdparty/walkontable/src/core/_base.mjs +9 -3
  9. package/3rdparty/walkontable/src/core/clone.js +2 -2
  10. package/3rdparty/walkontable/src/core/clone.mjs +2 -2
  11. package/3rdparty/walkontable/src/core/core.js +3 -2
  12. package/3rdparty/walkontable/src/core/core.mjs +3 -2
  13. package/3rdparty/walkontable/src/event.js +7 -7
  14. package/3rdparty/walkontable/src/event.mjs +7 -7
  15. package/3rdparty/walkontable/src/facade/core.js +2 -2
  16. package/3rdparty/walkontable/src/facade/core.mjs +2 -2
  17. package/3rdparty/walkontable/src/index.js +10 -2
  18. package/3rdparty/walkontable/src/index.mjs +2 -2
  19. package/3rdparty/walkontable/src/overlay/_base.js +1 -1
  20. package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
  21. package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -4
  22. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -4
  23. package/3rdparty/walkontable/src/overlay/top.js +2 -4
  24. package/3rdparty/walkontable/src/overlay/top.mjs +2 -4
  25. package/3rdparty/walkontable/src/{border.js → selection/border/border.js} +7 -12
  26. package/3rdparty/walkontable/src/{border.mjs → selection/border/border.mjs} +7 -12
  27. package/3rdparty/walkontable/src/selection/border/constants.js +18 -0
  28. package/3rdparty/walkontable/src/selection/border/constants.mjs +13 -0
  29. package/3rdparty/walkontable/src/selection/constants.js +63 -0
  30. package/3rdparty/walkontable/src/selection/constants.mjs +51 -0
  31. package/3rdparty/walkontable/src/selection/index.js +30 -0
  32. package/3rdparty/walkontable/src/selection/index.mjs +5 -0
  33. package/3rdparty/walkontable/src/selection/manager.js +328 -0
  34. package/3rdparty/walkontable/src/selection/manager.mjs +322 -0
  35. package/3rdparty/walkontable/src/selection/scanner.js +363 -0
  36. package/3rdparty/walkontable/src/selection/scanner.mjs +359 -0
  37. package/3rdparty/walkontable/src/selection/selection.js +133 -0
  38. package/3rdparty/walkontable/src/selection/selection.mjs +127 -0
  39. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +9 -0
  40. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +9 -0
  41. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +9 -0
  42. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +9 -0
  43. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +9 -0
  44. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +9 -0
  45. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +9 -0
  46. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +9 -0
  47. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -0
  48. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -0
  49. package/3rdparty/walkontable/src/table.js +7 -79
  50. package/3rdparty/walkontable/src/table.mjs +8 -80
  51. package/base.js +2 -2
  52. package/base.mjs +2 -2
  53. package/core.d.ts +5 -3
  54. package/core.js +123 -308
  55. package/core.mjs +123 -308
  56. package/dataMap/metaManager/metaSchema.js +15 -0
  57. package/dataMap/metaManager/metaSchema.mjs +15 -0
  58. package/dist/handsontable.css +8 -3
  59. package/dist/handsontable.full.css +8 -3
  60. package/dist/handsontable.full.js +12578 -10028
  61. package/dist/handsontable.full.min.css +3 -3
  62. package/dist/handsontable.full.min.js +120 -120
  63. package/dist/handsontable.js +18881 -16331
  64. package/dist/handsontable.min.css +3 -3
  65. package/dist/handsontable.min.js +4 -4
  66. package/editorManager.js +21 -82
  67. package/editorManager.mjs +26 -86
  68. package/editors/textEditor/textEditor.js +3 -11
  69. package/editors/textEditor/textEditor.mjs +4 -12
  70. package/helpers/mixed.js +1 -1
  71. package/helpers/mixed.mjs +1 -1
  72. package/helpers/number.d.ts +1 -0
  73. package/helpers/number.js +18 -0
  74. package/helpers/number.mjs +17 -0
  75. package/package.json +1 -1
  76. package/pluginHooks.d.ts +5 -1
  77. package/pluginHooks.js +89 -1
  78. package/pluginHooks.mjs +89 -1
  79. package/plugins/copyPaste/copyPaste.js +5 -1
  80. package/plugins/copyPaste/copyPaste.mjs +5 -1
  81. package/plugins/customBorders/customBorders.js +18 -52
  82. package/plugins/customBorders/customBorders.mjs +19 -53
  83. package/plugins/mergeCells/mergeCells.js +5 -18
  84. package/plugins/mergeCells/mergeCells.mjs +5 -18
  85. package/plugins/nestedHeaders/nestedHeaders.js +132 -10
  86. package/plugins/nestedHeaders/nestedHeaders.mjs +132 -10
  87. package/plugins/nestedHeaders/stateManager/index.js +37 -0
  88. package/plugins/nestedHeaders/stateManager/index.mjs +37 -0
  89. package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
  90. package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
  91. package/selection/highlight/highlight.js +311 -88
  92. package/selection/highlight/highlight.mjs +301 -84
  93. package/selection/highlight/types/activeHeader.js +10 -9
  94. package/selection/highlight/types/activeHeader.mjs +10 -8
  95. package/selection/highlight/types/area.js +12 -27
  96. package/selection/highlight/types/area.mjs +16 -30
  97. package/selection/highlight/types/areaLayered.js +54 -0
  98. package/selection/highlight/types/areaLayered.mjs +49 -0
  99. package/selection/highlight/types/column.js +50 -0
  100. package/selection/highlight/types/column.mjs +45 -0
  101. package/selection/highlight/types/customSelection.js +7 -10
  102. package/selection/highlight/types/customSelection.mjs +7 -9
  103. package/selection/highlight/types/fill.js +5 -8
  104. package/selection/highlight/types/fill.mjs +5 -7
  105. package/selection/highlight/types/{cell.js → focus.js} +5 -8
  106. package/selection/highlight/types/{cell.mjs → focus.mjs} +5 -7
  107. package/selection/highlight/types/header.js +10 -20
  108. package/selection/highlight/types/header.mjs +10 -19
  109. package/selection/highlight/types/{index.js → row.js} +27 -31
  110. package/selection/highlight/types/{index.mjs → row.mjs} +24 -29
  111. package/selection/highlight/visualSelection.js +31 -27
  112. package/selection/highlight/visualSelection.mjs +31 -27
  113. package/selection/index.js +4 -7
  114. package/selection/index.mjs +2 -3
  115. package/selection/mouseEventHandler.js +1 -1
  116. package/selection/mouseEventHandler.mjs +1 -1
  117. package/selection/range.js +8 -8
  118. package/selection/range.mjs +8 -8
  119. package/selection/selection.js +315 -180
  120. package/selection/selection.mjs +310 -179
  121. package/selection/transformation.js +233 -96
  122. package/selection/transformation.mjs +230 -93
  123. package/selection/utils.js +12 -35
  124. package/selection/utils.mjs +13 -35
  125. package/settings.d.ts +1 -0
  126. package/shortcutContexts/commands/editor/closeAndSave.js +15 -0
  127. package/shortcutContexts/commands/editor/closeAndSave.mjs +10 -0
  128. package/shortcutContexts/commands/editor/closeWithoutSaving.js +13 -0
  129. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
  130. package/shortcutContexts/commands/editor/fastOpen.js +16 -0
  131. package/shortcutContexts/commands/editor/fastOpen.mjs +11 -0
  132. package/shortcutContexts/commands/editor/index.js +16 -0
  133. package/shortcutContexts/commands/editor/index.mjs +12 -0
  134. package/shortcutContexts/commands/editor/open.js +29 -0
  135. package/shortcutContexts/commands/editor/open.mjs +24 -0
  136. package/shortcutContexts/commands/emptySelectedCells.js +12 -0
  137. package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
  138. package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
  139. package/shortcutContexts/commands/extendCellsSelection/down.mjs +10 -0
  140. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +21 -0
  141. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +16 -0
  142. package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
  143. package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
  144. package/shortcutContexts/commands/extendCellsSelection/left.js +15 -0
  145. package/shortcutContexts/commands/extendCellsSelection/left.mjs +10 -0
  146. package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
  147. package/shortcutContexts/commands/extendCellsSelection/right.mjs +10 -0
  148. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +19 -0
  149. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +14 -0
  150. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +22 -0
  151. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +17 -0
  152. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +17 -0
  153. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +12 -0
  154. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +17 -0
  155. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +12 -0
  156. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +39 -0
  157. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +34 -0
  158. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +39 -0
  159. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +34 -0
  160. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +22 -0
  161. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +17 -0
  162. package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
  163. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +14 -0
  164. package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
  165. package/shortcutContexts/commands/extendCellsSelection/up.mjs +10 -0
  166. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +21 -0
  167. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +16 -0
  168. package/shortcutContexts/commands/index.js +51 -0
  169. package/shortcutContexts/commands/index.mjs +47 -0
  170. package/shortcutContexts/commands/moveCellSelection/down.js +12 -0
  171. package/shortcutContexts/commands/moveCellSelection/down.mjs +7 -0
  172. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +11 -0
  173. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +6 -0
  174. package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
  175. package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
  176. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +13 -0
  177. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
  178. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +13 -0
  179. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
  180. package/shortcutContexts/commands/moveCellSelection/left.js +11 -0
  181. package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
  182. package/shortcutContexts/commands/moveCellSelection/right.js +11 -0
  183. package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
  184. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +16 -0
  185. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +11 -0
  186. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +17 -0
  187. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +12 -0
  188. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +13 -0
  189. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +8 -0
  190. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +16 -0
  191. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +11 -0
  192. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +35 -0
  193. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +30 -0
  194. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +35 -0
  195. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +30 -0
  196. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +16 -0
  197. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +11 -0
  198. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +18 -0
  199. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +13 -0
  200. package/shortcutContexts/commands/moveCellSelection/up.js +12 -0
  201. package/shortcutContexts/commands/moveCellSelection/up.mjs +7 -0
  202. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +11 -0
  203. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +6 -0
  204. package/shortcutContexts/commands/populateSelectedCellsData.js +35 -0
  205. package/shortcutContexts/commands/populateSelectedCellsData.mjs +30 -0
  206. package/shortcutContexts/commands/selectAll.js +11 -0
  207. package/shortcutContexts/commands/selectAll.mjs +6 -0
  208. package/shortcutContexts/constants.js +19 -0
  209. package/shortcutContexts/constants.mjs +12 -0
  210. package/shortcutContexts/editor.js +29 -0
  211. package/shortcutContexts/editor.mjs +25 -0
  212. package/shortcutContexts/grid.js +244 -0
  213. package/shortcutContexts/grid.mjs +240 -0
  214. package/shortcutContexts/index.js +29 -0
  215. package/shortcutContexts/index.mjs +15 -0
  216. package/shortcuts/manager.js +2 -0
  217. package/shortcuts/manager.mjs +2 -0
  218. package/tableView.js +58 -9
  219. package/tableView.mjs +58 -9
  220. package/3rdparty/walkontable/src/selection.js +0 -354
  221. package/3rdparty/walkontable/src/selection.mjs +0 -348
  222. package/selection/highlight/constants.js +0 -16
  223. package/selection/highlight/constants.mjs +0 -6
package/core.mjs CHANGED
@@ -22,12 +22,12 @@ import "core-js/modules/es.set.js";
22
22
  import "core-js/modules/es.string.iterator.js";
23
23
  import "core-js/modules/web.dom-collections.iterator.js";
24
24
  import "core-js/modules/es.array.includes.js";
25
+ import "core-js/modules/es.array.concat.js";
25
26
  import "core-js/modules/es.array.sort.js";
26
27
  import "core-js/modules/es.array.splice.js";
27
28
  import "core-js/modules/es.number.is-integer.js";
28
29
  import "core-js/modules/es.number.constructor.js";
29
30
  import "core-js/modules/es.array.slice.js";
30
- import "core-js/modules/es.array.concat.js";
31
31
  import "core-js/modules/es.array.fill.js";
32
32
  import "core-js/modules/es.array.map.js";
33
33
  import "core-js/modules/es.regexp.exec.js";
@@ -38,7 +38,6 @@ import "core-js/modules/es.array.reverse.js";
38
38
  import "core-js/modules/web.dom-collections.for-each.js";
39
39
  import "core-js/modules/web.timers.js";
40
40
  import "core-js/modules/web.immediate.js";
41
- import "core-js/modules/es.map.js";
42
41
  import { addClass, empty, observeVisibilityChangeOnce, removeClass } from "./helpers/dom/element.mjs";
43
42
  import { isFunction } from "./helpers/function.mjs";
44
43
  import { isDefined, isUndefined, isRegExp, _injectProductInfo, isEmpty } from "./helpers/mixed.mjs";
@@ -69,7 +68,7 @@ import { Selection } from "./selection/index.mjs";
69
68
  import { MetaManager, DynamicCellMetaMod, ExtendMetaPropertiesMod, replaceData } from "./dataMap/index.mjs";
70
69
  import { createUniqueMap } from "./utils/dataStructures/uniqueMap.mjs";
71
70
  import { createShortcutManager } from "./shortcuts/index.mjs";
72
- var SHORTCUTS_GROUP = 'gridDefault';
71
+ import { registerAllShortcutContexts } from "./shortcutContexts/index.mjs";
73
72
  var activeGuid = null;
74
73
  var deprecationWarns = new Set();
75
74
 
@@ -286,12 +285,8 @@ export default function Core(rootElement, userSettings) {
286
285
  };
287
286
 
288
287
  var selection = new Selection(tableMeta, {
289
- rowIndexMapper: function rowIndexMapper() {
290
- return instance.rowIndexMapper;
291
- },
292
- columnIndexMapper: function columnIndexMapper() {
293
- return instance.columnIndexMapper;
294
- },
288
+ rowIndexMapper: instance.rowIndexMapper,
289
+ columnIndexMapper: instance.columnIndexMapper,
295
290
  countCols: function countCols() {
296
291
  return instance.countCols();
297
292
  },
@@ -304,12 +299,18 @@ export default function Core(rootElement, userSettings) {
304
299
  isEditorOpened: function isEditorOpened() {
305
300
  return instance.getActiveEditor() ? instance.getActiveEditor().isOpened() : false;
306
301
  },
307
- countColsTranslated: function countColsTranslated() {
302
+ countRenderableColumns: function countRenderableColumns() {
308
303
  return _this.view.countRenderableColumns();
309
304
  },
310
- countRowsTranslated: function countRowsTranslated() {
305
+ countRenderableRows: function countRenderableRows() {
311
306
  return _this.view.countRenderableRows();
312
307
  },
308
+ countRowHeaders: function countRowHeaders() {
309
+ return _this.countRowHeaders();
310
+ },
311
+ countColHeaders: function countColHeaders() {
312
+ return _this.countColHeaders();
313
+ },
313
314
  getShortcutManager: function getShortcutManager() {
314
315
  return instance.getShortcutManager();
315
316
  },
@@ -342,12 +343,6 @@ export default function Core(rootElement, userSettings) {
342
343
  });
343
344
  this.selection.addLocalHook('beforeSetRangeEnd', function (cellCoords) {
344
345
  _this.runHooks('beforeSetRangeEnd', cellCoords);
345
- if (cellCoords.row < 0) {
346
- cellCoords.row = _this.view._wt.wtTable.getFirstVisibleRow();
347
- }
348
- if (cellCoords.col < 0) {
349
- cellCoords.col = _this.view._wt.wtTable.getFirstVisibleColumn();
350
- }
351
346
  });
352
347
  this.selection.addLocalHook('afterSetRangeEnd', function (cellCoords) {
353
348
  var preventScrolling = createObjectPropListener(false);
@@ -373,7 +368,14 @@ export default function Core(rootElement, userSettings) {
373
368
  if (scrollToCell !== false) {
374
369
  if (!isSelectedByAnyHeader) {
375
370
  if (currentSelectedRange && !_this.selection.isMultiple()) {
376
- _this.view.scrollViewport(visualToRenderableCoords(currentSelectedRange.from));
371
+ var renderableCoords = visualToRenderableCoords(currentSelectedRange.from);
372
+ if (renderableCoords.row < 0 && renderableCoords.col >= 0) {
373
+ _this.view.scrollViewportHorizontally(renderableCoords.col);
374
+ } else if (renderableCoords.col < 0 && renderableCoords.row >= 0) {
375
+ _this.view.scrollViewportVertically(renderableCoords.row);
376
+ } else {
377
+ _this.view.scrollViewport(renderableCoords);
378
+ }
377
379
  } else {
378
380
  _this.view.scrollViewport(visualToRenderableCoords(cellCoords));
379
381
  }
@@ -414,6 +416,30 @@ export default function Core(rootElement, userSettings) {
414
416
  isMultiple.value = changedIsMultiple;
415
417
  }
416
418
  });
419
+ this.selection.addLocalHook('beforeSelectColumns', function () {
420
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
421
+ args[_key] = arguments[_key];
422
+ }
423
+ return _this.runHooks.apply(_this, ['beforeSelectColumns'].concat(args));
424
+ });
425
+ this.selection.addLocalHook('afterSelectColumns', function () {
426
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
427
+ args[_key2] = arguments[_key2];
428
+ }
429
+ return _this.runHooks.apply(_this, ['afterSelectColumns'].concat(args));
430
+ });
431
+ this.selection.addLocalHook('beforeSelectRows', function () {
432
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
433
+ args[_key3] = arguments[_key3];
434
+ }
435
+ return _this.runHooks.apply(_this, ['beforeSelectRows'].concat(args));
436
+ });
437
+ this.selection.addLocalHook('afterSelectRows', function () {
438
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
439
+ args[_key4] = arguments[_key4];
440
+ }
441
+ return _this.runHooks.apply(_this, ['afterSelectRows'].concat(args));
442
+ });
417
443
  this.selection.addLocalHook('beforeModifyTransformStart', function (cellCoordsDelta) {
418
444
  _this.runHooks('modifyTransformStart', cellCoordsDelta);
419
445
  });
@@ -1598,8 +1624,8 @@ export default function Core(rootElement, userSettings) {
1598
1624
  */
1599
1625
  this.spliceCol = function (column, index, amount) {
1600
1626
  var _datamap;
1601
- for (var _len = arguments.length, elements = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
1602
- elements[_key - 3] = arguments[_key];
1627
+ for (var _len5 = arguments.length, elements = new Array(_len5 > 3 ? _len5 - 3 : 0), _key5 = 3; _key5 < _len5; _key5++) {
1628
+ elements[_key5 - 3] = arguments[_key5];
1603
1629
  }
1604
1630
  return (_datamap = datamap).spliceCol.apply(_datamap, [column, index, amount].concat(elements));
1605
1631
  };
@@ -1617,8 +1643,8 @@ export default function Core(rootElement, userSettings) {
1617
1643
  */
1618
1644
  this.spliceRow = function (row, index, amount) {
1619
1645
  var _datamap2;
1620
- for (var _len2 = arguments.length, elements = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
1621
- elements[_key2 - 3] = arguments[_key2];
1646
+ for (var _len6 = arguments.length, elements = new Array(_len6 > 3 ? _len6 - 3 : 0), _key6 = 3; _key6 < _len6; _key6++) {
1647
+ elements[_key6 - 3] = arguments[_key6];
1622
1648
  }
1623
1649
  return (_datamap2 = datamap).spliceRow.apply(_datamap2, [row, index, amount].concat(elements));
1624
1650
  };
@@ -3032,8 +3058,8 @@ export default function Core(rootElement, userSettings) {
3032
3058
  this.spliceCellsMeta = function (visualIndex) {
3033
3059
  var _this5 = this;
3034
3060
  var deleteAmount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
3035
- for (var _len3 = arguments.length, cellMetaRows = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {
3036
- cellMetaRows[_key3 - 2] = arguments[_key3];
3061
+ for (var _len7 = arguments.length, cellMetaRows = new Array(_len7 > 2 ? _len7 - 2 : 0), _key7 = 2; _key7 < _len7; _key7++) {
3062
+ cellMetaRows[_key7 - 2] = arguments[_key7];
3037
3063
  }
3038
3064
  if (cellMetaRows.length > 0 && !Array.isArray(cellMetaRows[0])) {
3039
3065
  throw new Error('The 3rd argument (cellMetaRows) has to be passed as an array of cell meta objects array.');
@@ -3727,6 +3753,30 @@ export default function Core(rootElement, userSettings) {
3727
3753
  return instance.view._wt.drawn ? instance.view._wt.wtTable.getVisibleColumnsCount() : -1;
3728
3754
  };
3729
3755
 
3756
+ /**
3757
+ * Returns the number of rendered row headers.
3758
+ *
3759
+ * @since 13.0.0
3760
+ * @memberof Core#
3761
+ * @function countRowHeaders
3762
+ * @returns {number} Number of row headers.
3763
+ */
3764
+ this.countRowHeaders = function () {
3765
+ return this.view.getRowHeadersCount();
3766
+ };
3767
+
3768
+ /**
3769
+ * Returns the number of rendered column headers.
3770
+ *
3771
+ * @since 13.0.0
3772
+ * @memberof Core#
3773
+ * @function countColHeaders
3774
+ * @returns {number} Number of column headers.
3775
+ */
3776
+ this.countColHeaders = function () {
3777
+ return this.view.getColumnHeadersCount();
3778
+ };
3779
+
3730
3780
  /**
3731
3781
  * Returns the number of empty rows. If the optional ending parameter is `true`, returns the
3732
3782
  * number of empty rows at the bottom of the table.
@@ -3931,6 +3981,10 @@ export default function Core(rootElement, userSettings) {
3931
3981
  * hot.selectColumns('id');
3932
3982
  * // Select range of columns using visual indexes.
3933
3983
  * hot.selectColumns(1, 4);
3984
+ * // Select range of columns using visual indexes and mark the first header as highlighted.
3985
+ * hot.selectColumns(1, 2, -1);
3986
+ * // Select range of columns using visual indexes and mark the second cell as highlighted.
3987
+ * hot.selectColumns(2, 1, 1);
3934
3988
  * // Select range of columns using column properties.
3935
3989
  * hot.selectColumns('id', 'last_name');
3936
3990
  * ```
@@ -3941,11 +3995,15 @@ export default function Core(rootElement, userSettings) {
3941
3995
  * @param {number} startColumn The visual column index from which the selection starts.
3942
3996
  * @param {number} [endColumn=startColumn] The visual column index to which the selection finishes. If `endColumn`
3943
3997
  * is not defined the column defined by `startColumn` will be selected.
3998
+ * @param {number} [focusPosition=0] The argument allows changing the cell/header focus position.
3999
+ * The value can take visual row index from -N to N, where negative values
4000
+ * point to the headers and positive values point to the cell range.
3944
4001
  * @returns {boolean} `true` if selection was successful, `false` otherwise.
3945
4002
  */
3946
4003
  this.selectColumns = function (startColumn) {
3947
4004
  var endColumn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : startColumn;
3948
- return selection.selectColumns(startColumn, endColumn);
4005
+ var focusPosition = arguments.length > 2 ? arguments[2] : undefined;
4006
+ return selection.selectColumns(startColumn, endColumn, focusPosition);
3949
4007
  };
3950
4008
 
3951
4009
  /**
@@ -3957,6 +4015,10 @@ export default function Core(rootElement, userSettings) {
3957
4015
  * hot.selectRows(1);
3958
4016
  * // Select range of rows using visual indexes.
3959
4017
  * hot.selectRows(1, 4);
4018
+ * // Select range of rows using visual indexes and mark the first header as highlighted.
4019
+ * hot.selectRows(1, 2, -1);
4020
+ * // Select range of rows using visual indexes and mark the second cell as highlighted.
4021
+ * hot.selectRows(2, 1, 1);
3960
4022
  * ```
3961
4023
  *
3962
4024
  * @memberof Core#
@@ -3965,11 +4027,15 @@ export default function Core(rootElement, userSettings) {
3965
4027
  * @param {number} startRow The visual row index from which the selection starts.
3966
4028
  * @param {number} [endRow=startRow] The visual row index to which the selection finishes. If `endRow`
3967
4029
  * is not defined the row defined by `startRow` will be selected.
4030
+ * @param {number} [focusPosition=0] The argument allows changing the cell/header focus position.
4031
+ * The value can take visual column index from -N to N, where negative values
4032
+ * point to the headers and positive values point to the cell range.
3968
4033
  * @returns {boolean} `true` if selection was successful, `false` otherwise.
3969
4034
  */
3970
4035
  this.selectRows = function (startRow) {
3971
4036
  var endRow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : startRow;
3972
- return selection.selectRows(startRow, endRow);
4037
+ var focusPosition = arguments.length > 2 ? arguments[2] : undefined;
4038
+ return selection.selectRows(startRow, endRow, focusPosition);
3973
4039
  };
3974
4040
 
3975
4041
  /**
@@ -3988,9 +4054,16 @@ export default function Core(rootElement, userSettings) {
3988
4054
  * The previous selection is overwritten.
3989
4055
  *
3990
4056
  * ```js
3991
- * // select all cells in the table, including all headers
4057
+ * // select all cells in the table, including all headers with corner
3992
4058
  * hot.selectAll();
3993
4059
  *
4060
+ * // select all cells in the table, including row headers without corner
4061
+ * hot.selectAll(true, false);
4062
+ *
4063
+ * // select all cells in the table, including all headers with corner but move the focus
4064
+ * // highlight to position -2,-1
4065
+ * hot.selectAll(true, true, { row: -2, col: -1 });
4066
+ *
3994
4067
  * // select all cells in the table, without headers
3995
4068
  * hot.selectAll(false);
3996
4069
  * ```
@@ -3998,15 +4071,20 @@ export default function Core(rootElement, userSettings) {
3998
4071
  * @since 0.38.2
3999
4072
  * @memberof Core#
4000
4073
  * @function selectAll
4001
- * @param {boolean} [includeHeaders=true] `true`: include all row, column and corner headers.
4002
- * `false`: don't include any headers.
4074
+ * @param {boolean} [includeRowHeaders=false] `true` If the selection should include the row headers,
4075
+ * `false` otherwise.
4076
+ * @param {boolean} [includeColumnHeaders=false] `true` If the selection should include the column
4077
+ * headers, `false` otherwise.
4078
+ * @param {{row: number, col: number}} [focusPosition] The argument allows changing the cell/header
4079
+ * focus position. The value takes an object with a `row` and `col` properties (visual indexes)
4080
+ * from -N to N, where negative values point to the headers and positive values point to the cell range.
4003
4081
  */
4004
4082
  this.selectAll = function () {
4005
- var includeHeaders = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
4006
- var includeRowHeaders = includeHeaders && this.hasRowHeaders();
4007
- var includeColumnHeaders = includeHeaders && this.hasColHeaders();
4083
+ var includeRowHeaders = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
4084
+ var includeColumnHeaders = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : includeRowHeaders;
4085
+ var focusPosition = arguments.length > 2 ? arguments[2] : undefined;
4008
4086
  preventScrollingToCell = true;
4009
- selection.selectAll(includeRowHeaders, includeColumnHeaders);
4087
+ selection.selectAll(includeRowHeaders, includeColumnHeaders, focusPosition);
4010
4088
  preventScrollingToCell = false;
4011
4089
  };
4012
4090
  var getIndexToScroll = function getIndexToScroll(indexMapper, visualIndex) {
@@ -4410,6 +4488,16 @@ export default function Core(rootElement, userSettings) {
4410
4488
  }
4411
4489
  };
4412
4490
 
4491
+ /**
4492
+ * Gets the instance of the EditorManager.
4493
+ *
4494
+ * @private
4495
+ * @returns {EditorManager}
4496
+ */
4497
+ this._getEditorManager = function () {
4498
+ return editorManager;
4499
+ };
4500
+
4413
4501
  /**
4414
4502
  * Check if currently it is RTL direction.
4415
4503
  *
@@ -4482,284 +4570,11 @@ export default function Core(rootElement, userSettings) {
4482
4570
  this.getShortcutManager = function () {
4483
4571
  return shortcutManager;
4484
4572
  };
4485
- var gridContext = shortcutManager.addContext('grid');
4486
- var gridConfig = {
4487
- runOnlyIf: function runOnlyIf() {
4488
- return isDefined(instance.getSelected()) && instance.countRenderedRows() > 0 && instance.countRenderedCols() > 0;
4489
- },
4490
- group: SHORTCUTS_GROUP
4491
- };
4492
- shortcutManager.setActiveContextName('grid');
4493
- gridContext.addShortcuts([{
4494
- keys: [['Control/Meta', 'A']],
4495
- callback: function callback() {
4496
- instance.selectAll();
4497
- }
4498
- }, {
4499
- keys: [['Control/Meta', 'Enter']],
4500
- callback: function callback() {
4501
- var selectedRange = instance.getSelectedRange();
4502
- var _selectedRange$highli = selectedRange[selectedRange.length - 1].highlight,
4503
- highlightRow = _selectedRange$highli.row,
4504
- highlightColumn = _selectedRange$highli.col;
4505
- var valueToPopulate = instance.getDataAtCell(highlightRow, highlightColumn);
4506
- var cellValues = new Map();
4507
- for (var i = 0; i < selectedRange.length; i++) {
4508
- selectedRange[i].forAll(function (row, column) {
4509
- if (row >= 0 && column >= 0 && (row !== highlightRow || column !== highlightColumn)) {
4510
- var _instance$getCellMeta = instance.getCellMeta(row, column),
4511
- readOnly = _instance$getCellMeta.readOnly;
4512
- if (!readOnly) {
4513
- cellValues.set("".concat(row, "x").concat(column), [row, column, valueToPopulate]);
4514
- }
4515
- }
4516
- });
4517
- }
4518
- instance.setDataAtCell(Array.from(cellValues.values()));
4519
- },
4520
- runOnlyIf: function runOnlyIf() {
4521
- return instance.getSelectedRangeLast().getCellsCount() > 1;
4522
- }
4523
- }, {
4524
- keys: [['ArrowUp']],
4525
- callback: function callback() {
4526
- selection.transformStart(-1, 0);
4527
- }
4528
- }, {
4529
- keys: [['ArrowUp', 'Control/Meta']],
4530
- captureCtrl: true,
4531
- callback: function callback() {
4532
- selection.setRangeStart(instance._createCellCoords(instance.rowIndexMapper.getNearestNotHiddenIndex(0, 1), instance.getSelectedRangeLast().highlight.col));
4533
- }
4534
- }, {
4535
- keys: [['ArrowUp', 'Shift']],
4536
- callback: function callback() {
4537
- selection.transformEnd(-1, 0);
4538
- }
4539
- }, {
4540
- keys: [['ArrowUp', 'Shift', 'Control/Meta']],
4541
- captureCtrl: true,
4542
- callback: function callback() {
4543
- var _instance$getSelected = instance.getSelectedRangeLast(),
4544
- from = _instance$getSelected.from,
4545
- to = _instance$getSelected.to;
4546
- var row = instance.rowIndexMapper.getNearestNotHiddenIndex(0, 1);
4547
- selection.setRangeStart(from.clone());
4548
- selection.setRangeEnd(instance._createCellCoords(row, to.col));
4549
- },
4550
- runOnlyIf: function runOnlyIf() {
4551
- return !(instance.selection.isSelectedByCorner() || instance.selection.isSelectedByColumnHeader());
4552
- }
4553
- }, {
4554
- keys: [['ArrowDown']],
4555
- callback: function callback() {
4556
- selection.transformStart(1, 0);
4557
- }
4558
- }, {
4559
- keys: [['ArrowDown', 'Control/Meta']],
4560
- captureCtrl: true,
4561
- callback: function callback() {
4562
- selection.setRangeStart(instance._createCellCoords(instance.rowIndexMapper.getNearestNotHiddenIndex(instance.countRows() - 1, -1), instance.getSelectedRangeLast().highlight.col));
4563
- }
4564
- }, {
4565
- keys: [['ArrowDown', 'Shift']],
4566
- callback: function callback() {
4567
- selection.transformEnd(1, 0);
4568
- }
4569
- }, {
4570
- keys: [['ArrowDown', 'Shift', 'Control/Meta']],
4571
- captureCtrl: true,
4572
- callback: function callback() {
4573
- var _instance$getSelected2 = instance.getSelectedRangeLast(),
4574
- from = _instance$getSelected2.from,
4575
- to = _instance$getSelected2.to;
4576
- var row = instance.rowIndexMapper.getNearestNotHiddenIndex(instance.countRows() - 1, -1);
4577
- selection.setRangeStart(from.clone());
4578
- selection.setRangeEnd(instance._createCellCoords(row, to.col));
4579
- },
4580
- runOnlyIf: function runOnlyIf() {
4581
- return !(instance.selection.isSelectedByCorner() || instance.selection.isSelectedByColumnHeader());
4582
- }
4583
- }, {
4584
- keys: [['ArrowLeft']],
4585
- callback: function callback() {
4586
- selection.transformStart(0, -1 * instance.getDirectionFactor());
4587
- }
4588
- }, {
4589
- keys: [['ArrowLeft', 'Control/Meta']],
4590
- captureCtrl: true,
4591
- callback: function callback() {
4592
- var _instance$columnIndex;
4593
- var row = instance.getSelectedRangeLast().highlight.row;
4594
- var column = (_instance$columnIndex = instance.columnIndexMapper).getNearestNotHiddenIndex.apply(_instance$columnIndex, _toConsumableArray(instance.isRtl() ? [instance.countCols() - 1, -1] : [0, 1]));
4595
- selection.setRangeStart(instance._createCellCoords(row, column));
4596
- }
4597
- }, {
4598
- keys: [['ArrowLeft', 'Shift']],
4599
- callback: function callback() {
4600
- selection.transformEnd(0, -1 * instance.getDirectionFactor());
4601
- }
4602
- }, {
4603
- keys: [['ArrowLeft', 'Shift', 'Control/Meta']],
4604
- captureCtrl: true,
4605
- callback: function callback() {
4606
- var _instance$columnIndex2;
4607
- var _instance$getSelected3 = instance.getSelectedRangeLast(),
4608
- from = _instance$getSelected3.from,
4609
- to = _instance$getSelected3.to;
4610
- var column = (_instance$columnIndex2 = instance.columnIndexMapper).getNearestNotHiddenIndex.apply(_instance$columnIndex2, _toConsumableArray(instance.isRtl() ? [instance.countCols() - 1, -1] : [0, 1]));
4611
- selection.setRangeStart(from.clone());
4612
- selection.setRangeEnd(instance._createCellCoords(to.row, column));
4613
- },
4614
- runOnlyIf: function runOnlyIf() {
4615
- return !(instance.selection.isSelectedByCorner() || instance.selection.isSelectedByRowHeader());
4616
- }
4617
- }, {
4618
- keys: [['ArrowRight']],
4619
- callback: function callback() {
4620
- selection.transformStart(0, instance.getDirectionFactor());
4621
- }
4622
- }, {
4623
- keys: [['ArrowRight', 'Control/Meta']],
4624
- captureCtrl: true,
4625
- callback: function callback() {
4626
- var _instance$columnIndex3;
4627
- var row = instance.getSelectedRangeLast().highlight.row;
4628
- var column = (_instance$columnIndex3 = instance.columnIndexMapper).getNearestNotHiddenIndex.apply(_instance$columnIndex3, _toConsumableArray(instance.isRtl() ? [0, 1] : [instance.countCols() - 1, -1]));
4629
- selection.setRangeStart(instance._createCellCoords(row, column));
4630
- }
4631
- }, {
4632
- keys: [['ArrowRight', 'Shift']],
4633
- callback: function callback() {
4634
- selection.transformEnd(0, instance.getDirectionFactor());
4635
- }
4636
- }, {
4637
- keys: [['ArrowRight', 'Shift', 'Control/Meta']],
4638
- captureCtrl: true,
4639
- callback: function callback() {
4640
- var _instance$columnIndex4;
4641
- var _instance$getSelected4 = instance.getSelectedRangeLast(),
4642
- from = _instance$getSelected4.from,
4643
- to = _instance$getSelected4.to;
4644
- var column = (_instance$columnIndex4 = instance.columnIndexMapper).getNearestNotHiddenIndex.apply(_instance$columnIndex4, _toConsumableArray(instance.isRtl() ? [0, 1] : [instance.countCols() - 1, -1]));
4645
- selection.setRangeStart(from.clone());
4646
- selection.setRangeEnd(instance._createCellCoords(to.row, column));
4647
- },
4648
- runOnlyIf: function runOnlyIf() {
4649
- return !(instance.selection.isSelectedByCorner() || instance.selection.isSelectedByRowHeader());
4650
- }
4651
- }, {
4652
- keys: [['Home']],
4653
- captureCtrl: true,
4654
- callback: function callback() {
4655
- var fixedColumns = parseInt(instance.getSettings().fixedColumnsStart, 10);
4656
- var row = instance.getSelectedRangeLast().highlight.row;
4657
- var column = instance.columnIndexMapper.getNearestNotHiddenIndex(fixedColumns, 1);
4658
- selection.setRangeStart(instance._createCellCoords(row, column));
4659
- },
4660
- runOnlyIf: function runOnlyIf() {
4661
- return instance.view.isMainTableNotFullyCoveredByOverlays();
4662
- }
4663
- }, {
4664
- keys: [['Home', 'Shift']],
4665
- callback: function callback() {
4666
- selection.setRangeEnd(instance._createCellCoords(selection.selectedRange.current().from.row, instance.columnIndexMapper.getNearestNotHiddenIndex(0, 1)));
4667
- }
4668
- }, {
4669
- keys: [['Home', 'Control/Meta']],
4670
- captureCtrl: true,
4671
- callback: function callback() {
4672
- var fixedRows = parseInt(instance.getSettings().fixedRowsTop, 10);
4673
- var fixedColumns = parseInt(instance.getSettings().fixedColumnsStart, 10);
4674
- var row = instance.rowIndexMapper.getNearestNotHiddenIndex(fixedRows, 1);
4675
- var column = instance.columnIndexMapper.getNearestNotHiddenIndex(fixedColumns, 1);
4676
- selection.setRangeStart(instance._createCellCoords(row, column));
4677
- },
4678
- runOnlyIf: function runOnlyIf() {
4679
- return instance.view.isMainTableNotFullyCoveredByOverlays();
4680
- }
4681
- }, {
4682
- keys: [['End']],
4683
- captureCtrl: true,
4684
- callback: function callback() {
4685
- selection.setRangeStart(instance._createCellCoords(instance.getSelectedRangeLast().highlight.row, instance.columnIndexMapper.getNearestNotHiddenIndex(instance.countCols() - 1, -1)));
4686
- },
4687
- runOnlyIf: function runOnlyIf() {
4688
- return instance.view.isMainTableNotFullyCoveredByOverlays();
4689
- }
4690
- }, {
4691
- keys: [['End', 'Shift']],
4692
- callback: function callback() {
4693
- selection.setRangeEnd(instance._createCellCoords(selection.selectedRange.current().from.row, instance.columnIndexMapper.getNearestNotHiddenIndex(instance.countCols() - 1, -1)));
4694
- }
4695
- }, {
4696
- keys: [['End', 'Control/Meta']],
4697
- captureCtrl: true,
4698
- callback: function callback() {
4699
- var fixedRows = parseInt(instance.getSettings().fixedRowsBottom, 10);
4700
- var row = instance.rowIndexMapper.getNearestNotHiddenIndex(instance.countRows() - fixedRows - 1, -1);
4701
- var column = instance.columnIndexMapper.getNearestNotHiddenIndex(instance.countCols() - 1, -1);
4702
- selection.setRangeStart(instance._createCellCoords(row, column));
4703
- },
4704
- runOnlyIf: function runOnlyIf() {
4705
- return instance.view.isMainTableNotFullyCoveredByOverlays();
4706
- }
4707
- }, {
4708
- keys: [['PageUp']],
4709
- callback: function callback() {
4710
- selection.transformStart(-instance.countVisibleRows(), 0);
4711
- }
4712
- }, {
4713
- keys: [['PageUp', 'Shift']],
4714
- callback: function callback() {
4715
- var _instance$getSelected5 = instance.getSelectedRangeLast(),
4716
- to = _instance$getSelected5.to;
4717
- var nextRowIndexToSelect = Math.max(to.row - instance.countVisibleRows(), 0);
4718
- var row = instance.rowIndexMapper.getNearestNotHiddenIndex(nextRowIndexToSelect, 1);
4719
- if (row !== null) {
4720
- var coords = instance._createCellCoords(row, to.col);
4721
- var scrollPadding = to.row - instance.view.getFirstFullyVisibleRow();
4722
- var nextVerticalScroll = Math.max(coords.row - scrollPadding, 0);
4723
- selection.setRangeEnd(coords);
4724
- instance.scrollViewportTo(nextVerticalScroll);
4725
- }
4726
- }
4727
- }, {
4728
- keys: [['PageDown']],
4729
- callback: function callback() {
4730
- selection.transformStart(instance.countVisibleRows(), 0);
4731
- }
4732
- }, {
4733
- keys: [['PageDown', 'Shift']],
4734
- callback: function callback() {
4735
- var _instance$getSelected6 = instance.getSelectedRangeLast(),
4736
- to = _instance$getSelected6.to;
4737
- var nextRowIndexToSelect = Math.min(to.row + instance.countVisibleRows(), instance.countRows() - 1);
4738
- var row = instance.rowIndexMapper.getNearestNotHiddenIndex(nextRowIndexToSelect, -1);
4739
- if (row !== null) {
4740
- var coords = instance._createCellCoords(row, to.col);
4741
- var scrollPadding = to.row - instance.view.getFirstFullyVisibleRow();
4742
- var nextVerticalScroll = Math.min(coords.row - scrollPadding, instance.countRows() - 1);
4743
- selection.setRangeEnd(coords);
4744
- instance.scrollViewportTo(nextVerticalScroll);
4745
- }
4746
- }
4747
- }, {
4748
- keys: [['Tab']],
4749
- callback: function callback(event) {
4750
- var tabMoves = typeof tableMeta.tabMoves === 'function' ? tableMeta.tabMoves(event) : tableMeta.tabMoves;
4751
- selection.transformStart(tabMoves.row, tabMoves.col, true);
4752
- }
4753
- }, {
4754
- keys: [['Shift', 'Tab']],
4755
- callback: function callback(event) {
4756
- var tabMoves = typeof tableMeta.tabMoves === 'function' ? tableMeta.tabMoves(event) : tableMeta.tabMoves;
4757
- selection.transformStart(-tabMoves.row, -tabMoves.col);
4758
- }
4759
- }], gridConfig);
4760
4573
  getPluginsNames().forEach(function (pluginName) {
4761
4574
  var PluginClass = getPlugin(pluginName);
4762
4575
  pluginsRegistry.addItem(pluginName, new PluginClass(_this));
4763
4576
  });
4577
+ registerAllShortcutContexts(instance);
4578
+ shortcutManager.setActiveContextName('grid');
4764
4579
  Hooks.getSingleton().run(instance, 'construct');
4765
4580
  }
@@ -3112,6 +3112,21 @@ var _default = function _default() {
3112
3112
  * ```
3113
3113
  */
3114
3114
  multiColumnSorting: void 0,
3115
+ /**
3116
+ * The `navigableHeaders` option enables or disables the ability to navigate in headers.
3117
+ *
3118
+ * @since 13.0.0
3119
+ * @memberof Options#
3120
+ * @type {boolean}
3121
+ * @default false
3122
+ * @category Core
3123
+ *
3124
+ * @example
3125
+ * ```js
3126
+ * navigableHeaders: true,
3127
+ * ```
3128
+ */
3129
+ navigableHeaders: false,
3115
3130
  /**
3116
3131
  * @description
3117
3132
  * The `nestedHeaders` option configures the [`NestedHeaders`](@/api/nestedHeaders.md) plugin.
@@ -3108,6 +3108,21 @@ export default (function () {
3108
3108
  * ```
3109
3109
  */
3110
3110
  multiColumnSorting: void 0,
3111
+ /**
3112
+ * The `navigableHeaders` option enables or disables the ability to navigate in headers.
3113
+ *
3114
+ * @since 13.0.0
3115
+ * @memberof Options#
3116
+ * @type {boolean}
3117
+ * @default false
3118
+ * @category Core
3119
+ *
3120
+ * @example
3121
+ * ```js
3122
+ * navigableHeaders: true,
3123
+ * ```
3124
+ */
3125
+ navigableHeaders: false,
3111
3126
  /**
3112
3127
  * @description
3113
3128
  * The `nestedHeaders` option configures the [`NestedHeaders`](@/api/nestedHeaders.md) plugin.
@@ -25,8 +25,8 @@
25
25
  * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
26
26
  * USE OR INABILITY TO USE THIS SOFTWARE.
27
27
  *
28
- * Version: 0.0.0-next-b7cca45-20230605
29
- * Release date: 23/05/2023 (built at 05/06/2023 08:56:10)
28
+ * Version: 0.0.0-next-aa25cac-20230607
29
+ * Release date: 23/05/2023 (built at 07/06/2023 08:16:57)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles
@@ -607,6 +607,11 @@ innerBorderBottom - Property controlled by bottom overlay
607
607
  opacity: 0.58;
608
608
  }
609
609
 
610
+ .handsontable tbody th.current,
611
+ .handsontable thead th.current {
612
+ box-shadow: inset 0 0 0 2px #5292f7;
613
+ }
614
+
610
615
  .handsontable tbody th.ht__highlight,
611
616
  .handsontable thead th.ht__highlight {
612
617
  background-color: #dcdcdc;
@@ -799,7 +804,7 @@ TextRenderer placeholder value
799
804
  cursor: pointer;
800
805
  -webkit-box-shadow: 0 0 0 6px rgb(238, 238, 238);
801
806
  -moz-box-shadow: 0 0 0 6px rgb(238, 238, 238);
802
- box-shadow: 0 0 0 6px rgb(238, 238, 238);
807
+ box-shadow: 0 0 0 3px rgb(238, 238, 238);
803
808
  background: #eee;
804
809
  text-align: center;
805
810
  }