handsontable 0.0.0-next-e2b07e5-20231213 → 0.0.0-next-9327dd7-20231213

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-e2b07e5-20231213
29
- * Release date: 30/11/2023 (built at 13/12/2023 07:39:53)
28
+ * Version: 0.0.0-next-9327dd7-20231213
29
+ * Release date: 30/11/2023 (built at 13/12/2023 09:21:46)
30
30
  */
31
31
  (function webpackUniversalModuleDefinition(root, factory) {
32
32
  if(typeof exports === 'object' && typeof module === 'object')
@@ -107,8 +107,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
107
107
  Handsontable.CellCoords = _src.CellCoords;
108
108
  Handsontable.CellRange = _src.CellRange;
109
109
  Handsontable.packageName = 'handsontable';
110
- Handsontable.buildDate = "13/12/2023 07:39:53";
111
- Handsontable.version = "0.0.0-next-e2b07e5-20231213";
110
+ Handsontable.buildDate = "13/12/2023 09:21:46";
111
+ Handsontable.version = "0.0.0-next-9327dd7-20231213";
112
112
  Handsontable.languages = {
113
113
  dictionaryKeys: _registry.dictionaryKeys,
114
114
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -8515,7 +8515,7 @@ const domMessages = {
8515
8515
  function _injectProductInfo(key, element) {
8516
8516
  const hasValidType = !isEmpty(key);
8517
8517
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
8518
- const hotVersion = "0.0.0-next-e2b07e5-20231213";
8518
+ const hotVersion = "0.0.0-next-9327dd7-20231213";
8519
8519
  let keyValidityDate;
8520
8520
  let consoleMessageState = 'invalid';
8521
8521
  let domMessageState = 'invalid';
@@ -87354,6 +87354,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
87354
87354
  var _interopRequireDefault = __webpack_require__(1);
87355
87355
  exports.__esModule = true;
87356
87356
  __webpack_require__(8);
87357
+ __webpack_require__(670);
87357
87358
  var _pluginHooks = _interopRequireDefault(__webpack_require__(128));
87358
87359
  var _array = __webpack_require__(113);
87359
87360
  var _number = __webpack_require__(141);
@@ -87410,11 +87411,30 @@ function UndoRedo(instance) {
87410
87411
  instance.addHook('afterCreateRow', (index, amount, source) => {
87411
87412
  plugin.done(() => new UndoRedo.CreateRowAction(index, amount), source);
87412
87413
  });
87414
+ const getCellMetas = (fromRow, toRow, fromColumn, toColumn) => {
87415
+ const genericKeys = ['visualRow', 'visualCol', 'row', 'col', 'prop'];
87416
+ const genericKeysLength = genericKeys.length;
87417
+ const cellMetas = [];
87418
+ (0, _number.rangeEach)(fromColumn, toColumn, columnIndex => {
87419
+ (0, _number.rangeEach)(fromRow, toRow, rowIndex => {
87420
+ const cellMeta = instance.getCellMeta(rowIndex, columnIndex);
87421
+ if (Object.keys(cellMeta).length !== genericKeysLength) {
87422
+ const uniqueMeta = Object.fromEntries(Object.entries(cellMeta).filter(_ref => {
87423
+ let [key] = _ref;
87424
+ return genericKeys.includes(key) === false;
87425
+ }));
87426
+ cellMetas.push([cellMeta.visualRow, cellMeta.visualCol, uniqueMeta]);
87427
+ }
87428
+ });
87429
+ });
87430
+ return cellMetas;
87431
+ };
87413
87432
  instance.addHook('beforeRemoveRow', (index, amount, logicRows, source) => {
87414
87433
  const wrappedAction = () => {
87415
87434
  const physicalRowIndex = instance.toPhysicalRow(index);
87435
+ const lastRowIndex = physicalRowIndex + amount - 1;
87416
87436
  const removedData = (0, _object.deepClone)(plugin.instance.getSourceData(physicalRowIndex, 0, physicalRowIndex + amount - 1, plugin.instance.countSourceCols() - 1));
87417
- return new UndoRedo.RemoveRowAction(physicalRowIndex, removedData, instance.getSettings().fixedRowsBottom, instance.getSettings().fixedRowsTop, instance.rowIndexMapper.getIndexesSequence());
87437
+ return new UndoRedo.RemoveRowAction(physicalRowIndex, removedData, instance.getSettings().fixedRowsBottom, instance.getSettings().fixedRowsTop, instance.rowIndexMapper.getIndexesSequence(), getCellMetas(physicalRowIndex, lastRowIndex, 0, instance.countCols() - 1));
87418
87438
  };
87419
87439
  plugin.done(wrappedAction, source);
87420
87440
  });
@@ -87425,13 +87445,14 @@ function UndoRedo(instance) {
87425
87445
  const wrappedAction = () => {
87426
87446
  const originalData = plugin.instance.getSourceDataArray();
87427
87447
  const columnIndex = (plugin.instance.countCols() + index) % plugin.instance.countCols();
87448
+ const lastColumnIndex = columnIndex + amount - 1;
87428
87449
  const removedData = [];
87429
87450
  const headers = [];
87430
87451
  const indexes = [];
87431
87452
  (0, _number.rangeEach)(originalData.length - 1, i => {
87432
87453
  const column = [];
87433
87454
  const origRow = originalData[i];
87434
- (0, _number.rangeEach)(columnIndex, columnIndex + (amount - 1), j => {
87455
+ (0, _number.rangeEach)(columnIndex, lastColumnIndex, j => {
87435
87456
  column.push(origRow[instance.toPhysicalColumn(j)]);
87436
87457
  });
87437
87458
  removedData.push(column);
@@ -87446,7 +87467,7 @@ function UndoRedo(instance) {
87446
87467
  }
87447
87468
  const columnsMap = instance.columnIndexMapper.getIndexesSequence();
87448
87469
  const rowsMap = instance.rowIndexMapper.getIndexesSequence();
87449
- return new UndoRedo.RemoveColumnAction(columnIndex, indexes, removedData, headers, columnsMap, rowsMap, instance.getSettings().fixedColumnsStart);
87470
+ return new UndoRedo.RemoveColumnAction(columnIndex, indexes, removedData, headers, columnsMap, rowsMap, instance.getSettings().fixedColumnsStart, getCellMetas(0, instance.countRows(), columnIndex, lastColumnIndex));
87450
87471
  };
87451
87472
  plugin.done(wrappedAction, source);
87452
87473
  });
@@ -87764,14 +87785,16 @@ UndoRedo.CreateRowAction.prototype.redo = function (instance, redoneCallback) {
87764
87785
  * @param {number} fixedRowsBottom Number of fixed rows on the bottom. Remove row action change it sometimes.
87765
87786
  * @param {number} fixedRowsTop Number of fixed rows on the top. Remove row action change it sometimes.
87766
87787
  * @param {Array} rowIndexesSequence Row index sequence taken from the row index mapper.
87788
+ * @param {Array} removedCellMetas List of removed cell metas.
87767
87789
  */
87768
- UndoRedo.RemoveRowAction = function (index, data, fixedRowsBottom, fixedRowsTop, rowIndexesSequence) {
87790
+ UndoRedo.RemoveRowAction = function (index, data, fixedRowsBottom, fixedRowsTop, rowIndexesSequence, removedCellMetas) {
87769
87791
  this.index = index;
87770
87792
  this.data = data;
87771
87793
  this.actionType = 'remove_row';
87772
87794
  this.fixedRowsBottom = fixedRowsBottom;
87773
87795
  this.fixedRowsTop = fixedRowsTop;
87774
87796
  this.rowIndexesSequence = rowIndexesSequence;
87797
+ this.removedCellMetas = removedCellMetas;
87775
87798
  };
87776
87799
  (0, _object.inherit)(UndoRedo.RemoveRowAction, UndoRedo.Action);
87777
87800
  UndoRedo.RemoveRowAction.prototype.undo = function (instance, undoneCallback) {
@@ -87790,6 +87813,10 @@ UndoRedo.RemoveRowAction.prototype.undo = function (instance, undoneCallback) {
87790
87813
  });
87791
87814
  });
87792
87815
  instance.alter('insert_row_above', this.index, this.data.length, 'UndoRedo.undo');
87816
+ this.removedCellMetas.forEach(_ref2 => {
87817
+ let [rowIndex, columnIndex, cellMeta] = _ref2;
87818
+ instance.setCellMetaObject(rowIndex, columnIndex, cellMeta);
87819
+ });
87793
87820
  instance.addHookOnce('afterViewRender', undoneCallback);
87794
87821
  instance.setSourceDataAtCell(changes, null, null, 'UndoRedo.undo');
87795
87822
  instance.rowIndexMapper.setIndexesSequence(this.rowIndexesSequence);
@@ -87832,8 +87859,9 @@ UndoRedo.CreateColumnAction.prototype.redo = function (instance, redoneCallback)
87832
87859
  * @param {number[]} columnPositions The column position.
87833
87860
  * @param {number[]} rowPositions The row position.
87834
87861
  * @param {number} fixedColumnsStart Number of fixed columns on the left. Remove column action change it sometimes.
87862
+ * @param {Array} removedCellMetas List of removed cell metas.
87835
87863
  */
87836
- UndoRedo.RemoveColumnAction = function (index, indexes, data, headers, columnPositions, rowPositions, fixedColumnsStart) {
87864
+ UndoRedo.RemoveColumnAction = function (index, indexes, data, headers, columnPositions, rowPositions, fixedColumnsStart, removedCellMetas) {
87837
87865
  // eslint-disable-line max-len
87838
87866
  this.index = index;
87839
87867
  this.indexes = indexes;
@@ -87844,6 +87872,7 @@ UndoRedo.RemoveColumnAction = function (index, indexes, data, headers, columnPos
87844
87872
  this.rowPositions = rowPositions.slice(0);
87845
87873
  this.actionType = 'remove_col';
87846
87874
  this.fixedColumnsStart = fixedColumnsStart;
87875
+ this.removedCellMetas = removedCellMetas;
87847
87876
  };
87848
87877
  (0, _object.inherit)(UndoRedo.RemoveColumnAction, UndoRedo.Action);
87849
87878
  UndoRedo.RemoveColumnAction.prototype.undo = function (instance, undoneCallback) {
@@ -87873,6 +87902,10 @@ UndoRedo.RemoveColumnAction.prototype.undo = function (instance, undoneCallback)
87873
87902
  instance.getSettings().colHeaders[ascendingIndexes[columnIndex]] = headerData;
87874
87903
  });
87875
87904
  }
87905
+ this.removedCellMetas.forEach(_ref3 => {
87906
+ let [rowIndex, columnIndex, cellMeta] = _ref3;
87907
+ instance.setCellMetaObject(rowIndex, columnIndex, cellMeta);
87908
+ });
87876
87909
  instance.batchExecution(() => {
87877
87910
  // Restore row sequence in a case when all columns are removed. the original
87878
87911
  // row sequence is lost in that case.
@@ -88191,6 +88224,222 @@ var _default = exports["default"] = UndoRedo;
88191
88224
 
88192
88225
  /***/ }),
88193
88226
  /* 670 */
88227
+ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
88228
+
88229
+ "use strict";
88230
+
88231
+ var $ = __webpack_require__(9);
88232
+ var iterate = __webpack_require__(671);
88233
+ var createProperty = __webpack_require__(677);
88234
+
88235
+ // `Object.fromEntries` method
88236
+ // https://github.com/tc39/proposal-object-from-entries
88237
+ $({ target: 'Object', stat: true }, {
88238
+ fromEntries: function fromEntries(iterable) {
88239
+ var obj = {};
88240
+ iterate(iterable, function (k, v) {
88241
+ createProperty(obj, k, v);
88242
+ }, { AS_ENTRIES: true });
88243
+ return obj;
88244
+ }
88245
+ });
88246
+
88247
+
88248
+ /***/ }),
88249
+ /* 671 */
88250
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
88251
+
88252
+ "use strict";
88253
+
88254
+ var bind = __webpack_require__(97);
88255
+ var call = __webpack_require__(14);
88256
+ var anObject = __webpack_require__(53);
88257
+ var tryToString = __webpack_require__(38);
88258
+ var isArrayIteratorMethod = __webpack_require__(672);
88259
+ var lengthOfArrayLike = __webpack_require__(70);
88260
+ var isPrototypeOf = __webpack_require__(31);
88261
+ var getIterator = __webpack_require__(674);
88262
+ var getIteratorMethod = __webpack_require__(675);
88263
+ var iteratorClose = __webpack_require__(676);
88264
+
88265
+ var $TypeError = TypeError;
88266
+
88267
+ var Result = function (stopped, result) {
88268
+ this.stopped = stopped;
88269
+ this.result = result;
88270
+ };
88271
+
88272
+ var ResultPrototype = Result.prototype;
88273
+
88274
+ module.exports = function (iterable, unboundFunction, options) {
88275
+ var that = options && options.that;
88276
+ var AS_ENTRIES = !!(options && options.AS_ENTRIES);
88277
+ var IS_RECORD = !!(options && options.IS_RECORD);
88278
+ var IS_ITERATOR = !!(options && options.IS_ITERATOR);
88279
+ var INTERRUPTED = !!(options && options.INTERRUPTED);
88280
+ var fn = bind(unboundFunction, that);
88281
+ var iterator, iterFn, index, length, result, next, step;
88282
+
88283
+ var stop = function (condition) {
88284
+ if (iterator) iteratorClose(iterator, 'normal', condition);
88285
+ return new Result(true, condition);
88286
+ };
88287
+
88288
+ var callFn = function (value) {
88289
+ if (AS_ENTRIES) {
88290
+ anObject(value);
88291
+ return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
88292
+ } return INTERRUPTED ? fn(value, stop) : fn(value);
88293
+ };
88294
+
88295
+ if (IS_RECORD) {
88296
+ iterator = iterable.iterator;
88297
+ } else if (IS_ITERATOR) {
88298
+ iterator = iterable;
88299
+ } else {
88300
+ iterFn = getIteratorMethod(iterable);
88301
+ if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');
88302
+ // optimisation for array iterators
88303
+ if (isArrayIteratorMethod(iterFn)) {
88304
+ for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
88305
+ result = callFn(iterable[index]);
88306
+ if (result && isPrototypeOf(ResultPrototype, result)) return result;
88307
+ } return new Result(false);
88308
+ }
88309
+ iterator = getIterator(iterable, iterFn);
88310
+ }
88311
+
88312
+ next = IS_RECORD ? iterable.next : iterator.next;
88313
+ while (!(step = call(next, iterator)).done) {
88314
+ try {
88315
+ result = callFn(step.value);
88316
+ } catch (error) {
88317
+ iteratorClose(iterator, 'throw', error);
88318
+ }
88319
+ if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;
88320
+ } return new Result(false);
88321
+ };
88322
+
88323
+
88324
+ /***/ }),
88325
+ /* 672 */
88326
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
88327
+
88328
+ "use strict";
88329
+
88330
+ var wellKnownSymbol = __webpack_require__(40);
88331
+ var Iterators = __webpack_require__(673);
88332
+
88333
+ var ITERATOR = wellKnownSymbol('iterator');
88334
+ var ArrayPrototype = Array.prototype;
88335
+
88336
+ // check on default Array iterator
88337
+ module.exports = function (it) {
88338
+ return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
88339
+ };
88340
+
88341
+
88342
+ /***/ }),
88343
+ /* 673 */
88344
+ /***/ ((module) => {
88345
+
88346
+ "use strict";
88347
+
88348
+ module.exports = {};
88349
+
88350
+
88351
+ /***/ }),
88352
+ /* 674 */
88353
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
88354
+
88355
+ "use strict";
88356
+
88357
+ var call = __webpack_require__(14);
88358
+ var aCallable = __webpack_require__(37);
88359
+ var anObject = __webpack_require__(53);
88360
+ var tryToString = __webpack_require__(38);
88361
+ var getIteratorMethod = __webpack_require__(675);
88362
+
88363
+ var $TypeError = TypeError;
88364
+
88365
+ module.exports = function (argument, usingIterator) {
88366
+ var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
88367
+ if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));
88368
+ throw new $TypeError(tryToString(argument) + ' is not iterable');
88369
+ };
88370
+
88371
+
88372
+ /***/ }),
88373
+ /* 675 */
88374
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
88375
+
88376
+ "use strict";
88377
+
88378
+ var classof = __webpack_require__(88);
88379
+ var getMethod = __webpack_require__(36);
88380
+ var isNullOrUndefined = __webpack_require__(23);
88381
+ var Iterators = __webpack_require__(673);
88382
+ var wellKnownSymbol = __webpack_require__(40);
88383
+
88384
+ var ITERATOR = wellKnownSymbol('iterator');
88385
+
88386
+ module.exports = function (it) {
88387
+ if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)
88388
+ || getMethod(it, '@@iterator')
88389
+ || Iterators[classof(it)];
88390
+ };
88391
+
88392
+
88393
+ /***/ }),
88394
+ /* 676 */
88395
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
88396
+
88397
+ "use strict";
88398
+
88399
+ var call = __webpack_require__(14);
88400
+ var anObject = __webpack_require__(53);
88401
+ var getMethod = __webpack_require__(36);
88402
+
88403
+ module.exports = function (iterator, kind, value) {
88404
+ var innerResult, innerError;
88405
+ anObject(iterator);
88406
+ try {
88407
+ innerResult = getMethod(iterator, 'return');
88408
+ if (!innerResult) {
88409
+ if (kind === 'throw') throw value;
88410
+ return value;
88411
+ }
88412
+ innerResult = call(innerResult, iterator);
88413
+ } catch (error) {
88414
+ innerError = true;
88415
+ innerResult = error;
88416
+ }
88417
+ if (kind === 'throw') throw value;
88418
+ if (innerError) throw innerResult;
88419
+ anObject(innerResult);
88420
+ return value;
88421
+ };
88422
+
88423
+
88424
+ /***/ }),
88425
+ /* 677 */
88426
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
88427
+
88428
+ "use strict";
88429
+
88430
+ var toPropertyKey = __webpack_require__(24);
88431
+ var definePropertyModule = __webpack_require__(51);
88432
+ var createPropertyDescriptor = __webpack_require__(17);
88433
+
88434
+ module.exports = function (object, key, value) {
88435
+ var propertyKey = toPropertyKey(key);
88436
+ if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
88437
+ else object[propertyKey] = value;
88438
+ };
88439
+
88440
+
88441
+ /***/ }),
88442
+ /* 678 */
88194
88443
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
88195
88444
 
