handsontable 0.0.0-next-d7edb4b-20240927 → 0.0.0-next-517ec9c-20240930

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.

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 = "27/09/2024 11:04:37";
49
- Handsontable.version = "0.0.0-next-d7edb4b-20240927";
48
+ Handsontable.buildDate = "30/09/2024 11:07:12";
49
+ Handsontable.version = "0.0.0-next-517ec9c-20240930";
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 = "27/09/2024 11:04:43";
39
- Handsontable.version = "0.0.0-next-d7edb4b-20240927";
38
+ Handsontable.buildDate = "30/09/2024 11:07:18";
39
+ Handsontable.version = "0.0.0-next-517ec9c-20240930";
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-d7edb4b-20240927
29
- * Release date: 30/07/2024 (built at 27/09/2024 11:04:47)
28
+ * Version: 0.0.0-next-517ec9c-20240930
29
+ * Release date: 30/07/2024 (built at 30/09/2024 11:07:23)
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-d7edb4b-20240927
29
- * Release date: 30/07/2024 (built at 27/09/2024 11:04:47)
28
+ * Version: 0.0.0-next-517ec9c-20240930
29
+ * Release date: 30/07/2024 (built at 30/09/2024 11:07:23)
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-d7edb4b-20240927
29
- * Release date: 30/07/2024 (built at 27/09/2024 11:04:47)
28
+ * Version: 0.0.0-next-517ec9c-20240930
29
+ * Release date: 30/07/2024 (built at 30/09/2024 11:07:23)
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 = "27/09/2024 11:04:47";
42679
- Handsontable.version = "0.0.0-next-d7edb4b-20240927";
42678
+ Handsontable.buildDate = "30/09/2024 11:07:23";
42679
+ Handsontable.version = "0.0.0-next-517ec9c-20240930";
42680
42680
  Handsontable.languages = {
42681
42681
  dictionaryKeys: _registry.dictionaryKeys,
42682
42682
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -53385,7 +53385,7 @@ const domMessages = {
53385
53385
  function _injectProductInfo(key, element) {
53386
53386
  const hasValidType = !isEmpty(key);
53387
53387
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
53388
- const hotVersion = "0.0.0-next-d7edb4b-20240927";
53388
+ const hotVersion = "0.0.0-next-517ec9c-20240930";
53389
53389
  let keyValidityDate;
53390
53390
  let consoleMessageState = 'invalid';
53391
53391
  let domMessageState = 'invalid';
@@ -116050,7 +116050,7 @@ function createKeyboardShortcutsCtrl(menu) {
116050
116050
  /**
116051
116051
  * Makes the specified context active.
116052
116052
  *
116053
- * @param {string} contextName The context name.
116053
+ * @param {string} [contextName] The context name.
116054
116054
  */
116055
116055
  function listen(contextName) {
116056
116056
  menu.hotMenu.getShortcutManager().setActiveContextName(_getContextName(contextName));
@@ -120349,6 +120349,7 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
120349
120349
  * :::
120350
120350
  */
120351
120351
  var _menuFocusNavigator = /*#__PURE__*/new WeakMap();
120352
+ var _dropdownMenuTraces = /*#__PURE__*/new WeakMap();
120352
120353
  var _Filters_brand = /*#__PURE__*/new WeakSet();
120353
120354
  class Filters extends _base.BasePlugin {
120354
120355
  static get PLUGIN_KEY() {
@@ -120412,6 +120413,12 @@ class Filters extends _base.BasePlugin {
120412
120413
  * @type {MenuFocusNavigator|undefined}
120413
120414
  */
120414
120415
  _classPrivateFieldInitSpec(this, _menuFocusNavigator, void 0);
120416
+ /**
120417
+ * Traces the new menu instances to apply the focus navigation to the latest one.
120418
+ *
120419
+ * @type {WeakSet<Menu>}
120420
+ */
120421
+ _classPrivateFieldInitSpec(this, _dropdownMenuTraces, new WeakSet());
120415
120422
  this.hot.addHook('afterGetColHeader', (col, TH) => _assertClassBrand(_Filters_brand, this, _onAfterGetColHeader).call(this, col, TH));
120416
120423
  }
120417
120424
 
@@ -120430,6 +120437,7 @@ class Filters extends _base.BasePlugin {
120430
120437
  * Enables the plugin functionality for this Handsontable instance.
120431
120438
  */
120432
120439
  enablePlugin() {
120440
+ var _this = this;
120433
120441
  if (this.enabled) {
120434
120442
  return;
120435
120443
  }
@@ -120491,7 +120499,13 @@ class Filters extends _base.BasePlugin {
120491
120499
  this.conditionUpdateObserver.addLocalHook('update', conditionState => _assertClassBrand(_Filters_brand, this, _updateComponents).call(this, conditionState));
120492
120500
  }
120493
120501
  this.components.forEach(component => component.show());
120494
- this.addHook('afterDropdownMenuDefaultOptions', defaultOptions => _assertClassBrand(_Filters_brand, this, _onAfterDropdownMenuDefaultOptions).call(this, defaultOptions));
120502
+ this.addHook('afterDropdownMenuDefaultOptions', function () {
120503
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
120504
+ args[_key] = arguments[_key];
120505
+ }
120506
+ return _assertClassBrand(_Filters_brand, _this, _onAfterDropdownMenuDefaultOptions).call(_this, ...args);
120507
+ });
120508
+ this.addHook('beforeDropdownMenuShow', () => _assertClassBrand(_Filters_brand, this, _onBeforeDropdownMenuShow).call(this));
120495
120509
  this.addHook('afterDropdownMenuShow', () => _assertClassBrand(_Filters_brand, this, _onAfterDropdownMenuShow).call(this));
120496
120510
  this.addHook('afterDropdownMenuHide', () => _assertClassBrand(_Filters_brand, this, _onAfterDropdownMenuHide).call(this));
120497
120511
  this.addHook('afterChange', changes => _assertClassBrand(_Filters_brand, this, _onAfterChange).call(this, changes));
@@ -120502,15 +120516,15 @@ class Filters extends _base.BasePlugin {
120502
120516
  this.dropdownMenuPlugin.enablePlugin();
120503
120517
  }
120504
120518
  if (!_classPrivateFieldGet(_menuFocusNavigator, this) && this.dropdownMenuPlugin.enabled) {
120505
- const mainMenu = this.dropdownMenuPlugin.menu;
120506
120519
  const focusableItems = [
120507
120520
  // A fake menu item that once focused allows escaping from the focus navigation (using Tab keys)
120508
120521
  // to the menu navigation using arrow keys.
120509
120522
  {
120510
120523
  focus: () => {
120511
- const menuNavigator = mainMenu.getNavigator();
120524
+ const menu = _classPrivateFieldGet(_menuFocusNavigator, this).getMenu();
120525
+ const menuNavigator = menu.getNavigator();
120512
120526
  const lastSelectedMenuItem = _classPrivateFieldGet(_menuFocusNavigator, this).getLastMenuPage();
120513
- mainMenu.focus();
120527
+ menu.focus();
120514
120528
  if (lastSelectedMenuItem > 0) {
120515
120529
  menuNavigator.setCurrentPage(lastSelectedMenuItem);
120516
120530
  } else {
@@ -120521,7 +120535,7 @@ class Filters extends _base.BasePlugin {
120521
120535
  let [, component] = _ref;
120522
120536
  return component.getElements();
120523
120537
  }).flat()];
120524
- _classPrivateFieldSet(_menuFocusNavigator, this, (0, _focusController.createMenuFocusController)(mainMenu, focusableItems));
120538
+ _classPrivateFieldSet(_menuFocusNavigator, this, (0, _focusController.createMenuFocusController)(this.dropdownMenuPlugin.menu, focusableItems));
120525
120539
  const forwardToFocusNavigation = event => {
120526
120540
  _classPrivateFieldGet(_menuFocusNavigator, this).listen();
120527
120541
  event.preventDefault();
@@ -120979,8 +120993,8 @@ class Filters extends _base.BasePlugin {
120979
120993
  return indexes;
120980
120994
  }
120981
120995
  const menu = this.dropdownMenuPlugin.menu;
120982
- for (var _len = arguments.length, components = new Array(_len), _key = 0; _key < _len; _key++) {
120983
- components[_key] = arguments[_key];
120996
+ for (var _len2 = arguments.length, components = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
120997
+ components[_key2] = arguments[_key2];
120984
120998
  }
120985
120999
  (0, _array.arrayEach)(components, component => {
120986
121000
  (0, _array.arrayEach)(menu.menuItems, (item, index) => {
@@ -121007,8 +121021,8 @@ class Filters extends _base.BasePlugin {
121007
121021
  const menu = this.dropdownMenuPlugin.menu;
121008
121022
  const hotMenu = menu.hotMenu;
121009
121023
  const hiddenRows = hotMenu.getPlugin('hiddenRows');
121010
- for (var _len2 = arguments.length, components = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
121011
- components[_key2 - 1] = arguments[_key2];
121024
+ for (var _len3 = arguments.length, components = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
121025
+ components[_key3 - 1] = arguments[_key3];
121012
121026
  }
121013
121027
  const indexes = this.getIndexesOfComponents(...components);
121014
121028
  if (visible) {
@@ -121026,8 +121040,8 @@ class Filters extends _base.BasePlugin {
121026
121040
  * @param {...BaseComponent} components List of components.
121027
121041
  */
121028
121042
  hideComponents() {
121029
- for (var _len3 = arguments.length, components = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
121030
- components[_key3] = arguments[_key3];
121043
+ for (var _len4 = arguments.length, components = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
121044
+ components[_key4] = arguments[_key4];
121031
121045
  }
121032
121046
  this.changeComponentsVisibility(false, ...components);
121033
121047
  }
@@ -121039,8 +121053,8 @@ class Filters extends _base.BasePlugin {
121039
121053
  * @param {...BaseComponent} components List of components.
121040
121054
  */
121041
121055
  showComponents() {
121042
- for (var _len4 = arguments.length, components = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
121043
- components[_key4] = arguments[_key4];
121056
+ for (var _len5 = arguments.length, components = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
121057
+ components[_key5] = arguments[_key5];
121044
121058
  }
121045
121059
  this.changeComponentsVisibility(true, ...components);
121046
121060
  }
@@ -121087,6 +121101,16 @@ function _onAfterDropdownMenuHide() {
121087
121101
  this.components.get('filter_by_condition').getSelectElement().closeOptions();
121088
121102
  this.components.get('filter_by_condition2').getSelectElement().closeOptions();
121089
121103
  }
121104
+ /**
121105
+ * Hooks applies the new dropdown menu instance to the focus navigator.
121106
+ */
121107
+ function _onBeforeDropdownMenuShow() {
121108
+ const mainMenu = this.dropdownMenuPlugin.menu;
121109
+ if (!_classPrivateFieldGet(_dropdownMenuTraces, this).has(mainMenu)) {
121110
+ _classPrivateFieldGet(_menuFocusNavigator, this).setMenu(mainMenu);
121111
+ }
121112
+ _classPrivateFieldGet(_dropdownMenuTraces, this).add(mainMenu);
121113
+ }
121090
121114
  /**
121091
121115
  * After dropdown menu default options listener.
121092
121116
  *
@@ -125220,10 +125244,11 @@ function createMenuFocusController(mainMenu, menuItems) {
125220
125244
  * into the focus mode triggered by the TAB or SHIFT+TAB keys).
125221
125245
  */
125222
125246
  let lastSelectedMenuItem = -1;
125247
+ let menuInstance;
125223
125248
  const focusNavigator = (0, _focusNavigator.createFocusNavigator)(menuItems);
125224
125249
  const updateNavigatorPosition = element => () => {
125225
- if (mainMenu.isOpened()) {
125226
- mainMenu.getKeyboardShortcutsCtrl().listen(SHORTCUTS_MENU_CONTEXT);
125250
+ if (menuInstance.isOpened()) {
125251
+ menuInstance.getKeyboardShortcutsCtrl().listen(SHORTCUTS_MENU_CONTEXT);
125227
125252
  }
125228
125253
  focusNavigator.setCurrentPage(menuItems.indexOf(element));
125229
125254
  };
@@ -125236,11 +125261,7 @@ function createMenuFocusController(mainMenu, menuItems) {
125236
125261
  element.addLocalHook('afterClose', updateNavigatorPosition(element));
125237
125262
  }
125238
125263
  });
125239
- mainMenu.addLocalHook('afterSelectionChange', selectedItem => {
125240
- if (!selectedItem.key.startsWith('filter_')) {
125241
- focusNavigator.clear();
125242
- }
125243
- });
125264
+ setMenu(mainMenu);
125244
125265
 
125245
125266
  /**
125246
125267
  * Extends the menu and submenus with new keyboard shortcuts.
@@ -125248,7 +125269,7 @@ function createMenuFocusController(mainMenu, menuItems) {
125248
125269
  * @param {*} menu The menu (as main menu or submenu) instance.
125249
125270
  */
125250
125271
  function addKeyboardShortcuts(menu) {
125251
- const mainMenuShortcutsCtrl = mainMenu.getKeyboardShortcutsCtrl();
125272
+ const mainMenuShortcutsCtrl = menuInstance.getKeyboardShortcutsCtrl();
125252
125273
  const currentMenuShortcutsCtrl = menu.getKeyboardShortcutsCtrl();
125253
125274
  focusNavigator.clear();
125254
125275
  currentMenuShortcutsCtrl.addCustomShortcuts([{
@@ -125267,7 +125288,7 @@ function createMenuFocusController(mainMenu, menuItems) {
125267
125288
  mainMenuShortcutsCtrl.addCustomShortcuts([{
125268
125289
  keys: [['Tab'], ['Shift', 'Tab']],
125269
125290
  callback: event => {
125270
- const menuNavigator = mainMenu.getNavigator();
125291
+ const menuNavigator = menuInstance.getNavigator();
125271
125292
  if (menuNavigator.getCurrentPage() > -1) {
125272
125293
  lastSelectedMenuItem = menuNavigator.getCurrentPage();
125273
125294
  }
@@ -125281,7 +125302,7 @@ function createMenuFocusController(mainMenu, menuItems) {
125281
125302
  }, {
125282
125303
  keys: [['Escape']],
125283
125304
  callback: () => {
125284
- mainMenu.close();
125305
+ menuInstance.close();
125285
125306
  }
125286
125307
  }, {
125287
125308
  keys: [['Enter'], ['Space']],
@@ -125302,16 +125323,39 @@ function createMenuFocusController(mainMenu, menuItems) {
125302
125323
  }
125303
125324
  }], SHORTCUTS_MENU_CONTEXT);
125304
125325
  }
125305
- mainMenu.addLocalHook('afterSubmenuOpen', addKeyboardShortcuts);
125306
- mainMenu.addLocalHook('afterOpen', addKeyboardShortcuts);
125307
125326
 
125308
125327
  /**
125309
125328
  * Focuses the menu and switches its shortcut context to that one which controls
125310
125329
  * the focus navigation.
125311
125330
  */
125312
125331
  function listen() {
125313
- mainMenu.focus();
125314
- mainMenu.getKeyboardShortcutsCtrl().listen(SHORTCUTS_MENU_CONTEXT);
125332
+ menuInstance.focus();
125333
+ menuInstance.getKeyboardShortcutsCtrl().listen(SHORTCUTS_MENU_CONTEXT);
125334
+ }
125335
+
125336
+ /**
125337
+ * Applies the focus controller to the new menu instance.
125338
+ *
125339
+ * @param {Menu} menu The new menu instance.
125340
+ */
125341
+ function setMenu(menu) {
125342
+ menu.addLocalHook('afterSelectionChange', selectedItem => {
125343
+ if (!selectedItem.key.startsWith('filter_')) {
125344
+ focusNavigator.clear();
125345
+ }
125346
+ });
125347
+ menu.addLocalHook('afterSubmenuOpen', addKeyboardShortcuts);
125348
+ menu.addLocalHook('afterOpen', addKeyboardShortcuts);
125349
+ menuInstance = menu;
125350
+ }
125351
+
125352
+ /**
125353
+ * Retrieves the current menu instance.
125354
+ *
125355
+ * @returns {Menu} The current menu instance.
125356
+ */
125357
+ function getMenu() {
125358
+ return menuInstance;
125315
125359
  }
125316
125360
 
125317
125361
  /**
@@ -125325,6 +125369,8 @@ function createMenuFocusController(mainMenu, menuItems) {
125325
125369
  return {
125326
125370
  ...focusNavigator,
125327
125371
  listen,
125372
+ setMenu,
125373
+ getMenu,
125328
125374
  getLastMenuPage
125329
125375
  };
125330
125376
  }
@@ -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-d7edb4b-20240927
29
- * Release date: 30/07/2024 (built at 27/09/2024 11:05:05)
28
+ * Version: 0.0.0-next-517ec9c-20240930
29
+ * Release date: 30/07/2024 (built at 30/09/2024 11:07:42)
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) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-left:1px solid #ccc;border-right-width:0}[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-left-width:0;border-right:1px solid #ccc}.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr:last-child th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr:last-child th{border-bottom-width:0}.handsontable th{background-color:#f0f0f0;color:#222;font-weight:400;text-align:center;white-space:nowrap}.handsontable thead th{padding:0}.handsontable th.active{background-color:#ccc}.handsontable thead th .relative{padding:2px 4px}.handsontable span.colHeader{display:inline-block;line-height:1.1}.handsontable .wtBorder{font-size:0;position:absolute}.handsontable .wtBorder.hidden{display:none!important}.handsontable .wtBorder.current{z-index:10}.handsontable .wtBorder.area{z-index:8}.handsontable .wtBorder.fill{z-index:6}.handsontable .wtBorder.corner{cursor:crosshair;font-size:0}.ht_clone_master{z-index:100}.ht_clone_inline_start{z-index:120}.ht_clone_bottom{z-index:130}.ht_clone_bottom_inline_start_corner{z-index:150}.ht_clone_top{z-index:160}.ht_clone_top_inline_start_corner{z-index:180}.handsontable col.hidden{width:0!important}.handsontable tr.hidden,.handsontable tr.hidden td,.handsontable tr.hidden th{display:none}.ht_clone_bottom,.ht_clone_inline_start,.ht_clone_top,.ht_master{overflow:hidden}.ht_master .wtHolder{overflow:auto}.handsontable .ht_clone_inline_start table.htCore>thead,.handsontable .ht_master table.htCore>tbody>tr>th,.handsontable .ht_master table.htCore>thead{visibility:hidden}.ht_clone_bottom .wtHolder,.ht_clone_inline_start .wtHolder,.ht_clone_top .wtHolder{overflow:hidden}.handsontable{color:#373737;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:13px;font-weight:400;touch-action:manipulation}.handsontable a{color:#104acc}.handsontable.htAutoSize{left:-99000px;position:absolute;top:-99000px;visibility:hidden}.handsontable td.htInvalid{background-color:#ffbeba!important}.handsontable td.htNoWrap{white-space:nowrap}.handsontable td.invisibleSelection,.handsontable th.invisibleSelection{outline:none}.handsontable td.invisibleSelection::selection,.handsontable th.invisibleSelection::selection{background:hsla(0,0%,100%,0)}.hot-display-license-info{color:#373737;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:10px;font-weight:400;padding:5px 0 3px;text-align:left}.hot-display-license-info a{color:#104acc;font-size:10px}.handsontable .htFocusCatcher{border:0;height:0;margin:0;opacity:0;padding:0;position:absolute;width:0;z-index:-1}.handsontable .manualColumnResizer{cursor:col-resize;height:25px;position:absolute;top:0;width:5px;z-index:210}.handsontable .manualRowResizer{cursor:row-resize;height:5px;left:0;position:absolute;width:50px;z-index:210}.handsontable .manualColumnResizer.active,.handsontable .manualColumnResizer:hover,.handsontable .manualRowResizer.active,.handsontable .manualRowResizer:hover{background-color:#34a9db}.handsontable .manualColumnResizerGuide{background-color:#34a9db;border-left:none;border-right:1px dashed #777;display:none;margin-left:5px;margin-right:unset;position:absolute;right:unset;top:0;width:0}[dir=rtl].handsontable .manualColumnResizerGuide{border-left:1px dashed #777;border-right:none;left:unset;margin-left:unset;margin-right:5px}.handsontable .manualRowResizerGuide{background-color:#34a9db;border-bottom:1px dashed #777;bottom:0;display:none;height:0;left:0;margin-top:5px;position:absolute}.handsontable .manualColumnResizerGuide.active,.handsontable .manualRowResizerGuide.active{display:block;z-index:209}.handsontable td.area,.handsontable td.area-1,.handsontable td.area-2,.handsontable td.area-3,.handsontable td.area-4,.handsontable td.area-5,.handsontable td.area-6,.handsontable td.area-7{position:relative}.handsontable td.area-1:before,.handsontable td.area-2:before,.handsontable td.area-3:before,.handsontable td.area-4:before,.handsontable td.area-5:before,.handsontable td.area-6:before,.handsontable td.area-7:before,.handsontable td.area:before{background:#005eff;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.handsontable td.area:before{opacity:.1}.handsontable td.area-1:before{opacity:.2}.handsontable td.area-2:before{opacity:.27}.handsontable td.area-3:before{opacity:.35}.handsontable td.area-4:before{opacity:.41}.handsontable td.area-5:before{opacity:.47}.handsontable td.area-6:before{opacity:.54}.handsontable td.area-7:before{opacity:.58}.handsontable tbody th.current,.handsontable thead th.current{box-shadow:inset 0 0 0 2px #4b89ff}.handsontable tbody th.ht__highlight,.handsontable thead th.ht__highlight{background-color:#dcdcdc}.handsontable tbody th.ht__active_highlight,.handsontable thead th.ht__active_highlight{background-color:#8eb0e7;color:#000}.handsontableInput{background-color:#fff;border:none;border-radius:0;box-shadow:inset 0 0 0 2px #5292f7;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;border:2px solid #4b89ff;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.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