handsontable 0.0.0-next-7cf23cf-20240507 → 0.0.0-next-c4a5d06-20240509

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-7cf23cf-20240507
29
- * Release date: 16/04/2024 (built at 07/05/2024 14:37:49)
28
+ * Version: 0.0.0-next-c4a5d06-20240509
29
+ * Release date: 16/04/2024 (built at 09/05/2024 06:58:22)
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 = "07/05/2024 14:37:49";
111
- Handsontable.version = "0.0.0-next-7cf23cf-20240507";
110
+ Handsontable.buildDate = "09/05/2024 06:58:22";
111
+ Handsontable.version = "0.0.0-next-c4a5d06-20240509";
112
112
  Handsontable.languages = {
113
113
  dictionaryKeys: _registry.dictionaryKeys,
114
114
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -744,6 +744,14 @@ function Core(rootElement, userSettings) {
744
744
  // Remove from the stack the last added selection as that selection below will be
745
745
  // replaced by new transformed selection.
746
746
  selection.getSelectedRange().pop();
747
+ instance.addHookOnce('afterSelection', function () {
748
+ for (var _len16 = arguments.length, _ref5 = new Array(_len16), _key16 = 0; _key16 < _len16; _key16++) {
749
+ _ref5[_key16] = arguments[_key16];
750
+ }
751
+ let [,,,, preventScrolling] = _ref5;
752
+ preventScrolling.value = true;
753
+ });
754
+
747
755
  // I can't use transforms as they don't work in negative indexes.
748
756
  selection.setRangeStartOnly(instance._createCellCoords(currentFromRow + rowDelta, currentFromColumn), true);
749
757
  selection.setRangeEnd(instance._createCellCoords(currentToRow + rowDelta, currentToColumn)); // will call render() internally
@@ -812,8 +820,8 @@ function Core(rootElement, userSettings) {
812
820
  let offset = 0;
813
821
 
814
822
  // Normalize the {index, amount} groups into bigger groups.
815
- (0, _array.arrayEach)(indexes, _ref5 => {
816
- let [groupIndex, groupAmount] = _ref5;
823
+ (0, _array.arrayEach)(indexes, _ref6 => {
824
+ let [groupIndex, groupAmount] = _ref6;
817
825
  const calcIndex = (0, _mixed.isEmpty)(groupIndex) ? instance.countRows() - 1 : Math.max(groupIndex - offset, 0);
818
826
 
819
827
  // If the 'index' is an integer decrease it by 'offset' otherwise pass it through to make the value
@@ -854,8 +862,8 @@ function Core(rootElement, userSettings) {
854
862
  let offset = 0;
855
863
 
856
864
  // Normalize the {index, amount} groups into bigger groups.
857
- (0, _array.arrayEach)(indexes, _ref6 => {
858
- let [groupIndex, groupAmount] = _ref6;
865
+ (0, _array.arrayEach)(indexes, _ref7 => {
866
+ let [groupIndex, groupAmount] = _ref7;
859
867
  const calcIndex = (0, _mixed.isEmpty)(groupIndex) ? instance.countCols() - 1 : Math.max(groupIndex - offset, 0);
860
868
  let physicalColumnIndex = instance.toPhysicalColumn(calcIndex);
861
869
 
@@ -1365,8 +1373,18 @@ function Core(rootElement, userSettings) {
1365
1373
  };
1366
1374
  for (let i = changes.length - 1; i >= 0; i--) {
1367
1375
  const [row, prop,, newValue] = changes[i];
1368
- const col = datamap.propToCol(prop);
1369
- const cellProperties = instance.getCellMeta(row, col);
1376
+ const visualCol = datamap.propToCol(prop);
1377
+ let cellProperties;
1378
+ if (Number.isInteger(visualCol)) {
1379
+ cellProperties = instance.getCellMeta(row, visualCol);
1380
+ } else {
1381
+ // If there's no requested visual column, we can use the table meta as the cell properties when retrieving
1382
+ // the cell validator.
1383
+ cellProperties = {
1384
+ ...Object.getPrototypeOf(tableMeta),
1385
+ ...tableMeta
1386
+ };
1387
+ }
1370
1388
  if (cellProperties.type === 'numeric' && typeof newValue === 'string' && (0, _number.isNumericLike)(newValue)) {
1371
1389
  changes[i][3] = getParsedNumber(newValue);
1372
1390
  }
@@ -1668,6 +1686,9 @@ function Core(rootElement, userSettings) {
1668
1686
  for (i = 0, ilen = input.length; i < ilen; i++) {
1669
1687
  changes.push([input[i][0], input[i][1], dataSource.getAtCell(this.toPhysicalRow(input[i][0]), input[i][1]), input[i][2]]);
1670
1688
  }
1689
+
1690
+ // TODO: I don't think `prop` should be used as `changeSource` here, but removing it would be a breaking change.
1691
+ // We should remove it with the next major release.
1671
1692
  if (!changeSource && typeof row === 'object') {
1672
1693
  changeSource = prop;
1673
1694
  }
@@ -1776,8 +1797,8 @@ function Core(rootElement, userSettings) {
1776
1797
  * @returns {Array} Returns removed portion of columns.
1777
1798
  */
1778
1799
  this.spliceCol = function (column, index, amount) {
1779
- for (var _len16 = arguments.length, elements = new Array(_len16 > 3 ? _len16 - 3 : 0), _key16 = 3; _key16 < _len16; _key16++) {
1780
- elements[_key16 - 3] = arguments[_key16];
1800
+ for (var _len17 = arguments.length, elements = new Array(_len17 > 3 ? _len17 - 3 : 0), _key17 = 3; _key17 < _len17; _key17++) {
1801
+ elements[_key17 - 3] = arguments[_key17];
1781
1802
  }
1782
1803
  return datamap.spliceCol(column, index, amount, ...elements);
1783
1804
  };
@@ -1794,8 +1815,8 @@ function Core(rootElement, userSettings) {
1794
1815
  * @returns {Array} Returns removed portion of rows.
1795
1816
  */
1796
1817
  this.spliceRow = function (row, index, amount) {
1797
- for (var _len17 = arguments.length, elements = new Array(_len17 > 3 ? _len17 - 3 : 0), _key17 = 3; _key17 < _len17; _key17++) {
1798
- elements[_key17 - 3] = arguments[_key17];
1818
+ for (var _len18 = arguments.length, elements = new Array(_len18 > 3 ? _len18 - 3 : 0), _key18 = 3; _key18 < _len18; _key18++) {
1819
+ elements[_key18 - 3] = arguments[_key18];
1799
1820
  }
1800
1821
  return datamap.spliceRow(row, index, amount, ...elements);
1801
1822
  };
@@ -1816,11 +1837,11 @@ function Core(rootElement, userSettings) {
1816
1837
  this.getSelected = function () {
1817
1838
  // https://github.com/handsontable/handsontable/issues/44 //cjl
1818
1839
  if (selection.isSelected()) {
1819
- return (0, _array.arrayMap)(selection.getSelectedRange(), _ref7 => {
1840
+ return (0, _array.arrayMap)(selection.getSelectedRange(), _ref8 => {
1820
1841
  let {
1821
1842
  from,
1822
1843
  to
1823
- } = _ref7;
1844
+ } = _ref8;
1824
1845
  return [from.row, from.col, to.row, to.col];
1825
1846
  });
1826
1847
  }
@@ -2769,7 +2790,7 @@ function Core(rootElement, userSettings) {
2769
2790
  }
2770
2791
  renderableRowIndex = this.rowIndexMapper.getRenderableFromVisualIndex(row);
2771
2792
  }
2772
- if (renderableRowIndex === null || renderableColumnIndex === null) {
2793
+ if (renderableRowIndex === null || renderableColumnIndex === null || renderableRowIndex === undefined || renderableColumnIndex === undefined) {
2773
2794
  return null;
2774
2795
  }
2775
2796
  return instance.view.getCellAtCoords(instance._createCellCoords(renderableRowIndex, renderableColumnIndex), topmost);
@@ -3046,15 +3067,15 @@ function Core(rootElement, userSettings) {
3046
3067
  const isThereAnySetSourceListener = this.hasHook('afterSetSourceDataAtCell');
3047
3068
  const changesForHook = [];
3048
3069
  if (isThereAnySetSourceListener) {
3049
- (0, _array.arrayEach)(input, _ref8 => {
3050
- let [changeRow, changeProp, changeValue] = _ref8;
3070
+ (0, _array.arrayEach)(input, _ref9 => {
3071
+ let [changeRow, changeProp, changeValue] = _ref9;
3051
3072
  changesForHook.push([changeRow, changeProp, dataSource.getAtCell(changeRow, changeProp),
3052
3073
  // The previous value.
3053
3074
  changeValue]);
3054
3075
  });
3055
3076
  }
3056
- (0, _array.arrayEach)(input, _ref9 => {
3057
- let [changeRow, changeProp, changeValue] = _ref9;
3077
+ (0, _array.arrayEach)(input, _ref10 => {
3078
+ let [changeRow, changeProp, changeValue] = _ref10;
3058
3079
  dataSource.setAtCell(changeRow, changeProp, changeValue);
3059
3080
  });
3060
3081
  if (isThereAnySetSourceListener) {
@@ -3192,8 +3213,8 @@ function Core(rootElement, userSettings) {
3192
3213
  */
3193
3214
  this.spliceCellsMeta = function (visualIndex) {
3194
3215
  let deleteAmount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
3195
- for (var _len18 = arguments.length, cellMetaRows = new Array(_len18 > 2 ? _len18 - 2 : 0), _key18 = 2; _key18 < _len18; _key18++) {
3196
- cellMetaRows[_key18 - 2] = arguments[_key18];
3216
+ for (var _len19 = arguments.length, cellMetaRows = new Array(_len19 > 2 ? _len19 - 2 : 0), _key19 = 2; _key19 < _len19; _key19++) {
3217
+ cellMetaRows[_key19 - 2] = arguments[_key19];
3197
3218
  }
3198
3219
  if (cellMetaRows.length > 0 && !Array.isArray(cellMetaRows[0])) {
3199
3220
  throw new Error('The 3rd argument (cellMetaRows) has to be passed as an array of cell meta objects array.');
@@ -4406,8 +4427,8 @@ function Core(rootElement, userSettings) {
4406
4427
  instance.batchExecution(() => {
4407
4428
  instance.rowIndexMapper.unregisterAll();
4408
4429
  instance.columnIndexMapper.unregisterAll();
4409
- pluginsRegistry.getItems().forEach(_ref10 => {
4410
- let [, plugin] = _ref10;
4430
+ pluginsRegistry.getItems().forEach(_ref11 => {
4431
+ let [, plugin] = _ref11;
4411
4432
  plugin.destroy();
4412
4433
  });
4413
4434
  pluginsRegistry.clear();
@@ -9203,7 +9224,7 @@ const domMessages = {
9203
9224
  function _injectProductInfo(key, element) {
9204
9225
  const hasValidType = !isEmpty(key);
9205
9226
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
9206
- const hotVersion = "0.0.0-next-7cf23cf-20240507";
9227
+ const hotVersion = "0.0.0-next-c4a5d06-20240509";
9207
9228
  let keyValidityDate;
9208
9229
  let consoleMessageState = 'invalid';
9209
9230
  let domMessageState = 'invalid';
@@ -49311,11 +49332,14 @@ class DropdownEditor extends _autocompleteEditor.AutocompleteEditor {
49311
49332
  }
49312
49333
  exports.DropdownEditor = DropdownEditor;
49313
49334
  _pluginHooks.default.getSingleton().add('beforeValidate', function (value, row, col) {
49314
- const cellMeta = this.getCellMeta(row, this.propToCol(col));
49315
- if (cellMeta.editor === DropdownEditor) {
49316
- if (cellMeta.strict === undefined) {
49317
- cellMeta.filter = false;
49318
- cellMeta.strict = true;
49335
+ const visualColumnIndex = this.propToCol(col);
49336
+ if (Number.isInteger(visualColumnIndex)) {
49337
+ const cellMeta = this.getCellMeta(row, visualColumnIndex);
49338
+ if (cellMeta.editor === DropdownEditor) {
49339
+ if (cellMeta.strict === undefined) {
49340
+ cellMeta.filter = false;
49341
+ cellMeta.strict = true;
49342
+ }
49319
49343
  }
49320
49344
  }
49321
49345
  });
@@ -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-7cf23cf-20240507
29
- * Release date: 16/04/2024 (built at 07/05/2024 14:38:06)
28
+ * Version: 0.0.0-next-c4a5d06-20240509
29
+ * Release date: 16/04/2024 (built at 09/05/2024 06:58:39)
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{border-left:1px solid #ccc}[dir=rtl].handsontable td:first-of-type,[dir=rtl].handsontable th:first-child{border-right:1px solid #ccc}.handsontable .ht_clone_top th:nth-child(2){border-left-width:0;border-right:1px solid #ccc}[dir=rtl].handsontable .ht_clone_top th:nth-child(2){border-left:1px solid #ccc;border-right-width:0}.handsontable.htRowHeaders thead tr th:nth-child(2){border-left:1px solid #ccc}[dir=rtl].handsontable.htRowHeaders thead tr th:nth-child(2){border-right:1px solid #ccc}.handsontable tr:first-child td,.handsontable tr:first-child th{border-top:1px solid #ccc}.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.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