handsontable 0.0.0-next-ac97c93-20230617 → 0.0.0-next-acb8c02-20230620

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 (237) 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 +329 -0
  34. package/3rdparty/walkontable/src/selection/manager.mjs +323 -0
  35. package/3rdparty/walkontable/src/selection/scanner.js +364 -0
  36. package/3rdparty/walkontable/src/selection/scanner.mjs +360 -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 +127 -309
  55. package/core.mjs +127 -309
  56. package/dataMap/metaManager/metaSchema.js +19 -0
  57. package/dataMap/metaManager/metaSchema.mjs +19 -0
  58. package/dist/handsontable.css +8 -3
  59. package/dist/handsontable.full.css +8 -3
  60. package/dist/handsontable.full.js +13260 -10403
  61. package/dist/handsontable.full.min.css +3 -3
  62. package/dist/handsontable.full.min.js +112 -112
  63. package/dist/handsontable.js +19121 -16264
  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/collapsibleColumns/collapsibleColumns.js +81 -24
  80. package/plugins/collapsibleColumns/collapsibleColumns.mjs +81 -24
  81. package/plugins/columnSorting/columnSorting.js +50 -8
  82. package/plugins/columnSorting/columnSorting.mjs +49 -9
  83. package/plugins/columnSorting/index.js +4 -2
  84. package/plugins/columnSorting/index.mjs +1 -1
  85. package/plugins/contextMenu/utils.js +25 -0
  86. package/plugins/contextMenu/utils.mjs +24 -0
  87. package/plugins/copyPaste/copyPaste.js +5 -1
  88. package/plugins/copyPaste/copyPaste.mjs +5 -1
  89. package/plugins/customBorders/customBorders.js +18 -53
  90. package/plugins/customBorders/customBorders.mjs +19 -54
  91. package/plugins/dropdownMenu/dropdownMenu.js +79 -25
  92. package/plugins/dropdownMenu/dropdownMenu.mjs +79 -25
  93. package/plugins/mergeCells/mergeCells.js +5 -18
  94. package/plugins/mergeCells/mergeCells.mjs +5 -18
  95. package/plugins/multiColumnSorting/multiColumnSorting.js +42 -3
  96. package/plugins/multiColumnSorting/multiColumnSorting.mjs +42 -3
  97. package/plugins/nestedHeaders/nestedHeaders.js +132 -10
  98. package/plugins/nestedHeaders/nestedHeaders.mjs +132 -10
  99. package/plugins/nestedHeaders/stateManager/index.js +37 -0
  100. package/plugins/nestedHeaders/stateManager/index.mjs +37 -0
  101. package/plugins/nestedRows/nestedRows.js +52 -7
  102. package/plugins/nestedRows/nestedRows.mjs +52 -7
  103. package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
  104. package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
  105. package/selection/highlight/highlight.js +312 -89
  106. package/selection/highlight/highlight.mjs +302 -85
  107. package/selection/highlight/types/activeHeader.js +10 -9
  108. package/selection/highlight/types/activeHeader.mjs +10 -8
  109. package/selection/highlight/types/area.js +12 -27
  110. package/selection/highlight/types/area.mjs +16 -30
  111. package/selection/highlight/types/areaLayered.js +54 -0
  112. package/selection/highlight/types/areaLayered.mjs +49 -0
  113. package/selection/highlight/types/column.js +50 -0
  114. package/selection/highlight/types/column.mjs +45 -0
  115. package/selection/highlight/types/customSelection.js +7 -10
  116. package/selection/highlight/types/customSelection.mjs +7 -9
  117. package/selection/highlight/types/fill.js +5 -8
  118. package/selection/highlight/types/fill.mjs +5 -7
  119. package/selection/highlight/types/{cell.js → focus.js} +5 -8
  120. package/selection/highlight/types/{cell.mjs → focus.mjs} +5 -7
  121. package/selection/highlight/types/header.js +10 -20
  122. package/selection/highlight/types/header.mjs +10 -19
  123. package/selection/highlight/types/{index.js → row.js} +27 -31
  124. package/selection/highlight/types/{index.mjs → row.mjs} +24 -29
  125. package/selection/highlight/visualSelection.js +31 -27
  126. package/selection/highlight/visualSelection.mjs +31 -27
  127. package/selection/index.js +4 -7
  128. package/selection/index.mjs +2 -3
  129. package/selection/mouseEventHandler.js +1 -1
  130. package/selection/mouseEventHandler.mjs +1 -1
  131. package/selection/range.js +8 -8
  132. package/selection/range.mjs +8 -8
  133. package/selection/selection.js +315 -181
  134. package/selection/selection.mjs +310 -180
  135. package/selection/transformation.js +233 -96
  136. package/selection/transformation.mjs +230 -93
  137. package/selection/utils.js +12 -36
  138. package/selection/utils.mjs +13 -36
  139. package/settings.d.ts +1 -0
  140. package/shortcutContexts/commands/editor/closeAndSave.js +15 -0
  141. package/shortcutContexts/commands/editor/closeAndSave.mjs +10 -0
  142. package/shortcutContexts/commands/editor/closeWithoutSaving.js +13 -0
  143. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
  144. package/shortcutContexts/commands/editor/fastOpen.js +16 -0
  145. package/shortcutContexts/commands/editor/fastOpen.mjs +11 -0
  146. package/shortcutContexts/commands/editor/index.js +16 -0
  147. package/shortcutContexts/commands/editor/index.mjs +12 -0
  148. package/shortcutContexts/commands/editor/open.js +29 -0
  149. package/shortcutContexts/commands/editor/open.mjs +24 -0
  150. package/shortcutContexts/commands/emptySelectedCells.js +12 -0
  151. package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
  152. package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
  153. package/shortcutContexts/commands/extendCellsSelection/down.mjs +10 -0
  154. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +21 -0
  155. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +16 -0
  156. package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
  157. package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
  158. package/shortcutContexts/commands/extendCellsSelection/left.js +15 -0
  159. package/shortcutContexts/commands/extendCellsSelection/left.mjs +10 -0
  160. package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
  161. package/shortcutContexts/commands/extendCellsSelection/right.mjs +10 -0
  162. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +19 -0
  163. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +14 -0
  164. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +22 -0
  165. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +17 -0
  166. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +17 -0
  167. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +12 -0
  168. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +17 -0
  169. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +12 -0
  170. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +40 -0
  171. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +35 -0
  172. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +40 -0
  173. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +35 -0
  174. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +22 -0
  175. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +17 -0
  176. package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
  177. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +14 -0
  178. package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
  179. package/shortcutContexts/commands/extendCellsSelection/up.mjs +10 -0
  180. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +21 -0
  181. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +16 -0
  182. package/shortcutContexts/commands/index.js +52 -0
  183. package/shortcutContexts/commands/index.mjs +48 -0
  184. package/shortcutContexts/commands/moveCellSelection/down.js +12 -0
  185. package/shortcutContexts/commands/moveCellSelection/down.mjs +7 -0
  186. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +29 -0
  187. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +24 -0
  188. package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
  189. package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
  190. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +13 -0
  191. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
  192. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +13 -0
  193. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
  194. package/shortcutContexts/commands/moveCellSelection/left.js +11 -0
  195. package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
  196. package/shortcutContexts/commands/moveCellSelection/right.js +11 -0
  197. package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
  198. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +16 -0
  199. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +11 -0
  200. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +17 -0
  201. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +12 -0
  202. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +13 -0
  203. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +8 -0
  204. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +16 -0
  205. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +11 -0
  206. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +36 -0
  207. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +31 -0
  208. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +36 -0
  209. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +31 -0
  210. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +16 -0
  211. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +11 -0
  212. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +18 -0
  213. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +13 -0
  214. package/shortcutContexts/commands/moveCellSelection/up.js +12 -0
  215. package/shortcutContexts/commands/moveCellSelection/up.mjs +7 -0
  216. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +29 -0
  217. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +24 -0
  218. package/shortcutContexts/commands/populateSelectedCellsData.js +35 -0
  219. package/shortcutContexts/commands/populateSelectedCellsData.mjs +30 -0
  220. package/shortcutContexts/commands/selectAll.js +11 -0
  221. package/shortcutContexts/commands/selectAll.mjs +6 -0
  222. package/shortcutContexts/constants.js +19 -0
  223. package/shortcutContexts/constants.mjs +12 -0
  224. package/shortcutContexts/editor.js +29 -0
  225. package/shortcutContexts/editor.mjs +25 -0
  226. package/shortcutContexts/grid.js +244 -0
  227. package/shortcutContexts/grid.mjs +240 -0
  228. package/shortcutContexts/index.js +29 -0
  229. package/shortcutContexts/index.mjs +15 -0
  230. package/shortcuts/manager.js +2 -0
  231. package/shortcuts/manager.mjs +2 -0
  232. package/tableView.js +58 -9
  233. package/tableView.mjs +58 -9
  234. package/3rdparty/walkontable/src/selection.js +0 -355
  235. package/3rdparty/walkontable/src/selection.mjs +0 -349
  236. package/selection/highlight/constants.js +0 -16
  237. package/selection/highlight/constants.mjs +0 -6
