handsontable 0.0.0-next-9b837c3-20250221 → 0.0.0-next-326182b-20250225

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (38) hide show
  1. package/3rdparty/walkontable/src/selection/border/border.js +1 -1
  2. package/3rdparty/walkontable/src/selection/border/border.mjs +2 -2
  3. package/3rdparty/walkontable/src/selection/scanner.js +1 -1
  4. package/3rdparty/walkontable/src/selection/scanner.mjs +2 -2
  5. package/3rdparty/walkontable/src/viewport.js +28 -2
  6. package/3rdparty/walkontable/src/viewport.mjs +28 -2
  7. package/base.js +2 -2
  8. package/base.mjs +2 -2
  9. package/dist/handsontable.css +2 -2
  10. package/dist/handsontable.full.css +2 -2
  11. package/dist/handsontable.full.js +63 -19
  12. package/dist/handsontable.full.min.css +2 -2
  13. package/dist/handsontable.full.min.js +10 -10
  14. package/dist/handsontable.js +63 -19
  15. package/dist/handsontable.min.css +2 -2
  16. package/dist/handsontable.min.js +9 -9
  17. package/focusManager.js +1 -1
  18. package/focusManager.mjs +2 -2
  19. package/helpers/dom/element.d.ts +1 -0
  20. package/helpers/dom/element.js +13 -0
  21. package/helpers/dom/element.mjs +12 -0
  22. package/helpers/dom/event.js +2 -1
  23. package/helpers/dom/event.mjs +2 -1
  24. package/helpers/mixed.js +1 -1
  25. package/helpers/mixed.mjs +1 -1
  26. package/package.json +1 -1
  27. package/plugins/copyPaste/copyPaste.js +3 -3
  28. package/plugins/copyPaste/copyPaste.mjs +4 -4
  29. package/plugins/mergeCells/mergeCells.js +7 -3
  30. package/plugins/mergeCells/mergeCells.mjs +7 -3
  31. package/renderers/checkboxRenderer/checkboxRenderer.js +1 -1
  32. package/renderers/checkboxRenderer/checkboxRenderer.mjs +2 -2
  33. package/styles/handsontable.css +10 -2
  34. package/styles/handsontable.min.css +3 -3
  35. package/styles/ht-theme-horizon.css +2 -2
  36. package/styles/ht-theme-horizon.min.css +2 -2
  37. package/styles/ht-theme-main.css +2 -2
  38. package/styles/ht-theme-main.min.css +2 -2
