handsontable 0.0.0-next-5d8c97d-20231228 → 0.0.0-next-3388fcb-20240102

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-5d8c97d-20231228
29
- * Release date: 30/11/2023 (built at 28/12/2023 08:48:29)
28
+ * Version: 0.0.0-next-3388fcb-20240102
29
+ * Release date: 30/11/2023 (built at 02/01/2024 09:16:05)
30
30
  */
31
31
  (function webpackUniversalModuleDefinition(root, factory) {
32
32
  if(typeof exports === 'object' && typeof module === 'object')
@@ -43035,8 +43035,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
43035
43035
  Handsontable.CellCoords = _src.CellCoords;
43036
43036
  Handsontable.CellRange = _src.CellRange;
43037
43037
  Handsontable.packageName = 'handsontable';
43038
- Handsontable.buildDate = "28/12/2023 08:48:29";
43039
- Handsontable.version = "0.0.0-next-5d8c97d-20231228";
43038
+ Handsontable.buildDate = "02/01/2024 09:16:05";
43039
+ Handsontable.version = "0.0.0-next-3388fcb-20240102";
43040
43040
  Handsontable.languages = {
43041
43041
  dictionaryKeys: _registry.dictionaryKeys,
43042
43042
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -53156,7 +53156,7 @@ const domMessages = {
53156
53156
  function _injectProductInfo(key, element) {
53157
53157
  const hasValidType = !isEmpty(key);
53158
53158
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
53159
- const hotVersion = "0.0.0-next-5d8c97d-20231228";
53159
+ const hotVersion = "0.0.0-next-3388fcb-20240102";
53160
53160
  let keyValidityDate;
53161
53161
  let consoleMessageState = 'invalid';
53162
53162
  let domMessageState = 'invalid';
@@ -62779,7 +62779,7 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
62779
62779
  */
62780
62780
  'afterUpdateData',
62781
62781
  /**
62782
- * Fired after a scroll event, which is identified as a momentum scroll (e.g. On an iPad).
62782
+ * Fired after a scroll event, which is identified as a momentum scroll.
62783
62783
  *
62784
62784
  * @event Hooks#afterMomentumScroll
62785
62785
  */
@@ -69640,23 +69640,23 @@ class CellRange {
69640
69640
  }
69641
69641
 
69642
69642
  /**
69643
- * Checks if another range (`cellRange`) is south-east of your range.
69643
+ * Checks if coordinates point is south-east of your range.
69644
69644
  *
69645
- * @param {CellRange} cellRange A range to check.
69645
+ * @param {CellCoords} cellCoords Coordinates to check.
69646
69646
  * @returns {boolean}
69647
69647
  */
69648
- isSouthEastOf(cellRange) {
69649
- return this.getOuterTopLeftCorner().isSouthEastOf(cellRange) || this.getOuterBottomRightCorner().isSouthEastOf(cellRange);
69648
+ isSouthEastOf(cellCoords) {
69649
+ return this.getOuterTopLeftCorner().isSouthEastOf(cellCoords) || this.getOuterBottomRightCorner().isSouthEastOf(cellCoords);
69650
69650
  }
69651
69651
 
69652
69652
  /**
69653
- * Checks if another range (`cellRange`) is north-west of your range.
69653
+ * Checks if coordinates point is north-west of your range.
69654
69654
  *
69655
- * @param {CellRange} cellRange A range to check.
69655
+ * @param {CellRange} cellCoords Coordinates to check.
69656
69656
  * @returns {boolean}
69657
69657
  */
69658
- isNorthWestOf(cellRange) {
69659
- return this.getOuterTopLeftCorner().isNorthWestOf(cellRange) || this.getOuterBottomRightCorner().isNorthWestOf(cellRange);
69658
+ isNorthWestOf(cellCoords) {
69659
+ return this.getOuterTopLeftCorner().isNorthWestOf(cellCoords) || this.getOuterBottomRightCorner().isNorthWestOf(cellCoords);
69660
69660
  }
69661
69661
 
69662
69662
  /**
@@ -69669,7 +69669,7 @@ class CellRange {
69669
69669
  * @returns {boolean}
69670
69670
  */
69671
69671
  isOverlappingHorizontally(cellRange) {
69672
- return this.getOuterTopRightCorner().col >= cellRange.getOuterTopLeftCorner().col && this.getOuterTopRightCorner().col <= cellRange.getOuterTopRightCorner().col || this.getOuterTopLeftCorner().col <= cellRange.getOuterTopRightCorner().col && this.getOuterTopLeftCorner().col >= cellRange.getOuterTopLeftCorner().col;
69672
+ return this.getOuterTopEndCorner().col >= cellRange.getOuterTopStartCorner().col && this.getOuterTopEndCorner().col <= cellRange.getOuterTopEndCorner().col || this.getOuterTopStartCorner().col <= cellRange.getOuterTopEndCorner().col && this.getOuterTopStartCorner().col >= cellRange.getOuterTopStartCorner().col;
69673
69673
  }
69674
69674
 
69675
69675
  /**
@@ -69682,7 +69682,7 @@ class CellRange {
69682
69682
  * @returns {boolean}
69683
69683
  */
69684
69684
  isOverlappingVertically(cellRange) {
69685
- return this.getOuterBottomRightCorner().row >= cellRange.getOuterTopRightCorner().row && this.getOuterBottomRightCorner().row <= cellRange.getOuterBottomRightCorner().row || this.getOuterTopRightCorner().row <= cellRange.getOuterBottomRightCorner().row && this.getOuterTopRightCorner().row >= cellRange.getOuterTopRightCorner().row;
69685
+ return this.getOuterBottomStartCorner().row >= cellRange.getOuterTopRightCorner().row && this.getOuterBottomStartCorner().row <= cellRange.getOuterBottomStartCorner().row || this.getOuterTopEndCorner().row <= cellRange.getOuterBottomStartCorner().row && this.getOuterTopEndCorner().row >= cellRange.getOuterTopRightCorner().row;
69686
69686
  }
69687
69687
 
69688
69688
  /**
@@ -70050,13 +70050,9 @@ class CellRange {
70050
70050
  * Checks if a set of coordinates (`coords`) matches one of the 4 corners of your range.
70051
70051
  *
70052
70052
  * @param {CellCoords} coords Coordinates to check.
70053
- * @param {CellRange} [expandedRange] A range to compare with.
70054
70053
  * @returns {boolean}
70055
70054
  */
70056
- isCorner(coords, expandedRange) {
70057
- if (expandedRange && expandedRange.includes(coords) && (this.getOuterTopLeftCorner().isEqual(this._createCellCoords(expandedRange.from.row, expandedRange.from.col)) || this.getOuterTopRightCorner().isEqual(this._createCellCoords(expandedRange.from.row, expandedRange.to.col)) || this.getOuterBottomLeftCorner().isEqual(this._createCellCoords(expandedRange.to.row, expandedRange.from.col)) || this.getOuterBottomRightCorner().isEqual(this._createCellCoords(expandedRange.to.row, expandedRange.to.col)))) {
70058
- return true;
70059
- }
70055
+ isCorner(coords) {
70060
70056
  return coords.isEqual(this.getOuterTopLeftCorner()) || coords.isEqual(this.getOuterTopRightCorner()) || coords.isEqual(this.getOuterBottomLeftCorner()) || coords.isEqual(this.getOuterBottomRightCorner());
70061
70057
  }
70062
70058
 
@@ -70067,33 +70063,12 @@ class CellRange {
70067
70063
  * the coordinates of the top-left corner of your range are returned.
70068
70064
  *
70069
70065
  * @param {CellCoords} coords Coordinates to check.
70070
- * @param {CellRange} [expandedRange] A range to compare with.
70071
70066
  * @returns {CellCoords}
70072
70067
  */
70073
- getOppositeCorner(coords, expandedRange) {
70068
+ getOppositeCorner(coords) {
70074
70069
  if (!(coords instanceof _coords.default)) {
70075
70070
  return false;
70076
70071
  }
70077
- if (expandedRange) {
70078
- const {
70079
- from,
70080
- to
70081
- } = expandedRange;
70082
- if (expandedRange.includes(coords)) {
70083
- if (this.getOuterTopStartCorner().isEqual(this._createCellCoords(from.row, from.col))) {
70084
- return this.getOuterBottomEndCorner();
70085
- }
70086
- if (this.getOuterTopEndCorner().isEqual(this._createCellCoords(from.row, to.col))) {
70087
- return this.getOuterBottomStartCorner();
70088
- }
70089
- if (this.getOuterBottomStartCorner().isEqual(this._createCellCoords(to.row, from.col))) {
70090
- return this.getOuterTopEndCorner();
70091
- }
70092
- if (this.getOuterBottomEndCorner().isEqual(this._createCellCoords(to.row, to.col))) {
70093
- return this.getOuterTopStartCorner();
70094
- }
70095
- }
70096
- }
70097
70072
  if (coords.isEqual(this.getOuterBottomEndCorner())) {
70098
70073
  return this.getOuterTopStartCorner();
70099
70074
  } else if (coords.isEqual(this.getOuterTopStartCorner())) {
@@ -70133,13 +70108,13 @@ class CellRange {
70133
70108
  result.push('top');
70134
70109
  }
70135
70110
  if (thisBorders.right === rangeBorders.right) {
70136
- result.push('right');
70111
+ result.push((0, _classPrivateFieldGet2.default)(this, _isRtl) ? 'left' : 'right');
70137
70112
  }
70138
70113
  if (thisBorders.bottom === rangeBorders.bottom) {
70139
70114
  result.push('bottom');
70140
70115
  }
70141
70116
  if (thisBorders.left === rangeBorders.left) {
70142
- result.push('left');
70117
+ result.push((0, _classPrivateFieldGet2.default)(this, _isRtl) ? 'right' : 'left');
70143
70118
  }
70144
70119
  return result;
70145
70120
  }
@@ -76085,36 +76060,7 @@ class Scroll {
76085
76060
  * @returns {number}
76086
76061
  */
76087
76062
  getFirstVisibleRow() {
76088
- const {
76089
- topOverlay,
76090
- wtTable,
76091
- wtViewport,
76092
- totalRows,
76093
- fixedRowsTop,
76094
- rootWindow
76095
- } = this.dataAccessObject;
76096
- let firstVisibleRow = wtTable.getFirstVisibleRow();
76097
- if (topOverlay.mainTableScrollableElement === rootWindow) {
76098
- const rootElementOffset = (0, _element.offset)(wtTable.wtRootElement);
76099
- const totalTableHeight = (0, _element.innerHeight)(wtTable.hider);
76100
- const windowHeight = (0, _element.innerHeight)(rootWindow);
76101
- const windowScrollTop = (0, _element.getScrollTop)(rootWindow, rootWindow);
76102
-
76103
- // Only calculate firstVisibleRow when table didn't filled (from up) whole viewport space
76104
- if (rootElementOffset.top + totalTableHeight - windowHeight <= windowScrollTop) {
76105
- let rowsHeight = wtViewport.getColumnHeaderHeight();
76106
- rowsHeight += topOverlay.sumCellSizes(0, fixedRowsTop);
76107
- for (let row = totalRows; row > 0; row--) {
76108
- rowsHeight += topOverlay.sumCellSizes(row - 1, row);
76109
- if (rootElementOffset.top + totalTableHeight - rowsHeight <= windowScrollTop) {
76110
- // Return physical row + 1
76111
- firstVisibleRow = row;
76112
- break;
76113
- }
76114
- }
76115
- }
76116
- }
76117
- return firstVisibleRow;
76063
+ return this.dataAccessObject.wtTable.getFirstVisibleRow();
76118
76064
  }
76119
76065
 
76120
76066
  /**
@@ -76158,34 +76104,7 @@ class Scroll {
76158
76104
  * @returns {number}
76159
76105
  */
76160
76106
  getFirstVisibleColumn() {
76161
- const {
76162
- inlineStartOverlay,
76163
- wtTable,
76164
- wtViewport,
76165
- totalColumns,
76166
- rootWindow
76167
- } = this.dataAccessObject;
76168
- let firstVisibleColumn = wtTable.getFirstVisibleColumn();
76169
- if (inlineStartOverlay.mainTableScrollableElement === rootWindow) {
76170
- const rootElementOffset = (0, _element.offset)(wtTable.wtRootElement);
76171
- const totalTableWidth = (0, _element.innerWidth)(wtTable.hider);
76172
- const windowWidth = (0, _element.innerWidth)(rootWindow);
76173
- const windowScrollLeft = Math.abs((0, _element.getScrollLeft)(rootWindow, rootWindow));
76174
-
76175
- // Only calculate firstVisibleColumn when table didn't filled (from left) whole viewport space
76176
- if (rootElementOffset.left + totalTableWidth - windowWidth <= windowScrollLeft) {
76177
- let columnsWidth = wtViewport.getRowHeaderWidth();
76178
- for (let column = totalColumns; column > 0; column--) {
76179
- columnsWidth += inlineStartOverlay.sumCellSizes(column - 1, column);
76180
- if (rootElementOffset.left + totalTableWidth - columnsWidth <= windowScrollLeft) {
76181
- // Return physical column + 1
76182
- firstVisibleColumn = column;
76183
- break;
76184
- }
76185
- }
76186
- }
76187
- }
76188
- return firstVisibleColumn;
76107
+ return this.dataAccessObject.wtTable.getFirstVisibleColumn();
76189
76108
  }
76190
76109
 
76191
76110
  /**
@@ -115934,9 +115853,16 @@ class DragToScroll extends _base.BasePlugin {
115934
115853
  /**
115935
115854
  * Sets the value of the visible element.
115936
115855
  *
115937
- * @param {DOMRect} boundaries An object with coordinates compatible with DOMRect.
115856
+ * @param {DOMRect|{left: number, right: number, top: number, bottom: number}} [boundaries] An object with
115857
+ * coordinates. Contains the window boundaries by default. The object is compatible with DOMRect.
115938
115858
  */
115939
- setBoundaries(boundaries) {
115859
+ setBoundaries() {
115860
+ let boundaries = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
115861
+ left: 0,
115862
+ right: this.hot.rootWindow.innerWidth,
115863
+ top: 0,
115864
+ bottom: this.hot.rootWindow.innerHeight
115865
+ };
115940
115866
  this.boundaries = boundaries;
115941
115867
  }
115942
115868
 
@@ -115950,7 +115876,7 @@ class DragToScroll extends _base.BasePlugin {
115950
115876
  }
115951
115877
 
115952
115878
  /**
115953
- * Checks if the mouse position (X, Y) is outside of the viewport and fires a callback with calculated X an Y diffs
115879
+ * Checks if the mouse position (X, Y) is outside the viewport and fires a callback with calculated X an Y diffs
115954
115880
  * between passed boundaries.
115955
115881
  *
115956
115882
  * @param {number} x Mouse X coordinate to check.
@@ -116055,24 +115981,13 @@ function _setupListening2(event) {
116055
115981
  if ((0, _event.isRightClick)(event)) {
116056
115982
  return;
116057
115983
  }
116058
- const scrollHandler = this.hot.view._wt.wtTable.holder; // native scroll
116059
-
116060
- if (scrollHandler === this.hot.rootWindow) {
116061
- // not much we can do currently
116062
- return;
116063
- }
116064
- this.setBoundaries(scrollHandler.getBoundingClientRect());
115984
+ const scrollHandler = this.hot.view._wt.wtOverlays.topOverlay.mainTableScrollableElement;
115985
+ this.setBoundaries(scrollHandler !== this.hot.rootWindow ? scrollHandler.getBoundingClientRect() : undefined);
116065
115986
  this.setCallback((scrollX, scrollY) => {
116066
- if (scrollX < 0) {
116067
- scrollHandler.scrollLeft -= 50;
116068
- } else if (scrollX > 0) {
116069
- scrollHandler.scrollLeft += 50;
116070
- }
116071
- if (scrollY < 0) {
116072
- scrollHandler.scrollTop -= 20;
116073
- } else if (scrollY > 0) {
116074
- scrollHandler.scrollTop += 20;
116075
- }
115987
+ var _scrollHandler$scroll, _scrollHandler$scroll2;
115988
+ const horizontalScrollValue = (_scrollHandler$scroll = scrollHandler.scrollLeft) !== null && _scrollHandler$scroll !== void 0 ? _scrollHandler$scroll : scrollHandler.scrollX;
115989
+ const verticalScrollValue = (_scrollHandler$scroll2 = scrollHandler.scrollTop) !== null && _scrollHandler$scroll2 !== void 0 ? _scrollHandler$scroll2 : scrollHandler.scrollY;
115990
+ scrollHandler.scroll(horizontalScrollValue + Math.sign(scrollX) * 50, verticalScrollValue + Math.sign(scrollY) * 20);
116076
115991
  });
116077
115992
  this.listen();
116078
115993
  }
@@ -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-5d8c97d-20231228
29
- * Release date: 30/11/2023 (built at 28/12/2023 08:48:47)
28
+ * Version: 0.0.0-next-3388fcb-20240102
29
+ * Release date: 30/11/2023 (built at 02/01/2024 09:16:22)
30
30
  */.handsontable .table td,.handsontable .table th{border-top:none}.handsontable tr{background:#fff}.handsontable td{background-color:inherit}.handsontable .table caption+thead tr:first-child td,.handsontable .table caption+thead tr:first-child th,.handsontable .table colgroup+thead tr:first-child td,.handsontable .table colgroup+thead tr:first-child th,.handsontable .table thead:first-child tr:first-child td,.handsontable .table thead:first-child tr:first-child th{border-top:1px solid #ccc}.handsontable .table-bordered{border:0;border-collapse:separate}.handsontable .table-bordered td,.handsontable .table-bordered th{border-left:none}.handsontable .table-bordered td:first-child,.handsontable .table-bordered th:first-child{border-left:1px solid #ccc}.handsontable .table>tbody>tr>td,.handsontable .table>tbody>tr>th,.handsontable .table>tfoot>tr>td,.handsontable .table>tfoot>tr>th,.handsontable .table>thead>tr>td,.handsontable .table>thead>tr>th{line-height:21px;padding:0}.col-lg-1.handsontable,.col-lg-10.handsontable,.col-lg-11.handsontable,.col-lg-12.handsontable,.col-lg-2.handsontable,.col-lg-3.handsontable,.col-lg-4.handsontable,.col-lg-5.handsontable,.col-lg-6.handsontable,.col-lg-7.handsontable,.col-lg-8.handsontable,.col-lg-9.handsontable,.col-md-1.handsontable,.col-md-10.handsontable,.col-md-11.handsontable,.col-md-12.handsontable,.col-md-2.handsontable,.col-md-3.handsontable,.col-md-4.handsontable,.col-md-5.handsontable,.col-md-6.handsontable,.col-md-7.handsontable,.col-md-8.handsontable,.col-md-9.handsontable .col-sm-1.handsontable,.col-sm-10.handsontable,.col-sm-11.handsontable,.col-sm-12.handsontable,.col-sm-2.handsontable,.col-sm-3.handsontable,.col-sm-4.handsontable,.col-sm-5.handsontable,.col-sm-6.handsontable,.col-sm-7.handsontable,.col-sm-8.handsontable,.col-sm-9.handsontable .col-xs-1.handsontable,.col-xs-10.handsontable,.col-xs-11.handsontable,.col-xs-12.handsontable,.col-xs-2.handsontable,.col-xs-3.handsontable,.col-xs-4.handsontable,.col-xs-5.handsontable,.col-xs-6.handsontable,.col-xs-7.handsontable,.col-xs-8.handsontable,.col-xs-9.handsontable{padding-left:0;padding-right:0}.handsontable .table-striped>tbody>tr:nth-of-type(2n){background-color:#fff}.handsontable{position:relative}.handsontable .hide{display:none}.handsontable .relative{position:relative}.handsontable .wtHider{width:0}.handsontable .wtSpreader{height:auto;position:relative;width:0}.handsontable div,.handsontable input,.handsontable table,.handsontable tbody,.handsontable td,.handsontable textarea,.handsontable th,.handsontable thead{box-sizing:content-box;-webkit-box-sizing:content-box;-moz-box-sizing:content-box}.handsontable input,.handsontable textarea{min-height:auto}.handsontable table.htCore{border-collapse:separate;border-spacing:0;border-width:0;cursor:default;margin:0;max-height:none;max-width:none;outline-width:0;table-layout:fixed;width:0}.handsontable col,.handsontable col.rowHeader{width:50px}.handsontable td,.handsontable th{background-color:#fff;border-bottom:1px solid #ccc;border-left-width:0;border-right:1px solid #ccc;border-top-width:0;empty-cells:show;height:22px;line-height:21px;outline:none;outline-width:0;overflow:hidden;padding:0 4px;vertical-align:top;white-space:pre-wrap}[dir=rtl].handsontable td,[dir=rtl].handsontable th{border-left:1px solid #ccc;border-right-width:0}.handsontable th:last-child{border-bottom:1px solid #ccc;border-left:none;border-right:1px solid #ccc}[dir=rtl].handsontable th:last-child{border-left:1px solid #ccc;border-right:none}.handsontable td:first-of-type,.handsontable th:first-child,.handsontable th:nth-child(2){border-left:1px solid #ccc}[dir=rtl].handsontable td:first-of-type,[dir=rtl].handsontable th:first-child,[dir=rtl].handsontable th:nth-child(2){border-right:1px solid #ccc}.handsontable .ht_clone_top th:nth-child(2){border-left-width:0;border-right:1px solid #ccc}[dir=rtl].handsontable .ht_clone_top th:nth-child(2){border-left:1px solid #ccc;border-right-width:0}.handsontable.htRowHeaders thead tr th:nth-child(2){border-left:1px solid #ccc}[dir=rtl].handsontable.htRowHeaders thead tr th:nth-child(2){border-right:1px solid #ccc}.handsontable tr:first-child td,.handsontable tr:first-child th{border-top:1px solid #ccc}.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top) thead tr th:first-child{border-left:1px solid #ccc;border-right-width:0}[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top) thead tr th:first-child{border-left-width:0;border-right:1px solid #ccc}.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr:last-child th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr:last-child th{border-bottom-width:0}.handsontable th{background-color:#f0f0f0;color:#222;font-weight:400;text-align:center;white-space:nowrap}.handsontable thead th{padding:0}.handsontable th.active{background-color:#ccc}.handsontable thead th .relative{padding:2px 4px}.handsontable span.colHeader{display:inline-block;line-height:1.1}.handsontable .wtBorder{font-size:0;position:absolute}.handsontable .wtBorder.hidden{display:none!important}.handsontable .wtBorder.current{z-index:10}.handsontable .wtBorder.area{z-index:8}.handsontable .wtBorder.fill{z-index:6}.handsontable .wtBorder.corner{cursor:crosshair;font-size:0}.ht_clone_master{z-index:100}.ht_clone_inline_start{z-index:120}.ht_clone_bottom{z-index:130}.ht_clone_bottom_inline_start_corner{z-index:150}.ht_clone_top{z-index:160}.ht_clone_top_inline_start_corner{z-index:180}.handsontable col.hidden{width:0!important}.handsontable tr.hidden,.handsontable tr.hidden td,.handsontable tr.hidden th{display:none}.ht_clone_bottom,.ht_clone_inline_start,.ht_clone_top,.ht_master{overflow:hidden}.ht_master .wtHolder{overflow:auto}.handsontable .ht_clone_inline_start table.htCore>thead,.handsontable .ht_master table.htCore>tbody>tr>th,.handsontable .ht_master table.htCore>thead{visibility:hidden}.ht_clone_bottom .wtHolder,.ht_clone_inline_start .wtHolder,.ht_clone_top .wtHolder{overflow:hidden}.handsontable{color:#373737;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:13px;font-weight:400;touch-action:manipulation}.handsontable a{color:#104acc}.handsontable.htAutoSize{left:-99000px;position:absolute;top:-99000px;visibility:hidden}.handsontable td.htInvalid{background-color:#ffbeba!important}.handsontable td.htNoWrap{white-space:nowrap}.handsontable td.invisibleSelection,.handsontable th.invisibleSelection{outline:none}.handsontable td.invisibleSelection::selection,.handsontable th.invisibleSelection::selection{background:hsla(0,0%,100%,0)}.hot-display-license-info{color:#373737;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:10px;font-weight:400;padding:5px 0 3px;text-align:left}.hot-display-license-info a{color:#104acc;font-size:10px}.handsontable .htFocusCatcher{border:0;height:0;margin:0;opacity:0;padding:0;position:absolute;width:0;z-index:-1}.handsontable .manualColumnResizer{cursor:col-resize;height:25px;position:absolute;top:0;width:5px;z-index:210}.handsontable .manualRowResizer{cursor:row-resize;height:5px;left:0;position:absolute;width:50px;z-index:210}.handsontable .manualColumnResizer.active,.handsontable .manualColumnResizer:hover,.handsontable .manualRowResizer.active,.handsontable .manualRowResizer:hover{background-color:#34a9db}.handsontable .manualColumnResizerGuide{background-color:#34a9db;border-left:none;border-right:1px dashed #777;display:none;margin-left:5px;margin-right:unset;position:absolute;right:unset;top:0;width:0}[dir=rtl].handsontable .manualColumnResizerGuide{border-left:1px dashed #777;border-right:none;left:unset;margin-left:unset;margin-right:5px}.handsontable .manualRowResizerGuide{background-color:#34a9db;border-bottom:1px dashed #777;bottom:0;display:none;height:0;left:0;margin-top:5px;position:absolute}.handsontable .manualColumnResizerGuide.active,.handsontable .manualRowResizerGuide.active{display:block;z-index:209}.handsontable .columnSorting{position:relative}.handsontable .columnSorting.sortAction:hover{cursor:pointer;text-decoration:underline}.handsontable span.colHeader.columnSorting:before{background-position-x:right;background-repeat:no-repeat;background-size:contain;content:"";height:10px;left:unset;margin-top:-6px;padding-left:8px;padding-right:0;position:absolute;right:-9px;top:50%;width:5px}[dir=rtl].handsontable span.colHeader.columnSorting:before{background-position-x:left;left:-9px;padding-left:0;padding-right:8px;right:unset}.handsontable span.colHeader.columnSorting.ascending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFNJREFUeAHtzjkSgCAUBNHPgsoy97+ulGXRqJE5L+xkxoYt2UdsLb5bqFINz+aLuuLn5rIu2RkO3fZpWENimNgiw6iBYRTPMLJjGFxQZ1hxxb/xBI1qC8k39CdKAAAAAElFTkSuQmCC)}.handsontable span.colHeader.columnSorting.descending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFJJREFUeAHtzjkSgCAQRNFmQYUZ7n9dKUvru0TmvPAn3br0QfgdZ5xx6x+rQn23GqTYnq1FDcnuzZIO2WmedVqIRVxgGKEyjNgYRjKGkZ1hFIZ3I70LyM0VtU8AAAAASUVORK5CYII=)}.htGhostTable .htCore span.colHeader.columnSorting:not(.indicatorDisabled):before{content:"*";display:inline-block;padding-right:20px;position:relative}.handsontable td.area,.handsontable td.area-1,.handsontable td.area-2,.handsontable td.area-3,.handsontable td.area-4,.handsontable td.area-5,.handsontable td.area-6,.handsontable td.area-7{position:relative}.handsontable td.area-1:before,.handsontable td.area-2:before,.handsontable td.area-3:before,.handsontable td.area-4:before,.handsontable td.area-5:before,.handsontable td.area-6:before,.handsontable td.area-7:before,.handsontable td.area:before{background:#005eff;bottom:0;bottom:-100%\9;content:"";left:0;position:absolute;right:0;top:0}@media (-ms-high-contrast:none),screen and (-ms-high-contrast:active){.handsontable td.area-1:before,.handsontable td.area-2:before,.handsontable td.area-3:before,.handsontable td.area-4:before,.handsontable td.area-5:before,.handsontable td.area-6:before,.handsontable td.area-7:before,.handsontable td.area:before{bottom:-100%}}.handsontable td.area:before{opacity:.1}.handsontable td.area-1:before{opacity:.2}.handsontable td.area-2:before{opacity:.27}.handsontable td.area-3:before{opacity:.35}.handsontable td.area-4:before{opacity:.41}.handsontable td.area-5:before{opacity:.47}.handsontable td.area-6:before{opacity:.54}.handsontable td.area-7:before{opacity:.58}.handsontable tbody th.current,.handsontable thead th.current{box-shadow:inset 0 0 0 2px #4b89ff}.handsontable tbody th.ht__highlight,.handsontable thead th.ht__highlight{background-color:#dcdcdc}.handsontable tbody th.ht__active_highlight,.handsontable thead th.ht__active_highlight{background-color:#8eb0e7;color:#000}.handsontableInput{background-color:#fff;border:none;border-radius:0;box-shadow:inset 0 0 0 2px #5292f7;color:#000;display:block;font-family:inherit;font-size:inherit;line-height:21px;margin:0;outline-width:0;padding:1px 5px 0;resize:none}.handsontableInput:focus{outline:none}.handsontableInputHolder{left:0;position:absolute;top:0}.htSelectEditor{-webkit-appearance:menulist-button!important;position:absolute;width:auto}.htSelectEditor:focus{outline:none}.handsontable .htDimmed{color:#777}.handsontable .htSubmenu{position:relative}.handsontable .htSubmenu :after{color:#777;content:"▶";font-size:9px;position:absolute;right:5px}[dir=rtl].handsontable .htSubmenu :after{content:""}[dir=rtl].handsontable .htSubmenu :before{color:#777;content:"◀";font-size:9px;left:5px;position:absolute}.handsontable .htLeft{text-align:left}.handsontable .htCenter{text-align:center}.handsontable .htRight{text-align:right}.handsontable .htJustify{text-align:justify}.handsontable .htTop{vertical-align:top}.handsontable .htMiddle{vertical-align:middle}.handsontable .htBottom{vertical-align:bottom}.handsontable .htPlaceholder{color:#999}.handsontable.listbox{margin:0}.handsontable.listbox .ht_master table{background:#fff;border:1px solid #ccc;border-collapse:separate}.handsontable.listbox td,.handsontable.listbox th,.handsontable.listbox tr:first-child td,.handsontable.listbox tr:first-child th,.handsontable.listbox tr:last-child th{border-color:transparent!important}.handsontable.listbox td,.handsontable.listbox th{text-overflow:ellipsis;white-space:nowrap}.handsontable.listbox td.htDimmed{color:inherit;cursor:default;font-style:inherit}.handsontable.listbox .wtBorder{visibility:hidden}.handsontable.listbox tr td.current,.handsontable.listbox tr:hover td{background:#eee}.ht_editor_hidden{z-index:-1}.ht_editor_visible{z-index:200}.handsontable td.htSearchResult{background:#fcedd9;color:#583707}.handsontable .collapsibleIndicator{background:#eee;border:1px solid #a6a6a6;border-radius:10px;-webkit-box-shadow:0 0 0 6px #eee;-moz-box-shadow:0 0 0 6px #eee;box-shadow:0 0 0 3px #eee;color:#222;cursor:pointer;font-size:10px;height:10px;left:unset;line-height:8px;position:absolute;right:5px;text-align:center;top:50%;transform:translateY(-50%);width:10px}[dir=rtl].handsontable .collapsibleIndicator{left:5px;right:unset}.handsontable.mobile,.handsontable.mobile .wtHolder{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-overflow-scrolling:touch;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.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}
31
31
  /*!
32
32
  * Pikaday