handsontable 14.0.0-next-dd92f79-20231124 → 14.0.0-next-88de277-20231127

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. package/3rdparty/walkontable/src/overlay/_base.js +2 -2
  2. package/3rdparty/walkontable/src/overlay/_base.mjs +2 -2
  3. package/3rdparty/walkontable/src/renderer/columnHeaders.js +1 -1
  4. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +2 -2
  5. package/3rdparty/walkontable/src/renderer/rows.js +1 -1
  6. package/3rdparty/walkontable/src/renderer/rows.mjs +2 -2
  7. package/3rdparty/walkontable/src/selection/manager.js +20 -6
  8. package/3rdparty/walkontable/src/selection/manager.mjs +20 -6
  9. package/base.js +2 -2
  10. package/base.mjs +2 -2
  11. package/core.js +1 -1
  12. package/core.mjs +1 -1
  13. package/dataMap/replaceData.js +3 -1
  14. package/dataMap/replaceData.mjs +3 -1
  15. package/dist/handsontable.css +62 -44
  16. package/dist/handsontable.full.css +62 -44
  17. package/dist/handsontable.full.js +123 -302
  18. package/dist/handsontable.full.min.css +5 -5
  19. package/dist/handsontable.full.min.js +64 -64
  20. package/dist/handsontable.js +123 -302
  21. package/dist/handsontable.min.css +5 -5
  22. package/dist/handsontable.min.js +19 -19
  23. package/dist/languages/all.js +2 -24
  24. package/dist/languages/all.min.js +1 -1
  25. package/dist/languages/en-US.js +1 -12
  26. package/dist/languages/en-US.min.js +1 -1
  27. package/dist/languages/pl-PL.js +1 -12
  28. package/dist/languages/pl-PL.min.js +1 -1
  29. package/editors/dateEditor/dateEditor.js +0 -7
  30. package/editors/dateEditor/dateEditor.mjs +1 -8
  31. package/editors/handsontableEditor/handsontableEditor.js +0 -7
  32. package/editors/handsontableEditor/handsontableEditor.mjs +1 -8
  33. package/editors/passwordEditor/passwordEditor.js +4 -0
  34. package/editors/passwordEditor/passwordEditor.mjs +5 -1
  35. package/helpers/a11y.js +2 -2
  36. package/helpers/a11y.mjs +1 -1
  37. package/helpers/dom/element.js +0 -29
  38. package/helpers/dom/element.mjs +0 -28
  39. package/helpers/mixed.js +2 -2
  40. package/helpers/mixed.mjs +2 -2
  41. package/i18n/constants.js +1 -14
  42. package/i18n/constants.mjs +1 -14
  43. package/i18n/languages/en-US.js +1 -12
  44. package/i18n/languages/en-US.mjs +1 -12
  45. package/i18n/languages/pl-PL.js +1 -12
  46. package/i18n/languages/pl-PL.mjs +1 -12
  47. package/languages/all.js +2 -24
  48. package/languages/en-US.js +1 -12
  49. package/languages/en-US.mjs +1 -12
  50. package/languages/index.js +2 -24
  51. package/languages/pl-PL.js +1 -12
  52. package/languages/pl-PL.mjs +1 -12
  53. package/package.json +1 -1
  54. package/plugins/collapsibleColumns/collapsibleColumns.js +2 -3
  55. package/plugins/collapsibleColumns/collapsibleColumns.mjs +3 -4
  56. package/plugins/columnSorting/columnSorting.js +4 -30
  57. package/plugins/columnSorting/columnSorting.mjs +6 -32
  58. package/plugins/contextMenu/menu/menuItemRenderer.js +0 -12
  59. package/plugins/contextMenu/menu/menuItemRenderer.mjs +2 -14
  60. package/plugins/dropdownMenu/dropdownMenu.js +1 -2
  61. package/plugins/dropdownMenu/dropdownMenu.mjs +2 -3
  62. package/plugins/filters/ui/input.js +3 -0
  63. package/plugins/filters/ui/input.mjs +3 -0
  64. package/plugins/hiddenColumns/hiddenColumns.js +0 -44
  65. package/plugins/hiddenColumns/hiddenColumns.mjs +1 -45
  66. package/plugins/hiddenRows/hiddenRows.js +0 -44
  67. package/plugins/hiddenRows/hiddenRows.mjs +1 -45
  68. package/plugins/multiColumnSorting/multiColumnSorting.js +0 -21
  69. package/plugins/multiColumnSorting/multiColumnSorting.mjs +1 -22
  70. package/plugins/nestedRows/nestedRows.js +1 -2
  71. package/plugins/nestedRows/nestedRows.mjs +1 -2
  72. package/plugins/nestedRows/ui/headers.js +3 -3
  73. package/plugins/nestedRows/ui/headers.mjs +4 -4
  74. package/renderers/autocompleteRenderer/autocompleteRenderer.js +0 -3
  75. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +1 -4
  76. package/renderers/checkboxRenderer/checkboxRenderer.js +0 -1
  77. package/renderers/checkboxRenderer/checkboxRenderer.mjs +0 -1
  78. package/renderers/dateRenderer/dateRenderer.js +0 -5
  79. package/renderers/dateRenderer/dateRenderer.mjs +0 -5
  80. package/renderers/handsontableRenderer/handsontableRenderer.js +0 -5
  81. package/renderers/handsontableRenderer/handsontableRenderer.mjs +0 -5
  82. package/renderers/selectRenderer/selectRenderer.js +0 -5
  83. package/renderers/selectRenderer/selectRenderer.mjs +0 -5
  84. package/selection/highlight/types/focus.js +2 -0
  85. package/selection/highlight/types/focus.mjs +2 -0
  86. package/selection/selection.js +0 -1
  87. package/selection/selection.mjs +0 -1
  88. package/tableView.js +35 -2
  89. package/tableView.mjs +35 -2
@@ -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-dd92f79-20231124
29
- * Release date: 22/11/2023 (built at 24/11/2023 11:03:49)
28
+ * Version: 14.0.0-next-88de277-20231127
29
+ * Release date: 29/11/2023 (built at 27/11/2023 10:19:34)
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 11:03:49";
43037
- Handsontable.version = "14.0.0-next-dd92f79-20231124";
43036
+ Handsontable.buildDate = "27/11/2023 10:19:34";
43037
+ Handsontable.version = "14.0.0-next-88de277-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-dd92f79-20231124";
53157
+ const hotVersion = "14.0.0-next-88de277-20231127";
53187
53158
  let keyValidityDate;
53188
53159
  let consoleMessageState = 'invalid';
53189
53160
  let domMessageState = 'invalid';
