handsontable 14.0.0-next-b112557-20231129 → 14.0.0-next-78ff0b3-20231129

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/focusManager.js CHANGED
@@ -209,7 +209,7 @@ class FocusManager {
209
209
  const focusElement = element => {
210
210
  var _classPrivateFieldGet3, _classPrivateFieldGet4;
211
211
  const currentHighlightCoords = (_classPrivateFieldGet3 = _classPrivateFieldGet(this, _hot).getSelectedRangeLast()) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.highlight;
212
- if (!currentHighlightCoords || !element) {
212
+ if (!currentHighlightCoords) {
213
213
  return;
214
214
  }
215
215
  let elementToBeFocused = _classPrivateFieldGet(this, _hot).runHooks('modifyFocusedElement', currentHighlightCoords.row, currentHighlightCoords.col, element);
@@ -255,7 +255,7 @@ exports.FocusManager = FocusManager;
255
255
  function _getSelectedCell2(callback) {
256
256
  var _classPrivateFieldGet6;
257
257
  const highlight = (_classPrivateFieldGet6 = _classPrivateFieldGet(this, _hot).getSelectedRangeLast()) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.highlight;
258
- if (!highlight) {
258
+ if (!highlight || !_classPrivateFieldGet(this, _hot).selection.isCellVisible(highlight)) {
259
259
  callback(null);
260
260
  return;
261
261
  }
package/focusManager.mjs CHANGED
@@ -206,7 +206,7 @@ export class FocusManager {
206
206
  const focusElement = element => {
207
207
  var _classPrivateFieldGet3, _classPrivateFieldGet4;
208
208
  const currentHighlightCoords = (_classPrivateFieldGet3 = _classPrivateFieldGet(this, _hot).getSelectedRangeLast()) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.highlight;
209
- if (!currentHighlightCoords || !element) {
209
+ if (!currentHighlightCoords) {
210
210
  return;
211
211
  }
212
212
  let elementToBeFocused = _classPrivateFieldGet(this, _hot).runHooks('modifyFocusedElement', currentHighlightCoords.row, currentHighlightCoords.col, element);
@@ -251,7 +251,7 @@ export class FocusManager {
251
251
  function _getSelectedCell2(callback) {
252
252
  var _classPrivateFieldGet6;
253
253
  const highlight = (_classPrivateFieldGet6 = _classPrivateFieldGet(this, _hot).getSelectedRangeLast()) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.highlight;
254
- if (!highlight) {
254
+ if (!highlight || !_classPrivateFieldGet(this, _hot).selection.isCellVisible(highlight)) {
255
255
  callback(null);
256
256
  return;
257
257
  }
package/helpers/mixed.js CHANGED
@@ -134,7 +134,7 @@ const domMessages = {
134
134
  function _injectProductInfo(key, element) {
135
135
  const hasValidType = !isEmpty(key);
136
136
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
137
- const hotVersion = "14.0.0-next-b112557-20231129";
137
+ const hotVersion = "14.0.0-next-78ff0b3-20231129";
138
138
  let keyValidityDate;
139
139
  let consoleMessageState = 'invalid';
140
140
  let domMessageState = 'invalid';
package/helpers/mixed.mjs CHANGED
@@ -124,7 +124,7 @@ const domMessages = {
124
124
  export function _injectProductInfo(key, element) {
125
125
  const hasValidType = !isEmpty(key);
126
126
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
127
- const hotVersion = "14.0.0-next-b112557-20231129";
127
+ const hotVersion = "14.0.0-next-78ff0b3-20231129";
128
128
  let keyValidityDate;
129
129
  let consoleMessageState = 'invalid';
130
130
  let domMessageState = 'invalid';
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": "14.0.0-next-b112557-20231129",
13
+ "version": "14.0.0-next-78ff0b3-20231129",
14
14
  "main": "index",
15
15
  "module": "index.mjs",
16
16
  "jsnext:main": "index.mjs",
@@ -205,6 +205,9 @@ class ContextMenu extends _base.BasePlugin {
205
205
  left: rect.width,
206
206
  above: -rect.height
207
207
  });
208
+ // Make sure the first item is selected (role=menuitem). Otherwise, screen readers
209
+ // will block the Esc key for the whole menu.
210
+ this.menu.getNavigator().toFirstItem();
208
211
  },
209
212
  runOnlyIf: () => {
210
213
  var _this$hot$getSelected;
@@ -201,6 +201,9 @@ export class ContextMenu extends BasePlugin {
201
201
  left: rect.width,
202
202
  above: -rect.height
203
203
  });
204
+ // Make sure the first item is selected (role=menuitem). Otherwise, screen readers
205
+ // will block the Esc key for the whole menu.
206
+ this.menu.getNavigator().toFirstItem();
204
207
  },
205
208
  runOnlyIf: () => {
206
209
  var _this$hot$getSelected;
@@ -296,6 +296,9 @@ class DropdownMenu extends _base.BasePlugin {
296
296
  }, {
297
297
  left: rect.width
298
298
  });
299
+ // Make sure the first item is selected (role=menuitem). Otherwise, screen readers
300
+ // will block the Esc key for the whole menu.
301
+ this.menu.getNavigator().toFirstItem();
299
302
  }
300
303
  };
301
304
  gridContext.addShortcuts([{
@@ -292,6 +292,9 @@ export class DropdownMenu extends BasePlugin {
292
292
  }, {
293
293
  left: rect.width
294
294
  });
295
+ // Make sure the first item is selected (role=menuitem). Otherwise, screen readers
296
+ // will block the Esc key for the whole menu.
297
+ this.menu.getNavigator().toFirstItem();
295
298
  }
296
299
  };
297
300
  gridContext.addShortcuts([{