handsontable 0.0.0-next-43b9ea1-20240520 → 0.0.0-next-e898184-20240520

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

@@ -319,27 +319,33 @@ class InlineStartOverlay extends _base.Overlay {
319
319
  * @returns {boolean}
320
320
  */
321
321
  adjustHeaderBordersPosition(position) {
322
+ const {
323
+ wtSettings
324
+ } = this;
322
325
  const masterParent = this.wot.wtTable.holder.parentNode;
323
- const rowHeaders = this.wtSettings.getSetting('rowHeaders');
324
- const fixedColumnsStart = this.wtSettings.getSetting('fixedColumnsStart');
325
- const totalRows = this.wtSettings.getSetting('totalRows');
326
+ const rowHeaders = wtSettings.getSetting('rowHeaders');
327
+ const fixedColumnsStart = wtSettings.getSetting('fixedColumnsStart');
328
+ const totalRows = wtSettings.getSetting('totalRows');
329
+ const preventVerticalOverflow = wtSettings.getSetting('preventOverflow') === 'vertical';
326
330
  if (totalRows) {
327
331
  (0, _element.removeClass)(masterParent, 'emptyRows');
328
332
  } else {
329
333
  (0, _element.addClass)(masterParent, 'emptyRows');
330
334
  }
331
335
  let positionChanged = false;
332
- if (fixedColumnsStart && !rowHeaders.length) {
333
- // "innerBorderLeft" is for backward compatibility
334
- (0, _element.addClass)(masterParent, 'innerBorderLeft innerBorderInlineStart');
335
- } else if (!fixedColumnsStart && rowHeaders.length) {
336
- const previousState = (0, _element.hasClass)(masterParent, 'innerBorderInlineStart');
337
- if (position) {
336
+ if (!preventVerticalOverflow) {
337
+ if (fixedColumnsStart && !rowHeaders.length) {
338
+ // "innerBorderLeft" is for backward compatibility
338
339
  (0, _element.addClass)(masterParent, 'innerBorderLeft innerBorderInlineStart');
339
- positionChanged = !previousState;
340
- } else {
341
- (0, _element.removeClass)(masterParent, 'innerBorderLeft innerBorderInlineStart');
342
- positionChanged = previousState;
340
+ } else if (!fixedColumnsStart && rowHeaders.length) {
341
+ const previousState = (0, _element.hasClass)(masterParent, 'innerBorderInlineStart');
342
+ if (position) {
343
+ (0, _element.addClass)(masterParent, 'innerBorderLeft innerBorderInlineStart');
344
+ positionChanged = !previousState;
345
+ } else {
346
+ (0, _element.removeClass)(masterParent, 'innerBorderLeft innerBorderInlineStart');
347
+ positionChanged = previousState;
348
+ }
343
349
  }
344
350
  }
345
351
  return positionChanged;
@@ -315,27 +315,33 @@ export class InlineStartOverlay extends Overlay {
315
315
  * @returns {boolean}
316
316
  */
317
317
  adjustHeaderBordersPosition(position) {
318
+ const {
319
+ wtSettings
320
+ } = this;
318
321
  const masterParent = this.wot.wtTable.holder.parentNode;
319
- const rowHeaders = this.wtSettings.getSetting('rowHeaders');
320
- const fixedColumnsStart = this.wtSettings.getSetting('fixedColumnsStart');
321
- const totalRows = this.wtSettings.getSetting('totalRows');
322
+ const rowHeaders = wtSettings.getSetting('rowHeaders');
323
+ const fixedColumnsStart = wtSettings.getSetting('fixedColumnsStart');
324
+ const totalRows = wtSettings.getSetting('totalRows');
325
+ const preventVerticalOverflow = wtSettings.getSetting('preventOverflow') === 'vertical';
322
326
  if (totalRows) {
323
327
  removeClass(masterParent, 'emptyRows');
324
328
  } else {
325
329
  addClass(masterParent, 'emptyRows');
326
330
  }
327
331
  let positionChanged = false;
328
- if (fixedColumnsStart && !rowHeaders.length) {
329
- // "innerBorderLeft" is for backward compatibility
330
- addClass(masterParent, 'innerBorderLeft innerBorderInlineStart');
331
- } else if (!fixedColumnsStart && rowHeaders.length) {
332
- const previousState = hasClass(masterParent, 'innerBorderInlineStart');
333
- if (position) {
332
+ if (!preventVerticalOverflow) {
333
+ if (fixedColumnsStart && !rowHeaders.length) {
334
+ // "innerBorderLeft" is for backward compatibility
334
335
  addClass(masterParent, 'innerBorderLeft innerBorderInlineStart');
335
- positionChanged = !previousState;
336
- } else {
337
- removeClass(masterParent, 'innerBorderLeft innerBorderInlineStart');
338
- positionChanged = previousState;
336
+ } else if (!fixedColumnsStart && rowHeaders.length) {
337
+ const previousState = hasClass(masterParent, 'innerBorderInlineStart');
338
+ if (position) {
339
+ addClass(masterParent, 'innerBorderLeft innerBorderInlineStart');
340
+ positionChanged = !previousState;
341
+ } else {
342
+ removeClass(masterParent, 'innerBorderLeft innerBorderInlineStart');
343
+ positionChanged = previousState;
344
+ }
339
345
  }
340
346
  }
341
347
  return positionChanged;
@@ -346,22 +346,26 @@ class TopOverlay extends _base.Overlay {
346
346
  */
347
347
  adjustHeaderBordersPosition(position) {
348
348
  let skipInnerBorderAdjusting = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
349
+ const {
350
+ wtSettings
351
+ } = this;
349
352
  const masterParent = this.wot.wtTable.holder.parentNode;
350
- const totalColumns = this.wtSettings.getSetting('totalColumns');
353
+ const totalColumns = wtSettings.getSetting('totalColumns');
354
+ const preventHorizontalOverflow = wtSettings.getSetting('preventOverflow') === 'horizontal';
351
355
  if (totalColumns) {
352
356
  (0, _element.removeClass)(masterParent, 'emptyColumns');
353
357
  } else {
354
358
  (0, _element.addClass)(masterParent, 'emptyColumns');
355
359
  }
356
360
  let positionChanged = false;
357
- if (!skipInnerBorderAdjusting) {
358
- const fixedRowsTop = this.wtSettings.getSetting('fixedRowsTop');
361
+ if (!skipInnerBorderAdjusting && !preventHorizontalOverflow) {
362
+ const fixedRowsTop = wtSettings.getSetting('fixedRowsTop');
359
363
  const areFixedRowsTopChanged = this.cachedFixedRowsTop !== fixedRowsTop;
360
- const columnHeaders = this.wtSettings.getSetting('columnHeaders');
364
+ const columnHeaders = wtSettings.getSetting('columnHeaders');
361
365
  if ((areFixedRowsTopChanged || fixedRowsTop === 0) && columnHeaders.length > 0) {
362
366
  const previousState = (0, _element.hasClass)(masterParent, 'innerBorderTop');
363
- this.cachedFixedRowsTop = this.wtSettings.getSetting('fixedRowsTop');
364
- if (position || this.wtSettings.getSetting('totalRows') === 0) {
367
+ this.cachedFixedRowsTop = wtSettings.getSetting('fixedRowsTop');
368
+ if (position || wtSettings.getSetting('totalRows') === 0) {
365
369
  (0, _element.addClass)(masterParent, 'innerBorderTop');
366
370
  positionChanged = !previousState;
367
371
  } else {
@@ -342,22 +342,26 @@ export class TopOverlay extends Overlay {
342
342
  */
343
343
  adjustHeaderBordersPosition(position) {
344
344
  let skipInnerBorderAdjusting = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
345
+ const {
346
+ wtSettings
347
+ } = this;
345
348
  const masterParent = this.wot.wtTable.holder.parentNode;
346
- const totalColumns = this.wtSettings.getSetting('totalColumns');
349
+ const totalColumns = wtSettings.getSetting('totalColumns');
350
+ const preventHorizontalOverflow = wtSettings.getSetting('preventOverflow') === 'horizontal';
347
351
  if (totalColumns) {
348
352
  removeClass(masterParent, 'emptyColumns');
349
353
  } else {
350
354
  addClass(masterParent, 'emptyColumns');
351
355
  }
352
356
  let positionChanged = false;
353
- if (!skipInnerBorderAdjusting) {
354
- const fixedRowsTop = this.wtSettings.getSetting('fixedRowsTop');
357
+ if (!skipInnerBorderAdjusting && !preventHorizontalOverflow) {
358
+ const fixedRowsTop = wtSettings.getSetting('fixedRowsTop');
355
359
  const areFixedRowsTopChanged = this.cachedFixedRowsTop !== fixedRowsTop;
356
- const columnHeaders = this.wtSettings.getSetting('columnHeaders');
360
+ const columnHeaders = wtSettings.getSetting('columnHeaders');
357
361
  if ((areFixedRowsTopChanged || fixedRowsTop === 0) && columnHeaders.length > 0) {
358
362
  const previousState = hasClass(masterParent, 'innerBorderTop');
359
- this.cachedFixedRowsTop = this.wtSettings.getSetting('fixedRowsTop');
360
- if (position || this.wtSettings.getSetting('totalRows') === 0) {
363
+ this.cachedFixedRowsTop = wtSettings.getSetting('fixedRowsTop');
364
+ if (position || wtSettings.getSetting('totalRows') === 0) {
361
365
  addClass(masterParent, 'innerBorderTop');
362
366
  positionChanged = !previousState;
363
367
  } else {
package/base.js CHANGED
@@ -45,8 +45,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
45
45
  Handsontable.CellCoords = _src.CellCoords;
46
46
  Handsontable.CellRange = _src.CellRange;
47
47
  Handsontable.packageName = 'handsontable';
48
- Handsontable.buildDate = "20/05/2024 08:55:02";
49
- Handsontable.version = "0.0.0-next-43b9ea1-20240520";
48
+ Handsontable.buildDate = "20/05/2024 11:29:41";
49
+ Handsontable.version = "0.0.0-next-e898184-20240520";
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 = "20/05/2024 08:55:07";
39
- Handsontable.version = "0.0.0-next-43b9ea1-20240520";
38
+ Handsontable.buildDate = "20/05/2024 11:29:46";
39
+ Handsontable.version = "0.0.0-next-e898184-20240520";
40
40
  Handsontable.languages = {
41
41
  dictionaryKeys,
42
42
  getLanguageDictionary,
@@ -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-43b9ea1-20240520
29
- * Release date: 16/04/2024 (built at 20/05/2024 08:55:11)
28
+ * Version: 0.0.0-next-e898184-20240520
29
+ * Release date: 16/04/2024 (built at 20/05/2024 11:29:51)
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-43b9ea1-20240520
29
- * Release date: 16/04/2024 (built at 20/05/2024 08:55:11)
28
+ * Version: 0.0.0-next-e898184-20240520
29
+ * Release date: 16/04/2024 (built at 20/05/2024 11:29:51)
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-43b9ea1-20240520
29
- * Release date: 16/04/2024 (built at 20/05/2024 08:55:11)
28
+ * Version: 0.0.0-next-e898184-20240520
29
+ * Release date: 16/04/2024 (built at 20/05/2024 11:29:51)
30
30
  */
31
31
  (function webpackUniversalModuleDefinition(root, factory) {
32
32
  if(typeof exports === 'object' && typeof module === 'object')
@@ -42675,8 +42675,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
42675
42675
  Handsontable.CellCoords = _src.CellCoords;
42676
42676
  Handsontable.CellRange = _src.CellRange;
42677
42677
  Handsontable.packageName = 'handsontable';
42678
- Handsontable.buildDate = "20/05/2024 08:55:11";
42679
- Handsontable.version = "0.0.0-next-43b9ea1-20240520";
42678
+ Handsontable.buildDate = "20/05/2024 11:29:51";
42679
+ Handsontable.version = "0.0.0-next-e898184-20240520";
42680
42680
  Handsontable.languages = {
42681
42681
  dictionaryKeys: _registry.dictionaryKeys,
42682
42682
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -53274,7 +53274,7 @@ const domMessages = {
53274
53274
  function _injectProductInfo(key, element) {
53275
53275
  const hasValidType = !isEmpty(key);
53276
53276
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
53277
- const hotVersion = "0.0.0-next-43b9ea1-20240520";
53277
+ const hotVersion = "0.0.0-next-e898184-20240520";
53278
53278
  let keyValidityDate;
53279
53279
  let consoleMessageState = 'invalid';
53280
53280
  let domMessageState = 'invalid';
@@ -77582,27 +77582,33 @@ class InlineStartOverlay extends _base.Overlay {
77582
77582
  * @returns {boolean}
77583
77583
  */
77584
77584
  adjustHeaderBordersPosition(position) {
77585
+ const {
77586
+ wtSettings
77587
+ } = this;
77585
77588
  const masterParent = this.wot.wtTable.holder.parentNode;
77586
- const rowHeaders = this.wtSettings.getSetting('rowHeaders');
77587
- const fixedColumnsStart = this.wtSettings.getSetting('fixedColumnsStart');
77588
- const totalRows = this.wtSettings.getSetting('totalRows');
77589
+ const rowHeaders = wtSettings.getSetting('rowHeaders');
77590
+ const fixedColumnsStart = wtSettings.getSetting('fixedColumnsStart');
77591
+ const totalRows = wtSettings.getSetting('totalRows');
77592
+ const preventVerticalOverflow = wtSettings.getSetting('preventOverflow') === 'vertical';
77589
77593
  if (totalRows) {
77590
77594
  (0, _element.removeClass)(masterParent, 'emptyRows');
77591
77595
  } else {
77592
77596
  (0, _element.addClass)(masterParent, 'emptyRows');
77593
77597
  }
77594
77598
  let positionChanged = false;
77595
- if (fixedColumnsStart && !rowHeaders.length) {
77596
- // "innerBorderLeft" is for backward compatibility
77597
- (0, _element.addClass)(masterParent, 'innerBorderLeft innerBorderInlineStart');
77598
- } else if (!fixedColumnsStart && rowHeaders.length) {
77599
- const previousState = (0, _element.hasClass)(masterParent, 'innerBorderInlineStart');
77600
- if (position) {
77599
+ if (!preventVerticalOverflow) {
77600
+ if (fixedColumnsStart && !rowHeaders.length) {
77601
+ // "innerBorderLeft" is for backward compatibility
77601
77602
  (0, _element.addClass)(masterParent, 'innerBorderLeft innerBorderInlineStart');
77602
- positionChanged = !previousState;
77603
- } else {
77604
- (0, _element.removeClass)(masterParent, 'innerBorderLeft innerBorderInlineStart');
77605
- positionChanged = previousState;
77603
+ } else if (!fixedColumnsStart && rowHeaders.length) {
77604
+ const previousState = (0, _element.hasClass)(masterParent, 'innerBorderInlineStart');
77605
+ if (position) {
77606
+ (0, _element.addClass)(masterParent, 'innerBorderLeft innerBorderInlineStart');
77607
+ positionChanged = !previousState;
77608
+ } else {
77609
+ (0, _element.removeClass)(masterParent, 'innerBorderLeft innerBorderInlineStart');
77610
+ positionChanged = previousState;
77611
+ }
77606
77612
  }
77607
77613
  }
77608
77614
  return positionChanged;
@@ -79916,22 +79922,26 @@ class TopOverlay extends _base.Overlay {
79916
79922
  */
79917
79923
  adjustHeaderBordersPosition(position) {
79918
79924
  let skipInnerBorderAdjusting = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
79925
+ const {
79926
+ wtSettings
79927
+ } = this;
79919
79928
  const masterParent = this.wot.wtTable.holder.parentNode;
79920
- const totalColumns = this.wtSettings.getSetting('totalColumns');
79929
+ const totalColumns = wtSettings.getSetting('totalColumns');
79930
+ const preventHorizontalOverflow = wtSettings.getSetting('preventOverflow') === 'horizontal';
79921
79931
  if (totalColumns) {
79922
79932
  (0, _element.removeClass)(masterParent, 'emptyColumns');
79923
79933
  } else {
79924
79934
  (0, _element.addClass)(masterParent, 'emptyColumns');
79925
79935
  }
79926
79936
  let positionChanged = false;
79927
- if (!skipInnerBorderAdjusting) {
79928
- const fixedRowsTop = this.wtSettings.getSetting('fixedRowsTop');
79937
+ if (!skipInnerBorderAdjusting && !preventHorizontalOverflow) {
79938
+ const fixedRowsTop = wtSettings.getSetting('fixedRowsTop');
79929
79939
  const areFixedRowsTopChanged = this.cachedFixedRowsTop !== fixedRowsTop;
79930
- const columnHeaders = this.wtSettings.getSetting('columnHeaders');
79940
+ const columnHeaders = wtSettings.getSetting('columnHeaders');
79931
79941
  if ((areFixedRowsTopChanged || fixedRowsTop === 0) && columnHeaders.length > 0) {
79932
79942
  const previousState = (0, _element.hasClass)(masterParent, 'innerBorderTop');
79933
- this.cachedFixedRowsTop = this.wtSettings.getSetting('fixedRowsTop');
79934
- if (position || this.wtSettings.getSetting('totalRows') === 0) {
79943
+ this.cachedFixedRowsTop = wtSettings.getSetting('fixedRowsTop');
79944
+ if (position || wtSettings.getSetting('totalRows') === 0) {
79935
79945
  (0, _element.addClass)(masterParent, 'innerBorderTop');
79936
79946
  positionChanged = !previousState;
79937
79947
  } else {
@@ -125155,7 +125165,8 @@ function _onAfterRemoveRow(row, amount, physicalRows, source) {
125155
125165
  if (isBlockedSource(source)) {
125156
125166
  return;
125157
125167
  }
125158
- const descendingHfRows = this.rowAxisSyncer.getRemovedHfIndexes().sort().reverse();
125168
+ const descendingHfRows = this.rowAxisSyncer.getRemovedHfIndexes().sort((a, b) => b - a); // sort numeric values descending
125169
+
125159
125170
  const changes = this.engine.batch(() => {
125160
125171
  descendingHfRows.forEach(hfRow => {
125161
125172
  this.engine.removeRows(this.sheetId, [hfRow, 1]);
@@ -125176,7 +125187,8 @@ function _onAfterRemoveCol(col, amount, physicalColumns, source) {
125176
125187
  if (isBlockedSource(source)) {
125177
125188
  return;
125178
125189
  }
125179
- const descendingHfColumns = this.columnAxisSyncer.getRemovedHfIndexes().sort().reverse();
125190
+ const descendingHfColumns = this.columnAxisSyncer.getRemovedHfIndexes().sort((a, b) => b - a); // sort numeric values descending
125191
+
125180
125192
  const changes = this.engine.batch(() => {
125181
125193
  descendingHfColumns.forEach(hfColumn => {
125182
125194
  this.engine.removeColumns(this.sheetId, [hfColumn, 1]);
@@ -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-43b9ea1-20240520
29
- * Release date: 16/04/2024 (built at 20/05/2024 08:55:28)
28
+ * Version: 0.0.0-next-e898184-20240520
29
+ * Release date: 16/04/2024 (built at 20/05/2024 11:30:08)
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{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)~.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-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}
31
31
  /*!
32
32
  * Pikaday