handsontable 0.0.0-next-9779557-20250113 → 0.0.0-next-b558a78-20250114

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.

package/base.js CHANGED
@@ -45,8 +45,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
45
45
  Handsontable.CellCoords = _src.CellCoords;
46
46
  Handsontable.CellRange = _src.CellRange;
47
47
  Handsontable.packageName = 'handsontable';
48
- Handsontable.buildDate = "13/01/2025 13:47:36";
49
- Handsontable.version = "0.0.0-next-9779557-20250113";
48
+ Handsontable.buildDate = "14/01/2025 11:26:49";
49
+ Handsontable.version = "0.0.0-next-b558a78-20250114";
50
50
  Handsontable.languages = {
51
51
  dictionaryKeys: _registry.dictionaryKeys,
52
52
  getLanguageDictionary: _registry.getLanguageDictionary,
package/base.mjs CHANGED
@@ -35,8 +35,8 @@ Handsontable.hooks = Hooks.getSingleton();
35
35
  Handsontable.CellCoords = CellCoords;
36
36
  Handsontable.CellRange = CellRange;
37
37
  Handsontable.packageName = 'handsontable';
38
- Handsontable.buildDate = "13/01/2025 13:47:42";
39
- Handsontable.version = "0.0.0-next-9779557-20250113";
38
+ Handsontable.buildDate = "14/01/2025 11:26:55";
39
+ Handsontable.version = "0.0.0-next-b558a78-20250114";
40
40
  Handsontable.languages = {
41
41
  dictionaryKeys,
42
42
  getLanguageDictionary,
package/core.js CHANGED
@@ -43,7 +43,7 @@ var _registry5 = require("./i18n/registry");
43
43
  var _utils = require("./i18n/utils");
44
44
  var _selection = require("./selection");
45
45
  var _dataMap = require("./dataMap");
46
- var _index3 = require("./core/index");
46
+ var _index = require("./core/index");
47
47
  var _uniqueMap = require("./utils/dataStructures/uniqueMap");
48
48
  var _shortcuts = require("./shortcuts");
49
49
  var _shortcutContexts = require("./shortcutContexts");
@@ -510,7 +510,6 @@ function Core(rootElement, userSettings) {
510
510
  * @param {boolean} [keepEmptyRows] Optional. Flag for preventing deletion of empty rows.
511
511
  */
512
512
  alter(action, index) {
513
- var _index, _index2;
514
513
  let amount = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
515
514
  let source = arguments.length > 3 ? arguments[3] : undefined;
516
515
  let keepEmptyRows = arguments.length > 4 ? arguments[4] : undefined;
@@ -561,7 +560,7 @@ function Core(rootElement, userSettings) {
561
560
 
562
561
  // Calling the `insert_row_above` action adds a new row at the beginning of the data set.
563
562
  // eslint-disable-next-line no-param-reassign
564
- index = (_index = index) !== null && _index !== void 0 ? _index : insertRowMode === 'below' ? numberOfSourceRows : 0;
563
+ index = index !== null && index !== void 0 ? index : insertRowMode === 'below' ? numberOfSourceRows : 0;
565
564
  const {
566
565
  delta: rowDelta,
567
566
  startPhysicalIndex: startRowPhysicalIndex
@@ -578,7 +577,7 @@ function Core(rootElement, userSettings) {
578
577
 
579
578
  // Calling the `insert_col_start` action adds a new column to the left of the data set.
580
579
  // eslint-disable-next-line no-param-reassign
581
- index = (_index2 = index) !== null && _index2 !== void 0 ? _index2 : insertColumnMode === 'end' ? instance.countSourceCols() : 0;
580
+ index = index !== null && index !== void 0 ? index : insertColumnMode === 'end' ? instance.countSourceCols() : 0;
582
581
  const {
583
582
  delta: colDelta,
584
583
  startPhysicalIndex: startColumnPhysicalIndex
@@ -1044,10 +1043,10 @@ function Core(rootElement, userSettings) {
1044
1043
  // Add the theme class name to the license info element.
1045
1044
  instance.view.addClassNameToLicenseElement(instance.getCurrentThemeName());
1046
1045
  editorManager = _editorManager.default.getInstance(instance, tableMeta, selection);
1047
- viewportScroller = (0, _index3.createViewportScroller)(instance);
1046
+ viewportScroller = (0, _index.createViewportScroller)(instance);
1048
1047
  focusManager = new _focusManager.FocusManager(instance);
1049
1048
  if ((0, _rootInstance.isRootInstance)(this)) {
1050
- (0, _index3.installFocusCatcher)(instance);
1049
+ (0, _index.installFocusCatcher)(instance);
1051
1050
  }
1052
1051
  instance.runHooks('init');
1053
1052
  this.forceFullRender = true; // used when data was changed
@@ -4099,7 +4098,6 @@ function Core(rootElement, userSettings) {
4099
4098
  * @returns {boolean} `true` if viewport was scrolled, `false` otherwise.
4100
4099
  */
4101
4100
  this.scrollViewportTo = function (options) {
4102
- var _options;
4103
4101
  // Support for backward compatibility arguments: (row, col, snapToBottom, snapToRight, considerHiddenIndexes)
4104
4102
  if (typeof options === 'number') {
4105
4103
  var _arguments$;
@@ -4117,7 +4115,7 @@ function Core(rootElement, userSettings) {
4117
4115
  row,
4118
4116
  col,
4119
4117
  considerHiddenIndexes
4120
- } = (_options = options) !== null && _options !== void 0 ? _options : {};
4118
+ } = options !== null && options !== void 0 ? options : {};
4121
4119
  let renderableRow = row;
4122
4120
  let renderableColumn = col;
4123
4121
  if (considerHiddenIndexes === undefined || considerHiddenIndexes) {
package/core.mjs CHANGED
@@ -505,7 +505,6 @@ export default function Core(rootElement, userSettings) {
505
505
  * @param {boolean} [keepEmptyRows] Optional. Flag for preventing deletion of empty rows.
506
506
  */
507
507
  alter(action, index) {
508
- var _index, _index2;
509
508
  let amount = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
510
509
  let source = arguments.length > 3 ? arguments[3] : undefined;
511
510
  let keepEmptyRows = arguments.length > 4 ? arguments[4] : undefined;
@@ -556,7 +555,7 @@ export default function Core(rootElement, userSettings) {
556
555
 
557
556
  // Calling the `insert_row_above` action adds a new row at the beginning of the data set.
558
557
  // eslint-disable-next-line no-param-reassign
559
- index = (_index = index) !== null && _index !== void 0 ? _index : insertRowMode === 'below' ? numberOfSourceRows : 0;
558
+ index = index !== null && index !== void 0 ? index : insertRowMode === 'below' ? numberOfSourceRows : 0;
560
559
  const {
561
560
  delta: rowDelta,
562
561
  startPhysicalIndex: startRowPhysicalIndex
@@ -573,7 +572,7 @@ export default function Core(rootElement, userSettings) {
573
572
 
574
573
  // Calling the `insert_col_start` action adds a new column to the left of the data set.
575
574
  // eslint-disable-next-line no-param-reassign
576
- index = (_index2 = index) !== null && _index2 !== void 0 ? _index2 : insertColumnMode === 'end' ? instance.countSourceCols() : 0;
575
+ index = index !== null && index !== void 0 ? index : insertColumnMode === 'end' ? instance.countSourceCols() : 0;
577
576
  const {
578
577
  delta: colDelta,
579
578
  startPhysicalIndex: startColumnPhysicalIndex
@@ -4094,7 +4093,6 @@ export default function Core(rootElement, userSettings) {
4094
4093
  * @returns {boolean} `true` if viewport was scrolled, `false` otherwise.
4095
4094
  */
4096
4095
  this.scrollViewportTo = function (options) {
4097
- var _options;
4098
4096
  // Support for backward compatibility arguments: (row, col, snapToBottom, snapToRight, considerHiddenIndexes)
4099
4097
  if (typeof options === 'number') {
4100
4098
  var _arguments$;
@@ -4112,7 +4110,7 @@ export default function Core(rootElement, userSettings) {
4112
4110
  row,
4113
4111
  col,
4114
4112
  considerHiddenIndexes
4115
- } = (_options = options) !== null && _options !== void 0 ? _options : {};
4113
+ } = options !== null && options !== void 0 ? options : {};
4116
4114
  let renderableRow = row;
4117
4115
  let renderableColumn = col;
4118
4116
  if (considerHiddenIndexes === undefined || considerHiddenIndexes) {
@@ -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-9779557-20250113
29
- * Release date: 16/12/2024 (built at 13/01/2025 13:48:04)
28
+ * Version: 0.0.0-next-b558a78-20250114
29
+ * Release date: 16/12/2024 (built at 14/01/2025 11:27:16)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles
@@ -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-9779557-20250113
29
- * Release date: 16/12/2024 (built at 13/01/2025 13:48:04)
28
+ * Version: 0.0.0-next-b558a78-20250114
29
+ * Release date: 16/12/2024 (built at 14/01/2025 11:27:16)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles
@@ -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-9779557-20250113
29
- * Release date: 16/12/2024 (built at 13/01/2025 13:47:46)
28
+ * Version: 0.0.0-next-b558a78-20250114
29
+ * Release date: 16/12/2024 (built at 14/01/2025 11:26:59)
30
30
  */
31
31
  (function webpackUniversalModuleDefinition(root, factory) {
32
32
  if(typeof exports === 'object' && typeof module === 'object')
@@ -42676,8 +42676,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
42676
42676
  Handsontable.CellCoords = _src.CellCoords;
42677
42677
  Handsontable.CellRange = _src.CellRange;
42678
42678
  Handsontable.packageName = 'handsontable';
42679
- Handsontable.buildDate = "13/01/2025 13:47:46";
42680
- Handsontable.version = "0.0.0-next-9779557-20250113";
42679
+ Handsontable.buildDate = "14/01/2025 11:26:59";
42680
+ Handsontable.version = "0.0.0-next-b558a78-20250114";
42681
42681
  Handsontable.languages = {
42682
42682
  dictionaryKeys: _registry.dictionaryKeys,
42683
42683
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -42744,7 +42744,7 @@ var _registry5 = __webpack_require__(646);
42744
42744
  var _utils = __webpack_require__(647);
42745
42745
  var _selection = __webpack_require__(652);
42746
42746
  var _dataMap = __webpack_require__(668);
42747
- var _index3 = __webpack_require__(684);
42747
+ var _index = __webpack_require__(684);
42748
42748
  var _uniqueMap = __webpack_require__(535);
42749
42749
  var _shortcuts = __webpack_require__(747);
42750
42750
  var _shortcutContexts = __webpack_require__(686);
@@ -43210,7 +43210,6 @@ function Core(rootElement, userSettings) {
43210
43210
  * @param {boolean} [keepEmptyRows] Optional. Flag for preventing deletion of empty rows.
43211
43211
  */
43212
43212
  alter(action, index) {
43213
- var _index, _index2;
43214
43213
  let amount = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
43215
43214
  let source = arguments.length > 3 ? arguments[3] : undefined;
43216
43215
  let keepEmptyRows = arguments.length > 4 ? arguments[4] : undefined;
@@ -43261,7 +43260,7 @@ function Core(rootElement, userSettings) {
43261
43260
 
43262
43261
  // Calling the `insert_row_above` action adds a new row at the beginning of the data set.
43263
43262
  // eslint-disable-next-line no-param-reassign
43264
- index = (_index = index) !== null && _index !== void 0 ? _index : insertRowMode === 'below' ? numberOfSourceRows : 0;
43263
+ index = index !== null && index !== void 0 ? index : insertRowMode === 'below' ? numberOfSourceRows : 0;
43265
43264
  const {
43266
43265
  delta: rowDelta,
43267
43266
  startPhysicalIndex: startRowPhysicalIndex
@@ -43278,7 +43277,7 @@ function Core(rootElement, userSettings) {
43278
43277
 
43279
43278
  // Calling the `insert_col_start` action adds a new column to the left of the data set.
43280
43279
  // eslint-disable-next-line no-param-reassign
43281
- index = (_index2 = index) !== null && _index2 !== void 0 ? _index2 : insertColumnMode === 'end' ? instance.countSourceCols() : 0;
43280
+ index = index !== null && index !== void 0 ? index : insertColumnMode === 'end' ? instance.countSourceCols() : 0;
43282
43281
  const {
43283
43282
  delta: colDelta,
43284
43283
  startPhysicalIndex: startColumnPhysicalIndex
@@ -43744,10 +43743,10 @@ function Core(rootElement, userSettings) {
43744
43743
  // Add the theme class name to the license info element.
43745
43744
  instance.view.addClassNameToLicenseElement(instance.getCurrentThemeName());
43746
43745
  editorManager = _editorManager.default.getInstance(instance, tableMeta, selection);
43747
- viewportScroller = (0, _index3.createViewportScroller)(instance);
43746
+ viewportScroller = (0, _index.createViewportScroller)(instance);
43748
43747
  focusManager = new _focusManager.FocusManager(instance);
43749
43748
  if ((0, _rootInstance.isRootInstance)(this)) {
43750
- (0, _index3.installFocusCatcher)(instance);
43749
+ (0, _index.installFocusCatcher)(instance);
43751
43750
  }
43752
43751
  instance.runHooks('init');
43753
43752
  this.forceFullRender = true; // used when data was changed
@@ -46799,7 +46798,6 @@ function Core(rootElement, userSettings) {
46799
46798
  * @returns {boolean} `true` if viewport was scrolled, `false` otherwise.
46800
46799
  */
46801
46800
  this.scrollViewportTo = function (options) {
46802
- var _options;
46803
46801
  // Support for backward compatibility arguments: (row, col, snapToBottom, snapToRight, considerHiddenIndexes)
46804
46802
  if (typeof options === 'number') {
46805
46803
  var _arguments$;
@@ -46817,7 +46815,7 @@ function Core(rootElement, userSettings) {
46817
46815
  row,
46818
46816
  col,
46819
46817
  considerHiddenIndexes
46820
- } = (_options = options) !== null && _options !== void 0 ? _options : {};
46818
+ } = options !== null && options !== void 0 ? options : {};
46821
46819
  let renderableRow = row;
46822
46820
  let renderableColumn = col;
46823
46821
  if (considerHiddenIndexes === undefined || considerHiddenIndexes) {
@@ -47698,7 +47696,7 @@ module.exports = function (exec) {
47698
47696
  var NATIVE_BIND = __webpack_require__(208);
47699
47697
 
47700
47698
  var call = Function.prototype.call;
47701
-
47699
+ // eslint-disable-next-line es/no-function-prototype-bind -- safe
47702
47700
  module.exports = NATIVE_BIND ? call.bind(call) : function () {
47703
47701
  return call.apply(call, arguments);
47704
47702
  };
@@ -47805,6 +47803,7 @@ var NATIVE_BIND = __webpack_require__(208);
47805
47803
 
47806
47804
  var FunctionPrototype = Function.prototype;
47807
47805
  var call = FunctionPrototype.call;
47806
+ // eslint-disable-next-line es/no-function-prototype-bind -- safe
47808
47807
  var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);
47809
47808
 
47810
47809
  module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {
@@ -48210,10 +48209,10 @@ var SHARED = '__core-js_shared__';
48210
48209
  var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
48211
48210
 
48212
48211
  (store.versions || (store.versions = [])).push({
48213
- version: '3.39.0',
48212
+ version: '3.40.0',
48214
48213
  mode: IS_PURE ? 'pure' : 'global',
48215
- copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',
48216
- license: 'https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE',
48214
+ copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru)',
48215
+ license: 'https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE',
48217
48216
  source: 'https://github.com/zloirock/core-js'
48218
48217
  });
48219
48218
 
@@ -48997,7 +48996,7 @@ var FunctionPrototype = Function.prototype;
48997
48996
  var apply = FunctionPrototype.apply;
48998
48997
  var call = FunctionPrototype.call;
48999
48998
 
49000
- // eslint-disable-next-line es/no-reflect -- safe
48999
+ // eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe
49001
49000
  module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {
49002
49001
  return call.apply(apply, arguments);
49003
49002
  });
@@ -49487,9 +49486,13 @@ var $ = __webpack_require__(202);
49487
49486
  var difference = __webpack_require__(288);
49488
49487
  var setMethodAcceptSetLike = __webpack_require__(297);
49489
49488
 
49489
+ var INCORRECT = !setMethodAcceptSetLike('difference', function (result) {
49490
+ return result.size === 0;
49491
+ });
49492
+
49490
49493
  // `Set.prototype.difference` method
49491
49494
  // https://tc39.es/ecma262/#sec-set.prototype.difference
49492
- $({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, {
49495
+ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
49493
49496
  difference: difference
49494
49497
  });
49495
49498
 
@@ -49726,7 +49729,19 @@ var createSetLike = function (size) {
49726
49729
  };
49727
49730
  };
49728
49731
 
49729
- module.exports = function (name) {
49732
+ var createSetLikeWithInfinitySize = function (size) {
49733
+ return {
49734
+ size: size,
49735
+ has: function () {
49736
+ return true;
49737
+ },
49738
+ keys: function () {
49739
+ throw new Error('e');
49740
+ }
49741
+ };
49742
+ };
49743
+
49744
+ module.exports = function (name, callback) {
49730
49745
  var Set = getBuiltIn('Set');
49731
49746
  try {
49732
49747
  new Set()[name](createSetLike(0));
@@ -49736,7 +49751,18 @@ module.exports = function (name) {
49736
49751
  new Set()[name](createSetLike(-1));
49737
49752
  return false;
49738
49753
  } catch (error2) {
49739
- return true;
49754
+ if (!callback) return true;
49755
+ // early V8 implementation bug
49756
+ // https://issues.chromium.org/issues/351332634
49757
+ try {
49758
+ new Set()[name](createSetLikeWithInfinitySize(-Infinity));
49759
+ return false;
49760
+ } catch (error) {
49761
+ var set = new Set();
49762
+ set.add(1);
49763
+ set.add(2);
49764
+ return callback(set[name](createSetLikeWithInfinitySize(Infinity)));
49765
+ }
49740
49766
  }
49741
49767
  } catch (error) {
49742
49768
  return false;
@@ -49755,8 +49781,10 @@ var fails = __webpack_require__(206);
49755
49781
  var intersection = __webpack_require__(299);
49756
49782
  var setMethodAcceptSetLike = __webpack_require__(297);
49757
49783
 
49758
- var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () {
49759
- // eslint-disable-next-line es/no-array-from, es/no-set -- testing
49784
+ var INCORRECT = !setMethodAcceptSetLike('intersection', function (result) {
49785
+ return result.size === 2 && result.has(1) && result.has(2);
49786
+ }) || fails(function () {
49787
+ // eslint-disable-next-line es/no-array-from, es/no-set, es/no-set-prototype-intersection -- testing
49760
49788
  return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2';
49761
49789
  });
49762
49790
 
@@ -49815,9 +49843,13 @@ var $ = __webpack_require__(202);
49815
49843
  var isDisjointFrom = __webpack_require__(301);
49816
49844
  var setMethodAcceptSetLike = __webpack_require__(297);
49817
49845
 
49846
+ var INCORRECT = !setMethodAcceptSetLike('isDisjointFrom', function (result) {
49847
+ return !result;
49848
+ });
49849
+
49818
49850
  // `Set.prototype.isDisjointFrom` method
49819
49851
  // https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom
49820
- $({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, {
49852
+ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
49821
49853
  isDisjointFrom: isDisjointFrom
49822
49854
  });
49823
49855
 
@@ -49892,9 +49924,13 @@ var $ = __webpack_require__(202);
49892
49924
  var isSubsetOf = __webpack_require__(304);
49893
49925
  var setMethodAcceptSetLike = __webpack_require__(297);
49894
49926
 
49927
+ var INCORRECT = !setMethodAcceptSetLike('isSubsetOf', function (result) {
49928
+ return result;
49929
+ });
49930
+
49895
49931
  // `Set.prototype.isSubsetOf` method
49896
49932
  // https://tc39.es/ecma262/#sec-set.prototype.issubsetof
49897
- $({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, {
49933
+ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
49898
49934
  isSubsetOf: isSubsetOf
49899
49935
  });
49900
49936
 
@@ -49932,9 +49968,13 @@ var $ = __webpack_require__(202);
49932
49968
  var isSupersetOf = __webpack_require__(306);
49933
49969
  var setMethodAcceptSetLike = __webpack_require__(297);
49934
49970
 
49971
+ var INCORRECT = !setMethodAcceptSetLike('isSupersetOf', function (result) {
49972
+ return !result;
49973
+ });
49974
+
49935
49975
  // `Set.prototype.isSupersetOf` method
49936
49976
  // https://tc39.es/ecma262/#sec-set.prototype.issupersetof
49937
- $({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, {
49977
+ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
49938
49978
  isSupersetOf: isSupersetOf
49939
49979
  });
49940
49980
 
@@ -50514,12 +50554,13 @@ var createIteratorProxyPrototype = function (IS_ITERATOR) {
50514
50554
  next: function next() {
50515
50555
  var state = getInternalState(this);
50516
50556
  // for simplification:
50517
- // for `%WrapForValidIteratorPrototype%.next` our `nextHandler` returns `IterResultObject`
50557
+ // for `%WrapForValidIteratorPrototype%.next` or with `state.returnHandlerResult` our `nextHandler` returns `IterResultObject`
50518
50558
  // for `%IteratorHelperPrototype%.next` - just a value
50519
50559
  if (IS_ITERATOR) return state.nextHandler();
50560
+ if (state.done) return createIterResultObject(undefined, true);
50520
50561
  try {
50521
- var result = state.done ? undefined : state.nextHandler();
50522
- return createIterResultObject(result, state.done);
50562
+ var result = state.nextHandler();
50563
+ return state.returnHandlerResult ? result : createIterResultObject(result, state.done);
50523
50564
  } catch (error) {
50524
50565
  state.done = true;
50525
50566
  throw error;
@@ -50549,13 +50590,14 @@ var IteratorHelperPrototype = createIteratorProxyPrototype(false);
50549
50590
 
50550
50591
  createNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, 'Iterator Helper');
50551
50592
 
50552
- module.exports = function (nextHandler, IS_ITERATOR) {
50593
+ module.exports = function (nextHandler, IS_ITERATOR, RETURN_HANDLER_RESULT) {
50553
50594
  var IteratorProxy = function Iterator(record, state) {
50554
50595
  if (state) {
50555
50596
  state.iterator = record.iterator;
50556
50597
  state.next = record.next;
50557
50598
  } else state = record;
50558
50599
  state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER;
50600
+ state.returnHandlerResult = !!RETURN_HANDLER_RESULT;
50559
50601
  state.nextHandler = nextHandler;
50560
50602
  state.counter = 0;
50561
50603
  state.done = false;
@@ -52488,7 +52530,7 @@ function sanitize(string, options) {
52488
52530
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
52489
52531
 
52490
52532
  "use strict";
52491
- /*! @license DOMPurify 3.2.2 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.2/LICENSE */
52533
+ /*! @license DOMPurify 3.2.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.3/LICENSE */
52492
52534
 
52493
52535
 
52494
52536
 
@@ -52665,7 +52707,6 @@ function lookupGetter(object, prop) {
52665
52707
  }
52666
52708
 
52667
52709
  const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
52668
- // SVG
52669
52710
  const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
52670
52711
  const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);
52671
52712
  // List of SVG elements that are disallowed by default.
@@ -52687,8 +52728,8 @@ const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:x
52687
52728
  // eslint-disable-next-line unicorn/better-regex
52688
52729
  const MUSTACHE_EXPR = seal(/\{\{[\w\W]*|[\w\W]*\}\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode
52689
52730
  const ERB_EXPR = seal(/<%[\w\W]*|[\w\W]*%>/gm);
52690
- const TMPLIT_EXPR = seal(/\${[\w\W]*}/gm);
52691
- const DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]/); // eslint-disable-line no-useless-escape
52731
+ const TMPLIT_EXPR = seal(/\$\{[\w\W]*}/gm); // eslint-disable-line unicorn/better-regex
52732
+ const DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]+$/); // eslint-disable-line no-useless-escape
52692
52733
  const ARIA_ATTR = seal(/^aria-[\-\w]+$/); // eslint-disable-line no-useless-escape
52693
52734
  const IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i // eslint-disable-line no-useless-escape
52694
52735
  );
@@ -52787,7 +52828,7 @@ const _createHooksMap = function _createHooksMap() {
52787
52828
  function createDOMPurify() {
52788
52829
  let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
52789
52830
  const DOMPurify = root => createDOMPurify(root);
52790
- DOMPurify.version = '3.2.2';
52831
+ DOMPurify.version = '3.2.3';
52791
52832
  DOMPurify.removed = [];
52792
52833
  if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document) {
52793
52834
  // Not running in a browser, provide a factory function
@@ -53524,7 +53565,7 @@ function createDOMPurify() {
53524
53565
  attributes
53525
53566
  } = currentNode;
53526
53567
  /* Check if we have attributes; if not we might have a text node */
53527
- if (!attributes) {
53568
+ if (!attributes || _isClobbered(currentNode)) {
53528
53569
  return;
53529
53570
  }
53530
53571
  const hookEvent = {
@@ -53641,15 +53682,13 @@ function createDOMPurify() {
53641
53682
  /* Execute a hook if present */
53642
53683
  _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);
53643
53684
  /* Sanitize tags and elements */
53644
- if (_sanitizeElements(shadowNode)) {
53645
- continue;
53646
- }
53685
+ _sanitizeElements(shadowNode);
53686
+ /* Check attributes next */
53687
+ _sanitizeAttributes(shadowNode);
53647
53688
  /* Deep shadow DOM detected */
53648
53689
  if (shadowNode.content instanceof DocumentFragment) {
53649
53690
  _sanitizeShadowDOM(shadowNode.content);
53650
53691
  }
53651
- /* Check attributes, sanitize if necessary */
53652
- _sanitizeAttributes(shadowNode);
53653
53692
  }
53654
53693
  /* Execute a hook if present */
53655
53694
  _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);
@@ -53738,15 +53777,13 @@ function createDOMPurify() {
53738
53777
  /* Now start iterating over the created document */
53739
53778
  while (currentNode = nodeIterator.nextNode()) {
53740
53779
  /* Sanitize tags and elements */
53741
- if (_sanitizeElements(currentNode)) {
53742
- continue;
53743
- }
53780
+ _sanitizeElements(currentNode);
53781
+ /* Check attributes next */
53782
+ _sanitizeAttributes(currentNode);
53744
53783
  /* Shadow DOM detected, sanitize it */
53745
53784
  if (currentNode.content instanceof DocumentFragment) {
53746
53785
  _sanitizeShadowDOM(currentNode.content);
53747
53786
  }
53748
- /* Check attributes, sanitize if necessary */
53749
- _sanitizeAttributes(currentNode);
53750
53787
  }
53751
53788
  /* If we sanitized `dirty` in-place, return it. */
53752
53789
  if (IN_PLACE) {
@@ -53973,7 +54010,7 @@ const domMessages = {
53973
54010
  function _injectProductInfo(key, element) {
53974
54011
  const hasValidType = !isEmpty(key);
53975
54012
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
53976
- const hotVersion = "0.0.0-next-9779557-20250113";
54013
+ const hotVersion = "0.0.0-next-b558a78-20250114";
53977
54014
  let keyValidityDate;
53978
54015
  let consoleMessageState = 'invalid';
53979
54016
  let domMessageState = 'invalid';
@@ -118916,7 +118953,6 @@ class Comments extends _base.BasePlugin {
118916
118953
  * @param {boolean} [force=false] If `true` then recalculation will be forced.
118917
118954
  */
118918
118955
  refreshEditor() {
118919
- var _renderableRow, _renderableColumn;
118920
118956
  let force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
118921
118957
  if (!force && (!this.range.from || !_classPrivateFieldGet(_editor, this).isVisible())) {
118922
118958
  return;
@@ -118945,8 +118981,8 @@ class Comments extends _base.BasePlugin {
118945
118981
  }
118946
118982
  const isBeforeRenderedRows = renderableRow === null;
118947
118983
  const isBeforeRenderedColumns = renderableColumn === null;
118948
- renderableRow = (_renderableRow = renderableRow) !== null && _renderableRow !== void 0 ? _renderableRow : 0;
118949
- renderableColumn = (_renderableColumn = renderableColumn) !== null && _renderableColumn !== void 0 ? _renderableColumn : 0;
118984
+ renderableRow = renderableRow !== null && renderableRow !== void 0 ? renderableRow : 0;
118985
+ renderableColumn = renderableColumn !== null && renderableColumn !== void 0 ? renderableColumn : 0;
118950
118986
  const {
118951
118987
  rootWindow,
118952
118988
  view: {
@@ -140953,7 +140989,6 @@ function _onModifyRowHeightByOverlayName(height, row, overlayType) {
140953
140989
  rowspanCorrection = maxRowspan - mergedCellsWithinRange[0].rowspan;
140954
140990
  }
140955
140991
  mergedCellsWithinRange.forEach(_ref2 => {
140956
- var _height;
140957
140992
  let {
140958
140993
  rowspan
140959
140994
  } = _ref2;
@@ -140963,7 +140998,7 @@ function _onModifyRowHeightByOverlayName(height, row, overlayType) {
140963
140998
  } else {
140964
140999
  rowspanAfterCorrection = rowspan - rowspanCorrection;
140965
141000
  }
140966
- height = Math.max((_height = height) !== null && _height !== void 0 ? _height : 0, _assertClassBrand(_MergeCells_brand, this, _sumCellsHeights).call(this, row, rowspanAfterCorrection));
141001
+ height = Math.max(height !== null && height !== void 0 ? height : 0, _assertClassBrand(_MergeCells_brand, this, _sumCellsHeights).call(this, row, rowspanAfterCorrection));
140967
141002
  });
140968
141003
  return height;
140969
141004
  }
@@ -145412,7 +145447,6 @@ class StateManager {
145412
145447
  * @returns {number} Returns a header level in format -1 to -N.
145413
145448
  */
145414
145449
  findTopMostEntireHeaderLevel(columnIndexFrom) {
145415
- var _headerLevel;
145416
145450
  let columnIndexTo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : columnIndexFrom;
145417
145451
  const columnsWidth = columnIndexTo - columnIndexFrom + 1;
145418
145452
  let atLeastOneRootFound = false;
@@ -145445,7 +145479,7 @@ class StateManager {
145445
145479
  if (atLeastOneRootFound && headerLevel === null) {
145446
145480
  return -1;
145447
145481
  }
145448
- return this.levelToRowCoords((_headerLevel = headerLevel) !== null && _headerLevel !== void 0 ? _headerLevel : 0);
145482
+ return this.levelToRowCoords(headerLevel !== null && headerLevel !== void 0 ? headerLevel : 0);
145449
145483
  }
145450
145484
 
145451
145485
  /**
@@ -26,8 +26,8 @@
26
26
  * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
27
27
  * USE OR INABILITY TO USE THIS SOFTWARE.
28
28
  *
29
- * Version: 0.0.0-next-9779557-20250113
30
- * Release date: 16/12/2024 (built at 13/01/2025 13:48:39)
29
+ * Version: 0.0.0-next-b558a78-20250114
30
+ * Release date: 16/12/2024 (built at 14/01/2025 11:27:51)
31
31
  */.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 .hide{display:none}.handsontable .relative{position:relative}.handsontable .wtHider{position:relative;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{border-left:1px solid #ccc}[dir=rtl].handsontable td:first-of-type,[dir=rtl].handsontable th:first-child{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) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-left:1px solid #ccc;border-right-width:0}[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) 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 table.htCore>thead,.handsontable .ht_master table.htCore>tbody>tr>th,.handsontable .ht_master table.htCore>thead{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;position:relative;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 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;content:"";left:0;position:absolute;right:0;top:0}.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;box-sizing:border-box!important;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{position:absolute;select{-webkit-appearance:menulist-button!important;border:2px solid #4b89ff;box-sizing:border-box!important;height:100%;width:100%}}.htSelectEditor select:focus{outline:none}.htSelectEditor .htAutocompleteArrow{display: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.mobile,.handsontable.mobile .wtHolder{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-overflow-scrolling:touch}.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.noValue{opacity:.5}.handsontable .htCheckboxRendererLabel{cursor:pointer;display:inline-block;font-size:inherit;vertical-align:middle}.handsontable .htCheckboxRendererLabel.fullWidth{width:100%}.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[dir=ltr] thead th:has(.collapsibleIndicator) div.htRight span.colHeader{margin-right:20px}.handsontable[dir=rtl] thead th:has(.collapsibleIndicator) div.htLeft span.colHeader{margin-left:20px}.handsontable .columnSorting{position:relative}.handsontable[dir=ltr] div.htRight span[class*=ascending],.handsontable[dir=ltr] div.htRight span[class*=descending]{margin-left:-10px;margin-right:10px}.handsontable[dir=rtl] div.htLeft span[class*=ascending],.handsontable[dir=rtl] div.htLeft span[class*=descending]{margin-left:10px;margin-right:-10px}.handsontable[dir=ltr] div.htRight span[class*=ascending]:only-child,.handsontable[dir=ltr] div.htRight span[class*=descending]:only-child{margin-left:-15px;margin-right:15px}.handsontable[dir=rtl] div.htLeft span[class*=ascending]:only-child,.handsontable[dir=rtl] div.htLeft span[class*=descending]:only-child{margin-left:15px;margin-right:-15px}.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.htGhostTable table thead th{border-bottom-width:0}.handsontable.htGhostTable table tbody tr td,.handsontable.htGhostTable table tbody tr th{border-top-width:0}.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}
32
32
  /*!
33
33
  * Handsontable ContextMenu