package/editorManager.js CHANGED
@@ -7,9 +7,7 @@ require("core-js/modules/es.function.name.js");
7
7
  require("core-js/modules/es.array.from.js");
8
8
  require("core-js/modules/es.regexp.exec.js");
9
9
  exports.__esModule = true;
10
- exports.default = exports.SHORTCUTS_GROUP_NAVIGATION = exports.SHORTCUTS_GROUP_EDITOR = void 0;
11
- require("core-js/modules/es.array.includes.js");
12
- require("core-js/modules/es.string.includes.js");
10
+ exports.default = exports.SHORTCUTS_GROUP_NAVIGATION = void 0;
13
11
  require("core-js/modules/es.symbol.to-primitive.js");
14
12
  require("core-js/modules/es.date.to-primitive.js");
15
13
  require("core-js/modules/es.symbol.js");
@@ -21,8 +19,8 @@ require("core-js/modules/es.string.iterator.js");
21
19
  require("core-js/modules/es.weak-map.js");
22
20
  require("core-js/modules/web.dom-collections.iterator.js");
23
21
  var _unicode = require("./helpers/unicode");
24
- var _event = require("./helpers/dom/event");
25
22
  var _element = require("./helpers/dom/element");
23
+ var _event = require("./helpers/dom/event");
26
24
  var _registry = require("./editors/registry");
