handsontable 0.0.0-next-c81ae8e-20231123 → 0.0.0-next-a77544c-20231123

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.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

Files changed (65) hide show
  1. package/3rdparty/walkontable/src/selection/manager.js +20 -6
  2. package/3rdparty/walkontable/src/selection/manager.mjs +20 -6
  3. package/base.js +2 -2
  4. package/base.mjs +2 -2
  5. package/core.js +1 -1
  6. package/core.mjs +1 -1
  7. package/dist/handsontable.css +62 -44
  8. package/dist/handsontable.full.css +62 -44
  9. package/dist/handsontable.full.js +82 -281
  10. package/dist/handsontable.full.min.css +5 -5
  11. package/dist/handsontable.full.min.js +101 -101
  12. package/dist/handsontable.js +82 -281
  13. package/dist/handsontable.min.css +5 -5
  14. package/dist/handsontable.min.js +32 -32
  15. package/dist/languages/all.js +2 -24
  16. package/dist/languages/all.min.js +1 -1
  17. package/dist/languages/en-US.js +1 -12
  18. package/dist/languages/en-US.min.js +1 -1
  19. package/dist/languages/pl-PL.js +1 -12
  20. package/dist/languages/pl-PL.min.js +1 -1
  21. package/helpers/a11y.js +0 -2
  22. package/helpers/a11y.mjs +0 -1
  23. package/helpers/dom/element.js +0 -29
  24. package/helpers/dom/element.mjs +0 -28
  25. package/helpers/mixed.js +1 -1
  26. package/helpers/mixed.mjs +1 -1
  27. package/i18n/constants.js +1 -27
  28. package/i18n/constants.mjs +1 -14
  29. package/i18n/languages/en-US.js +1 -12
  30. package/i18n/languages/en-US.mjs +1 -12
  31. package/i18n/languages/pl-PL.js +1 -12
  32. package/i18n/languages/pl-PL.mjs +1 -12
  33. package/languages/all.js +2 -24
  34. package/languages/en-US.js +1 -12
  35. package/languages/en-US.mjs +1 -12
  36. package/languages/index.js +2 -24
  37. package/languages/pl-PL.js +1 -12
  38. package/languages/pl-PL.mjs +1 -12
  39. package/package.json +1 -1
  40. package/plugins/collapsibleColumns/collapsibleColumns.js +2 -3
  41. package/plugins/collapsibleColumns/collapsibleColumns.mjs +3 -4
  42. package/plugins/columnSorting/columnSorting.js +4 -30
  43. package/plugins/columnSorting/columnSorting.mjs +6 -32
  44. package/plugins/contextMenu/menu/menuItemRenderer.js +0 -12
  45. package/plugins/contextMenu/menu/menuItemRenderer.mjs +2 -14
  46. package/plugins/dropdownMenu/dropdownMenu.js +1 -2
  47. package/plugins/dropdownMenu/dropdownMenu.mjs +2 -3
  48. package/plugins/filters/ui/input.js +3 -0
  49. package/plugins/filters/ui/input.mjs +3 -0
  50. package/plugins/filters/ui/select.js +0 -6
  51. package/plugins/filters/ui/select.mjs +0 -6
  52. package/plugins/hiddenColumns/hiddenColumns.js +1 -45
  53. package/plugins/hiddenColumns/hiddenColumns.mjs +1 -45
  54. package/plugins/hiddenRows/hiddenRows.js +1 -45
  55. package/plugins/hiddenRows/hiddenRows.mjs +1 -45
  56. package/plugins/multiColumnSorting/multiColumnSorting.js +0 -21
  57. package/plugins/multiColumnSorting/multiColumnSorting.mjs +1 -22
  58. package/plugins/nestedRows/nestedRows.js +1 -2
  59. package/plugins/nestedRows/nestedRows.mjs +1 -2
  60. package/plugins/nestedRows/ui/headers.js +3 -3
  61. package/plugins/nestedRows/ui/headers.mjs +4 -4
  62. package/selection/highlight/types/focus.js +6 -0
  63. package/selection/highlight/types/focus.mjs +6 -0
  64. package/tableView.js +2 -0
  65. package/tableView.mjs +2 -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: 0.0.0-next-c81ae8e-20231123
29
- * Release date: 31/08/2023 (built at 23/11/2023 08:00:12)
28
+ * Version: 0.0.0-next-a77544c-20231123
29
+ * Release date: 31/08/2023 (built at 23/11/2023 13:45:49)
30
30
  */
