handsontable 0.0.0-next-8a82cea-20250211 → 0.0.0-next-20641f3-20250211

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.

Files changed (32) hide show
  1. package/base.js +2 -2
  2. package/base.mjs +2 -2
  3. package/dist/handsontable.css +2 -2
  4. package/dist/handsontable.full.css +2 -2
  5. package/dist/handsontable.full.js +42 -47
  6. package/dist/handsontable.full.min.css +2 -2
  7. package/dist/handsontable.full.min.js +6 -6
  8. package/dist/handsontable.js +42 -47
  9. package/dist/handsontable.min.css +2 -2
  10. package/dist/handsontable.min.js +6 -6
  11. package/editors/dateEditor/dateEditor.d.ts +0 -2
  12. package/editors/dateEditor/dateEditor.js +18 -7
  13. package/editors/dateEditor/dateEditor.mjs +17 -6
  14. package/helpers/mixed.js +1 -1
  15. package/helpers/mixed.mjs +1 -1
  16. package/package.json +1 -1
  17. package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -8
  18. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -8
  19. package/plugins/contextMenu/predefinedItems/columnRight.js +2 -9
  20. package/plugins/contextMenu/predefinedItems/columnRight.mjs +2 -9
  21. package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -8
  22. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -8
  23. package/plugins/contextMenu/predefinedItems/rowBelow.js +2 -9
  24. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +2 -9
  25. package/renderers/numericRenderer/numericRenderer.js +10 -2
  26. package/renderers/numericRenderer/numericRenderer.mjs +10 -2
  27. package/styles/handsontable.css +2 -2
  28. package/styles/handsontable.min.css +2 -2
  29. package/styles/ht-theme-horizon.css +2 -2
  30. package/styles/ht-theme-horizon.min.css +2 -2
  31. package/styles/ht-theme-main.css +2 -2
  32. package/styles/ht-theme-main.min.css +2 -2
