handsontable 0.0.0-next-cecf979-20231026 → 0.0.0-next-50e428d-20231026

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.

@@ -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-cecf979-20231026
29
- * Release date: 31/08/2023 (built at 26/10/2023 11:29:36)
28
+ * Version: 0.0.0-next-50e428d-20231026
29
+ * Release date: 31/08/2023 (built at 26/10/2023 13:13:24)
30
30
  */
31
31
  (function webpackUniversalModuleDefinition(root, factory) {
32
32
  if(typeof exports === 'object' && typeof module === 'object')
@@ -42664,8 +42664,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
42664
42664
  Handsontable.CellCoords = _src.CellCoords;
42665
42665
  Handsontable.CellRange = _src.CellRange;
42666
42666
  Handsontable.packageName = 'handsontable';
42667
- Handsontable.buildDate = "26/10/2023 11:29:36";
42668
- Handsontable.version = "0.0.0-next-cecf979-20231026";
42667
+ Handsontable.buildDate = "26/10/2023 13:13:24";
42668
+ Handsontable.version = "0.0.0-next-50e428d-20231026";
42669
42669
  Handsontable.languages = {
42670
42670
  dictionaryKeys: _registry.dictionaryKeys,
42671
42671
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -43023,18 +43023,6 @@ function Core(rootElement, userSettings) {
43023
43023
  };
43024
43024
  this.columnIndexMapper.addLocalHook('cacheUpdated', onIndexMapperCacheUpdate);
43025
43025
  this.rowIndexMapper.addLocalHook('cacheUpdated', onIndexMapperCacheUpdate);
43026
- this.selection.addLocalHook('beforeHighlightSet', () => {
43027
- this.runHooks('beforeSelectionHighlightSet');
43028
- });
43029
- this.selection.addLocalHook('beforeSetRangeStart', cellCoords => {
43030
- this.runHooks('beforeSetRangeStart', cellCoords);
43031
- });
43032
- this.selection.addLocalHook('beforeSetRangeStartOnly', cellCoords => {
43033
- this.runHooks('beforeSetRangeStartOnly', cellCoords);
43034
- });
43035
- this.selection.addLocalHook('beforeSetRangeEnd', cellCoords => {
43036
- this.runHooks('beforeSetRangeEnd', cellCoords);
43037
- });
43038
43026
  this.selection.addLocalHook('afterSetRangeEnd', cellCoords => {
43039
43027
  const preventScrolling = (0, _object.createObjectPropListener)(false);
43040
43028
  const selectionRange = this.selection.getSelectedRange();
@@ -43123,54 +43111,78 @@ function Core(rootElement, userSettings) {
43123
43111
  isMultiple.value = changedIsMultiple;
43124
43112
  }
43125
43113
  });
43126
- this.selection.addLocalHook('beforeSelectColumns', function () {
43114
+ this.selection.addLocalHook('afterDeselect', () => {
43115
+ editorManager.destroyEditor();
43116
+ this._refreshBorders();
43117
+ (0, _element.removeClass)(this.rootElement, ['ht__selection--rows', 'ht__selection--columns']);
43118
+ this.runHooks('afterDeselect');
43119
+ });
43120
+ this.selection.addLocalHook('beforeHighlightSet', () => this.runHooks('beforeSelectionHighlightSet')).addLocalHook('beforeSetRangeStart', function () {
43127
43121
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
43128
43122
  args[_key] = arguments[_key];
43129
43123
  }
43130
- return _this.runHooks('beforeSelectColumns', ...args);
43131
- });
43132
- this.selection.addLocalHook('afterSelectColumns', function () {
43124
+ return _this.runHooks('beforeSetRangeStart', ...args);
43125
+ }).addLocalHook('beforeSetRangeStartOnly', function () {
43133
43126
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
43134
43127
  args[_key2] = arguments[_key2];
43135
43128
  }
43136
- return _this.runHooks('afterSelectColumns', ...args);
43137
- });
43138
- this.selection.addLocalHook('beforeSelectRows', function () {
43129
+ return _this.runHooks('beforeSetRangeStartOnly', ...args);
43130
+ }).addLocalHook('beforeSetRangeEnd', function () {
43139
43131
  for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
43140
43132
  args[_key3] = arguments[_key3];
43141
43133
  }
43142
- return _this.runHooks('beforeSelectRows', ...args);
43143
- });
43144
- this.selection.addLocalHook('afterSelectRows', function () {
43134
+ return _this.runHooks('beforeSetRangeEnd', ...args);
43135
+ }).addLocalHook('beforeSelectColumns', function () {
43145
43136
  for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
43146
43137
  args[_key4] = arguments[_key4];
43147
43138
  }
43139
+ return _this.runHooks('beforeSelectColumns', ...args);
43140
+ }).addLocalHook('afterSelectColumns', function () {
43141
+ for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
43142
+ args[_key5] = arguments[_key5];
43143
+ }
43144
+ return _this.runHooks('afterSelectColumns', ...args);
43145
+ }).addLocalHook('beforeSelectRows', function () {
43146
+ for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
43147
+ args[_key6] = arguments[_key6];
43148
+ }
43149
+ return _this.runHooks('beforeSelectRows', ...args);
43150
+ }).addLocalHook('afterSelectRows', function () {
43151
+ for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
43152
+ args[_key7] = arguments[_key7];
43153
+ }
43148
43154
  return _this.runHooks('afterSelectRows', ...args);
43149
- });
43150
- this.selection.addLocalHook('beforeModifyTransformStart', cellCoordsDelta => {
43151
- this.runHooks('modifyTransformStart', cellCoordsDelta);
43152
- });
43153
- this.selection.addLocalHook('afterModifyTransformStart', (coords, rowTransformDir, colTransformDir) => {
43154
- this.runHooks('afterModifyTransformStart', coords, rowTransformDir, colTransformDir);
43155
- });
43156
- this.selection.addLocalHook('beforeModifyTransformEnd', cellCoordsDelta => {
43157
- this.runHooks('modifyTransformEnd', cellCoordsDelta);
43158
- });
43159
- this.selection.addLocalHook('afterModifyTransformEnd', (coords, rowTransformDir, colTransformDir) => {
43160
- this.runHooks('afterModifyTransformEnd', coords, rowTransformDir, colTransformDir);
43161
- });
43162
- this.selection.addLocalHook('afterDeselect', () => {
43163
- editorManager.destroyEditor();
43164
- this._refreshBorders();
43165
- (0, _element.removeClass)(this.rootElement, ['ht__selection--rows', 'ht__selection--columns']);
43166
- this.runHooks('afterDeselect');
43167
- });
43168
- this.selection.addLocalHook('insertRowRequire', totalRows => {
43169
- this.alter('insert_row_above', totalRows, 1, 'auto');
43170
- });
43171
- this.selection.addLocalHook('insertColRequire', totalCols => {
43172
- this.alter('insert_col_start', totalCols, 1, 'auto');
43173
- });
43155
+ }).addLocalHook('beforeModifyTransformStart', function () {
43156
+ for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
43157
+ args[_key8] = arguments[_key8];
43158
+ }
43159
+ return _this.runHooks('modifyTransformStart', ...args);
43160
+ }).addLocalHook('afterModifyTransformStart', function () {
43161
+ for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {
43162
+ args[_key9] = arguments[_key9];
43163
+ }
43164
+ return _this.runHooks('afterModifyTransformStart', ...args);
43165
+ }).addLocalHook('beforeModifyTransformEnd', function () {
43166
+ for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {
43167
+ args[_key10] = arguments[_key10];
43168
+ }
43169
+ return _this.runHooks('modifyTransformEnd', ...args);
43170
+ }).addLocalHook('afterModifyTransformEnd', function () {
43171
+ for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {
43172
+ args[_key11] = arguments[_key11];
43173
+ }
43174
+ return _this.runHooks('afterModifyTransformEnd', ...args);
43175
+ }).addLocalHook('beforeRowWrap', function () {
43176
+ for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {
43177
+ args[_key12] = arguments[_key12];
43178
+ }
43179
+ return _this.runHooks('beforeRowWrap', ...args);
43180
+ }).addLocalHook('beforeColumnWrap', function () {
43181
+ for (var _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 < _len13; _key13++) {
43182
+ args[_key13] = arguments[_key13];
43183
+ }
43184
+ return _this.runHooks('beforeColumnWrap', ...args);
43185
+ }).addLocalHook('insertRowRequire', totalRows => this.alter('insert_row_above', totalRows, 1, 'auto')).addLocalHook('insertColRequire', totalCols => this.alter('insert_col_start', totalCols, 1, 'auto'));
43174
43186
  grid = {
43175
43187
  /**
43176
43188
  * Inserts or removes rows and columns.
@@ -44306,8 +44318,8 @@ function Core(rootElement, userSettings) {
44306
44318
  * @returns {Array} Returns removed portion of columns.
44307
44319
  */
44308
44320
  this.spliceCol = function (column, index, amount) {
44309
- for (var _len5 = arguments.length, elements = new Array(_len5 > 3 ? _len5 - 3 : 0), _key5 = 3; _key5 < _len5; _key5++) {
44310
- elements[_key5 - 3] = arguments[_key5];
44321
+ for (var _len14 = arguments.length, elements = new Array(_len14 > 3 ? _len14 - 3 : 0), _key14 = 3; _key14 < _len14; _key14++) {
44322
+ elements[_key14 - 3] = arguments[_key14];
44311
44323
  }
44312
44324
  return datamap.spliceCol(column, index, amount, ...elements);
44313
44325
  };
@@ -44324,8 +44336,8 @@ function Core(rootElement, userSettings) {
44324
44336
  * @returns {Array} Returns removed portion of rows.
44325
44337
  */
44326
44338
  this.spliceRow = function (row, index, amount) {
44327
- for (var _len6 = arguments.length, elements = new Array(_len6 > 3 ? _len6 - 3 : 0), _key6 = 3; _key6 < _len6; _key6++) {
44328
- elements[_key6 - 3] = arguments[_key6];
44339
+ for (var _len15 = arguments.length, elements = new Array(_len15 > 3 ? _len15 - 3 : 0), _key15 = 3; _key15 < _len15; _key15++) {
44340
+ elements[_key15 - 3] = arguments[_key15];
44329
44341
  }
44330
44342
  return datamap.spliceRow(row, index, amount, ...elements);
44331
44343
  };
@@ -45722,8 +45734,8 @@ function Core(rootElement, userSettings) {
45722
45734
  */
45723
45735
  this.spliceCellsMeta = function (visualIndex) {
45724
45736
  let deleteAmount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
45725
- for (var _len7 = arguments.length, cellMetaRows = new Array(_len7 > 2 ? _len7 - 2 : 0), _key7 = 2; _key7 < _len7; _key7++) {
45726
- cellMetaRows[_key7 - 2] = arguments[_key7];
45737
+ for (var _len16 = arguments.length, cellMetaRows = new Array(_len16 > 2 ? _len16 - 2 : 0), _key16 = 2; _key16 < _len16; _key16++) {
45738
+ cellMetaRows[_key16 - 2] = arguments[_key16];
45727
45739
  }
45728
45740
  if (cellMetaRows.length > 0 && !Array.isArray(cellMetaRows[0])) {
45729
45741
  throw new Error('The 3rd argument (cellMetaRows) has to be passed as an array of cell meta objects array.');
@@ -52754,7 +52766,7 @@ const domMessages = {
52754
52766
  function _injectProductInfo(key, element) {
52755
52767
  const hasValidType = !isEmpty(key);
52756
52768
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
52757
- const hotVersion = "0.0.0-next-cecf979-20231026";
52769
+ const hotVersion = "0.0.0-next-50e428d-20231026";
52758
52770
  let keyValidityDate;
52759
52771
  let consoleMessageState = 'invalid';
52760
52772
  let domMessageState = 'invalid';
@@ -63016,6 +63028,38 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
63016
63028
  * If set to `false`, the rendering gets triggered by scrolling or moving the selection.
63017
63029
  */
63018
63030
  'afterRender',
63031
+ /**
63032
+ * When the focus position is moved to the next or previous row caused by the {@link Options#autoWrapRow} option
63033
+ * the hook is triggered.
63034
+ *
63035
+ * @since 14.0.0
63036
+ * @event Hooks#beforeRowWrap
63037
+ * @param {boolean} isWrapEnabled Tells whether the row wrapping is going to happen.
63038
+ * There may be situations where the option does not work even though it is enabled.
63039
+ * This is due to the priority of other options that may block the feature.
63040
+ * For example, when the {@link Options#minSpareCols} is defined, the {@link Options#autoWrapRow} option is not checked.
63041
+ * Thus, row wrapping is off.
63042
+ * @param {CellCoords} newCoords The new focus position.
63043
+ * @param {boolean} isFlipped `true` if the row index was flipped, `false` otherwise.
63044
+ * Flipped index means that the user reached the last row and the focus is moved to the first row or vice versa.
63045
+ */
63046
+ 'beforeRowWrap',
63047
+ /**
63048
+ * When the focus position is moved to the next or previous column caused by the {@link Options#autoWrapCol} option
63049
+ * the hook is triggered.
63050
+ *
63051
+ * @since 14.0.0
63052
+ * @event Hooks#beforeColumnWrap
63053
+ * @param {boolean} isWrapEnabled Tells whether the column wrapping is going to happen.
63054
+ * There may be situations where the option does not work even though it is enabled.
63055
+ * This is due to the priority of other options that may block the feature.
63056
+ * For example, when the {@link Options#minSpareRows} is defined, the {@link Options#autoWrapCol} option is not checked.
63057
+ * Thus, column wrapping is off.
63058
+ * @param {CellCoords} newCoords The new focus position.
63059
+ * @param {boolean} isFlipped `true` if the column index was flipped, `false` otherwise.
63060
+ * Flipped index means that the user reached the last column and the focus is moved to the first column or vice versa.
63061
+ */
63062
+ 'beforeColumnWrap',
63019
63063
  /**
63020
63064
  * Fired before cell meta is changed.
63021
63065
  *
@@ -68615,6 +68659,15 @@ class CellCoords {
68615
68659
  return this.row >= 0 && this.col >= 0;
68616
68660
  }
68617
68661
 
68662
+ /**
68663
+ * Checks if the coordinates runs in RTL mode.
68664
+ *
68665
+ * @returns {boolean}
68666
+ */
68667
+ isRtl() {
68668
+ return (0, _classPrivateFieldGet2.default)(this, _isRtl);
68669
+ }
68670
+
68618
68671
  /**
68619
68672
  * Checks if another set of coordinates (`testedCoords`)
68620
68673
  * is south-east of the coordinates in your `CellCoords` instance.
@@ -68672,6 +68725,26 @@ class CellCoords {
68672
68725
  return this;
68673
68726
  }
68674
68727
 
68728
+ /**
68729
+ * Assigns the coordinates from another `CellCoords` instance (or compatible literal object)
68730
+ * to your `CellCoords` instance.
68731
+ *
68732
+ * @param {CellCoords | { row?: number, col?: number }} coords The CellCoords instance or compatible literal object.
68733
+ * @returns {CellCoords}
68734
+ */
68735
+ assign(coords) {
68736
+ if (Number.isInteger(coords === null || coords === void 0 ? void 0 : coords.row)) {
68737
+ this.row = coords.row;
68738
+ }
68739
+ if (Number.isInteger(coords === null || coords === void 0 ? void 0 : coords.col)) {
68740
+ this.col = coords.col;
68741
+ }
68742
+ if (coords instanceof CellCoords) {
68743
+ (0, _classPrivateFieldSet2.default)(this, _isRtl, coords.isRtl());
68744
+ }
68745
+ return this;
68746
+ }
68747
+
68675
68748
  /**
68676
68749
  * Clones your `CellCoords` instance.
68677
68750
  *
@@ -82880,6 +82953,18 @@ class Selection {
82880
82953
  }
82881
82954
  return _this.runLocalHooks('insertColRequire', ...args);
82882
82955
  });
82956
+ this.transformation.addLocalHook('beforeRowWrap', function () {
82957
+ for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
82958
+ args[_key7] = arguments[_key7];
82959
+ }
82960
+ return _this.runLocalHooks('beforeRowWrap', ...args);
82961
+ });
82962
+ this.transformation.addLocalHook('beforeColumnWrap', function () {
82963
+ for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
82964
+ args[_key8] = arguments[_key8];
82965
+ }
82966
+ return _this.runLocalHooks('beforeColumnWrap', ...args);
82967
+ });
82883
82968
  }
82884
82969
 
82885
82970
  /**
@@ -84732,7 +84817,7 @@ class Transformation {
84732
84817
  * Translates the visual coordinates to zero-based ones.
84733
84818
  *
84734
84819
  * @param {CellCoords} visualCoords The visual coords to process.
84735
- * @returns {{x: number, y: number}}
84820
+ * @returns {CellCoords}
84736
84821
  */
84737
84822
  _classPrivateMethodInitSpec(this, _visualToZeroBasedCoords);
84738
84823
  /**
@@ -84819,56 +84904,60 @@ class Transformation {
84819
84904
  height
84820
84905
  } = _classPrivateMethodGet(this, _getTableSize, _getTableSize2).call(this);
84821
84906
  const {
84822
- x,
84823
- y
84907
+ row,
84908
+ col
84824
84909
  } = _classPrivateMethodGet(this, _visualToZeroBasedCoords, _visualToZeroBasedCoords2).call(this, visualCoords);
84825
84910
  const fixedRowsBottom = (0, _classPrivateFieldGet2.default)(this, _options).fixedRowsBottom();
84826
84911
  const minSpareRows = (0, _classPrivateFieldGet2.default)(this, _options).minSpareRows();
84827
84912
  const minSpareCols = (0, _classPrivateFieldGet2.default)(this, _options).minSpareCols();
84828
84913
  const autoWrapRow = (0, _classPrivateFieldGet2.default)(this, _options).autoWrapRow();
84829
84914
  const autoWrapCol = (0, _classPrivateFieldGet2.default)(this, _options).autoWrapCol();
84830
- const rawCoords = {
84831
- row: y + delta.row,
84832
- col: x + delta.col
84833
- };
84834
- if (rawCoords.row >= height) {
84835
- if (createMissingRecords && minSpareRows > 0 && fixedRowsBottom === 0) {
84915
+ const zeroBasedCoords = (0, _classPrivateFieldGet2.default)(this, _options).createCellCoords(row + delta.row, col + delta.col);
84916
+ if (zeroBasedCoords.row >= height) {
84917
+ const autoInsertingMode = createMissingRecords && minSpareRows > 0 && fixedRowsBottom === 0;
84918
+ const isWrapEnabled = !autoInsertingMode && autoWrapCol;
84919
+ const nextColumn = zeroBasedCoords.col + 1;
84920
+ const newCoords = (0, _classPrivateFieldGet2.default)(this, _options).createCellCoords(zeroBasedCoords.row - height, nextColumn >= width ? nextColumn - width : nextColumn);
84921
+ this.runLocalHooks('beforeColumnWrap', isWrapEnabled, _classPrivateMethodGet(this, _zeroBasedToVisualCoords, _zeroBasedToVisualCoords2).call(this, newCoords), nextColumn >= width);
84922
+ if (autoInsertingMode) {
84836
84923
  this.runLocalHooks('insertRowRequire', (0, _classPrivateFieldGet2.default)(this, _options).countRenderableRows());
84837
- } else if (autoWrapCol) {
84838
- const nextColumn = rawCoords.col + 1;
84839
- rawCoords.row = rawCoords.row - height;
84840
- rawCoords.col = nextColumn >= width ? nextColumn - width : nextColumn;
84924
+ } else if (isWrapEnabled) {
84925
+ zeroBasedCoords.assign(newCoords);
84841
84926
  }
84842
- } else if (rawCoords.row < 0) {
84927
+ } else if (zeroBasedCoords.row < 0) {
84928
+ const previousColumn = zeroBasedCoords.col - 1;
84929
+ const newCoords = (0, _classPrivateFieldGet2.default)(this, _options).createCellCoords(height + zeroBasedCoords.row, previousColumn < 0 ? width + previousColumn : previousColumn);
84930
+ this.runLocalHooks('beforeColumnWrap', autoWrapCol, _classPrivateMethodGet(this, _zeroBasedToVisualCoords, _zeroBasedToVisualCoords2).call(this, newCoords), previousColumn < 0);
84843
84931
  if (autoWrapCol) {
84844
- const previousColumn = rawCoords.col - 1;
84845
- rawCoords.row = height + rawCoords.row;
84846
- rawCoords.col = previousColumn < 0 ? width + previousColumn : previousColumn;
84932
+ zeroBasedCoords.assign(newCoords);
84847
84933
  }
84848
84934
  }
84849
- if (rawCoords.col >= width) {
84850
- if (createMissingRecords && minSpareCols > 0) {
84935
+ if (zeroBasedCoords.col >= width) {
84936
+ const autoInsertingMode = createMissingRecords && minSpareCols > 0;
84937
+ const isWrapEnabled = !autoInsertingMode && autoWrapRow;
84938
+ const nextRow = zeroBasedCoords.row + 1;
84939
+ const newCoords = (0, _classPrivateFieldGet2.default)(this, _options).createCellCoords(nextRow >= height ? nextRow - height : nextRow, zeroBasedCoords.col - width);
84940
+ this.runLocalHooks('beforeRowWrap', isWrapEnabled, _classPrivateMethodGet(this, _zeroBasedToVisualCoords, _zeroBasedToVisualCoords2).call(this, newCoords), nextRow >= height);
84941
+ if (autoInsertingMode) {
84851
84942
  this.runLocalHooks('insertColRequire', (0, _classPrivateFieldGet2.default)(this, _options).countRenderableColumns());
84852
- } else if (autoWrapRow) {
84853
- const nextRow = rawCoords.row + 1;
84854
- rawCoords.row = nextRow >= height ? nextRow - height : nextRow;
84855
- rawCoords.col = rawCoords.col - width;
84943
+ } else if (isWrapEnabled) {
84944
+ zeroBasedCoords.assign(newCoords);
84856
84945
  }
84857
- } else if (rawCoords.col < 0) {
84946
+ } else if (zeroBasedCoords.col < 0) {
84947
+ const previousRow = zeroBasedCoords.row - 1;
84948
+ const newCoords = (0, _classPrivateFieldGet2.default)(this, _options).createCellCoords(previousRow < 0 ? height + previousRow : previousRow, width + zeroBasedCoords.col);
84949
+ this.runLocalHooks('beforeRowWrap', autoWrapRow, _classPrivateMethodGet(this, _zeroBasedToVisualCoords, _zeroBasedToVisualCoords2).call(this, newCoords), previousRow < 0);
84858
84950
  if (autoWrapRow) {
84859
- const previousRow = rawCoords.row - 1;
84860
- rawCoords.row = previousRow < 0 ? height + previousRow : previousRow;
84861
- rawCoords.col = width + rawCoords.col;
84951
+ zeroBasedCoords.assign(newCoords);
84862
84952
  }
84863
84953
  }
84864
- const coords = (0, _classPrivateFieldGet2.default)(this, _options).createCellCoords(rawCoords.row, rawCoords.col);
84865
84954
  const {
84866
84955
  rowDir,
84867
84956
  colDir
84868
- } = _classPrivateMethodGet(this, _clampCoords, _clampCoords2).call(this, coords);
84957
+ } = _classPrivateMethodGet(this, _clampCoords, _clampCoords2).call(this, zeroBasedCoords);
84869
84958
  rowTransformDir = rowDir;
84870
84959
  colTransformDir = colDir;
84871
- visualCoords = _classPrivateMethodGet(this, _zeroBasedToVisualCoords, _zeroBasedToVisualCoords2).call(this, coords);
84960
+ visualCoords = _classPrivateMethodGet(this, _zeroBasedToVisualCoords, _zeroBasedToVisualCoords2).call(this, zeroBasedCoords);
84872
84961
  }
84873
84962
  this.runLocalHooks('afterTransformStart', visualCoords, rowTransformDir, colTransformDir);
84874
84963
  return visualCoords;
@@ -84895,14 +84984,10 @@ class Transformation {
84895
84984
  this.runLocalHooks('beforeTransformEnd', delta);
84896
84985
  if (highlightRenderableCoords.row !== null && highlightRenderableCoords.col !== null) {
84897
84986
  const {
84898
- x,
84899
- y
84987
+ row,
84988
+ col
84900
84989
  } = _classPrivateMethodGet(this, _visualToZeroBasedCoords, _visualToZeroBasedCoords2).call(this, cellRange.to);
84901
- const rawCoords = {
84902
- row: y + delta.row,
84903
- col: x + delta.col
84904
- };
84905
- const coords = (0, _classPrivateFieldGet2.default)(this, _options).createCellCoords(rawCoords.row, rawCoords.col);
84990
+ const coords = (0, _classPrivateFieldGet2.default)(this, _options).createCellCoords(row + delta.row, col + delta.col);
84906
84991
  const {
84907
84992
  rowDir,
84908
84993
  colDir
@@ -84970,15 +85055,13 @@ function _visualToZeroBasedCoords2(visualCoords) {
84970
85055
  row,
84971
85056
  col
84972
85057
  } = (0, _classPrivateFieldGet2.default)(this, _options).visualToRenderableCoords(visualCoords);
84973
- return {
84974
- x: (0, _classPrivateFieldGet2.default)(this, _offset).x + col,
84975
- y: (0, _classPrivateFieldGet2.default)(this, _offset).y + row
84976
- };
85058
+ return (0, _classPrivateFieldGet2.default)(this, _options).createCellCoords((0, _classPrivateFieldGet2.default)(this, _offset).y + row, (0, _classPrivateFieldGet2.default)(this, _offset).x + col);
84977
85059
  }
84978
85060
  function _zeroBasedToVisualCoords2(zeroBasedCoords) {
84979
- zeroBasedCoords.col = zeroBasedCoords.col - (0, _classPrivateFieldGet2.default)(this, _offset).x;
84980
- zeroBasedCoords.row = zeroBasedCoords.row - (0, _classPrivateFieldGet2.default)(this, _offset).y;
84981
- return (0, _classPrivateFieldGet2.default)(this, _options).renderableToVisualCoords(zeroBasedCoords);
85061
+ const coords = zeroBasedCoords.clone();
85062
+ coords.col = zeroBasedCoords.col - (0, _classPrivateFieldGet2.default)(this, _offset).x;
85063
+ coords.row = zeroBasedCoords.row - (0, _classPrivateFieldGet2.default)(this, _offset).y;
85064
+ return (0, _classPrivateFieldGet2.default)(this, _options).renderableToVisualCoords(coords);
84982
85065
  }
84983
85066
  (0, _object.mixin)(Transformation, _localHooks.default);
84984
85067
  var _default = Transformation;
@@ -92719,46 +92802,52 @@ function installFocusCatcher(hot) {
92719
92802
  hot.listen();
92720
92803
  }
92721
92804
  });
92805
+ const rowWrapState = {
92806
+ wrapped: false,
92807
+ flipped: false
92808
+ };
92722
92809
  hot.addHook('afterListen', () => deactivate());
92723
92810
  hot.addHook('afterUnlisten', () => activate());
92724
92811
  hot.addHook('afterSelection', () => {
92725
92812
  var _hot$getSelectedRange;
92726
92813
  recentlyAddedFocusCoords = (_hot$getSelectedRange = hot.getSelectedRangeLast()) === null || _hot$getSelectedRange === void 0 ? void 0 : _hot$getSelectedRange.highlight;
92727
92814
  });
92815
+ hot.addHook('beforeRowWrap', (isWrapEnabled, newCoords, isFlipped) => {
92816
+ rowWrapState.wrapped = true;
92817
+ rowWrapState.flipped = isFlipped;
92818
+ });
92819
+
92820
+ /**
92821
+ * Unselects the cell and deactivates the table.
92822
+ */
92823
+ function deactivateTable() {
92824
+ rowWrapState.wrapped = false;
92825
+ rowWrapState.flipped = false;
92826
+ hot.deselectCell();
92827
+ hot.unlisten();
92828
+ }
92728
92829
  hot.getShortcutManager().getContext('grid').addShortcut({
92729
92830
  keys: [['Tab'], ['Shift', 'Tab']],
92730
92831
  callback: event => {
92731
- var _hot$getSelectedRange2;
92732
92832
  const {
92733
92833
  disableTabNavigation,
92734
92834
  autoWrapRow
92735
92835
  } = hot.getSettings();
92736
- if (disableTabNavigation) {
92737
- hot.deselectCell();
92738
- hot.unlisten();
92836
+ if (disableTabNavigation || !hot.selection.isSelected() || autoWrapRow && rowWrapState.wrapped && rowWrapState.flipped || !autoWrapRow && rowWrapState.wrapped) {
92837
+ if (autoWrapRow && rowWrapState.wrapped && rowWrapState.flipped) {
92838
+ recentlyAddedFocusCoords = event.shiftKey ? getMostTopStartPosition(hot) : getMostBottomEndPosition(hot);
92839
+ }
92840
+ deactivateTable();
92739
92841
  return false;
92740
92842
  }
92741
- const isSelected = hot.selection.isSelected();
92742
- const highlight = (_hot$getSelectedRange2 = hot.getSelectedRangeLast()) === null || _hot$getSelectedRange2 === void 0 ? void 0 : _hot$getSelectedRange2.highlight;
92743
- const mostTopStartCoords = getMostTopStartPosition(hot);
92744
- const mostBottomEndCoords = getMostBottomEndPosition(hot);
92745
92843
 
92746
- // For disabled `autoWrapRow` option set the row to the same position as the currently selected row.
92747
- if (!autoWrapRow) {
92748
- mostTopStartCoords.row = highlight.row;
92749
- mostBottomEndCoords.row = highlight.row;
92750
- }
92751
- if (event.shiftKey && (!isSelected || highlight.isEqual(mostTopStartCoords)) || !event.shiftKey && (!isSelected || highlight.isEqual(mostBottomEndCoords))) {
92752
- hot.deselectCell();
92753
- hot.unlisten();
92754
- return false;
92755
- }
92756
- return true;
92844
+ // if the selection is still within the table's range then prevent default action
92845
+ event.preventDefault();
92757
92846
  },
92758
92847
  runOnlyIf: () => !hot.getSettings().minSpareCols,
92759
92848
  preventDefault: false,
92760
92849
  stopPropagation: false,
92761
- position: 'before',
92850
+ position: 'after',
92762
92851
  relativeToGroup: _shortcutContexts.GRID_GROUP,
92763
92852
  group: 'focusCatcher'
92764
92853
  });
@@ -94154,9 +94243,13 @@ function shortcutsGridContext(hot) {
94154
94243
  callback: () => commandsPool.extendCellsSelectionDownByViewportHeight()
94155
94244
  }, {
94156
94245
  keys: [['Tab']],
94246
+ // The property value is controlled by focusCatcher module (https://github.com/handsontable/handsontable/blob/master/handsontable/src/core/focusCatcher/index.js)
94247
+ preventDefault: false,
94157
94248
  callback: () => commandsPool.moveCellSelectionInlineStart()
94158
94249
  }, {
94159
94250
  keys: [['Shift', 'Tab']],
94251
+ // The property value is controlled by focusCatcher module (https://github.com/handsontable/handsontable/blob/master/handsontable/src/core/focusCatcher/index.js)
94252
+ preventDefault: false,
94160
94253
  callback: () => commandsPool.moveCellSelectionInlineEnd()
94161
94254
  }, {
94162
94255
  keys: [['Control/Meta', 'Backspace']],
@@ -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-cecf979-20231026
29
- * Release date: 31/08/2023 (built at 26/10/2023 11:30:04)
28
+ * Version: 0.0.0-next-50e428d-20231026
29
+ * Release date: 31/08/2023 (built at 26/10/2023 13:13:59)
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 thead,.handsontable .ht_master thead,.handsontable .ht_master tr th{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):after{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