handsontable 0.0.0-next-a417c2b-20231124 → 0.0.0-next-301795f-20231127

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (43) 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/base.js +2 -2
  8. package/base.mjs +2 -2
  9. package/dataMap/replaceData.js +3 -1
  10. package/dataMap/replaceData.mjs +3 -1
  11. package/dist/handsontable.css +2 -2
  12. package/dist/handsontable.full.css +2 -2
  13. package/dist/handsontable.full.js +115 -99
  14. package/dist/handsontable.full.min.css +2 -2
  15. package/dist/handsontable.full.min.js +6 -6
  16. package/dist/handsontable.js +115 -99
  17. package/dist/handsontable.min.css +2 -2
  18. package/dist/handsontable.min.js +31 -31
  19. package/editors/dateEditor/dateEditor.js +0 -7
  20. package/editors/dateEditor/dateEditor.mjs +1 -8
  21. package/editors/handsontableEditor/handsontableEditor.js +0 -7
  22. package/editors/handsontableEditor/handsontableEditor.mjs +1 -8
  23. package/editors/passwordEditor/passwordEditor.js +4 -0
  24. package/editors/passwordEditor/passwordEditor.mjs +5 -1
  25. package/focusManager.js +56 -44
  26. package/focusManager.mjs +56 -44
  27. package/helpers/a11y.js +2 -0
  28. package/helpers/a11y.mjs +1 -0
  29. package/helpers/mixed.js +1 -1
  30. package/helpers/mixed.mjs +1 -1
  31. package/package.json +1 -1
  32. package/renderers/autocompleteRenderer/autocompleteRenderer.js +0 -3
  33. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +1 -4
  34. package/renderers/checkboxRenderer/checkboxRenderer.js +0 -1
  35. package/renderers/checkboxRenderer/checkboxRenderer.mjs +0 -1
  36. package/renderers/dateRenderer/dateRenderer.js +0 -5
  37. package/renderers/dateRenderer/dateRenderer.mjs +0 -5
  38. package/renderers/handsontableRenderer/handsontableRenderer.js +0 -5
  39. package/renderers/handsontableRenderer/handsontableRenderer.mjs +0 -5
  40. package/renderers/selectRenderer/selectRenderer.js +0 -5
  41. package/renderers/selectRenderer/selectRenderer.mjs +0 -5
  42. package/tableView.js +31 -2
  43. package/tableView.mjs +31 -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: 0.0.0-next-a417c2b-20231124
