handsontable 0.0.0-next-817afa4-20240202 → 0.0.0-next-5787854-20240205

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-817afa4-20240202
29
- * Release date: 16/01/2024 (built at 02/02/2024 12:20:05)
28
+ * Version: 0.0.0-next-5787854-20240205
29
+ * Release date: 16/01/2024 (built at 05/02/2024 08:59:01)
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 = "02/02/2024 12:20:05";
111
- Handsontable.version = "0.0.0-next-817afa4-20240202";
110
+ Handsontable.buildDate = "05/02/2024 08:59:01";
111
+ Handsontable.version = "0.0.0-next-5787854-20240205";
112
112
  Handsontable.languages = {
113
113
  dictionaryKeys: _registry.dictionaryKeys,
114
114
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -7118,7 +7118,6 @@ exports.removeClass = removeClass;
7118
7118
  exports.removeContentEditableFromElementAndDeselect = removeContentEditableFromElementAndDeselect;
7119
7119
  exports.removeEvent = removeEvent;
7120
7120
  exports.removeTextNodes = removeTextNodes;
7121
- exports.renderMockCell = renderMockCell;
7122
7121
  exports.resetCssTransform = resetCssTransform;
7123
7122
  exports.runWithSelectedContendEditableElement = runWithSelectedContendEditableElement;
7124
7123
  exports.selectElementIfAllowed = selectElementIfAllowed;
@@ -8206,21 +8205,6 @@ function runWithSelectedContendEditableElement(element, callback) {
8206
8205
  removeContentEditableFromElementAndDeselect(element, invisibleSelection);
8207
8206
  }
8208
8207
 
8209
- /**
8210
- * Return a `td` element rendered outside of the table with the provided renderer function.
8211
- *
8212
- * @param {Document} rootDocument Root document element.
8213
- * @param {Function} renderFunction The renderer function.
8214
- * @param {Array} renderArgs The renderer arguments.
8215
- * @returns {HTMLElement} The rendered `td` element.
8216
- */
8217
- function renderMockCell(rootDocument, renderFunction, renderArgs) {
8218
- const cell = rootDocument.createElement('td');
8219
- renderArgs.splice(1, 0, cell);
8220
- renderFunction.call(renderArgs.instance, ...renderArgs);
8221
- return cell;
8222
- }
8223
-
8224
8208
  /***/ }),
8225
8209
  /* 108 */
