handsontable 0.0.0-next-7b93b7d-20231107 → 0.0.0-next-5f253b5-20231108

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.

Files changed (42) hide show
  1. package/3rdparty/walkontable/src/cell/coords.js +7 -5
  2. package/3rdparty/walkontable/src/cell/coords.mjs +7 -5
  3. package/base.js +2 -2
  4. package/base.mjs +2 -2
  5. package/dist/handsontable.css +2 -2
  6. package/dist/handsontable.full.css +2 -2
  7. package/dist/handsontable.full.js +102 -51
  8. package/dist/handsontable.full.min.css +2 -2
  9. package/dist/handsontable.full.min.js +10 -10
  10. package/dist/handsontable.js +102 -51
  11. package/dist/handsontable.min.css +2 -2
  12. package/dist/handsontable.min.js +10 -10
  13. package/helpers/mixed.js +1 -1
  14. package/helpers/mixed.mjs +1 -1
  15. package/package.json +1 -1
  16. package/plugins/autofill/autofill.d.ts +0 -1
  17. package/plugins/autofill/autofill.js +1 -0
  18. package/plugins/autofill/autofill.mjs +1 -0
  19. package/plugins/base/base.js +4 -6
  20. package/plugins/base/base.mjs +4 -6
  21. package/plugins/columnSorting/columnSorting.js +2 -1
  22. package/plugins/columnSorting/columnSorting.mjs +2 -1
  23. package/plugins/contextMenu/contextMenu.js +5 -1
  24. package/plugins/contextMenu/contextMenu.mjs +5 -1
  25. package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
  26. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +1 -1
  27. package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
  28. package/plugins/contextMenu/predefinedItems/removeRow.mjs +1 -1
  29. package/plugins/customBorders/customBorders.js +8 -2
  30. package/plugins/customBorders/customBorders.mjs +8 -2
  31. package/plugins/dropdownMenu/dropdownMenu.js +4 -2
  32. package/plugins/dropdownMenu/dropdownMenu.mjs +4 -2
  33. package/plugins/multiColumnSorting/multiColumnSorting.js +2 -1
  34. package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -1
  35. package/plugins/nestedRows/nestedRows.js +12 -4
  36. package/plugins/nestedRows/nestedRows.mjs +12 -4
  37. package/selection/selection.js +25 -7
  38. package/selection/selection.mjs +25 -7
  39. package/selection/utils.js +24 -14
  40. package/selection/utils.mjs +25 -15
  41. package/shortcuts/manager.js +1 -1
  42. package/shortcuts/manager.mjs +1 -1
@@ -25,8 +25,8 @@
25
25
  * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
26
26
  * USE OR INABILITY TO USE THIS SOFTWARE.
27
27
  *
28
- * Version: 0.0.0-next-7b93b7d-20231107
29
- * Release date: 31/08/2023 (built at 07/11/2023 14:24:49)
28
+ * Version: 0.0.0-next-5f253b5-20231108
29
+ * Release date: 31/08/2023 (built at 08/11/2023 12:10:16)
30
30
  */