29
- * Release date: 31/08/2023 (built at 24/11/2023 11:00:21)
28
+ * Version: 0.0.0-next-301795f-20231127
29
+ * Release date: 31/08/2023 (built at 27/11/2023 14:46:21)
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 = "24/11/2023 11:00:21";
109
- Handsontable.version = "0.0.0-next-a417c2b-20231124";
108
+ Handsontable.buildDate = "27/11/2023 14:46:21";
109
+ Handsontable.version = "0.0.0-next-301795f-20231127";
110
110
  Handsontable.languages = {
111
111
  dictionaryKeys: _registry.dictionaryKeys,
112
112
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -8514,7 +8514,7 @@ const domMessages = {
8514
8514
  function _injectProductInfo(key, element) {
8515
8515
  const hasValidType = !isEmpty(key);
8516
8516
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
8517
- const hotVersion = "0.0.0-next-a417c2b-20231124";
8517
+ const hotVersion = "0.0.0-next-301795f-20231127";
8518
8518
  let keyValidityDate;
8519
8519
  let consoleMessageState = 'invalid';
8520
8520
  let domMessageState = 'invalid';
@@ -8972,6 +8972,8 @@ const A11Y_GRIDCELL = () => ['role', 'gridcell'];
8972
8972
  exports.A11Y_GRIDCELL = A11Y_GRIDCELL;
8973
8973
  const A11Y_ROWHEADER = () => ['role', 'rowheader'];
8974
8974
  exports.A11Y_ROWHEADER = A11Y_ROWHEADER;
8975
+ const A11Y_ROWGROUP = () => ['role', 'rowgroup'];
8976
+ exports.A11Y_ROWGROUP = A11Y_ROWGROUP;
8975
8977
  const A11Y_COLUMNHEADER = () => ['role', 'columnheader'];
8976
8978
  exports.A11Y_COLUMNHEADER = A11Y_COLUMNHEADER;
8977
8979
  const A11Y_ROW = () => ['role', 'row'];
@@ -14187,7 +14189,7 @@ function getListenersCounter() {
14187
14189
  __webpack_require__(78);
14188
14190
  var _interopRequireDefault = __webpack_require__(1);
14189
14191
  exports.__esModule = true;
14190
- var _classPrivateFieldGet5 = _interopRequireDefault(__webpack_require__(133));
14192
+ var _classPrivateFieldGet7 = _interopRequireDefault(__webpack_require__(133));
14191
14193
  var _classPrivateFieldSet2 = _interopRequireDefault(__webpack_require__(136));
14192
14194
  var _console = __webpack_require__(129);
14193
14195
  var _element = __webpack_require__(107);
@@ -14215,7 +14217,6 @@ var _hot = /*#__PURE__*/new WeakMap();
14215
14217
  var _focusMode = /*#__PURE__*/new WeakMap();
14216
14218
  var _refocusDelay = /*#__PURE__*/new WeakMap();
14217
14219
  var _refocusElementGetter = /*#__PURE__*/new WeakMap();
14218
- var _getCurrentHighlightCoords = /*#__PURE__*/new WeakSet();
14219
14220
  var _getSelectedCell = /*#__PURE__*/new WeakSet();
14220
14221
  var _manageFocus = /*#__PURE__*/new WeakSet();
14221
14222
  var _onUpdateSettings = /*#__PURE__*/new WeakSet();
@@ -14239,15 +14240,9 @@ class FocusManager {
14239
14240
  * Get and return the currently selected and highlighted cell/header element.
14240
14241
  *
14241
14242
  * @private
14242
- * @returns {HTMLTableCellElement}
14243
+ * @param {Function} [callback] Callback function to be called after the cell element is retrieved.
14243
14244
  */
14244
14245
  _classPrivateMethodInitSpec(this, _getSelectedCell);
14245
- /**
14246
- * Get the coordinates of the highlight of the currently selected cell/header.
14247
- *
14248
- * @returns {CellCoords}
14249
- */
14250
- _classPrivateMethodInitSpec(this, _getCurrentHighlightCoords);
14251
14246
  /**
14252
14247
  * The Handsontable instance.
14253
14248
  */
@@ -14292,13 +14287,13 @@ class FocusManager {
14292
14287
  const hotSettings = hotInstance.getSettings();
14293
14288
  (0, _classPrivateFieldSet2.default)(this, _hot, hotInstance);
14294
14289
  (0, _classPrivateFieldSet2.default)(this, _focusMode, hotSettings.imeFastEdit ? FOCUS_MODES.MIXED : FOCUS_MODES.CELL);
14295
- (0, _classPrivateFieldGet5.default)(this, _hot).addHook('afterUpdateSettings', function () {
14290
+ (0, _classPrivateFieldGet7.default)(this, _hot).addHook('afterUpdateSettings', function () {
14296
14291
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
14297
14292
  args[_key] = arguments[_key];
14298
14293
  }
14299
14294
  return _classPrivateMethodGet(_this, _onUpdateSettings, _onUpdateSettings2).call(_this, ...args);
14300
14295
  });
14301
- (0, _classPrivateFieldGet5.default)(this, _hot).addHook('afterSelection', function () {
14296
+ (0, _classPrivateFieldGet7.default)(this, _hot).addHook('afterSelection', function () {
14302
14297
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
14303
14298
  args[_key2] = arguments[_key2];
14304
14299
  }
@@ -14312,7 +14307,7 @@ class FocusManager {
14312
14307
  * @returns {'cell' | 'mixed'}
14313
14308
  */
14314
14309
  getFocusMode() {
14315
- return (0, _classPrivateFieldGet5.default)(this, _focusMode);
14310
+ return (0, _classPrivateFieldGet7.default)(this, _focusMode);
14316
14311
  }
14317
14312
 
14318
14313
  /**
@@ -14335,7 +14330,7 @@ class FocusManager {
14335
14330
  * @returns {number} Delay in milliseconds.
14336
14331
  */
14337
14332
  getRefocusDelay() {
14338
- return (0, _classPrivateFieldGet5.default)(this, _refocusDelay);
14333
+ return (0, _classPrivateFieldGet7.default)(this, _refocusDelay);
14339
14334
  }
14340
14335
 
14341
14336
  /**
@@ -14363,11 +14358,11 @@ class FocusManager {
14363
14358
  * @returns {HTMLTextAreaElement|HTMLElement|undefined}
14364
14359
  */
14365
14360
  getRefocusElement() {
14366
- if (typeof (0, _classPrivateFieldGet5.default)(this, _refocusElementGetter) === 'function') {
14367
- return (0, _classPrivateFieldGet5.default)(this, _refocusElementGetter).call(this);
14361
+ if (typeof (0, _classPrivateFieldGet7.default)(this, _refocusElementGetter) === 'function') {
14362
+ return (0, _classPrivateFieldGet7.default)(this, _refocusElementGetter).call(this);
14368
14363
  } else {
14369
14364
  var _classPrivateFieldGet2;
14370
- return (_classPrivateFieldGet2 = (0, _classPrivateFieldGet5.default)(this, _hot).getActiveEditor()) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.TEXTAREA;
14365
+ return (_classPrivateFieldGet2 = (0, _classPrivateFieldGet7.default)(this, _hot).getActiveEditor()) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.TEXTAREA;
14371
14366
  }
14372
14367
  }
14373
14368
 
@@ -14377,17 +14372,26 @@ class FocusManager {
14377
14372
  * @param {HTMLTableCellElement} [selectedCell] The highlighted cell/header element.
14378
14373
  */
14379
14374
  focusOnHighlightedCell(selectedCell) {
14380
- var _classPrivateFieldGet3;
14381
- const currentHighlightCoords = _classPrivateMethodGet(this, _getCurrentHighlightCoords, _getCurrentHighlightCoords2).call(this);
14382
- const currentlySelectedHighlight = selectedCell || _classPrivateMethodGet(this, _getSelectedCell, _getSelectedCell2).call(this);
14383
- let elementToBeFocused = (0, _classPrivateFieldGet5.default)(this, _hot).runHooks('modifyFocusedElement', currentHighlightCoords.row, currentHighlightCoords.col, currentlySelectedHighlight);
14384
- if (!(elementToBeFocused instanceof HTMLElement)) {
14385
- elementToBeFocused = currentlySelectedHighlight;
14386
- }
14387
- if (elementToBeFocused && !((_classPrivateFieldGet3 = (0, _classPrivateFieldGet5.default)(this, _hot).getActiveEditor()) !== null && _classPrivateFieldGet3 !== void 0 && _classPrivateFieldGet3.isOpened())) {
14388
- elementToBeFocused.focus({
14389
- preventScroll: true
14390
- });
14375
+ const focusElement = element => {
14376
+ var _classPrivateFieldGet3, _classPrivateFieldGet4;
14377
+ const currentHighlightCoords = (_classPrivateFieldGet3 = (0, _classPrivateFieldGet7.default)(this, _hot).getSelectedRangeLast()) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.highlight;
14378
+ if (!currentHighlightCoords || !element) {
14379
+ return;
14380
+ }
14381
+ let elementToBeFocused = (0, _classPrivateFieldGet7.default)(this, _hot).runHooks('modifyFocusedElement', currentHighlightCoords.row, currentHighlightCoords.col, element);
14382
+ if (!(elementToBeFocused instanceof HTMLElement)) {
14383
+ elementToBeFocused = element;
14384
+ }
14385
+ if (elementToBeFocused && !((_classPrivateFieldGet4 = (0, _classPrivateFieldGet7.default)(this, _hot).getActiveEditor()) !== null && _classPrivateFieldGet4 !== void 0 && _classPrivateFieldGet4.isOpened())) {
14386
+ elementToBeFocused.focus({
14387
+ preventScroll: true
14388
+ });
14389
+ }
14390
+ };
14391
+ if (selectedCell) {
14392
+ focusElement(selectedCell);
14393
+ } else {
14394
+ _classPrivateMethodGet(this, _getSelectedCell, _getSelectedCell2).call(this, element => focusElement(element));
14391
14395
  }
14392
14396
  }
14393
14397
 
@@ -14398,47 +14402,57 @@ class FocusManager {
14398
14402
  * @param {number} delay Delay in milliseconds.
14399
14403
  */
14400
14404
  refocusToEditorTextarea() {
14401
- var _classPrivateFieldGet4;
14402
- let delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _classPrivateFieldGet5.default)(this, _refocusDelay);
14405
+ var _classPrivateFieldGet5;
14406
+ let delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _classPrivateFieldGet7.default)(this, _refocusDelay);
14403
14407
  const refocusElement = this.getRefocusElement();
14404
14408
 
14405
14409
  // Re-focus on the editor's `TEXTAREA` element (or a predefined element) if the `imeFastEdit` option is enabled.
14406
- if ((0, _classPrivateFieldGet5.default)(this, _hot).getSettings().imeFastEdit && !((_classPrivateFieldGet4 = (0, _classPrivateFieldGet5.default)(this, _hot).getActiveEditor()) !== null && _classPrivateFieldGet4 !== void 0 && _classPrivateFieldGet4.isOpened()) && !!refocusElement) {
14407
- (0, _classPrivateFieldGet5.default)(this, _hot)._registerTimeout(() => {
14410
+ if ((0, _classPrivateFieldGet7.default)(this, _hot).getSettings().imeFastEdit && !((_classPrivateFieldGet5 = (0, _classPrivateFieldGet7.default)(this, _hot).getActiveEditor()) !== null && _classPrivateFieldGet5 !== void 0 && _classPrivateFieldGet5.isOpened()) && !!refocusElement) {
14411
+ (0, _classPrivateFieldGet7.default)(this, _hot)._registerTimeout(() => {
14408
14412
  refocusElement.select();
14409
14413
  }, delay);
14410
14414
  }
14411
14415
  }
14412
14416
  }
14413
14417
  exports.FocusManager = FocusManager;
14414
- function _getCurrentHighlightCoords2() {
14415
- const lastSelectedRange = (0, _classPrivateFieldGet5.default)(this, _hot).getSelectedRangeLast();
14416
- return lastSelectedRange.highlight;
14417
- }
14418
14418
  function _getSelectedCell2() {
14419
- const selectedCellCoords = _classPrivateMethodGet(this, _getCurrentHighlightCoords, _getCurrentHighlightCoords2).call(this);
14420
- return (0, _classPrivateFieldGet5.default)(this, _hot).getCell(selectedCellCoords.row, selectedCellCoords.col, true);
14421
- }
14422
- function _manageFocus2() {
14423
- const selectedCell = _classPrivateMethodGet(this, _getSelectedCell, _getSelectedCell2).call(this);
14424
- const {
14425
- activeElement
14426
- } = (0, _classPrivateFieldGet5.default)(this, _hot).rootDocument;
14427
-
14428
- // Blurring the `activeElement` removes the unwanted border around the focusable element (#6877)
14429
- // and resets the `document.activeElement` property. The blurring should happen only when the
14430
- // previously selected input element has not belonged to the Handsontable editor. If blurring is
14431
- // triggered for all elements, there is a problem with the disappearing IME editor (#9672).
14432
- if (activeElement && (0, _element.isOutsideInput)(activeElement)) {
14433
- activeElement.blur();
14419
+ var _classPrivateFieldGet6;
14420
+ let callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : () => {};
14421
+ const highlight = (_classPrivateFieldGet6 = (0, _classPrivateFieldGet7.default)(this, _hot).getSelectedRangeLast()) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.highlight;
14422
+ if (!highlight) {
14423
+ (0, _classPrivateFieldGet7.default)(this, _hot)._registerTimeout(() => callback(null));
14424
+ return;
14434
14425
  }
14435
- this.focusOnHighlightedCell(selectedCell);
14436
- if (this.getFocusMode() === FOCUS_MODES.MIXED && selectedCell.nodeName === 'TD') {
14437
- (0, _classPrivateFieldGet5.default)(this, _hot).addHookOnce('afterSelectionEnd', () => {
14438
- this.refocusToEditorTextarea();
14426
+ const cell = (0, _classPrivateFieldGet7.default)(this, _hot).getCell(highlight.row, highlight.col, true);
14427
+ if (cell === null) {
14428
+ (0, _classPrivateFieldGet7.default)(this, _hot).addHookOnce('afterScroll', () => {
14429
+ callback((0, _classPrivateFieldGet7.default)(this, _hot).getCell(highlight.row, highlight.col, true));
14439
14430
  });
14431
+ } else {
14432
+ callback(cell);
14440
14433
  }
14441
14434
  }
14435
+ function _manageFocus2() {
14436
+ _classPrivateMethodGet(this, _getSelectedCell, _getSelectedCell2).call(this, selectedCell => {
14437
+ const {
14438
+ activeElement
14439
+ } = (0, _classPrivateFieldGet7.default)(this, _hot).rootDocument;
14440
+
14441
+ // Blurring the `activeElement` removes the unwanted border around the focusable element (#6877)
14442
+ // and resets the `document.activeElement` property. The blurring should happen only when the
14443
+ // previously selected input element has not belonged to the Handsontable editor. If blurring is
14444
+ // triggered for all elements, there is a problem with the disappearing IME editor (#9672).
14445
+ if (activeElement && (0, _element.isOutsideInput)(activeElement)) {
14446
+ activeElement.blur();
14447
+ }
14448
+ this.focusOnHighlightedCell(selectedCell);
14449
+ if (this.getFocusMode() === FOCUS_MODES.MIXED && selectedCell.nodeName === 'TD') {
14450
+ (0, _classPrivateFieldGet7.default)(this, _hot).addHookOnce('afterSelectionEnd', () => {
14451
+ this.refocusToEditorTextarea();
14452
+ });
14453
+ }
14454
+ });
14455
+ }
14442
14456
  function _onUpdateSettings2(newSettings) {
14443
14457
  if (newSettings.imeFastEdit && this.getFocusMode() !== FOCUS_MODES.MIXED) {
14444
14458
  this.setFocusMode(FOCUS_MODES.MIXED);
@@ -15456,8 +15470,10 @@ var _src = _interopRequireDefault(__webpack_require__(147));
15456
15470
  var _mouseEventHandler = __webpack_require__(217);
15457
15471
  var _rootInstance = __webpack_require__(218);
15458
15472
  var _a11y = __webpack_require__(114);
15473
+ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
15459
15474
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
15460
15475
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
15476
+ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
15461
15477
  /**
15462
15478
  * @class TableView
15463
15479
  * @private
@@ -15469,11 +15485,25 @@ var _mouseDown = /*#__PURE__*/new WeakMap();
15469
15485
  var _table = /*#__PURE__*/new WeakMap();
15470
15486
  var _lastWidth = /*#__PURE__*/new WeakMap();
15471
15487
  var _lastHeight = /*#__PURE__*/new WeakMap();
15488
+ var _getAriaColcount = /*#__PURE__*/new WeakSet();
15489
+ var _updateAriaColcount = /*#__PURE__*/new WeakSet();
15472
15490
  class TableView {
15473
15491
  /**
15474
15492
  * @param {Hanstontable} hotInstance Instance of {@link Handsontable}.
15475
15493
  */
15476
15494
  constructor(hotInstance) {
15495
+ /**
15496
+ * Update the `aria-colcount` attribute by the provided value.
15497
+ *
15498
+ * @param {number} delta The number of columns to add or remove to the aria tag.
15499
+ */
15500
+ _classPrivateMethodInitSpec(this, _updateAriaColcount);
15501
+ /**
15502
+ * Return the value of the `aria-colcount` attribute.
15503
+ *
15504
+ * @returns {number} The value of the `aria-colcount` attribute.
15505
+ */
15506
+ _classPrivateMethodInitSpec(this, _getAriaColcount);
15477
15507
  /**
15478
15508
  * Instance of {@link Handsontable}.
15479
15509
  *
@@ -15710,7 +15740,7 @@ class TableView {
15710
15740
  }
15711
15741
  if (this.settings.ariaTags) {
15712
15742
  (0, _element.setAttribute)((0, _classPrivateFieldGet2.default)(this, _table), [(0, _a11y.A11Y_PRESENTATION)()]);
15713
- (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)()]);
15743
+ (0, _element.setAttribute)(rootElement, [(0, _a11y.A11Y_TREEGRID)(), (0, _a11y.A11Y_ROWCOUNT)(-1), (0, _a11y.A11Y_COLCOUNT)(this.hot.countCols()), (0, _a11y.A11Y_MULTISELECTABLE)()]);
15714
15744
  }
15715
15745
  this.THEAD = rootDocument.createElement('THEAD');
15716
15746
  (0, _classPrivateFieldGet2.default)(this, _table).appendChild(this.THEAD);
@@ -16103,6 +16133,13 @@ class TableView {
16103
16133
  }
16104
16134
  this.hot.runHooks('afterGetRowHeaderRenderers', headerRenderers);
16105
16135
  (0, _classPrivateFieldSet2.default)(this, _rowHeadersCount, headerRenderers.length);
16136
+ if (this.hot.getSettings().ariaTags) {
16137
+ // Update the aria-colcount attribute.
16138
+ // Only needs to be done once after initialization/data update.
16139
+ if (_classPrivateMethodGet(this, _getAriaColcount, _getAriaColcount2).call(this) === this.hot.countCols()) {
16140
+ _classPrivateMethodGet(this, _updateAriaColcount, _updateAriaColcount2).call(this, (0, _classPrivateFieldGet2.default)(this, _rowHeadersCount));
16141
+ }
16142
+ }
16106
16143
  return headerRenderers;
16107
16144
  },
16108
16145
  columnHeaders: () => {
@@ -16742,7 +16779,6 @@ class TableView {
16742
16779
  getRowHeadersCount() {
16743
16780
  return (0, _classPrivateFieldGet2.default)(this, _rowHeadersCount);
16744
16781
  }
16745
-
16746
16782
  /**
16747
16783
  * Destroys internal WalkOnTable's instance. Detaches all of the bonded listeners.
16748
16784
  *
@@ -16753,6 +16789,13 @@ class TableView {
16753
16789
  this.eventManager.destroy();
16754
16790
  }
16755
16791
  }
16792
+ function _getAriaColcount2() {
16793
+ return parseInt(this.hot.rootElement.getAttribute((0, _a11y.A11Y_COLCOUNT)()[0]), 10);
16794
+ }
16795
+ function _updateAriaColcount2(delta) {
16796
+ const colCount = _classPrivateMethodGet(this, _getAriaColcount, _getAriaColcount2).call(this) + delta;
16797
+ (0, _element.setAttribute)(this.hot.rootElement, ...(0, _a11y.A11Y_COLCOUNT)(colCount));
16798
+ }
16756
16799
  var _default = TableView;
16757
16800
  exports["default"] = _default;
16758
16801
 
@@ -22406,7 +22449,7 @@ class ColumnHeadersRenderer extends _base.default {
22406
22449
  columnHeadersCount
22407
22450
  } = this.table;
22408
22451
  if (this.table.isAriaEnabled()) {
22409
- (0, _element.setAttribute)(this.rootNode, [(0, _a11y.A11Y_PRESENTATION)()]);
22452
+ (0, _element.setAttribute)(this.rootNode, [(0, _a11y.A11Y_ROWGROUP)()]);
22410
22453
  }
22411
22454
  for (let rowHeaderIndex = 0; rowHeaderIndex < columnHeadersCount; rowHeaderIndex += 1) {
22412
22455
  const {
@@ -22580,7 +22623,7 @@ class RowsRenderer extends _base.default {
22580
22623
  the number of rendered rows by specifying the table height and/or turning off the "renderAllRows" option.`);
22581
22624
  }
22582
22625
  if (this.table.isAriaEnabled()) {
22583
- (0, _element.setAttribute)(this.rootNode, [(0, _a11y.A11Y_PRESENTATION)()]);
22626
+ (0, _element.setAttribute)(this.rootNode, [(0, _a11y.A11Y_ROWGROUP)()]);
22584
22627
  }
22585
22628
  this.orderView.setSize(rowsToRender).setOffset(this.table.renderedRowToSource(0)).start();
22586
22629
  for (let visibleRowIndex = 0; visibleRowIndex < rowsToRender; visibleRowIndex++) {
@@ -23653,8 +23696,8 @@ class Overlay {
23653
23696
  rootDocument,
23654
23697
  rootWindow
23655
23698
  } = this.domBindings;
23656
- const clone = rootDocument.createElement('DIV');
23657
- const clonedTable = rootDocument.createElement('TABLE');
23699
+ const clone = rootDocument.createElement('div');
23700
+ const clonedTable = rootDocument.createElement('table');
23658
23701
  const tableParent = wtTable.wtRootElement.parentNode;
23659
23702
  clone.className = `${_constants.CLONE_CLASS_NAMES.get(this.type)} handsontable`;
23660
23703
  clone.setAttribute('dir', this.isRtl() ? 'rtl' : 'ltr');
@@ -41775,7 +41818,9 @@ function replaceData(data, setDataMapFunction, callbackFunction, config) {
41775
41818
  hotInstance.render();
41776
41819
  }
41777
41820
  if (hotInstance.getSettings().ariaTags) {
41778
- (0, _element.setAttribute)(hotInstance.rootElement, [(0, _a11y.A11Y_ROWCOUNT)(hotInstance.countRows()), (0, _a11y.A11Y_COLCOUNT)(hotInstance.countCols())]);
41821
+ (0, _element.setAttribute)(hotInstance.rootElement, [(0, _a11y.A11Y_ROWCOUNT)(-1),
41822
+ // If run after initialization, add the number of row headers.
41823
+ (0, _a11y.A11Y_COLCOUNT)(hotInstance.countCols() + (hotInstance.view ? hotInstance.countRowHeaders() : 0))]);
41779
41824
  }
41780
41825
  }
41781
41826
 
@@ -46610,7 +46655,6 @@ var _element = __webpack_require__(107);
46610
46655
  var _event = __webpack_require__(126);
46611
46656
  var _object = __webpack_require__(117);
46612
46657
  var _editorManager = __webpack_require__(120);
46613
- var _a11y = __webpack_require__(114);
46614
46658
  const SHORTCUTS_GROUP = 'handsontableEditor';
46615
46659
  const EDITOR_TYPE = 'handsontable';
46616
46660
 
@@ -46647,9 +46691,6 @@ class HandsontableEditor extends _textEditor.TextEditor {
46647
46691
  }
46648
46692
  (0, _element.setCaretPosition)(this.TEXTAREA, 0, this.TEXTAREA.value.length);
46649
46693
  this.refreshDimensions();
46650
- if (this.hot.getSettings().ariaTags) {
46651
- (0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('true')]);
46652
- }
46653
46694
  }
46654
46695
 
46655
46696
  /**
@@ -46661,9 +46702,6 @@ class HandsontableEditor extends _textEditor.TextEditor {
46661
46702
  }
46662
46703
  this.removeHooksByKey('beforeKeyDown');
46663
46704
  super.close();
46664
- if (this.TD && this.hot.getSettings().ariaTags) {
46665
- (0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('false')]);
46666
- }
46667
46705
  }
46668
46706
 
46669
46707
  /**
@@ -46944,7 +46982,6 @@ var _pikaday = _interopRequireDefault(__webpack_require__(356));
46944
46982
  var _textEditor = __webpack_require__(335);
46945
46983
  var _eventManager = _interopRequireDefault(__webpack_require__(131));
46946
46984
  var _element = __webpack_require__(107);
46947
- var _a11y = __webpack_require__(114);
46948
46985
  var _object = __webpack_require__(117);
46949
46986
  var _unicode = __webpack_require__(125);
46950
46987
  __webpack_require__(357);
@@ -47068,9 +47105,6 @@ class DateEditor extends _textEditor.TextEditor {
47068
47105
  const editorContext = shortcutManager.getContext('editor');
47069
47106
  super.open();
47070
47107
  this.showDatepicker(event);
47071
- if (this.hot.getSettings().ariaTags) {
47072
- (0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('true')]);
47073
- }
47074
47108
  editorContext.addShortcut({
47075
47109
  keys: [['Enter']],
47076
47110
  callback: keyboardEvent => {
@@ -47096,9 +47130,6 @@ class DateEditor extends _textEditor.TextEditor {
47096
47130
  this.hot._registerTimeout(() => {
47097
47131
  this.hot._refreshBorders();
47098
47132
  });
47099
- if (this.TD && this.hot.getSettings().ariaTags) {
47100
- (0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('false')]);
47101
- }
47102
47133
  const shortcutManager = this.hot.getShortcutManager();
47103
47134
  const editorContext = shortcutManager.getContext('editor');
47104
47135
  editorContext.removeShortcutsByGroup(SHORTCUTS_GROUP_EDITOR);
@@ -47358,6 +47389,7 @@ exports.PasswordEditor = _passwordEditor.PasswordEditor;
47358
47389
  exports.__esModule = true;
47359
47390
  var _textEditor = __webpack_require__(335);
47360
47391
  var _element = __webpack_require__(107);
47392
+ var _a11y = __webpack_require__(114);
47361
47393
  const EDITOR_TYPE = 'password';
47362
47394
 
47363
47395
  /**
@@ -47378,6 +47410,9 @@ class PasswordEditor extends _textEditor.TextEditor {
47378
47410
  this.textareaStyle = this.TEXTAREA.style;
47379
47411
  this.textareaStyle.width = 0;
47380
47412
  this.textareaStyle.height = 0;
47413
+ if (this.hot.getSettings().ariaTags) {
47414
+ (0, _element.setAttribute)(this.TEXTAREA, [(0, _a11y.A11Y_HIDDEN)()]);
47415
+ }
47381
47416
  (0, _element.empty)(this.TEXTAREA_PARENT);
47382
47417
  this.TEXTAREA_PARENT.appendChild(this.TEXTAREA);
47383
47418
  }
@@ -47800,9 +47835,6 @@ function autocompleteRenderer(hotInstance, TD, row, col, prop, value, cellProper
47800
47835
 
47801
47836
  TD.insertBefore(ARROW, TD.firstChild);
47802
47837
  (0, _element.addClass)(TD, 'htAutocomplete');
47803
- if (isAriaEnabled) {
47804
- TD.setAttribute(...(0, _a11y.A11Y_HASPOPUP)('listbox'));
47805
- }
47806
47838
  if (!hotInstance.acArrowListener) {
47807
47839
  const eventManager = new _eventManager.default(hotInstance);
47808
47840
 
@@ -48188,7 +48220,6 @@ function createInput(rootDocument) {
48188
48220
  const input = rootDocument.createElement('input');
48189
48221
  input.className = 'htCheckboxRendererInput';
48190
48222
  input.type = 'checkbox';
48191
- input.setAttribute('autocomplete', 'off');
48192
48223
  input.setAttribute('tabindex', '-1');
48193
48224
  return input.cloneNode(false);
48194
48225
  }
@@ -49014,8 +49045,6 @@ exports.dateRenderer = _dateRenderer.dateRenderer;
49014
49045
  exports.__esModule = true;
49015
49046
  exports.dateRenderer = dateRenderer;
49016
49047
  var _autocompleteRenderer = __webpack_require__(369);
49017
- var _a11y = __webpack_require__(114);
49018
- var _element = __webpack_require__(107);
49019
49048
  const RENDERER_TYPE = 'date';
49020
49049
 
49021
49050
  /**
@@ -49033,9 +49062,6 @@ const RENDERER_TYPE = 'date';
49033
49062
  exports.RENDERER_TYPE = RENDERER_TYPE;
49034
49063
  function dateRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
49035
49064
  _autocompleteRenderer.autocompleteRenderer.apply(this, [hotInstance, TD, row, col, prop, value, cellProperties]);
49036
- if (hotInstance.getSettings().ariaTags) {
49037
- (0, _element.setAttribute)(TD, [(0, _a11y.A11Y_HASPOPUP)('dialog'), (0, _a11y.A11Y_EXPANDED)('false')]);
49038
- }
49039
49065
  }
49040
49066
  dateRenderer.RENDERER_TYPE = RENDERER_TYPE;
49041
49067
 
@@ -49127,8 +49153,6 @@ exports.handsontableRenderer = _handsontableRenderer.handsontableRenderer;
49127
49153
  exports.__esModule = true;
49128
49154
  exports.handsontableRenderer = handsontableRenderer;
49129
49155
  var _autocompleteRenderer = __webpack_require__(369);
49130
- var _a11y = __webpack_require__(114);
49131
- var _element = __webpack_require__(107);
49132
49156
  const RENDERER_TYPE = 'handsontable';
49133
49157
 
49134
49158
  /**
@@ -49146,9 +49170,6 @@ const RENDERER_TYPE = 'handsontable';
49146
49170
  exports.RENDERER_TYPE = RENDERER_TYPE;
49147
49171
  function handsontableRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
49148
49172
  _autocompleteRenderer.autocompleteRenderer.apply(this, [hotInstance, TD, row, col, prop, value, cellProperties]);
49149
- if (hotInstance.getSettings().ariaTags) {
49150
- (0, _element.setAttribute)(TD, [(0, _a11y.A11Y_HASPOPUP)('true'), (0, _a11y.A11Y_EXPANDED)('false')]);
49151
- }
49152
49173
  }
49153
49174
  handsontableRenderer.RENDERER_TYPE = RENDERER_TYPE;
49154
49175
 
@@ -49271,8 +49292,6 @@ exports.selectRenderer = _selectRenderer.selectRenderer;
49271
49292
  exports.__esModule = true;
49272
49293
  exports.selectRenderer = selectRenderer;
49273
49294
  var _textRenderer = __webpack_require__(342);
49274
- var _a11y = __webpack_require__(114);
49275
- var _element = __webpack_require__(107);
49276
49295
  const RENDERER_TYPE = 'select';
49277
49296
 
49278
49297
  /**
@@ -49288,9 +49307,6 @@ const RENDERER_TYPE = 'select';
49288
49307
  exports.RENDERER_TYPE = RENDERER_TYPE;
49289
49308
  function selectRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
49290
49309
  _textRenderer.textRenderer.apply(this, [hotInstance, TD, row, col, prop, value, cellProperties]);
49291
- if (hotInstance.getSettings().ariaTags) {
49292
- (0, _element.setAttribute)(TD, ...(0, _a11y.A11Y_HASPOPUP)('listbox'));
49293
- }
49294
49310
  }
49295
49311
  selectRenderer.RENDERER_TYPE = RENDERER_TYPE;
49296
49312
 
@@ -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-a417c2b-20231124
29
- * Release date: 31/08/2023 (built at 24/11/2023 11:00:38)
28
+ * Version: 0.0.0-next-301795f-20231127
29
+ * Release date: 31/08/2023 (built at 27/11/2023 14:46:38)
30
30
  */.handsontable .table td,.handsontable .table th{border-top:none}.handsontable tr{background:#fff}.handsontable td{background-color:inherit}.handsontable .table caption+thead tr:first-child td,.handsontable .table caption+thead tr:first-child th,.handsontable .table colgroup+thead tr:first-child td,.handsontable .table colgroup+thead tr:first-child th,.handsontable .table thead:first-child tr:first-child td,.handsontable .table thead:first-child tr:first-child th{border-top:1px solid #ccc}.handsontable .table-bordered{border:0;border-collapse:separate}.handsontable .table-bordered td,.handsontable .table-bordered th{border-left:none}.handsontable .table-bordered td:first-child,.handsontable .table-bordered th:first-child{border-left:1px solid #ccc}.handsontable .table>tbody>tr>td,.handsontable .table>tbody>tr>th,.handsontable .table>tfoot>tr>td,.handsontable .table>tfoot>tr>th,.handsontable .table>thead>tr>td,.handsontable .table>thead>tr>th{line-height:21px;padding:0}.col-lg-1.handsontable,.col-lg-10.handsontable,.col-lg-11.handsontable,.col-lg-12.handsontable,.col-lg-2.handsontable,.col-lg-3.handsontable,.col-lg-4.handsontable,.col-lg-5.handsontable,.col-lg-6.handsontable,.col-lg-7.handsontable,.col-lg-8.handsontable,.col-lg-9.handsontable,.col-md-1.handsontable,.col-md-10.handsontable,.col-md-11.handsontable,.col-md-12.handsontable,.col-md-2.handsontable,.col-md-3.handsontable,.col-md-4.handsontable,.col-md-5.handsontable,.col-md-6.handsontable,.col-md-7.handsontable,.col-md-8.handsontable,.col-md-9.handsontable .col-sm-1.handsontable,.col-sm-10.handsontable,.col-sm-11.handsontable,.col-sm-12.handsontable,.col-sm-2.handsontable,.col-sm-3.handsontable,.col-sm-4.handsontable,.col-sm-5.handsontable,.col-sm-6.handsontable,.col-sm-7.handsontable,.col-sm-8.handsontable,.col-sm-9.handsontable .col-xs-1.handsontable,.col-xs-10.handsontable,.col-xs-11.handsontable,.col-xs-12.handsontable,.col-xs-2.handsontable,.col-xs-3.handsontable,.col-xs-4.handsontable,.col-xs-5.handsontable,.col-xs-6.handsontable,.col-xs-7.handsontable,.col-xs-8.handsontable,.col-xs-9.handsontable{padding-left:0;padding-right:0}.handsontable .table-striped>tbody>tr:nth-of-type(2n){background-color:#fff}.handsontable{position:relative}.handsontable .hide{display:none}.handsontable .relative{position:relative}.handsontable .wtHider{width:0}.handsontable .wtSpreader{height:auto;position:relative;width:0}.handsontable div,.handsontable input,.handsontable table,.handsontable tbody,.handsontable td,.handsontable textarea,.handsontable th,.handsontable thead{box-sizing:content-box;-webkit-box-sizing:content-box;-moz-box-sizing:content-box}.handsontable input,.handsontable textarea{min-height:auto}.handsontable table.htCore{border-collapse:separate;border-spacing:0;border-width:0;cursor:default;margin:0;max-height:none;max-width:none;outline-width:0;table-layout:fixed;width:0}.handsontable col,.handsontable col.rowHeader{width:50px}.handsontable td,.handsontable th{background-color:#fff;border-bottom:1px solid #ccc;border-left-width:0;border-right:1px solid #ccc;border-top-width:0;empty-cells:show;height:22px;line-height:21px;outline:none;outline-width:0;overflow:hidden;padding:0 4px;vertical-align:top;white-space:pre-wrap}[dir=rtl].handsontable td,[dir=rtl].handsontable th{border-left:1px solid #ccc;border-right-width:0}.handsontable th:last-child{border-bottom:1px solid #ccc;border-left:none;border-right:1px solid #ccc}[dir=rtl].handsontable th:last-child{border-left:1px solid #ccc;border-right:none}.handsontable td:first-of-type,.handsontable th:first-child,.handsontable th:nth-child(2){border-left:1px solid #ccc}[dir=rtl].handsontable td:first-of-type,[dir=rtl].handsontable th:first-child,[dir=rtl].handsontable th:nth-child(2){border-right:1px solid #ccc}.handsontable .ht_clone_top th:nth-child(2){border-left-width:0;border-right:1px solid #ccc}[dir=rtl].handsontable .ht_clone_top th:nth-child(2){border-left:1px solid #ccc;border-right-width:0}.handsontable.htRowHeaders thead tr th:nth-child(2){border-left:1px solid #ccc}[dir=rtl].handsontable.htRowHeaders thead tr th:nth-child(2){border-right:1px solid #ccc}.handsontable tr:first-child td,.handsontable tr:first-child th{border-top:1px solid #ccc}.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top) thead tr th:first-child{border-left:1px solid #ccc;border-right-width:0}[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top) thead tr th:first-child{border-left-width:0;border-right:1px solid #ccc}.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr:last-child th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr:last-child th{border-bottom-width:0}.handsontable th{background-color:#f0f0f0;color:#222;font-weight:400;text-align:center;white-space:nowrap}.handsontable thead th{padding:0}.handsontable th.active{background-color:#ccc}.handsontable thead th .relative{padding:2px 4px}.handsontable span.colHeader{display:inline-block;line-height:1.1}.handsontable .wtBorder{font-size:0;position:absolute}.handsontable .wtBorder.hidden{display:none!important}.handsontable .wtBorder.current{z-index:10}.handsontable .wtBorder.area{z-index:8}.handsontable .wtBorder.fill{z-index:6}.handsontable .wtBorder.corner{cursor:crosshair;font-size:0}.ht_clone_master{z-index:100}.ht_clone_inline_start{z-index:120}.ht_clone_bottom{z-index:130}.ht_clone_bottom_inline_start_corner{z-index:150}.ht_clone_top{z-index:160}.ht_clone_top_inline_start_corner{z-index:180}.handsontable col.hidden{width:0!important}.handsontable tr.hidden,.handsontable tr.hidden td,.handsontable tr.hidden th{display:none}.ht_clone_bottom,.ht_clone_inline_start,.ht_clone_top,.ht_master{overflow:hidden}.ht_master .wtHolder{overflow:auto}.handsontable .ht_clone_inline_start thead,.handsontable .ht_master thead,.handsontable .ht_master tr th{visibility:hidden}.ht_clone_bottom .wtHolder,.ht_clone_inline_start .wtHolder,.ht_clone_top .wtHolder{overflow:hidden}.handsontable{color:#373737;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:13px;font-weight:400;touch-action:manipulation}.handsontable a{color:#104acc}.handsontable.htAutoSize{left:-99000px;position:absolute;top:-99000px;visibility:hidden}.handsontable td.htInvalid{background-color:#ffbeba!important}.handsontable td.htNoWrap{white-space:nowrap}.handsontable td.invisibleSelection,.handsontable th.invisibleSelection{outline:none}.handsontable td.invisibleSelection::selection,.handsontable th.invisibleSelection::selection{background:hsla(0,0%,100%,0)}.hot-display-license-info{color:#373737;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:10px;font-weight:400;padding:5px 0 3px;text-align:left}.hot-display-license-info a{color:#104acc;font-size:10px}.handsontable .htFocusCatcher{border:0;height:0;margin:0;opacity:0;padding:0;position:absolute;width:0;z-index:-1}.handsontable .manualColumnResizer{cursor:col-resize;height:25px;position:absolute;top:0;width:5px;z-index:210}.handsontable .manualRowResizer{cursor:row-resize;height:5px;left:0;position:absolute;width:50px;z-index:210}.handsontable .manualColumnResizer.active,.handsontable .manualColumnResizer:hover,.handsontable .manualRowResizer.active,.handsontable .manualRowResizer:hover{background-color:#34a9db}.handsontable .manualColumnResizerGuide{background-color:#34a9db;border-left:none;border-right:1px dashed #777;display:none;margin-left:5px;margin-right:unset;position:absolute;right:unset;top:0;width:0}[dir=rtl].handsontable .manualColumnResizerGuide{border-left:1px dashed #777;border-right:none;left:unset;margin-left:unset;margin-right:5px}.handsontable .manualRowResizerGuide{background-color:#34a9db;border-bottom:1px dashed #777;bottom:0;display:none;height:0;left:0;margin-top:5px;position:absolute}.handsontable .manualColumnResizerGuide.active,.handsontable .manualRowResizerGuide.active{display:block;z-index:209}.handsontable .columnSorting{position:relative}.handsontable .columnSorting.sortAction:hover{cursor:pointer;text-decoration:underline}.handsontable span.colHeader.columnSorting:before{background-position-x:right;background-repeat:no-repeat;background-size:contain;content:"";height:10px;left:unset;margin-top:-6px;padding-left:8px;padding-right:0;position:absolute;right:-9px;top:50%;width:5px}[dir=rtl].handsontable span.colHeader.columnSorting:before{background-position-x:left;left:-9px;padding-left:0;padding-right:8px;right:unset}.handsontable span.colHeader.columnSorting.ascending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFNJREFUeAHtzjkSgCAUBNHPgsoy97+ulGXRqJE5L+xkxoYt2UdsLb5bqFINz+aLuuLn5rIu2RkO3fZpWENimNgiw6iBYRTPMLJjGFxQZ1hxxb/xBI1qC8k39CdKAAAAAElFTkSuQmCC)}.handsontable span.colHeader.columnSorting.descending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFJJREFUeAHtzjkSgCAQRNFmQYUZ7n9dKUvru0TmvPAn3br0QfgdZ5xx6x+rQn23GqTYnq1FDcnuzZIO2WmedVqIRVxgGKEyjNgYRjKGkZ1hFIZ3I70LyM0VtU8AAAAASUVORK5CYII=)}.htGhostTable .htCore span.colHeader.columnSorting:not(.indicatorDisabled):before{content:"*";display:inline-block;padding-right:20px;position:relative}.handsontable td.area,.handsontable td.area-1,.handsontable td.area-2,.handsontable td.area-3,.handsontable td.area-4,.handsontable td.area-5,.handsontable td.area-6,.handsontable td.area-7{position:relative}.handsontable td.area-1:before,.handsontable td.area-2:before,.handsontable td.area-3:before,.handsontable td.area-4:before,.handsontable td.area-5:before,.handsontable td.area-6:before,.handsontable td.area-7:before,.handsontable td.area:before{background:#005eff;bottom:0;bottom:-100%\9;content:"";left:0;position:absolute;right:0;top:0}@media (-ms-high-contrast:none),screen and (-ms-high-contrast:active){.handsontable td.area-1:before,.handsontable td.area-2:before,.handsontable td.area-3:before,.handsontable td.area-4:before,.handsontable td.area-5:before,.handsontable td.area-6:before,.handsontable td.area-7:before,.handsontable td.area:before{bottom:-100%}}.handsontable td.area:before{opacity:.1}.handsontable td.area-1:before{opacity:.2}.handsontable td.area-2:before{opacity:.27}.handsontable td.area-3:before{opacity:.35}.handsontable td.area-4:before{opacity:.41}.handsontable td.area-5:before{opacity:.47}.handsontable td.area-6:before{opacity:.54}.handsontable td.area-7:before{opacity:.58}.handsontable tbody th.current,.handsontable thead th.current{box-shadow:inset 0 0 0 2px #4b89ff}.handsontable tbody th.ht__highlight,.handsontable thead th.ht__highlight{background-color:#dcdcdc}.handsontable tbody th.ht__active_highlight,.handsontable thead th.ht__active_highlight{background-color:#8eb0e7;color:#000}.handsontableInput{background-color:#fff;border:none;border-radius:0;box-shadow:inset 0 0 0 2px #5292f7;color:#000;display:block;font-family:inherit;font-size:inherit;line-height:21px;margin:0;outline-width:0;padding:1px 5px 0;resize:none}.handsontableInput:focus{outline:none}.handsontableInputHolder{left:0;position:absolute;top:0}.htSelectEditor{-webkit-appearance:menulist-button!important;position:absolute;width:auto}.htSelectEditor:focus{outline:none}.handsontable .htDimmed{color:#777}.handsontable .htSubmenu{position:relative}.handsontable .htSubmenu :after{color:#777;content:"▶";font-size:9px;position:absolute;right:5px}[dir=rtl].handsontable .htSubmenu :after{content:""}[dir=rtl].handsontable .htSubmenu :before{color:#777;content:"◀";font-size:9px;left:5px;position:absolute}.handsontable .htLeft{text-align:left}.handsontable .htCenter{text-align:center}.handsontable .htRight{text-align:right}.handsontable .htJustify{text-align:justify}.handsontable .htTop{vertical-align:top}.handsontable .htMiddle{vertical-align:middle}.handsontable .htBottom{vertical-align:bottom}.handsontable .htPlaceholder{color:#999}.handsontable.listbox{margin:0}.handsontable.listbox .ht_master table{background:#fff;border:1px solid #ccc;border-collapse:separate}.handsontable.listbox td,.handsontable.listbox th,.handsontable.listbox tr:first-child td,.handsontable.listbox tr:first-child th,.handsontable.listbox tr:last-child th{border-color:transparent!important}.handsontable.listbox td,.handsontable.listbox th{text-overflow:ellipsis;white-space:nowrap}.handsontable.listbox td.htDimmed{color:inherit;cursor:default;font-style:inherit}.handsontable.listbox .wtBorder{visibility:hidden}.handsontable.listbox tr td.current,.handsontable.listbox tr:hover td{background:#eee}.ht_editor_hidden{z-index:-1}.ht_editor_visible{z-index:200}.handsontable td.htSearchResult{background:#fcedd9;color:#583707}.handsontable .collapsibleIndicator{background:#eee;border:1px solid #a6a6a6;border-radius:10px;-webkit-box-shadow:0 0 0 6px #eee;-moz-box-shadow:0 0 0 6px #eee;box-shadow:0 0 0 3px #eee;color:#222;cursor:pointer;font-size:10px;height:10px;left:unset;line-height:8px;position:absolute;right:5px;text-align:center;top:50%;transform:translateY(-50%);width:10px}[dir=rtl].handsontable .collapsibleIndicator{left:5px;right:unset}.handsontable.mobile,.handsontable.mobile .wtHolder{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-overflow-scrolling:touch;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.handsontable.mobile .handsontableInput:focus{-webkit-appearance:none;-webkit-box-shadow:inset 0 0 0 2px #5292f7;-moz-box-shadow:inset 0 0 0 2px #5292f7;box-shadow:inset 0 0 0 2px #5292f7}.handsontable .bottomSelectionHandle,.handsontable .bottomSelectionHandle-HitArea,.handsontable .topSelectionHandle,.handsontable .topSelectionHandle-HitArea{left:-10000px;right:unset;top:-10000px;z-index:9999}[dir=rtl].handsontable .bottomSelectionHandle,[dir=rtl].handsontable .bottomSelectionHandle-HitArea,[dir=rtl].handsontable .topSelectionHandle,[dir=rtl].handsontable .topSelectionHandle-HitArea{left:unset;right:-10000px}.handsontable.hide-tween{-webkit-animation:opacity-hide .3s;animation:opacity-hide .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable.show-tween{-webkit-animation:opacity-show .3s;animation:opacity-show .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable .htAutocompleteArrow{color:#bbb;cursor:default;float:right;font-size:10px;text-align:center;width:16px}[dir=rtl].handsontable .htAutocompleteArrow{float:left}.handsontable td.htInvalid .htAutocompleteArrow{color:#555}.handsontable td.htInvalid .htAutocompleteArrow:hover{color:#1a1a1a}.handsontable td .htAutocompleteArrow:hover{color:#777}.handsontable td.area .htAutocompleteArrow{color:#d3d3d3}.handsontable .htCheckboxRendererInput{display:inline-block}.handsontable .htCheckboxRendererInput.noValue{opacity:.5}.handsontable .htCheckboxRendererLabel{cursor:pointer;display:inline-block;font-size:inherit;vertical-align:middle}.handsontable .htCheckboxRendererLabel.fullWidth{width:100%}.handsontable .htCommentCell{position:relative}.handsontable .htCommentCell:after{border-left:6px solid transparent;border-right:none;border-top:6px solid #000;content:"";left:unset;position:absolute;right:0;top:0}[dir=rtl].handsontable .htCommentCell:after{border-left:none;border-right:6px solid transparent;left:0;right:unset}.htCommentsContainer .htComments{display:none;position:absolute;z-index:1059}.htCommentsContainer .htCommentTextArea{-webkit-appearance:none;background-color:#fff;border:none;border-left:3px solid #ccc;box-shadow:0 1px 3px rgba(0,0,0,.118),0 1px 2px rgba(0,0,0,.239);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:12px;height:90px;outline:0!important;padding:5px;width:215px}[dir=rtl].htCommentsContainer .htCommentTextArea{border-left:none;border-right:3px solid #ccc}.htCommentsContainer .htCommentTextArea:focus{border-left:3px solid #5292f7;border-right:none;box-shadow:0 1px 3px rgba(0,0,0,.118),0 1px 2px rgba(0,0,0,.239),inset 0 0 0 1px #5292f7}[dir=rtl].htCommentsContainer .htCommentTextArea:focus{border-left:none;border-right:3px solid #5292f7}
31
31
  /*!
32
32
  * Handsontable ContextMenu