27
25
  var _eventManager = _interopRequireDefault(require("./eventManager"));
28
26
  var _mixed = require("./helpers/mixed");
@@ -41,8 +39,6 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
41
39
  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); }
42
40
  var SHORTCUTS_GROUP_NAVIGATION = 'editorManager.navigation';
43
41
  exports.SHORTCUTS_GROUP_NAVIGATION = SHORTCUTS_GROUP_NAVIGATION;
44
- var SHORTCUTS_GROUP_EDITOR = 'editorManager.handlingEditor';
45
- exports.SHORTCUTS_GROUP_EDITOR = SHORTCUTS_GROUP_EDITOR;
46
42
  var EditorManager = /*#__PURE__*/function () {
47
43
  /**
48
44
  * @param {Core} instance The Handsontable instance.
@@ -107,9 +103,6 @@ var EditorManager = /*#__PURE__*/function () {
107
103
  * @type {object}
108
104
  */
109
105
  this.cellProperties = void 0;
110
- var shortcutManager = this.instance.getShortcutManager();
111
- shortcutManager.addContext('editor');
112
- this.registerShortcuts();
113
106
  this.instance.addHook('afterDocumentKeyDown', function (event) {
114
107
  return _this.onAfterDocumentKeyDown(event);
115
108
  });
@@ -126,66 +119,10 @@ var EditorManager = /*#__PURE__*/function () {
126
119
  }
127
120
 
128
121
  /**
129
- * Register shortcuts responsible for handling some actions related to an editor.
130
- *
131
- * @private
122
+ * Lock the editor from being prepared and closed. Locking the editor prevents its closing and
123
+ * reinitialized after selecting the new cell. This feature is necessary for a mobile editor.
132
124
  */
133
125
  _createClass(EditorManager, [{
134
- key: "registerShortcuts",
135
- value: function registerShortcuts() {
136
- var _this2 = this;
137
- var shortcutManager = this.instance.getShortcutManager();
138
- var gridContext = shortcutManager.getContext('grid');
139
- var editorContext = shortcutManager.getContext('editor');
140
- var config = {
141
- group: SHORTCUTS_GROUP_EDITOR
142
- };
143
- editorContext.addShortcuts([{
144
- keys: [['Enter'], ['Enter', 'Shift'], ['Enter', 'Control/Meta'], ['Enter', 'Control/Meta', 'Shift']],
145
- callback: function callback(event, keys) {
146
- _this2.closeEditorAndSaveChanges(shortcutManager.isCtrlPressed());
147
- _this2.moveSelectionAfterEnter(keys.includes('shift'));
148
- }
149
- }, {
150
- keys: [['Escape'], ['Escape', 'Control/Meta']],
151
- callback: function callback() {
152
- _this2.closeEditorAndRestoreOriginalValue(shortcutManager.isCtrlPressed());
153
- _this2.activeEditor.focus();
154
- }
155
- }], config);
156
- gridContext.addShortcuts([{
157
- keys: [['F2']],
158
- callback: function callback(event) {
159
- _this2.openEditor(null, event, true);
160
- }
161
- }, {
162
- keys: [['Backspace'], ['Delete']],
163
- callback: function callback() {
164
- _this2.instance.emptySelectedCells();
165
- _this2.prepareEditor();
166
- }
167
- }, {
168
- keys: [['Enter'], ['Enter', 'Shift']],
169
- callback: function callback(event, keys) {
170
- if (_this2.instance.getSettings().enterBeginsEditing) {
171
- if (_this2.cellProperties.readOnly) {
172
- _this2.moveSelectionAfterEnter();
173
- } else {
174
- _this2.openEditor(null, event, true);
175
- }
176
- } else {
177
- _this2.moveSelectionAfterEnter(keys.includes('shift'));
178
- }
179
- (0, _event.stopImmediatePropagation)(event); // required by HandsontableEditor
180
- }
181
- }], config);
182
- }
183
-
184
- /**
185
- * Lock the editor from being prepared and closed. Locking the editor prevents its closing and
186
- * reinitialized after selecting the new cell. This feature is necessary for a mobile editor.
187
- */
188
- }, {
189
126
  key: "lockEditor",
190
127
  value: function lockEditor() {
191
128
  this.lock = true;
@@ -232,21 +169,25 @@ var EditorManager = /*#__PURE__*/function () {
232
169
  }, {
233
170
  key: "prepareEditor",
234
171
  value: function prepareEditor() {
235
- var _this3 = this;
172
+ var _this2 = this;
236
173
  if (this.lock) {
237
174
  return;
238
175
  }
239
176
  if (this.activeEditor && this.activeEditor.isWaiting()) {
240
177
  this.closeEditor(false, false, function (dataSaved) {
241
178
  if (dataSaved) {
242
- _this3.prepareEditor();
179
+ _this2.prepareEditor();
243
180
  }
244
181
  });
245
182
  return;
246
183
  }
247
- var _this$instance$getSel = this.instance.getSelectedRangeLast().highlight,
248
- row = _this$instance$getSel.row,
249
- col = _this$instance$getSel.col;
184
+ var _this$instance$getSel = this.instance.getSelectedRangeLast(),
185
+ highlight = _this$instance$getSel.highlight;
186
+ if (highlight.isHeader()) {
187
+ return;
188
+ }
189
+ var row = highlight.row,
190
+ col = highlight.col;
250
191
  var modifiedCellCoords = this.instance.runHooks('modifyGetCellCoords', row, col);
251
192
  var visualRowToCheck = row;
252
193
  var visualColumnToCheck = col;
@@ -436,14 +377,12 @@ var EditorManager = /*#__PURE__*/function () {
436
377
  }, {
437
378
  key: "onAfterDocumentKeyDown",
438
379
  value: function onAfterDocumentKeyDown(event) {
439
- var _this4 = this;
440
- if (!this.instance.isListening()) {
380
+ var _this3 = this;
381
+ var selection = this.instance.getSelectedRangeLast();
382
+ if (!this.instance.isListening() || !selection || selection.highlight.isHeader() || (0, _event.isImmediatePropagationStopped)(event)) {
441
383
  return;
442
384
  }
443
385
  var keyCode = event.keyCode;
444
- if (!this.selection.isSelected()) {
445
- return;
446
- }
447
386
 
448
387
  // catch CTRL but not right ALT (which in some systems triggers ALT+CTRL)
449
388
  var isCtrlPressed = (event.ctrlKey || event.metaKey) && !event.altKey;
@@ -453,29 +392,29 @@ var EditorManager = /*#__PURE__*/function () {
453
392
  var editorContext = shortcutManager.getContext('editor');
454
393
  var runOnlySelectedConfig = {
455
394
  runOnlyIf: function runOnlyIf() {
456
- return (0, _mixed.isDefined)(_this4.instance.getSelected());
395
+ return (0, _mixed.isDefined)(_this3.instance.getSelected());
457
396
  },
458
397
  group: SHORTCUTS_GROUP_NAVIGATION
459
398
  };
460
399
  editorContext.addShortcuts([{
461
400
  keys: [['ArrowUp']],
462
401
  callback: function callback() {
463
- _this4.instance.selection.transformStart(-1, 0);
402
+ _this3.instance.selection.transformStart(-1, 0);
464
403
  }
465
404
  }, {
466
405
  keys: [['ArrowDown']],
467
406
  callback: function callback() {
468
- _this4.instance.selection.transformStart(1, 0);
407
+ _this3.instance.selection.transformStart(1, 0);
469
408
  }
470
409
  }, {
471
410
  keys: [['ArrowLeft']],
472
411
  callback: function callback() {
473
- _this4.instance.selection.transformStart(0, -1 * _this4.instance.getDirectionFactor());
412
+ _this3.instance.selection.transformStart(0, -1 * _this3.instance.getDirectionFactor());
474
413
  }
475
414
  }, {
476
415
  keys: [['ArrowRight']],
477
416
  callback: function callback() {
478
- _this4.instance.selection.transformStart(0, _this4.instance.getDirectionFactor());
417
+ _this3.instance.selection.transformStart(0, _this3.instance.getDirectionFactor());
479
418
  }
480
419
  }], runOnlySelectedConfig);
481
420
  this.openEditor('', event);
package/editorManager.mjs CHANGED
@@ -1,12 +1,4 @@
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; }
8
- import "core-js/modules/es.array.includes.js";
9
- import "core-js/modules/es.string.includes.js";
10
2
  import "core-js/modules/es.array.iterator.js";
11
3
  import "core-js/modules/es.object.to-string.js";
12
4
  import "core-js/modules/es.string.iterator.js";
@@ -23,19 +15,24 @@ import "core-js/modules/es.regexp.to-string.js";
23
15
  import "core-js/modules/es.function.name.js";
24
16
  import "core-js/modules/es.array.from.js";
25
17
  import "core-js/modules/es.regexp.exec.js";
18
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
19
+ 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."); }
20
+ 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); }
21
+ 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; }
22
+ 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; } }
23
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
26
24
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
27
25
  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); } }
28
26
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
29
27
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
30
28
  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); }
31
29
  import { isFunctionKey, isCtrlMetaKey } from "./helpers/unicode.mjs";
32
- import { stopImmediatePropagation } from "./helpers/dom/event.mjs";
33
30
  import { isOutsideInput } from "./helpers/dom/element.mjs";
31
+ import { isImmediatePropagationStopped } from "./helpers/dom/event.mjs";
34
32
  import { getEditorInstance } from "./editors/registry.mjs";
35
33
  import EventManager from "./eventManager.mjs";
36
34
  import { isDefined } from "./helpers/mixed.mjs";
37
35
  export var SHORTCUTS_GROUP_NAVIGATION = 'editorManager.navigation';
38
- export var SHORTCUTS_GROUP_EDITOR = 'editorManager.handlingEditor';
39
36
  var EditorManager = /*#__PURE__*/function () {
40
37
  /**
41
38
  * @param {Core} instance The Handsontable instance.
@@ -100,9 +97,6 @@ var EditorManager = /*#__PURE__*/function () {
100
97
  * @type {object}
101
98
  */
102
99
  this.cellProperties = void 0;
103
- var shortcutManager = this.instance.getShortcutManager();
104
- shortcutManager.addContext('editor');
105
- this.registerShortcuts();
106
100
  this.instance.addHook('afterDocumentKeyDown', function (event) {
107
101
  return _this.onAfterDocumentKeyDown(event);
108
102
  });
@@ -119,66 +113,10 @@ var EditorManager = /*#__PURE__*/function () {
119
113
  }
120
114
 
121
115
  /**
122
- * Register shortcuts responsible for handling some actions related to an editor.
123
- *
124
- * @private
116
+ * Lock the editor from being prepared and closed. Locking the editor prevents its closing and
117
+ * reinitialized after selecting the new cell. This feature is necessary for a mobile editor.
125
118
  */
126
119
  _createClass(EditorManager, [{
127
- key: "registerShortcuts",
128
- value: function registerShortcuts() {
129
- var _this2 = this;
130
- var shortcutManager = this.instance.getShortcutManager();
131
- var gridContext = shortcutManager.getContext('grid');
132
- var editorContext = shortcutManager.getContext('editor');
133
- var config = {
134
- group: SHORTCUTS_GROUP_EDITOR
135
- };
136
- editorContext.addShortcuts([{
137
- keys: [['Enter'], ['Enter', 'Shift'], ['Enter', 'Control/Meta'], ['Enter', 'Control/Meta', 'Shift']],
138
- callback: function callback(event, keys) {
139
- _this2.closeEditorAndSaveChanges(shortcutManager.isCtrlPressed());
140
- _this2.moveSelectionAfterEnter(keys.includes('shift'));
141
- }
142
- }, {
143
- keys: [['Escape'], ['Escape', 'Control/Meta']],
144
- callback: function callback() {
145
- _this2.closeEditorAndRestoreOriginalValue(shortcutManager.isCtrlPressed());
146
- _this2.activeEditor.focus();
147
- }
148
- }], config);
149
- gridContext.addShortcuts([{
150
- keys: [['F2']],
151
- callback: function callback(event) {
152
- _this2.openEditor(null, event, true);
153
- }
154
- }, {
155
- keys: [['Backspace'], ['Delete']],
156
- callback: function callback() {
157
- _this2.instance.emptySelectedCells();
158
- _this2.prepareEditor();
159
- }
160
- }, {
161
- keys: [['Enter'], ['Enter', 'Shift']],
162
- callback: function callback(event, keys) {
163
- if (_this2.instance.getSettings().enterBeginsEditing) {
164
- if (_this2.cellProperties.readOnly) {
165
- _this2.moveSelectionAfterEnter();
166
- } else {
167
- _this2.openEditor(null, event, true);
168
- }
169
- } else {
170
- _this2.moveSelectionAfterEnter(keys.includes('shift'));
171
- }
172
- stopImmediatePropagation(event); // required by HandsontableEditor
173
- }
174
- }], config);
175
- }
176
-
177
- /**
178
- * Lock the editor from being prepared and closed. Locking the editor prevents its closing and
179
- * reinitialized after selecting the new cell. This feature is necessary for a mobile editor.
180
- */
181
- }, {
182
120
  key: "lockEditor",
183
121
  value: function lockEditor() {
184
122
  this.lock = true;
@@ -225,21 +163,25 @@ var EditorManager = /*#__PURE__*/function () {
225
163
  }, {
226
164
  key: "prepareEditor",
227
165
  value: function prepareEditor() {
228
- var _this3 = this;
166
+ var _this2 = this;
229
167
  if (this.lock) {
230
168
  return;
231
169
  }
232
170
  if (this.activeEditor && this.activeEditor.isWaiting()) {
233
171
  this.closeEditor(false, false, function (dataSaved) {
234
172
  if (dataSaved) {
235
- _this3.prepareEditor();
173
+ _this2.prepareEditor();
236
174
  }
237
175
  });
238
176
  return;
239
177
  }
240
- var _this$instance$getSel = this.instance.getSelectedRangeLast().highlight,
241
- row = _this$instance$getSel.row,
242
- col = _this$instance$getSel.col;
178
+ var _this$instance$getSel = this.instance.getSelectedRangeLast(),
179
+ highlight = _this$instance$getSel.highlight;
180
+ if (highlight.isHeader()) {
181
+ return;
182
+ }
183
+ var row = highlight.row,
184
+ col = highlight.col;
243
185
  var modifiedCellCoords = this.instance.runHooks('modifyGetCellCoords', row, col);
244
186
  var visualRowToCheck = row;
245
187
  var visualColumnToCheck = col;
@@ -429,14 +371,12 @@ var EditorManager = /*#__PURE__*/function () {
429
371
  }, {
430
372
  key: "onAfterDocumentKeyDown",
431
373
  value: function onAfterDocumentKeyDown(event) {
432
- var _this4 = this;
433
- if (!this.instance.isListening()) {
374
+ var _this3 = this;
375
+ var selection = this.instance.getSelectedRangeLast();
376
+ if (!this.instance.isListening() || !selection || selection.highlight.isHeader() || isImmediatePropagationStopped(event)) {
434
377
  return;
435
378
  }
436
379
  var keyCode = event.keyCode;
437
- if (!this.selection.isSelected()) {
438
- return;
439
- }
440
380
 
441
381
  // catch CTRL but not right ALT (which in some systems triggers ALT+CTRL)
442
382
  var isCtrlPressed = (event.ctrlKey || event.metaKey) && !event.altKey;
@@ -446,29 +386,29 @@ var EditorManager = /*#__PURE__*/function () {
446
386
  var editorContext = shortcutManager.getContext('editor');
447
387
  var runOnlySelectedConfig = {
448
388
  runOnlyIf: function runOnlyIf() {
449
- return isDefined(_this4.instance.getSelected());
389
+ return isDefined(_this3.instance.getSelected());
450
390
  },
451
391
  group: SHORTCUTS_GROUP_NAVIGATION
452
392
  };
453
393
  editorContext.addShortcuts([{
454
394
  keys: [['ArrowUp']],
455
395
  callback: function callback() {
456
- _this4.instance.selection.transformStart(-1, 0);
396
+ _this3.instance.selection.transformStart(-1, 0);
457
397
  }
458
398
  }, {
459
399
  keys: [['ArrowDown']],
460
400
  callback: function callback() {
461
- _this4.instance.selection.transformStart(1, 0);
401
+ _this3.instance.selection.transformStart(1, 0);
462
402
  }
463
403
  }, {
464
404
  keys: [['ArrowLeft']],
465
405
  callback: function callback() {
466
- _this4.instance.selection.transformStart(0, -1 * _this4.instance.getDirectionFactor());
406
+ _this3.instance.selection.transformStart(0, -1 * _this3.instance.getDirectionFactor());
467
407
  }
468
408
  }, {
469
409
  keys: [['ArrowRight']],
470
410
  callback: function callback() {
471
- _this4.instance.selection.transformStart(0, _this4.instance.getDirectionFactor());
411
+ _this3.instance.selection.transformStart(0, _this3.instance.getDirectionFactor());
472
412
  }
473
413
  }], runOnlySelectedConfig);
474
414
  this.openEditor('', event);
@@ -508,9 +508,7 @@ var TextEditor = /*#__PURE__*/function (_BaseEditor) {
508
508
  // We trigger a data population for multiple selection.
509
509
  // catch CTRL but not right ALT (which in some systems triggers ALT+CTRL)
510
510
  !event.altKey;
511
- },
512
- relativeToGroup: _editorManager.SHORTCUTS_GROUP_EDITOR,
513
- position: 'before'
511
+ }
514
512
  }, {
515
513
  keys: [['Meta', 'Enter']],
516
514
  callback: function callback() {
@@ -520,19 +518,13 @@ var TextEditor = /*#__PURE__*/function (_BaseEditor) {
520
518
 
521
519
  runOnlyIf: function runOnlyIf() {
522
520
  return !_this4.hot.selection.isMultiple();
523
- },
524
- // We trigger a data population for multiple selection.
525
- relativeToGroup: _editorManager.SHORTCUTS_GROUP_EDITOR,
526
- position: 'before'
521
+ } // We trigger a data population for multiple selection.
527
522
  }, {
528
523
  keys: [['Alt', 'Enter']],
529
524
  callback: function callback() {
530
525
  insertNewLine();
531
526
  return false; // Will block closing editor.
532
- },
533
-
534
- relativeToGroup: _editorManager.SHORTCUTS_GROUP_EDITOR,
535
- position: 'before'
527
+ }
536
528
  }, {
537
529
  // TODO: Duplicated part of code (callback to shortcut)
538
530
  keys: [['PageUp']],
@@ -48,7 +48,7 @@ import { rangeEach } from "../../helpers/number.mjs";
48
48
  import { KEY_CODES } from "../../helpers/unicode.mjs";
49
49
  import { autoResize } from "../../3rdparty/autoResize/index.mjs";
50
50
  import { isDefined } from "../../helpers/mixed.mjs";
51
- import { SHORTCUTS_GROUP_NAVIGATION, SHORTCUTS_GROUP_EDITOR as EDITOR_MANAGER_GROUP } from "../../editorManager.mjs";
51
+ import { SHORTCUTS_GROUP_NAVIGATION } from "../../editorManager.mjs";
52
52
  import { SHORTCUTS_GROUP_EDITOR } from "../baseEditor/baseEditor.mjs";
53
53
  import { updateCaretPosition } from "./caretPositioner.mjs";
54
54
  var EDITOR_VISIBLE_CLASS_NAME = 'ht_editor_visible';
@@ -502,9 +502,7 @@ export var TextEditor = /*#__PURE__*/function (_BaseEditor) {
502
502
  // We trigger a data population for multiple selection.
503
503
  // catch CTRL but not right ALT (which in some systems triggers ALT+CTRL)
504
504
  !event.altKey;
505
- },
506
- relativeToGroup: EDITOR_MANAGER_GROUP,
507
- position: 'before'
505
+ }
508
506
  }, {
509
507
  keys: [['Meta', 'Enter']],
510
508
  callback: function callback() {
@@ -514,19 +512,13 @@ export var TextEditor = /*#__PURE__*/function (_BaseEditor) {
514
512
 
515
513
  runOnlyIf: function runOnlyIf() {
516
514
  return !_this4.hot.selection.isMultiple();
517
- },
518
- // We trigger a data population for multiple selection.
519
- relativeToGroup: EDITOR_MANAGER_GROUP,
520
- position: 'before'
515
+ } // We trigger a data population for multiple selection.
521
516
  }, {
522
517
  keys: [['Alt', 'Enter']],
523
518
  callback: function callback() {
524
519
  insertNewLine();
525
520
  return false; // Will block closing editor.
526
- },
527
-
528
- relativeToGroup: EDITOR_MANAGER_GROUP,
529
- position: 'before'
521
+ }
530
522
  }, {
531
523
  // TODO: Duplicated part of code (callback to shortcut)
532
524
  keys: [['PageUp']],
package/helpers/mixed.js CHANGED
@@ -152,7 +152,7 @@ var domMessages = {
152
152
  function _injectProductInfo(key, element) {
153
153
  var hasValidType = !isEmpty(key);
154
154
  var isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
155
- var hotVersion = "0.0.0-next-ac97c93-20230617";
155
+ var hotVersion = "0.0.0-next-acb8c02-20230620";
156
156
  var keyValidityDate;
157
157
  var consoleMessageState = 'invalid';
158
158
  var domMessageState = 'invalid';
package/helpers/mixed.mjs CHANGED
@@ -142,7 +142,7 @@ var domMessages = {
142
142
  export function _injectProductInfo(key, element) {
143
143
  var hasValidType = !isEmpty(key);
144
144
  var isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
145
- var hotVersion = "0.0.0-next-ac97c93-20230617";
145
+ var hotVersion = "0.0.0-next-acb8c02-20230620";
146
146
  var keyValidityDate;
147
147
  var consoleMessageState = 'invalid';
148
148
  var domMessageState = 'invalid';
@@ -3,3 +3,4 @@ export function isNumericLike(value: any): boolean;
3
3
  export function rangeEach(rangeFrom: number, rangeTo: number, iteratee: (index: number) => void): void;
4
4
  export function rangeEachReverse(rangeFrom: number, rangeTo: number, iteratee: (index: number) => void): void;
5
5
  export function valueAccordingPercent(value: number, percent: string | number): number;
6
+ export function clamp(value: number, minValue: number, maxValue: number): number;
package/helpers/number.js CHANGED
@@ -3,6 +3,7 @@
3
3
  require("core-js/modules/es.array.slice.js");
4
4
  require("core-js/modules/es.function.name.js");
5
5
  exports.__esModule = true;
6
+ exports.clamp = clamp;
6
7
  exports.isNumeric = isNumeric;
7
8
  exports.isNumericLike = isNumericLike;
8
9
  exports.rangeEach = rangeEach;
@@ -139,4 +140,21 @@ function valueAccordingPercent(value, percent) {
139
140
  percent = parseInt(percent.toString().replace('%', ''), 10);
140
141
  percent = isNaN(percent) ? 0 : percent;
141
142
  return parseInt(value * percent / 100, 10);
143
+ }
144
+
145
+ /**
146
+ * Clamps the value between min and max.
147
+ *
148
+ * @param {number} value The base number value.
149
+ * @param {number} minValue The max number value.
150
+ * @param {number} maxValue The min number value.
151
+ * @returns {number}
152
+ */
153
+ function clamp(value, minValue, maxValue) {
154
+ if (Math.min(value, minValue) === value) {
155
+ return minValue;
156
+ } else if (Math.max(value, maxValue) === value) {
157
+ return maxValue;
158
+ }
159
+ return value;
142
160
  }
@@ -131,4 +131,21 @@ export function valueAccordingPercent(value, percent) {
131
131
  percent = parseInt(percent.toString().replace('%', ''), 10);
132
132
  percent = isNaN(percent) ? 0 : percent;
133
133
  return parseInt(value * percent / 100, 10);
134
+ }
135
+
136
+ /**
137
+ * Clamps the value between min and max.
138
+ *
139
+ * @param {number} value The base number value.
140
+ * @param {number} minValue The max number value.
141
+ * @param {number} maxValue The min number value.
142
+ * @returns {number}
143
+ */
144
+ export function clamp(value, minValue, maxValue) {
145
+ if (Math.min(value, minValue) === value) {
146
+ return minValue;
147
+ } else if (Math.max(value, maxValue) === value) {
148
+ return maxValue;
149
+ }
150
+ return value;
134
151
  }
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "url": "https://github.com/handsontable/handsontable/issues"
11
11
  },
12
12
  "author": "Handsoncode <hello@handsontable.com>",
13
- "version": "0.0.0-next-ac97c93-20230617",
13
+ "version": "0.0.0-next-acb8c02-20230620",
14
14
  "main": "index",
15
15
  "module": "index.mjs",
16
16
  "jsnext:main": "index.mjs",
package/pluginHooks.d.ts CHANGED
@@ -110,8 +110,8 @@ export interface Events {
110
110
  afterOnCellCornerDblClick?: (event: MouseEvent) => void;
111
111
  afterOnCellCornerMouseDown?: (event: MouseEvent) => void;
112
112
  afterOnCellMouseDown?: (event: MouseEvent, coords: CellCoords, TD: HTMLTableCellElement) => void;
113
- afterOnCellMouseOver?: (event: MouseEvent, coords: CellCoords, TD: HTMLTableCellElement) => void;
114
113
  afterOnCellMouseOut?: (event: MouseEvent, coords: CellCoords, TD: HTMLTableCellElement) => void;
114
+ afterOnCellMouseOver?: (event: MouseEvent, coords: CellCoords, TD: HTMLTableCellElement) => void;
115
115
  afterOnCellMouseUp?: (event: MouseEvent, coords: CellCoords, TD: HTMLTableCellElement) => void;
116
116
  afterPaste?: (data: CellValue[][], coords: RangeType[]) => void;
117
117
  afterPluginsInitialized?: () => void;
@@ -128,10 +128,12 @@ export interface Events {
128
128
  afterRowSequenceChange?: (source: 'init' | 'move' | 'insert' | 'remove' | 'update') => void;
129
129
  afterScrollHorizontally?: () => void;
130
130
  afterScrollVertically?: () => void;
131
+ afterSelectColumns?: (from: CellCoords, to: CellCoords, highlight: CellCoords) => void;
131
132
  afterSelection?: (row: number, column: number, row2: number, column2: number, preventScrolling: { value: boolean }, selectionLayerLevel: number) => void;
132
133
  afterSelectionByProp?: (row: number, prop: string, row2: number, prop2: string, preventScrolling: { value: boolean }, selectionLayerLevel: number) => void;
133
134
  afterSelectionEnd?: (row: number, column: number, row2: number, column2: number, selectionLayerLevel: number) => void;
134
135
  afterSelectionEndByProp?: (row: number, prop: string, row2: number, prop2: string, selectionLayerLevel: number) => void;
136
+ afterSelectRows?: (from: CellCoords, to: CellCoords, highlight: CellCoords) => void;
135
137
  afterSetCellMeta?: (row: number, column: number, key: string, value: any) => void;
136
138
  afterSetDataAtCell?: (changes: CellChange[], source?: ChangeSource) => void;
137
139
  afterSetDataAtRowProp?: (changes: CellChange[], source?: ChangeSource) => void;
@@ -205,6 +207,8 @@ export interface Events {
205
207
  beforeRenderer?: (TD: HTMLTableCellElement, row: number, column: number, prop: string | number, value: CellValue, cellProperties: CellProperties) => void;
206
208
  beforeRowMove?: (movedRows: number[], finalIndex: number, dropIndex: number | undefined, movePossible: boolean) => void;
207
209
  beforeRowResize?: (newSize: number, row: number, isDoubleClick: boolean) => number | void;
210
+ beforeSelectColumns?: (from: CellCoords, to: CellCoords, highlight: CellCoords) => void;
211
+ beforeSelectRows?: (from: CellCoords, to: CellCoords, highlight: CellCoords) => void;
208
212
  beforeSetCellMeta?: (row: number, col: number, key: string, value: any) => boolean | void;
209
213
  beforeSetRangeEnd?: (coords: CellCoords) => void;
210
214
  beforeSetRangeStart?: (coords: CellCoords) => void;