@@ -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-8a82cea-20250211
29
- * Release date: 16/12/2024 (built at 11/02/2025 10:17:45)
28
+ * Version: 0.0.0-next-20641f3-20250211
29
+ * Release date: 16/12/2024 (built at 11/02/2025 11:54:24)
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 = "11/02/2025 10:17:45";
108
- Handsontable.version = "0.0.0-next-8a82cea-20250211";
107
+ Handsontable.buildDate = "11/02/2025 11:54:24";
108
+ Handsontable.version = "0.0.0-next-20641f3-20250211";
109
109
  Handsontable.languages = {
110
110
  dictionaryKeys: _registry.dictionaryKeys,
111
111
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -10104,7 +10104,7 @@ const domMessages = {
10104
10104
  function _injectProductInfo(key, element) {
10105
10105
  const hasValidType = !isEmpty(key);
10106
10106
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
10107
- const hotVersion = "0.0.0-next-8a82cea-20250211";
10107
+ const hotVersion = "0.0.0-next-20641f3-20250211";
10108
10108
  let keyValidityDate;
10109
10109
  let consoleMessageState = 'invalid';
10110
10110
  let domMessageState = 'invalid';
@@ -51989,21 +51989,27 @@ var _element = __webpack_require__(155);
51989
51989
  var _object = __webpack_require__(165);
51990
51990
  var _unicode = __webpack_require__(174);
51991
51991
  var _browser = __webpack_require__(164);
51992
+ function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
51993
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
51994
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
51992
51995
  const EDITOR_TYPE = exports.EDITOR_TYPE = 'date';
51993
51996
  const SHORTCUTS_GROUP_EDITOR = 'dateEditor';
51997
+ const DEFAULT_DATE_FORMAT = 'DD/MM/YYYY';
51994
51998
 
51995
51999
  /**
51996
52000
  * @private
51997
52001
  * @class DateEditor
51998
52002
  */
52003
+ var _DateEditor_brand = /*#__PURE__*/new WeakSet();
51999
52004
  class DateEditor extends _textEditor.TextEditor {
52000
52005
  constructor() {
52001
52006
  super(...arguments);
52002
- // TODO: Move this option to general settings
52003
52007
  /**
52004
- * @type {string}
52008
+ * Gets the current date format for this cell.
52009
+ *
52010
+ * @returns {string}
52005
52011
  */
52006
- (0, _defineProperty2.default)(this, "defaultDateFormat", 'DD/MM/YYYY');
52012
+ _classPrivateMethodInitSpec(this, _DateEditor_brand);
52007
52013
  /**
52008
52014
  * @type {boolean}
52009
52015
  */
@@ -52169,7 +52175,7 @@ class DateEditor extends _textEditor.TextEditor {
52169
52175
  * @param {Event} event The event object.
52170
52176
  */
52171
52177
  showDatepicker(event) {
52172
- const dateFormat = this.cellProperties.dateFormat || this.defaultDateFormat;
52178
+ const dateFormat = _assertClassBrand(_DateEditor_brand, this, _getDateFormat).call(this);
52173
52179
  const isMouseDown = this.hot.view.isMouseDown();
52174
52180
  const isMeta = event ? (0, _unicode.isFunctionKey)(event.keyCode) : false;
52175
52181
  let dateStr;
@@ -52221,6 +52227,7 @@ class DateEditor extends _textEditor.TextEditor {
52221
52227
  * @returns {object}
52222
52228
  */
52223
52229
  getDatePickerConfig() {
52230
+ var _options$format;
52224
52231
  const htInput = this.TEXTAREA;
52225
52232
  const options = {};
52226
52233
  if (this.cellProperties && this.cellProperties.datePickerConfig) {
@@ -52233,7 +52240,7 @@ class DateEditor extends _textEditor.TextEditor {
52233
52240
  options.container = this.datePicker;
52234
52241
  options.bound = false;
52235
52242
  options.keyboardInput = false;
52236
- options.format = options.format || this.defaultDateFormat;
52243
+ options.format = (_options$format = options.format) !== null && _options$format !== void 0 ? _options$format : _assertClassBrand(_DateEditor_brand, this, _getDateFormat).call(this);
52237
52244
  options.reposition = options.reposition || false;
52238
52245
  // Set the RTL to `false`. Due to the https://github.com/Pikaday/Pikaday/issues/647 bug, the layout direction
52239
52246
  // of the date picker is controlled by juggling the "dir" attribute of the root date picker element.
@@ -52242,7 +52249,7 @@ class DateEditor extends _textEditor.TextEditor {
52242
52249
  options.onSelect = value => {
52243
52250
  let dateStr = value;
52244
52251
  if (!isNaN(dateStr.getTime())) {
52245
- dateStr = (0, _moment.default)(dateStr).format(this.cellProperties.dateFormat || this.defaultDateFormat);
52252
+ dateStr = (0, _moment.default)(dateStr).format(_assertClassBrand(_DateEditor_brand, this, _getDateFormat).call(this));
52246
52253
  }
52247
52254
  this.setValue(dateStr);
52248
52255
  if (origOnSelect) {
@@ -52310,6 +52317,10 @@ class DateEditor extends _textEditor.TextEditor {
52310
52317
  }
52311
52318
  }
52312
52319
  exports.DateEditor = DateEditor;
52320
+ function _getDateFormat() {
52321
+ var _this$cellProperties$;
52322
+ return (_this$cellProperties$ = this.cellProperties.dateFormat) !== null && _this$cellProperties$ !== void 0 ? _this$cellProperties$ : DEFAULT_DATE_FORMAT;
52323
+ }
52313
52324
 
52314
52325
  /***/ }),
52315
52326
  /* 440 */
@@ -53595,8 +53606,16 @@ function getRenderedValue(value, cellProperties) {
53595
53606
  function numericRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
53596
53607
  let newValue = value;
53597
53608
  if ((0, _number.isNumeric)(newValue)) {
53598
- const className = cellProperties.className || '';
53599
- const classArr = className.length ? className.split(' ') : [];
53609
+ let classArr = [];
53610
+ if (Array.isArray(cellProperties.className)) {
53611
+ classArr = cellProperties.className;
53612
+ } else {
53613
+ var _cellProperties$class;
53614
+ const className = (_cellProperties$class = cellProperties.className) !== null && _cellProperties$class !== void 0 ? _cellProperties$class : '';
53615
+ if (className.length) {
53616
+ classArr = className.split(' ');
53617
+ }
53618
+ }
53600
53619
  newValue = getRenderedValue(newValue, cellProperties);
53601
53620
  if (classArr.indexOf('htLeft') < 0 && classArr.indexOf('htCenter') < 0 && classArr.indexOf('htRight') < 0 && classArr.indexOf('htJustify') < 0) {
53602
53621
  classArr.push('htRight');
@@ -63118,19 +63137,14 @@ function columnLeftItem() {
63118
63137
  return true;
63119
63138
  }
63120
63139
  const range = this.getSelectedRangeLast();
63121
- if (!range) {
63122
- return true;
63123
- }
63124
- if (range.isSingleHeader() && range.highlight.col < 0) {
63140
+ if (!range || this.selection.isSelectedByRowHeader() || range.isSingleHeader() && range.highlight.col < 0 || this.countSourceCols() >= this.getSettings().maxCols) {
63125
63141
  return true;
63126
63142
  }
63127
63143
  if (this.selection.isSelectedByCorner()) {
63128
- const totalColumns = this.countCols();
63129
-
63130
63144
  // Enable "Insert column left" only when there is at least one column.
63131
- return totalColumns === 0;
63145
+ return this.countCols() === 0;
63132
63146
  }
63133
- return this.selection.isSelectedByRowHeader() || this.countCols() >= this.getSettings().maxCols;
63147
+ return false;
63134
63148
  },
63135
63149
  hidden() {
63136
63150
  return !this.getSettings().allowInsertColumn;
@@ -63171,17 +63185,10 @@ function columnRightItem() {
63171
63185
  return true;
63172
63186
  }
63173
63187
  const range = this.getSelectedRangeLast();
63174
- if (!range) {
63175
- return true;
63176
- }
63177
- if (range.isSingleHeader() && range.highlight.col < 0) {
63188
+ if (!range || this.selection.isSelectedByRowHeader() || range.isSingleHeader() && range.highlight.col < 0 || this.countSourceCols() >= this.getSettings().maxCols) {
63178
63189
  return true;
63179
63190
  }
63180
- if (this.selection.isSelectedByCorner()) {
63181
- // Enable "Insert column right" always when the menu is triggered by corner click.
63182
- return false;
63183
- }
63184
- return this.selection.isSelectedByRowHeader() || this.countCols() >= this.getSettings().maxCols;
63191
+ return false;
63185
63192
  },
63186
63193
  hidden() {
63187
63194
  return !this.getSettings().allowInsertColumn;
@@ -63451,19 +63458,14 @@ function rowAboveItem() {
63451
63458
  },
63452
63459
  disabled() {
63453
63460
  const range = this.getSelectedRangeLast();
63454
- if (!range) {
63455
- return true;
63456
- }
63457
- if (range.isSingleHeader() && range.highlight.row < 0) {
63461
+ if (!range || this.selection.isSelectedByColumnHeader() || range.isSingleHeader() && range.highlight.row < 0 || this.countSourceRows() >= this.getSettings().maxRows) {
63458
63462
  return true;
63459
63463
  }
63460
63464
  if (this.selection.isSelectedByCorner()) {
63461
- const totalRows = this.countRows();
63462
-
63463
63465
  // Enable "Insert row above" only when there is at least one row.
63464
- return totalRows === 0;
63466
+ return this.countRows() === 0;
63465
63467
  }
63466
- return this.selection.isSelectedByColumnHeader() || this.countRows() >= this.getSettings().maxRows;
63468
+ return false;
63467
63469
  },
63468
63470
  hidden() {
63469
63471
  return !this.getSettings().allowInsertRow;
@@ -63500,17 +63502,10 @@ function rowBelowItem() {
63500
63502
  },
63501
63503
  disabled() {
63502
63504
  const range = this.getSelectedRangeLast();
63503
- if (!range) {
63504
- return true;
63505
- }
63506
- if (range.isSingleHeader() && range.highlight.row < 0) {
63505
+ if (!range || this.selection.isSelectedByColumnHeader() || range.isSingleHeader() && range.highlight.row < 0 || this.countSourceRows() >= this.getSettings().maxRows) {
63507
63506
  return true;
63508
63507
  }
63509
- if (this.selection.isSelectedByCorner()) {
63510
- // Enable "Insert row below" always when the menu is triggered by corner click.
63511
- return false;
63512
- }
63513
- return this.selection.isSelectedByColumnHeader() || this.countRows() >= this.getSettings().maxRows;
63508
+ return false;
63514
63509
  },
63515
63510
  hidden() {
63516
63511
  return !this.getSettings().allowInsertRow;
@@ -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-8a82cea-20250211
30
- * Release date: 16/12/2024 (built at 11/02/2025 10:18:36)
29
+ * Version: 0.0.0-next-20641f3-20250211
30
+ * Release date: 16/12/2024 (built at 11/02/2025 11:55:15)
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