handsontable 14.0.0-next-104f8c6-20231124 → 14.0.0-next-23212d5-20231127

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/3rdparty/walkontable/src/renderer/columnHeaders.js +1 -1
  2. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +1 -1
  3. package/3rdparty/walkontable/src/selection/manager.js +20 -6
  4. package/3rdparty/walkontable/src/selection/manager.mjs +20 -6
  5. package/base.js +2 -2
  6. package/base.mjs +2 -2
  7. package/core/focusCatcher/focusDetector.js +1 -1
  8. package/core/focusCatcher/focusDetector.mjs +2 -2
  9. package/core.js +1 -1
  10. package/core.mjs +1 -1
  11. package/dist/handsontable.css +62 -44
  12. package/dist/handsontable.full.css +62 -44
  13. package/dist/handsontable.full.js +119 -306
  14. package/dist/handsontable.full.min.css +5 -5
  15. package/dist/handsontable.full.min.js +64 -64
  16. package/dist/handsontable.js +119 -306
  17. package/dist/handsontable.min.css +5 -5
  18. package/dist/handsontable.min.js +19 -19
  19. package/dist/languages/all.js +2 -24
  20. package/dist/languages/all.min.js +1 -1
  21. package/dist/languages/en-US.js +1 -12
  22. package/dist/languages/en-US.min.js +1 -1
  23. package/dist/languages/pl-PL.js +1 -12
  24. package/dist/languages/pl-PL.min.js +1 -1
  25. package/editors/dateEditor/dateEditor.js +0 -7
  26. package/editors/dateEditor/dateEditor.mjs +1 -8
  27. package/editors/handsontableEditor/handsontableEditor.js +0 -7
  28. package/editors/handsontableEditor/handsontableEditor.mjs +1 -8
  29. package/helpers/a11y.js +0 -2
  30. package/helpers/a11y.mjs +0 -1
  31. package/helpers/dom/element.js +0 -29
  32. package/helpers/dom/element.mjs +0 -28
  33. package/helpers/mixed.js +1 -1
  34. package/helpers/mixed.mjs +1 -1
  35. package/i18n/constants.js +1 -14
  36. package/i18n/constants.mjs +1 -14
  37. package/i18n/languages/en-US.js +1 -12
  38. package/i18n/languages/en-US.mjs +1 -12
  39. package/i18n/languages/pl-PL.js +1 -12
  40. package/i18n/languages/pl-PL.mjs +1 -12
  41. package/languages/all.js +2 -24
  42. package/languages/en-US.js +1 -12
  43. package/languages/en-US.mjs +1 -12
  44. package/languages/index.js +2 -24
  45. package/languages/pl-PL.js +1 -12
  46. package/languages/pl-PL.mjs +1 -12
  47. package/package.json +1 -1
  48. package/plugins/collapsibleColumns/collapsibleColumns.js +2 -3
  49. package/plugins/collapsibleColumns/collapsibleColumns.mjs +3 -4
  50. package/plugins/columnSorting/columnSorting.js +4 -30
  51. package/plugins/columnSorting/columnSorting.mjs +6 -32
  52. package/plugins/contextMenu/menu/menuItemRenderer.js +0 -12
  53. package/plugins/contextMenu/menu/menuItemRenderer.mjs +2 -14
  54. package/plugins/dropdownMenu/dropdownMenu.js +1 -2
  55. package/plugins/dropdownMenu/dropdownMenu.mjs +2 -3
  56. package/plugins/filters/filters.js +10 -1
  57. package/plugins/filters/filters.mjs +10 -1
  58. package/plugins/filters/menu/focusController.js +29 -10
  59. package/plugins/filters/menu/focusController.mjs +29 -10
  60. package/plugins/filters/ui/input.js +3 -0
  61. package/plugins/filters/ui/input.mjs +3 -0
  62. package/plugins/hiddenColumns/hiddenColumns.js +0 -44
  63. package/plugins/hiddenColumns/hiddenColumns.mjs +1 -45
  64. package/plugins/hiddenRows/hiddenRows.js +0 -44
  65. package/plugins/hiddenRows/hiddenRows.mjs +1 -45
  66. package/plugins/multiColumnSorting/multiColumnSorting.js +0 -21
  67. package/plugins/multiColumnSorting/multiColumnSorting.mjs +1 -22
  68. package/plugins/nestedRows/nestedRows.js +1 -2
  69. package/plugins/nestedRows/nestedRows.mjs +1 -2
  70. package/plugins/nestedRows/ui/headers.js +3 -3
  71. package/plugins/nestedRows/ui/headers.mjs +4 -4
  72. package/renderers/autocompleteRenderer/autocompleteRenderer.js +0 -3
  73. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +1 -4
  74. package/renderers/dateRenderer/dateRenderer.js +0 -5
  75. package/renderers/dateRenderer/dateRenderer.mjs +0 -5
  76. package/renderers/handsontableRenderer/handsontableRenderer.js +0 -5
  77. package/renderers/handsontableRenderer/handsontableRenderer.mjs +0 -5
  78. package/renderers/selectRenderer/selectRenderer.js +0 -5
  79. package/renderers/selectRenderer/selectRenderer.mjs +0 -5
  80. package/selection/highlight/types/focus.js +2 -0
  81. package/selection/highlight/types/focus.mjs +2 -0
  82. package/selection/selection.js +0 -1
  83. package/selection/selection.mjs +0 -1
  84. package/tableView.js +4 -0
  85. package/tableView.mjs +4 -0
@@ -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: 14.0.0-next-104f8c6-20231124
29
- * Release date: 22/11/2023 (built at 24/11/2023 09:59:19)
28
+ * Version: 14.0.0-next-23212d5-20231127
29
+ * Release date: 22/11/2023 (built at 27/11/2023 08:13:56)
30
30
  */
