handsontable 0.0.0-next-dbd8d56-20240110 → 0.0.0-next-faee814-20240110

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.

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 = "10/01/2024 14:06:31";
49
- Handsontable.version = "0.0.0-next-dbd8d56-20240110";
48
+ Handsontable.buildDate = "10/01/2024 20:01:18";
49
+ Handsontable.version = "0.0.0-next-faee814-20240110";
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 = "10/01/2024 14:06:37";
39
- Handsontable.version = "0.0.0-next-dbd8d56-20240110";
38
+ Handsontable.buildDate = "10/01/2024 20:01:25";
39
+ Handsontable.version = "0.0.0-next-faee814-20240110";
40
40
  Handsontable.languages = {
41
41
  dictionaryKeys,
42
42
  getLanguageDictionary,
@@ -6,6 +6,7 @@ require("core-js/modules/es.error.cause.js");
6
6
  var _object = require("../../../helpers/object");
7
7
  var _utils = require("../utils");
8
8
  var _lazyFactoryMap = _interopRequireDefault(require("../lazyFactoryMap"));
9
+ var _mixed = require("../../../helpers/mixed");
9
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
11
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
12
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
@@ -171,7 +172,11 @@ class CellMeta {
171
172
  const metas = [];
172
173
  const rows = Array.from(this.metas.values());
173
174
  for (let row = 0; row < rows.length; row++) {
174
- metas.push(...rows[row].values());
175
+ // Getting a meta for already added row (new row already exist - it has been added using `createRow` method).
176
+ // However, is not ready until the first `getMeta` call (lazy loading).
177
+ if ((0, _mixed.isDefined)(rows[row])) {
178
+ metas.push(...rows[row].values());
179
+ }
175
180
  }
176
181
  return metas;
177
182
  }
@@ -6,6 +6,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
6
6
  import { extend } from "../../../helpers/object.mjs";
7
7
  import { extendByMetaType, assert, isUnsignedNumber } from "../utils.mjs";
8
8
  import LazyFactoryMap from "../lazyFactoryMap.mjs";
9
+ import { isDefined } from "../../../helpers/mixed.mjs";
9
10
  /* eslint-disable jsdoc/require-description-complete-sentence */
10
11
  /**
11
12
  * @class CellMeta
@@ -167,7 +168,11 @@ export default class CellMeta {
167
168
  const metas = [];
168
169
  const rows = Array.from(this.metas.values());
169
170
  for (let row = 0; row < rows.length; row++) {
170
- metas.push(...rows[row].values());
171
+ // Getting a meta for already added row (new row already exist - it has been added using `createRow` method).
172
+ // However, is not ready until the first `getMeta` call (lazy loading).
173
+ if (isDefined(rows[row])) {
174
+ metas.push(...rows[row].values());
175
+ }
171
176
  }
172
177
  return metas;
173
178
  }
@@ -3572,14 +3572,15 @@ var _default = () => {
3572
3572
  */
3573
3573
  readOnlyCellClassName: 'htDimmed',
3574
3574
  /**
3575
- * The `renderAllRows` option configures Handsontable's [row virtualization](@/guides/rows/row-virtualization.md).
3575
+ * The `renderAllRows` option controls Handsontable's [row virtualization](@/guides/rows/row-virtualization.md).
3576
+ * You can configure it as follows:
3576
3577
  *
3577
- * You can set the `renderAllRows` option to one of the following:
3578
+ * | Setting | Description |
3579
+ * | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
3580
+ * | `false` (default) | Enable [row virtualization](@/guides/rows/row-virtualization.md), rendering only the visible rows for optimal performance with large datasets. |
3581
+ * | `true` | Disable [row virtualization](@/guides/rows/row-virtualization.md)<br>(render all rows of the grid), rendering all rows in the dataset for consistent rendering and screen reader accessibility. |
3578
3582
  *
3579
- * | Setting | Description |
3580
- * | ----------------- | -------------------------------------------------------------------------------------------------- |
3581
- * | `false` (default) | Enable [row virtualization](@/guides/rows/row-virtualization.md) |
3582
- * | `true` | Disable [row virtualization](@/guides/rows/row-virtualization.md)<br>(render all rows of the grid) |
3583
+ * Setting `renderAllRows` to `true` overwrites the [`viewportRowRenderingOffset`](#viewportRowRenderingOffset) setting.
3583
3584
  *
3584
3585
  * Read more:
3585
3586
  * - [Row virtualization](@/guides/rows/row-virtualization.md)
@@ -3601,13 +3602,15 @@ var _default = () => {
3601
3602
  *
3602
3603
  * You can set the `renderAllColumns` option to one of the following:
3603
3604
  *
3604
- * | Setting | Description |
3605
- * | ----------------- | -------------------------------------------------------------------------------------------------- |
3606
- * | `false` (default) | Enable [column virtualization](@/guides/columns/column-virtualization.md) |
3607
- * | `true` | Disable [column virtualization](@/guides/columns/column-virtualization.md)<br>(render all columns of the grid) |
3605
+ * | Setting | Description |
3606
+ * | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
3607
+ * | `false` (default) | Enable [column virtualization](@/guides/columns/column-virtualization.md), rendering only visible columns for better performance with many columns. |
3608
+ * | `true` | Disable [column virtualization](@/guides/columns/column-virtualization.md)<br>(render all columns of the grid), rendering all columns in the dataset, and ensuring all columns are available regardless of horizontal scrolling. |
3609
+ *
3610
+ * Setting `renderAllColumns` to `true` overwrites the [`viewportColumnRenderingOffset`](#viewportColumnRenderingOffset) setting.
3608
3611
  *
3609
3612
  * Read more:
3610
- * - [Row virtualization](@/guides/columns/column-virtualization.md)
3613
+ * - [Column virtualization](@/guides/columns/column-virtualization.md)
3611
3614
  *
3612
3615
  * @since 14.1.0
3613
3616
  * @memberof Options#
@@ -4580,6 +4583,8 @@ var _default = () => {
4580
4583
  * | `auto` (default) | Use the offset calculated automatically by Handsontable |
4581
4584
  * | A number | Set the offset manually |
4582
4585
  *
4586
+ * The `viewportColumnRenderingOffset` setting is ignored when [`renderAllColumns`](#renderAllColumns) is set to `true`.
4587
+ *
4583
4588
  * Read more:
4584
4589
  * - [Performance: Define the number of pre-rendered rows and columns](@/guides/optimization/performance.md#define-the-number-of-pre-rendered-rows-and-columns)
4585
4590
  *
@@ -4607,6 +4612,8 @@ var _default = () => {
4607
4612
  * | `auto` (default) | Use the offset calculated automatically by Handsontable |
4608
4613
  * | A number | Set the offset manually |
4609
4614
  *
4615
+ * The `viewportRowRenderingOffset` setting is ignored when [`renderAllRows`](#renderAllRows) is set to `true`.
4616
+ *
4610
4617
  * Read more:
4611
4618
  * - [Performance: Define the number of pre-rendered rows and columns](@/guides/optimization/performance.md#define-the-number-of-pre-rendered-rows-and-columns)
4612
4619
  * - [Column virtualization](@/guides/columns/column-virtualization.md)
@@ -3569,14 +3569,15 @@ export default (() => {
3569
3569
  */
3570
3570
  readOnlyCellClassName: 'htDimmed',
3571
3571
  /**
3572
- * The `renderAllRows` option configures Handsontable's [row virtualization](@/guides/rows/row-virtualization.md).
3572
+ * The `renderAllRows` option controls Handsontable's [row virtualization](@/guides/rows/row-virtualization.md).
3573
+ * You can configure it as follows:
3573
3574
  *
3574
- * You can set the `renderAllRows` option to one of the following:
3575
+ * | Setting | Description |
3576
+ * | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
3577
+ * | `false` (default) | Enable [row virtualization](@/guides/rows/row-virtualization.md), rendering only the visible rows for optimal performance with large datasets. |
3578
+ * | `true` | Disable [row virtualization](@/guides/rows/row-virtualization.md)<br>(render all rows of the grid), rendering all rows in the dataset for consistent rendering and screen reader accessibility. |
3575
3579
  *
3576
- * | Setting | Description |
3577
- * | ----------------- | -------------------------------------------------------------------------------------------------- |
3578
- * | `false` (default) | Enable [row virtualization](@/guides/rows/row-virtualization.md) |
3579
- * | `true` | Disable [row virtualization](@/guides/rows/row-virtualization.md)<br>(render all rows of the grid) |
3580
+ * Setting `renderAllRows` to `true` overwrites the [`viewportRowRenderingOffset`](#viewportRowRenderingOffset) setting.
3580
3581
  *
3581
3582
  * Read more:
3582
3583
  * - [Row virtualization](@/guides/rows/row-virtualization.md)
@@ -3598,13 +3599,15 @@ export default (() => {
3598
3599
  *
3599
3600
  * You can set the `renderAllColumns` option to one of the following:
3600
3601
  *
3601
- * | Setting | Description |
3602
- * | ----------------- | -------------------------------------------------------------------------------------------------- |
3603
- * | `false` (default) | Enable [column virtualization](@/guides/columns/column-virtualization.md) |
3604
- * | `true` | Disable [column virtualization](@/guides/columns/column-virtualization.md)<br>(render all columns of the grid) |
3602
+ * | Setting | Description |
3603
+ * | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
3604
+ * | `false` (default) | Enable [column virtualization](@/guides/columns/column-virtualization.md), rendering only visible columns for better performance with many columns. |
3605
+ * | `true` | Disable [column virtualization](@/guides/columns/column-virtualization.md)<br>(render all columns of the grid), rendering all columns in the dataset, and ensuring all columns are available regardless of horizontal scrolling. |
3606
+ *
3607
+ * Setting `renderAllColumns` to `true` overwrites the [`viewportColumnRenderingOffset`](#viewportColumnRenderingOffset) setting.
3605
3608
  *
3606
3609
  * Read more:
3607
- * - [Row virtualization](@/guides/columns/column-virtualization.md)
3610
+ * - [Column virtualization](@/guides/columns/column-virtualization.md)
3608
3611
  *
3609
3612
  * @since 14.1.0
3610
3613
  * @memberof Options#
@@ -4577,6 +4580,8 @@ export default (() => {
4577
4580
  * | `auto` (default) | Use the offset calculated automatically by Handsontable |
4578
4581
  * | A number | Set the offset manually |
4579
4582
  *
4583
+ * The `viewportColumnRenderingOffset` setting is ignored when [`renderAllColumns`](#renderAllColumns) is set to `true`.
4584
+ *
4580
4585
  * Read more:
4581
4586
  * - [Performance: Define the number of pre-rendered rows and columns](@/guides/optimization/performance.md#define-the-number-of-pre-rendered-rows-and-columns)
4582
4587
  *
@@ -4604,6 +4609,8 @@ export default (() => {
4604
4609
  * | `auto` (default) | Use the offset calculated automatically by Handsontable |
4605
4610
  * | A number | Set the offset manually |
4606
4611
  *
4612
+ * The `viewportRowRenderingOffset` setting is ignored when [`renderAllRows`](#renderAllRows) is set to `true`.
4613
+ *
4607
4614
  * Read more:
4608
4615
  * - [Performance: Define the number of pre-rendered rows and columns](@/guides/optimization/performance.md#define-the-number-of-pre-rendered-rows-and-columns)
4609
4616
  * - [Column virtualization](@/guides/columns/column-virtualization.md)
@@ -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-dbd8d56-20240110
29
- * Release date: 30/11/2023 (built at 10/01/2024 14:06:42)
28
+ * Version: 0.0.0-next-faee814-20240110
29
+ * Release date: 30/11/2023 (built at 10/01/2024 20:01:30)
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-dbd8d56-20240110
29
- * Release date: 30/11/2023 (built at 10/01/2024 14:06:42)
28
+ * Version: 0.0.0-next-faee814-20240110
29
+ * Release date: 30/11/2023 (built at 10/01/2024 20:01:30)
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-dbd8d56-20240110
29
- * Release date: 30/11/2023 (built at 10/01/2024 14:06:42)
28
+ * Version: 0.0.0-next-faee814-20240110
29
+ * Release date: 30/11/2023 (built at 10/01/2024 20:01:30)
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 = "10/01/2024 14:06:42";
43039
- Handsontable.version = "0.0.0-next-dbd8d56-20240110";
43038
+ Handsontable.buildDate = "10/01/2024 20:01:30";
43039
+ Handsontable.version = "0.0.0-next-faee814-20240110";
43040
43040
  Handsontable.languages = {
43041
43041
  dictionaryKeys: _registry.dictionaryKeys,
43042
43042
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -53162,7 +53162,7 @@ const domMessages = {
53162
53162
  function _injectProductInfo(key, element) {
53163
53163
  const hasValidType = !isEmpty(key);
53164
53164
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
53165
- const hotVersion = "0.0.0-next-dbd8d56-20240110";
53165
+ const hotVersion = "0.0.0-next-faee814-20240110";
53166
53166
  let keyValidityDate;
53167
53167
  let consoleMessageState = 'invalid';
53168
53168
  let domMessageState = 'invalid';
@@ -91277,14 +91277,15 @@ var _default = () => {
91277
91277
  */
91278
91278
  readOnlyCellClassName: 'htDimmed',
91279
91279
  /**
91280
- * The `renderAllRows` option configures Handsontable's [row virtualization](@/guides/rows/row-virtualization.md).
91280
+ * The `renderAllRows` option controls Handsontable's [row virtualization](@/guides/rows/row-virtualization.md).
91281
+ * You can configure it as follows:
91281
91282
  *
91282
- * You can set the `renderAllRows` option to one of the following:
91283
+ * | Setting | Description |
91284
+ * | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
91285
+ * | `false` (default) | Enable [row virtualization](@/guides/rows/row-virtualization.md), rendering only the visible rows for optimal performance with large datasets. |
91286
+ * | `true` | Disable [row virtualization](@/guides/rows/row-virtualization.md)<br>(render all rows of the grid), rendering all rows in the dataset for consistent rendering and screen reader accessibility. |
91283
91287
  *
91284
- * | Setting | Description |
91285
- * | ----------------- | -------------------------------------------------------------------------------------------------- |
91286
- * | `false` (default) | Enable [row virtualization](@/guides/rows/row-virtualization.md) |
91287
- * | `true` | Disable [row virtualization](@/guides/rows/row-virtualization.md)<br>(render all rows of the grid) |
91288
+ * Setting `renderAllRows` to `true` overwrites the [`viewportRowRenderingOffset`](#viewportRowRenderingOffset) setting.
91288
91289
  *
91289
91290
  * Read more:
91290
91291
  * - [Row virtualization](@/guides/rows/row-virtualization.md)
@@ -91306,13 +91307,15 @@ var _default = () => {
91306
91307
  *
91307
91308
  * You can set the `renderAllColumns` option to one of the following:
91308
91309
  *
91309
- * | Setting | Description |
91310
- * | ----------------- | -------------------------------------------------------------------------------------------------- |
91311
- * | `false` (default) | Enable [column virtualization](@/guides/columns/column-virtualization.md) |
91312
- * | `true` | Disable [column virtualization](@/guides/columns/column-virtualization.md)<br>(render all columns of the grid) |
91310
+ * | Setting | Description |
91311
+ * | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
91312
+ * | `false` (default) | Enable [column virtualization](@/guides/columns/column-virtualization.md), rendering only visible columns for better performance with many columns. |
91313
+ * | `true` | Disable [column virtualization](@/guides/columns/column-virtualization.md)<br>(render all columns of the grid), rendering all columns in the dataset, and ensuring all columns are available regardless of horizontal scrolling. |
91314
+ *
91315
+ * Setting `renderAllColumns` to `true` overwrites the [`viewportColumnRenderingOffset`](#viewportColumnRenderingOffset) setting.
91313
91316
  *
91314
91317
  * Read more:
91315
- * - [Row virtualization](@/guides/columns/column-virtualization.md)
91318
+ * - [Column virtualization](@/guides/columns/column-virtualization.md)
91316
91319
  *
91317
91320
  * @since 14.1.0
91318
91321
  * @memberof Options#
@@ -92285,6 +92288,8 @@ var _default = () => {
92285
92288
  * | `auto` (default) | Use the offset calculated automatically by Handsontable |
92286
92289
  * | A number | Set the offset manually |
92287
92290
  *
92291
+ * The `viewportColumnRenderingOffset` setting is ignored when [`renderAllColumns`](#renderAllColumns) is set to `true`.
92292
+ *
92288
92293
  * Read more:
92289
92294
  * - [Performance: Define the number of pre-rendered rows and columns](@/guides/optimization/performance.md#define-the-number-of-pre-rendered-rows-and-columns)
92290
92295
  *
@@ -92312,6 +92317,8 @@ var _default = () => {
92312
92317
  * | `auto` (default) | Use the offset calculated automatically by Handsontable |
92313
92318
  * | A number | Set the offset manually |
92314
92319
  *
92320
+ * The `viewportRowRenderingOffset` setting is ignored when [`renderAllRows`](#renderAllRows) is set to `true`.
92321
+ *
92315
92322
  * Read more:
92316
92323
  * - [Performance: Define the number of pre-rendered rows and columns](@/guides/optimization/performance.md#define-the-number-of-pre-rendered-rows-and-columns)
92317
92324
  * - [Column virtualization](@/guides/columns/column-virtualization.md)
@@ -92992,6 +92999,7 @@ var _defineProperty2 = _interopRequireDefault(__webpack_require__(455));
92992
92999
  var _object = __webpack_require__(450);
92993
93000
  var _utils = __webpack_require__(604);
92994
93001
  var _lazyFactoryMap = _interopRequireDefault(__webpack_require__(609));
93002
+ var _mixed = __webpack_require__(307);
92995
93003
  /* eslint-disable jsdoc/require-description-complete-sentence */
92996
93004
  /**
92997
93005
  * @class CellMeta
@@ -93153,7 +93161,11 @@ class CellMeta {
93153
93161
  const metas = [];
93154
93162
  const rows = Array.from(this.metas.values());
93155
93163
  for (let row = 0; row < rows.length; row++) {
93156
- metas.push(...rows[row].values());
93164
+ // Getting a meta for already added row (new row already exist - it has been added using `createRow` method).
93165
+ // However, is not ready until the first `getMeta` call (lazy loading).
93166
+ if ((0, _mixed.isDefined)(rows[row])) {
93167
+ metas.push(...rows[row].values());
93168
+ }
93157
93169
  }
93158
93170
  return metas;
93159
93171
  }
@@ -123468,7 +123480,15 @@ function _onModifyData2(physicalRow, visualColumn, valueHolder, ioMode) {
123468
123480
  sheet: this.sheetId
123469
123481
  };
123470
123482
  let cellValue = this.engine.getCellValue(address); // Date as an integer (Excel like date).
123471
- const cellMeta = this.hot.getCellMeta(visualRow, visualColumn);
123483
+
123484
+ // TODO: Workaround. We use HOT's `getCellsMeta` method instead of HOT's `getCellMeta` method. Getting cell meta
123485
+ // using the second method lead to execution of the `cells` method. Using the `getDataAtCell` (which may be useful)
123486
+ // in a callback to the `cells` method leads to triggering the `modifyData` hook. Thus, the `onModifyData` callback
123487
+ // is executed once again and it cause creation of an infinite loop.
123488
+ let cellMeta = this.hot.getCellsMeta().find(singleCellMeta => singleCellMeta.visualRow === visualRow && singleCellMeta.visualCol === visualColumn);
123489
+ if (cellMeta === undefined) {
123490
+ cellMeta = {};
123491
+ }
123472
123492
  if (cellMeta.type === 'date' && (0, _number.isNumeric)(cellValue)) {
123473
123493
  cellValue = (0, _utils.getDateFromExcelDate)(cellValue, cellMeta.dateFormat);
123474
123494
  }
@@ -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-dbd8d56-20240110
29
- * Release date: 30/11/2023 (built at 10/01/2024 14:07:01)
28
+ * Version: 0.0.0-next-faee814-20240110
29
+ * Release date: 30/11/2023 (built at 10/01/2024 20:01:48)
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