@@ -352,7 +352,7 @@ class Border {
352
352
  fromTD = wtTable.getCell(this.wot.createCellCoords(fromRow, fromColumn));
353
353
  } else {
354
354
  fromTD = wtTable.getCell(this.wot.createCellCoords(fromRow, fromColumn));
355
- if (!(fromTD instanceof HTMLElement)) {
355
+ if (!(0, _element.isHTMLElement)(fromTD)) {
356
356
  this.disappear();
357
357
  return;
358
358
  }
@@ -1,4 +1,4 @@
1
- import { addClass, hasClass, removeClass, getTrimmingContainer, innerWidth, innerHeight, offset, outerHeight, outerWidth } from "../../../../../helpers/dom/element.mjs";
1
+ import { addClass, hasClass, removeClass, getTrimmingContainer, innerWidth, innerHeight, offset, outerHeight, outerWidth, isHTMLElement } from "../../../../../helpers/dom/element.mjs";
2
2
  import { stopImmediatePropagation } from "../../../../../helpers/dom/event.mjs";
3
3
  import { objectEach } from "../../../../../helpers/object.mjs";
4
4
  import { isMobileBrowser } from "../../../../../helpers/browser.mjs";
@@ -349,7 +349,7 @@ class Border {
349
349
  fromTD = wtTable.getCell(this.wot.createCellCoords(fromRow, fromColumn));
350
350
  } else {
351
351
  fromTD = wtTable.getCell(this.wot.createCellCoords(fromRow, fromColumn));
352
- if (!(fromTD instanceof HTMLElement)) {
352
+ if (!isHTMLElement(fromTD)) {
353
353
  this.disappear();
354
354
  return;
355
355
  }
@@ -273,7 +273,7 @@ function _scanCellsRange(callback) {
273
273
  }
274
274
  } else {
275
275
  const cell = wtTable.getCell(_classPrivateFieldGet(_activeOverlaysWot, this).createCellCoords(topRow, startColumn));
276
- if (!(cell instanceof HTMLElement)) {
276
+ if (!(0, _element.isHTMLElement)(cell)) {
277
277
  return;
278
278
  }
279
279
  }
@@ -13,7 +13,7 @@ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
13
13
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
14
14
  function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
15
15
  /* eslint-disable no-continue */
16
- import { addClass } from "../../../../helpers/dom/element.mjs";
16
+ import { addClass, isHTMLElement } from "../../../../helpers/dom/element.mjs";
17
17
  /**
18
18
  * Selection scanner module scans the rendered cells and headers and if it finds an intersection with
19
19
  * the coordinates of the Selection class (highlight) it returns the DOM elements.
@@ -270,7 +270,7 @@ function _scanCellsRange(callback) {
270
270
  }
271
271
  } else {
272
272
  const cell = wtTable.getCell(_classPrivateFieldGet(_activeOverlaysWot, this).createCellCoords(topRow, startColumn));
273
- if (!(cell instanceof HTMLElement)) {
273
+ if (!isHTMLElement(cell)) {
274
274
  return;
275
275
  }
276
276
  }
@@ -124,7 +124,20 @@ class Viewport {
124
124
  * @returns {boolean}
125
125
  */
126
126
  hasVerticalScroll() {
127
- return this.wtTable.hider.offsetHeight > this.getWorkspaceHeight();
127
+ if (this.isVerticallyScrollableByWindow()) {
128
+ const documentElement = this.domBindings.rootDocument.documentElement;
129
+ return documentElement.scrollHeight > documentElement.clientHeight;
130
+ }
131
+ const {
132
+ holder,
133
+ hider
134
+ } = this.wtTable;
135
+ const holderHeight = holder.clientHeight;
136
+ const hiderOffsetHeight = hider.offsetHeight;
137
+ if (holderHeight < hiderOffsetHeight) {
138
+ return true;
139
+ }
140
+ return hiderOffsetHeight > this.getWorkspaceHeight();
128
141
  }
129
142
 
130
143
  /**
@@ -133,7 +146,20 @@ class Viewport {
133
146
  * @returns {boolean}
134
147
  */
135
148
  hasHorizontalScroll() {
136
- return this.wtTable.hider.offsetWidth > this.getWorkspaceWidth();
149
+ if (this.isVerticallyScrollableByWindow()) {
150
+ const documentElement = this.domBindings.rootDocument.documentElement;
151
+ return documentElement.scrollWidth > documentElement.clientWidth;
152
+ }
153
+ const {
154
+ holder,
155
+ hider
156
+ } = this.wtTable;
157
+ const holderWidth = holder.clientWidth;
158
+ const hiderOffsetWidth = hider.offsetWidth;
159
+ if (holderWidth < hiderOffsetWidth) {
160
+ return true;
161
+ }
162
+ return hiderOffsetWidth > this.getWorkspaceWidth();
137
163
  }
138
164
 
139
165
  /**
@@ -121,7 +121,20 @@ class Viewport {
121
121
  * @returns {boolean}
122
122
  */
123
123
  hasVerticalScroll() {
124
- return this.wtTable.hider.offsetHeight > this.getWorkspaceHeight();
124
+ if (this.isVerticallyScrollableByWindow()) {
125
+ const documentElement = this.domBindings.rootDocument.documentElement;
126
+ return documentElement.scrollHeight > documentElement.clientHeight;
127
+ }
128
+ const {
129
+ holder,
130
+ hider
131
+ } = this.wtTable;
132
+ const holderHeight = holder.clientHeight;
133
+ const hiderOffsetHeight = hider.offsetHeight;
134
+ if (holderHeight < hiderOffsetHeight) {
135
+ return true;
136
+ }
137
+ return hiderOffsetHeight > this.getWorkspaceHeight();
125
138
  }
126
139
 
127
140
  /**
@@ -130,7 +143,20 @@ class Viewport {
130
143
  * @returns {boolean}
131
144
  */
132
145
  hasHorizontalScroll() {
133
- return this.wtTable.hider.offsetWidth > this.getWorkspaceWidth();
146
+ if (this.isVerticallyScrollableByWindow()) {
147
+ const documentElement = this.domBindings.rootDocument.documentElement;
148
+ return documentElement.scrollWidth > documentElement.clientWidth;
149
+ }
150
+ const {
151
+ holder,
152
+ hider
153
+ } = this.wtTable;
154
+ const holderWidth = holder.clientWidth;
155
+ const hiderOffsetWidth = hider.offsetWidth;
156
+ if (holderWidth < hiderOffsetWidth) {
157
+ return true;
158
+ }
159
+ return hiderOffsetWidth > this.getWorkspaceWidth();
134
160
  }
135
161
 
136
162
  /**
package/base.js CHANGED
@@ -45,8 +45,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
45
45
  Handsontable.CellCoords = _src.CellCoords;
46
46
  Handsontable.CellRange = _src.CellRange;
47
47
  Handsontable.packageName = 'handsontable';
48
- Handsontable.buildDate = "21/02/2025 10:35:20";
49
- Handsontable.version = "0.0.0-next-9b837c3-20250221";
48
+ Handsontable.buildDate = "25/02/2025 10:15:53";
49
+ Handsontable.version = "0.0.0-next-326182b-20250225";
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 = "21/02/2025 10:35:26";
39
- Handsontable.version = "0.0.0-next-9b837c3-20250221";
38
+ Handsontable.buildDate = "25/02/2025 10:15:59";
39
+ Handsontable.version = "0.0.0-next-326182b-20250225";
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-9b837c3-20250221
29
- * Release date: 20/02/2025 (built at 21/02/2025 10:35:48)
28
+ * Version: 0.0.0-next-326182b-20250225
29
+ * Release date: 20/02/2025 (built at 25/02/2025 10:16:21)
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-9b837c3-20250221
29
- * Release date: 20/02/2025 (built at 21/02/2025 10:35:48)
28
+ * Version: 0.0.0-next-326182b-20250225
29
+ * Release date: 20/02/2025 (built at 25/02/2025 10:16:21)
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-9b837c3-20250221
29
- * Release date: 20/02/2025 (built at 21/02/2025 10:35:30)
28
+ * Version: 0.0.0-next-326182b-20250225
29
+ * Release date: 20/02/2025 (built at 25/02/2025 10:16:04)
30
30
  */
31
31
  (function webpackUniversalModuleDefinition(root, factory) {
32
32
  if(typeof exports === 'object' && typeof module === 'object')
@@ -42855,8 +42855,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
42855
42855
  Handsontable.CellCoords = _src.CellCoords;
42856
42856
  Handsontable.CellRange = _src.CellRange;
42857
42857
  Handsontable.packageName = 'handsontable';
42858
- Handsontable.buildDate = "21/02/2025 10:35:30";
42859
- Handsontable.version = "0.0.0-next-9b837c3-20250221";
42858
+ Handsontable.buildDate = "25/02/2025 10:16:04";
42859
+ Handsontable.version = "0.0.0-next-326182b-20250225";
42860
42860
  Handsontable.languages = {
42861
42861
  dictionaryKeys: _registry.dictionaryKeys,
42862
42862
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -51410,6 +51410,7 @@ exports.innerHeight = innerHeight;
51410
51410
  exports.innerWidth = innerWidth;
51411
51411
  exports.isChildOf = isChildOf;
51412
51412
  exports.isDetached = isDetached;
51413
+ exports.isHTMLElement = isHTMLElement;
51413
51414
  exports.isInput = isInput;
51414
51415
  exports.isOutsideInput = isOutsideInput;
51415
51416
  exports.isThisHotChild = isThisHotChild;
@@ -52554,6 +52555,18 @@ function runWithSelectedContendEditableElement(element, callback) {
52554
52555
  removeContentEditableFromElementAndDeselect(element, invisibleSelection);
52555
52556
  }
52556
52557
 
52558
+ /**
52559
+ * Check if the element is HTMLElement.
52560
+ *
52561
+ * @param {*} element Element to check.
52562
+ * @returns {boolean} `true` if the element is HTMLElement.
52563
+ */
52564
+ function isHTMLElement(element) {
52565
+ var _element$ownerDocumen;
52566
+ const OwnElement = element === null || element === void 0 || (_element$ownerDocumen = element.ownerDocument) === null || _element$ownerDocumen === void 0 ? void 0 : _element$ownerDocumen.defaultView.Element;
52567
+ return !!(OwnElement && OwnElement !== null && element instanceof OwnElement);
52568
+ }
52569
+
52557
52570
  /***/ }),
52558
52571
  /* 352 */
52559
52572
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
@@ -54162,7 +54175,7 @@ const domMessages = {
54162
54175
  function _injectProductInfo(key, element) {
54163
54176
  const hasValidType = !isEmpty(key);
54164
54177
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
54165
- const hotVersion = "0.0.0-next-9b837c3-20250221";
54178
+ const hotVersion = "0.0.0-next-326182b-20250225";
54166
54179
  let keyValidityDate;
54167
54180
  let consoleMessageState = 'invalid';
54168
54181
  let domMessageState = 'invalid';
@@ -63156,7 +63169,7 @@ function isKey(keyCode, baseCode) {
63156
63169
 
63157
63170
  /***/ }),
63158
63171
  /* 509 */
63159
- /***/ ((__unused_webpack_module, exports) => {
63172
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
63160
63173
 
63161
63174
  "use strict";
63162
63175
 
@@ -63168,6 +63181,7 @@ exports.isRightClick = isRightClick;
63168
63181
  exports.isTouchEvent = isTouchEvent;
63169
63182
  exports.offsetRelativeTo = offsetRelativeTo;
63170
63183
  exports.stopImmediatePropagation = stopImmediatePropagation;
63184
+ var _element = __webpack_require__(351);
63171
63185
  /**
63172
63186
  * Prevent other listeners of the same event from being called.
63173
63187
  *
@@ -63231,7 +63245,7 @@ function offsetRelativeTo(event, untilElement) {
63231
63245
  y: event.offsetY
63232
63246
  };
63233
63247
  let element = event.target;
63234
- if (!(untilElement instanceof HTMLElement) || element !== untilElement && element.contains(untilElement)) {
63248
+ if (!(0, _element.isHTMLElement)(untilElement) || element !== untilElement && element.contains(untilElement)) {
63235
63249
  return offset;
63236
63250
  }
63237
63251
  while (element !== untilElement) {
@@ -67314,7 +67328,7 @@ class FocusManager {
67314
67328
  return;
67315
67329
  }
67316
67330
  let elementToBeFocused = _classPrivateFieldGet(_hot, this).runHooks('modifyFocusedElement', currentHighlightCoords.row, currentHighlightCoords.col, element);
67317
- if (!(elementToBeFocused instanceof HTMLElement)) {
67331
+ if (!(0, _element.isHTMLElement)(elementToBeFocused)) {
67318
67332
  elementToBeFocused = element;
67319
67333
  }
67320
67334
  if (elementToBeFocused && !((_classPrivateFieldGet4 = _classPrivateFieldGet(_hot, this).getActiveEditor()) !== null && _classPrivateFieldGet4 !== void 0 && _classPrivateFieldGet4.isOpened())) {
@@ -80742,7 +80756,7 @@ function _scanCellsRange(callback) {
80742
80756
  }
80743
80757
  } else {
80744
80758
  const cell = wtTable.getCell(_classPrivateFieldGet(_activeOverlaysWot, this).createCellCoords(topRow, startColumn));
80745
- if (!(cell instanceof HTMLElement)) {
80759
+ if (!(0, _element.isHTMLElement)(cell)) {
80746
80760
  return;
80747
80761
  }
80748
80762
  }
@@ -81130,7 +81144,7 @@ class Border {
81130
81144
  fromTD = wtTable.getCell(this.wot.createCellCoords(fromRow, fromColumn));
81131
81145
  } else {
81132
81146
  fromTD = wtTable.getCell(this.wot.createCellCoords(fromRow, fromColumn));
81133
- if (!(fromTD instanceof HTMLElement)) {
81147
+ if (!(0, _element.isHTMLElement)(fromTD)) {
81134
81148
  this.disappear();
81135
81149
  return;
81136
81150
  }
@@ -82666,7 +82680,20 @@ class Viewport {
82666
82680
  * @returns {boolean}
82667
82681
  */
82668
82682
  hasVerticalScroll() {
82669
- return this.wtTable.hider.offsetHeight > this.getWorkspaceHeight();
82683
+ if (this.isVerticallyScrollableByWindow()) {
82684
+ const documentElement = this.domBindings.rootDocument.documentElement;
82685
+ return documentElement.scrollHeight > documentElement.clientHeight;
82686
+ }
82687
+ const {
82688
+ holder,
82689
+ hider
82690
+ } = this.wtTable;
82691
+ const holderHeight = holder.clientHeight;
82692
+ const hiderOffsetHeight = hider.offsetHeight;
82693
+ if (holderHeight < hiderOffsetHeight) {
82694
+ return true;
82695
+ }
82696
+ return hiderOffsetHeight > this.getWorkspaceHeight();
82670
82697
  }
82671
82698
 
82672
82699
  /**
@@ -82675,7 +82702,20 @@ class Viewport {
82675
82702
  * @returns {boolean}
82676
82703
  */
82677
82704
  hasHorizontalScroll() {
82678
- return this.wtTable.hider.offsetWidth > this.getWorkspaceWidth();
82705
+ if (this.isVerticallyScrollableByWindow()) {
82706
+ const documentElement = this.domBindings.rootDocument.documentElement;
82707
+ return documentElement.scrollWidth > documentElement.clientWidth;
82708
+ }
82709
+ const {
82710
+ holder,
82711
+ hider
82712
+ } = this.wtTable;
82713
+ const holderWidth = holder.clientWidth;
82714
+ const hiderOffsetWidth = hider.offsetWidth;
82715
+ if (holderWidth < hiderOffsetWidth) {
82716
+ return true;
82717
+ }
82718
+ return hiderOffsetWidth > this.getWorkspaceWidth();
82679
82719
  }
82680
82720
 
82681
82721
  /**
@@ -105175,7 +105215,7 @@ function checkboxRenderer(hotInstance, TD, row, col, prop, value, cellProperties
105175
105215
  continue;
105176
105216
  }
105177
105217
  const cell = hotInstance.getCell(visualRow, visualColumn);
105178
- if (cell instanceof HTMLElement) {
105218
+ if ((0, _element.isHTMLElement)(cell)) {
105179
105219
  const checkboxes = cell.querySelectorAll('input[type=checkbox]');
105180
105220
  if (checkboxes.length > 0) {
105181
105221
  return true;
@@ -124001,7 +124041,7 @@ class CopyPaste extends _base.BasePlugin {
124001
124041
  const isHotInput = (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.hasAttribute('data-hot-input');
124002
124042
  const selectedCell = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
124003
124043
  const TD = selectedCell ? this.hot.getCell(selectedCell.row, selectedCell.col, true) : null;
124004
- if (!this.hot.isListening() && !_classPrivateFieldGet(_isTriggeredByCopy, this) || this.isEditorOpened() || event.target instanceof HTMLElement && (isHotInput && event.target !== focusedElement || !isHotInput && event.target !== this.hot.rootDocument.body && TD !== event.target)) {
124044
+ if (!this.hot.isListening() && !_classPrivateFieldGet(_isTriggeredByCopy, this) || this.isEditorOpened() || (0, _element.isHTMLElement)(event.target) && (isHotInput && event.target !== focusedElement || !isHotInput && event.target !== this.hot.rootDocument.body && TD !== event.target)) {
124005
124045
  return;
124006
124046
  }
124007
124047
  event.preventDefault();
@@ -124036,7 +124076,7 @@ class CopyPaste extends _base.BasePlugin {
124036
124076
  const isHotInput = (_event$target2 = event.target) === null || _event$target2 === void 0 ? void 0 : _event$target2.hasAttribute('data-hot-input');
124037
124077
  const selectedCell = (_this$hot$getSelected2 = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected2 === void 0 ? void 0 : _this$hot$getSelected2.highlight;
124038
124078
  const TD = selectedCell ? this.hot.getCell(selectedCell.row, selectedCell.col, true) : null;
124039
- if (!this.hot.isListening() && !_classPrivateFieldGet(_isTriggeredByCut, this) || this.isEditorOpened() || event.target instanceof HTMLElement && (isHotInput && event.target !== focusedElement || !isHotInput && event.target !== this.hot.rootDocument.body && TD !== event.target)) {
124079
+ if (!this.hot.isListening() && !_classPrivateFieldGet(_isTriggeredByCut, this) || this.isEditorOpened() || (0, _element.isHTMLElement)(event.target) && (isHotInput && event.target !== focusedElement || !isHotInput && event.target !== this.hot.rootDocument.body && TD !== event.target)) {
124040
124080
  return;
124041
124081
  }
124042
124082
  event.preventDefault();
@@ -124070,7 +124110,7 @@ class CopyPaste extends _base.BasePlugin {
124070
124110
  const isHotInput = (_event$target3 = event.target) === null || _event$target3 === void 0 ? void 0 : _event$target3.hasAttribute('data-hot-input');
124071
124111
  const selectedCell = (_this$hot$getSelected3 = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected3 === void 0 ? void 0 : _this$hot$getSelected3.highlight;
124072
124112
  const TD = selectedCell ? this.hot.getCell(selectedCell.row, selectedCell.col, true) : null;
124073
- if (!this.hot.isListening() || this.isEditorOpened() || !this.hot.getSelected() || event.target instanceof HTMLElement && (isHotInput && event.target !== focusedElement || !isHotInput && event.target !== this.hot.rootDocument.body && TD !== event.target)) {
124113
+ if (!this.hot.isListening() || this.isEditorOpened() || !this.hot.getSelected() || (0, _element.isHTMLElement)(event.target) && (isHotInput && event.target !== focusedElement || !isHotInput && event.target !== this.hot.rootDocument.body && TD !== event.target)) {
124074
124114
  return;
124075
124115
  }
124076
124116
  event.preventDefault();
@@ -141228,12 +141268,16 @@ function _onModifyRowHeightByOverlayName(height, row, overlayType) {
141228
141268
  * @returns {number}
141229
141269
  */
141230
141270
  function _sumCellsHeights(row, rowspan) {
141231
- const stylesHandler = this.hot.view.getStylesHandler();
141232
- const defaultHeight = this.hot.view.getDefaultRowHeight();
141271
+ const {
141272
+ view,
141273
+ rowIndexMapper
141274
+ } = this.hot;
141275
+ const stylesHandler = view.getStylesHandler();
141276
+ const defaultHeight = view.getDefaultRowHeight();
141233
141277
  const autoRowSizePlugin = this.hot.getPlugin('autoRowSize');
141234
141278
  let height = 0;
141235
141279
  for (let i = row; i < row + rowspan; i++) {
141236
- if (!this.hot.rowIndexMapper.isHidden(i)) {
141280
+ if (!rowIndexMapper.isHidden(i)) {
141237
141281
  var _autoRowSizePlugin$ge;
141238
141282
  height += (_autoRowSizePlugin$ge = autoRowSizePlugin === null || autoRowSizePlugin === void 0 ? void 0 : autoRowSizePlugin.getRowHeight(i)) !== null && _autoRowSizePlugin$ge !== void 0 ? _autoRowSizePlugin$ge : defaultHeight;
141239
141283
  if (i === 0 && !stylesHandler.isClassicTheme()) {
@@ -26,8 +26,8 @@
26
26
  * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
27
27
  * USE OR INABILITY TO USE THIS SOFTWARE.
28
28
  *
29
- * Version: 0.0.0-next-9b837c3-20250221
30
- * Release date: 20/02/2025 (built at 21/02/2025 10:36:22)
29
+ * Version: 0.0.0-next-326182b-20250225
30
+ * Release date: 20/02/2025 (built at 25/02/2025 10:16:57)
31
31
  */.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 .hide{display:none}.handsontable .relative{position:relative}.handsontable .wtHider{position:relative;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;position:relative;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;box-sizing:border-box!important;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{position:absolute;select{-webkit-appearance:menulist-button!important;border:2px solid #4b89ff;box-sizing:border-box!important;height:100%;width:100%}}.htSelectEditor select:focus{outline:none}.htSelectEditor .htAutocompleteArrow{display: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}.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.noValue{opacity:.5}.handsontable .htCheckboxRendererLabel{cursor:pointer;display:inline-block;font-size:inherit;vertical-align:middle}.handsontable .htCheckboxRendererLabel.fullWidth{width:100%}.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[dir=ltr] thead th:has(.collapsibleIndicator) div.htRight span.colHeader{margin-right:20px}.handsontable[dir=rtl] thead th:has(.collapsibleIndicator) div.htLeft span.colHeader{margin-left:20px}.handsontable .columnSorting{position:relative}.handsontable[dir=ltr] div.htRight span[class*=ascending],.handsontable[dir=ltr] div.htRight span[class*=descending]{margin-left:-10px;margin-right:10px}.handsontable[dir=rtl] div.htLeft span[class*=ascending],.handsontable[dir=rtl] div.htLeft span[class*=descending]{margin-left:10px;margin-right:-10px}.handsontable[dir=ltr] div.htRight span[class*=ascending]:only-child,.handsontable[dir=ltr] div.htRight span[class*=descending]:only-child{margin-left:-15px;margin-right:15px}.handsontable[dir=rtl] div.htLeft span[class*=ascending]:only-child,.handsontable[dir=rtl] div.htLeft span[class*=descending]:only-child{margin-left:15px;margin-right:-15px}.handsontable .columnSorting.sortAction:hover{cursor:pointer;text-decoration:underline}.handsontable span.colHeader.columnSorting:before{background-position-x:right;background-repeat:no-repeat;background-size:contain;content:"";height:10px;left:unset;margin-top:-6px;padding-left:8px;padding-right:0;position:absolute;right:-9px;top:50%;width:5px}[dir=rtl].handsontable span.colHeader.columnSorting:before{background-position-x:left;left:-9px;padding-left:0;padding-right:8px;right:unset}.handsontable span.colHeader.columnSorting.ascending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFNJREFUeAHtzjkSgCAUBNHPgsoy97+ulGXRqJE5L+xkxoYt2UdsLb5bqFINz+aLuuLn5rIu2RkO3fZpWENimNgiw6iBYRTPMLJjGFxQZ1hxxb/xBI1qC8k39CdKAAAAAElFTkSuQmCC)}.handsontable span.colHeader.columnSorting.descending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFJJREFUeAHtzjkSgCAQRNFmQYUZ7n9dKUvru0TmvPAn3br0QfgdZ5xx6x+rQn23GqTYnq1FDcnuzZIO2WmedVqIRVxgGKEyjNgYRjKGkZ1hFIZ3I70LyM0VtU8AAAAASUVORK5CYII=)}.htGhostTable .htCore span.colHeader.columnSorting:not(.indicatorDisabled):before{content:"*";display:inline-block;padding-right:20px;position:relative}.handsontable.htGhostTable table thead th{border-bottom-width:0}.handsontable.htGhostTable table tbody tr td,.handsontable.htGhostTable table tbody tr th{border-top-width:0}.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}
32
32
  /*!
33
33
  * Handsontable ContextMenu