31
31
  (function webpackUniversalModuleDefinition(root, factory) {
32
32
  if(typeof exports === 'object' && typeof module === 'object')
@@ -43033,8 +43033,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
43033
43033
  Handsontable.CellCoords = _src.CellCoords;
43034
43034
  Handsontable.CellRange = _src.CellRange;
43035
43035
  Handsontable.packageName = 'handsontable';
43036
- Handsontable.buildDate = "24/11/2023 09:59:19";
43037
- Handsontable.version = "14.0.0-next-104f8c6-20231124";
43036
+ Handsontable.buildDate = "27/11/2023 08:13:56";
43037
+ Handsontable.version = "14.0.0-next-23212d5-20231127";
43038
43038
  Handsontable.languages = {
43039
43039
  dictionaryKeys: _registry.dictionaryKeys,
43040
43040
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -47515,7 +47515,7 @@ function Core(rootElement, userSettings) {
47515
47515
  * @function getTranslatedPhrase
47516
47516
  * @since 0.35.0
47517
47517
  * @param {string} dictionaryKey Constant which is dictionary key.
47518
- * @param {*} [extraArguments] Arguments which will be handled by formatters.
47518
+ * @param {*} extraArguments Arguments which will be handled by formatters.
47519
47519
  * @returns {string}
47520
47520
  */
47521
47521
  this.getTranslatedPhrase = function (dictionaryKey, extraArguments) {
@@ -50042,7 +50042,6 @@ module.exports = typeof Bun == 'function' && Bun && typeof Bun.version == 'strin
50042
50042
  exports.__esModule = true;
50043
50043
  exports.addClass = addClass;
50044
50044
  exports.addEvent = addEvent;
50045
- exports.appendElement = appendElement;
50046
50045
  exports.clearTextSelection = clearTextSelection;
50047
50046
  exports.closest = closest;
50048
50047
  exports.closestDown = closestDown;
@@ -51177,34 +51176,6 @@ function runWithSelectedContendEditableElement(element, callback) {
51177
51176
  removeContentEditableFromElementAndDeselect(element, invisibleSelection);
51178
51177
  }
51179
51178
 
51180
- /**
51181
- * Creates a new DOM element and appends it to the parent element with the provided class name(s) and attributes.
51182
- *
51183
- * @param {HTMLElement} parentElement The parent element.
51184
- * @param {object} properties The properties object.
51185
- * @param {string} properties.tagName The type of the new element.
51186
- * @param {string|string[]} properties.className Class name as string or array of strings.
51187
- * @param {Array[]} properties.attributes An array containing the attributes to be added. Each element of the array
51188
- * should be an array in a form of `[attributeName, attributeValue]`.
51189
- * @returns {HTMLElement} The created div element.
51190
- */
51191
- function appendElement(parentElement, _ref) {
51192
- let {
51193
- tagName,
51194
- className,
51195
- attributes
51196
- } = _ref;
51197
- const element = parentElement.ownerDocument.createElement(tagName);
51198
- if (className) {
51199
- addClass(element, className);
51200
- }
51201
- if (attributes && attributes.length) {
51202
- setAttribute(element, attributes);
51203
- }
51204
- parentElement.appendChild(element);
51205
- return element;
51206
- }
51207
-
51208
51179
  /***/ }),
51209
51180
  /* 305 */
51210
51181
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
@@ -53183,7 +53154,7 @@ const domMessages = {
53183
53154
  function _injectProductInfo(key, element) {
53184
53155
  const hasValidType = !isEmpty(key);
53185
53156
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
53186
- const hotVersion = "14.0.0-next-104f8c6-20231124";
53157
+ const hotVersion = "14.0.0-next-23212d5-20231127";
53187
53158
  let keyValidityDate;
53188
53159
  let consoleMessageState = 'invalid';
53189
53160
  let domMessageState = 'invalid';
@@ -60459,8 +60430,6 @@ const A11Y_TEXT = () => ['type', 'text'];
60459
60430
  exports.A11Y_TEXT = A11Y_TEXT;
60460
60431
  const A11Y_LABEL = val => ['aria-label', val];
60461
60432
  exports.A11Y_LABEL = A11Y_LABEL;
60462
- const A11Y_DESCRIPTION = val => ['aria-description', val];
60463
- exports.A11Y_DESCRIPTION = A11Y_DESCRIPTION;
60464
60433
  const A11Y_HIDDEN = () => ['aria-hidden', 'true'];
60465
60434
  exports.A11Y_HIDDEN = A11Y_HIDDEN;
60466
60435
  const A11Y_DISABLED = () => ['aria-disabled', 'true'];
@@ -68052,6 +68021,10 @@ class TableView {
68052
68021
  const span = rootDocument.createElement('span');
68053
68022
  div.className = 'relative';
68054
68023
  span.className = 'colHeader';
68024
+ if (this.settings.ariaTags) {
68025
+ (0, _element.setAttribute)(div, ...(0, _a11y.A11Y_PRESENTATION)());
68026
+ (0, _element.setAttribute)(span, ...(0, _a11y.A11Y_PRESENTATION)());
68027
+ }
68055
68028
  this.updateCellHeader(span, visualColumnIndex, label, headerLevel);
68056
68029
  div.appendChild(span);
68057
68030
  TH.appendChild(div);
@@ -73864,7 +73837,7 @@ class ColumnHeadersRenderer extends _base.default {
73864
73837
  // Remove all accessibility-related attributes for the header to start fresh.
73865
73838
  (0, _element.removeAttribute)(TH, [new RegExp('aria-(.*)'), new RegExp('role')]);
73866
73839
  if (this.table.isAriaEnabled()) {
73867
- (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_COLINDEX)(renderedColumnIndex + 1 + this.table.rowHeadersCount), (0, _a11y.A11Y_TABINDEX)(-1), ...(renderedColumnIndex < 0 ? [(0, _a11y.A11Y_PRESENTATION)()] : [(0, _a11y.A11Y_COLUMNHEADER)(), (0, _a11y.A11Y_SCOPE_COL)()])]);
73840
+ (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_COLINDEX)(renderedColumnIndex + 1 + this.table.rowHeadersCount), (0, _a11y.A11Y_TABINDEX)(-1), (0, _a11y.A11Y_COLUMNHEADER)(), ...(renderedColumnIndex >= 0 ? [(0, _a11y.A11Y_SCOPE_COL)()] : [])]);
73868
73841
  }
73869
73842
  columnHeaderFunctions[rowHeaderIndex](sourceColumnIndex, TH, rowHeaderIndex);
73870
73843
  }
@@ -77223,8 +77196,9 @@ const CORNER_DEFAULT_STYLE = exports.CORNER_DEFAULT_STYLE = Object.freeze({
77223
77196
  __webpack_require__(275);
77224
77197
  var _interopRequireDefault = __webpack_require__(198);
77225
77198
  exports.__esModule = true;
77199
+ __webpack_require__(205);
77226
77200
  __webpack_require__(538);
77227
- var _classPrivateFieldGet8 = _interopRequireDefault(__webpack_require__(466));
77201
+ var _classPrivateFieldGet7 = _interopRequireDefault(__webpack_require__(466));
77228
77202
  var _classPrivateFieldSet2 = _interopRequireDefault(__webpack_require__(469));
77229
77203
  var _element = __webpack_require__(304);
77230
77204
  var _scanner2 = __webpack_require__(539);
@@ -77321,9 +77295,9 @@ class SelectionManager {
77321
77295
  */
77322
77296
  setActiveOverlay(activeWot) {
77323
77297
  (0, _classPrivateFieldSet2.default)(this, _activeOverlaysWot, activeWot);
77324
- (0, _classPrivateFieldGet8.default)(this, _scanner).setActiveOverlay((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot));
77325
- if (!(0, _classPrivateFieldGet8.default)(this, _appliedClasses).has((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot))) {
77326
- (0, _classPrivateFieldGet8.default)(this, _appliedClasses).set((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot), new Set());
77298
+ (0, _classPrivateFieldGet7.default)(this, _scanner).setActiveOverlay((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot));
77299
+ if (!(0, _classPrivateFieldGet7.default)(this, _appliedClasses).has((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot))) {
77300
+ (0, _classPrivateFieldGet7.default)(this, _appliedClasses).set((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot), new Set());
77327
77301
  }
77328
77302
  return this;
77329
77303
  }
@@ -77334,7 +77308,7 @@ class SelectionManager {
77334
77308
  * @returns {Selection|null}
77335
77309
  */
77336
77310
  getFocusSelection() {
77337
- return (0, _classPrivateFieldGet8.default)(this, _selections) !== null ? (0, _classPrivateFieldGet8.default)(this, _selections).getFocus() : null;
77311
+ return (0, _classPrivateFieldGet7.default)(this, _selections) !== null ? (0, _classPrivateFieldGet7.default)(this, _selections).getFocus() : null;
77338
77312
  }
77339
77313
 
77340
77314
  /**
@@ -77343,7 +77317,7 @@ class SelectionManager {
77343
77317
  * @returns {Selection|null}
77344
77318
  */
77345
77319
  getAreaSelection() {
77346
- return (0, _classPrivateFieldGet8.default)(this, _selections) !== null ? (0, _classPrivateFieldGet8.default)(this, _selections).createLayeredArea() : null;
77320
+ return (0, _classPrivateFieldGet7.default)(this, _selections) !== null ? (0, _classPrivateFieldGet7.default)(this, _selections).createLayeredArea() : null;
77347
77321
  }
77348
77322
 
77349
77323
  /**
@@ -77356,17 +77330,17 @@ class SelectionManager {
77356
77330
  if (!selection.settings.border) {
77357
77331
  return null;
77358
77332
  }
77359
- if ((0, _classPrivateFieldGet8.default)(this, _selectionBorders).has(selection)) {
77360
- const borders = (0, _classPrivateFieldGet8.default)(this, _selectionBorders).get(selection);
77361
- if (borders.has((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot))) {
77362
- return borders.get((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot));
77333
+ if ((0, _classPrivateFieldGet7.default)(this, _selectionBorders).has(selection)) {
77334
+ const borders = (0, _classPrivateFieldGet7.default)(this, _selectionBorders).get(selection);
77335
+ if (borders.has((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot))) {
77336
+ return borders.get((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot));
77363
77337
  }
77364
- const border = new _border.default((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot), selection.settings);
77365
- borders.set((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot), border);
77338
+ const border = new _border.default((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot), selection.settings);
77339
+ borders.set((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot), border);
77366
77340
  return border;
77367
77341
  }
77368
- const border = new _border.default((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot), selection.settings);
77369
- (0, _classPrivateFieldGet8.default)(this, _selectionBorders).set(selection, new Map([[(0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot), border]]));
77342
+ const border = new _border.default((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot), selection.settings);
77343
+ (0, _classPrivateFieldGet7.default)(this, _selectionBorders).set(selection, new Map([[(0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot), border]]));
77370
77344
  return border;
77371
77345
  }
77372
77346
 
@@ -77378,7 +77352,7 @@ class SelectionManager {
77378
77352
  */
77379
77353
  getBorderInstances(selection) {
77380
77354
  var _classPrivateFieldGet2, _classPrivateFieldGet3;
77381
- return Array.from((_classPrivateFieldGet2 = (_classPrivateFieldGet3 = (0, _classPrivateFieldGet8.default)(this, _selectionBorders).get(selection)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.values()) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : []);
77355
+ return Array.from((_classPrivateFieldGet2 = (_classPrivateFieldGet3 = (0, _classPrivateFieldGet7.default)(this, _selectionBorders).get(selection)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.values()) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : []);
77382
77356
  }
77383
77357
 
77384
77358
  /**
@@ -77387,8 +77361,8 @@ class SelectionManager {
77387
77361
  * @param {Selection} selection The selection instance.
77388
77362
  */
77389
77363
  destroyBorders(selection) {
77390
- (0, _classPrivateFieldGet8.default)(this, _selectionBorders).get(selection).forEach(border => border.destroy());
77391
- (0, _classPrivateFieldGet8.default)(this, _selectionBorders).delete(selection);
77364
+ (0, _classPrivateFieldGet7.default)(this, _selectionBorders).get(selection).forEach(border => border.destroy());
77365
+ (0, _classPrivateFieldGet7.default)(this, _selectionBorders).delete(selection);
77392
77366
  }
77393
77367
 
77394
77368
  /**
@@ -77397,24 +77371,26 @@ class SelectionManager {
77397
77371
  * @param {boolean} fastDraw Indicates the render cycle type (fast/slow).
77398
77372
  */
77399
77373
  render(fastDraw) {
77400
- if ((0, _classPrivateFieldGet8.default)(this, _selections) === null) {
77374
+ if ((0, _classPrivateFieldGet7.default)(this, _selections) === null) {
77401
77375
  return;
77402
77376
  }
77403
77377
  if (fastDraw) {
77404
77378
  // there was no rerender, so we need to remove classNames by ourselves
77405
77379
  _classPrivateMethodGet(this, _resetCells, _resetCells2).call(this);
77406
77380
  }
77407
- const selections = Array.from((0, _classPrivateFieldGet8.default)(this, _selections));
77381
+ const selections = Array.from((0, _classPrivateFieldGet7.default)(this, _selections));
77408
77382
  const classNamesMap = new Map();
77383
+ const headerAttributesMap = new Map();
77409
77384
  for (let i = 0; i < selections.length; i++) {
77410
77385
  const selection = selections[i];
77411
77386
  const {
77412
77387
  className,
77388
+ headerAttributes,
77413
77389
  createLayers,
77414
77390
  selectionType
77415
77391
  } = selection.settings;
77416
- if (!(0, _classPrivateFieldGet8.default)(this, _destroyListeners).has(selection)) {
77417
- (0, _classPrivateFieldGet8.default)(this, _destroyListeners).add(selection);
77392
+ if (!(0, _classPrivateFieldGet7.default)(this, _destroyListeners).has(selection)) {
77393
+ (0, _classPrivateFieldGet7.default)(this, _destroyListeners).add(selection);
77418
77394
  selection.addLocalHook('destroy', () => this.destroyBorders(selection));
77419
77395
  }
77420
77396
  const borderInstance = this.getBorderInstance(selection);
@@ -77424,7 +77400,7 @@ class SelectionManager {
77424
77400
  }
77425
77401
 
77426
77402
  if (className) {
77427
- const elements = (0, _classPrivateFieldGet8.default)(this, _scanner).setActiveSelection(selection).scan();
77403
+ const elements = (0, _classPrivateFieldGet7.default)(this, _scanner).setActiveSelection(selection).scan();
77428
77404
  elements.forEach(element => {
77429
77405
  if (classNamesMap.has(element)) {
77430
77406
  const classNamesLayers = classNamesMap.get(element);
@@ -77436,14 +77412,22 @@ class SelectionManager {
77436
77412
  } else {
77437
77413
  classNamesMap.set(element, new Map([[className, 1]]));
77438
77414
  }
77415
+ if (headerAttributes) {
77416
+ if (!headerAttributesMap.has(element)) {
77417
+ headerAttributesMap.set(element, []);
77418
+ }
77419
+ if (element.nodeName === 'TH') {
77420
+ headerAttributesMap.get(element).push(...headerAttributes);
77421
+ }
77422
+ }
77439
77423
  });
77440
77424
  }
77441
77425
  const corners = selection.getCorners();
77442
- (0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot).getSetting('onBeforeDrawBorders', corners, selectionType);
77426
+ (0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot).getSetting('onBeforeDrawBorders', corners, selectionType);
77443
77427
  borderInstance === null || borderInstance === void 0 || borderInstance.appear(corners);
77444
77428
  }
77445
77429
  classNamesMap.forEach((classNamesLayers, element) => {
77446
- var _classPrivateFieldGet4, _classPrivateFieldGet5;
77430
+ var _classPrivateFieldGet4;
77447
77431
  const classNames = Array.from(classNamesLayers).map(_ref => {
77448
77432
  let [className, occurrenceCount] = _ref;
77449
77433
  if (occurrenceCount === 1) {
@@ -77453,34 +77437,37 @@ class SelectionManager {
77453
77437
  length: occurrenceCount - 1
77454
77438
  }, (_, i) => `${className}-${i + 1}`)];
77455
77439
  }).flat();
77456
- classNames.forEach(className => (0, _classPrivateFieldGet8.default)(this, _appliedClasses).get((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot)).add(className));
77440
+ classNames.forEach(className => (0, _classPrivateFieldGet7.default)(this, _appliedClasses).get((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot)).add(className));
77457
77441
  (0, _element.addClass)(element, classNames);
77458
- if (element.nodeName === 'TD' && Array.isArray((_classPrivateFieldGet4 = (0, _classPrivateFieldGet8.default)(this, _selections).options) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.cellAttributes)) {
77459
- (0, _element.setAttribute)(element, (0, _classPrivateFieldGet8.default)(this, _selections).options.cellAttributes);
77460
- } else if (element.nodeName === 'TH' && Array.isArray((_classPrivateFieldGet5 = (0, _classPrivateFieldGet8.default)(this, _selections).options) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.headerAttributes)) {
77461
- (0, _element.setAttribute)(element, (0, _classPrivateFieldGet8.default)(this, _selections).options.headerAttributes);
77442
+ if (element.nodeName === 'TD' && Array.isArray((_classPrivateFieldGet4 = (0, _classPrivateFieldGet7.default)(this, _selections).options) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.cellAttributes)) {
77443
+ (0, _element.setAttribute)(element, (0, _classPrivateFieldGet7.default)(this, _selections).options.cellAttributes);
77462
77444
  }
77463
77445
  });
77446
+
77447
+ // Set the attributes for the headers if they're focused.
77448
+ Array.from(headerAttributesMap.keys()).forEach(element => {
77449
+ (0, _element.setAttribute)(element, [...headerAttributesMap.get(element)]);
77450
+ });
77464
77451
  }
77465
77452
  }
77466
77453
  exports.SelectionManager = SelectionManager;
77467
77454
  function _resetCells2() {
77468
- const appliedOverlaysClasses = (0, _classPrivateFieldGet8.default)(this, _appliedClasses).get((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot));
77469
- const classesToRemove = (0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot).wtSettings.getSetting('onBeforeRemoveCellClassNames');
77455
+ const appliedOverlaysClasses = (0, _classPrivateFieldGet7.default)(this, _appliedClasses).get((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot));
77456
+ const classesToRemove = (0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot).wtSettings.getSetting('onBeforeRemoveCellClassNames');
77470
77457
  if (Array.isArray(classesToRemove)) {
77471
77458
  for (let i = 0; i < classesToRemove.length; i++) {
77472
77459
  appliedOverlaysClasses.add(classesToRemove[i]);
77473
77460
  }
77474
77461
  }
77475
77462
  appliedOverlaysClasses.forEach(className => {
77476
- var _classPrivateFieldGet6, _classPrivateFieldGet7;
77477
- const nodes = (0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot).wtTable.TABLE.querySelectorAll(`.${className}`);
77463
+ var _classPrivateFieldGet5, _classPrivateFieldGet6;
77464
+ const nodes = (0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot).wtTable.TABLE.querySelectorAll(`.${className}`);
77478
77465
  let cellAttributes = [];
77479
- if (Array.isArray((_classPrivateFieldGet6 = (0, _classPrivateFieldGet8.default)(this, _selections).options) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.cellAttributes)) {
77480
- cellAttributes = (0, _classPrivateFieldGet8.default)(this, _selections).options.cellAttributes.map(el => el[0]);
77466
+ if (Array.isArray((_classPrivateFieldGet5 = (0, _classPrivateFieldGet7.default)(this, _selections).options) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.cellAttributes)) {
77467
+ cellAttributes = (0, _classPrivateFieldGet7.default)(this, _selections).options.cellAttributes.map(el => el[0]);
77481
77468
  }
77482
- if (Array.isArray((_classPrivateFieldGet7 = (0, _classPrivateFieldGet8.default)(this, _selections).options) === null || _classPrivateFieldGet7 === void 0 ? void 0 : _classPrivateFieldGet7.headerAttributes)) {
77483
- cellAttributes = [...cellAttributes, ...(0, _classPrivateFieldGet8.default)(this, _selections).options.headerAttributes.map(el => el[0])];
77469
+ if (Array.isArray((_classPrivateFieldGet6 = (0, _classPrivateFieldGet7.default)(this, _selections).options) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.headerAttributes)) {
77470
+ cellAttributes = [...cellAttributes, ...(0, _classPrivateFieldGet7.default)(this, _selections).options.headerAttributes.map(el => el[0])];
77484
77471
  }
77485
77472
  for (let i = 0, len = nodes.length; i < len; i++) {
77486
77473
  (0, _element.removeClass)(nodes[i], className);
@@ -83122,18 +83109,7 @@ const dictionary = {
83122
83109
  [C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Value',
83123
83110
  [C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value',
83124
83111
  [C.CHECKBOX_CHECKED]: 'Checked',
83125
- [C.CHECKBOX_UNCHECKED]: 'Unchecked',
83126
- [C.COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN]: 'Press ENTER to expand column.',
83127
- [C.COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN]: 'Press ENTER to collapse column.',
83128
- [C.COLUMN_HEADER_DESCRIPTION_SORT_ROWS]: 'Press ENTER to change sorting.',
83129
- [C.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER]: 'Multi-column sorting order:',
83130
- [C.COLUMN_HEADER_LABEL_OPEN_MENU]: 'Press CTRL/CMD+ENTER to open menu.',
83131
- [C.COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN]: 'The next column is hidden.',
83132
- [C.COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN]: 'The previous column is hidden.',
83133
- [C.ROW_HEADER_DESCRIPTION_EXPAND_ROW]: 'Press ENTER to expand row.',
83134
- [C.ROW_HEADER_DESCRIPTION_COLLAPSE_ROW]: 'Press ENTER to collapse row.',
83135
- [C.ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW]: 'The next row is hidden.',
83136
- [C.ROW_HEADER_LABEL_AFTER_HIDDEN_ROW]: 'The previous row is hidden.'
83112
+ [C.CHECKBOX_UNCHECKED]: 'Unchecked'
83137
83113
  };
83138
83114
  var _default = exports["default"] = dictionary;
83139
83115
 
@@ -83234,19 +83210,6 @@ const FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE = exports.FILTERS_BUTTONS_PLACEHO
83234
83210
  const CHECKBOX_RENDERER_NAMESPACE = exports.CHECKBOX_RENDERER_NAMESPACE = 'CheckboxRenderer:';
83235
83211
  const CHECKBOX_CHECKED = exports.CHECKBOX_CHECKED = `${CHECKBOX_RENDERER_NAMESPACE}checked`;
83236
83212
  const CHECKBOX_UNCHECKED = exports.CHECKBOX_UNCHECKED = `${CHECKBOX_RENDERER_NAMESPACE}unchecked`;
83237
- const COLUMN_HEADER_NAMESPACE = exports.COLUMN_HEADER_NAMESPACE = 'ColumnHeader:';
83238
- const COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN = exports.COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN = `${COLUMN_HEADER_NAMESPACE}description.expandColumn`;
83239
- const COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN = exports.COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN = `${COLUMN_HEADER_NAMESPACE}description.collapseColumn`;
83240
- const COLUMN_HEADER_DESCRIPTION_SORT_ROWS = exports.COLUMN_HEADER_DESCRIPTION_SORT_ROWS = `${COLUMN_HEADER_NAMESPACE}description.sortRows`;
83241
- const COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER = exports.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER = `${COLUMN_HEADER_NAMESPACE}label.multiColumnSortOrder`;
83242
- const COLUMN_HEADER_LABEL_OPEN_MENU = exports.COLUMN_HEADER_LABEL_OPEN_MENU = `${COLUMN_HEADER_NAMESPACE}label.openMenu`;
83243
- const COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN = exports.COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN = `${COLUMN_HEADER_NAMESPACE}label.beforeHiddenColumn`;
83244
- const COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN = exports.COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN = `${COLUMN_HEADER_NAMESPACE}label.afterHiddenColumn`;
83245
- const ROW_HEADER_NAMESPACE = exports.ROW_HEADER_NAMESPACE = 'RowHeader:';
83246
- const ROW_HEADER_DESCRIPTION_EXPAND_ROW = exports.ROW_HEADER_DESCRIPTION_EXPAND_ROW = `${ROW_HEADER_NAMESPACE}description.expandRow`;
83247
- const ROW_HEADER_DESCRIPTION_COLLAPSE_ROW = exports.ROW_HEADER_DESCRIPTION_COLLAPSE_ROW = `${ROW_HEADER_NAMESPACE}description.collapseRow`;
83248
- const ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW = exports.ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW = `${ROW_HEADER_NAMESPACE}label.beforeHiddenRow`;
83249
- const ROW_HEADER_LABEL_AFTER_HIDDEN_ROW = exports.ROW_HEADER_LABEL_AFTER_HIDDEN_ROW = `${ROW_HEADER_NAMESPACE}label.afterHiddenRow`;
83250
83213
 
83251
83214
  /***/ }),
83252
83215
  /* 579 */
@@ -83379,7 +83342,6 @@ class Selection {
83379
83342
  this.tableProps = tableProps;
83380
83343
  this.highlight = new _highlight.default({
83381
83344
  headerClassName: settings.currentHeaderClassName,
83382
- headerAttributes: [(0, _a11y.A11Y_SELECTED)()],
83383
83345
  activeHeaderClassName: settings.activeHeaderClassName,
83384
83346
  rowClassName: settings.currentRowClassName,
83385
83347
  columnClassName: settings.currentColClassName,
@@ -84975,6 +84937,7 @@ exports.__esModule = true;
84975
84937
  exports.createHighlight = createHighlight;
84976
84938
  var _src = __webpack_require__(480);
84977
84939
  var _visualSelection = _interopRequireDefault(__webpack_require__(583));
84940
+ var _a11y = __webpack_require__(447);
84978
84941
  /**
84979
84942
  * Creates the new instance of Selection responsible for highlighting currently selected cell. This type of selection
84980
84943
  * can present on the table only one at the time.
@@ -84990,6 +84953,7 @@ function createHighlight(_ref) {
84990
84953
  } = _ref;
84991
84954
  return new _visualSelection.default({
84992
84955
  className: 'current',
84956
+ headerAttributes: [(0, _a11y.A11Y_SELECTED)()],
84993
84957
  border: {
84994
84958
  width: 2,
84995
84959
  color: '#4b89ff',
@@ -94854,7 +94818,7 @@ function createInputElement(hot) {
94854
94818
  input.type = 'text';
94855
94819
  input.classList.add('htFocusCatcher');
94856
94820
  if (hot.getSettings().ariaTags) {
94857
- (0, _element.setAttribute)(input, [(0, _a11y.A11Y_PRESENTATION)()]);
94821
+ (0, _element.setAttribute)(input, [(0, _a11y.A11Y_PRESENTATION)(), (0, _a11y.A11Y_HIDDEN)()]);
94858
94822
  }
94859
94823
  return input;
94860
94824
  }
@@ -97875,7 +97839,6 @@ var _element = __webpack_require__(304);
97875
97839
  var _event = __webpack_require__(459);
97876
97840
  var _object = __webpack_require__(450);
97877
97841
  var _editorManager = __webpack_require__(453);
97878
- var _a11y = __webpack_require__(447);
97879
97842
  const SHORTCUTS_GROUP = 'handsontableEditor';
97880
97843
  const EDITOR_TYPE = exports.EDITOR_TYPE = 'handsontable';
97881
97844
 
@@ -97911,9 +97874,6 @@ class HandsontableEditor extends _textEditor.TextEditor {
97911
97874
  }
97912
97875
  (0, _element.setCaretPosition)(this.TEXTAREA, 0, this.TEXTAREA.value.length);
97913
97876
  this.refreshDimensions();
97914
- if (this.hot.getSettings().ariaTags) {
97915
- (0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('true')]);
97916
- }
97917
97877
  }
97918
97878
 
97919
97879
  /**
@@ -97925,9 +97885,6 @@ class HandsontableEditor extends _textEditor.TextEditor {
97925
97885
  }
97926
97886
  this.removeHooksByKey('beforeKeyDown');
97927
97887
  super.close();
97928
- if (this.TD && this.hot.getSettings().ariaTags) {
97929
- (0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('false')]);
97930
- }
97931
97888
  }
97932
97889
 
97933
97890
  /**
@@ -98207,7 +98164,6 @@ var _pikaday = _interopRequireDefault(__webpack_require__(689));
98207
98164
  var _textEditor = __webpack_require__(668);
98208
98165
  var _eventManager = _interopRequireDefault(__webpack_require__(464));
98209
98166
  var _element = __webpack_require__(304);
98210
- var _a11y = __webpack_require__(447);
98211
98167
  var _object = __webpack_require__(450);
98212
98168
  var _unicode = __webpack_require__(458);
98213
98169
  __webpack_require__(690);
@@ -98330,9 +98286,6 @@ class DateEditor extends _textEditor.TextEditor {
98330
98286
  const editorContext = shortcutManager.getContext('editor');
98331
98287
  super.open();
98332
98288
  this.showDatepicker(event);
98333
- if (this.hot.getSettings().ariaTags) {
98334
- (0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('true')]);
98335
- }
98336
98289
  editorContext.addShortcut({
98337
98290
  keys: [['Enter']],
98338
98291
  callback: keyboardEvent => {
@@ -98358,9 +98311,6 @@ class DateEditor extends _textEditor.TextEditor {
98358
98311
  this.hot._registerTimeout(() => {
98359
98312
  this.hot._refreshBorders();
98360
98313
  });
98361
- if (this.TD && this.hot.getSettings().ariaTags) {
98362
- (0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('false')]);
98363
- }
98364
98314
  const shortcutManager = this.hot.getShortcutManager();
98365
98315
  const editorContext = shortcutManager.getContext('editor');
98366
98316
  editorContext.removeShortcutsByGroup(SHORTCUTS_GROUP_EDITOR);
@@ -100345,9 +100295,6 @@ function autocompleteRenderer(hotInstance, TD, row, col, prop, value, cellProper
100345
100295
 
100346
100296
  TD.insertBefore(ARROW, TD.firstChild);
100347
100297
  (0, _element.addClass)(TD, 'htAutocomplete');
100348
- if (isAriaEnabled) {
100349
- TD.setAttribute(...(0, _a11y.A11Y_HASPOPUP)('listbox'));
100350
- }
100351
100298
  if (!hotInstance.acArrowListener) {
100352
100299
  const eventManager = new _eventManager.default(hotInstance);
100353
100300
 
@@ -101548,8 +101495,6 @@ exports.dateRenderer = _dateRenderer.dateRenderer;
101548
101495
  exports.__esModule = true;
101549
101496
  exports.dateRenderer = dateRenderer;
101550
101497
  var _autocompleteRenderer = __webpack_require__(702);
101551
- var _a11y = __webpack_require__(447);
101552
- var _element = __webpack_require__(304);
101553
101498
  const RENDERER_TYPE = exports.RENDERER_TYPE = 'date';
101554
101499
 
101555
101500
  /**
@@ -101566,9 +101511,6 @@ const RENDERER_TYPE = exports.RENDERER_TYPE = 'date';
101566
101511
  */
101567
101512
  function dateRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
101568
101513
  _autocompleteRenderer.autocompleteRenderer.apply(this, [hotInstance, TD, row, col, prop, value, cellProperties]);
101569
- if (hotInstance.getSettings().ariaTags) {
101570
- (0, _element.setAttribute)(TD, [(0, _a11y.A11Y_HASPOPUP)('dialog'), (0, _a11y.A11Y_EXPANDED)('false')]);
101571
- }
101572
101514
  }
101573
101515
  dateRenderer.RENDERER_TYPE = RENDERER_TYPE;
101574
101516
 
@@ -101656,8 +101598,6 @@ exports.handsontableRenderer = _handsontableRenderer.handsontableRenderer;
101656
101598
  exports.__esModule = true;
101657
101599
  exports.handsontableRenderer = handsontableRenderer;
101658
101600
  var _autocompleteRenderer = __webpack_require__(702);
101659
- var _a11y = __webpack_require__(447);
101660
- var _element = __webpack_require__(304);
101661
101601
  const RENDERER_TYPE = exports.RENDERER_TYPE = 'handsontable';
101662
101602
 
101663
101603
  /**
@@ -101674,9 +101614,6 @@ const RENDERER_TYPE = exports.RENDERER_TYPE = 'handsontable';
101674
101614
  */
101675
101615
  function handsontableRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
101676
101616
  _autocompleteRenderer.autocompleteRenderer.apply(this, [hotInstance, TD, row, col, prop, value, cellProperties]);
101677
- if (hotInstance.getSettings().ariaTags) {
101678
- (0, _element.setAttribute)(TD, [(0, _a11y.A11Y_HASPOPUP)('true'), (0, _a11y.A11Y_EXPANDED)('false')]);
101679
- }
101680
101617
  }
101681
101618
  handsontableRenderer.RENDERER_TYPE = RENDERER_TYPE;
101682
101619
 
@@ -101793,8 +101730,6 @@ exports.selectRenderer = _selectRenderer.selectRenderer;
101793
101730
  exports.__esModule = true;
101794
101731
  exports.selectRenderer = selectRenderer;
101795
101732
  var _textRenderer = __webpack_require__(675);
101796
- var _a11y = __webpack_require__(447);
101797
- var _element = __webpack_require__(304);
101798
101733
  const RENDERER_TYPE = exports.RENDERER_TYPE = 'select';
101799
101734
 
101800
101735
  /**
@@ -101809,9 +101744,6 @@ const RENDERER_TYPE = exports.RENDERER_TYPE = 'select';
101809
101744
  */
101810
101745
  function selectRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
101811
101746
  _textRenderer.textRenderer.apply(this, [hotInstance, TD, row, col, prop, value, cellProperties]);
101812
- if (hotInstance.getSettings().ariaTags) {
101813
- (0, _element.setAttribute)(TD, ...(0, _a11y.A11Y_HASPOPUP)('listbox'));
101814
- }
101815
101747
  }
101816
101748
  selectRenderer.RENDERER_TYPE = RENDERER_TYPE;
101817
101749
 
@@ -105243,7 +105175,6 @@ var _console = __webpack_require__(462);
105243
105175
  var _element = __webpack_require__(304);
105244
105176
  var _event = __webpack_require__(459);
105245
105177
  var _a11y = __webpack_require__(447);
105246
- var _constants = __webpack_require__(578);
105247
105178
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
105248
105179
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
105249
105180
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
@@ -105774,7 +105705,7 @@ function _onAfterGetColHeader2(column, TH, headerLevel) {
105774
105705
 
105775
105706
  // Add ARIA tags
105776
105707
  if (isAriaTagsEnabled) {
105777
- (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(false), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN))]);
105708
+ (0, _element.setAttribute)(TH, ...(0, _a11y.A11Y_EXPANDED)(false));
105778
105709
  }
105779
105710
  } else {
105780
105711
  (0, _element.addClass)(collapsibleElement, 'expanded');
@@ -105782,7 +105713,7 @@ function _onAfterGetColHeader2(column, TH, headerLevel) {
105782
105713
 
105783
105714
  // Add ARIA tags
105784
105715
  if (isAriaTagsEnabled) {
105785
- (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(true), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN))]);
105716
+ (0, _element.setAttribute)(TH, ...(0, _a11y.A11Y_EXPANDED)(true));
105786
105717
  }
105787
105718
  }
105788
105719
  if (isAriaTagsEnabled) {
@@ -105856,7 +105787,6 @@ var _domHelpers = __webpack_require__(774);
105856
105787
  var _rootComparator = __webpack_require__(775);
105857
105788
  var _sortService = __webpack_require__(776);
105858
105789
  var _a11y = __webpack_require__(447);
105859
- var _constants = __webpack_require__(578);
105860
105790
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
105861
105791
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
105862
105792
  function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
@@ -105865,7 +105795,6 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 50;
105865
105795
  const APPEND_COLUMN_CONFIG_STRATEGY = exports.APPEND_COLUMN_CONFIG_STRATEGY = 'append';
105866
105796
  const REPLACE_COLUMN_CONFIG_STRATEGY = exports.REPLACE_COLUMN_CONFIG_STRATEGY = 'replace';
105867
105797
  const SHORTCUTS_GROUP = PLUGIN_KEY;
105868
- const SORTING_INDICATOR_CLASS = 'columnSortingIndicator';
105869
105798
  (0, _sortService.registerRootComparator)(PLUGIN_KEY, _rootComparator.rootComparator);
105870
105799
  _pluginHooks.default.getSingleton().register('beforeColumnSort');
105871
105800
  _pluginHooks.default.getSingleton().register('afterColumnSort');
@@ -106508,28 +106437,6 @@ class ColumnSorting extends _base.BasePlugin {
106508
106437
  }
106509
106438
  }
106510
106439
 
106511
- /**
106512
- * Update sorting indicator.
106513
- *
106514
- * @private
106515
- * @param {number} column Visual column index.
106516
- * @param {HTMLElement} headerSpanElement Header span element.
106517
- */
106518
- updateSortingIndicator(column, headerSpanElement) {
106519
- const pluginSettingsForColumn = this.getFirstCellSettings(column)[this.pluginKey];
106520
- const ariaTags = this.hot.getSettings().ariaTags;
106521
- const showSortIndicator = pluginSettingsForColumn.indicator;
106522
- const isColumnSorted = this.columnStatesManager.isColumnSorted(column);
106523
- const indicatorElement = headerSpanElement.querySelector(`.${SORTING_INDICATOR_CLASS}`);
106524
- if (showSortIndicator && isColumnSorted && !indicatorElement) {
106525
- (0, _element.appendElement)(headerSpanElement, {
106526
- tagName: 'div',
106527
- className: SORTING_INDICATOR_CLASS,
106528
- attributes: ariaTags ? [(0, _a11y.A11Y_HIDDEN)()] : []
106529
- });
106530
- }
106531
- }
106532
-
106533
106440
  /**
106534
106441
  * Overwriting base plugin's `onUpdateSettings` method. Please keep in mind that `onAfterUpdateSettings` isn't called
106535
106442
  * for `updateSettings` in specific situations.
@@ -106558,7 +106465,7 @@ class ColumnSorting extends _base.BasePlugin {
106558
106465
  wasClickableHeaderClicked(event, column) {
106559
106466
  const pluginSettingsForColumn = this.getFirstCellSettings(column)[this.pluginKey];
106560
106467
  const headerActionEnabled = pluginSettingsForColumn.headerAction;
106561
- return headerActionEnabled && ((0, _element.hasClass)(event.target, _utils.HEADER_SPAN_CLASS) || (0, _element.hasClass)(event.target, SORTING_INDICATOR_CLASS));
106468
+ return headerActionEnabled && (0, _element.hasClass)(event.target, _utils.HEADER_SPAN_CLASS);
106562
106469
  }
106563
106470
  /**
106564
106471
  * Callback for the `onAfterOnCellMouseDown` hook.
@@ -106607,14 +106514,12 @@ function _onAfterGetColHeader2(column, TH) {
106607
106514
  return;
106608
106515
  }
106609
106516
  const pluginSettingsForColumn = this.getFirstCellSettings(column)[this.pluginKey];
106610
- const ariaTags = this.hot.getSettings().ariaTags;
106611
106517
  const showSortIndicator = pluginSettingsForColumn.indicator;
106612
106518
  const headerActionEnabled = pluginSettingsForColumn.headerAction;
106613
- const currentSortState = this.columnStatesManager.getSortOrderOfColumn(column);
106614
106519
  this.updateHeaderClasses(headerSpanElement, this.columnStatesManager, column, showSortIndicator, headerActionEnabled);
106615
- this.updateSortingIndicator(column, headerSpanElement);
106616
- if (ariaTags) {
106617
- (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_SORT)(currentSortState ? `${currentSortState}ending` : 'none'), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_DESCRIPTION_SORT_ROWS))]);
106520
+ if (this.hot.getSettings().ariaTags) {
106521
+ const currentSortState = this.columnStatesManager.getSortOrderOfColumn(column);
106522
+ (0, _element.setAttribute)(TH, ...(0, _a11y.A11Y_SORT)(currentSortState ? `${currentSortState}ending` : 'none'));
106618
106523
  }
106619
106524
  }
106620
106525
  function _onAfterLoadData2(initialLoad) {
@@ -113150,8 +113055,6 @@ exports.createMenuItemRenderer = createMenuItemRenderer;
113150
113055
  var _utils = __webpack_require__(822);
113151
113056
  var _element = __webpack_require__(304);
113152
113057
  var _a11y = __webpack_require__(447);
113153
- const SUBMENU_INDICATOR_CLASSNAME = 'submenuIndicator';
113154
-
113155
113058
  /**
113156
113059
  * Creates the menu renderer function.
113157
113060
  *
@@ -113184,16 +113087,6 @@ function createMenuItemRenderer(mainTableHot) {
113184
113087
  const isFocusable = !(0, _utils.isItemDisabled)(item, mainTableHot) && !(0, _utils.isItemSelectionDisabled)(item) && !(0, _utils.isItemSeparator)(item);
113185
113088
  (0, _element.setAttribute)(TD, [(0, _a11y.A11Y_MENU_ITEM)(), (0, _a11y.A11Y_LABEL)(itemValue), ...(isFocusable ? [(0, _a11y.A11Y_TABINDEX)(-1)] : []), ...((0, _utils.isItemDisabled)(item, mainTableHot) ? [(0, _a11y.A11Y_DISABLED)()] : []), ...((0, _utils.isItemSubMenu)(item) ? [(0, _a11y.A11Y_EXPANDED)(false)] : [])]);
113186
113089
  }
113187
- if ((0, _utils.isItemSubMenu)(item)) {
113188
- const submenuIndicatorElement = TD.querySelector('.submenuIndicator');
113189
- if (!submenuIndicatorElement) {
113190
- (0, _element.appendElement)(TD, {
113191
- tagName: 'div',
113192
- attributes: mainTableHot.getSettings().ariaTags ? [(0, _a11y.A11Y_HIDDEN)()] : [],
113193
- className: SUBMENU_INDICATOR_CLASSNAME
113194
- });
113195
- }
113196
- }
113197
113090
  TD.className = '';
113198
113091
  TD.appendChild(wrapper);
113199
113092
  if ((0, _utils.isItemSeparator)(item)) {
@@ -116124,7 +116017,6 @@ var _menu = __webpack_require__(816);
116124
116017
  var _pluginHooks = _interopRequireDefault(__webpack_require__(461));
116125
116018
  var _predefinedItems = __webpack_require__(791);
116126
116019
  __webpack_require__(851);
116127
- var _constants = __webpack_require__(578);
116128
116020
  var _a11y = __webpack_require__(447);
116129
116021
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
116130
116022
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
@@ -116598,7 +116490,7 @@ function _onAfterGetColHeader2(col, TH) {
116598
116490
  button.type = 'button';
116599
116491
  button.tabIndex = -1;
116600
116492
  if (this.hot.getSettings().ariaTags) {
116601
- (0, _element.setAttribute)(button, [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_OPEN_MENU))]);
116493
+ (0, _element.setAttribute)(button, [(0, _a11y.A11Y_HIDDEN)(), (0, _a11y.A11Y_LABEL)(' ')]);
116602
116494
  (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_HASPOPUP)('menu')]);
116603
116495
  }
116604
116496
 
@@ -117536,7 +117428,16 @@ class Filters extends _base.BasePlugin {
117536
117428
  // A fake menu item that once focused allows escaping from the focus navigation (using Tab keys)
117537
117429
  // to the menu navigation using arrow keys.
117538
117430
  {
117539
- focus: () => mainMenu.focus()
117431
+ focus: () => {
117432
+ const menuNavigator = mainMenu.getNavigator();
117433
+ const lastSelectedMenuItem = (0, _classPrivateFieldGet2.default)(this, _menuFocusNavigator).getLastMenuPage();
117434
+ mainMenu.focus();
117435
+ if (lastSelectedMenuItem > 0) {
117436
+ menuNavigator.setCurrentPage(lastSelectedMenuItem);
117437
+ } else {
117438
+ menuNavigator.toFirstItem();
117439
+ }
117440
+ }
117540
117441
  }, ...Array.from(this.components).map(_ref => {
117541
117442
  let [, component] = _ref;
117542
117443
  return component.getElements();
@@ -119831,8 +119732,11 @@ class InputUI extends _base.BaseUI {
119831
119732
  */
119832
119733
  build() {
119833
119734
  super.build();
119735
+ const icon = this.hot.rootDocument.createElement('div');
119834
119736
  (0, _classPrivateFieldSet2.default)(this, _input, this._element.firstChild);
119835
119737
  (0, _element.addClass)(this._element, 'htUIInput');
119738
+ (0, _element.addClass)(icon, 'htUIInputIcon');
119739
+ this._element.appendChild(icon);
119836
119740
  this.update();
119837
119741
  }
119838
119742
 
@@ -122163,12 +122067,17 @@ const SHORTCUTS_MENU_CONTEXT = 'filters';
122163
122067
  * @returns {Paginator}
122164
122068
  */
122165
122069
  function createMenuFocusController(mainMenu, menuItems) {
122166
- const navigator = (0, _focusNavigator.createFocusNavigator)(menuItems);
122070
+ /**
122071
+ * @type {number} The last selected menu item (before clearing the the menu state after going
122072
+ * into the focus mode triggered by the TAB or SHIFT+TAB keys).
122073
+ */
122074
+ let lastSelectedMenuItem = -1;
122075
+ const focusNavigator = (0, _focusNavigator.createFocusNavigator)(menuItems);
122167
122076
  const updateNavigatorPosition = element => () => {
122168
122077
  if (mainMenu.isOpened()) {
122169
122078
  mainMenu.getKeyboardShortcutsCtrl().listen(SHORTCUTS_MENU_CONTEXT);
122170
122079
  }
122171
- navigator.setCurrentPage(menuItems.indexOf(element));
122080
+ focusNavigator.setCurrentPage(menuItems.indexOf(element));
122172
122081
  };
122173
122082
 
122174
122083
  // update navigator position (internal state) to element that was recently clicked or focused
@@ -122181,7 +122090,7 @@ function createMenuFocusController(mainMenu, menuItems) {
122181
122090
  });
122182
122091
  mainMenu.addLocalHook('afterSelectionChange', selectedItem => {
122183
122092
  if (!selectedItem.key.startsWith('filter_')) {
122184
- navigator.clear();
122093
+ focusNavigator.clear();
122185
122094
  }
122186
122095
  });
122187
122096
 
@@ -122193,7 +122102,7 @@ function createMenuFocusController(mainMenu, menuItems) {
122193
122102
  function addKeyboardShortcuts(menu) {
122194
122103
  const mainMenuShortcutsCtrl = mainMenu.getKeyboardShortcutsCtrl();
122195
122104
  const currentMenuShortcutsCtrl = menu.getKeyboardShortcutsCtrl();
122196
- navigator.clear();
122105
+ focusNavigator.clear();
122197
122106
  currentMenuShortcutsCtrl.addCustomShortcuts([{
122198
122107
  keys: [['Tab'], ['Shift', 'Tab']],
122199
122108
  forwardToContext: mainMenuShortcutsCtrl.getContext(SHORTCUTS_MENU_CONTEXT),
@@ -122210,11 +122119,15 @@ function createMenuFocusController(mainMenu, menuItems) {
122210
122119
  mainMenuShortcutsCtrl.addCustomShortcuts([{
122211
122120
  keys: [['Tab'], ['Shift', 'Tab']],
122212
122121
  callback: event => {
122213
- mainMenu.getNavigator().clear();
122122
+ const menuNavigator = mainMenu.getNavigator();
122123
+ if (menuNavigator.getCurrentPage() > -1) {
122124
+ lastSelectedMenuItem = menuNavigator.getCurrentPage();
122125
+ }
122126
+ menuNavigator.clear();
122214
122127
  if (event.shiftKey) {
122215
- navigator.toPreviousItem();
122128
+ focusNavigator.toPreviousItem();
122216
122129
  } else {
122217
- navigator.toNextItem();
122130
+ focusNavigator.toNextItem();
122218
122131
  }
122219
122132
  }
122220
122133
  }, {
@@ -122226,7 +122139,7 @@ function createMenuFocusController(mainMenu, menuItems) {
122226
122139
  keys: [['Enter'], ['Space']],
122227
122140
  preventDefault: false,
122228
122141
  callback: event => {
122229
- const element = menuItems[navigator.getCurrentPage()];
122142
+ const element = menuItems[focusNavigator.getCurrentPage()];
122230
122143
  if (element instanceof _select.SelectUI) {
122231
122144
  element.openOptions();
122232
122145
  event.preventDefault();
@@ -122252,9 +122165,19 @@ function createMenuFocusController(mainMenu, menuItems) {
122252
122165
  mainMenu.focus();
122253
122166
  mainMenu.getKeyboardShortcutsCtrl().listen(SHORTCUTS_MENU_CONTEXT);
122254
122167
  }
122168
+
122169
+ /**
122170
+ * Retrieves the last selected menu item (before clearing the state after going into the focus mode).
122171
+ *
122172
+ * @returns {number} The last selected menu item.
122173
+ */
122174
+ function getLastMenuPage() {
122175
+ return lastSelectedMenuItem;
122176
+ }
122255
122177
  return {
122256
- ...navigator,
122257
- listen
122178
+ ...focusNavigator,
122179
+ listen,
122180
+ getLastMenuPage
122258
122181
  };
122259
122182
  }
122260
122183
 
@@ -124654,8 +124577,6 @@ var _pluginHooks = _interopRequireDefault(__webpack_require__(461));
124654
124577
  var _hideColumn = _interopRequireDefault(__webpack_require__(916));
124655
124578
  var _showColumn = _interopRequireDefault(__webpack_require__(917));
124656
124579
  var _translations = __webpack_require__(554);
124657
- var _a11y = __webpack_require__(447);
124658
- var _constants = __webpack_require__(578);
124659
124580
  __webpack_require__(918);
124660
124581
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
124661
124582
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
@@ -124667,8 +124588,6 @@ _pluginHooks.default.getSingleton().register('beforeUnhideColumns');
124667
124588
  _pluginHooks.default.getSingleton().register('afterUnhideColumns');
124668
124589
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'hiddenColumns';
124669
124590
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 310;
124670
- const BEFORE_INDICATOR_CLASSNAME = 'beforeHiddenColumnIndicator';
124671
- const AFTER_INDICATOR_CLASSNAME = 'afterHiddenColumnIndicator';
124672
124591
 
124673
124592
  /* eslint-disable jsdoc/require-description-complete-sentence */
124674
124593
 
@@ -124778,7 +124697,6 @@ const AFTER_INDICATOR_CLASSNAME = 'afterHiddenColumnIndicator';
124778
124697
  */
124779
124698
  var _settings = /*#__PURE__*/new WeakMap();
124780
124699
  var _hiddenColumnsMap = /*#__PURE__*/new WeakMap();
124781
- var _clearIndicatorElements = /*#__PURE__*/new WeakSet();
124782
124700
  var _onModifyColWidth = /*#__PURE__*/new WeakSet();
124783
124701
  var _onAfterGetCellMeta = /*#__PURE__*/new WeakSet();
124784
124702
  var _onModifyCopyableRange = /*#__PURE__*/new WeakSet();
@@ -124828,12 +124746,6 @@ class HiddenColumns extends _base.BasePlugin {
124828
124746
  * @returns {number}
124829
124747
  */
124830
124748
  _classPrivateMethodInitSpec(this, _onModifyColWidth);
124831
- /**
124832
- * Remove the indicator elements from the provided column header element.
124833
- *
124834
- * @param {HTMLElement} TH Column header element.
124835
- */
124836
- _classPrivateMethodInitSpec(this, _clearIndicatorElements);
124837
124749
  /**
124838
124750
  * Cached plugin settings.
124839
124751
  *
@@ -124923,15 +124835,8 @@ class HiddenColumns extends _base.BasePlugin {
124923
124835
  * Disables the plugin functionality for this Handsontable instance.
124924
124836
  */
124925
124837
  disablePlugin() {
124926
- const clearColHeader = (columnIndex, TH) => {
124927
- _classPrivateMethodGet(this, _clearIndicatorElements, _clearIndicatorElements2).call(this, TH);
124928
- };
124929
124838
  this.hot.columnIndexMapper.unregisterMap(this.pluginName);
124930
124839
  (0, _classPrivateFieldSet2.default)(this, _settings, {});
124931
- this.hot.addHook('afterGetColHeader', clearColHeader);
124932
- this.hot.addHookOnce('afterViewRender', () => {
124933
- this.hot.removeHook('afterGetColHeader', clearColHeader);
124934
- });
124935
124840
  super.disablePlugin();
124936
124841
  this.resetCellsMeta();
124937
124842
  }
@@ -125083,11 +124988,6 @@ class HiddenColumns extends _base.BasePlugin {
125083
124988
  }
125084
124989
  }
125085
124990
  exports.HiddenColumns = HiddenColumns;
125086
- function _clearIndicatorElements2(TH) {
125087
- Array.from(TH.querySelectorAll(`.${AFTER_INDICATOR_CLASSNAME}, .${BEFORE_INDICATOR_CLASSNAME}`)).forEach(element => {
125088
- element.remove();
125089
- });
125090
- }
125091
124991
  function _onModifyColWidth2(width, column) {
125092
124992
  // Hook is triggered internally only for the visible columns. Conditional will be handled for the API
125093
124993
  // calls of the `getColWidth` function on not visible indexes.
@@ -125159,35 +125059,14 @@ function _onModifyCopyableRange2(ranges) {
125159
125059
  return newRanges;
125160
125060
  }
125161
125061
  function _onAfterGetColHeader2(column, TH) {
125162
- const areAriaTagsEnabled = this.hot.getSettings().ariaTags;
125163
- const beforeHiddenColumnIndicatorElement = TH.querySelector('.beforeHiddenColumnIndicator');
125164
- const afterHiddenColumnIndicatorElement = TH.querySelector('.afterHiddenColumnIndicator');
125165
125062
  if (!(0, _classPrivateFieldGet2.default)(this, _settings).indicators || column < 0) {
125166
- beforeHiddenColumnIndicatorElement === null || beforeHiddenColumnIndicatorElement === void 0 || beforeHiddenColumnIndicatorElement.remove();
125167
- afterHiddenColumnIndicatorElement === null || afterHiddenColumnIndicatorElement === void 0 || afterHiddenColumnIndicatorElement.remove();
125168
125063
  return;
125169
125064
  }
125170
125065
  const classList = [];
125171
125066
  if (column >= 1 && this.isHidden(column - 1)) {
125172
- if (!afterHiddenColumnIndicatorElement) {
125173
- const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN))] : [];
125174
- (0, _element.appendElement)(TH, {
125175
- tagName: 'div',
125176
- attributes: attributesToAdd,
125177
- className: AFTER_INDICATOR_CLASSNAME
125178
- });
125179
- }
125180
125067
  classList.push('afterHiddenColumn');
125181
125068
  }
125182
125069
  if (column < this.hot.countCols() - 1 && this.isHidden(column + 1)) {
125183
- if (!beforeHiddenColumnIndicatorElement) {
125184
- const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN))] : [];
125185
- (0, _element.appendElement)(TH, {
125186
- tagName: 'div',
125187
- attributes: attributesToAdd,
125188
- className: BEFORE_INDICATOR_CLASSNAME
125189
- });
125190
- }
125191
125070
  classList.push('beforeHiddenColumn');
125192
125071
  }
125193
125072
  (0, _element.addClass)(TH, classList);
@@ -125414,8 +125293,6 @@ var _pluginHooks = _interopRequireDefault(__webpack_require__(461));
125414
125293
  var _hideRow = _interopRequireDefault(__webpack_require__(921));
125415
125294
  var _showRow = _interopRequireDefault(__webpack_require__(922));
125416
125295
  var _translations = __webpack_require__(554);
125417
- var _a11y = __webpack_require__(447);
125418
- var _constants = __webpack_require__(578);
125419
125296
  __webpack_require__(923);
125420
125297
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
125421
125298
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
@@ -125427,8 +125304,6 @@ _pluginHooks.default.getSingleton().register('beforeUnhideRows');
125427
125304
  _pluginHooks.default.getSingleton().register('afterUnhideRows');
125428
125305
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'hiddenRows';
125429
125306
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 320;
125430
- const AFTER_INDICATOR_CLASSNAME = 'afterHiddenRowIndicator';
125431
- const BEFORE_INDICATOR_CLASSNAME = 'beforeHiddenRowIndicator';
125432
125307
 
125433
125308
  /* eslint-disable jsdoc/require-description-complete-sentence */
125434
125309
 
@@ -125538,7 +125413,6 @@ const BEFORE_INDICATOR_CLASSNAME = 'beforeHiddenRowIndicator';
125538
125413
  */
125539
125414
  var _settings = /*#__PURE__*/new WeakMap();
125540
125415
  var _hiddenRowsMap = /*#__PURE__*/new WeakMap();
125541
- var _clearIndicatorElements = /*#__PURE__*/new WeakSet();
125542
125416
  var _onModifyRowHeight = /*#__PURE__*/new WeakSet();
125543
125417
  var _onAfterGetCellMeta = /*#__PURE__*/new WeakSet();
125544
125418
  var _onModifyCopyableRange = /*#__PURE__*/new WeakSet();
@@ -125588,12 +125462,6 @@ class HiddenRows extends _base.BasePlugin {
125588
125462
  * @returns {number}
125589
125463
  */
125590
125464
  _classPrivateMethodInitSpec(this, _onModifyRowHeight);
125591
- /**
125592
- * Remove the indicator elements from the provided row header element.
125593
- *
125594
- * @param {HTMLElement} TH Column header element.
125595
- */
125596
- _classPrivateMethodInitSpec(this, _clearIndicatorElements);
125597
125465
  /**
125598
125466
  * Cached settings from Handsontable settings.
125599
125467
  *
@@ -125683,15 +125551,8 @@ class HiddenRows extends _base.BasePlugin {
125683
125551
  * Disables the plugin functionality for this Handsontable instance.
125684
125552
  */
125685
125553
  disablePlugin() {
125686
- const clearRowHeader = (columnIndex, TH) => {
125687
- _classPrivateMethodGet(this, _clearIndicatorElements, _clearIndicatorElements2).call(this, TH);
125688
- };
125689
125554
  this.hot.rowIndexMapper.unregisterMap(this.pluginName);
125690
125555
  (0, _classPrivateFieldSet2.default)(this, _settings, {});
125691
- this.hot.addHook('afterGetRowHeader', clearRowHeader);
125692
- this.hot.addHookOnce('afterViewRender', () => {
125693
- this.hot.removeHook('afterGetRowHeader', clearRowHeader);
125694
- });
125695
125556
  super.disablePlugin();
125696
125557
  this.resetCellsMeta();
125697
125558
  }
@@ -125840,11 +125701,6 @@ class HiddenRows extends _base.BasePlugin {
125840
125701
  }
125841
125702
  }
125842
125703
  exports.HiddenRows = HiddenRows;
125843
- function _clearIndicatorElements2(TH) {
125844
- Array.from(TH.querySelectorAll(`.${AFTER_INDICATOR_CLASSNAME}, .${BEFORE_INDICATOR_CLASSNAME}`)).forEach(element => {
125845
- element.remove();
125846
- });
125847
- }
125848
125704
  function _onModifyRowHeight2(height, row) {
125849
125705
  // Hook is triggered internally only for the visible rows. Conditional will be handled for the API
125850
125706
  // calls of the `getRowHeight` function on not visible indexes.
@@ -125911,35 +125767,14 @@ function _onModifyCopyableRange2(ranges) {
125911
125767
  return newRanges;
125912
125768
  }
125913
125769
  function _onAfterGetRowHeader2(row, TH) {
125914
- const areAriaTagsEnabled = this.hot.getSettings().ariaTags;
125915
- const beforeHiddenRowIndicatorElement = TH.querySelector('.beforeHiddenRowIndicator');
125916
- const afterHiddenRowIndicatorElement = TH.querySelector('.afterHiddenRowIndicator');
125917
125770
  if (!(0, _classPrivateFieldGet2.default)(this, _settings).indicators || row < 0) {
125918
- beforeHiddenRowIndicatorElement === null || beforeHiddenRowIndicatorElement === void 0 || beforeHiddenRowIndicatorElement.remove();
125919
- afterHiddenRowIndicatorElement === null || afterHiddenRowIndicatorElement === void 0 || afterHiddenRowIndicatorElement.remove();
125920
125771
  return;
125921
125772
  }
125922
125773
  const classList = [];
125923
125774
  if (row >= 1 && this.isHidden(row - 1)) {
125924
- if (!afterHiddenRowIndicatorElement) {
125925
- const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_LABEL_AFTER_HIDDEN_ROW))] : [];
125926
- (0, _element.appendElement)(TH, {
125927
- tagName: 'div',
125928
- attributes: attributesToAdd,
125929
- className: AFTER_INDICATOR_CLASSNAME
125930
- });
125931
- }
125932
125775
  classList.push('afterHiddenRow');
125933
125776
  }
125934
125777
  if (row < this.hot.countRows() - 1 && this.isHidden(row + 1)) {
125935
- if (!beforeHiddenRowIndicatorElement) {
125936
- const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW))] : [];
125937
- (0, _element.appendElement)(TH, {
125938
- tagName: 'div',
125939
- attributes: attributesToAdd,
125940
- className: BEFORE_INDICATOR_CLASSNAME
125941
- });
125942
- }
125943
125778
  classList.push('beforeHiddenRow');
125944
125779
  }
125945
125780
  (0, _element.addClass)(TH, classList);
@@ -132425,8 +132260,6 @@ var _element = __webpack_require__(304);
132425
132260
  var _rootComparator = __webpack_require__(956);
132426
132261
  var _utils2 = __webpack_require__(957);
132427
132262
  var _domHelpers = __webpack_require__(958);
132428
- var _a11y = __webpack_require__(447);
132429
- var _constants = __webpack_require__(578);
132430
132263
  __webpack_require__(959);
132431
132264
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'multiColumnSorting';
132432
132265
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 170;
@@ -132686,25 +132519,6 @@ class MultiColumnSorting extends _columnSorting.ColumnSorting {
132686
132519
  }
132687
132520
  }
132688
132521
 
132689
- /**
132690
- * Update sorting indicator.
132691
- *
132692
- * @private
132693
- * @param {number} column Visual column index.
132694
- * @param {HTMLElement} headerSpanElement Header span element.
132695
- */
132696
- updateSortingIndicator(column, headerSpanElement) {
132697
- super.updateSortingIndicator(column, headerSpanElement);
132698
- const indicatorElement = headerSpanElement.querySelector('.columnSortingIndicator');
132699
- if (!indicatorElement || !this.hot.getSettings().ariaTags || !this.columnStatesManager.isColumnSorted(column) || this.columnStatesManager.getNumberOfSortedColumns() <= 1) {
132700
- return;
132701
- }
132702
- const multiColumnSortingOrder = this.columnStatesManager.getIndexOfColumnInSortQueue(column) + 1;
132703
- const a11yLabelAttribute = (0, _a11y.A11Y_LABEL)(`${this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER)} ${multiColumnSortingOrder}.`);
132704
- (0, _element.removeAttribute)(indicatorElement, (0, _a11y.A11Y_HIDDEN)()[0]);
132705
- (0, _element.setAttribute)(indicatorElement, ...a11yLabelAttribute);
132706
- }
132707
-
132708
132522
  /**
132709
132523
  * Overwriting base plugin's `onUpdateSettings` method. Please keep in mind that `onAfterUpdateSettings` isn't called
132710
132524
  * for `updateSettings` in specific situations.
@@ -136678,8 +136492,7 @@ class NestedRows extends _base.BasePlugin {
136678
136492
  /**
136679
136493
  * Updates the plugin's state.
136680
136494
  *
136681
- * This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the
136682
- * following configuration options:
136495
+ * This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the following configuration options:
136683
136496
  * - [`nestedRows`](@/api/options.md#nestedrows)
136684
136497
  */
136685
136498
  updatePlugin() {
@@ -138131,7 +137944,6 @@ var _number = __webpack_require__(474);
138131
137944
  var _element = __webpack_require__(304);
138132
137945
  var _base = _interopRequireDefault(__webpack_require__(983));
138133
137946
  var _a11y = __webpack_require__(447);
138134
- var _constants = __webpack_require__(578);
138135
137947
  /**
138136
137948
  * Class responsible for the UI in the Nested Rows' row headers.
138137
137949
  *
@@ -138149,6 +137961,7 @@ class HeadersUI extends _base.default {
138149
137961
  return {
138150
137962
  indicatorContainer: 'ht_nestingLevels',
138151
137963
  parent: 'ht_nestingParent',
137964
+ indicator: 'ht_nestingLevel',
138152
137965
  emptyIndicator: 'ht_nestingLevel_empty',
138153
137966
  button: 'ht_nestingButton',
138154
137967
  expandButton: 'ht_nestingExpand',
@@ -138226,12 +138039,12 @@ class HeadersUI extends _base.default {
138226
138039
  if (this.collapsingUI.areChildrenCollapsed(rowIndex)) {
138227
138040
  (0, _element.addClass)(buttonsContainer, `${HeadersUI.CSS_CLASSES.button} ${HeadersUI.CSS_CLASSES.expandButton}`);
138228
138041
  if (ariaEnabled) {
138229
- (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(false), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_DESCRIPTION_EXPAND_ROW))]);
138042
+ (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(false)]);
138230
138043
  }
138231
138044
  } else {
138232
138045
  (0, _element.addClass)(buttonsContainer, `${HeadersUI.CSS_CLASSES.button} ${HeadersUI.CSS_CLASSES.collapseButton}`);
138233
138046
  if (ariaEnabled) {
138234
- (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(true), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_DESCRIPTION_COLLAPSE_ROW))]);
138047
+ (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(true)]);
138235
138048
  }
138236
138049
  }
138237
138050
  innerDiv.appendChild(buttonsContainer);