handsontable 0.0.0-next-38a6937-20241218 → 0.0.0-next-2206b60-20241223

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.

@@ -320,13 +320,7 @@ class Overlays {
320
320
  }
321
321
  const overlays = [this.topOverlay, this.bottomOverlay, this.inlineStartOverlay, this.topInlineStartCornerOverlay, this.bottomInlineStartCornerOverlay];
322
322
  overlays.forEach(overlay => {
323
- if (overlay && overlay.needFullRender) {
324
- const {
325
- holder
326
- } = overlay.clone.wtTable; // todo rethink, maybe: overlay.getHolder()
327
-
328
- this.eventManager.addEventListener(holder, 'wheel', event => this.onCloneWheel(event, preventWheel), wheelEventOptions);
329
- }
323
+ this.eventManager.addEventListener(overlay.clone.wtTable.holder, 'wheel', event => this.onCloneWheel(event, preventWheel), wheelEventOptions);
330
324
  });
331
325
  let resizeTimeout;
332
326
  this.eventManager.addEventListener(rootWindow, 'resize', () => {
@@ -344,13 +338,6 @@ class Overlays {
344
338
  }
345
339
  }
346
340
 
347
- /**
348
- * Deregister all previously registered listeners.
349
- */
350
- deregisterListeners() {
351
- this.eventManager.clearEvents(true);
352
- }
353
-
354
341
  /**
355
342
  * Scroll listener.
356
343
  *
@@ -522,37 +509,13 @@ class Overlays {
522
509
  _classPrivateFieldSet(_hasRenderingStateChanged, this, false);
523
510
  }
524
511
 
525
- /**
526
- * Update the main scrollable elements for all the overlays.
527
- */
528
- updateMainScrollableElements() {
529
- this.deregisterListeners();
530
- this.inlineStartOverlay.updateMainScrollableElement();
531
- this.topOverlay.updateMainScrollableElement();
532
- if (this.bottomOverlay.needFullRender) {
533
- this.bottomOverlay.updateMainScrollableElement();
534
- }
535
- const {
536
- wtTable
537
- } = this;
538
- const {
539
- rootWindow
540
- } = this.domBindings;
541
- if (rootWindow.getComputedStyle(wtTable.wtRootElement.parentNode).getPropertyValue('overflow') === 'hidden') {
542
- this.scrollableElement = wtTable.holder;
543
- } else {
544
- this.scrollableElement = (0, _element.getScrollableElement)(wtTable.TABLE);
545
- }
546
- this.registerListeners();
547
- }
548
-
549
512
  /**
550
513
  *
551
514
  */
552
515
  destroy() {
553
516
  this.resizeObserver.disconnect();
554
517
  this.eventManager.destroy();
555
- // todo, probably all below `destory` calls has no sense. To analyze
518
+ // todo, probably all below `destroy` calls has no sense. To analyze
556
519
  this.topOverlay.destroy();
557
520
  if (this.bottomOverlay.clone) {
558
521
  this.bottomOverlay.destroy();
@@ -317,13 +317,7 @@ class Overlays {
317
317
  }
318
318
  const overlays = [this.topOverlay, this.bottomOverlay, this.inlineStartOverlay, this.topInlineStartCornerOverlay, this.bottomInlineStartCornerOverlay];
319
319
  overlays.forEach(overlay => {
320
- if (overlay && overlay.needFullRender) {
321
- const {
322
- holder
323
- } = overlay.clone.wtTable; // todo rethink, maybe: overlay.getHolder()
324
-
325
- this.eventManager.addEventListener(holder, 'wheel', event => this.onCloneWheel(event, preventWheel), wheelEventOptions);
326
- }
320
+ this.eventManager.addEventListener(overlay.clone.wtTable.holder, 'wheel', event => this.onCloneWheel(event, preventWheel), wheelEventOptions);
327
321
  });
328
322
  let resizeTimeout;
329
323
  this.eventManager.addEventListener(rootWindow, 'resize', () => {
@@ -341,13 +335,6 @@ class Overlays {
341
335
  }
342
336
  }
343
337
 
344
- /**
345
- * Deregister all previously registered listeners.
346
- */
347
- deregisterListeners() {
348
- this.eventManager.clearEvents(true);
349
- }
350
-
351
338
  /**
352
339
  * Scroll listener.
353
340
  *
@@ -519,37 +506,13 @@ class Overlays {
519
506
  _classPrivateFieldSet(_hasRenderingStateChanged, this, false);
520
507
  }
521
508
 
522
- /**
523
- * Update the main scrollable elements for all the overlays.
524
- */
525
- updateMainScrollableElements() {
526
- this.deregisterListeners();
527
- this.inlineStartOverlay.updateMainScrollableElement();
528
- this.topOverlay.updateMainScrollableElement();
529
- if (this.bottomOverlay.needFullRender) {
530
- this.bottomOverlay.updateMainScrollableElement();
531
- }
532
- const {
533
- wtTable
534
- } = this;
535
- const {
536
- rootWindow
537
- } = this.domBindings;
538
- if (rootWindow.getComputedStyle(wtTable.wtRootElement.parentNode).getPropertyValue('overflow') === 'hidden') {
539
- this.scrollableElement = wtTable.holder;
540
- } else {
541
- this.scrollableElement = getScrollableElement(wtTable.TABLE);
542
- }
543
- this.registerListeners();
544
- }
545
-
546
509
  /**
547
510
  *
548
511
  */
549
512
  destroy() {
550
513
  this.resizeObserver.disconnect();
551
514
  this.eventManager.destroy();
552
- // todo, probably all below `destory` calls has no sense. To analyze
515
+ // todo, probably all below `destroy` calls has no sense. To analyze
553
516
  this.topOverlay.destroy();
554
517
  if (this.bottomOverlay.clone) {
555
518
  this.bottomOverlay.destroy();
package/README.md CHANGED
@@ -144,7 +144,7 @@ You can also use [Yarn](https://yarnpkg.com/package/handsontable), [NuGet](https
144
144
  </head>
145
145
  <body>
146
146
  <div id="handsontable-grid" class="ht-theme-main"></div>
147
- <script src="https://cdn.jsdelivr.net/gh/handsontable/handsontable/dist/handsontable.full.min.js"></script>
147
+ <script src="https://cdn.jsdelivr.net/npm/handsontable/dist/handsontable.full.min.js"></script>
148
148
  <script>
149
149
  const element = document.getElementById("handsontable-grid");
150
150
 
package/base.js CHANGED
@@ -45,8 +45,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
45
45
  Handsontable.CellCoords = _src.CellCoords;
46
46
  Handsontable.CellRange = _src.CellRange;
47
47
  Handsontable.packageName = 'handsontable';
48
- Handsontable.buildDate = "18/12/2024 10:54:13";
49
- Handsontable.version = "0.0.0-next-38a6937-20241218";
48
+ Handsontable.buildDate = "23/12/2024 10:25:42";
49
+ Handsontable.version = "0.0.0-next-2206b60-20241223";
50
50
  Handsontable.languages = {
51
51
  dictionaryKeys: _registry.dictionaryKeys,
52
52
  getLanguageDictionary: _registry.getLanguageDictionary,
package/base.mjs CHANGED
@@ -35,8 +35,8 @@ Handsontable.hooks = Hooks.getSingleton();
35
35
  Handsontable.CellCoords = CellCoords;
36
36
  Handsontable.CellRange = CellRange;
37
37
  Handsontable.packageName = 'handsontable';
38
- Handsontable.buildDate = "18/12/2024 10:54:18";
39
- Handsontable.version = "0.0.0-next-38a6937-20241218";
38
+ Handsontable.buildDate = "23/12/2024 10:25:48";
39
+ Handsontable.version = "0.0.0-next-2206b60-20241223";
40
40
  Handsontable.languages = {
41
41
  dictionaryKeys,
42
42
  getLanguageDictionary,
package/core.js CHANGED
@@ -2420,9 +2420,6 @@ function Core(rootElement, userSettings) {
2420
2420
  instance.view.render();
2421
2421
  instance.view._wt.wtOverlays.adjustElementsSize();
2422
2422
  }
2423
- if (!init && instance.view && (currentHeight === '' || height === '' || height === undefined) && currentHeight !== height) {
2424
- instance.view._wt.wtOverlays.updateMainScrollableElements();
2425
- }
2426
2423
  };
2427
2424
 
2428
2425
  /**
package/core.mjs CHANGED
@@ -2415,9 +2415,6 @@ export default function Core(rootElement, userSettings) {
2415
2415
  instance.view.render();
2416
2416
  instance.view._wt.wtOverlays.adjustElementsSize();
2417
2417
  }
2418
- if (!init && instance.view && (currentHeight === '' || height === '' || height === undefined) && currentHeight !== height) {
2419
- instance.view._wt.wtOverlays.updateMainScrollableElements();
2420
- }
2421
2418
  };
2422
2419
 
2423
2420
  /**
@@ -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-38a6937-20241218
29
- * Release date: 16/12/2024 (built at 18/12/2024 10:54:39)
28
+ * Version: 0.0.0-next-2206b60-20241223
29
+ * Release date: 16/12/2024 (built at 23/12/2024 10:26:09)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles
@@ -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-38a6937-20241218
29
- * Release date: 16/12/2024 (built at 18/12/2024 10:54:39)
28
+ * Version: 0.0.0-next-2206b60-20241223
29
+ * Release date: 16/12/2024 (built at 23/12/2024 10:26:09)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles
@@ -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-38a6937-20241218
29
- * Release date: 16/12/2024 (built at 18/12/2024 10:54:23)
28
+ * Version: 0.0.0-next-2206b60-20241223
29
+ * Release date: 16/12/2024 (built at 23/12/2024 10:25:52)
30
30
  */
31
31
  (function webpackUniversalModuleDefinition(root, factory) {
32
32
  if(typeof exports === 'object' && typeof module === 'object')
@@ -42676,8 +42676,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
42676
42676
  Handsontable.CellCoords = _src.CellCoords;
42677
42677
  Handsontable.CellRange = _src.CellRange;
42678
42678
  Handsontable.packageName = 'handsontable';
42679
- Handsontable.buildDate = "18/12/2024 10:54:23";
42680
- Handsontable.version = "0.0.0-next-38a6937-20241218";
42679
+ Handsontable.buildDate = "23/12/2024 10:25:52";
42680
+ Handsontable.version = "0.0.0-next-2206b60-20241223";
42681
42681
  Handsontable.languages = {
42682
42682
  dictionaryKeys: _registry.dictionaryKeys,
42683
42683
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -45120,9 +45120,6 @@ function Core(rootElement, userSettings) {
45120
45120
  instance.view.render();
45121
45121
  instance.view._wt.wtOverlays.adjustElementsSize();
45122
45122
  }
45123
- if (!init && instance.view && (currentHeight === '' || height === '' || height === undefined) && currentHeight !== height) {
45124
- instance.view._wt.wtOverlays.updateMainScrollableElements();
45125
- }
45126
45123
  };
45127
45124
 
45128
45125
  /**
@@ -53964,7 +53961,7 @@ const domMessages = {
53964
53961
  function _injectProductInfo(key, element) {
53965
53962
  const hasValidType = !isEmpty(key);
53966
53963
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
53967
- const hotVersion = "0.0.0-next-38a6937-20241218";
53964
+ const hotVersion = "0.0.0-next-2206b60-20241223";
53968
53965
  let keyValidityDate;
53969
53966
  let consoleMessageState = 'invalid';
53970
53967
  let domMessageState = 'invalid';
@@ -73419,13 +73416,7 @@ class Overlays {
73419
73416
  }
73420
73417
  const overlays = [this.topOverlay, this.bottomOverlay, this.inlineStartOverlay, this.topInlineStartCornerOverlay, this.bottomInlineStartCornerOverlay];
73421
73418
  overlays.forEach(overlay => {
73422
- if (overlay && overlay.needFullRender) {
73423
- const {
73424
- holder
73425
- } = overlay.clone.wtTable; // todo rethink, maybe: overlay.getHolder()
73426
-
73427
- this.eventManager.addEventListener(holder, 'wheel', event => this.onCloneWheel(event, preventWheel), wheelEventOptions);
73428
- }
73419
+ this.eventManager.addEventListener(overlay.clone.wtTable.holder, 'wheel', event => this.onCloneWheel(event, preventWheel), wheelEventOptions);
73429
73420
  });
73430
73421
  let resizeTimeout;
73431
73422
  this.eventManager.addEventListener(rootWindow, 'resize', () => {
@@ -73443,13 +73434,6 @@ class Overlays {
73443
73434
  }
73444
73435
  }
73445
73436
 
73446
- /**
73447
- * Deregister all previously registered listeners.
73448
- */
73449
- deregisterListeners() {
73450
- this.eventManager.clearEvents(true);
73451
- }
73452
-
73453
73437
  /**
73454
73438
  * Scroll listener.
73455
73439
  *
@@ -73621,37 +73605,13 @@ class Overlays {
73621
73605
  _classPrivateFieldSet(_hasRenderingStateChanged, this, false);
73622
73606
  }
73623
73607
 
73624
- /**
73625
- * Update the main scrollable elements for all the overlays.
73626
- */
73627
- updateMainScrollableElements() {
73628
- this.deregisterListeners();
73629
- this.inlineStartOverlay.updateMainScrollableElement();
73630
- this.topOverlay.updateMainScrollableElement();
73631
- if (this.bottomOverlay.needFullRender) {
73632
- this.bottomOverlay.updateMainScrollableElement();
73633
- }
73634
- const {
73635
- wtTable
73636
- } = this;
73637
- const {
73638
- rootWindow
73639
- } = this.domBindings;
73640
- if (rootWindow.getComputedStyle(wtTable.wtRootElement.parentNode).getPropertyValue('overflow') === 'hidden') {
73641
- this.scrollableElement = wtTable.holder;
73642
- } else {
73643
- this.scrollableElement = (0, _element.getScrollableElement)(wtTable.TABLE);
73644
- }
73645
- this.registerListeners();
73646
- }
73647
-
73648
73608
  /**
73649
73609
  *
73650
73610
  */
73651
73611
  destroy() {
73652
73612
  this.resizeObserver.disconnect();
73653
73613
  this.eventManager.destroy();
73654
- // todo, probably all below `destory` calls has no sense. To analyze
73614
+ // todo, probably all below `destroy` calls has no sense. To analyze
73655
73615
  this.topOverlay.destroy();
73656
73616
  if (this.bottomOverlay.clone) {
73657
73617
  this.bottomOverlay.destroy();
@@ -102496,13 +102456,13 @@ class HandsontableEditor extends _textEditor.TextEditor {
102496
102456
  */
102497
102457
  assignHooks() {
102498
102458
  this.hot.addHook('afterDestroy', () => {
102499
- if (this.htEditor) {
102500
- this.htEditor.destroy();
102501
- }
102459
+ var _this$htEditor;
102460
+ (_this$htEditor = this.htEditor) === null || _this$htEditor === void 0 || _this$htEditor.destroy();
102502
102461
  });
102503
102462
  this.hot.addHook('afterSetTheme', (themeName, firstRun) => {
102504
102463
  if (!firstRun) {
102505
- this.htEditor.useTheme(themeName);
102464
+ var _this$htEditor2;
102465
+ (_this$htEditor2 = this.htEditor) === null || _this$htEditor2 === void 0 || _this$htEditor2.useTheme(themeName);
102506
102466
  }
102507
102467
  });
102508
102468
  }
@@ -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-38a6937-20241218
30
- * Release date: 16/12/2024 (built at 18/12/2024 10:55:13)
29
+ * Version: 0.0.0-next-2206b60-20241223
30
+ * Release date: 16/12/2024 (built at 23/12/2024 10:26:44)
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