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')
@@ -42664,8 +42664,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
42664
42664
  Handsontable.CellCoords = _src.CellCoords;
42665
42665
  Handsontable.CellRange = _src.CellRange;
42666
42666
  Handsontable.packageName = 'handsontable';
42667
- Handsontable.buildDate = "24/11/2023 11:00:21";
42668
- Handsontable.version = "0.0.0-next-a417c2b-20231124";
42667
+ Handsontable.buildDate = "27/11/2023 14:46:21";
42668
+ Handsontable.version = "0.0.0-next-301795f-20231127";
42669
42669
  Handsontable.languages = {
42670
42670
  dictionaryKeys: _registry.dictionaryKeys,
42671
42671
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -52786,7 +52786,7 @@ const domMessages = {
52786
52786
  function _injectProductInfo(key, element) {
52787
52787
  const hasValidType = !isEmpty(key);
52788
52788
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
52789
- const hotVersion = "0.0.0-next-a417c2b-20231124";
52789
+ const hotVersion = "0.0.0-next-301795f-20231127";
52790
52790
  let keyValidityDate;
52791
52791
  let consoleMessageState = 'invalid';
52792
52792
  let domMessageState = 'invalid';
@@ -60038,6 +60038,8 @@ const A11Y_GRIDCELL = () => ['role', 'gridcell'];
60038
60038
  exports.A11Y_GRIDCELL = A11Y_GRIDCELL;
60039
60039
  const A11Y_ROWHEADER = () => ['role', 'rowheader'];
60040
60040
  exports.A11Y_ROWHEADER = A11Y_ROWHEADER;
60041
+ const A11Y_ROWGROUP = () => ['role', 'rowgroup'];
60042
+ exports.A11Y_ROWGROUP = A11Y_ROWGROUP;
60041
60043
  const A11Y_COLUMNHEADER = () => ['role', 'columnheader'];
60042
60044
  exports.A11Y_COLUMNHEADER = A11Y_COLUMNHEADER;
60043
60045
  const A11Y_ROW = () => ['role', 'row'];
@@ -65253,7 +65255,7 @@ function getListenersCounter() {
65253
65255
  __webpack_require__(273);
65254
65256
  var _interopRequireDefault = __webpack_require__(196);
65255
65257
  exports.__esModule = true;
65256
- var _classPrivateFieldGet5 = _interopRequireDefault(__webpack_require__(464));
65258
+ var _classPrivateFieldGet7 = _interopRequireDefault(__webpack_require__(464));
65257
65259
  var _classPrivateFieldSet2 = _interopRequireDefault(__webpack_require__(467));
65258
65260
  var _console = __webpack_require__(460);
65259
65261
  var _element = __webpack_require__(302);
@@ -65281,7 +65283,6 @@ var _hot = /*#__PURE__*/new WeakMap();
65281
65283
  var _focusMode = /*#__PURE__*/new WeakMap();
65282
65284
  var _refocusDelay = /*#__PURE__*/new WeakMap();
65283
65285
  var _refocusElementGetter = /*#__PURE__*/new WeakMap();
65284
- var _getCurrentHighlightCoords = /*#__PURE__*/new WeakSet();
65285
65286
  var _getSelectedCell = /*#__PURE__*/new WeakSet();
65286
65287
  var _manageFocus = /*#__PURE__*/new WeakSet();
65287
65288
  var _onUpdateSettings = /*#__PURE__*/new WeakSet();
@@ -65305,15 +65306,9 @@ class FocusManager {
65305
65306
  * Get and return the currently selected and highlighted cell/header element.
65306
65307
  *
65307
65308
  * @private
65308
- * @returns {HTMLTableCellElement}
65309
+ * @param {Function} [callback] Callback function to be called after the cell element is retrieved.
65309
65310
  */
65310
65311
  _classPrivateMethodInitSpec(this, _getSelectedCell);
65311
- /**
65312
- * Get the coordinates of the highlight of the currently selected cell/header.
65313
- *
65314
- * @returns {CellCoords}
65315
- */
65316
- _classPrivateMethodInitSpec(this, _getCurrentHighlightCoords);
65317
65312
  /**
65318
65313
  * The Handsontable instance.
65319
65314
  */
@@ -65358,13 +65353,13 @@ class FocusManager {
65358
65353
  const hotSettings = hotInstance.getSettings();
65359
65354
  (0, _classPrivateFieldSet2.default)(this, _hot, hotInstance);
65360
65355
  (0, _classPrivateFieldSet2.default)(this, _focusMode, hotSettings.imeFastEdit ? FOCUS_MODES.MIXED : FOCUS_MODES.CELL);
65361
- (0, _classPrivateFieldGet5.default)(this, _hot).addHook('afterUpdateSettings', function () {
65356
+ (0, _classPrivateFieldGet7.default)(this, _hot).addHook('afterUpdateSettings', function () {
65362
65357
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
65363
65358
  args[_key] = arguments[_key];
65364
65359
  }
65365
65360
  return _classPrivateMethodGet(_this, _onUpdateSettings, _onUpdateSettings2).call(_this, ...args);
65366
65361
  });
65367
- (0, _classPrivateFieldGet5.default)(this, _hot).addHook('afterSelection', function () {
65362
+ (0, _classPrivateFieldGet7.default)(this, _hot).addHook('afterSelection', function () {
65368
65363
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
65369
65364
  args[_key2] = arguments[_key2];
65370
65365
  }
@@ -65378,7 +65373,7 @@ class FocusManager {
65378
65373
  * @returns {'cell' | 'mixed'}
65379
65374
  */
65380
65375
  getFocusMode() {
65381
- return (0, _classPrivateFieldGet5.default)(this, _focusMode);
65376
+ return (0, _classPrivateFieldGet7.default)(this, _focusMode);
65382
65377
  }
65383
65378
 
65384
65379
  /**
@@ -65401,7 +65396,7 @@ class FocusManager {
65401
65396
  * @returns {number} Delay in milliseconds.
65402
65397
  */
65403
65398
  getRefocusDelay() {
65404
- return (0, _classPrivateFieldGet5.default)(this, _refocusDelay);
65399
+ return (0, _classPrivateFieldGet7.default)(this, _refocusDelay);
65405
65400
  }
65406
65401
 
65407
65402
  /**
@@ -65429,11 +65424,11 @@ class FocusManager {
65429
65424
  * @returns {HTMLTextAreaElement|HTMLElement|undefined}
65430
65425
  */
65431
65426
  getRefocusElement() {
65432
- if (typeof (0, _classPrivateFieldGet5.default)(this, _refocusElementGetter) === 'function') {
65433
- return (0, _classPrivateFieldGet5.default)(this, _refocusElementGetter).call(this);
65427
+ if (typeof (0, _classPrivateFieldGet7.default)(this, _refocusElementGetter) === 'function') {
65428
+ return (0, _classPrivateFieldGet7.default)(this, _refocusElementGetter).call(this);
65434
65429
  } else {
65435
65430
  var _classPrivateFieldGet2;
65436
- return (_classPrivateFieldGet2 = (0, _classPrivateFieldGet5.default)(this, _hot).getActiveEditor()) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.TEXTAREA;
65431
+ return (_classPrivateFieldGet2 = (0, _classPrivateFieldGet7.default)(this, _hot).getActiveEditor()) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.TEXTAREA;
65437
65432
  }
65438
65433
  }
65439
65434
 
@@ -65443,17 +65438,26 @@ class FocusManager {
65443
65438
  * @param {HTMLTableCellElement} [selectedCell] The highlighted cell/header element.
65444
65439
  */
65445
65440
  focusOnHighlightedCell(selectedCell) {
65446
- var _classPrivateFieldGet3;
65447
- const currentHighlightCoords = _classPrivateMethodGet(this, _getCurrentHighlightCoords, _getCurrentHighlightCoords2).call(this);
65448
- const currentlySelectedHighlight = selectedCell || _classPrivateMethodGet(this, _getSelectedCell, _getSelectedCell2).call(this);
65449
- let elementToBeFocused = (0, _classPrivateFieldGet5.default)(this, _hot).runHooks('modifyFocusedElement', currentHighlightCoords.row, currentHighlightCoords.col, currentlySelectedHighlight);
65450
- if (!(elementToBeFocused instanceof HTMLElement)) {
65451
- elementToBeFocused = currentlySelectedHighlight;
65452
- }
65453
- if (elementToBeFocused && !((_classPrivateFieldGet3 = (0, _classPrivateFieldGet5.default)(this, _hot).getActiveEditor()) !== null && _classPrivateFieldGet3 !== void 0 && _classPrivateFieldGet3.isOpened())) {
65454
- elementToBeFocused.focus({
65455
- preventScroll: true
65456
- });
65441
+ const focusElement = element => {
65442
+ var _classPrivateFieldGet3, _classPrivateFieldGet4;
65443
+ const currentHighlightCoords = (_classPrivateFieldGet3 = (0, _classPrivateFieldGet7.default)(this, _hot).getSelectedRangeLast()) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.highlight;
65444
+ if (!currentHighlightCoords || !element) {
65445
+ return;
65446
+ }
65447
+ let elementToBeFocused = (0, _classPrivateFieldGet7.default)(this, _hot).runHooks('modifyFocusedElement', currentHighlightCoords.row, currentHighlightCoords.col, element);
65448
+ if (!(elementToBeFocused instanceof HTMLElement)) {
65449
+ elementToBeFocused = element;
65450
+ }
65451
+ if (elementToBeFocused && !((_classPrivateFieldGet4 = (0, _classPrivateFieldGet7.default)(this, _hot).getActiveEditor()) !== null && _classPrivateFieldGet4 !== void 0 && _classPrivateFieldGet4.isOpened())) {
65452
+ elementToBeFocused.focus({
65453
+ preventScroll: true
65454
+ });
65455
+ }
65456
+ };
65457
+ if (selectedCell) {
65458
+ focusElement(selectedCell);
65459
+ } else {
65460
+ _classPrivateMethodGet(this, _getSelectedCell, _getSelectedCell2).call(this, element => focusElement(element));
65457
65461
  }
65458
65462
  }
65459
65463
 
@@ -65464,47 +65468,57 @@ class FocusManager {
65464
65468
  * @param {number} delay Delay in milliseconds.
65465
65469
  */
65466
65470
  refocusToEditorTextarea() {
65467
- var _classPrivateFieldGet4;
65468
- let delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _classPrivateFieldGet5.default)(this, _refocusDelay);
65471
+ var _classPrivateFieldGet5;
65472
+ let delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _classPrivateFieldGet7.default)(this, _refocusDelay);
65469
65473
  const refocusElement = this.getRefocusElement();
65470
65474
 
65471
65475
  // Re-focus on the editor's `TEXTAREA` element (or a predefined element) if the `imeFastEdit` option is enabled.
65472
- if ((0, _classPrivateFieldGet5.default)(this, _hot).getSettings().imeFastEdit && !((_classPrivateFieldGet4 = (0, _classPrivateFieldGet5.default)(this, _hot).getActiveEditor()) !== null && _classPrivateFieldGet4 !== void 0 && _classPrivateFieldGet4.isOpened()) && !!refocusElement) {
65473
- (0, _classPrivateFieldGet5.default)(this, _hot)._registerTimeout(() => {
65476
+ if ((0, _classPrivateFieldGet7.default)(this, _hot).getSettings().imeFastEdit && !((_classPrivateFieldGet5 = (0, _classPrivateFieldGet7.default)(this, _hot).getActiveEditor()) !== null && _classPrivateFieldGet5 !== void 0 && _classPrivateFieldGet5.isOpened()) && !!refocusElement) {
65477
+ (0, _classPrivateFieldGet7.default)(this, _hot)._registerTimeout(() => {
65474
65478
  refocusElement.select();
65475
65479
  }, delay);
65476
65480
  }
65477
65481
  }
65478
65482
  }
65479
65483
  exports.FocusManager = FocusManager;
65480
- function _getCurrentHighlightCoords2() {
65481
- const lastSelectedRange = (0, _classPrivateFieldGet5.default)(this, _hot).getSelectedRangeLast();
65482
- return lastSelectedRange.highlight;
65483
- }
65484
65484
  function _getSelectedCell2() {
65485
- const selectedCellCoords = _classPrivateMethodGet(this, _getCurrentHighlightCoords, _getCurrentHighlightCoords2).call(this);
65486
- return (0, _classPrivateFieldGet5.default)(this, _hot).getCell(selectedCellCoords.row, selectedCellCoords.col, true);
65487
- }
65488
- function _manageFocus2() {
65489
- const selectedCell = _classPrivateMethodGet(this, _getSelectedCell, _getSelectedCell2).call(this);
65490
- const {
65491
- activeElement
65492
- } = (0, _classPrivateFieldGet5.default)(this, _hot).rootDocument;
65493
-
65494
- // Blurring the `activeElement` removes the unwanted border around the focusable element (#6877)
65495
- // and resets the `document.activeElement` property. The blurring should happen only when the
65496
- // previously selected input element has not belonged to the Handsontable editor. If blurring is
65497
- // triggered for all elements, there is a problem with the disappearing IME editor (#9672).
65498
- if (activeElement && (0, _element.isOutsideInput)(activeElement)) {
65499
- activeElement.blur();
65485
+ var _classPrivateFieldGet6;
65486
+ let callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : () => {};
65487
+ const highlight = (_classPrivateFieldGet6 = (0, _classPrivateFieldGet7.default)(this, _hot).getSelectedRangeLast()) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.highlight;
65488
+ if (!highlight) {
65489
+ (0, _classPrivateFieldGet7.default)(this, _hot)._registerTimeout(() => callback(null));
65490
+ return;
65500
65491
  }
65501
- this.focusOnHighlightedCell(selectedCell);
65502
- if (this.getFocusMode() === FOCUS_MODES.MIXED && selectedCell.nodeName === 'TD') {
65503
- (0, _classPrivateFieldGet5.default)(this, _hot).addHookOnce('afterSelectionEnd', () => {
65504
- this.refocusToEditorTextarea();
65492
+ const cell = (0, _classPrivateFieldGet7.default)(this, _hot).getCell(highlight.row, highlight.col, true);
65493
+ if (cell === null) {
65494
+ (0, _classPrivateFieldGet7.default)(this, _hot).addHookOnce('afterScroll', () => {
65495
+ callback((0, _classPrivateFieldGet7.default)(this, _hot).getCell(highlight.row, highlight.col, true));
65505
65496
  });
65497
+ } else {
65498
+ callback(cell);
65506
65499
  }
65507
65500
  }
65501
+ function _manageFocus2() {
65502
+ _classPrivateMethodGet(this, _getSelectedCell, _getSelectedCell2).call(this, selectedCell => {
65503
+ const {
65504
+ activeElement
65505
+ } = (0, _classPrivateFieldGet7.default)(this, _hot).rootDocument;
65506
+
65507
+ // Blurring the `activeElement` removes the unwanted border around the focusable element (#6877)
65508
+ // and resets the `document.activeElement` property. The blurring should happen only when the
65509
+ // previously selected input element has not belonged to the Handsontable editor. If blurring is
65510
+ // triggered for all elements, there is a problem with the disappearing IME editor (#9672).
65511
+ if (activeElement && (0, _element.isOutsideInput)(activeElement)) {
65512
+ activeElement.blur();
65513
+ }
65514
+ this.focusOnHighlightedCell(selectedCell);
65515
+ if (this.getFocusMode() === FOCUS_MODES.MIXED && selectedCell.nodeName === 'TD') {
65516
+ (0, _classPrivateFieldGet7.default)(this, _hot).addHookOnce('afterSelectionEnd', () => {
65517
+ this.refocusToEditorTextarea();
65518
+ });
65519
+ }
65520
+ });
65521
+ }
65508
65522
  function _onUpdateSettings2(newSettings) {
65509
65523
  if (newSettings.imeFastEdit && this.getFocusMode() !== FOCUS_MODES.MIXED) {
65510
65524
  this.setFocusMode(FOCUS_MODES.MIXED);
@@ -66522,8 +66536,10 @@ var _src = _interopRequireDefault(__webpack_require__(478));
66522
66536
  var _mouseEventHandler = __webpack_require__(548);
66523
66537
  var _rootInstance = __webpack_require__(549);
66524
66538
  var _a11y = __webpack_require__(445);
66539
+ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
66525
66540
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
66526
66541
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
66542
+ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
66527
66543
  /**
66528
66544
  * @class TableView
66529
66545
  * @private
@@ -66535,11 +66551,25 @@ var _mouseDown = /*#__PURE__*/new WeakMap();
66535
66551
  var _table = /*#__PURE__*/new WeakMap();
66536
66552
  var _lastWidth = /*#__PURE__*/new WeakMap();
66537
66553
  var _lastHeight = /*#__PURE__*/new WeakMap();
66554
+ var _getAriaColcount = /*#__PURE__*/new WeakSet();
66555
+ var _updateAriaColcount = /*#__PURE__*/new WeakSet();
66538
66556
  class TableView {
66539
66557
  /**
66540
66558
  * @param {Hanstontable} hotInstance Instance of {@link Handsontable}.
66541
66559
  */
66542
66560
  constructor(hotInstance) {
66561
+ /**
66562
+ * Update the `aria-colcount` attribute by the provided value.
66563
+ *
66564
+ * @param {number} delta The number of columns to add or remove to the aria tag.
66565
+ */
66566
+ _classPrivateMethodInitSpec(this, _updateAriaColcount);
66567
+ /**
66568
+ * Return the value of the `aria-colcount` attribute.
66569
+ *
66570
+ * @returns {number} The value of the `aria-colcount` attribute.
66571
+ */
66572
+ _classPrivateMethodInitSpec(this, _getAriaColcount);
66543
66573
  /**
66544
66574
  * Instance of {@link Handsontable}.
66545
66575
  *
@@ -66776,7 +66806,7 @@ class TableView {
66776
66806
  }
66777
66807
  if (this.settings.ariaTags) {
66778
66808
  (0, _element.setAttribute)((0, _classPrivateFieldGet2.default)(this, _table), [(0, _a11y.A11Y_PRESENTATION)()]);
66779
- (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)()]);
66809
+ (0, _element.setAttribute)(rootElement, [(0, _a11y.A11Y_TREEGRID)(), (0, _a11y.A11Y_ROWCOUNT)(-1), (0, _a11y.A11Y_COLCOUNT)(this.hot.countCols()), (0, _a11y.A11Y_MULTISELECTABLE)()]);
66780
66810
  }
66781
66811
  this.THEAD = rootDocument.createElement('THEAD');
66782
66812
  (0, _classPrivateFieldGet2.default)(this, _table).appendChild(this.THEAD);
@@ -67169,6 +67199,13 @@ class TableView {
67169
67199
  }
67170
67200
  this.hot.runHooks('afterGetRowHeaderRenderers', headerRenderers);
67171
67201
  (0, _classPrivateFieldSet2.default)(this, _rowHeadersCount, headerRenderers.length);
67202
+ if (this.hot.getSettings().ariaTags) {
67203
+ // Update the aria-colcount attribute.
67204
+ // Only needs to be done once after initialization/data update.
67205
+ if (_classPrivateMethodGet(this, _getAriaColcount, _getAriaColcount2).call(this) === this.hot.countCols()) {
67206
+ _classPrivateMethodGet(this, _updateAriaColcount, _updateAriaColcount2).call(this, (0, _classPrivateFieldGet2.default)(this, _rowHeadersCount));
67207
+ }
67208
+ }
67172
67209
  return headerRenderers;
67173
67210
  },
67174
67211
  columnHeaders: () => {
@@ -67808,7 +67845,6 @@ class TableView {
67808
67845
  getRowHeadersCount() {
67809
67846
  return (0, _classPrivateFieldGet2.default)(this, _rowHeadersCount);
67810
67847
  }
67811
-
67812
67848
  /**
67813
67849
  * Destroys internal WalkOnTable's instance. Detaches all of the bonded listeners.
67814
67850
  *
@@ -67819,6 +67855,13 @@ class TableView {
67819
67855
  this.eventManager.destroy();
67820
67856
  }
67821
67857
  }
67858
+ function _getAriaColcount2() {
67859
+ return parseInt(this.hot.rootElement.getAttribute((0, _a11y.A11Y_COLCOUNT)()[0]), 10);
67860
+ }
67861
+ function _updateAriaColcount2(delta) {
67862
+ const colCount = _classPrivateMethodGet(this, _getAriaColcount, _getAriaColcount2).call(this) + delta;
67863
+ (0, _element.setAttribute)(this.hot.rootElement, ...(0, _a11y.A11Y_COLCOUNT)(colCount));
67864
+ }
67822
67865
  var _default = TableView;
67823
67866
  exports["default"] = _default;
67824
67867
 
@@ -73472,7 +73515,7 @@ class ColumnHeadersRenderer extends _base.default {
73472
73515
  columnHeadersCount
73473
73516
  } = this.table;
73474
73517
  if (this.table.isAriaEnabled()) {
73475
- (0, _element.setAttribute)(this.rootNode, [(0, _a11y.A11Y_PRESENTATION)()]);
73518
+ (0, _element.setAttribute)(this.rootNode, [(0, _a11y.A11Y_ROWGROUP)()]);
73476
73519
  }
73477
73520
  for (let rowHeaderIndex = 0; rowHeaderIndex < columnHeadersCount; rowHeaderIndex += 1) {
73478
73521
  const {
@@ -73646,7 +73689,7 @@ class RowsRenderer extends _base.default {
73646
73689
  the number of rendered rows by specifying the table height and/or turning off the "renderAllRows" option.`);
73647
73690
  }
73648
73691
  if (this.table.isAriaEnabled()) {
73649
- (0, _element.setAttribute)(this.rootNode, [(0, _a11y.A11Y_PRESENTATION)()]);
73692
+ (0, _element.setAttribute)(this.rootNode, [(0, _a11y.A11Y_ROWGROUP)()]);
73650
73693
  }
73651
73694
  this.orderView.setSize(rowsToRender).setOffset(this.table.renderedRowToSource(0)).start();
73652
73695
  for (let visibleRowIndex = 0; visibleRowIndex < rowsToRender; visibleRowIndex++) {
@@ -74719,8 +74762,8 @@ class Overlay {
74719
74762
  rootDocument,
74720
74763
  rootWindow
74721
74764
  } = this.domBindings;
74722
- const clone = rootDocument.createElement('DIV');
74723
- const clonedTable = rootDocument.createElement('TABLE');
74765
+ const clone = rootDocument.createElement('div');
74766
+ const clonedTable = rootDocument.createElement('table');
74724
74767
  const tableParent = wtTable.wtRootElement.parentNode;
74725
74768
  clone.className = `${_constants.CLONE_CLASS_NAMES.get(this.type)} handsontable`;
74726
74769
  clone.setAttribute('dir', this.isRtl() ? 'rtl' : 'ltr');
@@ -92841,7 +92884,9 @@ function replaceData(data, setDataMapFunction, callbackFunction, config) {
92841
92884
  hotInstance.render();
92842
92885
  }
92843
92886
  if (hotInstance.getSettings().ariaTags) {
92844
- (0, _element.setAttribute)(hotInstance.rootElement, [(0, _a11y.A11Y_ROWCOUNT)(hotInstance.countRows()), (0, _a11y.A11Y_COLCOUNT)(hotInstance.countCols())]);
92887
+ (0, _element.setAttribute)(hotInstance.rootElement, [(0, _a11y.A11Y_ROWCOUNT)(-1),
92888
+ // If run after initialization, add the number of row headers.
92889
+ (0, _a11y.A11Y_COLCOUNT)(hotInstance.countCols() + (hotInstance.view ? hotInstance.countRowHeaders() : 0))]);
92845
92890
  }
92846
92891
  }
92847
92892
 
@@ -97676,7 +97721,6 @@ var _element = __webpack_require__(302);
97676
97721
  var _event = __webpack_require__(457);
97677
97722
  var _object = __webpack_require__(448);
97678
97723
  var _editorManager = __webpack_require__(451);
97679
- var _a11y = __webpack_require__(445);
97680
97724
  const SHORTCUTS_GROUP = 'handsontableEditor';
97681
97725
  const EDITOR_TYPE = 'handsontable';
97682
97726
 
@@ -97713,9 +97757,6 @@ class HandsontableEditor extends _textEditor.TextEditor {
97713
97757
  }
97714
97758
  (0, _element.setCaretPosition)(this.TEXTAREA, 0, this.TEXTAREA.value.length);
97715
97759
  this.refreshDimensions();
97716
- if (this.hot.getSettings().ariaTags) {
97717
- (0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('true')]);
97718
- }
97719
97760
  }
97720
97761
 
97721
97762
  /**
@@ -97727,9 +97768,6 @@ class HandsontableEditor extends _textEditor.TextEditor {
97727
97768
  }
97728
97769
  this.removeHooksByKey('beforeKeyDown');
97729
97770
  super.close();
97730
- if (this.TD && this.hot.getSettings().ariaTags) {
97731
- (0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('false')]);
97732
- }
97733
97771
  }
97734
97772
 
97735
97773
  /**
@@ -98010,7 +98048,6 @@ var _pikaday = _interopRequireDefault(__webpack_require__(687));
98010
98048
  var _textEditor = __webpack_require__(666);
98011
98049
  var _eventManager = _interopRequireDefault(__webpack_require__(462));
98012
98050
  var _element = __webpack_require__(302);
98013
- var _a11y = __webpack_require__(445);
98014
98051
  var _object = __webpack_require__(448);
98015
98052
  var _unicode = __webpack_require__(456);
98016
98053
  __webpack_require__(688);
@@ -98134,9 +98171,6 @@ class DateEditor extends _textEditor.TextEditor {
98134
98171
  const editorContext = shortcutManager.getContext('editor');
98135
98172
  super.open();
98136
98173
  this.showDatepicker(event);
98137
- if (this.hot.getSettings().ariaTags) {
98138
- (0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('true')]);
98139
- }
98140
98174
  editorContext.addShortcut({
98141
98175
  keys: [['Enter']],
98142
98176
  callback: keyboardEvent => {
@@ -98162,9 +98196,6 @@ class DateEditor extends _textEditor.TextEditor {
98162
98196
  this.hot._registerTimeout(() => {
98163
98197
  this.hot._refreshBorders();
98164
98198
  });
98165
- if (this.TD && this.hot.getSettings().ariaTags) {
98166
- (0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('false')]);
98167
- }
98168
98199
  const shortcutManager = this.hot.getShortcutManager();
98169
98200
  const editorContext = shortcutManager.getContext('editor');
98170
98201
  editorContext.removeShortcutsByGroup(SHORTCUTS_GROUP_EDITOR);
@@ -99713,6 +99744,7 @@ exports.PasswordEditor = _passwordEditor.PasswordEditor;
99713
99744
  exports.__esModule = true;
99714
99745
  var _textEditor = __webpack_require__(666);
99715
99746
  var _element = __webpack_require__(302);
99747
+ var _a11y = __webpack_require__(445);
99716
99748
  const EDITOR_TYPE = 'password';
99717
99749
 
99718
99750
  /**
@@ -99733,6 +99765,9 @@ class PasswordEditor extends _textEditor.TextEditor {
99733
99765
  this.textareaStyle = this.TEXTAREA.style;
99734
99766
  this.textareaStyle.width = 0;
99735
99767
  this.textareaStyle.height = 0;
99768
+ if (this.hot.getSettings().ariaTags) {
99769
+ (0, _element.setAttribute)(this.TEXTAREA, [(0, _a11y.A11Y_HIDDEN)()]);
99770
+ }
99736
99771
  (0, _element.empty)(this.TEXTAREA_PARENT);
99737
99772
  this.TEXTAREA_PARENT.appendChild(this.TEXTAREA);
99738
99773
  }
@@ -100155,9 +100190,6 @@ function autocompleteRenderer(hotInstance, TD, row, col, prop, value, cellProper
100155
100190
 
100156
100191
  TD.insertBefore(ARROW, TD.firstChild);
100157
100192
  (0, _element.addClass)(TD, 'htAutocomplete');
100158
- if (isAriaEnabled) {
100159
- TD.setAttribute(...(0, _a11y.A11Y_HASPOPUP)('listbox'));
100160
- }
100161
100193
  if (!hotInstance.acArrowListener) {
100162
100194
  const eventManager = new _eventManager.default(hotInstance);
100163
100195
 
@@ -100543,7 +100575,6 @@ function createInput(rootDocument) {
100543
100575
  const input = rootDocument.createElement('input');
100544
100576
  input.className = 'htCheckboxRendererInput';
100545
100577
  input.type = 'checkbox';
100546
- input.setAttribute('autocomplete', 'off');
100547
100578
  input.setAttribute('tabindex', '-1');
100548
100579
  return input.cloneNode(false);
100549
100580
  }
@@ -101373,8 +101404,6 @@ exports.dateRenderer = _dateRenderer.dateRenderer;
101373
101404
  exports.__esModule = true;
101374
101405
  exports.dateRenderer = dateRenderer;
101375
101406
  var _autocompleteRenderer = __webpack_require__(700);
101376
- var _a11y = __webpack_require__(445);
101377
- var _element = __webpack_require__(302);
101378
101407
  const RENDERER_TYPE = 'date';
101379
101408
 
101380
101409
  /**
@@ -101392,9 +101421,6 @@ const RENDERER_TYPE = 'date';
101392
101421
  exports.RENDERER_TYPE = RENDERER_TYPE;
101393
101422
  function dateRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
101394
101423
  _autocompleteRenderer.autocompleteRenderer.apply(this, [hotInstance, TD, row, col, prop, value, cellProperties]);
101395
- if (hotInstance.getSettings().ariaTags) {
101396
- (0, _element.setAttribute)(TD, [(0, _a11y.A11Y_HASPOPUP)('dialog'), (0, _a11y.A11Y_EXPANDED)('false')]);
101397
- }
101398
101424
  }
101399
101425
  dateRenderer.RENDERER_TYPE = RENDERER_TYPE;
101400
101426
 
@@ -101486,8 +101512,6 @@ exports.handsontableRenderer = _handsontableRenderer.handsontableRenderer;
101486
101512
  exports.__esModule = true;
101487
101513
  exports.handsontableRenderer = handsontableRenderer;
101488
101514
  var _autocompleteRenderer = __webpack_require__(700);
101489
- var _a11y = __webpack_require__(445);
101490
- var _element = __webpack_require__(302);
101491
101515
  const RENDERER_TYPE = 'handsontable';
101492
101516
 
101493
101517
  /**
@@ -101505,9 +101529,6 @@ const RENDERER_TYPE = 'handsontable';
101505
101529
  exports.RENDERER_TYPE = RENDERER_TYPE;
101506
101530
  function handsontableRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
101507
101531
  _autocompleteRenderer.autocompleteRenderer.apply(this, [hotInstance, TD, row, col, prop, value, cellProperties]);
101508
- if (hotInstance.getSettings().ariaTags) {
101509
- (0, _element.setAttribute)(TD, [(0, _a11y.A11Y_HASPOPUP)('true'), (0, _a11y.A11Y_EXPANDED)('false')]);
101510
- }
101511
101532
  }
101512
101533
  handsontableRenderer.RENDERER_TYPE = RENDERER_TYPE;
101513
101534
 
@@ -101630,8 +101651,6 @@ exports.selectRenderer = _selectRenderer.selectRenderer;
101630
101651
  exports.__esModule = true;
101631
101652
  exports.selectRenderer = selectRenderer;
101632
101653
  var _textRenderer = __webpack_require__(673);
101633
- var _a11y = __webpack_require__(445);
101634
- var _element = __webpack_require__(302);
101635
101654
  const RENDERER_TYPE = 'select';
101636
101655
 
101637
101656
  /**
@@ -101647,9 +101666,6 @@ const RENDERER_TYPE = 'select';
101647
101666
  exports.RENDERER_TYPE = RENDERER_TYPE;
101648
101667
  function selectRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
101649
101668
  _textRenderer.textRenderer.apply(this, [hotInstance, TD, row, col, prop, value, cellProperties]);
101650
- if (hotInstance.getSettings().ariaTags) {
101651
- (0, _element.setAttribute)(TD, ...(0, _a11y.A11Y_HASPOPUP)('listbox'));
101652
- }
101653
101669
  }
101654
101670
  selectRenderer.RENDERER_TYPE = RENDERER_TYPE;
101655
101671
 
@@ -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}
31
31
  /*!
32
32
  * Pikaday