31
31
  (function webpackUniversalModuleDefinition(root, factory) {
32
32
  if(typeof exports === 'object' && typeof module === 'object')
@@ -105,8 +105,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
105
105
  Handsontable.CellCoords = _src.CellCoords;
106
106
  Handsontable.CellRange = _src.CellRange;
107
107
  Handsontable.packageName = 'handsontable';
108
- Handsontable.buildDate = "07/11/2023 14:24:49";
109
- Handsontable.version = "0.0.0-next-7b93b7d-20231107";
108
+ Handsontable.buildDate = "08/11/2023 12:10:16";
109
+ Handsontable.version = "0.0.0-next-5f253b5-20231108";
110
110
  Handsontable.languages = {
111
111
  dictionaryKeys: _registry.dictionaryKeys,
112
112
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -8528,7 +8528,7 @@ const domMessages = {
8528
8528
  function _injectProductInfo(key, element) {
8529
8529
  const hasValidType = !isEmpty(key);
8530
8530
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
8531
- const hotVersion = "0.0.0-next-7b93b7d-20231107";
8531
+ const hotVersion = "0.0.0-next-5f253b5-20231108";
8532
8532
  let keyValidityDate;
8533
8533
  let consoleMessageState = 'invalid';
8534
8534
  let domMessageState = 'invalid';
@@ -17588,6 +17588,8 @@ class CellCoords {
17588
17588
  */
17589
17589
  (0, _defineProperty2.default)(this, "col", null);
17590
17590
  /**
17591
+ * A flag which determines if the coordinates run in RTL mode.
17592
+ *
17591
17593
  * @type {boolean}
17592
17594
  */
17593
17595
  _classPrivateFieldInitSpec(this, _isRtl, {
@@ -17648,17 +17650,17 @@ class CellCoords {
17648
17650
  }
17649
17651
 
17650
17652
  /**
17651
- * Checks if another set of coordinates (`cellCoords`)
17653
+ * Checks if another set of coordinates (`coords`)
17652
17654
  * is equal to the coordinates in your `CellCoords` instance.
17653
17655
  *
17654
- * @param {CellCoords} cellCoords Coordinates to check.
17656
+ * @param {CellCoords} coords Coordinates to check.
17655
17657
  * @returns {boolean}
17656
17658
  */
17657
- isEqual(cellCoords) {
17658
- if (cellCoords === this) {
17659
+ isEqual(coords) {
17660
+ if (coords === this) {
17659
17661
  return true;
17660
17662
  }
17661
- return this.row === cellCoords.row && this.col === cellCoords.col;
17663
+ return this.row === coords.row && this.col === coords.col;
17662
17664
  }
17663
17665
 
17664
17666
  /**
@@ -31996,7 +31998,6 @@ __webpack_require__(78);
31996
31998
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(121));
31997
31999
  var _classPrivateFieldSet2 = _interopRequireDefault(__webpack_require__(136));
31998
32000
  var _classPrivateFieldGet2 = _interopRequireDefault(__webpack_require__(133));
31999
- var _src = __webpack_require__(147);
32000
32001
  var _highlight = _interopRequireWildcard(__webpack_require__(248));
32001
32002
  var _range = _interopRequireDefault(__webpack_require__(259));
32002
32003
  var _object = __webpack_require__(117);
@@ -32546,6 +32547,18 @@ class Selection {
32546
32547
  return this.settings.fillHandle && !this.tableProps.isEditorOpened() && !this.isMultiple();
32547
32548
  }
32548
32549
 
32550
+ /**
32551
+ * Returns `true` if the cell coordinates are visible (renderable).
32552
+ *
32553
+ * @private
32554
+ * @param {CellCoords} coords The cell coordinates to check.
32555
+ * @returns {boolean}
32556
+ */
32557
+ isCellVisible(coords) {
32558
+ const renderableCoords = this.tableProps.visualToRenderableCoords(coords);
32559
+ return renderableCoords.row !== null && renderableCoords.col !== null;
32560
+ }
32561
+
32549
32562
  /**
32550
32563
  * Returns `true` if the area corner should be visible.
32551
32564
  *
@@ -32648,6 +32661,7 @@ class Selection {
32648
32661
  * @returns {boolean} Returns `true` if selection was successful, `false` otherwise.
32649
32662
  */
32650
32663
  selectCells(selectionRanges) {
32664
+ var _this2 = this;
32651
32665
  const selectionType = (0, _utils.detectSelectionType)(selectionRanges);
32652
32666
  if (selectionType === _utils.SELECTION_TYPE_EMPTY) {
32653
32667
  return false;
@@ -32657,6 +32671,12 @@ class Selection {
32657
32671
  columnEnd/columnPropEnd]]) or as an array of CellRange objects.`);
32658
32672
  }
32659
32673
  const selectionSchemaNormalizer = (0, _utils.normalizeSelectionFactory)(selectionType, {
32674
+ createCellCoords: function () {
32675
+ return _this2.tableProps.createCellCoords(...arguments);
32676
+ },
32677
+ createCellRange: function () {
32678
+ return _this2.tableProps.createCellRange(...arguments);
32679
+ },
32660
32680
  propToCol: prop => this.tableProps.propToCol(prop),
32661
32681
  keepDirection: true
32662
32682
  });
@@ -32709,9 +32729,9 @@ class Selection {
32709
32729
  const countCols = this.tableProps.countCols();
32710
32730
  const countColHeaders = this.tableProps.countColHeaders();
32711
32731
  const columnHeaderLastIndex = countColHeaders === 0 ? 0 : -countColHeaders;
32712
- const fromCoords = new _src.CellCoords(columnHeaderLastIndex, start);
32713
- const toCoords = new _src.CellCoords(countRows - 1, end);
32714
- const isValid = new _src.CellRange(fromCoords, fromCoords, toCoords).isValid({
32732
+ const fromCoords = this.tableProps.createCellCoords(columnHeaderLastIndex, start);
32733
+ const toCoords = this.tableProps.createCellCoords(countRows - 1, end);
32734
+ const isValid = this.tableProps.createCellRange(fromCoords, fromCoords, toCoords).isValid({
32715
32735
  countRows,
32716
32736
  countCols,
32717
32737
  countRowHeaders: 0,
@@ -32754,9 +32774,9 @@ class Selection {
32754
32774
  const countCols = this.tableProps.countCols();
32755
32775
  const countRowHeaders = this.tableProps.countRowHeaders();
32756
32776
  const rowHeaderLastIndex = countRowHeaders === 0 ? 0 : -countRowHeaders;
32757
- const fromCoords = new _src.CellCoords(startRow, rowHeaderLastIndex);
32758
- const toCoords = new _src.CellCoords(endRow, countCols - 1);
32759
- const isValid = new _src.CellRange(fromCoords, fromCoords, toCoords).isValid({
32777
+ const fromCoords = this.tableProps.createCellCoords(startRow, rowHeaderLastIndex);
32778
+ const toCoords = this.tableProps.createCellCoords(endRow, countCols - 1);
32779
+ const isValid = this.tableProps.createCellRange(fromCoords, fromCoords, toCoords).isValid({
32760
32780
  countRows,
32761
32781
  countCols,
32762
32782
  countRowHeaders,
@@ -34347,7 +34367,9 @@ function detectSelectionType(selectionRanges) {
34347
34367
  * Factory function designed for normalization data schema from different data structures of the selection ranges.
34348
34368
  *
34349
34369
  * @param {number} type Selection type which will be processed.
34350
- * @param {object} [options] The normalization options.
34370
+ * @param {object} options The normalization options.
34371
+ * @param {function(number, number): CellCoords} options.createCellCoords The factory function that returns an instance of the `CellCoords` class.
34372
+ * @param {function(CellCoords, CellCoords, CellCoords): CellRange} options.createCellRange The factory function that returns an instance of the `CellRange` class.
34351
34373
  * @param {boolean} [options.keepDirection=false] If `true`, the coordinates which contain the direction of the
34352
34374
  * selected cells won't be changed. Otherwise, the selection will be
34353
34375
  * normalized to values starting from top-left to bottom-right.
@@ -34357,6 +34379,8 @@ function detectSelectionType(selectionRanges) {
34357
34379
  */
34358
34380
  function normalizeSelectionFactory(type) {
34359
34381
  let {
34382
+ createCellCoords,
34383
+ createCellRange,
34360
34384
  keepDirection = false,
34361
34385
  propToCol
34362
34386
  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
@@ -34393,9 +34417,9 @@ function normalizeSelectionFactory(type) {
34393
34417
  rowEnd = Math.max(origRowStart, origRowEnd);
34394
34418
  columnEnd = Math.max(origColumnStart, origColumnEnd);
34395
34419
  }
34396
- const from = new _src.CellCoords(rowStart, columnStart);
34397
- const to = new _src.CellCoords(rowEnd, columnEnd);
34398
- return new _src.CellRange(from, from, to);
34420
+ const from = createCellCoords(rowStart, columnStart);
34421
+ const to = createCellCoords(rowEnd, columnEnd);
34422
+ return createCellRange(from, from, to);
34399
34423
  };
34400
34424
  }
34401
34425
 
@@ -34405,22 +34429,25 @@ function normalizeSelectionFactory(type) {
34405
34429
  * contains an array of arrays. The single item contains at index 0 visual column index from the selection was
34406
34430
  * started and at index 1 distance as a count of selected columns.
34407
34431
  *
34408
- * @param {Array[]|CellRange[]} selectionRanges Selection ranges produced by Handsontable.
34432
+ * @param {Core} hotInstance The Handsontable instance.
34409
34433
  * @returns {Array[]} Returns an array of arrays with ranges defines in that schema:
34410
34434
  * `[[visualColumnStart, distance], [visualColumnStart, distance], ...]`.
34411
34435
  * The column distances are always created starting from the left (zero index) to the
34412
34436
  * right (the latest column index).
34413
34437
  */
34414
- function transformSelectionToColumnDistance(selectionRanges) {
34415
- const selectionType = detectSelectionType(selectionRanges);
34438
+ function transformSelectionToColumnDistance(hotInstance) {
34439
+ const selectionType = detectSelectionType(hotInstance.getSelected());
34416
34440
  if (selectionType === SELECTION_TYPE_UNRECOGNIZED || selectionType === SELECTION_TYPE_EMPTY) {
34417
34441
  return [];
34418
34442
  }
34419
- const selectionSchemaNormalizer = normalizeSelectionFactory(selectionType);
34443
+ const selectionSchemaNormalizer = normalizeSelectionFactory(selectionType, {
34444
+ createCellCoords: hotInstance._createCellCoords.bind(hotInstance),
34445
+ createCellRange: hotInstance._createCellRange.bind(hotInstance)
34446
+ });
34420
34447
  const unorderedIndexes = new Set();
34421
34448
 
34422
34449
  // Iterate through all ranges and collect all column indexes which are not saved yet.
34423
- (0, _array.arrayEach)(selectionRanges, selection => {
34450
+ (0, _array.arrayEach)(hotInstance.getSelected(), selection => {
34424
34451
  const {
34425
34452
  from,
34426
34453
  to
@@ -34453,22 +34480,25 @@ function transformSelectionToColumnDistance(selectionRanges) {
34453
34480
  * contains an array of arrays. The single item contains at index 0 visual column index from the selection was
34454
34481
  * started and at index 1 distance as a count of selected columns.
34455
34482
  *
34456
- * @param {Array[]|CellRange[]} selectionRanges Selection ranges produced by Handsontable.
34483
+ * @param {Core} hotInstance The Handsontable instance.
34457
34484
  * @returns {Array[]} Returns an array of arrays with ranges defines in that schema:
34458
34485
  * `[[visualColumnStart, distance], [visualColumnStart, distance], ...]`.
34459
34486
  * The column distances are always created starting from the left (zero index) to the
34460
34487
  * right (the latest column index).
34461
34488
  */
34462
- function transformSelectionToRowDistance(selectionRanges) {
34463
- const selectionType = detectSelectionType(selectionRanges);
34489
+ function transformSelectionToRowDistance(hotInstance) {
34490
+ const selectionType = detectSelectionType(hotInstance.getSelected());
34464
34491
  if (selectionType === SELECTION_TYPE_UNRECOGNIZED || selectionType === SELECTION_TYPE_EMPTY) {
34465
34492
  return [];
34466
34493
  }
34467
- const selectionSchemaNormalizer = normalizeSelectionFactory(selectionType);
34494
+ const selectionSchemaNormalizer = normalizeSelectionFactory(selectionType, {
34495
+ createCellCoords: hotInstance._createCellCoords.bind(hotInstance),
34496
+ createCellRange: hotInstance._createCellRange.bind(hotInstance)
34497
+ });
34468
34498
  const unorderedIndexes = new Set();
34469
34499
 
34470
34500
  // Iterate through all ranges and collect all column indexes which are not saved yet.
34471
- (0, _array.arrayEach)(selectionRanges, selection => {
34501
+ (0, _array.arrayEach)(hotInstance.getSelected(), selection => {
34472
34502
  const {
34473
34503
  from,
34474
34504
  to
@@ -43716,7 +43746,7 @@ const createShortcutManager = _ref => {
43716
43746
  captureCtrl,
43717
43747
  forwardToContext
43718
43748
  } = shortcuts[index];
43719
- if (runOnlyIf(event) !== false) {
43749
+ if (runOnlyIf(event) === true) {
43720
43750
  isCtrlKeySilenced = captureCtrl;
43721
43751
  isExecutionCancelled = callback(event, keys) === false;
43722
43752
  isCtrlKeySilenced = false;
@@ -50337,9 +50367,8 @@ class BasePlugin {
50337
50367
  * Disable plugin for this Handsontable instance.
50338
50368
  */
50339
50369
  disablePlugin() {
50340
- if (this.eventManager) {
50341
- this.eventManager.clear();
50342
- }
50370
+ var _this$eventManager;
50371
+ (_this$eventManager = this.eventManager) === null || _this$eventManager === void 0 || _this$eventManager.clear();
50343
50372
  this.clearHooks();
50344
50373
  this.enabled = false;
50345
50374
  }
@@ -50433,9 +50462,8 @@ class BasePlugin {
50433
50462
  * Destroy plugin.
50434
50463
  */
50435
50464
  destroy() {
50436
- if (this.eventManager) {
50437
- this.eventManager.destroy();
50438
- }
50465
+ var _this$eventManager2;
50466
+ (_this$eventManager2 = this.eventManager) === null || _this$eventManager2 === void 0 || _this$eventManager2.destroy();
50439
50467
  this.clearHooks();
50440
50468
  (0, _object.objectEach)(this, (value, property) => {
50441
50469
  if (property !== 'hot') {
@@ -51289,6 +51317,7 @@ class Autofill extends _base.BasePlugin {
51289
51317
  /**
51290
51318
  * Specifies if can insert new rows if needed.
51291
51319
  *
51320
+ * @private
51292
51321
  * @type {boolean}
51293
51322
  */
51294
51323
  (0, _defineProperty2.default)(this, "autoInsertRow", false);
@@ -53599,7 +53628,8 @@ class ColumnSorting extends _base.BasePlugin {
53599
53628
  },
53600
53629
  runOnlyIf: () => {
53601
53630
  var _this$hot$getSelected;
53602
- return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
53631
+ const highlight = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
53632
+ return highlight && this.hot.selection.isCellVisible(highlight) && highlight.isHeader();
53603
53633
  },
53604
53634
  group: SHORTCUTS_GROUP
53605
53635
  });
@@ -57943,7 +57973,7 @@ function removeColumnItem() {
57943
57973
  return this.getTranslatedPhrase(C.CONTEXTMENU_ITEMS_REMOVE_COLUMN, pluralForm);
57944
57974
  },
57945
57975
  callback() {
57946
- this.alter('remove_col', (0, _utils.transformSelectionToColumnDistance)(this.getSelected()), null, 'ContextMenu.removeColumn');
57976
+ this.alter('remove_col', (0, _utils.transformSelectionToColumnDistance)(this), null, 'ContextMenu.removeColumn');
57947
57977
  },
57948
57978
  disabled() {
57949
57979
  if (!this.isColumnModificationAllowed()) {
@@ -58009,7 +58039,7 @@ function removeRowItem() {
58009
58039
  callback() {
58010
58040
  // TODO: Please keep in mind that below `1` may be improper. The table's way of work, before change `f1747b3912ea3b21fe423fd102ca94c87db81379` was restored.
58011
58041
  // There is still problem when removing more than one row.
58012
- this.alter('remove_row', (0, _utils.transformSelectionToRowDistance)(this.getSelected()), 1, 'ContextMenu.removeRow');
58042
+ this.alter('remove_row', (0, _utils.transformSelectionToRowDistance)(this), 1, 'ContextMenu.removeRow');
58013
58043
  },
58014
58044
  disabled() {
58015
58045
  const range = this.getSelectedRangeLast();
@@ -58564,7 +58594,11 @@ class ContextMenu extends _base.BasePlugin {
58564
58594
  above: -rect.height
58565
58595
  });
58566
58596
  },
58567
- runOnlyIf: () => this.hot.getSelectedRangeLast() && !this.menu.isOpened(),
58597
+ runOnlyIf: () => {
58598
+ var _this$hot$getSelected;
58599
+ const highlight = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
58600
+ return highlight && this.hot.selection.isCellVisible(highlight) && !this.menu.isOpened();
58601
+ },
58568
58602
  group: SHORTCUTS_GROUP
58569
58603
  });
58570
58604
  }
@@ -62338,7 +62372,10 @@ class CustomBorders extends _base.BasePlugin {
62338
62372
  normBorder = (0, _utils.normalizeBorder)(borderObject);
62339
62373
  }
62340
62374
  const selectionType = (0, _selection.detectSelectionType)(selectionRanges);
62341
- const selectionSchemaNormalizer = (0, _selection.normalizeSelectionFactory)(selectionType);
62375
+ const selectionSchemaNormalizer = (0, _selection.normalizeSelectionFactory)(selectionType, {
62376
+ createCellCoords: this.hot._createCellCoords.bind(this.hot),
62377
+ createCellRange: this.hot._createCellRange.bind(this.hot)
62378
+ });
62342
62379
  (0, _array.arrayEach)(selectionRanges, selection => {
62343
62380
  selectionSchemaNormalizer(selection).forAll((row, col) => {
62344
62381
  (0, _array.arrayEach)(borderKeys, borderKey => {
@@ -62381,7 +62418,10 @@ class CustomBorders extends _base.BasePlugin {
62381
62418
  return this.savedBorders;
62382
62419
  }
62383
62420
  const selectionType = (0, _selection.detectSelectionType)(selectionRanges);
62384
- const selectionSchemaNormalizer = (0, _selection.normalizeSelectionFactory)(selectionType);
62421
+ const selectionSchemaNormalizer = (0, _selection.normalizeSelectionFactory)(selectionType, {
62422
+ createCellCoords: this.hot._createCellCoords.bind(this.hot),
62423
+ createCellRange: this.hot._createCellRange.bind(this.hot)
62424
+ });
62385
62425
  const selectedBorders = [];
62386
62426
  (0, _array.arrayEach)(selectionRanges, selection => {
62387
62427
  selectionSchemaNormalizer(selection).forAll((row, col) => {
@@ -63956,7 +63996,8 @@ class DropdownMenu extends _base.BasePlugin {
63956
63996
  callback,
63957
63997
  runOnlyIf: () => {
63958
63998
  var _this$hot$getSelected;
63959
- return ((_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader()) && !this.menu.isOpened();
63999
+ const highlight = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
64000
+ return highlight && this.hot.selection.isCellVisible(highlight) && highlight.isHeader() && !this.menu.isOpened();
63960
64001
  },
63961
64002
  captureCtrl: true,
63962
64003
  group: SHORTCUTS_GROUP
@@ -63965,7 +64006,8 @@ class DropdownMenu extends _base.BasePlugin {
63965
64006
  callback,
63966
64007
  runOnlyIf: () => {
63967
64008
  var _this$hot$getSelected2;
63968
- return ((_this$hot$getSelected2 = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected2 === void 0 ? void 0 : _this$hot$getSelected2.highlight.isCell()) && !this.menu.isOpened();
64009
+ const highlight = (_this$hot$getSelected2 = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected2 === void 0 ? void 0 : _this$hot$getSelected2.highlight;
64010
+ return highlight && this.hot.selection.isCellVisible(highlight) && highlight.isCell() && !this.menu.isOpened();
63969
64011
  },
63970
64012
  group: SHORTCUTS_GROUP
63971
64013
  }]);
@@ -80049,7 +80091,8 @@ class MultiColumnSorting extends _columnSorting.ColumnSorting {
80049
80091
  },
80050
80092
  runOnlyIf: () => {
80051
80093
  var _this$hot$getSelected;
80052
- return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
80094
+ const highlight = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
80095
+ return highlight && this.hot.selection.isCellVisible(highlight) && highlight.isHeader();
80053
80096
  },
80054
80097
  group: SHORTCUTS_GROUP
80055
80098
  });
@@ -83853,7 +83896,6 @@ exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
83853
83896
  const SHORTCUTS_GROUP = PLUGIN_KEY;
83854
83897
 
83855
83898
  /* eslint-disable jsdoc/require-description-complete-sentence */
83856
-
83857
83899
  /**
83858
83900
  * Error message for the wrong data type error.
83859
83901
  */
@@ -84024,6 +84066,8 @@ class NestedRows extends _base.BasePlugin {
84024
84066
  */
84025
84067
  (0, _defineProperty2.default)(this, "collapsedRowsMap", null);
84026
84068
  /**
84069
+ * Allows skipping the render cycle if set as `true`.
84070
+ *
84027
84071
  * @type {boolean}
84028
84072
  */
84029
84073
  _classPrivateFieldInitSpec(this, _skipRender, {
@@ -84031,6 +84075,8 @@ class NestedRows extends _base.BasePlugin {
84031
84075
  value: false
84032
84076
  });
84033
84077
  /**
84078
+ * Allows skipping the internal Core methods call if set as `true`.
84079
+ *
84034
84080
  * @type {boolean}
84035
84081
  */
84036
84082
  _classPrivateFieldInitSpec(this, _skipCoreAPIModifiers, {
@@ -84224,7 +84270,8 @@ class NestedRows extends _base.BasePlugin {
84224
84270
  },
84225
84271
  runOnlyIf: () => {
84226
84272
  var _this$hot$getSelected;
84227
- return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
84273
+ const highlight = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
84274
+ return highlight && this.hot.selection.isCellVisible(highlight) && highlight.isHeader();
84228
84275
  },
84229
84276
  group: SHORTCUTS_GROUP
84230
84277
  });
@@ -84241,6 +84288,8 @@ class NestedRows extends _base.BasePlugin {
84241
84288
  /**
84242
84289
  * Enable the modify hook skipping flag - allows retrieving the data from Handsontable without this plugin's
84243
84290
  * modifications.
84291
+ *
84292
+ * @private
84244
84293
  */
84245
84294
  disableCoreAPIModifiers() {
84246
84295
  (0, _classPrivateFieldSet2.default)(this, _skipCoreAPIModifiers, true);
@@ -84248,6 +84297,8 @@ class NestedRows extends _base.BasePlugin {
84248
84297
 
84249
84298
  /**
84250
84299
  * Disable the modify hook skipping flag.
84300
+ *
84301
+ * @private
84251
84302
  */
84252
84303
  enableCoreAPIModifiers() {
84253
84304
  (0, _classPrivateFieldSet2.default)(this, _skipCoreAPIModifiers, false);
@@ -84319,7 +84370,7 @@ function _onAfterGetRowHeader2(row, TH) {
84319
84370
  this.headersUI.appendLevelIndicators(row, TH);
84320
84371
  }
84321
84372
  function _onModifyRowHeaderWidth2(rowHeaderWidth) {
84322
- return this.headersUI.rowHeaderWidthCache || rowHeaderWidth;
84373
+ return Math.max(this.headersUI.rowHeaderWidthCache, rowHeaderWidth);
84323
84374
  }
84324
84375
  function _onAfterRemoveRow2(index, amount, logicRows, source) {
84325
84376
  if (source === this.pluginName) {
@@ -84329,7 +84380,7 @@ function _onAfterRemoveRow2(index, amount, logicRows, source) {
84329
84380
  (0, _classPrivateFieldSet2.default)(this, _skipRender, false);
84330
84381
  this.headersUI.updateRowHeaderWidth();
84331
84382
  this.collapsingUI.collapsedRowsStash.applyStash();
84332
- }, 0);
84383
+ });
84333
84384
  }
84334
84385
  function _onBeforeRemoveRow2(index, amount, physicalRows) {
84335
84386
  const modifiedPhysicalRows = Array.from(physicalRows.reduce((removedRows, physicalIndex) => {
@@ -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-7b93b7d-20231107
29
- * Release date: 31/08/2023 (built at 07/11/2023 14:25:18)
28
+ * Version: 0.0.0-next-5f253b5-20231108
29
+ * Release date: 31/08/2023 (built at 08/11/2023 12:10:54)
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 .columnSortingIndicator: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 .columnSortingIndicator:before{background-position-x:left;left:-9px;padding-left:0;padding-right:8px;right:unset}.handsontable span.colHeader.columnSorting.ascending .columnSortingIndicator:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFNJREFUeAHtzjkSgCAUBNHPgsoy97+ulGXRqJE5L+xkxoYt2UdsLb5bqFINz+aLuuLn5rIu2RkO3fZpWENimNgiw6iBYRTPMLJjGFxQZ1hxxb/xBI1qC8k39CdKAAAAAElFTkSuQmCC)}.handsontable span.colHeader.columnSorting.descending .columnSortingIndicator: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 .submenuIndicator:after{color:#777;content:"▶";font-size:9px;position:absolute;right:5px}[dir=rtl].handsontable .htSubmenu .submenuIndicator:after{content:""}[dir=rtl].handsontable .htSubmenu .submenuIndicator: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}.handsontable .htAutocompleteArrow{color:#bbb;cursor:default;float:right;font-size:10px;text-align:center;width:16px}[dir=rtl].handsontable .htAutocompleteArrow{float:left}.handsontable td.htInvalid .htAutocompleteArrow{color:#555}.handsontable td.htInvalid .htAutocompleteArrow:hover{color:#1a1a1a}.handsontable td .htAutocompleteArrow:hover{color:#777}.handsontable td.area .htAutocompleteArrow{color:#d3d3d3}.handsontable .htCheckboxRendererInput{display:inline-block}.handsontable .htCheckboxRendererInput.noValue{opacity:.5}.handsontable .htCheckboxRendererLabel{cursor:pointer;display:inline-block;font-size:inherit;vertical-align:middle}.handsontable .htCheckboxRendererLabel.fullWidth{width:100%}.handsontable .htCommentCell{position:relative}.handsontable .htCommentCell:after{border-left:6px solid transparent;border-right:none;border-top:6px solid #000;content:"";left:unset;position:absolute;right:0;top:0}[dir=rtl].handsontable .htCommentCell:after{border-left:none;border-right:6px solid transparent;left:0;right:unset}.htCommentsContainer .htComments{display:none;position:absolute;z-index:1059}.htCommentsContainer .htCommentTextArea{-webkit-appearance:none;background-color:#fff;border:none;border-left:3px solid #ccc;box-shadow:0 1px 3px rgba(0,0,0,.118),0 1px 2px rgba(0,0,0,.239);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:12px;height:90px;outline:0!important;padding:5px;width:215px}[dir=rtl].htCommentsContainer .htCommentTextArea{border-left:none;border-right:3px solid #ccc}.htCommentsContainer .htCommentTextArea:focus{border-left:3px solid #5292f7;border-right:none;box-shadow:0 1px 3px rgba(0,0,0,.118),0 1px 2px rgba(0,0,0,.239),inset 0 0 0 1px #5292f7}[dir=rtl].htCommentsContainer .htCommentTextArea:focus{border-left:none;border-right:3px solid #5292f7}
31
31
  /*!
32
32
  * Handsontable ContextMenu