@@ -53191,7 +53162,7 @@ function _injectProductInfo(key, element) {
53191
53162
  const schemaValidity = _checkKeySchema(key);
53192
53163
  if (hasValidType || isNonCommercial || schemaValidity) {
53193
53164
  if (schemaValidity) {
53194
- const releaseDate = (0, _moment.default)("22/11/2023", 'DD/MM/YYYY');
53165
+ const releaseDate = (0, _moment.default)("29/11/2023", 'DD/MM/YYYY');
53195
53166
  const releaseDays = Math.floor(releaseDate.toDate().getTime() / 8.64e7);
53196
53167
  const keyValidityDays = _extractTime(key);
53197
53168
  keyValidityDate = (0, _moment.default)((keyValidityDays + 1) * 8.64e7, 'x').format('MMMM DD, YYYY');
@@ -60435,6 +60406,8 @@ const A11Y_GRIDCELL = () => ['role', 'gridcell'];
60435
60406
  exports.A11Y_GRIDCELL = A11Y_GRIDCELL;
60436
60407
  const A11Y_ROWHEADER = () => ['role', 'rowheader'];
60437
60408
  exports.A11Y_ROWHEADER = A11Y_ROWHEADER;
60409
+ const A11Y_ROWGROUP = () => ['role', 'rowgroup'];
60410
+ exports.A11Y_ROWGROUP = A11Y_ROWGROUP;
60438
60411
  const A11Y_COLUMNHEADER = () => ['role', 'columnheader'];
60439
60412
  exports.A11Y_COLUMNHEADER = A11Y_COLUMNHEADER;
60440
60413
  const A11Y_ROW = () => ['role', 'row'];
@@ -60459,8 +60432,6 @@ const A11Y_TEXT = () => ['type', 'text'];
60459
60432
  exports.A11Y_TEXT = A11Y_TEXT;
60460
60433
  const A11Y_LABEL = val => ['aria-label', val];
60461
60434
  exports.A11Y_LABEL = A11Y_LABEL;
60462
- const A11Y_DESCRIPTION = val => ['aria-description', val];
60463
- exports.A11Y_DESCRIPTION = A11Y_DESCRIPTION;
60464
60435
  const A11Y_HIDDEN = () => ['aria-hidden', 'true'];
60465
60436
  exports.A11Y_HIDDEN = A11Y_HIDDEN;
60466
60437
  const A11Y_DISABLED = () => ['aria-disabled', 'true'];
@@ -66913,8 +66884,10 @@ var _src = _interopRequireDefault(__webpack_require__(480));
66913
66884
  var _mouseEventHandler = __webpack_require__(550);
66914
66885
  var _rootInstance = __webpack_require__(551);
66915
66886
  var _a11y = __webpack_require__(447);
66887
+ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
66916
66888
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
66917
66889
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
66890
+ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
66918
66891
  /**
66919
66892
  * @class TableView
66920
66893
  * @private
@@ -66926,11 +66899,25 @@ var _mouseDown = /*#__PURE__*/new WeakMap();
66926
66899
  var _table = /*#__PURE__*/new WeakMap();
66927
66900
  var _lastWidth = /*#__PURE__*/new WeakMap();
66928
66901
  var _lastHeight = /*#__PURE__*/new WeakMap();
66902
+ var _getAriaColcount = /*#__PURE__*/new WeakSet();
66903
+ var _updateAriaColcount = /*#__PURE__*/new WeakSet();
66929
66904
  class TableView {
66930
66905
  /**
66931
66906
  * @param {Hanstontable} hotInstance Instance of {@link Handsontable}.
66932
66907
  */
66933
66908
  constructor(hotInstance) {
66909
+ /**
66910
+ * Update the `aria-colcount` attribute by the provided value.
66911
+ *
66912
+ * @param {number} delta The number of columns to add or remove to the aria tag.
66913
+ */
66914
+ _classPrivateMethodInitSpec(this, _updateAriaColcount);
66915
+ /**
66916
+ * Return the value of the `aria-colcount` attribute.
66917
+ *
66918
+ * @returns {number} The value of the `aria-colcount` attribute.
66919
+ */
66920
+ _classPrivateMethodInitSpec(this, _getAriaColcount);
66934
66921
  /**
66935
66922
  * Instance of {@link Handsontable}.
66936
66923
  *
@@ -67167,7 +67154,7 @@ class TableView {
67167
67154
  }
67168
67155
  if (this.settings.ariaTags) {
67169
67156
  (0, _element.setAttribute)((0, _classPrivateFieldGet2.default)(this, _table), [(0, _a11y.A11Y_PRESENTATION)()]);
67170
- (0, _element.setAttribute)(rootElement, [(0, _a11y.A11Y_TREEGRID)(), (0, _a11y.A11Y_ROWCOUNT)(this.hot.countRows()), (0, _a11y.A11Y_COLCOUNT)(this.hot.countCols()), (0, _a11y.A11Y_MULTISELECTABLE)()]);
67157
+ (0, _element.setAttribute)(rootElement, [(0, _a11y.A11Y_TREEGRID)(), (0, _a11y.A11Y_ROWCOUNT)(-1), (0, _a11y.A11Y_COLCOUNT)(this.hot.countCols()), (0, _a11y.A11Y_MULTISELECTABLE)()]);
67171
67158
  }
67172
67159
  this.THEAD = rootDocument.createElement('THEAD');
67173
67160
  (0, _classPrivateFieldGet2.default)(this, _table).appendChild(this.THEAD);
@@ -67560,6 +67547,13 @@ class TableView {
67560
67547
  }
67561
67548
  this.hot.runHooks('afterGetRowHeaderRenderers', headerRenderers);
67562
67549
  (0, _classPrivateFieldSet2.default)(this, _rowHeadersCount, headerRenderers.length);
67550
+ if (this.hot.getSettings().ariaTags) {
67551
+ // Update the aria-colcount attribute.
67552
+ // Only needs to be done once after initialization/data update.
67553
+ if (_classPrivateMethodGet(this, _getAriaColcount, _getAriaColcount2).call(this) === this.hot.countCols()) {
67554
+ _classPrivateMethodGet(this, _updateAriaColcount, _updateAriaColcount2).call(this, (0, _classPrivateFieldGet2.default)(this, _rowHeadersCount));
67555
+ }
67556
+ }
67563
67557
  return headerRenderers;
67564
67558
  },
67565
67559
  columnHeaders: () => {
@@ -68052,6 +68046,10 @@ class TableView {
68052
68046
  const span = rootDocument.createElement('span');
68053
68047
  div.className = 'relative';
68054
68048
  span.className = 'colHeader';
68049
+ if (this.settings.ariaTags) {
68050
+ (0, _element.setAttribute)(div, ...(0, _a11y.A11Y_PRESENTATION)());
68051
+ (0, _element.setAttribute)(span, ...(0, _a11y.A11Y_PRESENTATION)());
68052
+ }
68055
68053
  this.updateCellHeader(span, visualColumnIndex, label, headerLevel);
68056
68054
  div.appendChild(span);
68057
68055
  TH.appendChild(div);
@@ -68195,7 +68193,6 @@ class TableView {
68195
68193
  getRowHeadersCount() {
68196
68194
  return (0, _classPrivateFieldGet2.default)(this, _rowHeadersCount);
68197
68195
  }
68198
-
68199
68196
  /**
68200
68197
  * Destroys internal WalkOnTable's instance. Detaches all of the bonded listeners.
68201
68198
  *
@@ -68206,6 +68203,13 @@ class TableView {
68206
68203
  this.eventManager.destroy();
68207
68204
  }
68208
68205
  }
68206
+ function _getAriaColcount2() {
68207
+ return parseInt(this.hot.rootElement.getAttribute((0, _a11y.A11Y_COLCOUNT)()[0]), 10);
68208
+ }
68209
+ function _updateAriaColcount2(delta) {
68210
+ const colCount = _classPrivateMethodGet(this, _getAriaColcount, _getAriaColcount2).call(this) + delta;
68211
+ (0, _element.setAttribute)(this.hot.rootElement, ...(0, _a11y.A11Y_COLCOUNT)(colCount));
68212
+ }
68209
68213
  var _default = exports["default"] = TableView;
68210
68214
 
68211
68215
  /***/ }),
@@ -73842,7 +73846,7 @@ class ColumnHeadersRenderer extends _base.default {
73842
73846
  columnHeadersCount
73843
73847
  } = this.table;
73844
73848
  if (this.table.isAriaEnabled()) {
73845
- (0, _element.setAttribute)(this.rootNode, [(0, _a11y.A11Y_PRESENTATION)()]);
73849
+ (0, _element.setAttribute)(this.rootNode, [(0, _a11y.A11Y_ROWGROUP)()]);
73846
73850
  }
73847
73851
  for (let rowHeaderIndex = 0; rowHeaderIndex < columnHeadersCount; rowHeaderIndex += 1) {
73848
73852
  const {
@@ -74016,7 +74020,7 @@ class RowsRenderer extends _base.default {
74016
74020
  the number of rendered rows by specifying the table height and/or turning off the "renderAllRows" option.`);
74017
74021
  }
74018
74022
  if (this.table.isAriaEnabled()) {
74019
- (0, _element.setAttribute)(this.rootNode, [(0, _a11y.A11Y_PRESENTATION)()]);
74023
+ (0, _element.setAttribute)(this.rootNode, [(0, _a11y.A11Y_ROWGROUP)()]);
74020
74024
  }
74021
74025
  this.orderView.setSize(rowsToRender).setOffset(this.table.renderedRowToSource(0)).start();
74022
74026
  for (let visibleRowIndex = 0; visibleRowIndex < rowsToRender; visibleRowIndex++) {
@@ -75087,8 +75091,8 @@ class Overlay {
75087
75091
  rootDocument,
75088
75092
  rootWindow
75089
75093
  } = this.domBindings;
75090
- const clone = rootDocument.createElement('DIV');
75091
- const clonedTable = rootDocument.createElement('TABLE');
75094
+ const clone = rootDocument.createElement('div');
75095
+ const clonedTable = rootDocument.createElement('table');
75092
75096
  const tableParent = wtTable.wtRootElement.parentNode;
75093
75097
  clone.className = `${_constants.CLONE_CLASS_NAMES.get(this.type)} handsontable`;
75094
75098
  clone.setAttribute('dir', this.isRtl() ? 'rtl' : 'ltr');
@@ -77223,8 +77227,9 @@ const CORNER_DEFAULT_STYLE = exports.CORNER_DEFAULT_STYLE = Object.freeze({
77223
77227
  __webpack_require__(275);
77224
77228
  var _interopRequireDefault = __webpack_require__(198);
77225
77229
  exports.__esModule = true;
77230
+ __webpack_require__(205);
77226
77231
  __webpack_require__(538);
77227
- var _classPrivateFieldGet8 = _interopRequireDefault(__webpack_require__(466));
77232
+ var _classPrivateFieldGet7 = _interopRequireDefault(__webpack_require__(466));
77228
77233
  var _classPrivateFieldSet2 = _interopRequireDefault(__webpack_require__(469));
77229
77234
  var _element = __webpack_require__(304);
77230
77235
  var _scanner2 = __webpack_require__(539);
@@ -77321,9 +77326,9 @@ class SelectionManager {
77321
77326
  */
77322
77327
  setActiveOverlay(activeWot) {
77323
77328
  (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());
77329
+ (0, _classPrivateFieldGet7.default)(this, _scanner).setActiveOverlay((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot));
77330
+ if (!(0, _classPrivateFieldGet7.default)(this, _appliedClasses).has((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot))) {
77331
+ (0, _classPrivateFieldGet7.default)(this, _appliedClasses).set((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot), new Set());
77327
77332
  }
77328
77333
  return this;
77329
77334
  }
@@ -77334,7 +77339,7 @@ class SelectionManager {
77334
77339
  * @returns {Selection|null}
77335
77340
  */
77336
77341
  getFocusSelection() {
77337
- return (0, _classPrivateFieldGet8.default)(this, _selections) !== null ? (0, _classPrivateFieldGet8.default)(this, _selections).getFocus() : null;
77342
+ return (0, _classPrivateFieldGet7.default)(this, _selections) !== null ? (0, _classPrivateFieldGet7.default)(this, _selections).getFocus() : null;
77338
77343
  }
77339
77344
 
77340
77345
  /**
@@ -77343,7 +77348,7 @@ class SelectionManager {
77343
77348
  * @returns {Selection|null}
77344
77349
  */
77345
77350
  getAreaSelection() {
77346
- return (0, _classPrivateFieldGet8.default)(this, _selections) !== null ? (0, _classPrivateFieldGet8.default)(this, _selections).createLayeredArea() : null;
77351
+ return (0, _classPrivateFieldGet7.default)(this, _selections) !== null ? (0, _classPrivateFieldGet7.default)(this, _selections).createLayeredArea() : null;
77347
77352
  }
77348
77353
 
77349
77354
  /**
@@ -77356,17 +77361,17 @@ class SelectionManager {
77356
77361
  if (!selection.settings.border) {
77357
77362
  return null;
77358
77363
  }
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));
77364
+ if ((0, _classPrivateFieldGet7.default)(this, _selectionBorders).has(selection)) {
77365
+ const borders = (0, _classPrivateFieldGet7.default)(this, _selectionBorders).get(selection);
77366
+ if (borders.has((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot))) {
77367
+ return borders.get((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot));
77363
77368
  }
77364
- const border = new _border.default((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot), selection.settings);
77365
- borders.set((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot), border);
77369
+ const border = new _border.default((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot), selection.settings);
77370
+ borders.set((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot), border);
77366
77371
  return border;
77367
77372
  }
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]]));
77373
+ const border = new _border.default((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot), selection.settings);
77374
+ (0, _classPrivateFieldGet7.default)(this, _selectionBorders).set(selection, new Map([[(0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot), border]]));
77370
77375
  return border;
77371
77376
  }
77372
77377
 
@@ -77378,7 +77383,7 @@ class SelectionManager {
77378
77383
  */
77379
77384
  getBorderInstances(selection) {
77380
77385
  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 : []);
77386
+ 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
77387
  }
77383
77388
 
77384
77389
  /**
@@ -77387,8 +77392,8 @@ class SelectionManager {
77387
77392
  * @param {Selection} selection The selection instance.
77388
77393
  */
77389
77394
  destroyBorders(selection) {
77390
- (0, _classPrivateFieldGet8.default)(this, _selectionBorders).get(selection).forEach(border => border.destroy());
77391
- (0, _classPrivateFieldGet8.default)(this, _selectionBorders).delete(selection);
77395
+ (0, _classPrivateFieldGet7.default)(this, _selectionBorders).get(selection).forEach(border => border.destroy());
77396
+ (0, _classPrivateFieldGet7.default)(this, _selectionBorders).delete(selection);
77392
77397
  }
77393
77398
 
77394
77399
  /**
@@ -77397,24 +77402,26 @@ class SelectionManager {
77397
77402
  * @param {boolean} fastDraw Indicates the render cycle type (fast/slow).
77398
77403
  */
77399
77404
  render(fastDraw) {
77400
- if ((0, _classPrivateFieldGet8.default)(this, _selections) === null) {
77405
+ if ((0, _classPrivateFieldGet7.default)(this, _selections) === null) {
77401
77406
  return;
77402
77407
  }
77403
77408
  if (fastDraw) {
77404
77409
  // there was no rerender, so we need to remove classNames by ourselves
77405
77410
  _classPrivateMethodGet(this, _resetCells, _resetCells2).call(this);
77406
77411
  }
77407
- const selections = Array.from((0, _classPrivateFieldGet8.default)(this, _selections));
77412
+ const selections = Array.from((0, _classPrivateFieldGet7.default)(this, _selections));
77408
77413
  const classNamesMap = new Map();
77414
+ const headerAttributesMap = new Map();
77409
77415
  for (let i = 0; i < selections.length; i++) {
77410
77416
  const selection = selections[i];
77411
77417
  const {
77412
77418
  className,
77419
+ headerAttributes,
77413
77420
  createLayers,
77414
77421
  selectionType
77415
77422
  } = selection.settings;
77416
- if (!(0, _classPrivateFieldGet8.default)(this, _destroyListeners).has(selection)) {
77417
- (0, _classPrivateFieldGet8.default)(this, _destroyListeners).add(selection);
77423
+ if (!(0, _classPrivateFieldGet7.default)(this, _destroyListeners).has(selection)) {
77424
+ (0, _classPrivateFieldGet7.default)(this, _destroyListeners).add(selection);
77418
77425
  selection.addLocalHook('destroy', () => this.destroyBorders(selection));
77419
77426
  }
77420
77427
  const borderInstance = this.getBorderInstance(selection);
@@ -77424,7 +77431,7 @@ class SelectionManager {
77424
77431
  }
77425
77432
 
77426
77433
  if (className) {
77427
- const elements = (0, _classPrivateFieldGet8.default)(this, _scanner).setActiveSelection(selection).scan();
77434
+ const elements = (0, _classPrivateFieldGet7.default)(this, _scanner).setActiveSelection(selection).scan();
77428
77435
  elements.forEach(element => {
77429
77436
  if (classNamesMap.has(element)) {
77430
77437
  const classNamesLayers = classNamesMap.get(element);
@@ -77436,14 +77443,22 @@ class SelectionManager {
77436
77443
  } else {
77437
77444
  classNamesMap.set(element, new Map([[className, 1]]));
77438
77445
  }
77446
+ if (headerAttributes) {
77447
+ if (!headerAttributesMap.has(element)) {
77448
+ headerAttributesMap.set(element, []);
77449
+ }
77450
+ if (element.nodeName === 'TH') {
77451
+ headerAttributesMap.get(element).push(...headerAttributes);
77452
+ }
77453
+ }
77439
77454
  });
77440
77455
  }
77441
77456
  const corners = selection.getCorners();
77442
- (0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot).getSetting('onBeforeDrawBorders', corners, selectionType);
77457
+ (0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot).getSetting('onBeforeDrawBorders', corners, selectionType);
77443
77458
  borderInstance === null || borderInstance === void 0 || borderInstance.appear(corners);
77444
77459
  }
77445
77460
  classNamesMap.forEach((classNamesLayers, element) => {
77446
- var _classPrivateFieldGet4, _classPrivateFieldGet5;
77461
+ var _classPrivateFieldGet4;
77447
77462
  const classNames = Array.from(classNamesLayers).map(_ref => {
77448
77463
  let [className, occurrenceCount] = _ref;
77449
77464
  if (occurrenceCount === 1) {
@@ -77453,34 +77468,37 @@ class SelectionManager {
77453
77468
  length: occurrenceCount - 1
77454
77469
  }, (_, i) => `${className}-${i + 1}`)];
77455
77470
  }).flat();
77456
- classNames.forEach(className => (0, _classPrivateFieldGet8.default)(this, _appliedClasses).get((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot)).add(className));
77471
+ classNames.forEach(className => (0, _classPrivateFieldGet7.default)(this, _appliedClasses).get((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot)).add(className));
77457
77472
  (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);
77473
+ if (element.nodeName === 'TD' && Array.isArray((_classPrivateFieldGet4 = (0, _classPrivateFieldGet7.default)(this, _selections).options) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.cellAttributes)) {
77474
+ (0, _element.setAttribute)(element, (0, _classPrivateFieldGet7.default)(this, _selections).options.cellAttributes);
77462
77475
  }
77463
77476
  });
77477
+
77478
+ // Set the attributes for the headers if they're focused.
77479
+ Array.from(headerAttributesMap.keys()).forEach(element => {
77480
+ (0, _element.setAttribute)(element, [...headerAttributesMap.get(element)]);
77481
+ });
77464
77482
  }
77465
77483
  }
77466
77484
  exports.SelectionManager = SelectionManager;
77467
77485
  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');
77486
+ const appliedOverlaysClasses = (0, _classPrivateFieldGet7.default)(this, _appliedClasses).get((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot));
77487
+ const classesToRemove = (0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot).wtSettings.getSetting('onBeforeRemoveCellClassNames');
77470
77488
  if (Array.isArray(classesToRemove)) {
77471
77489
  for (let i = 0; i < classesToRemove.length; i++) {
77472
77490
  appliedOverlaysClasses.add(classesToRemove[i]);
77473
77491
  }
77474
77492
  }
77475
77493
  appliedOverlaysClasses.forEach(className => {
77476
- var _classPrivateFieldGet6, _classPrivateFieldGet7;
77477
- const nodes = (0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot).wtTable.TABLE.querySelectorAll(`.${className}`);
77494
+ var _classPrivateFieldGet5, _classPrivateFieldGet6;
77495
+ const nodes = (0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot).wtTable.TABLE.querySelectorAll(`.${className}`);
77478
77496
  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]);
77497
+ if (Array.isArray((_classPrivateFieldGet5 = (0, _classPrivateFieldGet7.default)(this, _selections).options) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.cellAttributes)) {
77498
+ cellAttributes = (0, _classPrivateFieldGet7.default)(this, _selections).options.cellAttributes.map(el => el[0]);
77481
77499
  }
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])];
77500
+ if (Array.isArray((_classPrivateFieldGet6 = (0, _classPrivateFieldGet7.default)(this, _selections).options) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.headerAttributes)) {
77501
+ cellAttributes = [...cellAttributes, ...(0, _classPrivateFieldGet7.default)(this, _selections).options.headerAttributes.map(el => el[0])];
77484
77502
  }
77485
77503
  for (let i = 0, len = nodes.length; i < len; i++) {
77486
77504
  (0, _element.removeClass)(nodes[i], className);
@@ -83122,18 +83140,7 @@ const dictionary = {
83122
83140
  [C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Value',
83123
83141
  [C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value',
83124
83142
  [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.'
83143
+ [C.CHECKBOX_UNCHECKED]: 'Unchecked'
83137
83144
  };
83138
83145
  var _default = exports["default"] = dictionary;
83139
83146
 
@@ -83234,19 +83241,6 @@ const FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE = exports.FILTERS_BUTTONS_PLACEHO
83234
83241
  const CHECKBOX_RENDERER_NAMESPACE = exports.CHECKBOX_RENDERER_NAMESPACE = 'CheckboxRenderer:';
83235
83242
  const CHECKBOX_CHECKED = exports.CHECKBOX_CHECKED = `${CHECKBOX_RENDERER_NAMESPACE}checked`;
83236
83243
  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
83244
 
83251
83245
  /***/ }),
83252
83246
  /* 579 */
@@ -83379,7 +83373,6 @@ class Selection {
83379
83373
  this.tableProps = tableProps;
83380
83374
  this.highlight = new _highlight.default({
83381
83375
  headerClassName: settings.currentHeaderClassName,
83382
- headerAttributes: [(0, _a11y.A11Y_SELECTED)()],
83383
83376
  activeHeaderClassName: settings.activeHeaderClassName,
83384
83377
  rowClassName: settings.currentRowClassName,
83385
83378
  columnClassName: settings.currentColClassName,
@@ -84975,6 +84968,7 @@ exports.__esModule = true;
84975
84968
  exports.createHighlight = createHighlight;
84976
84969
  var _src = __webpack_require__(480);
84977
84970
  var _visualSelection = _interopRequireDefault(__webpack_require__(583));
84971
+ var _a11y = __webpack_require__(447);
84978
84972
  /**
84979
84973
  * Creates the new instance of Selection responsible for highlighting currently selected cell. This type of selection
84980
84974
  * can present on the table only one at the time.
@@ -84990,6 +84984,7 @@ function createHighlight(_ref) {
84990
84984
  } = _ref;
84991
84985
  return new _visualSelection.default({
84992
84986
  className: 'current',
84987
+ headerAttributes: [(0, _a11y.A11Y_SELECTED)()],
84993
84988
  border: {
84994
84989
  width: 2,
84995
84990
  color: '#4b89ff',
@@ -93090,7 +93085,9 @@ function replaceData(data, setDataMapFunction, callbackFunction, config) {
93090
93085
  hotInstance.render();
93091
93086
  }
93092
93087
  if (hotInstance.getSettings().ariaTags) {
93093
- (0, _element.setAttribute)(hotInstance.rootElement, [(0, _a11y.A11Y_ROWCOUNT)(hotInstance.countRows()), (0, _a11y.A11Y_COLCOUNT)(hotInstance.countCols())]);
93088
+ (0, _element.setAttribute)(hotInstance.rootElement, [(0, _a11y.A11Y_ROWCOUNT)(-1),
93089
+ // If run after initialization, add the number of row headers.
93090
+ (0, _a11y.A11Y_COLCOUNT)(hotInstance.countCols() + (hotInstance.view ? hotInstance.countRowHeaders() : 0))]);
93094
93091
  }
93095
93092
  }
93096
93093
 
@@ -97875,7 +97872,6 @@ var _element = __webpack_require__(304);
97875
97872
  var _event = __webpack_require__(459);
97876
97873
  var _object = __webpack_require__(450);
97877
97874
  var _editorManager = __webpack_require__(453);
97878
- var _a11y = __webpack_require__(447);
97879
97875
  const SHORTCUTS_GROUP = 'handsontableEditor';
97880
97876
  const EDITOR_TYPE = exports.EDITOR_TYPE = 'handsontable';
97881
97877
 
@@ -97911,9 +97907,6 @@ class HandsontableEditor extends _textEditor.TextEditor {
97911
97907
  }
97912
97908
  (0, _element.setCaretPosition)(this.TEXTAREA, 0, this.TEXTAREA.value.length);
97913
97909
  this.refreshDimensions();
97914
- if (this.hot.getSettings().ariaTags) {
97915
- (0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('true')]);
97916
- }
97917
97910
  }
97918
97911
 
97919
97912
  /**
@@ -97925,9 +97918,6 @@ class HandsontableEditor extends _textEditor.TextEditor {
97925
97918
  }
97926
97919
  this.removeHooksByKey('beforeKeyDown');
97927
97920
  super.close();
97928
- if (this.TD && this.hot.getSettings().ariaTags) {
97929
- (0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('false')]);
97930
- }
97931
97921
  }
97932
97922
 
97933
97923
  /**
@@ -98207,7 +98197,6 @@ var _pikaday = _interopRequireDefault(__webpack_require__(689));
98207
98197
  var _textEditor = __webpack_require__(668);
98208
98198
  var _eventManager = _interopRequireDefault(__webpack_require__(464));
98209
98199
  var _element = __webpack_require__(304);
98210
- var _a11y = __webpack_require__(447);
98211
98200
  var _object = __webpack_require__(450);
98212
98201
  var _unicode = __webpack_require__(458);
98213
98202
  __webpack_require__(690);
@@ -98330,9 +98319,6 @@ class DateEditor extends _textEditor.TextEditor {
98330
98319
  const editorContext = shortcutManager.getContext('editor');
98331
98320
  super.open();
98332
98321
  this.showDatepicker(event);
98333
- if (this.hot.getSettings().ariaTags) {
98334
- (0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('true')]);
98335
- }
98336
98322
  editorContext.addShortcut({
98337
98323
  keys: [['Enter']],
98338
98324
  callback: keyboardEvent => {
@@ -98358,9 +98344,6 @@ class DateEditor extends _textEditor.TextEditor {
98358
98344
  this.hot._registerTimeout(() => {
98359
98345
  this.hot._refreshBorders();
98360
98346
  });
98361
- if (this.TD && this.hot.getSettings().ariaTags) {
98362
- (0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('false')]);
98363
- }
98364
98347
  const shortcutManager = this.hot.getShortcutManager();
98365
98348
  const editorContext = shortcutManager.getContext('editor');
98366
98349
  editorContext.removeShortcutsByGroup(SHORTCUTS_GROUP_EDITOR);
@@ -99907,6 +99890,7 @@ exports.PasswordEditor = _passwordEditor.PasswordEditor;
99907
99890
  exports.__esModule = true;
99908
99891
  var _textEditor = __webpack_require__(668);
99909
99892
  var _element = __webpack_require__(304);
99893
+ var _a11y = __webpack_require__(447);
99910
99894
  const EDITOR_TYPE = exports.EDITOR_TYPE = 'password';
99911
99895
 
99912
99896
  /**
@@ -99926,6 +99910,9 @@ class PasswordEditor extends _textEditor.TextEditor {
99926
99910
  this.textareaStyle = this.TEXTAREA.style;
99927
99911
  this.textareaStyle.width = 0;
99928
99912
  this.textareaStyle.height = 0;
99913
+ if (this.hot.getSettings().ariaTags) {
99914
+ (0, _element.setAttribute)(this.TEXTAREA, [(0, _a11y.A11Y_HIDDEN)()]);
99915
+ }
99929
99916
  (0, _element.empty)(this.TEXTAREA_PARENT);
99930
99917
  this.TEXTAREA_PARENT.appendChild(this.TEXTAREA);
99931
99918
  }
@@ -100345,9 +100332,6 @@ function autocompleteRenderer(hotInstance, TD, row, col, prop, value, cellProper
100345
100332
 
100346
100333
  TD.insertBefore(ARROW, TD.firstChild);
100347
100334
  (0, _element.addClass)(TD, 'htAutocomplete');
100348
- if (isAriaEnabled) {
100349
- TD.setAttribute(...(0, _a11y.A11Y_HASPOPUP)('listbox'));
100350
- }
100351
100335
  if (!hotInstance.acArrowListener) {
100352
100336
  const eventManager = new _eventManager.default(hotInstance);
100353
100337
 
@@ -100731,7 +100715,6 @@ function createInput(rootDocument) {
100731
100715
  const input = rootDocument.createElement('input');
100732
100716
  input.className = 'htCheckboxRendererInput';
100733
100717
  input.type = 'checkbox';
100734
- input.setAttribute('autocomplete', 'off');
100735
100718
  input.setAttribute('tabindex', '-1');
100736
100719
  return input.cloneNode(false);
100737
100720
  }
@@ -101548,8 +101531,6 @@ exports.dateRenderer = _dateRenderer.dateRenderer;
101548
101531
  exports.__esModule = true;
101549
101532
  exports.dateRenderer = dateRenderer;
101550
101533
  var _autocompleteRenderer = __webpack_require__(702);
101551
- var _a11y = __webpack_require__(447);
101552
- var _element = __webpack_require__(304);
101553
101534
  const RENDERER_TYPE = exports.RENDERER_TYPE = 'date';
101554
101535
 
101555
101536
  /**
@@ -101566,9 +101547,6 @@ const RENDERER_TYPE = exports.RENDERER_TYPE = 'date';
101566
101547
  */
101567
101548
  function dateRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
101568
101549
  _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
101550
  }
101573
101551
  dateRenderer.RENDERER_TYPE = RENDERER_TYPE;
101574
101552
 
@@ -101656,8 +101634,6 @@ exports.handsontableRenderer = _handsontableRenderer.handsontableRenderer;
101656
101634
  exports.__esModule = true;
101657
101635
  exports.handsontableRenderer = handsontableRenderer;
101658
101636
  var _autocompleteRenderer = __webpack_require__(702);
101659
- var _a11y = __webpack_require__(447);
101660
- var _element = __webpack_require__(304);
101661
101637
  const RENDERER_TYPE = exports.RENDERER_TYPE = 'handsontable';
101662
101638
 
101663
101639
  /**
@@ -101674,9 +101650,6 @@ const RENDERER_TYPE = exports.RENDERER_TYPE = 'handsontable';
101674
101650
  */
101675
101651
  function handsontableRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
101676
101652
  _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
101653
  }
101681
101654
  handsontableRenderer.RENDERER_TYPE = RENDERER_TYPE;
101682
101655
 
@@ -101793,8 +101766,6 @@ exports.selectRenderer = _selectRenderer.selectRenderer;
101793
101766
  exports.__esModule = true;
101794
101767
  exports.selectRenderer = selectRenderer;
101795
101768
  var _textRenderer = __webpack_require__(675);
101796
- var _a11y = __webpack_require__(447);
101797
- var _element = __webpack_require__(304);
101798
101769
  const RENDERER_TYPE = exports.RENDERER_TYPE = 'select';
101799
101770
 
101800
101771
  /**
@@ -101809,9 +101780,6 @@ const RENDERER_TYPE = exports.RENDERER_TYPE = 'select';
101809
101780
  */
101810
101781
  function selectRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
101811
101782
  _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
101783
  }
101816
101784
  selectRenderer.RENDERER_TYPE = RENDERER_TYPE;
101817
101785
 
@@ -105243,7 +105211,6 @@ var _console = __webpack_require__(462);
105243
105211
  var _element = __webpack_require__(304);
105244
105212
  var _event = __webpack_require__(459);
105245
105213
  var _a11y = __webpack_require__(447);
105246
- var _constants = __webpack_require__(578);
105247
105214
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
105248
105215
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
105249
105216
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
@@ -105774,7 +105741,7 @@ function _onAfterGetColHeader2(column, TH, headerLevel) {
105774
105741
 
105775
105742
  // Add ARIA tags
105776
105743
  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))]);
105744
+ (0, _element.setAttribute)(TH, ...(0, _a11y.A11Y_EXPANDED)(false));
105778
105745
  }
105779
105746
  } else {
105780
105747
  (0, _element.addClass)(collapsibleElement, 'expanded');
@@ -105782,7 +105749,7 @@ function _onAfterGetColHeader2(column, TH, headerLevel) {
105782
105749
 
105783
105750
  // Add ARIA tags
105784
105751
  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))]);
105752
+ (0, _element.setAttribute)(TH, ...(0, _a11y.A11Y_EXPANDED)(true));
105786
105753
  }
105787
105754
  }
105788
105755
  if (isAriaTagsEnabled) {
@@ -105856,7 +105823,6 @@ var _domHelpers = __webpack_require__(774);
105856
105823
  var _rootComparator = __webpack_require__(775);
105857
105824
  var _sortService = __webpack_require__(776);
105858
105825
  var _a11y = __webpack_require__(447);
105859
- var _constants = __webpack_require__(578);
105860
105826
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
105861
105827
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
105862
105828
  function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
@@ -105865,7 +105831,6 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 50;
105865
105831
  const APPEND_COLUMN_CONFIG_STRATEGY = exports.APPEND_COLUMN_CONFIG_STRATEGY = 'append';
105866
105832
  const REPLACE_COLUMN_CONFIG_STRATEGY = exports.REPLACE_COLUMN_CONFIG_STRATEGY = 'replace';
105867
105833
  const SHORTCUTS_GROUP = PLUGIN_KEY;
105868
- const SORTING_INDICATOR_CLASS = 'columnSortingIndicator';
105869
105834
  (0, _sortService.registerRootComparator)(PLUGIN_KEY, _rootComparator.rootComparator);
105870
105835
  _pluginHooks.default.getSingleton().register('beforeColumnSort');
105871
105836
  _pluginHooks.default.getSingleton().register('afterColumnSort');
@@ -106508,28 +106473,6 @@ class ColumnSorting extends _base.BasePlugin {
106508
106473
  }
106509
106474
  }
106510
106475
 
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
106476
  /**
106534
106477
  * Overwriting base plugin's `onUpdateSettings` method. Please keep in mind that `onAfterUpdateSettings` isn't called
106535
106478
  * for `updateSettings` in specific situations.
@@ -106558,7 +106501,7 @@ class ColumnSorting extends _base.BasePlugin {
106558
106501
  wasClickableHeaderClicked(event, column) {
106559
106502
  const pluginSettingsForColumn = this.getFirstCellSettings(column)[this.pluginKey];
106560
106503
  const headerActionEnabled = pluginSettingsForColumn.headerAction;
106561
- return headerActionEnabled && ((0, _element.hasClass)(event.target, _utils.HEADER_SPAN_CLASS) || (0, _element.hasClass)(event.target, SORTING_INDICATOR_CLASS));
106504
+ return headerActionEnabled && (0, _element.hasClass)(event.target, _utils.HEADER_SPAN_CLASS);
106562
106505
  }
106563
106506
  /**
106564
106507
  * Callback for the `onAfterOnCellMouseDown` hook.
@@ -106607,14 +106550,12 @@ function _onAfterGetColHeader2(column, TH) {
106607
106550
  return;
106608
106551
  }
106609
106552
  const pluginSettingsForColumn = this.getFirstCellSettings(column)[this.pluginKey];
106610
- const ariaTags = this.hot.getSettings().ariaTags;
106611
106553
  const showSortIndicator = pluginSettingsForColumn.indicator;
106612
106554
  const headerActionEnabled = pluginSettingsForColumn.headerAction;
106613
- const currentSortState = this.columnStatesManager.getSortOrderOfColumn(column);
106614
106555
  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))]);
106556
+ if (this.hot.getSettings().ariaTags) {
106557
+ const currentSortState = this.columnStatesManager.getSortOrderOfColumn(column);
106558
+ (0, _element.setAttribute)(TH, ...(0, _a11y.A11Y_SORT)(currentSortState ? `${currentSortState}ending` : 'none'));
106618
106559
  }
106619
106560
  }
106620
106561
  function _onAfterLoadData2(initialLoad) {
@@ -113150,8 +113091,6 @@ exports.createMenuItemRenderer = createMenuItemRenderer;
113150
113091
  var _utils = __webpack_require__(822);
113151
113092
  var _element = __webpack_require__(304);
113152
113093
  var _a11y = __webpack_require__(447);
113153
- const SUBMENU_INDICATOR_CLASSNAME = 'submenuIndicator';
113154
-
113155
113094
  /**
113156
113095
  * Creates the menu renderer function.
113157
113096
  *
@@ -113184,16 +113123,6 @@ function createMenuItemRenderer(mainTableHot) {
113184
113123
  const isFocusable = !(0, _utils.isItemDisabled)(item, mainTableHot) && !(0, _utils.isItemSelectionDisabled)(item) && !(0, _utils.isItemSeparator)(item);
113185
113124
  (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
113125
  }
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
113126
  TD.className = '';
113198
113127
  TD.appendChild(wrapper);
113199
113128
  if ((0, _utils.isItemSeparator)(item)) {
@@ -116124,7 +116053,6 @@ var _menu = __webpack_require__(816);
116124
116053
  var _pluginHooks = _interopRequireDefault(__webpack_require__(461));
116125
116054
  var _predefinedItems = __webpack_require__(791);
116126
116055
  __webpack_require__(851);
116127
- var _constants = __webpack_require__(578);
116128
116056
  var _a11y = __webpack_require__(447);
116129
116057
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
116130
116058
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
@@ -116598,7 +116526,7 @@ function _onAfterGetColHeader2(col, TH) {
116598
116526
  button.type = 'button';
116599
116527
  button.tabIndex = -1;
116600
116528
  if (this.hot.getSettings().ariaTags) {
116601
- (0, _element.setAttribute)(button, [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_OPEN_MENU))]);
116529
+ (0, _element.setAttribute)(button, [(0, _a11y.A11Y_HIDDEN)(), (0, _a11y.A11Y_LABEL)(' ')]);
116602
116530
  (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_HASPOPUP)('menu')]);
116603
116531
  }
116604
116532
 
@@ -119840,8 +119768,11 @@ class InputUI extends _base.BaseUI {
119840
119768
  */
119841
119769
  build() {
119842
119770
  super.build();
119771
+ const icon = this.hot.rootDocument.createElement('div');
119843
119772
  (0, _classPrivateFieldSet2.default)(this, _input, this._element.firstChild);
119844
119773
  (0, _element.addClass)(this._element, 'htUIInput');
119774
+ (0, _element.addClass)(icon, 'htUIInputIcon');
119775
+ this._element.appendChild(icon);
119845
119776
  this.update();
119846
119777
  }
119847
119778
 
@@ -124682,8 +124613,6 @@ var _pluginHooks = _interopRequireDefault(__webpack_require__(461));
124682
124613
  var _hideColumn = _interopRequireDefault(__webpack_require__(916));
124683
124614
  var _showColumn = _interopRequireDefault(__webpack_require__(917));
124684
124615
  var _translations = __webpack_require__(554);
124685
- var _a11y = __webpack_require__(447);
124686
- var _constants = __webpack_require__(578);
124687
124616
  __webpack_require__(918);
124688
124617
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
124689
124618
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
@@ -124695,8 +124624,6 @@ _pluginHooks.default.getSingleton().register('beforeUnhideColumns');
124695
124624
  _pluginHooks.default.getSingleton().register('afterUnhideColumns');
124696
124625
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'hiddenColumns';
124697
124626
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 310;
124698
- const BEFORE_INDICATOR_CLASSNAME = 'beforeHiddenColumnIndicator';
124699
- const AFTER_INDICATOR_CLASSNAME = 'afterHiddenColumnIndicator';
124700
124627
 
124701
124628
  /* eslint-disable jsdoc/require-description-complete-sentence */
124702
124629
 
@@ -124806,7 +124733,6 @@ const AFTER_INDICATOR_CLASSNAME = 'afterHiddenColumnIndicator';
124806
124733
  */
124807
124734
  var _settings = /*#__PURE__*/new WeakMap();
124808
124735
  var _hiddenColumnsMap = /*#__PURE__*/new WeakMap();
124809
- var _clearIndicatorElements = /*#__PURE__*/new WeakSet();
124810
124736
  var _onModifyColWidth = /*#__PURE__*/new WeakSet();
124811
124737
  var _onAfterGetCellMeta = /*#__PURE__*/new WeakSet();
124812
124738
  var _onModifyCopyableRange = /*#__PURE__*/new WeakSet();
@@ -124856,12 +124782,6 @@ class HiddenColumns extends _base.BasePlugin {
124856
124782
  * @returns {number}
124857
124783
  */
124858
124784
  _classPrivateMethodInitSpec(this, _onModifyColWidth);
124859
- /**
124860
- * Remove the indicator elements from the provided column header element.
124861
- *
124862
- * @param {HTMLElement} TH Column header element.
124863
- */
124864
- _classPrivateMethodInitSpec(this, _clearIndicatorElements);
124865
124785
  /**
124866
124786
  * Cached plugin settings.
124867
124787
  *
@@ -124951,15 +124871,8 @@ class HiddenColumns extends _base.BasePlugin {
124951
124871
  * Disables the plugin functionality for this Handsontable instance.
124952
124872
  */
124953
124873
  disablePlugin() {
124954
- const clearColHeader = (columnIndex, TH) => {
124955
- _classPrivateMethodGet(this, _clearIndicatorElements, _clearIndicatorElements2).call(this, TH);
124956
- };
124957
124874
  this.hot.columnIndexMapper.unregisterMap(this.pluginName);
124958
124875
  (0, _classPrivateFieldSet2.default)(this, _settings, {});
124959
- this.hot.addHook('afterGetColHeader', clearColHeader);
124960
- this.hot.addHookOnce('afterViewRender', () => {
124961
- this.hot.removeHook('afterGetColHeader', clearColHeader);
124962
- });
124963
124876
  super.disablePlugin();
124964
124877
  this.resetCellsMeta();
124965
124878
  }
@@ -125111,11 +125024,6 @@ class HiddenColumns extends _base.BasePlugin {
125111
125024
  }
125112
125025
  }
125113
125026
  exports.HiddenColumns = HiddenColumns;
125114
- function _clearIndicatorElements2(TH) {
125115
- Array.from(TH.querySelectorAll(`.${AFTER_INDICATOR_CLASSNAME}, .${BEFORE_INDICATOR_CLASSNAME}`)).forEach(element => {
125116
- element.remove();
125117
- });
125118
- }
125119
125027
  function _onModifyColWidth2(width, column) {
125120
125028
  // Hook is triggered internally only for the visible columns. Conditional will be handled for the API
125121
125029
  // calls of the `getColWidth` function on not visible indexes.
@@ -125187,35 +125095,14 @@ function _onModifyCopyableRange2(ranges) {
125187
125095
  return newRanges;
125188
125096
  }
125189
125097
  function _onAfterGetColHeader2(column, TH) {
125190
- const areAriaTagsEnabled = this.hot.getSettings().ariaTags;
125191
- const beforeHiddenColumnIndicatorElement = TH.querySelector('.beforeHiddenColumnIndicator');
125192
- const afterHiddenColumnIndicatorElement = TH.querySelector('.afterHiddenColumnIndicator');
125193
125098
  if (!(0, _classPrivateFieldGet2.default)(this, _settings).indicators || column < 0) {
125194
- beforeHiddenColumnIndicatorElement === null || beforeHiddenColumnIndicatorElement === void 0 || beforeHiddenColumnIndicatorElement.remove();
125195
- afterHiddenColumnIndicatorElement === null || afterHiddenColumnIndicatorElement === void 0 || afterHiddenColumnIndicatorElement.remove();
125196
125099
  return;
125197
125100
  }
125198
125101
  const classList = [];
125199
125102
  if (column >= 1 && this.isHidden(column - 1)) {
125200
- if (!afterHiddenColumnIndicatorElement) {
125201
- const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN))] : [];
125202
- (0, _element.appendElement)(TH, {
125203
- tagName: 'div',
125204
- attributes: attributesToAdd,
125205
- className: AFTER_INDICATOR_CLASSNAME
125206
- });
125207
- }
125208
125103
  classList.push('afterHiddenColumn');
125209
125104
  }
125210
125105
  if (column < this.hot.countCols() - 1 && this.isHidden(column + 1)) {
125211
- if (!beforeHiddenColumnIndicatorElement) {
125212
- const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN))] : [];
125213
- (0, _element.appendElement)(TH, {
125214
- tagName: 'div',
125215
- attributes: attributesToAdd,
125216
- className: BEFORE_INDICATOR_CLASSNAME
125217
- });
125218
- }
125219
125106
  classList.push('beforeHiddenColumn');
125220
125107
  }
125221
125108
  (0, _element.addClass)(TH, classList);
@@ -125442,8 +125329,6 @@ var _pluginHooks = _interopRequireDefault(__webpack_require__(461));
125442
125329
  var _hideRow = _interopRequireDefault(__webpack_require__(921));
125443
125330
  var _showRow = _interopRequireDefault(__webpack_require__(922));
125444
125331
  var _translations = __webpack_require__(554);
125445
- var _a11y = __webpack_require__(447);
125446
- var _constants = __webpack_require__(578);
125447
125332
  __webpack_require__(923);
125448
125333
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
125449
125334
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
@@ -125455,8 +125340,6 @@ _pluginHooks.default.getSingleton().register('beforeUnhideRows');
125455
125340
  _pluginHooks.default.getSingleton().register('afterUnhideRows');
125456
125341
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'hiddenRows';
125457
125342
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 320;
125458
- const AFTER_INDICATOR_CLASSNAME = 'afterHiddenRowIndicator';
125459
- const BEFORE_INDICATOR_CLASSNAME = 'beforeHiddenRowIndicator';
125460
125343
 
125461
125344
  /* eslint-disable jsdoc/require-description-complete-sentence */
125462
125345
 
@@ -125566,7 +125449,6 @@ const BEFORE_INDICATOR_CLASSNAME = 'beforeHiddenRowIndicator';
125566
125449
  */
125567
125450
  var _settings = /*#__PURE__*/new WeakMap();
125568
125451
  var _hiddenRowsMap = /*#__PURE__*/new WeakMap();
125569
- var _clearIndicatorElements = /*#__PURE__*/new WeakSet();
125570
125452
  var _onModifyRowHeight = /*#__PURE__*/new WeakSet();
125571
125453
  var _onAfterGetCellMeta = /*#__PURE__*/new WeakSet();
125572
125454
  var _onModifyCopyableRange = /*#__PURE__*/new WeakSet();
@@ -125616,12 +125498,6 @@ class HiddenRows extends _base.BasePlugin {
125616
125498
  * @returns {number}
125617
125499
  */
125618
125500
  _classPrivateMethodInitSpec(this, _onModifyRowHeight);
125619
- /**
125620
- * Remove the indicator elements from the provided row header element.
125621
- *
125622
- * @param {HTMLElement} TH Column header element.
125623
- */
125624
- _classPrivateMethodInitSpec(this, _clearIndicatorElements);
125625
125501
  /**
125626
125502
  * Cached settings from Handsontable settings.
125627
125503
  *
@@ -125711,15 +125587,8 @@ class HiddenRows extends _base.BasePlugin {
125711
125587
  * Disables the plugin functionality for this Handsontable instance.
125712
125588
  */
125713
125589
  disablePlugin() {
125714
- const clearRowHeader = (columnIndex, TH) => {
125715
- _classPrivateMethodGet(this, _clearIndicatorElements, _clearIndicatorElements2).call(this, TH);
125716
- };
125717
125590
  this.hot.rowIndexMapper.unregisterMap(this.pluginName);
125718
125591
  (0, _classPrivateFieldSet2.default)(this, _settings, {});
125719
- this.hot.addHook('afterGetRowHeader', clearRowHeader);
125720
- this.hot.addHookOnce('afterViewRender', () => {
125721
- this.hot.removeHook('afterGetRowHeader', clearRowHeader);
125722
- });
125723
125592
  super.disablePlugin();
125724
125593
  this.resetCellsMeta();
125725
125594
  }
@@ -125868,11 +125737,6 @@ class HiddenRows extends _base.BasePlugin {
125868
125737
  }
125869
125738
  }
125870
125739
  exports.HiddenRows = HiddenRows;
125871
- function _clearIndicatorElements2(TH) {
125872
- Array.from(TH.querySelectorAll(`.${AFTER_INDICATOR_CLASSNAME}, .${BEFORE_INDICATOR_CLASSNAME}`)).forEach(element => {
125873
- element.remove();
125874
- });
125875
- }
125876
125740
  function _onModifyRowHeight2(height, row) {
125877
125741
  // Hook is triggered internally only for the visible rows. Conditional will be handled for the API
125878
125742
  // calls of the `getRowHeight` function on not visible indexes.
@@ -125939,35 +125803,14 @@ function _onModifyCopyableRange2(ranges) {
125939
125803
  return newRanges;
125940
125804
  }
125941
125805
  function _onAfterGetRowHeader2(row, TH) {
125942
- const areAriaTagsEnabled = this.hot.getSettings().ariaTags;
125943
- const beforeHiddenRowIndicatorElement = TH.querySelector('.beforeHiddenRowIndicator');
125944
- const afterHiddenRowIndicatorElement = TH.querySelector('.afterHiddenRowIndicator');
125945
125806
  if (!(0, _classPrivateFieldGet2.default)(this, _settings).indicators || row < 0) {
125946
- beforeHiddenRowIndicatorElement === null || beforeHiddenRowIndicatorElement === void 0 || beforeHiddenRowIndicatorElement.remove();
125947
- afterHiddenRowIndicatorElement === null || afterHiddenRowIndicatorElement === void 0 || afterHiddenRowIndicatorElement.remove();
125948
125807
  return;
125949
125808
  }
125950
125809
  const classList = [];
125951
125810
  if (row >= 1 && this.isHidden(row - 1)) {
125952
- if (!afterHiddenRowIndicatorElement) {
125953
- const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_LABEL_AFTER_HIDDEN_ROW))] : [];
125954
- (0, _element.appendElement)(TH, {
125955
- tagName: 'div',
125956
- attributes: attributesToAdd,
125957
- className: AFTER_INDICATOR_CLASSNAME
125958
- });
125959
- }
125960
125811
  classList.push('afterHiddenRow');
125961
125812
  }
125962
125813
  if (row < this.hot.countRows() - 1 && this.isHidden(row + 1)) {
125963
- if (!beforeHiddenRowIndicatorElement) {
125964
- const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW))] : [];
125965
- (0, _element.appendElement)(TH, {
125966
- tagName: 'div',
125967
- attributes: attributesToAdd,
125968
- className: BEFORE_INDICATOR_CLASSNAME
125969
- });
125970
- }
125971
125814
  classList.push('beforeHiddenRow');
125972
125815
  }
125973
125816
  (0, _element.addClass)(TH, classList);
@@ -132453,8 +132296,6 @@ var _element = __webpack_require__(304);
132453
132296
  var _rootComparator = __webpack_require__(956);
132454
132297
  var _utils2 = __webpack_require__(957);
132455
132298
  var _domHelpers = __webpack_require__(958);
132456
- var _a11y = __webpack_require__(447);
132457
- var _constants = __webpack_require__(578);
132458
132299
  __webpack_require__(959);
132459
132300
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'multiColumnSorting';
132460
132301
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 170;
@@ -132714,25 +132555,6 @@ class MultiColumnSorting extends _columnSorting.ColumnSorting {
132714
132555
  }
132715
132556
  }
132716
132557
 
132717
- /**
132718
- * Update sorting indicator.
132719
- *
132720
- * @private
132721
- * @param {number} column Visual column index.
132722
- * @param {HTMLElement} headerSpanElement Header span element.
132723
- */
132724
- updateSortingIndicator(column, headerSpanElement) {
132725
- super.updateSortingIndicator(column, headerSpanElement);
132726
- const indicatorElement = headerSpanElement.querySelector('.columnSortingIndicator');
132727
- if (!indicatorElement || !this.hot.getSettings().ariaTags || !this.columnStatesManager.isColumnSorted(column) || this.columnStatesManager.getNumberOfSortedColumns() <= 1) {
132728
- return;
132729
- }
132730
- const multiColumnSortingOrder = this.columnStatesManager.getIndexOfColumnInSortQueue(column) + 1;
132731
- const a11yLabelAttribute = (0, _a11y.A11Y_LABEL)(`${this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER)} ${multiColumnSortingOrder}.`);
132732
- (0, _element.removeAttribute)(indicatorElement, (0, _a11y.A11Y_HIDDEN)()[0]);
132733
- (0, _element.setAttribute)(indicatorElement, ...a11yLabelAttribute);
132734
- }
132735
-
132736
132558
  /**
132737
132559
  * Overwriting base plugin's `onUpdateSettings` method. Please keep in mind that `onAfterUpdateSettings` isn't called
132738
132560
  * for `updateSettings` in specific situations.
@@ -136706,8 +136528,7 @@ class NestedRows extends _base.BasePlugin {
136706
136528
  /**
136707
136529
  * Updates the plugin's state.
136708
136530
  *
136709
- * This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the
136710
- * following configuration options:
136531
+ * This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the following configuration options:
136711
136532
  * - [`nestedRows`](@/api/options.md#nestedrows)
136712
136533
  */
136713
136534
  updatePlugin() {
@@ -138159,7 +137980,6 @@ var _number = __webpack_require__(474);
138159
137980
  var _element = __webpack_require__(304);
138160
137981
  var _base = _interopRequireDefault(__webpack_require__(983));
138161
137982
  var _a11y = __webpack_require__(447);
138162
- var _constants = __webpack_require__(578);
138163
137983
  /**
138164
137984
  * Class responsible for the UI in the Nested Rows' row headers.
138165
137985
  *
@@ -138177,6 +137997,7 @@ class HeadersUI extends _base.default {
138177
137997
  return {
138178
137998
  indicatorContainer: 'ht_nestingLevels',
138179
137999
  parent: 'ht_nestingParent',
138000
+ indicator: 'ht_nestingLevel',
138180
138001
  emptyIndicator: 'ht_nestingLevel_empty',
138181
138002
  button: 'ht_nestingButton',
138182
138003
  expandButton: 'ht_nestingExpand',
@@ -138254,12 +138075,12 @@ class HeadersUI extends _base.default {
138254
138075
  if (this.collapsingUI.areChildrenCollapsed(rowIndex)) {
138255
138076
  (0, _element.addClass)(buttonsContainer, `${HeadersUI.CSS_CLASSES.button} ${HeadersUI.CSS_CLASSES.expandButton}`);
138256
138077
  if (ariaEnabled) {
138257
- (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(false), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_DESCRIPTION_EXPAND_ROW))]);
138078
+ (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(false)]);
138258
138079
  }
138259
138080
  } else {
138260
138081
  (0, _element.addClass)(buttonsContainer, `${HeadersUI.CSS_CLASSES.button} ${HeadersUI.CSS_CLASSES.collapseButton}`);
138261
138082
  if (ariaEnabled) {
138262
- (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(true), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_DESCRIPTION_COLLAPSE_ROW))]);
138083
+ (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(true)]);
138263
138084
  }
138264
138085
  }
138265
138086
  innerDiv.appendChild(buttonsContainer);