88196
88445
  "use strict";
@@ -88299,7 +88548,7 @@ exports.CellRange = _base.CellRange;
88299
88548
  var _registry = __webpack_require__(350);
88300
88549
  var _eventManager = _interopRequireWildcard(__webpack_require__(131));
88301
88550
  var _translations = __webpack_require__(224);
88302
- var _jquery = _interopRequireDefault(__webpack_require__(670));
88551
+ var _jquery = _interopRequireDefault(__webpack_require__(678));
88303
88552
  var _ghostTable = _interopRequireDefault(__webpack_require__(428));
88304
88553
  var parseTableHelpers = _interopRequireWildcard(__webpack_require__(138));
88305
88554
  var arrayHelpers = _interopRequireWildcard(__webpack_require__(113));
@@ -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-e2b07e5-20231213
29
- * Release date: 30/11/2023 (built at 13/12/2023 07:40:10)
28
+ * Version: 0.0.0-next-9327dd7-20231213
29
+ * Release date: 30/11/2023 (built at 13/12/2023 09:22:02)
30
30
  */.handsontable .table td,.handsontable .table th{border-top:none}.handsontable tr{background:#fff}.handsontable td{background-color:inherit}.handsontable .table caption+thead tr:first-child td,.handsontable .table caption+thead tr:first-child th,.handsontable .table colgroup+thead tr:first-child td,.handsontable .table colgroup+thead tr:first-child th,.handsontable .table thead:first-child tr:first-child td,.handsontable .table thead:first-child tr:first-child th{border-top:1px solid #ccc}.handsontable .table-bordered{border:0;border-collapse:separate}.handsontable .table-bordered td,.handsontable .table-bordered th{border-left:none}.handsontable .table-bordered td:first-child,.handsontable .table-bordered th:first-child{border-left:1px solid #ccc}.handsontable .table>tbody>tr>td,.handsontable .table>tbody>tr>th,.handsontable .table>tfoot>tr>td,.handsontable .table>tfoot>tr>th,.handsontable .table>thead>tr>td,.handsontable .table>thead>tr>th{line-height:21px;padding:0}.col-lg-1.handsontable,.col-lg-10.handsontable,.col-lg-11.handsontable,.col-lg-12.handsontable,.col-lg-2.handsontable,.col-lg-3.handsontable,.col-lg-4.handsontable,.col-lg-5.handsontable,.col-lg-6.handsontable,.col-lg-7.handsontable,.col-lg-8.handsontable,.col-lg-9.handsontable,.col-md-1.handsontable,.col-md-10.handsontable,.col-md-11.handsontable,.col-md-12.handsontable,.col-md-2.handsontable,.col-md-3.handsontable,.col-md-4.handsontable,.col-md-5.handsontable,.col-md-6.handsontable,.col-md-7.handsontable,.col-md-8.handsontable,.col-md-9.handsontable .col-sm-1.handsontable,.col-sm-10.handsontable,.col-sm-11.handsontable,.col-sm-12.handsontable,.col-sm-2.handsontable,.col-sm-3.handsontable,.col-sm-4.handsontable,.col-sm-5.handsontable,.col-sm-6.handsontable,.col-sm-7.handsontable,.col-sm-8.handsontable,.col-sm-9.handsontable .col-xs-1.handsontable,.col-xs-10.handsontable,.col-xs-11.handsontable,.col-xs-12.handsontable,.col-xs-2.handsontable,.col-xs-3.handsontable,.col-xs-4.handsontable,.col-xs-5.handsontable,.col-xs-6.handsontable,.col-xs-7.handsontable,.col-xs-8.handsontable,.col-xs-9.handsontable{padding-left:0;padding-right:0}.handsontable .table-striped>tbody>tr:nth-of-type(2n){background-color:#fff}.handsontable{position:relative}.handsontable .hide{display:none}.handsontable .relative{position:relative}.handsontable .wtHider{width:0}.handsontable .wtSpreader{height:auto;position:relative;width:0}.handsontable div,.handsontable input,.handsontable table,.handsontable tbody,.handsontable td,.handsontable textarea,.handsontable th,.handsontable thead{box-sizing:content-box;-webkit-box-sizing:content-box;-moz-box-sizing:content-box}.handsontable input,.handsontable textarea{min-height:auto}.handsontable table.htCore{border-collapse:separate;border-spacing:0;border-width:0;cursor:default;margin:0;max-height:none;max-width:none;outline-width:0;table-layout:fixed;width:0}.handsontable col,.handsontable col.rowHeader{width:50px}.handsontable td,.handsontable th{background-color:#fff;border-bottom:1px solid #ccc;border-left-width:0;border-right:1px solid #ccc;border-top-width:0;empty-cells:show;height:22px;line-height:21px;outline:none;outline-width:0;overflow:hidden;padding:0 4px;vertical-align:top;white-space:pre-wrap}[dir=rtl].handsontable td,[dir=rtl].handsontable th{border-left:1px solid #ccc;border-right-width:0}.handsontable th:last-child{border-bottom:1px solid #ccc;border-left:none;border-right:1px solid #ccc}[dir=rtl].handsontable th:last-child{border-left:1px solid #ccc;border-right:none}.handsontable td:first-of-type,.handsontable th:first-child,.handsontable th:nth-child(2){border-left:1px solid #ccc}[dir=rtl].handsontable td:first-of-type,[dir=rtl].handsontable th:first-child,[dir=rtl].handsontable th:nth-child(2){border-right:1px solid #ccc}.handsontable .ht_clone_top th:nth-child(2){border-left-width:0;border-right:1px solid #ccc}[dir=rtl].handsontable .ht_clone_top th:nth-child(2){border-left:1px solid #ccc;border-right-width:0}.handsontable.htRowHeaders thead tr th:nth-child(2){border-left:1px solid #ccc}[dir=rtl].handsontable.htRowHeaders thead tr th:nth-child(2){border-right:1px solid #ccc}.handsontable tr:first-child td,.handsontable tr:first-child th{border-top:1px solid #ccc}.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top) thead tr th:first-child{border-left:1px solid #ccc;border-right-width:0}[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top) thead tr th:first-child{border-left-width:0;border-right:1px solid #ccc}.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr:last-child th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr:last-child th{border-bottom-width:0}.handsontable th{background-color:#f0f0f0;color:#222;font-weight:400;text-align:center;white-space:nowrap}.handsontable thead th{padding:0}.handsontable th.active{background-color:#ccc}.handsontable thead th .relative{padding:2px 4px}.handsontable span.colHeader{display:inline-block;line-height:1.1}.handsontable .wtBorder{font-size:0;position:absolute}.handsontable .wtBorder.hidden{display:none!important}.handsontable .wtBorder.current{z-index:10}.handsontable .wtBorder.area{z-index:8}.handsontable .wtBorder.fill{z-index:6}.handsontable .wtBorder.corner{cursor:crosshair;font-size:0}.ht_clone_master{z-index:100}.ht_clone_inline_start{z-index:120}.ht_clone_bottom{z-index:130}.ht_clone_bottom_inline_start_corner{z-index:150}.ht_clone_top{z-index:160}.ht_clone_top_inline_start_corner{z-index:180}.handsontable col.hidden{width:0!important}.handsontable tr.hidden,.handsontable tr.hidden td,.handsontable tr.hidden th{display:none}.ht_clone_bottom,.ht_clone_inline_start,.ht_clone_top,.ht_master{overflow:hidden}.ht_master .wtHolder{overflow:auto}.handsontable .ht_clone_inline_start thead,.handsontable .ht_master thead,.handsontable .ht_master tr th{visibility:hidden}.ht_clone_bottom .wtHolder,.ht_clone_inline_start .wtHolder,.ht_clone_top .wtHolder{overflow:hidden}.handsontable{color:#373737;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:13px;font-weight:400;touch-action:manipulation}.handsontable a{color:#104acc}.handsontable.htAutoSize{left:-99000px;position:absolute;top:-99000px;visibility:hidden}.handsontable td.htInvalid{background-color:#ffbeba!important}.handsontable td.htNoWrap{white-space:nowrap}.handsontable td.invisibleSelection,.handsontable th.invisibleSelection{outline:none}.handsontable td.invisibleSelection::selection,.handsontable th.invisibleSelection::selection{background:hsla(0,0%,100%,0)}.hot-display-license-info{color:#373737;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:10px;font-weight:400;padding:5px 0 3px;text-align:left}.hot-display-license-info a{color:#104acc;font-size:10px}.handsontable .htFocusCatcher{border:0;height:0;margin:0;opacity:0;padding:0;position:absolute;width:0;z-index:-1}.handsontable .manualColumnResizer{cursor:col-resize;height:25px;position:absolute;top:0;width:5px;z-index:210}.handsontable .manualRowResizer{cursor:row-resize;height:5px;left:0;position:absolute;width:50px;z-index:210}.handsontable .manualColumnResizer.active,.handsontable .manualColumnResizer:hover,.handsontable .manualRowResizer.active,.handsontable .manualRowResizer:hover{background-color:#34a9db}.handsontable .manualColumnResizerGuide{background-color:#34a9db;border-left:none;border-right:1px dashed #777;display:none;margin-left:5px;margin-right:unset;position:absolute;right:unset;top:0;width:0}[dir=rtl].handsontable .manualColumnResizerGuide{border-left:1px dashed #777;border-right:none;left:unset;margin-left:unset;margin-right:5px}.handsontable .manualRowResizerGuide{background-color:#34a9db;border-bottom:1px dashed #777;bottom:0;display:none;height:0;left:0;margin-top:5px;position:absolute}.handsontable .manualColumnResizerGuide.active,.handsontable .manualRowResizerGuide.active{display:block;z-index:209}.handsontable .columnSorting{position:relative}.handsontable .columnSorting.sortAction:hover{cursor:pointer;text-decoration:underline}.handsontable span.colHeader.columnSorting:before{background-position-x:right;background-repeat:no-repeat;background-size:contain;content:"";height:10px;left:unset;margin-top:-6px;padding-left:8px;padding-right:0;position:absolute;right:-9px;top:50%;width:5px}[dir=rtl].handsontable span.colHeader.columnSorting:before{background-position-x:left;left:-9px;padding-left:0;padding-right:8px;right:unset}.handsontable span.colHeader.columnSorting.ascending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFNJREFUeAHtzjkSgCAUBNHPgsoy97+ulGXRqJE5L+xkxoYt2UdsLb5bqFINz+aLuuLn5rIu2RkO3fZpWENimNgiw6iBYRTPMLJjGFxQZ1hxxb/xBI1qC8k39CdKAAAAAElFTkSuQmCC)}.handsontable span.colHeader.columnSorting.descending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFJJREFUeAHtzjkSgCAQRNFmQYUZ7n9dKUvru0TmvPAn3br0QfgdZ5xx6x+rQn23GqTYnq1FDcnuzZIO2WmedVqIRVxgGKEyjNgYRjKGkZ1hFIZ3I70LyM0VtU8AAAAASUVORK5CYII=)}.htGhostTable .htCore span.colHeader.columnSorting:not(.indicatorDisabled):before{content:"*";display:inline-block;padding-right:20px;position:relative}.handsontable td.area,.handsontable td.area-1,.handsontable td.area-2,.handsontable td.area-3,.handsontable td.area-4,.handsontable td.area-5,.handsontable td.area-6,.handsontable td.area-7{position:relative}.handsontable td.area-1:before,.handsontable td.area-2:before,.handsontable td.area-3:before,.handsontable td.area-4:before,.handsontable td.area-5:before,.handsontable td.area-6:before,.handsontable td.area-7:before,.handsontable td.area:before{background:#005eff;bottom:0;bottom:-100%\9;content:"";left:0;position:absolute;right:0;top:0}@media (-ms-high-contrast:none),screen and (-ms-high-contrast:active){.handsontable td.area-1:before,.handsontable td.area-2:before,.handsontable td.area-3:before,.handsontable td.area-4:before,.handsontable td.area-5:before,.handsontable td.area-6:before,.handsontable td.area-7:before,.handsontable td.area:before{bottom:-100%}}.handsontable td.area:before{opacity:.1}.handsontable td.area-1:before{opacity:.2}.handsontable td.area-2:before{opacity:.27}.handsontable td.area-3:before{opacity:.35}.handsontable td.area-4:before{opacity:.41}.handsontable td.area-5:before{opacity:.47}.handsontable td.area-6:before{opacity:.54}.handsontable td.area-7:before{opacity:.58}.handsontable tbody th.current,.handsontable thead th.current{box-shadow:inset 0 0 0 2px #4b89ff}.handsontable tbody th.ht__highlight,.handsontable thead th.ht__highlight{background-color:#dcdcdc}.handsontable tbody th.ht__active_highlight,.handsontable thead th.ht__active_highlight{background-color:#8eb0e7;color:#000}.handsontableInput{background-color:#fff;border:none;border-radius:0;box-shadow:inset 0 0 0 2px #5292f7;color:#000;display:block;font-family:inherit;font-size:inherit;line-height:21px;margin:0;outline-width:0;padding:1px 5px 0;resize:none}.handsontableInput:focus{outline:none}.handsontableInputHolder{left:0;position:absolute;top:0}.htSelectEditor{-webkit-appearance:menulist-button!important;position:absolute;width:auto}.htSelectEditor:focus{outline:none}.handsontable .htDimmed{color:#777}.handsontable .htSubmenu{position:relative}.handsontable .htSubmenu :after{color:#777;content:"▶";font-size:9px;position:absolute;right:5px}[dir=rtl].handsontable .htSubmenu :after{content:""}[dir=rtl].handsontable .htSubmenu :before{color:#777;content:"◀";font-size:9px;left:5px;position:absolute}.handsontable .htLeft{text-align:left}.handsontable .htCenter{text-align:center}.handsontable .htRight{text-align:right}.handsontable .htJustify{text-align:justify}.handsontable .htTop{vertical-align:top}.handsontable .htMiddle{vertical-align:middle}.handsontable .htBottom{vertical-align:bottom}.handsontable .htPlaceholder{color:#999}.handsontable.listbox{margin:0}.handsontable.listbox .ht_master table{background:#fff;border:1px solid #ccc;border-collapse:separate}.handsontable.listbox td,.handsontable.listbox th,.handsontable.listbox tr:first-child td,.handsontable.listbox tr:first-child th,.handsontable.listbox tr:last-child th{border-color:transparent!important}.handsontable.listbox td,.handsontable.listbox th{text-overflow:ellipsis;white-space:nowrap}.handsontable.listbox td.htDimmed{color:inherit;cursor:default;font-style:inherit}.handsontable.listbox .wtBorder{visibility:hidden}.handsontable.listbox tr td.current,.handsontable.listbox tr:hover td{background:#eee}.ht_editor_hidden{z-index:-1}.ht_editor_visible{z-index:200}.handsontable td.htSearchResult{background:#fcedd9;color:#583707}.handsontable .collapsibleIndicator{background:#eee;border:1px solid #a6a6a6;border-radius:10px;-webkit-box-shadow:0 0 0 6px #eee;-moz-box-shadow:0 0 0 6px #eee;box-shadow:0 0 0 3px #eee;color:#222;cursor:pointer;font-size:10px;height:10px;left:unset;line-height:8px;position:absolute;right:5px;text-align:center;top:50%;transform:translateY(-50%);width:10px}[dir=rtl].handsontable .collapsibleIndicator{left:5px;right:unset}.handsontable.mobile,.handsontable.mobile .wtHolder{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-overflow-scrolling:touch;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.handsontable.mobile .handsontableInput:focus{-webkit-appearance:none;-webkit-box-shadow:inset 0 0 0 2px #5292f7;-moz-box-shadow:inset 0 0 0 2px #5292f7;box-shadow:inset 0 0 0 2px #5292f7}.handsontable .bottomSelectionHandle,.handsontable .bottomSelectionHandle-HitArea,.handsontable .topSelectionHandle,.handsontable .topSelectionHandle-HitArea{left:-10000px;right:unset;top:-10000px;z-index:9999}[dir=rtl].handsontable .bottomSelectionHandle,[dir=rtl].handsontable .bottomSelectionHandle-HitArea,[dir=rtl].handsontable .topSelectionHandle,[dir=rtl].handsontable .topSelectionHandle-HitArea{left:unset;right:-10000px}.handsontable.hide-tween{-webkit-animation:opacity-hide .3s;animation:opacity-hide .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable.show-tween{-webkit-animation:opacity-show .3s;animation:opacity-show .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable .htAutocompleteArrow{color:#bbb;cursor:default;float:right;font-size:10px;text-align:center;width:16px}[dir=rtl].handsontable .htAutocompleteArrow{float:left}.handsontable td.htInvalid .htAutocompleteArrow{color:#555}.handsontable td.htInvalid .htAutocompleteArrow:hover{color:#1a1a1a}.handsontable td .htAutocompleteArrow:hover{color:#777}.handsontable td.area .htAutocompleteArrow{color:#d3d3d3}.handsontable .htCheckboxRendererInput{display:inline-block}.handsontable .htCheckboxRendererInput.noValue{opacity:.5}.handsontable .htCheckboxRendererLabel{cursor:pointer;display:inline-block;font-size:inherit;vertical-align:middle}.handsontable .htCheckboxRendererLabel.fullWidth{width:100%}.handsontable .htCommentCell{position:relative}.handsontable .htCommentCell:after{border-left:6px solid transparent;border-right:none;border-top:6px solid #000;content:"";left:unset;position:absolute;right:0;top:0}[dir=rtl].handsontable .htCommentCell:after{border-left:none;border-right:6px solid transparent;left:0;right:unset}.htCommentsContainer .htComments{display:none;position:absolute;z-index:1059}.htCommentsContainer .htCommentTextArea{-webkit-appearance:none;background-color:#fff;border:none;border-left:3px solid #ccc;box-shadow:0 1px 3px rgba(0,0,0,.118),0 1px 2px rgba(0,0,0,.239);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:12px;height:90px;outline:0!important;padding:5px;width:215px}[dir=rtl].htCommentsContainer .htCommentTextArea{border-left:none;border-right:3px solid #ccc}.htCommentsContainer .htCommentTextArea:focus{border-left:3px solid #5292f7;border-right:none;box-shadow:0 1px 3px rgba(0,0,0,.118),0 1px 2px rgba(0,0,0,.239),inset 0 0 0 1px #5292f7}[dir=rtl].htCommentsContainer .htCommentTextArea:focus{border-left:none;border-right:3px solid #5292f7}
31
31
  /*!
32
32
  * Handsontable ContextMenu