handsontable 0.0.0-next-21f0f43-20250210 → 0.0.0-next-8951d31-20250210

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-21f0f43-20250210
29
- * Release date: 16/12/2024 (built at 10/02/2025 10:14:17)
28
+ * Version: 0.0.0-next-8951d31-20250210
29
+ * Release date: 16/12/2024 (built at 10/02/2025 11:00:22)
30
30
  */
31
31
  (function webpackUniversalModuleDefinition(root, factory) {
32
32
  if(typeof exports === 'object' && typeof module === 'object')
@@ -42855,8 +42855,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
42855
42855
  Handsontable.CellCoords = _src.CellCoords;
42856
42856
  Handsontable.CellRange = _src.CellRange;
42857
42857
  Handsontable.packageName = 'handsontable';
42858
- Handsontable.buildDate = "10/02/2025 10:14:17";
42859
- Handsontable.version = "0.0.0-next-21f0f43-20250210";
42858
+ Handsontable.buildDate = "10/02/2025 11:00:22";
42859
+ Handsontable.version = "0.0.0-next-8951d31-20250210";
42860
42860
  Handsontable.languages = {
42861
42861
  dictionaryKeys: _registry.dictionaryKeys,
42862
42862
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -54139,7 +54139,7 @@ const domMessages = {
54139
54139
  function _injectProductInfo(key, element) {
54140
54140
  const hasValidType = !isEmpty(key);
54141
54141
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
54142
- const hotVersion = "0.0.0-next-21f0f43-20250210";
54142
+ const hotVersion = "0.0.0-next-8951d31-20250210";
54143
54143
  let keyValidityDate;
54144
54144
  let consoleMessageState = 'invalid';
54145
54145
  let domMessageState = 'invalid';
@@ -74452,16 +74452,6 @@ class Table {
74452
74452
  this.resetOversizedRows();
74453
74453
  this.tableRenderer.setActiveOverlayName(this.name).setViewportSize(this.getRenderedRowsCount(), this.getRenderedColumnsCount()).setFilters(this.rowFilter, this.columnFilter).render();
74454
74454
  if (this.isMaster) {
74455
- this.markOversizedColumnHeaders();
74456
- }
74457
- this.adjustColumnHeaderHeights();
74458
- if (this.isMaster || this.is(_overlay.CLONE_BOTTOM)) {
74459
- this.markOversizedRows();
74460
- }
74461
- if (this.isMaster) {
74462
- if (!this.wtSettings.getSetting('externalRowCalculator')) {
74463
- wtViewport.createVisibleCalculators();
74464
- }
74465
74455
  wtOverlays.refresh(false);
74466
74456
  wtOverlays.applyToDOM();
74467
74457
  this.wtSettings.getSetting('onDraw', true);
@@ -74503,85 +74493,18 @@ class Table {
74503
74493
  /**
74504
74494
  * @param {number} col The visual column index.
74505
74495
  */
74506
- markIfOversizedColumnHeader(col) {
74507
- const sourceColIndex = this.columnFilter.renderedToSource(col);
74508
- let level = this.wtSettings.getSetting('columnHeaders').length;
74509
- const defaultRowHeight = this.dataAccessObject.stylesHandler.getDefaultRowHeight();
74510
- let previousColHeaderHeight;
74511
- let currentHeader;
74512
- let currentHeaderHeight;
74513
- const columnHeaderHeightSetting = this.wtSettings.getSetting('columnHeaderHeight') || [];
74514
- while (level) {
74515
- level -= 1;
74516
- previousColHeaderHeight = this.getColumnHeaderHeight(level);
74517
- currentHeader = this.getColumnHeader(sourceColIndex, level);
74518
- if (!currentHeader) {
74519
- /* eslint-disable no-continue */
74520
- continue;
74521
- }
74522
- currentHeaderHeight = (0, _element.innerHeight)(currentHeader);
74523
- if (!previousColHeaderHeight && defaultRowHeight < currentHeaderHeight || previousColHeaderHeight < currentHeaderHeight) {
74524
- this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = currentHeaderHeight;
74525
- }
74526
- if (Array.isArray(columnHeaderHeightSetting)) {
74527
- if (columnHeaderHeightSetting[level] !== null && columnHeaderHeightSetting[level] !== undefined) {
74528
- this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = columnHeaderHeightSetting[level];
74529
- }
74530
- } else if (!isNaN(columnHeaderHeightSetting)) {
74531
- this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = columnHeaderHeightSetting;
74532
- }
74533
- if (this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] < (columnHeaderHeightSetting[level] || columnHeaderHeightSetting)) {
74534
- this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = columnHeaderHeightSetting[level] || columnHeaderHeightSetting; // eslint-disable-line max-len
74535
- }
74536
- }
74537
- }
74496
+ markIfOversizedColumnHeader(col) {}
74538
74497
 
74539
74498
  /**
74540
74499
  *
74541
74500
  */
74542
- adjustColumnHeaderHeights() {
74543
- const {
74544
- wtSettings
74545
- } = this;
74546
- const children = this.THEAD.childNodes;
74547
- const oversizedColumnHeaders = this.dataAccessObject.wtViewport.oversizedColumnHeaders;
74548
- const columnHeaders = wtSettings.getSetting('columnHeaders');
74549
- for (let i = 0, len = columnHeaders.length; i < len; i++) {
74550
- if (oversizedColumnHeaders[i]) {
74551
- if (!children[i] || children[i].childNodes.length === 0) {
74552
- return;
74553
- }
74554
- children[i].childNodes[0].style.height = `${oversizedColumnHeaders[i]}px`;
74555
- }
74556
- }
74557
- }
74501
+ adjustColumnHeaderHeights() {}
74558
74502
 
74559
74503
  /**
74560
74504
  * Resets cache of row heights. The cache should be cached for each render cycle in a case
74561
74505
  * when new cell values have content which increases/decreases cell height.
74562
74506
  */
74563
- resetOversizedRows() {
74564
- const {
74565
- wtSettings
74566
- } = this;
74567
- const {
74568
- wtViewport
74569
- } = this.dataAccessObject;
74570
- if (!this.isMaster && !this.is(_overlay.CLONE_BOTTOM)) {
74571
- return;
74572
- }
74573
- if (!wtSettings.getSetting('externalRowCalculator')) {
74574
- const rowsToRender = this.getRenderedRowsCount();
74575
-
74576
- // Reset the oversized row cache for rendered rows
74577
- for (let visibleRowIndex = 0; visibleRowIndex < rowsToRender; visibleRowIndex++) {
74578
- const sourceRow = this.rowFilter.renderedToSource(visibleRowIndex);
74579
- if (wtViewport.oversizedRows && wtViewport.oversizedRows[sourceRow]) {
74580
- wtViewport.oversizedRows[sourceRow] = undefined;
74581
- }
74582
- }
74583
- }
74584
- }
74507
+ resetOversizedRows() {}
74585
74508
 
74586
74509
  /**
74587
74510
  * Get cell element at coords.
@@ -74779,46 +74702,7 @@ class Table {
74779
74702
  /**
74780
74703
  * Check if any of the rendered rows is higher than expected, and if so, cache them.
74781
74704
  */
74782
- markOversizedRows() {
74783
- if (this.wtSettings.getSetting('externalRowCalculator')) {
74784
- return;
74785
- }
74786
- let rowCount = this.TBODY.childNodes.length;
74787
- const expectedTableHeight = rowCount * this.dataAccessObject.stylesHandler.getDefaultRowHeight();
74788
- const actualTableHeight = (0, _element.innerHeight)(this.TBODY) - 1;
74789
- const borderBoxSizing = this.wot.stylesHandler.areCellsBorderBox();
74790
- const rowHeightFn = borderBoxSizing ? _element.outerHeight : _element.innerHeight;
74791
- const borderCompensation = borderBoxSizing ? 0 : 1;
74792
- const firstRowBorderCompensation = borderBoxSizing ? 1 : 0;
74793
- let previousRowHeight;
74794
- let rowCurrentHeight;
74795
- let sourceRowIndex;
74796
- let currentTr;
74797
- let rowHeader;
74798
- if (expectedTableHeight === actualTableHeight && !this.wtSettings.getSetting('fixedRowsBottom')) {
74799
- // If the actual table height equals rowCount * default single row height, no row is oversized -> no need to iterate over them
74800
- return;
74801
- }
74802
- while (rowCount) {
74803
- rowCount -= 1;
74804
- sourceRowIndex = this.rowFilter.renderedToSource(rowCount);
74805
- previousRowHeight = this.getRowHeight(sourceRowIndex);
74806
- currentTr = this.getTrForRow(sourceRowIndex);
74807
- rowHeader = currentTr.querySelector('th');
74808
- const topBorderCompensation = sourceRowIndex === 0 ? firstRowBorderCompensation : 0;
74809
- if (rowHeader) {
74810
- rowCurrentHeight = rowHeightFn(rowHeader);
74811
- } else {
74812
- rowCurrentHeight = rowHeightFn(currentTr) - borderCompensation;
74813
- }
74814
- if (!previousRowHeight && this.dataAccessObject.stylesHandler.getDefaultRowHeight() < rowCurrentHeight - topBorderCompensation || previousRowHeight < rowCurrentHeight) {
74815
- if (!borderBoxSizing) {
74816
- rowCurrentHeight += 1;
74817
- }
74818
- this.dataAccessObject.wtViewport.oversizedRows[sourceRowIndex] = rowCurrentHeight;
74819
- }
74820
- }
74821
- }
74705
+ markOversizedRows() {}
74822
74706
 
74823
74707
  /**
74824
74708
  * @param {number} row The visual row index.
@@ -75133,32 +75017,7 @@ class Table {
75133
75017
  * @returns {number}
75134
75018
  */
75135
75019
  _modifyRowHeaderWidth(rowHeaderWidthFactory) {
75136
- let widths = (0, _function.isFunction)(rowHeaderWidthFactory) ? rowHeaderWidthFactory() : null;
75137
- if (Array.isArray(widths)) {
75138
- widths = [...widths];
75139
- widths[widths.length - 1] = this._correctRowHeaderWidth(widths[widths.length - 1]);
75140
- } else {
75141
- widths = this._correctRowHeaderWidth(widths);
75142
- }
75143
- return widths;
75144
- }
75145
-
75146
- /**
75147
- * Correct row header width if necessary.
75148
- *
75149
- * @private
75150
- * @param {number} width The width to process.
75151
- * @returns {number}
75152
- */
75153
- _correctRowHeaderWidth(width) {
75154
- let rowHeaderWidth = width;
75155
- if (typeof width !== 'number') {
75156
- rowHeaderWidth = this.wtSettings.getSetting('defaultColumnWidth');
75157
- }
75158
- if (this.correctHeaderWidth) {
75159
- rowHeaderWidth += 1;
75160
- }
75161
- return rowHeaderWidth;
75020
+ return 50;
75162
75021
  }
75163
75022
  }
75164
75023
  var _default = exports["default"] = Table;
@@ -82471,7 +82330,6 @@ class Viewport {
82471
82330
  this.domBindings = domBindings;
82472
82331
  this.wtSettings = wtSettings;
82473
82332
  this.wtTable = wtTable;
82474
- this.oversizedRows = [];
82475
82333
  this.oversizedColumnHeaders = [];
82476
82334
  this.hasOversizedColumnHeadersMarked = {};
82477
82335
  this.clientHeight = 0;
@@ -82626,47 +82484,14 @@ class Viewport {
82626
82484
  * @returns {number}
82627
82485
  */
82628
82486
  getColumnHeaderHeight() {
82629
- const columnHeaders = this.wtSettings.getSetting('columnHeaders');
82630
- if (!columnHeaders.length) {
82631
- this.columnHeaderHeight = 0;
82632
- } else if (isNaN(this.columnHeaderHeight)) {
82633
- this.columnHeaderHeight = (0, _element.outerHeight)(this.wtTable.THEAD);
82634
- }
82635
- return this.columnHeaderHeight;
82487
+ return 59;
82636
82488
  }
82637
82489
 
82638
82490
  /**
82639
82491
  * @returns {number}
82640
82492
  */
82641
82493
  getRowHeaderWidth() {
82642
- const rowHeadersWidthSetting = this.wtSettings.getSetting('rowHeaderWidth');
82643
- const rowHeaders = this.wtSettings.getSetting('rowHeaders');
82644
- if (rowHeadersWidthSetting) {
82645
- this.rowHeaderWidth = 0;
82646
- for (let i = 0, len = rowHeaders.length; i < len; i++) {
82647
- this.rowHeaderWidth += rowHeadersWidthSetting[i] || rowHeadersWidthSetting;
82648
- }
82649
- }
82650
- if (isNaN(this.rowHeaderWidth)) {
82651
- if (rowHeaders.length) {
82652
- let TH = this.wtTable.TABLE.querySelector('TH');
82653
- this.rowHeaderWidth = 0;
82654
- for (let i = 0, len = rowHeaders.length; i < len; i++) {
82655
- if (TH) {
82656
- this.rowHeaderWidth += (0, _element.outerWidth)(TH);
82657
- TH = TH.nextSibling;
82658
- } else {
82659
- // yes this is a cheat but it worked like that before, just taking assumption from CSS instead of measuring.
82660
- // TODO: proper fix
82661
- this.rowHeaderWidth += 50;
82662
- }
82663
- }
82664
- } else {
82665
- this.rowHeaderWidth = 0;
82666
- }
82667
- }
82668
- this.rowHeaderWidth = this.wtSettings.getSetting('onModifyRowHeaderWidth', this.rowHeaderWidth) || this.rowHeaderWidth;
82669
- return this.rowHeaderWidth;
82494
+ return 50;
82670
82495
  }
82671
82496
 
82672
82497
  /**
@@ -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-21f0f43-20250210
30
- * Release date: 16/12/2024 (built at 10/02/2025 10:15:08)
29
+ * Version: 0.0.0-next-8951d31-20250210
30
+ * Release date: 16/12/2024 (built at 10/02/2025 11:01:13)
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