8226
8210
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
@@ -8486,7 +8470,7 @@ const domMessages = {
8486
8470
  function _injectProductInfo(key, element) {
8487
8471
  const hasValidType = !isEmpty(key);
8488
8472
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
8489
- const hotVersion = "0.0.0-next-817afa4-20240202";
8473
+ const hotVersion = "0.0.0-next-5787854-20240205";
8490
8474
  let keyValidityDate;
8491
8475
  let consoleMessageState = 'invalid';
8492
8476
  let domMessageState = 'invalid';
@@ -36406,7 +36390,7 @@ class MetaManager {
36406
36390
 
36407
36391
  /**
36408
36392
  * Returns all cell meta objects that were created during the Handsontable operation but for
36409
- * specific row index.
36393
+ * specyfic row index.
36410
36394
  *
36411
36395
  * @param {number} physicalRow The physical row index.
36412
36396
  * @returns {object[]}
@@ -38487,23 +38471,6 @@ var _default = () => {
38487
38471
  * ```
38488
38472
  */
38489
38473
  disableVisualSelection: false,
38490
- /**
38491
- * @description
38492
- * The `displayValue` cell meta property defines a string that will be used to display the cell's contents
38493
- * in the Filters UI multi-selection module.
38494
- *
38495
- * For example, it can be utlized:
38496
- * - When the cell's underlying value is not easily readable.
38497
- * - With custom renderers.
38498
- *
38499
- * Currently used by default to display the numeric renderer's output.
38500
- *
38501
- * @memberof Options#
38502
- * @type {string}
38503
- * @default undefined
38504
- * @category Core
38505
- */
38506
- displayValue: undefined,
38507
38474
  /**
38508
38475
  * @description
38509
38476
  * The `dragToScroll` option configures the [`DragToScroll`](@/api/dragToScroll.md) plugin.
@@ -49365,7 +49332,6 @@ function numericRenderer(hotInstance, TD, row, col, prop, value, cellProperties)
49365
49332
  cellProperties.className = classArr.join(' ');
49366
49333
  TD.dir = 'ltr';
49367
49334
  }
49368
- cellProperties.displayValue = newValue;
49369
49335
  (0, _textRenderer.textRenderer)(hotInstance, TD, row, col, prop, newValue, cellProperties);
49370
49336
  }
49371
49337
  numericRenderer.RENDERER_TYPE = RENDERER_TYPE;
@@ -67971,7 +67937,6 @@ exports.__esModule = true;
67971
67937
  exports.createArrayAssertion = createArrayAssertion;
67972
67938
  exports.intersectValues = intersectValues;
67973
67939
  exports.sortComparison = sortComparison;
67974
- exports.syncDisplayValuesToUnifiedValues = syncDisplayValuesToUnifiedValues;
67975
67940
  exports.toEmptyString = toEmptyString;
67976
67941
  exports.toVisualValue = toVisualValue;
67977
67942
  exports.unifyColumnValues = unifyColumnValues;
@@ -67999,15 +67964,12 @@ function sortComparison(a, b) {
67999
67964
  *
68000
67965
  * @param {*} value The value to convert.
68001
67966
  * @param {string} defaultEmptyValue Default value for empty cells.
68002
- * @param {string} [displayValue] The display value.
68003
67967
  * @returns {*}
68004
67968
  */
68005
- function toVisualValue(value, defaultEmptyValue, displayValue) {
67969
+ function toVisualValue(value, defaultEmptyValue) {
68006
67970
  let visualValue = value;
68007
67971
  if (visualValue === '') {
68008
67972
  visualValue = `(${defaultEmptyValue})`;
68009
- } else if (displayValue) {
68010
- visualValue = displayValue;
68011
67973
  }
68012
67974
  return visualValue;
68013
67975
  }
@@ -68048,7 +68010,7 @@ function toEmptyString(value) {
68048
68010
  }
68049
68011
 
68050
68012
  /**
68051
- * Unify column values (remove duplicated values and sort them).
68013
+ * Unify column values (replace `null` and `undefined` values into empty string, unique values and sort them).
68052
68014
  *
68053
68015
  * @param {Array} values An array of values.
68054
68016
  * @returns {Array}
@@ -68072,43 +68034,23 @@ function unifyColumnValues(values) {
68072
68034
  return unifiedValues;
68073
68035
  }
68074
68036
 
68075
- /**
68076
- * Synchronize display values with the provided unified values.
68077
- *
68078
- * @param {Array} displayValues An array of display values.
68079
- * @param {Array} values An array of source values.
68080
- * @param {Array} unifiedValues An array of unified values.
68081
- *
68082
- * @returns {Array} An array of synchronized display values.
68083
- */
68084
- function syncDisplayValuesToUnifiedValues(displayValues, values, unifiedValues) {
68085
- const syncedDisplayValues = [];
68086
- (0, _array.arrayEach)(unifiedValues, unifiedValue => {
68087
- const index = values.indexOf(unifiedValue);
68088
- const displayValue = displayValues[index];
68089
- syncedDisplayValues.push(displayValue);
68090
- });
68091
- return syncedDisplayValues;
68092
- }
68093
-
68094
68037
  /**
68095
68038
  * Intersect 'base' values with 'selected' values and return an array of object.
68096
68039
  *
68097
68040
  * @param {Array} base An array of base values.
68098
68041
  * @param {Array} selected An array of selected values.
68099
68042
  * @param {string} defaultEmptyValue Default value for empty cells.
68100
- * @param {string[]} [displayValues] An array of display values.
68101
68043
  * @param {Function} [callback] A callback function which is invoked for every item in an array.
68102
68044
  * @returns {Array}
68103
68045
  */
68104
- function intersectValues(base, selected, defaultEmptyValue, displayValues, callback) {
68046
+ function intersectValues(base, selected, defaultEmptyValue, callback) {
68105
68047
  const result = [];
68106
68048
  const same = base === selected;
68107
68049
  let selectedItemsAssertion;
68108
68050
  if (!same) {
68109
68051
  selectedItemsAssertion = createArrayAssertion(selected);
68110
68052
  }
68111
- (0, _array.arrayEach)(base, (value, index) => {
68053
+ (0, _array.arrayEach)(base, value => {
68112
68054
  let checked = false;
68113
68055
  if (same || selectedItemsAssertion(value)) {
68114
68056
  checked = true;
@@ -68116,7 +68058,7 @@ function intersectValues(base, selected, defaultEmptyValue, displayValues, callb
68116
68058
  const item = {
68117
68059
  checked,
68118
68060
  value,
68119
- visualValue: toVisualValue(value, defaultEmptyValue, displayValues[index])
68061
+ visualValue: toVisualValue(value, defaultEmptyValue)
68120
68062
  };
68121
68063
  if (callback) {
68122
68064
  callback(item);
@@ -69311,23 +69253,17 @@ class ValueComponent extends _base.BaseComponent {
69311
69253
  * `editedConditionStack`, `dependentConditionStacks`, `visibleDataFactory` and `conditionArgsChange`.
69312
69254
  */
69313
69255
  updateState(stateInfo) {
69314
- const multipleSelectComponent = this.getMultipleSelectElement();
69315
69256
  const updateColumnState = (physicalColumn, conditions, conditionArgsChange, filteredRowsFactory, conditionsStack) => {
69316
69257
  const [firstByValueCondition] = (0, _array.arrayFilter)(conditions, condition => condition.name === _constants2.CONDITION_BY_VALUE);
69317
69258
  const state = {};
69318
69259
  const defaultBlankCellValue = this.hot.getTranslatedPhrase(C.FILTERS_VALUES_BLANK_CELLS);
69319
69260
  if (firstByValueCondition) {
69320
- const filteredRows = filteredRowsFactory(physicalColumn, conditionsStack);
69321
- const rowValues = (0, _array.arrayMap)(filteredRows, row => row.value);
69322
- const rowIndexes = (0, _array.arrayMap)(filteredRows, row => row.meta.visualRow);
69323
- const unifiedRowValues = (0, _utils.unifyColumnValues)(rowValues);
69324
- const displayValues = (multipleSelectComponent.getDisplayValuesAtCol(this.hot.toVisualColumn(physicalColumn)) || []).filter((value, index) => rowIndexes.includes(index));
69325
- const displayValuesSyncedWithUnifiedValues = (0, _utils.syncDisplayValuesToUnifiedValues)(displayValues, rowValues, unifiedRowValues);
69261
+ const rowValues = (0, _utils.unifyColumnValues)((0, _array.arrayMap)(filteredRowsFactory(physicalColumn, conditionsStack), row => row.value));
69326
69262
  if (conditionArgsChange) {
69327
69263
  firstByValueCondition.args[0] = conditionArgsChange;
69328
69264
  }
69329
69265
  const selectedValues = [];
69330
- const itemsSnapshot = (0, _utils.intersectValues)(unifiedRowValues, firstByValueCondition.args[0], defaultBlankCellValue, displayValuesSyncedWithUnifiedValues, item => {
69266
+ const itemsSnapshot = (0, _utils.intersectValues)(rowValues, firstByValueCondition.args[0], defaultBlankCellValue, item => {
69331
69267
  if (item.checked) {
69332
69268
  selectedValues.push(item.value);
69333
69269
  }
@@ -69390,17 +69326,13 @@ class ValueComponent extends _base.BaseComponent {
69390
69326
  * Reset elements to their initial state.
69391
69327
  */
69392
69328
  reset() {
69393
- const multiSelectComponent = this.getMultipleSelectElement();
69394
- const selectedColumn = this.hot.getPlugin('filters').getSelectedColumn();
69395
69329
  const defaultBlankCellValue = this.hot.getTranslatedPhrase(C.FILTERS_VALUES_BLANK_CELLS);
69396
- const values = this._getColumnVisibleValues();
69397
- const unifiedValues = (0, _utils.unifyColumnValues)(values);
69398
- const displayValues = multiSelectComponent.getDisplayValuesAtCol(selectedColumn === null || selectedColumn === void 0 ? void 0 : selectedColumn.visualIndex) || [];
69399
- const displayValuesSyncedWithUnifiedValues = (0, _utils.syncDisplayValuesToUnifiedValues)(displayValues, values, unifiedValues);
69400
- const items = (0, _utils.intersectValues)(unifiedValues, unifiedValues, defaultBlankCellValue, displayValuesSyncedWithUnifiedValues || []);
69330
+ const values = (0, _utils.unifyColumnValues)(this._getColumnVisibleValues());
69331
+ const items = (0, _utils.intersectValues)(values, values, defaultBlankCellValue);
69401
69332
  this.getMultipleSelectElement().setItems(items);
69402
69333
  super.reset();
69403
- this.getMultipleSelectElement().setValue(unifiedValues);
69334
+ this.getMultipleSelectElement().setValue(values);
69335
+ const selectedColumn = this.hot.getPlugin('filters').getSelectedColumn();
69404
69336
  if (selectedColumn !== null) {
69405
69337
  this.getMultipleSelectElement().setLocale(this.hot.getCellMeta(0, selectedColumn.visualIndex).locale);
69406
69338
  }
@@ -69812,44 +69744,6 @@ class MultipleSelectUI extends _base.BaseUI {
69812
69744
  (0, _classPrivateFieldSet2.default)(this, _items, null);
69813
69745
  super.destroy();
69814
69746
  }
69815
-
69816
- /**
69817
- * Returns the display values for all the cells at the given `column` visual index.
69818
- * If no display values are defined, the `source data` values will be returned instead.
69819
- *
69820
- * If the provided column index is not a valid integer, the method will return `null`.
69821
- *
69822
- * @param {number} column From visual column index.
69823
- * @returns {Array[]|null} Array containing the display values of all the cells in the column.
69824
- */
69825
- getDisplayValuesAtCol(column) {
69826
- if (!Number.isInteger(column)) {
69827
- return null;
69828
- }
69829
- const sourceRowCount = this.hot.countSourceRows();
69830
- const columnData = [];
69831
- let returnValue;
69832
- for (let row = 0; row < sourceRowCount; row += 1) {
69833
- const cellMeta = this.hot.getCellMeta(row, column);
69834
- const {
69835
- prop,
69836
- displayValue
69837
- } = cellMeta;
69838
- const cellSourceData = this.hot.getSourceDataAtCell(row, column);
69839
- if (displayValue) {
69840
- returnValue = displayValue;
69841
- } else {
69842
- var _cellMeta$displayValu;
69843
- // Render the cell in a mock element to try to get the display value (possibly applied in the renderer).
69844
- (0, _element.renderMockCell)(this.hot.rootDocument, this.hot.getCellRenderer(row, column), [this.hot, row, column, prop, cellSourceData, cellMeta]);
69845
-
69846
- // Retry getting the display value.
69847
- returnValue = (_cellMeta$displayValu = cellMeta.displayValue) !== null && _cellMeta$displayValu !== void 0 ? _cellMeta$displayValu : cellSourceData;
69848
- }
69849
- columnData.push(returnValue);
69850
- }
69851
- return columnData;
69852
- }
69853
69747
  }
69854
69748
  exports.MultipleSelectUI = MultipleSelectUI;
69855
69749
  function _onInput2(event) {
@@ -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-817afa4-20240202
29
- * Release date: 16/01/2024 (built at 02/02/2024 12:20:23)
28
+ * Version: 0.0.0-next-5787854-20240205
29
+ * Release date: 16/01/2024 (built at 05/02/2024 08:59:18)
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