handsontable 0.0.0-next-fd66c90-20240209 → 0.0.0-next-d255844-20240209

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-fd66c90-20240209
29
- * Release date: 16/01/2024 (built at 09/02/2024 11:01:31)
28
+ * Version: 0.0.0-next-d255844-20240209
29
+ * Release date: 16/01/2024 (built at 09/02/2024 11:21:50)
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 = "09/02/2024 11:01:31";
111
- Handsontable.version = "0.0.0-next-fd66c90-20240209";
110
+ Handsontable.buildDate = "09/02/2024 11:21:50";
111
+ Handsontable.version = "0.0.0-next-d255844-20240209";
112
112
  Handsontable.languages = {
113
113
  dictionaryKeys: _registry.dictionaryKeys,
114
114
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -8470,7 +8470,7 @@ const domMessages = {
8470
8470
  function _injectProductInfo(key, element) {
8471
8471
  const hasValidType = !isEmpty(key);
8472
8472
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
8473
- const hotVersion = "0.0.0-next-fd66c90-20240209";
8473
+ const hotVersion = "0.0.0-next-d255844-20240209";
8474
8474
  let keyValidityDate;
8475
8475
  let consoleMessageState = 'invalid';
8476
8476
  let domMessageState = 'invalid';
@@ -12236,6 +12236,16 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
12236
12236
  * @param {number} column Visual column index.
12237
12237
  */
12238
12238
  'modifyColWidth',
12239
+ /**
12240
+ * Fired when rendering the list of values in the multiple-selection component of the Filters dropdown.
12241
+ * The hook allows modifying the displayed values in that component.
12242
+ *
12243
+ * @since 14.2.0
12244
+ * @event Hooks#modifyFiltersMultiSelectValue
12245
+ * @param {object} item The item in the list of values.
12246
+ * @param {object} meta The cell properties object.
12247
+ */
12248
+ 'modifyFiltersMultiSelectValue',
12239
12249
  /**
12240
12250
  * Fired when focusing a cell or a header element. Allows replacing the element to be focused by returning a
12241
12251
  * different HTML element.
@@ -36390,7 +36400,7 @@ class MetaManager {
36390
36400
 
36391
36401
  /**
36392
36402
  * Returns all cell meta objects that were created during the Handsontable operation but for
36393
- * specyfic row index.
36403
+ * specific row index.
36394
36404
  *
36395
36405
  * @param {number} physicalRow The physical row index.
36396
36406
  * @returns {object[]}
@@ -49277,6 +49287,7 @@ exports.__esModule = true;
49277
49287
  var _numericRenderer = __webpack_require__(398);
49278
49288
  exports.RENDERER_TYPE = _numericRenderer.RENDERER_TYPE;
49279
49289
  exports.numericRenderer = _numericRenderer.numericRenderer;
49290
+ exports.getRenderedValue = _numericRenderer.getRenderedValue;
49280
49291
 
49281
49292
  /***/ }),
49282
49293
  /* 398 */
@@ -49287,6 +49298,7 @@ exports.numericRenderer = _numericRenderer.numericRenderer;
49287
49298
 
49288
49299
  var _interopRequireDefault = __webpack_require__(1);
49289
49300
  exports.__esModule = true;
49301
+ exports.getRenderedValue = getRenderedValue;
49290
49302
  exports.numericRenderer = numericRenderer;
49291
49303
  __webpack_require__(8);
49292
49304
  var _numbro = _interopRequireDefault(__webpack_require__(399));
@@ -49294,6 +49306,31 @@ var _textRenderer = __webpack_require__(358);
49294
49306
  var _number = __webpack_require__(147);
49295
49307
  const RENDERER_TYPE = exports.RENDERER_TYPE = 'numeric';
49296
49308
 
49309
+ /**
49310
+ * Get the rendered value.
49311
+ *
49312
+ * @param {*} value Value to be rendered.
49313
+ * @param {CellMeta} cellProperties Cell meta object.
49314
+ * @returns {*} Returns the rendered value.
49315
+ */
49316
+ function getRenderedValue(value, cellProperties) {
49317
+ if ((0, _number.isNumeric)(value)) {
49318
+ const numericFormat = cellProperties.numericFormat;
49319
+ const cellCulture = numericFormat && numericFormat.culture || '-';
49320
+ const cellFormatPattern = numericFormat && numericFormat.pattern;
49321
+ if (typeof cellCulture !== 'undefined' && !_numbro.default.languages()[cellCulture]) {
49322
+ const shortTag = cellCulture.replace('-', '');
49323
+ const langData = _numbro.default.allLanguages ? _numbro.default.allLanguages[cellCulture] : _numbro.default[shortTag];
49324
+ if (langData) {
49325
+ _numbro.default.registerLanguage(langData);
49326
+ }
49327
+ }
49328
+ _numbro.default.setLanguage(cellCulture);
49329
+ value = (0, _numbro.default)(value).format(cellFormatPattern || '0');
49330
+ }
49331
+ return value;
49332
+ }
49333
+
49297
49334
  /**
49298
49335
  * Numeric cell renderer.
49299
49336
  *
@@ -49309,20 +49346,9 @@ const RENDERER_TYPE = exports.RENDERER_TYPE = 'numeric';
49309
49346
  function numericRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
49310
49347
  let newValue = value;
49311
49348
  if ((0, _number.isNumeric)(newValue)) {
49312
- const numericFormat = cellProperties.numericFormat;
49313
- const cellCulture = numericFormat && numericFormat.culture || '-';
49314
- const cellFormatPattern = numericFormat && numericFormat.pattern;
49315
49349
  const className = cellProperties.className || '';
49316
49350
  const classArr = className.length ? className.split(' ') : [];
49317
- if (typeof cellCulture !== 'undefined' && !_numbro.default.languages()[cellCulture]) {
49318
- const shortTag = cellCulture.replace('-', '');
49319
- const langData = _numbro.default.allLanguages ? _numbro.default.allLanguages[cellCulture] : _numbro.default[shortTag];
49320
- if (langData) {
49321
- _numbro.default.registerLanguage(langData);
49322
- }
49323
- }
49324
- _numbro.default.setLanguage(cellCulture);
49325
- newValue = (0, _numbro.default)(newValue).format(cellFormatPattern || '0');
49351
+ newValue = getRenderedValue(newValue, cellProperties);
49326
49352
  if (classArr.indexOf('htLeft') < 0 && classArr.indexOf('htCenter') < 0 && classArr.indexOf('htRight') < 0 && classArr.indexOf('htJustify') < 0) {
49327
49353
  classArr.push('htRight');
49328
49354
  }
@@ -68010,7 +68036,7 @@ function toEmptyString(value) {
68010
68036
  }
68011
68037
 
68012
68038
  /**
68013
- * Unify column values (replace `null` and `undefined` values into empty string, unique values and sort them).
68039
+ * Unify column values (remove duplicated values and sort them).
68014
68040
  *
68015
68041
  * @param {Array} values An array of values.
68016
68042
  * @returns {Array}
@@ -69161,6 +69187,7 @@ var _base = __webpack_require__(548);
69161
69187
  var _multipleSelect = __webpack_require__(585);
69162
69188
  var _constants2 = __webpack_require__(549);
69163
69189
  var _conditionRegisterer = __webpack_require__(550);
69190
+ var _numericRenderer = __webpack_require__(397);
69164
69191
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
69165
69192
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
69166
69193
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
@@ -69171,12 +69198,29 @@ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(
69171
69198
  * @class ValueComponent
69172
69199
  */
69173
69200
  var _onInputKeyDown = /*#__PURE__*/new WeakSet();
69201
+ var _triggerModifyMultipleSelectionValueHook = /*#__PURE__*/new WeakSet();
69202
+ var _onModifyDisplayedValue = /*#__PURE__*/new WeakSet();
69174
69203
  class ValueComponent extends _base.BaseComponent {
69175
69204
  constructor(hotInstance, options) {
69176
69205
  super(hotInstance, {
69177
69206
  id: options.id,
69178
69207
  stateless: false
69179
69208
  });
69209
+ /**
69210
+ * Modify the value displayed in the multiple select list.
69211
+ *
69212
+ * @param {*} value Cell value.
69213
+ * @param {object} meta The cell meta object.
69214
+ * @returns {*} Returns the modified value.
69215
+ */
69216
+ _classPrivateMethodInitSpec(this, _onModifyDisplayedValue);
69217
+ /**
69218
+ * Trigger the `modifyFiltersMultiSelectValue` hook.
69219
+ *
69220
+ * @param {object} item Item from the multiple select list.
69221
+ * @param {Map} metaMap Map of row meta objects.
69222
+ */
69223
+ _classPrivateMethodInitSpec(this, _triggerModifyMultipleSelectionValueHook);
69180
69224
  /**
69181
69225
  * Key down listener.
69182
69226
  *
@@ -69201,6 +69245,7 @@ class ValueComponent extends _base.BaseComponent {
69201
69245
  */
69202
69246
  registerHooks() {
69203
69247
  this.getMultipleSelectElement().addLocalHook('keydown', event => _classPrivateMethodGet(this, _onInputKeyDown, _onInputKeyDown2).call(this, event)).addLocalHook('listTabKeydown', event => this.runLocalHooks('listTabKeydown', event));
69248
+ this.hot.addHook('modifyFiltersMultiSelectValue', (value, meta) => _classPrivateMethodGet(this, _onModifyDisplayedValue, _onModifyDisplayedValue2).call(this, value, meta));
69204
69249
  }
69205
69250
 
69206
69251
  /**
@@ -69258,15 +69303,19 @@ class ValueComponent extends _base.BaseComponent {
69258
69303
  const state = {};
69259
69304
  const defaultBlankCellValue = this.hot.getTranslatedPhrase(C.FILTERS_VALUES_BLANK_CELLS);
69260
69305
  if (firstByValueCondition) {
69261
- const rowValues = (0, _utils.unifyColumnValues)((0, _array.arrayMap)(filteredRowsFactory(physicalColumn, conditionsStack), row => row.value));
69306
+ const filteredRows = filteredRowsFactory(physicalColumn, conditionsStack);
69307
+ const rowValues = (0, _array.arrayMap)(filteredRows, row => row.value);
69308
+ const rowMetaMap = new Map(filteredRows.map(row => [row.value, this.hot.getCellMeta(row.meta.visualRow, row.meta.visualCol)]));
69309
+ const unifiedRowValues = (0, _utils.unifyColumnValues)(rowValues);
69262
69310
  if (conditionArgsChange) {
69263
69311
  firstByValueCondition.args[0] = conditionArgsChange;
69264
69312
  }
69265
69313
  const selectedValues = [];
69266
- const itemsSnapshot = (0, _utils.intersectValues)(rowValues, firstByValueCondition.args[0], defaultBlankCellValue, item => {
69314
+ const itemsSnapshot = (0, _utils.intersectValues)(unifiedRowValues, firstByValueCondition.args[0], defaultBlankCellValue, item => {
69267
69315
  if (item.checked) {
69268
69316
  selectedValues.push(item.value);
69269
69317
  }
69318
+ _classPrivateMethodGet(this, _triggerModifyMultipleSelectionValueHook, _triggerModifyMultipleSelectionValueHook2).call(this, item, rowMetaMap);
69270
69319
  });
69271
69320
  const column = stateInfo.editedConditionStack.column;
69272
69321
  state.locale = this.hot.getCellMeta(0, column).locale;
@@ -69327,8 +69376,13 @@ class ValueComponent extends _base.BaseComponent {
69327
69376
  */
69328
69377
  reset() {
69329
69378
  const defaultBlankCellValue = this.hot.getTranslatedPhrase(C.FILTERS_VALUES_BLANK_CELLS);
69330
- const values = (0, _utils.unifyColumnValues)(this._getColumnVisibleValues());
69331
- const items = (0, _utils.intersectValues)(values, values, defaultBlankCellValue);
69379
+ const rowEntries = this._getColumnVisibleValues();
69380
+ const rowValues = rowEntries.map(entry => entry.value);
69381
+ const rowMetaMap = new Map(rowEntries.map(row => [row.value, row.meta]));
69382
+ const values = (0, _utils.unifyColumnValues)(rowValues);
69383
+ const items = (0, _utils.intersectValues)(values, values, defaultBlankCellValue, item => {
69384
+ _classPrivateMethodGet(this, _triggerModifyMultipleSelectionValueHook, _triggerModifyMultipleSelectionValueHook2).call(this, item, rowMetaMap);
69385
+ });
69332
69386
  this.getMultipleSelectElement().setItems(items);
69333
69387
  super.reset();
69334
69388
  this.getMultipleSelectElement().setValue(values);
@@ -69348,7 +69402,12 @@ class ValueComponent extends _base.BaseComponent {
69348
69402
  if (selectedColumn === null) {
69349
69403
  return [];
69350
69404
  }
69351
- return (0, _array.arrayMap)(this.hot.getDataAtCol(selectedColumn.visualIndex), v => (0, _utils.toEmptyString)(v));
69405
+ return (0, _array.arrayMap)(this.hot.getDataAtCol(selectedColumn.visualIndex), (v, rowIndex) => {
69406
+ return {
69407
+ value: (0, _utils.toEmptyString)(v),
69408
+ meta: this.hot.getCellMeta(selectedColumn.visualIndex, rowIndex)
69409
+ };
69410
+ });
69352
69411
  }
69353
69412
  }
69354
69413
  exports.ValueComponent = ValueComponent;
@@ -69358,6 +69417,19 @@ function _onInputKeyDown2(event) {
69358
69417
  (0, _event.stopImmediatePropagation)(event);
69359
69418
  }
69360
69419
  }
69420
+ function _triggerModifyMultipleSelectionValueHook2(item, metaMap) {
69421
+ if (this.hot.hasHook('modifyFiltersMultiSelectValue')) {
69422
+ item.visualValue = this.hot.runHooks('modifyFiltersMultiSelectValue', item.visualValue, metaMap.get(item.value));
69423
+ }
69424
+ }
69425
+ function _onModifyDisplayedValue2(value, meta) {
69426
+ switch (meta.type) {
69427
+ case 'numeric':
69428
+ return (0, _numericRenderer.getRenderedValue)(value, meta);
69429
+ default:
69430
+ return value;
69431
+ }
69432
+ }
69361
69433
 
69362
69434
  /***/ }),
69363
69435
  /* 585 */
@@ -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-fd66c90-20240209
29
- * Release date: 16/01/2024 (built at 09/02/2024 11:01:49)
28
+ * Version: 0.0.0-next-d255844-20240209
29
+ * Release date: 16/01/2024 (built at 09/02/2024 11:22:08)
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 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;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-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{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