31
31
  (function webpackUniversalModuleDefinition(root, factory) {
32
32
  if(typeof exports === 'object' && typeof module === 'object')
@@ -105,8 +105,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
105
105
  Handsontable.CellCoords = _src.CellCoords;
106
106
  Handsontable.CellRange = _src.CellRange;
107
107
  Handsontable.packageName = 'handsontable';
108
- Handsontable.buildDate = "23/11/2023 08:00:12";
109
- Handsontable.version = "0.0.0-next-c81ae8e-20231123";
108
+ Handsontable.buildDate = "23/11/2023 13:45:49";
109
+ Handsontable.version = "0.0.0-next-a77544c-20231123";
110
110
  Handsontable.languages = {
111
111
  dictionaryKeys: _registry.dictionaryKeys,
112
112
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -4588,7 +4588,7 @@ function Core(rootElement, userSettings) {
4588
4588
  * @function getTranslatedPhrase
4589
4589
  * @since 0.35.0
4590
4590
  * @param {string} dictionaryKey Constant which is dictionary key.
4591
- * @param {*} [extraArguments] Arguments which will be handled by formatters.
4591
+ * @param {*} extraArguments Arguments which will be handled by formatters.
4592
4592
  * @returns {string}
4593
4593
  */
4594
4594
  this.getTranslatedPhrase = function (dictionaryKey, extraArguments) {
@@ -7114,7 +7114,6 @@ module.exports = typeof Bun == 'function' && Bun && typeof Bun.version == 'strin
7114
7114
  exports.__esModule = true;
7115
7115
  exports.addClass = addClass;
7116
7116
  exports.addEvent = addEvent;
7117
- exports.appendElement = appendElement;
7118
7117
  exports.clearTextSelection = clearTextSelection;
7119
7118
  exports.closest = closest;
7120
7119
  exports.closestDown = closestDown;
@@ -8250,34 +8249,6 @@ function runWithSelectedContendEditableElement(element, callback) {
8250
8249
  removeContentEditableFromElementAndDeselect(element, invisibleSelection);
8251
8250
  }
8252
8251
 
8253
- /**
8254
- * Creates a new DOM element and appends it to the parent element with the provided class name(s) and attributes.
8255
- *
8256
- * @param {HTMLElement} parentElement The parent element.
8257
- * @param {object} properties The properties object.
8258
- * @param {string} properties.tagName The type of the new element.
8259
- * @param {string|string[]} properties.className Class name as string or array of strings.
8260
- * @param {Array[]} properties.attributes An array containing the attributes to be added. Each element of the array
8261
- * should be an array in a form of `[attributeName, attributeValue]`.
8262
- * @returns {HTMLElement} The created div element.
8263
- */
8264
- function appendElement(parentElement, _ref) {
8265
- let {
8266
- tagName,
8267
- className,
8268
- attributes
8269
- } = _ref;
8270
- const element = parentElement.ownerDocument.createElement(tagName);
8271
- if (className) {
8272
- addClass(element, className);
8273
- }
8274
- if (attributes && attributes.length) {
8275
- setAttribute(element, attributes);
8276
- }
8277
- parentElement.appendChild(element);
8278
- return element;
8279
- }
8280
-
8281
8252
  /***/ }),
8282
8253
  /* 108 */
8283
8254
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
@@ -8543,7 +8514,7 @@ const domMessages = {
8543
8514
  function _injectProductInfo(key, element) {
8544
8515
  const hasValidType = !isEmpty(key);
8545
8516
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
8546
- const hotVersion = "0.0.0-next-c81ae8e-20231123";
8517
+ const hotVersion = "0.0.0-next-a77544c-20231123";
8547
8518
  let keyValidityDate;
8548
8519
  let consoleMessageState = 'invalid';
8549
8520
  let domMessageState = 'invalid';
@@ -9025,8 +8996,6 @@ const A11Y_TEXT = () => ['type', 'text'];
9025
8996
  exports.A11Y_TEXT = A11Y_TEXT;
9026
8997
  const A11Y_LABEL = val => ['aria-label', val];
9027
8998
  exports.A11Y_LABEL = A11Y_LABEL;
9028
- const A11Y_DESCRIPTION = val => ['aria-description', val];
9029
- exports.A11Y_DESCRIPTION = A11Y_DESCRIPTION;
9030
8999
  const A11Y_HIDDEN = () => ['aria-hidden', 'true'];
9031
9000
  exports.A11Y_HIDDEN = A11Y_HIDDEN;
9032
9001
  const A11Y_DISABLED = () => ['aria-disabled', 'true'];
@@ -16626,6 +16595,8 @@ class TableView {
16626
16595
  const span = rootDocument.createElement('span');
16627
16596
  div.className = 'relative';
16628
16597
  span.className = 'colHeader';
16598
+ (0, _element.setAttribute)(div, ...(0, _a11y.A11Y_PRESENTATION)());
16599
+ (0, _element.setAttribute)(span, ...(0, _a11y.A11Y_PRESENTATION)());
16629
16600
  this.updateCellHeader(span, visualColumnIndex, label, headerLevel);
16630
16601
  div.appendChild(span);
16631
16602
  TH.appendChild(div);
@@ -25839,8 +25810,9 @@ exports.CORNER_DEFAULT_STYLE = CORNER_DEFAULT_STYLE;
25839
25810
  __webpack_require__(78);
25840
25811
  var _interopRequireDefault = __webpack_require__(1);
25841
25812
  exports.__esModule = true;
25813
+ __webpack_require__(8);
25842
25814
  __webpack_require__(205);
25843
- var _classPrivateFieldGet8 = _interopRequireDefault(__webpack_require__(133));
25815
+ var _classPrivateFieldGet7 = _interopRequireDefault(__webpack_require__(133));
25844
25816
  var _classPrivateFieldSet2 = _interopRequireDefault(__webpack_require__(136));
25845
25817
  var _element = __webpack_require__(107);
25846
25818
  var _scanner2 = __webpack_require__(206);
@@ -25937,9 +25909,9 @@ class SelectionManager {
25937
25909
  */
25938
25910
  setActiveOverlay(activeWot) {
25939
25911
  (0, _classPrivateFieldSet2.default)(this, _activeOverlaysWot, activeWot);
25940
- (0, _classPrivateFieldGet8.default)(this, _scanner).setActiveOverlay((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot));
25941
- if (!(0, _classPrivateFieldGet8.default)(this, _appliedClasses).has((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot))) {
25942
- (0, _classPrivateFieldGet8.default)(this, _appliedClasses).set((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot), new Set());
25912
+ (0, _classPrivateFieldGet7.default)(this, _scanner).setActiveOverlay((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot));
25913
+ if (!(0, _classPrivateFieldGet7.default)(this, _appliedClasses).has((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot))) {
25914
+ (0, _classPrivateFieldGet7.default)(this, _appliedClasses).set((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot), new Set());
25943
25915
  }
25944
25916
  return this;
25945
25917
  }
@@ -25950,7 +25922,7 @@ class SelectionManager {
25950
25922
  * @returns {Selection|null}
25951
25923
  */
25952
25924
  getFocusSelection() {
25953
- return (0, _classPrivateFieldGet8.default)(this, _selections) !== null ? (0, _classPrivateFieldGet8.default)(this, _selections).getFocus() : null;
25925
+ return (0, _classPrivateFieldGet7.default)(this, _selections) !== null ? (0, _classPrivateFieldGet7.default)(this, _selections).getFocus() : null;
25954
25926
  }
25955
25927
 
25956
25928
  /**
@@ -25959,7 +25931,7 @@ class SelectionManager {
25959
25931
  * @returns {Selection|null}
25960
25932
  */
25961
25933
  getAreaSelection() {
25962
- return (0, _classPrivateFieldGet8.default)(this, _selections) !== null ? (0, _classPrivateFieldGet8.default)(this, _selections).createLayeredArea() : null;
25934
+ return (0, _classPrivateFieldGet7.default)(this, _selections) !== null ? (0, _classPrivateFieldGet7.default)(this, _selections).createLayeredArea() : null;
25963
25935
  }
25964
25936
 
25965
25937
  /**
@@ -25972,17 +25944,17 @@ class SelectionManager {
25972
25944
  if (!selection.settings.border) {
25973
25945
  return null;
25974
25946
  }
25975
- if ((0, _classPrivateFieldGet8.default)(this, _selectionBorders).has(selection)) {
25976
- const borders = (0, _classPrivateFieldGet8.default)(this, _selectionBorders).get(selection);
25977
- if (borders.has((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot))) {
25978
- return borders.get((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot));
25947
+ if ((0, _classPrivateFieldGet7.default)(this, _selectionBorders).has(selection)) {
25948
+ const borders = (0, _classPrivateFieldGet7.default)(this, _selectionBorders).get(selection);
25949
+ if (borders.has((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot))) {
25950
+ return borders.get((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot));
25979
25951
  }
25980
- const border = new _border.default((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot), selection.settings);
25981
- borders.set((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot), border);
25952
+ const border = new _border.default((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot), selection.settings);
25953
+ borders.set((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot), border);
25982
25954
  return border;
25983
25955
  }
25984
- const border = new _border.default((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot), selection.settings);
25985
- (0, _classPrivateFieldGet8.default)(this, _selectionBorders).set(selection, new Map([[(0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot), border]]));
25956
+ const border = new _border.default((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot), selection.settings);
25957
+ (0, _classPrivateFieldGet7.default)(this, _selectionBorders).set(selection, new Map([[(0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot), border]]));
25986
25958
  return border;
25987
25959
  }
25988
25960
 
@@ -25994,7 +25966,7 @@ class SelectionManager {
25994
25966
  */
25995
25967
  getBorderInstances(selection) {
25996
25968
  var _classPrivateFieldGet2, _classPrivateFieldGet3;
25997
- 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 : []);
25969
+ 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 : []);
25998
25970
  }
25999
25971
 
26000
25972
  /**
@@ -26003,8 +25975,8 @@ class SelectionManager {
26003
25975
  * @param {Selection} selection The selection instance.
26004
25976
  */
26005
25977
  destroyBorders(selection) {
26006
- (0, _classPrivateFieldGet8.default)(this, _selectionBorders).get(selection).forEach(border => border.destroy());
26007
- (0, _classPrivateFieldGet8.default)(this, _selectionBorders).delete(selection);
25978
+ (0, _classPrivateFieldGet7.default)(this, _selectionBorders).get(selection).forEach(border => border.destroy());
25979
+ (0, _classPrivateFieldGet7.default)(this, _selectionBorders).delete(selection);
26008
25980
  }
26009
25981
 
26010
25982
  /**
@@ -26013,24 +25985,26 @@ class SelectionManager {
26013
25985
  * @param {boolean} fastDraw Indicates the render cycle type (fast/slow).
26014
25986
  */
26015
25987
  render(fastDraw) {
26016
- if ((0, _classPrivateFieldGet8.default)(this, _selections) === null) {
25988
+ if ((0, _classPrivateFieldGet7.default)(this, _selections) === null) {
26017
25989
  return;
26018
25990
  }
26019
25991
  if (fastDraw) {
26020
25992
  // there was no rerender, so we need to remove classNames by ourselves
26021
25993
  _classPrivateMethodGet(this, _resetCells, _resetCells2).call(this);
26022
25994
  }
26023
- const selections = Array.from((0, _classPrivateFieldGet8.default)(this, _selections));
25995
+ const selections = Array.from((0, _classPrivateFieldGet7.default)(this, _selections));
26024
25996
  const classNamesMap = new Map();
25997
+ const focusedHeaderAttributesMap = new Map();
26025
25998
  for (let i = 0; i < selections.length; i++) {
26026
25999
  const selection = selections[i];
26027
26000
  const {
26028
26001
  className,
26002
+ focusedHeaderAttributes,
26029
26003
  createLayers,
26030
26004
  selectionType
26031
26005
  } = selection.settings;
26032
- if (!(0, _classPrivateFieldGet8.default)(this, _destroyListeners).has(selection)) {
26033
- (0, _classPrivateFieldGet8.default)(this, _destroyListeners).add(selection);
26006
+ if (!(0, _classPrivateFieldGet7.default)(this, _destroyListeners).has(selection)) {
26007
+ (0, _classPrivateFieldGet7.default)(this, _destroyListeners).add(selection);
26034
26008
  selection.addLocalHook('destroy', () => this.destroyBorders(selection));
26035
26009
  }
26036
26010
  const borderInstance = this.getBorderInstance(selection);
@@ -26040,7 +26014,7 @@ class SelectionManager {
26040
26014
  }
26041
26015
 
26042
26016
  if (className) {
26043
- const elements = (0, _classPrivateFieldGet8.default)(this, _scanner).setActiveSelection(selection).scan();
26017
+ const elements = (0, _classPrivateFieldGet7.default)(this, _scanner).setActiveSelection(selection).scan();
26044
26018
  elements.forEach(element => {
26045
26019
  if (classNamesMap.has(element)) {
26046
26020
  const classNamesLayers = classNamesMap.get(element);
@@ -26052,14 +26026,22 @@ class SelectionManager {
26052
26026
  } else {
26053
26027
  classNamesMap.set(element, new Map([[className, 1]]));
26054
26028
  }
26029
+ if (selectionType === 'focus' && focusedHeaderAttributes) {
26030
+ if (!focusedHeaderAttributesMap.has(element)) {
26031
+ focusedHeaderAttributesMap.set(element, []);
26032
+ }
26033
+ if (element.nodeName === 'TH') {
26034
+ focusedHeaderAttributesMap.get(element).push(...focusedHeaderAttributes);
26035
+ }
26036
+ }
26055
26037
  });
26056
26038
  }
26057
26039
  const corners = selection.getCorners();
26058
- (0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot).getSetting('onBeforeDrawBorders', corners, selectionType);
26040
+ (0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot).getSetting('onBeforeDrawBorders', corners, selectionType);
26059
26041
  borderInstance === null || borderInstance === void 0 || borderInstance.appear(corners);
26060
26042
  }
26061
26043
  classNamesMap.forEach((classNamesLayers, element) => {
26062
- var _classPrivateFieldGet4, _classPrivateFieldGet5;
26044
+ var _classPrivateFieldGet4;
26063
26045
  const classNames = Array.from(classNamesLayers).map(_ref => {
26064
26046
  let [className, occurrenceCount] = _ref;
26065
26047
  if (occurrenceCount === 1) {
@@ -26069,34 +26051,37 @@ class SelectionManager {
26069
26051
  length: occurrenceCount - 1
26070
26052
  }, (_, i) => `${className}-${i + 1}`)];
26071
26053
  }).flat();
26072
- classNames.forEach(className => (0, _classPrivateFieldGet8.default)(this, _appliedClasses).get((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot)).add(className));
26054
+ classNames.forEach(className => (0, _classPrivateFieldGet7.default)(this, _appliedClasses).get((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot)).add(className));
26073
26055
  (0, _element.addClass)(element, classNames);
26074
- if (element.nodeName === 'TD' && Array.isArray((_classPrivateFieldGet4 = (0, _classPrivateFieldGet8.default)(this, _selections).options) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.cellAttributes)) {
26075
- (0, _element.setAttribute)(element, (0, _classPrivateFieldGet8.default)(this, _selections).options.cellAttributes);
26076
- } else if (element.nodeName === 'TH' && Array.isArray((_classPrivateFieldGet5 = (0, _classPrivateFieldGet8.default)(this, _selections).options) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.headerAttributes)) {
26077
- (0, _element.setAttribute)(element, (0, _classPrivateFieldGet8.default)(this, _selections).options.headerAttributes);
26056
+ if (element.nodeName === 'TD' && Array.isArray((_classPrivateFieldGet4 = (0, _classPrivateFieldGet7.default)(this, _selections).options) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.cellAttributes)) {
26057
+ (0, _element.setAttribute)(element, (0, _classPrivateFieldGet7.default)(this, _selections).options.cellAttributes);
26078
26058
  }
26079
26059
  });
26060
+
26061
+ // Set the attributes for the headers if they're focused.
26062
+ Array.from(focusedHeaderAttributesMap.keys()).forEach(element => {
26063
+ (0, _element.setAttribute)(element, [...focusedHeaderAttributesMap.get(element)]);
26064
+ });
26080
26065
  }
26081
26066
  }
26082
26067
  exports.SelectionManager = SelectionManager;
26083
26068
  function _resetCells2() {
26084
- const appliedOverlaysClasses = (0, _classPrivateFieldGet8.default)(this, _appliedClasses).get((0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot));
26085
- const classesToRemove = (0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot).wtSettings.getSetting('onBeforeRemoveCellClassNames');
26069
+ const appliedOverlaysClasses = (0, _classPrivateFieldGet7.default)(this, _appliedClasses).get((0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot));
26070
+ const classesToRemove = (0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot).wtSettings.getSetting('onBeforeRemoveCellClassNames');
26086
26071
  if (Array.isArray(classesToRemove)) {
26087
26072
  for (let i = 0; i < classesToRemove.length; i++) {
26088
26073
  appliedOverlaysClasses.add(classesToRemove[i]);
26089
26074
  }
26090
26075
  }
26091
26076
  appliedOverlaysClasses.forEach(className => {
26092
- var _classPrivateFieldGet6, _classPrivateFieldGet7;
26093
- const nodes = (0, _classPrivateFieldGet8.default)(this, _activeOverlaysWot).wtTable.TABLE.querySelectorAll(`.${className}`);
26077
+ var _classPrivateFieldGet5, _classPrivateFieldGet6;
26078
+ const nodes = (0, _classPrivateFieldGet7.default)(this, _activeOverlaysWot).wtTable.TABLE.querySelectorAll(`.${className}`);
26094
26079
  let cellAttributes = [];
26095
- if (Array.isArray((_classPrivateFieldGet6 = (0, _classPrivateFieldGet8.default)(this, _selections).options) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.cellAttributes)) {
26096
- cellAttributes = (0, _classPrivateFieldGet8.default)(this, _selections).options.cellAttributes.map(el => el[0]);
26080
+ if (Array.isArray((_classPrivateFieldGet5 = (0, _classPrivateFieldGet7.default)(this, _selections).options) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.cellAttributes)) {
26081
+ cellAttributes = (0, _classPrivateFieldGet7.default)(this, _selections).options.cellAttributes.map(el => el[0]);
26097
26082
  }
26098
- if (Array.isArray((_classPrivateFieldGet7 = (0, _classPrivateFieldGet8.default)(this, _selections).options) === null || _classPrivateFieldGet7 === void 0 ? void 0 : _classPrivateFieldGet7.headerAttributes)) {
26099
- cellAttributes = [...cellAttributes, ...(0, _classPrivateFieldGet8.default)(this, _selections).options.headerAttributes.map(el => el[0])];
26083
+ if (Array.isArray((_classPrivateFieldGet6 = (0, _classPrivateFieldGet7.default)(this, _selections).options) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.headerAttributes)) {
26084
+ cellAttributes = [...cellAttributes, ...(0, _classPrivateFieldGet7.default)(this, _selections).options.headerAttributes.map(el => el[0])];
26100
26085
  }
26101
26086
  for (let i = 0, len = nodes.length; i < len; i++) {
26102
26087
  (0, _element.removeClass)(nodes[i], className);
@@ -31749,18 +31734,7 @@ const dictionary = {
31749
31734
  [C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Value',
31750
31735
  [C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value',
31751
31736
  [C.CHECKBOX_CHECKED]: 'Checked',
31752
- [C.CHECKBOX_UNCHECKED]: 'Unchecked',
31753
- [C.COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN]: 'Press ENTER to expand column.',
31754
- [C.COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN]: 'Press ENTER to collapse column.',
31755
- [C.COLUMN_HEADER_DESCRIPTION_SORT_ROWS]: 'Press ENTER to change sorting.',
31756
- [C.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER]: 'Multi-column sorting order:',
31757
- [C.COLUMN_HEADER_LABEL_OPEN_MENU]: 'Press CTRL/CMD+ENTER to open menu.',
31758
- [C.COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN]: 'The next column is hidden.',
31759
- [C.COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN]: 'The previous column is hidden.',
31760
- [C.ROW_HEADER_DESCRIPTION_EXPAND_ROW]: 'Press ENTER to expand row.',
31761
- [C.ROW_HEADER_DESCRIPTION_COLLAPSE_ROW]: 'Press ENTER to collapse row.',
31762
- [C.ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW]: 'The next row is hidden.',
31763
- [C.ROW_HEADER_LABEL_AFTER_HIDDEN_ROW]: 'The previous row is hidden.'
31737
+ [C.CHECKBOX_UNCHECKED]: 'Unchecked'
31764
31738
  };
31765
31739
  var _default = dictionary;
31766
31740
  exports["default"] = _default;
@@ -31944,32 +31918,6 @@ const CHECKBOX_CHECKED = `${CHECKBOX_RENDERER_NAMESPACE}checked`;
31944
31918
  exports.CHECKBOX_CHECKED = CHECKBOX_CHECKED;
31945
31919
  const CHECKBOX_UNCHECKED = `${CHECKBOX_RENDERER_NAMESPACE}unchecked`;
31946
31920
  exports.CHECKBOX_UNCHECKED = CHECKBOX_UNCHECKED;
31947
- const COLUMN_HEADER_NAMESPACE = 'ColumnHeader:';
31948
- exports.COLUMN_HEADER_NAMESPACE = COLUMN_HEADER_NAMESPACE;
31949
- const COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN = `${COLUMN_HEADER_NAMESPACE}description.expandColumn`;
31950
- exports.COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN = COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN;
31951
- const COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN = `${COLUMN_HEADER_NAMESPACE}description.collapseColumn`;
31952
- exports.COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN = COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN;
31953
- const COLUMN_HEADER_DESCRIPTION_SORT_ROWS = `${COLUMN_HEADER_NAMESPACE}description.sortRows`;
31954
- exports.COLUMN_HEADER_DESCRIPTION_SORT_ROWS = COLUMN_HEADER_DESCRIPTION_SORT_ROWS;
31955
- const COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER = `${COLUMN_HEADER_NAMESPACE}label.multiColumnSortOrder`;
31956
- exports.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER = COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER;
31957
- const COLUMN_HEADER_LABEL_OPEN_MENU = `${COLUMN_HEADER_NAMESPACE}label.openMenu`;
31958
- exports.COLUMN_HEADER_LABEL_OPEN_MENU = COLUMN_HEADER_LABEL_OPEN_MENU;
31959
- const COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN = `${COLUMN_HEADER_NAMESPACE}label.beforeHiddenColumn`;
31960
- exports.COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN = COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN;
31961
- const COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN = `${COLUMN_HEADER_NAMESPACE}label.afterHiddenColumn`;
31962
- exports.COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN = COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN;
31963
- const ROW_HEADER_NAMESPACE = 'RowHeader:';
31964
- exports.ROW_HEADER_NAMESPACE = ROW_HEADER_NAMESPACE;
31965
- const ROW_HEADER_DESCRIPTION_EXPAND_ROW = `${ROW_HEADER_NAMESPACE}description.expandRow`;
31966
- exports.ROW_HEADER_DESCRIPTION_EXPAND_ROW = ROW_HEADER_DESCRIPTION_EXPAND_ROW;
31967
- const ROW_HEADER_DESCRIPTION_COLLAPSE_ROW = `${ROW_HEADER_NAMESPACE}description.collapseRow`;
31968
- exports.ROW_HEADER_DESCRIPTION_COLLAPSE_ROW = ROW_HEADER_DESCRIPTION_COLLAPSE_ROW;
31969
- const ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW = `${ROW_HEADER_NAMESPACE}label.beforeHiddenRow`;
31970
- exports.ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW = ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW;
31971
- const ROW_HEADER_LABEL_AFTER_HIDDEN_ROW = `${ROW_HEADER_NAMESPACE}label.afterHiddenRow`;
31972
- exports.ROW_HEADER_LABEL_AFTER_HIDDEN_ROW = ROW_HEADER_LABEL_AFTER_HIDDEN_ROW;
31973
31921
 
31974
31922
  /***/ }),
31975
31923
  /* 246 */
@@ -33707,15 +33655,21 @@ var _visualSelection = _interopRequireDefault(__webpack_require__(250));
33707
33655
  *
33708
33656
  * @param {object} highlightParams A configuration object to create a highlight.
33709
33657
  * @param {Function} highlightParams.cellCornerVisible Function to determine if cell's corner should be visible.
33658
+ * @param {Function} highlightParams.cellAttributes Array of cell attributes.
33659
+ * @param {Function} highlightParams.headerAttributes Array of header attributes.
33710
33660
  * @returns {Selection}
33711
33661
  */
33712
33662
  function createHighlight(_ref) {
33713
33663
  let {
33714
33664
  cellCornerVisible,
33665
+ cellAttributes,
33666
+ headerAttributes,
33715
33667
  ...restOptions
33716
33668
  } = _ref;
33717
33669
  return new _visualSelection.default({
33718
33670
  className: 'current',
33671
+ cellAttributes,
33672
+ focusedHeaderAttributes: headerAttributes,
33719
33673
  border: {
33720
33674
  width: 2,
33721
33675
  color: '#4b89ff',
@@ -52787,7 +52741,6 @@ var _console = __webpack_require__(129);
52787
52741
  var _element = __webpack_require__(107);
52788
52742
  var _event = __webpack_require__(126);
52789
52743
  var _a11y = __webpack_require__(114);
52790
- var _constants = __webpack_require__(245);
52791
52744
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
52792
52745
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
52793
52746
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
@@ -53320,7 +53273,7 @@ function _onAfterGetColHeader2(column, TH, headerLevel) {
53320
53273
 
53321
53274
  // Add ARIA tags
53322
53275
  if (isAriaTagsEnabled) {
53323
- (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(false), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN))]);
53276
+ (0, _element.setAttribute)(TH, ...(0, _a11y.A11Y_EXPANDED)(false));
53324
53277
  }
53325
53278
  } else {
53326
53279
  (0, _element.addClass)(collapsibleElement, 'expanded');
@@ -53328,7 +53281,7 @@ function _onAfterGetColHeader2(column, TH, headerLevel) {
53328
53281
 
53329
53282
  // Add ARIA tags
53330
53283
  if (isAriaTagsEnabled) {
53331
- (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(true), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN))]);
53284
+ (0, _element.setAttribute)(TH, ...(0, _a11y.A11Y_EXPANDED)(true));
53332
53285
  }
53333
53286
  }
53334
53287
  if (isAriaTagsEnabled) {
@@ -53402,7 +53355,6 @@ var _domHelpers = __webpack_require__(441);
53402
53355
  var _rootComparator = __webpack_require__(442);
53403
53356
  var _sortService = __webpack_require__(443);
53404
53357
  var _a11y = __webpack_require__(114);
53405
- var _constants = __webpack_require__(245);
53406
53358
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
53407
53359
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
53408
53360
  function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
@@ -53415,7 +53367,6 @@ exports.APPEND_COLUMN_CONFIG_STRATEGY = APPEND_COLUMN_CONFIG_STRATEGY;
53415
53367
  const REPLACE_COLUMN_CONFIG_STRATEGY = 'replace';
53416
53368
  exports.REPLACE_COLUMN_CONFIG_STRATEGY = REPLACE_COLUMN_CONFIG_STRATEGY;
53417
53369
  const SHORTCUTS_GROUP = PLUGIN_KEY;
53418
- const SORTING_INDICATOR_CLASS = 'columnSortingIndicator';
53419
53370
  (0, _sortService.registerRootComparator)(PLUGIN_KEY, _rootComparator.rootComparator);
53420
53371
  _pluginHooks.default.getSingleton().register('beforeColumnSort');
53421
53372
  _pluginHooks.default.getSingleton().register('afterColumnSort');
@@ -54058,28 +54009,6 @@ class ColumnSorting extends _base.BasePlugin {
54058
54009
  }
54059
54010
  }
54060
54011
 
54061
- /**
54062
- * Update sorting indicator.
54063
- *
54064
- * @private
54065
- * @param {number} column Visual column index.
54066
- * @param {HTMLElement} headerSpanElement Header span element.
54067
- */
54068
- updateSortingIndicator(column, headerSpanElement) {
54069
- const pluginSettingsForColumn = this.getFirstCellSettings(column)[this.pluginKey];
54070
- const ariaTags = this.hot.getSettings().ariaTags;
54071
- const showSortIndicator = pluginSettingsForColumn.indicator;
54072
- const isColumnSorted = this.columnStatesManager.isColumnSorted(column);
54073
- const indicatorElement = headerSpanElement.querySelector(`.${SORTING_INDICATOR_CLASS}`);
54074
- if (showSortIndicator && isColumnSorted && !indicatorElement) {
54075
- (0, _element.appendElement)(headerSpanElement, {
54076
- tagName: 'div',
54077
- className: SORTING_INDICATOR_CLASS,
54078
- attributes: ariaTags ? [(0, _a11y.A11Y_HIDDEN)()] : []
54079
- });
54080
- }
54081
- }
54082
-
54083
54012
  /**
54084
54013
  * Overwriting base plugin's `onUpdateSettings` method. Please keep in mind that `onAfterUpdateSettings` isn't called
54085
54014
  * for `updateSettings` in specific situations.
@@ -54108,7 +54037,7 @@ class ColumnSorting extends _base.BasePlugin {
54108
54037
  wasClickableHeaderClicked(event, column) {
54109
54038
  const pluginSettingsForColumn = this.getFirstCellSettings(column)[this.pluginKey];
54110
54039
  const headerActionEnabled = pluginSettingsForColumn.headerAction;
54111
- return headerActionEnabled && ((0, _element.hasClass)(event.target, _utils.HEADER_SPAN_CLASS) || (0, _element.hasClass)(event.target, SORTING_INDICATOR_CLASS));
54040
+ return headerActionEnabled && (0, _element.hasClass)(event.target, _utils.HEADER_SPAN_CLASS);
54112
54041
  }
54113
54042
  /**
54114
54043
  * Callback for the `onAfterOnCellMouseDown` hook.
@@ -54157,14 +54086,12 @@ function _onAfterGetColHeader2(column, TH) {
54157
54086
  return;
54158
54087
  }
54159
54088
  const pluginSettingsForColumn = this.getFirstCellSettings(column)[this.pluginKey];
54160
- const ariaTags = this.hot.getSettings().ariaTags;
54161
54089
  const showSortIndicator = pluginSettingsForColumn.indicator;
54162
54090
  const headerActionEnabled = pluginSettingsForColumn.headerAction;
54163
- const currentSortState = this.columnStatesManager.getSortOrderOfColumn(column);
54164
54091
  this.updateHeaderClasses(headerSpanElement, this.columnStatesManager, column, showSortIndicator, headerActionEnabled);
54165
- this.updateSortingIndicator(column, headerSpanElement);
54166
- if (ariaTags) {
54167
- (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))]);
54092
+ if (this.hot.getSettings().ariaTags) {
54093
+ const currentSortState = this.columnStatesManager.getSortOrderOfColumn(column);
54094
+ (0, _element.setAttribute)(TH, ...(0, _a11y.A11Y_SORT)(currentSortState ? `${currentSortState}ending` : 'none'));
54168
54095
  }
54169
54096
  }
54170
54097
  function _onAfterLoadData2(initialLoad) {
@@ -60737,8 +60664,6 @@ exports.createMenuItemRenderer = createMenuItemRenderer;
60737
60664
  var _utils = __webpack_require__(489);
60738
60665
  var _element = __webpack_require__(107);
60739
60666
  var _a11y = __webpack_require__(114);
60740
- const SUBMENU_INDICATOR_CLASSNAME = 'submenuIndicator';
60741
-
60742
60667
  /**
60743
60668
  * Creates the menu renderer function.
60744
60669
  *
@@ -60771,16 +60696,6 @@ function createMenuItemRenderer(mainTableHot) {
60771
60696
  const isFocusable = !(0, _utils.isItemDisabled)(item, mainTableHot) && !(0, _utils.isItemSelectionDisabled)(item) && !(0, _utils.isItemSeparator)(item);
60772
60697
  (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)] : [])]);
60773
60698
  }
60774
- if ((0, _utils.isItemSubMenu)(item)) {
60775
- const submenuIndicatorElement = TD.querySelector('.submenuIndicator');
60776
- if (!submenuIndicatorElement) {
60777
- (0, _element.appendElement)(TD, {
60778
- tagName: 'div',
60779
- attributes: mainTableHot.getSettings().ariaTags ? [(0, _a11y.A11Y_HIDDEN)()] : [],
60780
- className: SUBMENU_INDICATOR_CLASSNAME
60781
- });
60782
- }
60783
- }
60784
60699
  TD.className = '';
60785
60700
  TD.appendChild(wrapper);
60786
60701
  if ((0, _utils.isItemSeparator)(item)) {
@@ -63717,7 +63632,6 @@ var _menu = __webpack_require__(483);
63717
63632
  var _pluginHooks = _interopRequireDefault(__webpack_require__(128));
63718
63633
  var _predefinedItems = __webpack_require__(458);
63719
63634
  __webpack_require__(518);
63720
- var _constants = __webpack_require__(245);
63721
63635
  var _a11y = __webpack_require__(114);
63722
63636
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
63723
63637
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
@@ -64193,7 +64107,7 @@ function _onAfterGetColHeader2(col, TH) {
64193
64107
  button.type = 'button';
64194
64108
  button.tabIndex = -1;
64195
64109
  if (this.hot.getSettings().ariaTags) {
64196
- (0, _element.setAttribute)(button, [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_OPEN_MENU))]);
64110
+ (0, _element.setAttribute)(button, [(0, _a11y.A11Y_HIDDEN)(), (0, _a11y.A11Y_LABEL)(' ')]);
64197
64111
  (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_HASPOPUP)('menu')]);
64198
64112
  }
64199
64113
 
@@ -67471,8 +67385,11 @@ class InputUI extends _base.BaseUI {
67471
67385
  */
67472
67386
  build() {
67473
67387
  super.build();
67388
+ const icon = this.hot.rootDocument.createElement('div');
67474
67389
  (0, _classPrivateFieldSet2.default)(this, _input, this._element.firstChild);
67475
67390
  (0, _element.addClass)(this._element, 'htUIInput');
67391
+ (0, _element.addClass)(icon, 'htUIInputIcon');
67392
+ this._element.appendChild(icon);
67476
67393
  this.update();
67477
67394
  }
67478
67395
 
@@ -67738,11 +67655,9 @@ var _classPrivateFieldGet2 = _interopRequireDefault(__webpack_require__(133));
67738
67655
  var _menu2 = __webpack_require__(483);
67739
67656
  var _object = __webpack_require__(117);
67740
67657
  var _array = __webpack_require__(113);
67741
- var _element = __webpack_require__(107);
67742
67658
  var C = _interopRequireWildcard(__webpack_require__(245));
67743
67659
  var _predefinedItems = __webpack_require__(458);
67744
67660
  var _base = __webpack_require__(560);
67745
- var _a11y = __webpack_require__(114);
67746
67661
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
67747
67662
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
67748
67663
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
@@ -67899,10 +67814,6 @@ class SelectUI extends _base.BaseUI {
67899
67814
  (0, _classPrivateFieldSet2.default)(this, _caption, caption);
67900
67815
  (0, _classPrivateFieldSet2.default)(this, _captionElement, caption.element);
67901
67816
  (0, _classPrivateFieldSet2.default)(this, _dropdown, dropdown);
67902
- if (this.hot.getSettings().ariaTags) {
67903
- (0, _element.setAttribute)(dropdown.element, [(0, _a11y.A11Y_HIDDEN)()]);
67904
- (0, _element.setAttribute)(this._element, [(0, _a11y.A11Y_LISTBOX)()]);
67905
- }
67906
67817
  (0, _array.arrayEach)([caption, dropdown], element => this._element.appendChild(element.element));
67907
67818
  (0, _classPrivateFieldGet2.default)(this, _menu).addLocalHook('select', command => _classPrivateMethodGet(this, _onMenuSelect, _onMenuSelect2).call(this, command));
67908
67819
  (0, _classPrivateFieldGet2.default)(this, _menu).addLocalHook('afterClose', () => _classPrivateMethodGet(this, _onMenuClosed, _onMenuClosed2).call(this));
@@ -72305,8 +72216,6 @@ var _pluginHooks = _interopRequireDefault(__webpack_require__(128));
72305
72216
  var _hideColumn = _interopRequireDefault(__webpack_require__(583));
72306
72217
  var _showColumn = _interopRequireDefault(__webpack_require__(584));
72307
72218
  var _translations = __webpack_require__(221);
72308
- var _a11y = __webpack_require__(114);
72309
- var _constants = __webpack_require__(245);
72310
72219
  __webpack_require__(585);
72311
72220
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
72312
72221
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
@@ -72319,9 +72228,6 @@ _pluginHooks.default.getSingleton().register('afterUnhideColumns');
72319
72228
  const PLUGIN_KEY = 'hiddenColumns';
72320
72229
  exports.PLUGIN_KEY = PLUGIN_KEY;
72321
72230
  const PLUGIN_PRIORITY = 310;
72322
- exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
72323
- const BEFORE_INDICATOR_CLASSNAME = 'beforeHiddenColumnIndicator';
72324
- const AFTER_INDICATOR_CLASSNAME = 'afterHiddenColumnIndicator';
72325
72231
 
72326
72232
  /* eslint-disable jsdoc/require-description-complete-sentence */
72327
72233
 
@@ -72429,9 +72335,9 @@ const AFTER_INDICATOR_CLASSNAME = 'afterHiddenColumnIndicator';
72429
72335
  * ```
72430
72336
  * :::
72431
72337
  */
72338
+ exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
72432
72339
  var _settings = /*#__PURE__*/new WeakMap();
72433
72340
  var _hiddenColumnsMap = /*#__PURE__*/new WeakMap();
72434
- var _clearIndicatorElements = /*#__PURE__*/new WeakSet();
72435
72341
  var _onModifyColWidth = /*#__PURE__*/new WeakSet();
72436
72342
  var _onAfterGetCellMeta = /*#__PURE__*/new WeakSet();
72437
72343
  var _onModifyCopyableRange = /*#__PURE__*/new WeakSet();
@@ -72481,12 +72387,6 @@ class HiddenColumns extends _base.BasePlugin {
72481
72387
  * @returns {number}
72482
72388
  */
72483
72389
  _classPrivateMethodInitSpec(this, _onModifyColWidth);
72484
- /**
72485
- * Remove the indicator elements from the provided column header element.
72486
- *
72487
- * @param {HTMLElement} TH Column header element.
72488
- */
72489
- _classPrivateMethodInitSpec(this, _clearIndicatorElements);
72490
72390
  /**
72491
72391
  * Cached plugin settings.
72492
72392
  *
@@ -72576,15 +72476,8 @@ class HiddenColumns extends _base.BasePlugin {
72576
72476
  * Disables the plugin functionality for this Handsontable instance.
72577
72477
  */
72578
72478
  disablePlugin() {
72579
- const clearColHeader = (columnIndex, TH) => {
72580
- _classPrivateMethodGet(this, _clearIndicatorElements, _clearIndicatorElements2).call(this, TH);
72581
- };
72582
72479
  this.hot.columnIndexMapper.unregisterMap(this.pluginName);
72583
72480
  (0, _classPrivateFieldSet2.default)(this, _settings, {});
72584
- this.hot.addHook('afterGetColHeader', clearColHeader);
72585
- this.hot.addHookOnce('afterViewRender', () => {
72586
- this.hot.removeHook('afterGetColHeader', clearColHeader);
72587
- });
72588
72481
  super.disablePlugin();
72589
72482
  this.resetCellsMeta();
72590
72483
  }
@@ -72736,11 +72629,6 @@ class HiddenColumns extends _base.BasePlugin {
72736
72629
  }
72737
72630
  }
72738
72631
  exports.HiddenColumns = HiddenColumns;
72739
- function _clearIndicatorElements2(TH) {
72740
- Array.from(TH.querySelectorAll(`.${AFTER_INDICATOR_CLASSNAME}, .${BEFORE_INDICATOR_CLASSNAME}`)).forEach(element => {
72741
- element.remove();
72742
- });
72743
- }
72744
72632
  function _onModifyColWidth2(width, column) {
72745
72633
  // Hook is triggered internally only for the visible columns. Conditional will be handled for the API
72746
72634
  // calls of the `getColWidth` function on not visible indexes.
@@ -72812,35 +72700,14 @@ function _onModifyCopyableRange2(ranges) {
72812
72700
  return newRanges;
72813
72701
  }
72814
72702
  function _onAfterGetColHeader2(column, TH) {
72815
- const areAriaTagsEnabled = this.hot.getSettings().ariaTags;
72816
- const beforeHiddenColumnIndicatorElement = TH.querySelector('.beforeHiddenColumnIndicator');
72817
- const afterHiddenColumnIndicatorElement = TH.querySelector('.afterHiddenColumnIndicator');
72818
72703
  if (!(0, _classPrivateFieldGet2.default)(this, _settings).indicators || column < 0) {
72819
- beforeHiddenColumnIndicatorElement === null || beforeHiddenColumnIndicatorElement === void 0 || beforeHiddenColumnIndicatorElement.remove();
72820
- afterHiddenColumnIndicatorElement === null || afterHiddenColumnIndicatorElement === void 0 || afterHiddenColumnIndicatorElement.remove();
72821
72704
  return;
72822
72705
  }
72823
72706
  const classList = [];
72824
72707
  if (column >= 1 && this.isHidden(column - 1)) {
72825
- if (!afterHiddenColumnIndicatorElement) {
72826
- const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN))] : [];
72827
- (0, _element.appendElement)(TH, {
72828
- tagName: 'div',
72829
- attributes: attributesToAdd,
72830
- className: AFTER_INDICATOR_CLASSNAME
72831
- });
72832
- }
72833
72708
  classList.push('afterHiddenColumn');
72834
72709
  }
72835
72710
  if (column < this.hot.countCols() - 1 && this.isHidden(column + 1)) {
72836
- if (!beforeHiddenColumnIndicatorElement) {
72837
- const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN))] : [];
72838
- (0, _element.appendElement)(TH, {
72839
- tagName: 'div',
72840
- attributes: attributesToAdd,
72841
- className: BEFORE_INDICATOR_CLASSNAME
72842
- });
72843
- }
72844
72711
  classList.push('beforeHiddenColumn');
72845
72712
  }
72846
72713
  (0, _element.addClass)(TH, classList);
@@ -73067,8 +72934,6 @@ var _pluginHooks = _interopRequireDefault(__webpack_require__(128));
73067
72934
  var _hideRow = _interopRequireDefault(__webpack_require__(588));
73068
72935
  var _showRow = _interopRequireDefault(__webpack_require__(589));
73069
72936
  var _translations = __webpack_require__(221);
73070
- var _a11y = __webpack_require__(114);
73071
- var _constants = __webpack_require__(245);
73072
72937
  __webpack_require__(590);
73073
72938
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
73074
72939
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
@@ -73081,9 +72946,6 @@ _pluginHooks.default.getSingleton().register('afterUnhideRows');
73081
72946
  const PLUGIN_KEY = 'hiddenRows';
73082
72947
  exports.PLUGIN_KEY = PLUGIN_KEY;
73083
72948
  const PLUGIN_PRIORITY = 320;
73084
- exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
73085
- const AFTER_INDICATOR_CLASSNAME = 'afterHiddenRowIndicator';
73086
- const BEFORE_INDICATOR_CLASSNAME = 'beforeHiddenRowIndicator';
73087
72949
 
73088
72950
  /* eslint-disable jsdoc/require-description-complete-sentence */
73089
72951
 
@@ -73191,9 +73053,9 @@ const BEFORE_INDICATOR_CLASSNAME = 'beforeHiddenRowIndicator';
73191
73053
  * ```
73192
73054
  * :::
73193
73055
  */
73056
+ exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
73194
73057
  var _settings = /*#__PURE__*/new WeakMap();
73195
73058
  var _hiddenRowsMap = /*#__PURE__*/new WeakMap();
73196
- var _clearIndicatorElements = /*#__PURE__*/new WeakSet();
73197
73059
  var _onModifyRowHeight = /*#__PURE__*/new WeakSet();
73198
73060
  var _onAfterGetCellMeta = /*#__PURE__*/new WeakSet();
73199
73061
  var _onModifyCopyableRange = /*#__PURE__*/new WeakSet();
@@ -73243,12 +73105,6 @@ class HiddenRows extends _base.BasePlugin {
73243
73105
  * @returns {number}
73244
73106
  */
73245
73107
  _classPrivateMethodInitSpec(this, _onModifyRowHeight);
73246
- /**
73247
- * Remove the indicator elements from the provided row header element.
73248
- *
73249
- * @param {HTMLElement} TH Column header element.
73250
- */
73251
- _classPrivateMethodInitSpec(this, _clearIndicatorElements);
73252
73108
  /**
73253
73109
  * Cached settings from Handsontable settings.
73254
73110
  *
@@ -73338,15 +73194,8 @@ class HiddenRows extends _base.BasePlugin {
73338
73194
  * Disables the plugin functionality for this Handsontable instance.
73339
73195
  */
73340
73196
  disablePlugin() {
73341
- const clearRowHeader = (columnIndex, TH) => {
73342
- _classPrivateMethodGet(this, _clearIndicatorElements, _clearIndicatorElements2).call(this, TH);
73343
- };
73344
73197
  this.hot.rowIndexMapper.unregisterMap(this.pluginName);
73345
73198
  (0, _classPrivateFieldSet2.default)(this, _settings, {});
73346
- this.hot.addHook('afterGetRowHeader', clearRowHeader);
73347
- this.hot.addHookOnce('afterViewRender', () => {
73348
- this.hot.removeHook('afterGetRowHeader', clearRowHeader);
73349
- });
73350
73199
  super.disablePlugin();
73351
73200
  this.resetCellsMeta();
73352
73201
  }
@@ -73495,11 +73344,6 @@ class HiddenRows extends _base.BasePlugin {
73495
73344
  }
73496
73345
  }
73497
73346
  exports.HiddenRows = HiddenRows;
73498
- function _clearIndicatorElements2(TH) {
73499
- Array.from(TH.querySelectorAll(`.${AFTER_INDICATOR_CLASSNAME}, .${BEFORE_INDICATOR_CLASSNAME}`)).forEach(element => {
73500
- element.remove();
73501
- });
73502
- }
73503
73347
  function _onModifyRowHeight2(height, row) {
73504
73348
  // Hook is triggered internally only for the visible rows. Conditional will be handled for the API
73505
73349
  // calls of the `getRowHeight` function on not visible indexes.
@@ -73566,35 +73410,14 @@ function _onModifyCopyableRange2(ranges) {
73566
73410
  return newRanges;
73567
73411
  }
73568
73412
  function _onAfterGetRowHeader2(row, TH) {
73569
- const areAriaTagsEnabled = this.hot.getSettings().ariaTags;
73570
- const beforeHiddenRowIndicatorElement = TH.querySelector('.beforeHiddenRowIndicator');
73571
- const afterHiddenRowIndicatorElement = TH.querySelector('.afterHiddenRowIndicator');
73572
73413
  if (!(0, _classPrivateFieldGet2.default)(this, _settings).indicators || row < 0) {
73573
- beforeHiddenRowIndicatorElement === null || beforeHiddenRowIndicatorElement === void 0 || beforeHiddenRowIndicatorElement.remove();
73574
- afterHiddenRowIndicatorElement === null || afterHiddenRowIndicatorElement === void 0 || afterHiddenRowIndicatorElement.remove();
73575
73414
  return;
73576
73415
  }
73577
73416
  const classList = [];
73578
73417
  if (row >= 1 && this.isHidden(row - 1)) {
73579
- if (!afterHiddenRowIndicatorElement) {
73580
- const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_LABEL_AFTER_HIDDEN_ROW))] : [];
73581
- (0, _element.appendElement)(TH, {
73582
- tagName: 'div',
73583
- attributes: attributesToAdd,
73584
- className: AFTER_INDICATOR_CLASSNAME
73585
- });
73586
- }
73587
73418
  classList.push('afterHiddenRow');
73588
73419
  }
73589
73420
  if (row < this.hot.countRows() - 1 && this.isHidden(row + 1)) {
73590
- if (!beforeHiddenRowIndicatorElement) {
73591
- const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW))] : [];
73592
- (0, _element.appendElement)(TH, {
73593
- tagName: 'div',
73594
- attributes: attributesToAdd,
73595
- className: BEFORE_INDICATOR_CLASSNAME
73596
- });
73597
- }
73598
73421
  classList.push('beforeHiddenRow');
73599
73422
  }
73600
73423
  (0, _element.addClass)(TH, classList);
@@ -80102,8 +79925,6 @@ var _element = __webpack_require__(107);
80102
79925
  var _rootComparator = __webpack_require__(623);
80103
79926
  var _utils2 = __webpack_require__(624);
80104
79927
  var _domHelpers = __webpack_require__(625);
80105
- var _a11y = __webpack_require__(114);
80106
- var _constants = __webpack_require__(245);
80107
79928
  __webpack_require__(626);
80108
79929
  const PLUGIN_KEY = 'multiColumnSorting';
80109
79930
  exports.PLUGIN_KEY = PLUGIN_KEY;
@@ -80365,25 +80186,6 @@ class MultiColumnSorting extends _columnSorting.ColumnSorting {
80365
80186
  }
80366
80187
  }
80367
80188
 
80368
- /**
80369
- * Update sorting indicator.
80370
- *
80371
- * @private
80372
- * @param {number} column Visual column index.
80373
- * @param {HTMLElement} headerSpanElement Header span element.
80374
- */
80375
- updateSortingIndicator(column, headerSpanElement) {
80376
- super.updateSortingIndicator(column, headerSpanElement);
80377
- const indicatorElement = headerSpanElement.querySelector('.columnSortingIndicator');
80378
- if (!indicatorElement || !this.hot.getSettings().ariaTags || !this.columnStatesManager.isColumnSorted(column) || this.columnStatesManager.getNumberOfSortedColumns() <= 1) {
80379
- return;
80380
- }
80381
- const multiColumnSortingOrder = this.columnStatesManager.getIndexOfColumnInSortQueue(column) + 1;
80382
- const a11yLabelAttribute = (0, _a11y.A11Y_LABEL)(`${this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER)} ${multiColumnSortingOrder}.`);
80383
- (0, _element.removeAttribute)(indicatorElement, (0, _a11y.A11Y_HIDDEN)()[0]);
80384
- (0, _element.setAttribute)(indicatorElement, ...a11yLabelAttribute);
80385
- }
80386
-
80387
80189
  /**
80388
80190
  * Overwriting base plugin's `onUpdateSettings` method. Please keep in mind that `onAfterUpdateSettings` isn't called
80389
80191
  * for `updateSettings` in specific situations.
@@ -84368,8 +84170,7 @@ class NestedRows extends _base.BasePlugin {
84368
84170
  /**
84369
84171
  * Updates the plugin's state.
84370
84172
  *
84371
- * This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the
84372
- * following configuration options:
84173
+ * This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the following configuration options:
84373
84174
  * - [`nestedRows`](@/api/options.md#nestedrows)
84374
84175
  */
84375
84176
  updatePlugin() {
@@ -85821,7 +85622,6 @@ var _number = __webpack_require__(141);
85821
85622
  var _element = __webpack_require__(107);
85822
85623
  var _base = _interopRequireDefault(__webpack_require__(650));
85823
85624
  var _a11y = __webpack_require__(114);
85824
- var _constants = __webpack_require__(245);
85825
85625
  /**
85826
85626
  * Class responsible for the UI in the Nested Rows' row headers.
85827
85627
  *
@@ -85839,6 +85639,7 @@ class HeadersUI extends _base.default {
85839
85639
  return {
85840
85640
  indicatorContainer: 'ht_nestingLevels',
85841
85641
  parent: 'ht_nestingParent',
85642
+ indicator: 'ht_nestingLevel',
85842
85643
  emptyIndicator: 'ht_nestingLevel_empty',
85843
85644
  button: 'ht_nestingButton',
85844
85645
  expandButton: 'ht_nestingExpand',
@@ -85916,12 +85717,12 @@ class HeadersUI extends _base.default {
85916
85717
  if (this.collapsingUI.areChildrenCollapsed(rowIndex)) {
85917
85718
  (0, _element.addClass)(buttonsContainer, `${HeadersUI.CSS_CLASSES.button} ${HeadersUI.CSS_CLASSES.expandButton}`);
85918
85719
  if (ariaEnabled) {
85919
- (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(false), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_DESCRIPTION_EXPAND_ROW))]);
85720
+ (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(false)]);
85920
85721
  }
85921
85722
  } else {
85922
85723
  (0, _element.addClass)(buttonsContainer, `${HeadersUI.CSS_CLASSES.button} ${HeadersUI.CSS_CLASSES.collapseButton}`);
85923
85724
  if (ariaEnabled) {
85924
- (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(true), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_DESCRIPTION_COLLAPSE_ROW))]);
85725
+ (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(true)]);
85925
85726
  }
85926
85727
  }
85927
85728
  innerDiv.appendChild(buttonsContainer);