handsontable 0.0.0-next-20342c9-20241216 → 0.0.0-next-f26c313-20241217

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

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-20342c9-20241216
29
- * Release date: 16/12/2024 (built at 16/12/2024 15:02:10)
28
+ * Version: 0.0.0-next-f26c313-20241217
29
+ * Release date: 16/12/2024 (built at 17/12/2024 09:08:11)
30
30
  */
31
31
  (function webpackUniversalModuleDefinition(root, factory) {
32
32
  if(typeof exports === 'object' && typeof module === 'object')
@@ -104,8 +104,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
104
104
  Handsontable.CellCoords = _src.CellCoords;
105
105
  Handsontable.CellRange = _src.CellRange;
106
106
  Handsontable.packageName = 'handsontable';
107
- Handsontable.buildDate = "16/12/2024 15:02:10";
108
- Handsontable.version = "0.0.0-next-20342c9-20241216";
107
+ Handsontable.buildDate = "17/12/2024 09:08:11";
108
+ Handsontable.version = "0.0.0-next-f26c313-20241217";
109
109
  Handsontable.languages = {
110
110
  dictionaryKeys: _registry.dictionaryKeys,
111
111
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -10051,7 +10051,7 @@ const domMessages = {
10051
10051
  function _injectProductInfo(key, element) {
10052
10052
  const hasValidType = !isEmpty(key);
10053
10053
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
10054
- const hotVersion = "0.0.0-next-20342c9-20241216";
10054
+ const hotVersion = "0.0.0-next-f26c313-20241217";
10055
10055
  let keyValidityDate;
10056
10056
  let consoleMessageState = 'invalid';
10057
10057
  let domMessageState = 'invalid';
@@ -17705,6 +17705,7 @@ var _mouseDown = /*#__PURE__*/new WeakMap();
17705
17705
  var _table = /*#__PURE__*/new WeakMap();
17706
17706
  var _lastWidth = /*#__PURE__*/new WeakMap();
17707
17707
  var _lastHeight = /*#__PURE__*/new WeakMap();
17708
+ var _mouseDownLastPos = /*#__PURE__*/new WeakMap();
17708
17709
  var _TableView_brand = /*#__PURE__*/new WeakSet();
17709
17710
  class TableView {
17710
17711
  /**
@@ -17816,6 +17817,12 @@ class TableView {
17816
17817
  * @type {number}
17817
17818
  */
17818
17819
  _classPrivateFieldInitSpec(this, _lastHeight, 0);
17820
+ /**
17821
+ * The last mouse position of the mousedown event.
17822
+ *
17823
+ * @type {{ x: number, y: number } | null}
17824
+ */
17825
+ _classPrivateFieldInitSpec(this, _mouseDownLastPos, null);
17819
17826
  this.hot = hotInstance;
17820
17827
  this.eventManager = new _eventManager.default(this.hot);
17821
17828
  this.settings = this.hot.getSettings();
@@ -18461,6 +18468,10 @@ class TableView {
18461
18468
  this.hot.listen();
18462
18469
  this.activeWt = wt;
18463
18470
  _classPrivateFieldSet(_mouseDown, this, true);
18471
+ _classPrivateFieldSet(_mouseDownLastPos, this, {
18472
+ x: event.clientX,
18473
+ y: event.clientY
18474
+ });
18464
18475
  this.hot.runHooks('beforeOnCellMouseDown', event, visualCoords, TD, controller);
18465
18476
  if ((0, _event.isImmediatePropagationStopped)(event)) {
18466
18477
  return;
@@ -18510,7 +18521,11 @@ class TableView {
18510
18521
  if ((0, _event.isImmediatePropagationStopped)(event)) {
18511
18522
  return;
18512
18523
  }
18513
- if (_classPrivateFieldGet(_mouseDown, this)) {
18524
+
18525
+ // Ignore mouseover events when the mouse has not moved. This solves an issue (#dev-1479) where
18526
+ // column resizing triggered by the long text in the cell causes the mouseover event to be fired,
18527
+ // thus selecting multiple cells with no user intention.
18528
+ if (_classPrivateFieldGet(_mouseDown, this) && (!_classPrivateFieldGet(_mouseDownLastPos, this) || _classPrivateFieldGet(_mouseDownLastPos, this).x !== event.clientX || _classPrivateFieldGet(_mouseDownLastPos, this).y !== event.clientY)) {
18514
18529
  (0, _mouseEventHandler.handleMouseEvent)(event, {
18515
18530
  coords: visualCoords,
18516
18531
  selection: this.hot.selection,
@@ -18520,6 +18535,7 @@ class TableView {
18520
18535
  }
18521
18536
  this.hot.runHooks('afterOnCellMouseOver', event, visualCoords, TD);
18522
18537
  this.activeWt = this._wt;
18538
+ _classPrivateFieldSet(_mouseDownLastPos, this, null);
18523
18539
  },
18524
18540
  onCellMouseUp: (event, coords, TD, wt) => {
18525
18541
  const visualCoords = this.translateFromRenderableToVisualCoords(coords);
@@ -43135,11 +43151,13 @@ var _default = () => {
43135
43151
  *
43136
43152
  * You can set the `mergeCells` option to one of the following:
43137
43153
  *
43138
- * | Setting | Description |
43139
- * | ------------------- | --------------------------------------------------------------------------------------------------- |
43140
- * | `true` | Enable the [`MergeCells`](@/api/mergeCells.md) plugin |
43141
- * | `false` | Disable the [`MergeCells`](@/api/mergeCells.md) plugin |
43142
- * | An array of objects | - Enable the [`MergeCells`](@/api/mergeCells.md) plugin<br>- Merge specific cells at initialization |
43154
+ * | Setting | Description |
43155
+ * | --------------------- | --------------------------------------------------------------------------------------------------- |
43156
+ * | `true` | Enable the [`MergeCells`](@/api/mergeCells.md) plugin |
43157
+ * | `false` | Disable the [`MergeCells`](@/api/mergeCells.md) plugin |
43158
+ * | An array of objects | - Enable the [`MergeCells`](@/api/mergeCells.md) plugin<br>- Merge specific cells at initialization |
43159
+ * | { virtualized: true } | Enable the [`MergeCells`](@/api/mergeCells.md) plugin with enabled virtualization mode |
43160
+ *
43143
43161
  *
43144
43162
  * To merge specific cells at Handsontable's initialization,
43145
43163
  * set the `mergeCells` option to an array of objects, with the following properties:
@@ -43174,6 +43192,20 @@ var _default = () => {
43174
43192
  * // merge cells from cell (5,6) to cell (3,3)
43175
43193
  * {row: 5, col: 6, rowspan: 3, colspan: 3}
43176
43194
  * ],
43195
+ *
43196
+ * // enable the `MergeCells` plugin with enabled virtualization mode
43197
+ * // and merge specific cells at initialization
43198
+ * mergeCells: {
43199
+ * virtualized: true,
43200
+ * cells: [
43201
+ * // merge cells from cell (1,1) to cell (3,3)
43202
+ * {row: 1, col: 1, rowspan: 3, colspan: 3},
43203
+ * // merge cells from cell (3,4) to cell (2,2)
43204
+ * {row: 3, col: 4, rowspan: 2, colspan: 2},
43205
+ * // merge cells from cell (5,6) to cell (3,3)
43206
+ * {row: 5, col: 6, rowspan: 3, colspan: 3}
43207
+ * ],
43208
+ * },
43177
43209
  * ```
43178
43210
  */
43179
43211
  mergeCells: false,
@@ -50974,9 +51006,7 @@ class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
50974
51006
  }
50975
51007
  const orderByRelevanceLength = Array.isArray(orderByRelevance) ? orderByRelevance.length : 0;
50976
51008
  if (filterSetting === false) {
50977
- if (orderByRelevanceLength) {
50978
- highlightIndex = orderByRelevance[0];
50979
- }
51009
+ highlightIndex = orderByRelevanceLength > 0 ? orderByRelevance[0] : 0;
50980
51010
  } else {
50981
51011
  const sorted = [];
50982
51012
  for (let i = 0, choicesCount = choices.length; i < choicesCount; i++) {
@@ -51979,7 +52009,6 @@ exports.__esModule = true;
51979
52009
  __webpack_require__(115);
51980
52010
  __webpack_require__(127);
51981
52011
  var _autocompleteEditor = __webpack_require__(428);
51982
- var _hooks = __webpack_require__(177);
51983
52012
  const EDITOR_TYPE = exports.EDITOR_TYPE = 'dropdown';
51984
52013
 
51985
52014
  /**
@@ -52000,24 +52029,12 @@ class DropdownEditor extends _autocompleteEditor.AutocompleteEditor {
52000
52029
  * @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
52001
52030
  */
52002
52031
  prepare(row, col, prop, td, value, cellProperties) {
52032
+ cellProperties.filter = false;
52033
+ cellProperties.strict = true;
52003
52034
  super.prepare(row, col, prop, td, value, cellProperties);
52004
- this.cellProperties.filter = false;
52005
- this.cellProperties.strict = true;
52006
52035
  }
52007
52036
  }
52008
52037
  exports.DropdownEditor = DropdownEditor;
52009
- _hooks.Hooks.getSingleton().add('beforeValidate', function (value, row, col) {
52010
- const visualColumnIndex = this.propToCol(col);
52011
- if (Number.isInteger(visualColumnIndex)) {
52012
- const cellMeta = this.getCellMeta(row, visualColumnIndex);
52013
- if (cellMeta.editor === DropdownEditor) {
52014
- if (cellMeta.strict === undefined) {
52015
- cellMeta.filter = false;
52016
- cellMeta.strict = true;
52017
- }
52018
- }
52019
- }
52020
- });
52021
52038
 
52022
52039
  /***/ }),
52023
52040
  /* 439 */
@@ -54003,9 +54020,11 @@ const CELL_TYPE = exports.CELL_TYPE = 'dropdown';
54003
54020
  const DropdownCellType = exports.DropdownCellType = {
54004
54021
  CELL_TYPE,
54005
54022
  editor: _dropdownEditor.DropdownEditor,
54006
- // displays small gray arrow on right side of the cell
54007
54023
  renderer: _dropdownRenderer.dropdownRenderer,
54008
- validator: _dropdownValidator.dropdownValidator
54024
+ // displays small gray arrow on right side of the cell
54025
+ validator: _dropdownValidator.dropdownValidator,
54026
+ filter: false,
54027
+ strict: true
54009
54028
  };
54010
54029
 
54011
54030
  /***/ }),
@@ -92066,8 +92085,6 @@ class RowMoveController {
92066
92085
  const rowsLen = rows.length;
92067
92086
  let startRow = 0;
92068
92087
  let endRow = 0;
92069
- let selection = null;
92070
- let lastColIndex = null;
92071
92088
  if (this.movedToCollapsed) {
92072
92089
  let physicalDropIndex = null;
92073
92090
  if (rows[rowsLen - 1] < dropIndex) {
@@ -92086,10 +92103,7 @@ class RowMoveController {
92086
92103
  startRow = dropIndex;
92087
92104
  endRow = startRow + rowsLen - 1;
92088
92105
  }
92089
- selection = this.hot.selection;
92090
- lastColIndex = this.hot.countCols() - 1;
92091
- selection.setRangeStart(this.hot._createCellCoords(startRow, 0));
92092
- selection.setRangeEnd(this.hot._createCellCoords(endRow, lastColIndex), true);
92106
+ this.hot.selectCells([[startRow, 0, endRow, this.hot.countCols() - 1]], false);
92093
92107
  }
92094
92108
 
92095
92109
  // TODO: Reimplementation of function which is inside the `ManualRowMove` plugin.
@@ -26,8 +26,8 @@
26
26
  * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
27
27
  * USE OR INABILITY TO USE THIS SOFTWARE.
28
28
  *
29
- * Version: 0.0.0-next-20342c9-20241216
30
- * Release date: 16/12/2024 (built at 16/12/2024 15:03:01)
29
+ * Version: 0.0.0-next-f26c313-20241217
30
+ * Release date: 16/12/2024 (built at 17/12/2024 09:09:04)
31
31
  */.handsontable .table td,.handsontable .table th{border-top:none}.handsontable tr{background:#fff}.handsontable td{background-color:inherit}.handsontable .table caption+thead tr:first-child td,.handsontable .table caption+thead tr:first-child th,.handsontable .table colgroup+thead tr:first-child td,.handsontable .table colgroup+thead tr:first-child th,.handsontable .table thead:first-child tr:first-child td,.handsontable .table thead:first-child tr:first-child th{border-top:1px solid #ccc}.handsontable .table-bordered{border:0;border-collapse:separate}.handsontable .table-bordered td,.handsontable .table-bordered th{border-left:none}.handsontable .table-bordered td:first-child,.handsontable .table-bordered th:first-child{border-left:1px solid #ccc}.handsontable .table>tbody>tr>td,.handsontable .table>tbody>tr>th,.handsontable .table>tfoot>tr>td,.handsontable .table>tfoot>tr>th,.handsontable .table>thead>tr>td,.handsontable .table>thead>tr>th{line-height:21px;padding:0}.col-lg-1.handsontable,.col-lg-10.handsontable,.col-lg-11.handsontable,.col-lg-12.handsontable,.col-lg-2.handsontable,.col-lg-3.handsontable,.col-lg-4.handsontable,.col-lg-5.handsontable,.col-lg-6.handsontable,.col-lg-7.handsontable,.col-lg-8.handsontable,.col-lg-9.handsontable,.col-md-1.handsontable,.col-md-10.handsontable,.col-md-11.handsontable,.col-md-12.handsontable,.col-md-2.handsontable,.col-md-3.handsontable,.col-md-4.handsontable,.col-md-5.handsontable,.col-md-6.handsontable,.col-md-7.handsontable,.col-md-8.handsontable,.col-md-9.handsontable .col-sm-1.handsontable,.col-sm-10.handsontable,.col-sm-11.handsontable,.col-sm-12.handsontable,.col-sm-2.handsontable,.col-sm-3.handsontable,.col-sm-4.handsontable,.col-sm-5.handsontable,.col-sm-6.handsontable,.col-sm-7.handsontable,.col-sm-8.handsontable,.col-sm-9.handsontable .col-xs-1.handsontable,.col-xs-10.handsontable,.col-xs-11.handsontable,.col-xs-12.handsontable,.col-xs-2.handsontable,.col-xs-3.handsontable,.col-xs-4.handsontable,.col-xs-5.handsontable,.col-xs-6.handsontable,.col-xs-7.handsontable,.col-xs-8.handsontable,.col-xs-9.handsontable{padding-left:0;padding-right:0}.handsontable .table-striped>tbody>tr:nth-of-type(2n){background-color:#fff}.handsontable .hide{display:none}.handsontable .relative{position:relative}.handsontable .wtHider{position:relative;width:0}.handsontable .wtSpreader{height:auto;position:relative;width:0}.handsontable div,.handsontable input,.handsontable table,.handsontable tbody,.handsontable td,.handsontable textarea,.handsontable th,.handsontable thead{box-sizing:content-box;-webkit-box-sizing:content-box;-moz-box-sizing:content-box}.handsontable input,.handsontable textarea{min-height:auto}.handsontable table.htCore{border-collapse:separate;border-spacing:0;border-width:0;cursor:default;margin:0;max-height:none;max-width:none;outline-width:0;table-layout:fixed;width:0}.handsontable col,.handsontable col.rowHeader{width:50px}.handsontable td,.handsontable th{background-color:#fff;border-bottom:1px solid #ccc;border-left-width:0;border-right:1px solid #ccc;border-top-width:0;empty-cells:show;height:22px;line-height:21px;outline:none;outline-width:0;overflow:hidden;padding:0 4px;vertical-align:top;white-space:pre-wrap}[dir=rtl].handsontable td,[dir=rtl].handsontable th{border-left:1px solid #ccc;border-right-width:0}.handsontable th:last-child{border-bottom:1px solid #ccc;border-left:none;border-right:1px solid #ccc}[dir=rtl].handsontable th:last-child{border-left:1px solid #ccc;border-right:none}.handsontable td:first-of-type,.handsontable th:first-child{border-left:1px solid #ccc}[dir=rtl].handsontable td:first-of-type,[dir=rtl].handsontable th:first-child{border-right:1px solid #ccc}.handsontable .ht_clone_top th:nth-child(2){border-left-width:0;border-right:1px solid #ccc}[dir=rtl].handsontable .ht_clone_top th:nth-child(2){border-left:1px solid #ccc;border-right-width:0}.handsontable.htRowHeaders thead tr th:nth-child(2){border-left:1px solid #ccc}[dir=rtl].handsontable.htRowHeaders thead tr th:nth-child(2){border-right:1px solid #ccc}.handsontable tr:first-child td,.handsontable tr:first-child th{border-top:1px solid #ccc}.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-left:1px solid #ccc;border-right-width:0}[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-left-width:0;border-right:1px solid #ccc}.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr:last-child th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr:last-child th{border-bottom-width:0}.handsontable th{background-color:#f0f0f0;color:#222;font-weight:400;text-align:center;white-space:nowrap}.handsontable thead th{padding:0}.handsontable th.active{background-color:#ccc}.handsontable thead th .relative{padding:2px 4px}.handsontable span.colHeader{display:inline-block;line-height:1.1}.handsontable .wtBorder{font-size:0;position:absolute}.handsontable .wtBorder.hidden{display:none!important}.handsontable .wtBorder.current{z-index:10}.handsontable .wtBorder.area{z-index:8}.handsontable .wtBorder.fill{z-index:6}.handsontable .wtBorder.corner{cursor:crosshair;font-size:0}.ht_clone_master{z-index:100}.ht_clone_inline_start{z-index:120}.ht_clone_bottom{z-index:130}.ht_clone_bottom_inline_start_corner{z-index:150}.ht_clone_top{z-index:160}.ht_clone_top_inline_start_corner{z-index:180}.handsontable col.hidden{width:0!important}.handsontable tr.hidden,.handsontable tr.hidden td,.handsontable tr.hidden th{display:none}.ht_clone_bottom,.ht_clone_inline_start,.ht_clone_top,.ht_master{overflow:hidden}.ht_master .wtHolder{overflow:auto}.handsontable .ht_clone_inline_start table.htCore>thead,.handsontable .ht_master table.htCore>tbody>tr>th,.handsontable .ht_master table.htCore>thead{visibility:hidden}.ht_clone_bottom .wtHolder,.ht_clone_inline_start .wtHolder,.ht_clone_top .wtHolder{overflow:hidden}.handsontable{color:#373737;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:13px;font-weight:400;position:relative;touch-action:manipulation}.handsontable a{color:#104acc}.handsontable.htAutoSize{left:-99000px;position:absolute;top:-99000px;visibility:hidden}.handsontable td.htInvalid{background-color:#ffbeba!important}.handsontable td.htNoWrap{white-space:nowrap}.handsontable td.invisibleSelection,.handsontable th.invisibleSelection{outline:none}.handsontable td.invisibleSelection::selection,.handsontable th.invisibleSelection::selection{background:hsla(0,0%,100%,0)}.hot-display-license-info{color:#373737;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:10px;font-weight:400;padding:5px 0 3px;text-align:left}.hot-display-license-info a{color:#104acc;font-size:10px}.handsontable .htFocusCatcher{border:0;height:0;margin:0;opacity:0;padding:0;position:absolute;width:0;z-index:-1}.handsontable .manualColumnResizer{cursor:col-resize;height:25px;position:absolute;top:0;width:5px;z-index:210}.handsontable .manualRowResizer{cursor:row-resize;height:5px;left:0;position:absolute;width:50px;z-index:210}.handsontable .manualColumnResizer.active,.handsontable .manualColumnResizer:hover,.handsontable .manualRowResizer.active,.handsontable .manualRowResizer:hover{background-color:#34a9db}.handsontable .manualColumnResizerGuide{background-color:#34a9db;border-left:none;border-right:1px dashed #777;display:none;margin-left:5px;margin-right:unset;position:absolute;right:unset;top:0;width:0}[dir=rtl].handsontable .manualColumnResizerGuide{border-left:1px dashed #777;border-right:none;left:unset;margin-left:unset;margin-right:5px}.handsontable .manualRowResizerGuide{background-color:#34a9db;border-bottom:1px dashed #777;bottom:0;display:none;height:0;left:0;margin-top:5px;position:absolute}.handsontable .manualColumnResizerGuide.active,.handsontable .manualRowResizerGuide.active{display:block;z-index:209}.handsontable td.area,.handsontable td.area-1,.handsontable td.area-2,.handsontable td.area-3,.handsontable td.area-4,.handsontable td.area-5,.handsontable td.area-6,.handsontable td.area-7{position:relative}.handsontable td.area-1:before,.handsontable td.area-2:before,.handsontable td.area-3:before,.handsontable td.area-4:before,.handsontable td.area-5:before,.handsontable td.area-6:before,.handsontable td.area-7:before,.handsontable td.area:before{background:#005eff;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.handsontable td.area:before{opacity:.1}.handsontable td.area-1:before{opacity:.2}.handsontable td.area-2:before{opacity:.27}.handsontable td.area-3:before{opacity:.35}.handsontable td.area-4:before{opacity:.41}.handsontable td.area-5:before{opacity:.47}.handsontable td.area-6:before{opacity:.54}.handsontable td.area-7:before{opacity:.58}.handsontable tbody th.current,.handsontable thead th.current{box-shadow:inset 0 0 0 2px #4b89ff}.handsontable tbody th.ht__highlight,.handsontable thead th.ht__highlight{background-color:#dcdcdc}.handsontable tbody th.ht__active_highlight,.handsontable thead th.ht__active_highlight{background-color:#8eb0e7;color:#000}.handsontableInput{background-color:#fff;border:none;border-radius:0;box-shadow:inset 0 0 0 2px #5292f7;box-sizing:border-box!important;color:#000;display:block;font-family:inherit;font-size:inherit;line-height:21px;margin:0;outline-width:0;padding:1px 5px 0;resize:none}.handsontableInput:focus{outline:none}.handsontableInputHolder{left:0;position:absolute;top:0}.htSelectEditor{position:absolute;select{-webkit-appearance:menulist-button!important;border:2px solid #4b89ff;box-sizing:border-box!important;height:100%;width:100%}}.htSelectEditor select:focus{outline:none}.htSelectEditor .htAutocompleteArrow{display:none}.handsontable .htDimmed{color:#777}.handsontable .htSubmenu{position:relative}.handsontable .htSubmenu :after{color:#777;content:"▶";font-size:9px;position:absolute;right:5px}[dir=rtl].handsontable .htSubmenu :after{content:""}[dir=rtl].handsontable .htSubmenu :before{color:#777;content:"◀";font-size:9px;left:5px;position:absolute}.handsontable .htLeft{text-align:left}.handsontable .htCenter{text-align:center}.handsontable .htRight{text-align:right}.handsontable .htJustify{text-align:justify}.handsontable .htTop{vertical-align:top}.handsontable .htMiddle{vertical-align:middle}.handsontable .htBottom{vertical-align:bottom}.handsontable .htPlaceholder{color:#999}.handsontable.listbox{margin:0}.handsontable.listbox .ht_master table{background:#fff;border:1px solid #ccc;border-collapse:separate}.handsontable.listbox td,.handsontable.listbox th,.handsontable.listbox tr:first-child td,.handsontable.listbox tr:first-child th,.handsontable.listbox tr:last-child th{border-color:transparent!important}.handsontable.listbox td,.handsontable.listbox th{text-overflow:ellipsis;white-space:nowrap}.handsontable.listbox td.htDimmed{color:inherit;cursor:default;font-style:inherit}.handsontable.listbox .wtBorder{visibility:hidden}.handsontable.listbox tr td.current,.handsontable.listbox tr:hover td{background:#eee}.ht_editor_hidden{z-index:-1}.ht_editor_visible{z-index:200}.handsontable td.htSearchResult{background:#fcedd9;color:#583707}.handsontable.mobile,.handsontable.mobile .wtHolder{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-overflow-scrolling:touch}.handsontable.mobile .handsontableInput:focus{-webkit-appearance:none;-webkit-box-shadow:inset 0 0 0 2px #5292f7;-moz-box-shadow:inset 0 0 0 2px #5292f7;box-shadow:inset 0 0 0 2px #5292f7}.handsontable .bottomSelectionHandle,.handsontable .bottomSelectionHandle-HitArea,.handsontable .topSelectionHandle,.handsontable .topSelectionHandle-HitArea{left:-10000px;right:unset;top:-10000px;z-index:9999}[dir=rtl].handsontable .bottomSelectionHandle,[dir=rtl].handsontable .bottomSelectionHandle-HitArea,[dir=rtl].handsontable .topSelectionHandle,[dir=rtl].handsontable .topSelectionHandle-HitArea{left:unset;right:-10000px}.handsontable.hide-tween{-webkit-animation:opacity-hide .3s;animation:opacity-hide .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable.show-tween{-webkit-animation:opacity-show .3s;animation:opacity-show .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable .htAutocompleteArrow{color:#bbb;cursor:default;float:right;font-size:10px;text-align:center;width:16px}[dir=rtl].handsontable .htAutocompleteArrow{float:left}.handsontable td.htInvalid .htAutocompleteArrow{color:#555}.handsontable td.htInvalid .htAutocompleteArrow:hover{color:#1a1a1a}.handsontable td .htAutocompleteArrow:hover{color:#777}.handsontable td.area .htAutocompleteArrow{color:#d3d3d3}.handsontable .htCheckboxRendererInput.noValue{opacity:.5}.handsontable .htCheckboxRendererLabel{cursor:pointer;display:inline-block;font-size:inherit;vertical-align:middle}.handsontable .htCheckboxRendererLabel.fullWidth{width:100%}.handsontable .collapsibleIndicator{background:#eee;border:1px solid #a6a6a6;border-radius:10px;-webkit-box-shadow:0 0 0 6px #eee;-moz-box-shadow:0 0 0 6px #eee;box-shadow:0 0 0 3px #eee;color:#222;cursor:pointer;font-size:10px;height:10px;left:unset;line-height:8px;position:absolute;right:5px;text-align:center;top:50%;transform:translateY(-50%);width:10px}[dir=rtl].handsontable .collapsibleIndicator{left:5px;right:unset}.handsontable[dir=ltr] thead th:has(.collapsibleIndicator) div.htRight span.colHeader{margin-right:20px}.handsontable[dir=rtl] thead th:has(.collapsibleIndicator) div.htLeft span.colHeader{margin-left:20px}.handsontable .columnSorting{position:relative}.handsontable[dir=ltr] div.htRight span[class*=ascending],.handsontable[dir=ltr] div.htRight span[class*=descending]{margin-left:-10px;margin-right:10px}.handsontable[dir=rtl] div.htLeft span[class*=ascending],.handsontable[dir=rtl] div.htLeft span[class*=descending]{margin-left:10px;margin-right:-10px}.handsontable[dir=ltr] div.htRight span[class*=ascending]:only-child,.handsontable[dir=ltr] div.htRight span[class*=descending]:only-child{margin-left:-15px;margin-right:15px}.handsontable[dir=rtl] div.htLeft span[class*=ascending]:only-child,.handsontable[dir=rtl] div.htLeft span[class*=descending]:only-child{margin-left:15px;margin-right:-15px}.handsontable .columnSorting.sortAction:hover{cursor:pointer;text-decoration:underline}.handsontable span.colHeader.columnSorting:before{background-position-x:right;background-repeat:no-repeat;background-size:contain;content:"";height:10px;left:unset;margin-top:-6px;padding-left:8px;padding-right:0;position:absolute;right:-9px;top:50%;width:5px}[dir=rtl].handsontable span.colHeader.columnSorting:before{background-position-x:left;left:-9px;padding-left:0;padding-right:8px;right:unset}.handsontable span.colHeader.columnSorting.ascending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFNJREFUeAHtzjkSgCAUBNHPgsoy97+ulGXRqJE5L+xkxoYt2UdsLb5bqFINz+aLuuLn5rIu2RkO3fZpWENimNgiw6iBYRTPMLJjGFxQZ1hxxb/xBI1qC8k39CdKAAAAAElFTkSuQmCC)}.handsontable span.colHeader.columnSorting.descending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFJJREFUeAHtzjkSgCAQRNFmQYUZ7n9dKUvru0TmvPAn3br0QfgdZ5xx6x+rQn23GqTYnq1FDcnuzZIO2WmedVqIRVxgGKEyjNgYRjKGkZ1hFIZ3I70LyM0VtU8AAAAASUVORK5CYII=)}.htGhostTable .htCore span.colHeader.columnSorting:not(.indicatorDisabled):before{content:"*";display:inline-block;padding-right:20px;position:relative}.handsontable.htGhostTable table thead th{border-bottom-width:0}.handsontable.htGhostTable table tbody tr td,.handsontable.htGhostTable table tbody tr th{border-top-width:0}.handsontable .htCommentCell{position:relative}.handsontable .htCommentCell:after{border-left:6px solid transparent;border-right:none;border-top:6px solid #000;content:"";left:unset;position:absolute;right:0;top:0}[dir=rtl].handsontable .htCommentCell:after{border-left:none;border-right:6px solid transparent;left:0;right:unset}.htCommentsContainer .htComments{display:none;position:absolute;z-index:1059}.htCommentsContainer .htCommentTextArea{-webkit-appearance:none;background-color:#fff;border:none;border-left:3px solid #ccc;box-shadow:0 1px 3px rgba(0,0,0,.118),0 1px 2px rgba(0,0,0,.239);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:12px;height:90px;outline:0!important;padding:5px;width:215px}[dir=rtl].htCommentsContainer .htCommentTextArea{border-left:none;border-right:3px solid #ccc}.htCommentsContainer .htCommentTextArea:focus{border-left:3px solid #5292f7;border-right:none;box-shadow:0 1px 3px rgba(0,0,0,.118),0 1px 2px rgba(0,0,0,.239),inset 0 0 0 1px #5292f7}[dir=rtl].htCommentsContainer .htCommentTextArea:focus{border-left:none;border-right:3px solid #5292f7}
32
32
  /*!
33
33
  * Handsontable ContextMenu