handsontable 0.0.0-next-9779557-20250113 → 0.0.0-next-211192a-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.

@@ -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-211192a-20250114
29
+ * Release date: 16/12/2024 (built at 14/01/2025 12:17:38)
30
30
  */
31
31
  (function webpackUniversalModuleDefinition(root, factory) {
32
32
  if(typeof exports === 'object' && typeof module === 'object')
@@ -104,8 +104,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
104
104
  Handsontable.CellCoords = _src.CellCoords;
105
105
  Handsontable.CellRange = _src.CellRange;
106
106
  Handsontable.packageName = 'handsontable';
107
- Handsontable.buildDate = "13/01/2025 13:47:46";
108
- Handsontable.version = "0.0.0-next-9779557-20250113";
107
+ Handsontable.buildDate = "14/01/2025 12:17:38";
108
+ Handsontable.version = "0.0.0-next-211192a-20250114";
109
109
  Handsontable.languages = {
110
110
  dictionaryKeys: _registry.dictionaryKeys,
111
111
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -175,7 +175,7 @@ var _registry5 = __webpack_require__(312);
175
175
  var _utils = __webpack_require__(313);
176
176
  var _selection = __webpack_require__(318);
177
177
  var _dataMap = __webpack_require__(334);
178
- var _index3 = __webpack_require__(350);
178
+ var _index = __webpack_require__(350);
179
179
  var _uniqueMap = __webpack_require__(201);
180
180
  var _shortcuts = __webpack_require__(413);
181
181
  var _shortcutContexts = __webpack_require__(352);
@@ -641,7 +641,6 @@ function Core(rootElement, userSettings) {
641
641
  * @param {boolean} [keepEmptyRows] Optional. Flag for preventing deletion of empty rows.
642
642
  */
643
643
  alter(action, index) {
644
- var _index, _index2;
645
644
  let amount = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
646
645
  let source = arguments.length > 3 ? arguments[3] : undefined;
647
646
  let keepEmptyRows = arguments.length > 4 ? arguments[4] : undefined;
@@ -692,7 +691,7 @@ function Core(rootElement, userSettings) {
692
691
 
693
692
  // Calling the `insert_row_above` action adds a new row at the beginning of the data set.
694
693
  // eslint-disable-next-line no-param-reassign
695
- index = (_index = index) !== null && _index !== void 0 ? _index : insertRowMode === 'below' ? numberOfSourceRows : 0;
694
+ index = index !== null && index !== void 0 ? index : insertRowMode === 'below' ? numberOfSourceRows : 0;
696
695
  const {
697
696
  delta: rowDelta,
698
697
  startPhysicalIndex: startRowPhysicalIndex
@@ -709,7 +708,7 @@ function Core(rootElement, userSettings) {
709
708
 
710
709
  // Calling the `insert_col_start` action adds a new column to the left of the data set.
711
710
  // eslint-disable-next-line no-param-reassign
712
- index = (_index2 = index) !== null && _index2 !== void 0 ? _index2 : insertColumnMode === 'end' ? instance.countSourceCols() : 0;
711
+ index = index !== null && index !== void 0 ? index : insertColumnMode === 'end' ? instance.countSourceCols() : 0;
713
712
  const {
714
713
  delta: colDelta,
715
714
  startPhysicalIndex: startColumnPhysicalIndex
@@ -1175,10 +1174,10 @@ function Core(rootElement, userSettings) {
1175
1174
  // Add the theme class name to the license info element.
1176
1175
  instance.view.addClassNameToLicenseElement(instance.getCurrentThemeName());
1177
1176
  editorManager = _editorManager.default.getInstance(instance, tableMeta, selection);
1178
- viewportScroller = (0, _index3.createViewportScroller)(instance);
1177
+ viewportScroller = (0, _index.createViewportScroller)(instance);
1179
1178
  focusManager = new _focusManager.FocusManager(instance);
1180
1179
  if ((0, _rootInstance.isRootInstance)(this)) {
1181
- (0, _index3.installFocusCatcher)(instance);
1180
+ (0, _index.installFocusCatcher)(instance);
1182
1181
  }
1183
1182
  instance.runHooks('init');
1184
1183
  this.forceFullRender = true; // used when data was changed
@@ -4230,7 +4229,6 @@ function Core(rootElement, userSettings) {
4230
4229
  * @returns {boolean} `true` if viewport was scrolled, `false` otherwise.
4231
4230
  */
4232
4231
  this.scrollViewportTo = function (options) {
4233
- var _options;
4234
4232
  // Support for backward compatibility arguments: (row, col, snapToBottom, snapToRight, considerHiddenIndexes)
4235
4233
  if (typeof options === 'number') {
4236
4234
  var _arguments$;
@@ -4248,7 +4246,7 @@ function Core(rootElement, userSettings) {
4248
4246
  row,
4249
4247
  col,
4250
4248
  considerHiddenIndexes
4251
- } = (_options = options) !== null && _options !== void 0 ? _options : {};
4249
+ } = options !== null && options !== void 0 ? options : {};
4252
4250
  let renderableRow = row;
4253
4251
  let renderableColumn = col;
4254
4252
  if (considerHiddenIndexes === undefined || considerHiddenIndexes) {
@@ -5129,7 +5127,7 @@ module.exports = function (exec) {
5129
5127
  var NATIVE_BIND = __webpack_require__(12);
5130
5128
 
5131
5129
  var call = Function.prototype.call;
5132
-
5130
+ // eslint-disable-next-line es/no-function-prototype-bind -- safe
5133
5131
  module.exports = NATIVE_BIND ? call.bind(call) : function () {
5134
5132
  return call.apply(call, arguments);
5135
5133
  };
@@ -5236,6 +5234,7 @@ var NATIVE_BIND = __webpack_require__(12);
5236
5234
 
5237
5235
  var FunctionPrototype = Function.prototype;
5238
5236
  var call = FunctionPrototype.call;
5237
+ // eslint-disable-next-line es/no-function-prototype-bind -- safe
5239
5238
  var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);
5240
5239
 
5241
5240
  module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {
@@ -5641,10 +5640,10 @@ var SHARED = '__core-js_shared__';
5641
5640
  var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
5642
5641
 
5643
5642
  (store.versions || (store.versions = [])).push({
5644
- version: '3.39.0',
5643
+ version: '3.40.0',
5645
5644
  mode: IS_PURE ? 'pure' : 'global',
5646
- copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',
5647
- license: 'https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE',
5645
+ copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru)',
5646
+ license: 'https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE',
5648
5647
  source: 'https://github.com/zloirock/core-js'
5649
5648
  });
5650
5649
 
@@ -6428,7 +6427,7 @@ var FunctionPrototype = Function.prototype;
6428
6427
  var apply = FunctionPrototype.apply;
6429
6428
  var call = FunctionPrototype.call;
6430
6429
 
6431
- // eslint-disable-next-line es/no-reflect -- safe
6430
+ // eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe
6432
6431
  module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {
6433
6432
  return call.apply(apply, arguments);
6434
6433
  });
@@ -6918,9 +6917,13 @@ var $ = __webpack_require__(6);
6918
6917
  var difference = __webpack_require__(92);
6919
6918
  var setMethodAcceptSetLike = __webpack_require__(101);
6920
6919
 
6920
+ var INCORRECT = !setMethodAcceptSetLike('difference', function (result) {
6921
+ return result.size === 0;
6922
+ });
6923
+
6921
6924
  // `Set.prototype.difference` method
6922
6925
  // https://tc39.es/ecma262/#sec-set.prototype.difference
6923
- $({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, {
6926
+ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
6924
6927
  difference: difference
6925
6928
  });
6926
6929
 
@@ -7157,7 +7160,19 @@ var createSetLike = function (size) {
7157
7160
  };
7158
7161
  };
7159
7162
 
7160
- module.exports = function (name) {
7163
+ var createSetLikeWithInfinitySize = function (size) {
7164
+ return {
7165
+ size: size,
7166
+ has: function () {
7167
+ return true;
7168
+ },
7169
+ keys: function () {
7170
+ throw new Error('e');
7171
+ }
7172
+ };
7173
+ };
7174
+
7175
+ module.exports = function (name, callback) {
7161
7176
  var Set = getBuiltIn('Set');
7162
7177
  try {
7163
7178
  new Set()[name](createSetLike(0));
@@ -7167,7 +7182,18 @@ module.exports = function (name) {
7167
7182
  new Set()[name](createSetLike(-1));
7168
7183
  return false;
7169
7184
  } catch (error2) {
7170
- return true;
7185
+ if (!callback) return true;
7186
+ // early V8 implementation bug
7187
+ // https://issues.chromium.org/issues/351332634
7188
+ try {
7189
+ new Set()[name](createSetLikeWithInfinitySize(-Infinity));
7190
+ return false;
7191
+ } catch (error) {
7192
+ var set = new Set();
7193
+ set.add(1);
7194
+ set.add(2);
7195
+ return callback(set[name](createSetLikeWithInfinitySize(Infinity)));
7196
+ }
7171
7197
  }
7172
7198
  } catch (error) {
7173
7199
  return false;
@@ -7186,8 +7212,10 @@ var fails = __webpack_require__(10);
7186
7212
  var intersection = __webpack_require__(103);
7187
7213
  var setMethodAcceptSetLike = __webpack_require__(101);
7188
7214
 
7189
- var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () {
7190
- // eslint-disable-next-line es/no-array-from, es/no-set -- testing
7215
+ var INCORRECT = !setMethodAcceptSetLike('intersection', function (result) {
7216
+ return result.size === 2 && result.has(1) && result.has(2);
7217
+ }) || fails(function () {
7218
+ // eslint-disable-next-line es/no-array-from, es/no-set, es/no-set-prototype-intersection -- testing
7191
7219
  return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2';
7192
7220
  });
7193
7221
 
@@ -7246,9 +7274,13 @@ var $ = __webpack_require__(6);
7246
7274
  var isDisjointFrom = __webpack_require__(105);
7247
7275
  var setMethodAcceptSetLike = __webpack_require__(101);
7248
7276
 
7277
+ var INCORRECT = !setMethodAcceptSetLike('isDisjointFrom', function (result) {
7278
+ return !result;
7279
+ });
7280
+
7249
7281
  // `Set.prototype.isDisjointFrom` method
7250
7282
  // https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom
7251
- $({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, {
7283
+ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
7252
7284
  isDisjointFrom: isDisjointFrom
7253
7285
  });
7254
7286
 
@@ -7323,9 +7355,13 @@ var $ = __webpack_require__(6);
7323
7355
  var isSubsetOf = __webpack_require__(108);
7324
7356
  var setMethodAcceptSetLike = __webpack_require__(101);
7325
7357
 
7358
+ var INCORRECT = !setMethodAcceptSetLike('isSubsetOf', function (result) {
7359
+ return result;
7360
+ });
7361
+
7326
7362
  // `Set.prototype.isSubsetOf` method
7327
7363
  // https://tc39.es/ecma262/#sec-set.prototype.issubsetof
7328
- $({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, {
7364
+ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
7329
7365
  isSubsetOf: isSubsetOf
7330
7366
  });
7331
7367
 
@@ -7363,9 +7399,13 @@ var $ = __webpack_require__(6);
7363
7399
  var isSupersetOf = __webpack_require__(110);
7364
7400
  var setMethodAcceptSetLike = __webpack_require__(101);
7365
7401
 
7402
+ var INCORRECT = !setMethodAcceptSetLike('isSupersetOf', function (result) {
7403
+ return !result;
7404
+ });
7405
+
7366
7406
  // `Set.prototype.isSupersetOf` method
7367
7407
  // https://tc39.es/ecma262/#sec-set.prototype.issupersetof
7368
- $({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, {
7408
+ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
7369
7409
  isSupersetOf: isSupersetOf
7370
7410
  });
7371
7411
 
@@ -7945,12 +7985,13 @@ var createIteratorProxyPrototype = function (IS_ITERATOR) {
7945
7985
  next: function next() {
7946
7986
  var state = getInternalState(this);
7947
7987
  // for simplification:
7948
- // for `%WrapForValidIteratorPrototype%.next` our `nextHandler` returns `IterResultObject`
7988
+ // for `%WrapForValidIteratorPrototype%.next` or with `state.returnHandlerResult` our `nextHandler` returns `IterResultObject`
7949
7989
  // for `%IteratorHelperPrototype%.next` - just a value
7950
7990
  if (IS_ITERATOR) return state.nextHandler();
7991
+ if (state.done) return createIterResultObject(undefined, true);
7951
7992
  try {
7952
- var result = state.done ? undefined : state.nextHandler();
7953
- return createIterResultObject(result, state.done);
7993
+ var result = state.nextHandler();
7994
+ return state.returnHandlerResult ? result : createIterResultObject(result, state.done);
7954
7995
  } catch (error) {
7955
7996
  state.done = true;
7956
7997
  throw error;
@@ -7980,13 +8021,14 @@ var IteratorHelperPrototype = createIteratorProxyPrototype(false);
7980
8021
 
7981
8022
  createNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, 'Iterator Helper');
7982
8023
 
7983
- module.exports = function (nextHandler, IS_ITERATOR) {
8024
+ module.exports = function (nextHandler, IS_ITERATOR, RETURN_HANDLER_RESULT) {
7984
8025
  var IteratorProxy = function Iterator(record, state) {
7985
8026
  if (state) {
7986
8027
  state.iterator = record.iterator;
7987
8028
  state.next = record.next;
7988
8029
  } else state = record;
7989
8030
  state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER;
8031
+ state.returnHandlerResult = !!RETURN_HANDLER_RESULT;
7990
8032
  state.nextHandler = nextHandler;
7991
8033
  state.counter = 0;
7992
8034
  state.done = false;
@@ -10062,7 +10104,7 @@ const domMessages = {
10062
10104
  function _injectProductInfo(key, element) {
10063
10105
  const hasValidType = !isEmpty(key);
10064
10106
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
10065
- const hotVersion = "0.0.0-next-9779557-20250113";
10107
+ const hotVersion = "0.0.0-next-211192a-20250114";
10066
10108
  let keyValidityDate;
10067
10109
  let consoleMessageState = 'invalid';
10068
10110
  let domMessageState = 'invalid';
@@ -61786,7 +61828,6 @@ class Comments extends _base.BasePlugin {
61786
61828
  * @param {boolean} [force=false] If `true` then recalculation will be forced.
61787
61829
  */
61788
61830
  refreshEditor() {
61789
- var _renderableRow, _renderableColumn;
61790
61831
  let force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
61791
61832
  if (!force && (!this.range.from || !_classPrivateFieldGet(_editor, this).isVisible())) {
61792
61833
  return;
@@ -61815,8 +61856,8 @@ class Comments extends _base.BasePlugin {
61815
61856
  }
61816
61857
  const isBeforeRenderedRows = renderableRow === null;
61817
61858
  const isBeforeRenderedColumns = renderableColumn === null;
61818
- renderableRow = (_renderableRow = renderableRow) !== null && _renderableRow !== void 0 ? _renderableRow : 0;
61819
- renderableColumn = (_renderableColumn = renderableColumn) !== null && _renderableColumn !== void 0 ? _renderableColumn : 0;
61859
+ renderableRow = renderableRow !== null && renderableRow !== void 0 ? renderableRow : 0;
61860
+ renderableColumn = renderableColumn !== null && renderableColumn !== void 0 ? renderableColumn : 0;
61820
61861
  const {
61821
61862
  rootWindow,
61822
61863
  view: {
@@ -83823,7 +83864,6 @@ function _onModifyRowHeightByOverlayName(height, row, overlayType) {
83823
83864
  rowspanCorrection = maxRowspan - mergedCellsWithinRange[0].rowspan;
83824
83865
  }
83825
83866
  mergedCellsWithinRange.forEach(_ref2 => {
83826
- var _height;
83827
83867
  let {
83828
83868
  rowspan
83829
83869
  } = _ref2;
@@ -83833,7 +83873,7 @@ function _onModifyRowHeightByOverlayName(height, row, overlayType) {
83833
83873
  } else {
83834
83874
  rowspanAfterCorrection = rowspan - rowspanCorrection;
83835
83875
  }
83836
- height = Math.max((_height = height) !== null && _height !== void 0 ? _height : 0, _assertClassBrand(_MergeCells_brand, this, _sumCellsHeights).call(this, row, rowspanAfterCorrection));
83876
+ height = Math.max(height !== null && height !== void 0 ? height : 0, _assertClassBrand(_MergeCells_brand, this, _sumCellsHeights).call(this, row, rowspanAfterCorrection));
83837
83877
  });
83838
83878
  return height;
83839
83879
  }
@@ -88282,7 +88322,6 @@ class StateManager {
88282
88322
  * @returns {number} Returns a header level in format -1 to -N.
88283
88323
  */
88284
88324
  findTopMostEntireHeaderLevel(columnIndexFrom) {
88285
- var _headerLevel;
88286
88325
  let columnIndexTo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : columnIndexFrom;
88287
88326
  const columnsWidth = columnIndexTo - columnIndexFrom + 1;
88288
88327
  let atLeastOneRootFound = false;
@@ -88315,7 +88354,7 @@ class StateManager {
88315
88354
  if (atLeastOneRootFound && headerLevel === null) {
88316
88355
  return -1;
88317
88356
  }
88318
- return this.levelToRowCoords((_headerLevel = headerLevel) !== null && _headerLevel !== void 0 ? _headerLevel : 0);
88357
+ return this.levelToRowCoords(headerLevel !== null && headerLevel !== void 0 ? headerLevel : 0);
88319
88358
  }
88320
88359
 
88321
88360
  /**
@@ -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-211192a-20250114
30
+ * Release date: 16/12/2024 (built at 14/01/2025 12:18:29)
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