handsontable 15.1.0 → 15.2.0-next-9a1a15b-20250314

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.
Files changed (163) hide show
  1. package/3rdparty/walkontable/src/selection/border/border.js +16 -3
  2. package/3rdparty/walkontable/src/selection/border/border.mjs +17 -4
  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/table.js +3 -2
  6. package/3rdparty/walkontable/src/table.mjs +4 -3
  7. package/3rdparty/walkontable/src/utils/orderView/viewDiffer/viewOrder.js +1 -0
  8. package/3rdparty/walkontable/src/utils/orderView/viewDiffer/viewOrder.mjs +1 -0
  9. package/3rdparty/walkontable/src/viewport.js +30 -3
  10. package/3rdparty/walkontable/src/viewport.mjs +30 -3
  11. package/CHANGELOG.md +40 -0
  12. package/base.js +2 -2
  13. package/base.mjs +2 -2
  14. package/core.js +2 -37
  15. package/core.mjs +2 -37
  16. package/dataMap/dataMap.js +4 -12
  17. package/dataMap/dataMap.mjs +4 -12
  18. package/dataMap/dataSource.js +2 -2
  19. package/dataMap/dataSource.mjs +2 -2
  20. package/dataMap/metaManager/metaSchema.js +2 -2
  21. package/dataMap/metaManager/metaSchema.mjs +2 -2
  22. package/dist/handsontable.css +2 -2
  23. package/dist/handsontable.full.css +2 -2
  24. package/dist/handsontable.full.js +500 -412
  25. package/dist/handsontable.full.min.css +2 -2
  26. package/dist/handsontable.full.min.js +73 -73
  27. package/dist/handsontable.js +500 -412
  28. package/dist/handsontable.min.css +2 -2
  29. package/dist/handsontable.min.js +43 -43
  30. package/dist/languages/all.js +139 -28
  31. package/dist/languages/all.min.js +1 -1
  32. package/dist/languages/fa-IR.js +167 -0
  33. package/dist/languages/fa-IR.min.js +1 -0
  34. package/dist/languages/it-IT.js +3 -0
  35. package/dist/languages/it-IT.min.js +1 -1
  36. package/dist/languages/sr-SP.js +3 -0
  37. package/dist/languages/sr-SP.min.js +1 -1
  38. package/editors/autocompleteEditor/autocompleteEditor.js +25 -20
  39. package/editors/autocompleteEditor/autocompleteEditor.mjs +25 -20
  40. package/editors/dateEditor/dateEditor.d.ts +0 -2
  41. package/editors/dateEditor/dateEditor.js +18 -7
  42. package/editors/dateEditor/dateEditor.mjs +17 -6
  43. package/editors/textEditor/textEditor.js +1 -1
  44. package/editors/textEditor/textEditor.mjs +2 -2
  45. package/focusManager.js +5 -3
  46. package/focusManager.mjs +6 -4
  47. package/helpers/dom/element.d.ts +1 -0
  48. package/helpers/dom/element.js +23 -4
  49. package/helpers/dom/element.mjs +21 -3
  50. package/helpers/dom/event.js +2 -1
  51. package/helpers/dom/event.mjs +2 -1
  52. package/helpers/mixed.js +2 -2
  53. package/helpers/mixed.mjs +2 -2
  54. package/helpers/number.js +1 -0
  55. package/helpers/number.mjs +1 -0
  56. package/i18n/languages/fa-IR.d.ts +5 -0
  57. package/i18n/languages/fa-IR.js +96 -0
  58. package/i18n/languages/fa-IR.mjs +90 -0
  59. package/i18n/languages/index.d.ts +2 -0
  60. package/i18n/languages/index.js +2 -0
  61. package/i18n/languages/index.mjs +2 -1
  62. package/i18n/languages/it-IT.js +3 -0
  63. package/i18n/languages/it-IT.mjs +3 -0
  64. package/i18n/languages/sr-SP.js +3 -0
  65. package/i18n/languages/sr-SP.mjs +3 -0
  66. package/i18n/phraseFormatters/substituteVariables.js +1 -0
  67. package/i18n/phraseFormatters/substituteVariables.mjs +1 -0
  68. package/languages/all.js +139 -28
  69. package/languages/fa-IR.js +167 -0
  70. package/languages/fa-IR.mjs +92 -0
  71. package/languages/index.js +139 -28
  72. package/languages/index.mjs +2 -1
  73. package/languages/it-IT.js +3 -0
  74. package/languages/it-IT.mjs +3 -0
  75. package/languages/sr-SP.js +3 -0
  76. package/languages/sr-SP.mjs +3 -0
  77. package/package.json +13 -2
  78. package/plugins/columnSorting/columnSorting.js +17 -1
  79. package/plugins/columnSorting/columnSorting.mjs +18 -2
  80. package/plugins/columnSorting/columnStatesManager.js +1 -0
  81. package/plugins/columnSorting/columnStatesManager.mjs +1 -0
  82. package/plugins/columnSorting/utils.js +14 -0
  83. package/plugins/columnSorting/utils.mjs +13 -0
  84. package/plugins/comments/comments.js +5 -2
  85. package/plugins/comments/comments.mjs +6 -3
  86. package/plugins/contextMenu/menu/menu.js +9 -3
  87. package/plugins/contextMenu/menu/menu.mjs +9 -3
  88. package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -8
  89. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -8
  90. package/plugins/contextMenu/predefinedItems/columnRight.js +2 -9
  91. package/plugins/contextMenu/predefinedItems/columnRight.mjs +2 -9
  92. package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -8
  93. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -8
  94. package/plugins/contextMenu/predefinedItems/rowBelow.js +2 -9
  95. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +2 -9
  96. package/plugins/copyPaste/copyPaste.js +6 -12
  97. package/plugins/copyPaste/copyPaste.mjs +7 -13
  98. package/plugins/exportFile/types/csv.js +1 -0
  99. package/plugins/exportFile/types/csv.mjs +1 -0
  100. package/plugins/filters/conditionCollection.js +0 -26
  101. package/plugins/filters/conditionCollection.mjs +0 -26
  102. package/plugins/filters/filters.d.ts +2 -0
  103. package/plugins/filters/filters.js +77 -8
  104. package/plugins/filters/filters.mjs +77 -8
  105. package/plugins/mergeCells/mergeCells.js +9 -6
  106. package/plugins/mergeCells/mergeCells.mjs +9 -6
  107. package/plugins/multiColumnSorting/multiColumnSorting.js +1 -21
  108. package/plugins/multiColumnSorting/multiColumnSorting.mjs +1 -21
  109. package/plugins/nestedHeaders/nestedHeaders.js +5 -3
  110. package/plugins/nestedHeaders/nestedHeaders.mjs +5 -3
  111. package/plugins/nestedHeaders/stateManager/index.js +1 -0
  112. package/plugins/nestedHeaders/stateManager/index.mjs +1 -0
  113. package/plugins/undoRedo/actions/_base.js +10 -0
  114. package/plugins/undoRedo/actions/_base.mjs +10 -0
  115. package/plugins/undoRedo/actions/cellAlignment.js +1 -1
  116. package/plugins/undoRedo/actions/cellAlignment.mjs +1 -1
  117. package/plugins/undoRedo/actions/columnMove.js +1 -1
  118. package/plugins/undoRedo/actions/columnMove.mjs +1 -1
  119. package/plugins/undoRedo/actions/columnSort.js +1 -1
  120. package/plugins/undoRedo/actions/columnSort.mjs +1 -1
  121. package/plugins/undoRedo/actions/createColumn.js +1 -1
  122. package/plugins/undoRedo/actions/createColumn.mjs +1 -1
  123. package/plugins/undoRedo/actions/createRow.js +1 -1
  124. package/plugins/undoRedo/actions/createRow.mjs +1 -1
  125. package/plugins/undoRedo/actions/dataChange.js +1 -1
  126. package/plugins/undoRedo/actions/dataChange.mjs +1 -1
  127. package/plugins/undoRedo/actions/filters.js +3 -3
  128. package/plugins/undoRedo/actions/filters.mjs +3 -3
  129. package/plugins/undoRedo/actions/mergeCells.js +4 -1
  130. package/plugins/undoRedo/actions/mergeCells.mjs +4 -1
  131. package/plugins/undoRedo/actions/removeColumn.js +4 -2
  132. package/plugins/undoRedo/actions/removeColumn.mjs +4 -2
  133. package/plugins/undoRedo/actions/removeRow.js +1 -1
  134. package/plugins/undoRedo/actions/removeRow.mjs +1 -1
  135. package/plugins/undoRedo/actions/rowMove.js +1 -1
  136. package/plugins/undoRedo/actions/rowMove.mjs +1 -1
  137. package/plugins/undoRedo/actions/unmergeCells.js +4 -1
  138. package/plugins/undoRedo/actions/unmergeCells.mjs +4 -1
  139. package/plugins/undoRedo/undoRedo.d.ts +48 -17
  140. package/renderers/checkboxRenderer/checkboxRenderer.js +1 -1
  141. package/renderers/checkboxRenderer/checkboxRenderer.mjs +2 -2
  142. package/renderers/numericRenderer/numericRenderer.js +10 -2
  143. package/renderers/numericRenderer/numericRenderer.mjs +10 -2
  144. package/renderers/textRenderer/textRenderer.js +3 -12
  145. package/renderers/textRenderer/textRenderer.mjs +4 -13
  146. package/shortcuts/utils.js +1 -0
  147. package/shortcuts/utils.mjs +1 -0
  148. package/styles/handsontable.css +83 -99
  149. package/styles/handsontable.min.css +3 -3
  150. package/styles/ht-theme-horizon.css +14 -2
  151. package/styles/ht-theme-horizon.min.css +3 -3
  152. package/styles/ht-theme-main.css +14 -2
  153. package/styles/ht-theme-main.min.css +3 -3
  154. package/tableView.js +9 -0
  155. package/tableView.mjs +9 -0
  156. package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -0
  157. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -0
  158. package/translations/maps/utils/physicallyIndexed.js +1 -0
  159. package/translations/maps/utils/physicallyIndexed.mjs +1 -0
  160. package/utils/dataStructures/priorityMap.js +1 -0
  161. package/utils/dataStructures/priorityMap.mjs +1 -0
  162. package/plugins/multiColumnSorting/utils.js +0 -13
  163. package/plugins/multiColumnSorting/utils.mjs +0 -9
@@ -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: 15.1.0
29
- * Release date: 20/02/2025 (built at 19/02/2025 10:01:09)
28
+ * Version: 15.2.0-next-9a1a15b-20250314
29
+ * Release date: 19/03/2025 (built at 14/03/2025 11:50:19)
30
30
  */
31
31
  (function webpackUniversalModuleDefinition(root, factory) {
32
32
  if(typeof exports === 'object' && typeof module === 'object')
@@ -42681,7 +42681,7 @@ exports.CellRange = _base.CellRange;
42681
42681
  var _registry = __webpack_require__(764);
42682
42682
  var _eventManager = _interopRequireWildcard(__webpack_require__(522));
42683
42683
  var _translations = __webpack_require__(625);
42684
- var _jquery = _interopRequireDefault(__webpack_require__(1100));
42684
+ var _jquery = _interopRequireDefault(__webpack_require__(1099));
42685
42685
  var _ghostTable = _interopRequireDefault(__webpack_require__(843));
42686
42686
  var parseTableHelpers = _interopRequireWildcard(__webpack_require__(524));
42687
42687
  var arrayHelpers = _interopRequireWildcard(__webpack_require__(495));
@@ -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 = "19/02/2025 10:01:09";
42859
- Handsontable.version = "15.1.0";
42858
+ Handsontable.buildDate = "14/03/2025 11:50:19";
42859
+ Handsontable.version = "15.2.0-next-9a1a15b-20250314";
42860
42860
  Handsontable.languages = {
42861
42861
  dictionaryKeys: _registry.dictionaryKeys,
42862
42862
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -46435,6 +46435,7 @@ function Core(rootElement, userSettings) {
46435
46435
  * @returns {number}
46436
46436
  */
46437
46437
  this._getRowHeightFromSettings = function (row) {
46438
+ const defaultRowHeight = this.view.getDefaultRowHeight();
46438
46439
  let height = tableMeta.rowHeights;
46439
46440
  if (height !== undefined && height !== null) {
46440
46441
  switch (typeof height) {
@@ -46452,7 +46453,7 @@ function Core(rootElement, userSettings) {
46452
46453
  height = parseInt(height, 10);
46453
46454
  }
46454
46455
  }
46455
- return height;
46456
+ return height !== undefined && height !== null && height < defaultRowHeight ? defaultRowHeight : height;
46456
46457
  };
46457
46458
 
46458
46459
  /**
@@ -47567,42 +47568,6 @@ function Core(rootElement, userSettings) {
47567
47568
  this._getEditorManager = function () {
47568
47569
  return editorManager;
47569
47570
  };
47570
-
47571
- /**
47572
- * Check if currently it is RTL direction.
47573
- *
47574
- * @private
47575
- * @memberof Core#
47576
- * @function isRtl
47577
- * @returns {boolean} True if RTL.
47578
- */
47579
- this.isRtl = function () {
47580
- return instance.rootWindow.getComputedStyle(instance.rootElement).direction === 'rtl';
47581
- };
47582
-
47583
- /**
47584
- * Check if currently it is LTR direction.
47585
- *
47586
- * @private
47587
- * @memberof Core#
47588
- * @function isLtr
47589
- * @returns {boolean} True if LTR.
47590
- */
47591
- this.isLtr = function () {
47592
- return !instance.isRtl();
47593
- };
47594
-
47595
- /**
47596
- * Returns 1 for LTR; -1 for RTL. Useful for calculations.
47597
- *
47598
- * @private
47599
- * @memberof Core#
47600
- * @function getDirectionFactor
47601
- * @returns {number} Returns 1 for LTR; -1 for RTL.
47602
- */
47603
- this.getDirectionFactor = function () {
47604
- return instance.isLtr() ? 1 : -1;
47605
- };
47606
47571
  const shortcutManager = (0, _shortcuts.createShortcutManager)({
47607
47572
  handleEvent() {
47608
47573
  return instance.isListening();
@@ -48391,10 +48356,10 @@ var SHARED = '__core-js_shared__';
48391
48356
  var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
48392
48357
 
48393
48358
  (store.versions || (store.versions = [])).push({
48394
- version: '3.40.0',
48359
+ version: '3.41.0',
48395
48360
  mode: IS_PURE ? 'pure' : 'global',
48396
48361
  copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru)',
48397
- license: 'https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE',
48362
+ license: 'https://github.com/zloirock/core-js/blob/v3.41.0/LICENSE',
48398
48363
  source: 'https://github.com/zloirock/core-js'
48399
48364
  });
48400
48365
 
@@ -51446,9 +51411,10 @@ exports.innerHeight = innerHeight;
51446
51411
  exports.innerWidth = innerWidth;
51447
51412
  exports.isChildOf = isChildOf;
51448
51413
  exports.isDetached = isDetached;
51414
+ exports.isHTMLElement = isHTMLElement;
51449
51415
  exports.isInput = isInput;
51416
+ exports.isInternalElement = isInternalElement;
51450
51417
  exports.isOutsideInput = isOutsideInput;
51451
- exports.isThisHotChild = isThisHotChild;
51452
51418
  exports.isVisible = isVisible;
51453
51419
  exports.makeElementContentEditableAndSelectItsContent = makeElementContentEditableAndSelectItsContent;
51454
51420
  exports.matchesCSSRules = matchesCSSRules;
@@ -51509,7 +51475,7 @@ function getParent(element) {
51509
51475
  * @param {HTMLElement} thisHotContainer The Handsontable container.
51510
51476
  * @returns {boolean}
51511
51477
  */
51512
- function isThisHotChild(element, thisHotContainer) {
51478
+ function isInternalElement(element, thisHotContainer) {
51513
51479
  const closestHandsontableContainer = element.closest('.handsontable');
51514
51480
  return !!closestHandsontableContainer && (closestHandsontableContainer.parentNode === thisHotContainer || closestHandsontableContainer === thisHotContainer);
51515
51481
  }
@@ -52414,20 +52380,26 @@ function getScrollbarWidth() {
52414
52380
  /**
52415
52381
  * Checks if the provided element has a vertical scrollbar.
52416
52382
  *
52417
- * @param {HTMLElement} element An element to check.
52383
+ * @param {HTMLElement|Window} element An element to check.
52418
52384
  * @returns {boolean}
52419
52385
  */
52420
52386
  function hasVerticalScrollbar(element) {
52387
+ if (element instanceof Window) {
52388
+ return element.document.body.scrollHeight > element.innerHeight;
52389
+ }
52421
52390
  return element.offsetWidth !== element.clientWidth;
52422
52391
  }
52423
52392
 
52424
52393
  /**
52425
52394
  * Checks if the provided element has a vertical scrollbar.
52426
52395
  *
52427
- * @param {HTMLElement} element An element to check.
52396
+ * @param {HTMLElement|Window} element An element to check.
52428
52397
  * @returns {boolean}
52429
52398
  */
52430
52399
  function hasHorizontalScrollbar(element) {
52400
+ if (element instanceof Window) {
52401
+ return element.document.body.scrollWidth > element.innerWidth;
52402
+ }
52431
52403
  return element.offsetHeight !== element.clientHeight;
52432
52404
  }
52433
52405
 
@@ -52590,6 +52562,18 @@ function runWithSelectedContendEditableElement(element, callback) {
52590
52562
  removeContentEditableFromElementAndDeselect(element, invisibleSelection);
52591
52563
  }
52592
52564
 
52565
+ /**
52566
+ * Check if the element is HTMLElement.
52567
+ *
52568
+ * @param {*} element Element to check.
52569
+ * @returns {boolean} `true` if the element is HTMLElement.
52570
+ */
52571
+ function isHTMLElement(element) {
52572
+ var _element$ownerDocumen;
52573
+ const OwnElement = element === null || element === void 0 || (_element$ownerDocumen = element.ownerDocument) === null || _element$ownerDocumen === void 0 ? void 0 : _element$ownerDocumen.defaultView.Element;
52574
+ return !!(OwnElement && OwnElement !== null && element instanceof OwnElement);
52575
+ }
52576
+
52593
52577
  /***/ }),
52594
52578
  /* 352 */
52595
52579
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
@@ -54198,7 +54182,7 @@ const domMessages = {
54198
54182
  function _injectProductInfo(key, element) {
54199
54183
  const hasValidType = !isEmpty(key);
54200
54184
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
54201
- const hotVersion = "15.1.0";
54185
+ const hotVersion = "15.2.0-next-9a1a15b-20250314";
54202
54186
  let keyValidityDate;
54203
54187
  let consoleMessageState = 'invalid';
54204
54188
  let domMessageState = 'invalid';
@@ -54206,7 +54190,7 @@ function _injectProductInfo(key, element) {
54206
54190
  const schemaValidity = _checkKeySchema(key);
54207
54191
  if (hasValidType || isNonCommercial || schemaValidity) {
54208
54192
  if (schemaValidity) {
54209
- const releaseDate = (0, _moment.default)("20/02/2025", 'DD/MM/YYYY');
54193
+ const releaseDate = (0, _moment.default)("19/03/2025", 'DD/MM/YYYY');
54210
54194
  const releaseDays = Math.floor(releaseDate.toDate().getTime() / 8.64e7);
54211
54195
  const keyValidityDays = _extractTime(key);
54212
54196
  keyValidityDate = (0, _moment.default)((keyValidityDays + 1) * 8.64e7, 'x').format('MMMM DD, YYYY');
@@ -63192,7 +63176,7 @@ function isKey(keyCode, baseCode) {
63192
63176
 
63193
63177
  /***/ }),
63194
63178
  /* 509 */
63195
- /***/ ((__unused_webpack_module, exports) => {
63179
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
63196
63180
 
63197
63181
  "use strict";
63198
63182
 
@@ -63204,6 +63188,7 @@ exports.isRightClick = isRightClick;
63204
63188
  exports.isTouchEvent = isTouchEvent;
63205
63189
  exports.offsetRelativeTo = offsetRelativeTo;
63206
63190
  exports.stopImmediatePropagation = stopImmediatePropagation;
63191
+ var _element = __webpack_require__(351);
63207
63192
  /**
63208
63193
  * Prevent other listeners of the same event from being called.
63209
63194
  *
@@ -63267,7 +63252,7 @@ function offsetRelativeTo(event, untilElement) {
63267
63252
  y: event.offsetY
63268
63253
  };
63269
63254
  let element = event.target;
63270
- if (!(untilElement instanceof HTMLElement) || element !== untilElement && element.contains(untilElement)) {
63255
+ if (!(0, _element.isHTMLElement)(untilElement) || element !== untilElement && element.contains(untilElement)) {
63271
63256
  return offset;
63272
63257
  }
63273
63258
  while (element !== untilElement) {
@@ -67350,7 +67335,7 @@ class FocusManager {
67350
67335
  return;
67351
67336
  }
67352
67337
  let elementToBeFocused = _classPrivateFieldGet(_hot, this).runHooks('modifyFocusedElement', currentHighlightCoords.row, currentHighlightCoords.col, element);
67353
- if (!(elementToBeFocused instanceof HTMLElement)) {
67338
+ if (!(0, _element.isHTMLElement)(elementToBeFocused)) {
67354
67339
  elementToBeFocused = element;
67355
67340
  }
67356
67341
  if (elementToBeFocused && !((_classPrivateFieldGet4 = _classPrivateFieldGet(_hot, this).getActiveEditor()) !== null && _classPrivateFieldGet4 !== void 0 && _classPrivateFieldGet4.isOpened())) {
@@ -67377,6 +67362,8 @@ class FocusManager {
67377
67362
  let delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _classPrivateFieldGet(_refocusDelay, this);
67378
67363
  // Re-focus on the editor's `TEXTAREA` element (or a predefined element) if the `imeFastEdit` option is enabled.
67379
67364
  if (_classPrivateFieldGet(_hot, this).getSettings().imeFastEdit && !((_classPrivateFieldGet5 = _classPrivateFieldGet(_hot, this).getActiveEditor()) !== null && _classPrivateFieldGet5 !== void 0 && _classPrivateFieldGet5.isOpened())) {
67365
+ var _classPrivateFieldGet6, _classPrivateFieldGet7;
67366
+ (_classPrivateFieldGet6 = _classPrivateFieldGet(_hot, this).getActiveEditor()) === null || _classPrivateFieldGet6 === void 0 || (_classPrivateFieldGet7 = _classPrivateFieldGet6.refreshValue) === null || _classPrivateFieldGet7 === void 0 || _classPrivateFieldGet7.call(_classPrivateFieldGet6);
67380
67367
  if (!_classPrivateFieldGet(_debouncedSelect, this).has(delay)) {
67381
67368
  _classPrivateFieldGet(_debouncedSelect, this).set(delay, (0, _function.debounce)(() => {
67382
67369
  var _this$getRefocusEleme;
@@ -67389,8 +67376,8 @@ class FocusManager {
67389
67376
  }
67390
67377
  exports.FocusManager = FocusManager;
67391
67378
  function _getSelectedCell(callback) {
67392
- var _classPrivateFieldGet6;
67393
- const highlight = (_classPrivateFieldGet6 = _classPrivateFieldGet(_hot, this).getSelectedRangeLast()) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.highlight;
67379
+ var _classPrivateFieldGet8;
67380
+ const highlight = (_classPrivateFieldGet8 = _classPrivateFieldGet(_hot, this).getSelectedRangeLast()) === null || _classPrivateFieldGet8 === void 0 ? void 0 : _classPrivateFieldGet8.highlight;
67394
67381
  if (!highlight || !_classPrivateFieldGet(_hot, this).selection.isCellVisible(highlight)) {
67395
67382
  callback(null);
67396
67383
  return;
@@ -68110,6 +68097,7 @@ function unifyPluginArguments(pluginName, pluginClass, priority) {
68110
68097
  exports.__esModule = true;
68111
68098
  exports.createPriorityMap = createPriorityMap;
68112
68099
  __webpack_require__(201);
68100
+ __webpack_require__(311);
68113
68101
  __webpack_require__(338);
68114
68102
  var _number = __webpack_require__(534);
68115
68103
  var _function = __webpack_require__(497);
@@ -68199,6 +68187,7 @@ __webpack_require__(303);
68199
68187
  __webpack_require__(305);
68200
68188
  __webpack_require__(307);
68201
68189
  __webpack_require__(309);
68190
+ __webpack_require__(311);
68202
68191
  __webpack_require__(338);
68203
68192
  /* eslint-disable jsdoc/require-description-complete-sentence */
68204
68193
  /**
@@ -70241,6 +70230,15 @@ class TableView {
70241
70230
  return this._wt.wtTable.getHeight();
70242
70231
  }
70243
70232
 
70233
+ /**
70234
+ * Gets the table's offset.
70235
+ *
70236
+ * @returns {{ left: number, top: number }}
70237
+ */
70238
+ getTableOffset() {
70239
+ return this._wt.wtViewport.getWorkspaceOffset();
70240
+ }
70241
+
70244
70242
  /**
70245
70243
  * Gets the row header width. If there are multiple row headers, the width of
70246
70244
  * the sum of all of them is returned.
@@ -74456,6 +74454,7 @@ class Table {
74456
74454
  holder = this.domBindings.rootDocument.createElement('div');
74457
74455
  holder.style.position = 'relative';
74458
74456
  holder.className = 'wtHolder';
74457
+ (0, _element.setAttribute)(holder, [(0, _a11y.A11Y_TABINDEX)(-1)]);
74459
74458
  if (parent) {
74460
74459
  // if TABLE is detached (e.g. in Jasmine test), it has no parentNode so we cannot attach holder to it
74461
74460
  parent.insertBefore(holder, hider);
@@ -74852,12 +74851,12 @@ class Table {
74852
74851
  row = totalRows - CONTAINER.childNodes.length + row;
74853
74852
  } else if (CONTAINER === this.THEAD) {
74854
74853
  row = this.rowFilter.visibleColHeadedRowToSourceRow(row);
74855
- } else {
74854
+ } else if (this.rowFilter) {
74856
74855
  row = this.rowFilter.renderedToSource(row);
74857
74856
  }
74858
74857
  if ((0, _element.overlayContainsElement)(_overlay.CLONE_TOP_INLINE_START_CORNER, cellElement, this.wtRootElement) || (0, _element.overlayContainsElement)(_overlay.CLONE_INLINE_START, cellElement, this.wtRootElement) || (0, _element.overlayContainsElement)(_overlay.CLONE_BOTTOM_INLINE_START_CORNER, cellElement, this.wtRootElement)) {
74859
74858
  col = this.columnFilter.offsettedTH(col);
74860
- } else {
74859
+ } else if (this.columnFilter) {
74861
74860
  col = this.columnFilter.visibleRowHeadedColumnToSourceColumn(col);
74862
74861
  }
74863
74862
  const hookResult = this.wtSettings.getSetting('onModifyGetCoordsElement', row, col);
@@ -76257,6 +76256,7 @@ exports.ViewDiffer = ViewDiffer;
76257
76256
  var _interopRequireDefault = __webpack_require__(197);
76258
76257
  exports.__esModule = true;
76259
76258
  __webpack_require__(576);
76259
+ __webpack_require__(311);
76260
76260
  __webpack_require__(338);
76261
76261
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
76262
76262
  /**
@@ -80775,7 +80775,7 @@ function _scanCellsRange(callback) {
80775
80775
  }
80776
80776
  } else {
80777
80777
  const cell = wtTable.getCell(_classPrivateFieldGet(_activeOverlaysWot, this).createCellCoords(topRow, startColumn));
80778
- if (!(cell instanceof HTMLElement)) {
80778
+ if (!(0, _element.isHTMLElement)(cell)) {
80779
80779
  return;
80780
80780
  }
80781
80781
  }
@@ -81002,8 +81002,14 @@ class Border {
81002
81002
  */
81003
81003
  createMultipleSelectorHandles() {
81004
81004
  const {
81005
- rootDocument
81005
+ rootDocument,
81006
+ stylesHandler
81006
81007
  } = this.wot;
81008
+ const cellMobileHandleSize = stylesHandler.getCSSVariableValue('cell-mobile-handle-size');
81009
+ const cellMobileHandleBorderRadius = stylesHandler.getCSSVariableValue('cell-mobile-handle-border-radius');
81010
+ const cellMobileHandleBackgroundColor = stylesHandler.getCSSVariableValue('cell-mobile-handle-background-color');
81011
+ const cellMobileHandleBorderWidth = stylesHandler.getCSSVariableValue('cell-mobile-handle-border-width');
81012
+ const cellMobileHandleBorderColor = stylesHandler.getCSSVariableValue('cell-mobile-handle-border-color');
81007
81013
  this.selectionHandles = {
81008
81014
  top: rootDocument.createElement('DIV'),
81009
81015
  topHitArea: rootDocument.createElement('DIV'),
@@ -81032,13 +81038,20 @@ class Border {
81032
81038
  this.selectionHandles.styles.bottomHitArea[key] = value;
81033
81039
  this.selectionHandles.styles.topHitArea[key] = value;
81034
81040
  });
81035
- const handleStyle = {
81041
+ const handleStyle = stylesHandler.isClassicTheme() ? {
81036
81042
  position: 'absolute',
81037
81043
  height: `${width}px`,
81038
81044
  width: `${width}px`,
81039
81045
  'border-radius': `${parseInt(width / 1.5, 10)}px`,
81040
81046
  background: '#F5F5FF',
81041
81047
  border: '1px solid #4285c8'
81048
+ } : {
81049
+ position: 'absolute',
81050
+ height: `${cellMobileHandleSize}px`,
81051
+ width: `${cellMobileHandleSize}px`,
81052
+ 'border-radius': `${cellMobileHandleBorderRadius}px`,
81053
+ background: `${cellMobileHandleBackgroundColor}`,
81054
+ border: `${cellMobileHandleBorderWidth}px solid ${cellMobileHandleBorderColor}`
81042
81055
  };
81043
81056
  (0, _object.objectEach)(handleStyle, (value, key) => {
81044
81057
  this.selectionHandles.styles.bottom[key] = value;
@@ -81163,7 +81176,7 @@ class Border {
81163
81176
  fromTD = wtTable.getCell(this.wot.createCellCoords(fromRow, fromColumn));
81164
81177
  } else {
81165
81178
  fromTD = wtTable.getCell(this.wot.createCellCoords(fromRow, fromColumn));
81166
- if (!(fromTD instanceof HTMLElement)) {
81179
+ if (!(0, _element.isHTMLElement)(fromTD)) {
81167
81180
  this.disappear();
81168
81181
  return;
81169
81182
  }
@@ -82576,6 +82589,7 @@ var _default = exports["default"] = MasterTable;
82576
82589
 
82577
82590
 
82578
82591
  exports.__esModule = true;
82592
+ __webpack_require__(311);
82579
82593
  __webpack_require__(338);
82580
82594
  var _element = __webpack_require__(351);
82581
82595
  var _object = __webpack_require__(499);
@@ -82698,7 +82712,20 @@ class Viewport {
82698
82712
  * @returns {boolean}
82699
82713
  */
82700
82714
  hasVerticalScroll() {
82701
- return this.wtTable.hider.offsetHeight > this.getWorkspaceHeight();
82715
+ if (this.isVerticallyScrollableByWindow()) {
82716
+ const documentElement = this.domBindings.rootDocument.documentElement;
82717
+ return documentElement.scrollHeight > documentElement.clientHeight;
82718
+ }
82719
+ const {
82720
+ holder,
82721
+ hider
82722
+ } = this.wtTable;
82723
+ const holderHeight = holder.clientHeight;
82724
+ const hiderOffsetHeight = hider.offsetHeight;
82725
+ if (holderHeight < hiderOffsetHeight) {
82726
+ return true;
82727
+ }
82728
+ return hiderOffsetHeight > this.getWorkspaceHeight();
82702
82729
  }
82703
82730
 
82704
82731
  /**
@@ -82707,7 +82734,20 @@ class Viewport {
82707
82734
  * @returns {boolean}
82708
82735
  */
82709
82736
  hasHorizontalScroll() {
82710
- return this.wtTable.hider.offsetWidth > this.getWorkspaceWidth();
82737
+ if (this.isVerticallyScrollableByWindow()) {
82738
+ const documentElement = this.domBindings.rootDocument.documentElement;
82739
+ return documentElement.scrollWidth > documentElement.clientWidth;
82740
+ }
82741
+ const {
82742
+ holder,
82743
+ hider
82744
+ } = this.wtTable;
82745
+ const holderWidth = holder.clientWidth;
82746
+ const hiderOffsetWidth = hider.offsetWidth;
82747
+ if (holderWidth < hiderOffsetWidth) {
82748
+ return true;
82749
+ }
82750
+ return hiderOffsetWidth > this.getWorkspaceWidth();
82711
82751
  }
82712
82752
 
82713
82753
  /**
@@ -82747,7 +82787,7 @@ class Viewport {
82747
82787
  * @returns {number}
82748
82788
  */
82749
82789
  getWorkspaceOffset() {
82750
- return (0, _element.offset)(this.wtTable.TABLE);
82790
+ return (0, _element.offset)(this.wtTable.holder);
82751
82791
  }
82752
82792
 
82753
82793
  /**
@@ -83726,8 +83766,8 @@ class DataSource {
83726
83766
  value = valueHolder.value;
83727
83767
  }
83728
83768
  }
83729
- if (!Number.isInteger(row)) {
83730
- // invalid row number
83769
+ if (['__proto__', 'constructor', 'prototype'].includes(row)) {
83770
+ // prevent prototype pollution
83731
83771
  return;
83732
83772
  }
83733
83773
  if (!Number.isInteger(column)) {
@@ -85214,6 +85254,7 @@ exports.IndexMap = IndexMap;
85214
85254
  exports.__esModule = true;
85215
85255
  exports.getListWithInsertedItems = getListWithInsertedItems;
85216
85256
  exports.getListWithRemovedItems = getListWithRemovedItems;
85257
+ __webpack_require__(311);
85217
85258
  __webpack_require__(338);
85218
85259
  var _function = __webpack_require__(497);
85219
85260
  var _array = __webpack_require__(495);
@@ -85258,6 +85299,7 @@ function getListWithRemovedItems(indexedValues, removedIndexes) {
85258
85299
 
85259
85300
  var _interopRequireDefault = __webpack_require__(197);
85260
85301
  exports.__esModule = true;
85302
+ __webpack_require__(311);
85261
85303
  __webpack_require__(338);
85262
85304
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
85263
85305
  var _indexMap = __webpack_require__(632);
@@ -89839,7 +89881,7 @@ class DataMap {
89839
89881
  this.metaManager = metaManager;
89840
89882
  this.tableMeta = metaManager.getTableMeta();
89841
89883
  this.dataSource = data;
89842
- this.duckSchema = this.createDuckSchema();
89884
+ this.refreshDuckSchema();
89843
89885
  this.createMap();
89844
89886
  }
89845
89887
 
@@ -90202,14 +90244,10 @@ class DataMap {
90202
90244
  // List of removed indexes might be changed in the `beforeRemoveRow` hook. There may be new values.
90203
90245
  const numberOfRemovedIndexes = removedPhysicalIndexes.length;
90204
90246
  this.filterData(rowIndex, numberOfRemovedIndexes, removedPhysicalIndexes);
90205
-
90206
- // TODO: Function `removeRow` should validate fully, probably above.
90207
90247
  if (rowIndex < this.hot.countRows()) {
90208
90248
  this.hot.rowIndexMapper.removeIndexes(removedPhysicalIndexes);
90209
- const customDefinedColumns = (0, _mixed.isDefined)(this.tableMeta.columns) || (0, _mixed.isDefined)(this.tableMeta.dataSchema);
90210
-
90211
- // All rows have been removed. There shouldn't be any columns.
90212
- if (this.hot.rowIndexMapper.getNotTrimmedIndexesLength() === 0 && customDefinedColumns === false) {
90249
+ const preserveColumns = (0, _mixed.isDefined)(this.tableMeta.columns) || (0, _mixed.isDefined)(this.tableMeta.dataSchema) || this.tableMeta.colHeaders;
90250
+ if (this.hot.rowIndexMapper.getNotTrimmedIndexesLength() === 0 && !preserveColumns) {
90213
90251
  this.hot.columnIndexMapper.setIndexesSequence([]);
90214
90252
  }
90215
90253
  }
@@ -90272,13 +90310,9 @@ class DataMap {
90272
90310
  }
90273
90311
  }
90274
90312
  }
90275
-
90276
- // TODO: Function `removeCol` should validate fully, probably above.
90277
90313
  if (columnIndex < this.hot.countCols()) {
90278
90314
  this.hot.columnIndexMapper.removeIndexes(removedPhysicalIndexes);
90279
-
90280
- // All columns have been removed. There shouldn't be any rows.
90281
- if (this.hot.columnIndexMapper.getNotTrimmedIndexesLength() === 0) {
90315
+ if (!this.tableMeta.rowHeaders && this.hot.columnIndexMapper.getNotTrimmedIndexesLength() === 0) {
90282
90316
  this.hot.rowIndexMapper.setIndexesSequence([]);
90283
90317
  }
90284
90318
  }
@@ -95282,8 +95316,8 @@ var _default = () => {
95282
95316
  /**
95283
95317
  * The `rowHeights` option sets rows' heights, in pixels.
95284
95318
  *
95285
- * In the rendering process, the default row height is 23 px (in the classic theme: 22 px + 1 px of the row's bottom border) or whatever is defined in the used theme (based on the line height, vertical padding and cell borders).
95286
- * You can change it to equal or greater than the defautl value, by setting the `rowHeights` option to one of the following:
95319
+ * In the rendering process, the default row height is `classic: 23px`, `main: 29px`, `horizon: 37px` (in the classic theme: 22px + 1px of the row's bottom border) or whatever is defined in the used theme (based on the line height, vertical padding and cell borders).
95320
+ * You can change it to equal or greater than the default value, by setting the `rowHeights` option to one of the following:
95287
95321
  *
95288
95322
  * | Setting | Description | Example |
95289
95323
  * | ----------- | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
@@ -100613,6 +100647,7 @@ exports.createContext = createContext;
100613
100647
 
100614
100648
 
100615
100649
  exports.__esModule = true;
100650
+ __webpack_require__(311);
100616
100651
  __webpack_require__(338);
100617
100652
  // This file handles key-name discrepancies between browsers.
100618
100653
  // For the list of discrepancies, go to: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values.
@@ -101142,7 +101177,7 @@ class TextEditor extends _baseEditor.BaseEditor {
101142
101177
  */
101143
101178
  close() {
101144
101179
  this.autoResize.unObserve();
101145
- if ((0, _element.isThisHotChild)(this.hot.rootDocument.activeElement, this.hot.rootElement)) {
101180
+ if ((0, _element.isInternalElement)(this.hot.rootDocument.activeElement, this.hot.rootElement)) {
101146
101181
  this.hot.listen(); // don't refocus the table if user focused some cell outside of HT on purpose
101147
101182
  }
101148
101183
  this.hideEditableElement();
@@ -101754,18 +101789,9 @@ function textRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
101754
101789
  if (cellProperties.trimWhitespace) {
101755
101790
  escaped = escaped.trim();
101756
101791
  }
101757
- if (cellProperties.rendererTemplate) {
101758
- (0, _element.empty)(TD);
101759
- const TEMPLATE = hotInstance.rootDocument.createElement('TEMPLATE');
101760
- TEMPLATE.setAttribute('bind', '{{}}');
101761
- TEMPLATE.innerHTML = cellProperties.rendererTemplate;
101762
- HTMLTemplateElement.decorate(TEMPLATE);
101763
- TEMPLATE.model = hotInstance.getSourceDataAtRow(row);
101764
- TD.appendChild(TEMPLATE);
101765
- } else {
101766
- // this is faster than innerHTML. See: https://github.com/handsontable/handsontable/wiki/JavaScript-&-DOM-performance-tips
101767
- (0, _element.fastInnerText)(TD, escaped);
101768
- }
101792
+
101793
+ // this is faster than innerHTML. See: https://github.com/handsontable/handsontable/wiki/JavaScript-&-DOM-performance-tips
101794
+ (0, _element.fastInnerText)(TD, escaped);
101769
101795
  }
101770
101796
  textRenderer.RENDERER_TYPE = RENDERER_TYPE;
101771
101797
 
@@ -101994,6 +102020,7 @@ var _string = __webpack_require__(352);
101994
102020
  var _unicode = __webpack_require__(508);
101995
102021
  var _textRenderer = __webpack_require__(760);
101996
102022
  var _a11y = __webpack_require__(496);
102023
+ function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
101997
102024
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
101998
102025
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
101999
102026
  function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
@@ -102005,9 +102032,14 @@ const EDITOR_TYPE = exports.EDITOR_TYPE = 'autocomplete';
102005
102032
  * @class AutocompleteEditor
102006
102033
  */
102007
102034
  var _idPrefix = /*#__PURE__*/new WeakMap();
102035
+ var _AutocompleteEditor_brand = /*#__PURE__*/new WeakSet();
102008
102036
  class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
102009
102037
  constructor() {
102010
102038
  super(...arguments);
102039
+ /**
102040
+ * Fix width of the internal Handsontable's instance when editor has vertical scroll.
102041
+ */
102042
+ _classPrivateMethodInitSpec(this, _AutocompleteEditor_brand);
102011
102043
  /**
102012
102044
  * Query string to turn available values over.
102013
102045
  *
@@ -102315,21 +102347,16 @@ class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
102315
102347
  * @returns {boolean}
102316
102348
  */
102317
102349
  flipDropdownIfNeeded() {
102318
- const trimmingContainer = (0, _element.getTrimmingContainer)(this.hot.view._wt.wtTable.TABLE);
102319
- const isWindowAsScrollableElement = trimmingContainer === this.hot.rootWindow;
102320
- const preventOverflow = this.cellProperties.preventOverflow;
102321
- if (isWindowAsScrollableElement || !isWindowAsScrollableElement && (preventOverflow || preventOverflow === 'horizontal')) {
102322
- return false;
102350
+ const editorRect = this.getEditedCellRect();
102351
+ const editorHeight = editorRect.height;
102352
+ let spaceAbove = editorRect.top;
102353
+ if (this.hot.view.isVerticallyScrollableByWindow()) {
102354
+ const topOffset = this.hot.view.getTableOffset().top - this.hot.rootWindow.scrollY;
102355
+ spaceAbove = Math.max(spaceAbove + topOffset, 0);
102323
102356
  }
102324
- const textareaOffset = (0, _element.offset)(this.TEXTAREA);
102325
- const textareaHeight = (0, _element.outerHeight)(this.TEXTAREA);
102326
102357
  const dropdownHeight = this.getHeight();
102327
- const trimmingContainerScrollTop = trimmingContainer.scrollTop;
102328
- const headersHeight = (0, _element.outerHeight)(this.hot.view._wt.wtTable.THEAD);
102329
- const containerOffset = (0, _element.offset)(trimmingContainer);
102330
- const spaceAbove = textareaOffset.top - containerOffset.top - headersHeight + trimmingContainerScrollTop;
102331
- const spaceBelow = trimmingContainer.scrollHeight - spaceAbove - headersHeight - textareaHeight;
102332
- const flipNeeded = dropdownHeight > spaceBelow && spaceAbove > spaceBelow;
102358
+ const spaceBelow = this.hot.view.getWorkspaceHeight() - spaceAbove - editorHeight;
102359
+ const flipNeeded = dropdownHeight > spaceBelow && spaceAbove > spaceBelow + editorHeight;
102333
102360
  if (flipNeeded) {
102334
102361
  this.flipDropdown(dropdownHeight);
102335
102362
  } else {
@@ -102389,7 +102416,6 @@ class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
102389
102416
  dropdownStyle.top = '';
102390
102417
  this.htEditor.flipped = undefined;
102391
102418
  }
102392
-
102393
102419
  /**
102394
102420
  * Updates width and height of the internal Handsontable's instance.
102395
102421
  *
@@ -102400,11 +102426,7 @@ class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
102400
102426
  width: this.getWidth(),
102401
102427
  height: this.getHeight()
102402
102428
  });
102403
- if (this.htEditor.view.hasVerticalScroll()) {
102404
- this.htEditor.updateSettings({
102405
- width: this.htEditor.getSettings().width + (0, _element.getScrollbarWidth)(this.hot.rootDocument)
102406
- });
102407
- }
102429
+ _assertClassBrand(_AutocompleteEditor_brand, this, _fixDropdownWidth).call(this);
102408
102430
  this.htEditor.view._wt.wtTable.alignOverlaysWithTrimmingContainer();
102409
102431
  }
102410
102432
 
@@ -102418,6 +102440,8 @@ class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
102418
102440
  this.htEditor.updateSettings({
102419
102441
  height
102420
102442
  });
102443
+ _assertClassBrand(_AutocompleteEditor_brand, this, _fixDropdownWidth).call(this);
102444
+ this.htEditor.view._wt.wtTable.alignOverlaysWithTrimmingContainer();
102421
102445
  }
102422
102446
 
102423
102447
  /**
@@ -102541,6 +102565,13 @@ class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
102541
102565
  }
102542
102566
  }
102543
102567
  exports.AutocompleteEditor = AutocompleteEditor;
102568
+ function _fixDropdownWidth() {
102569
+ if (this.htEditor.view.hasVerticalScroll()) {
102570
+ this.htEditor.updateSettings({
102571
+ width: this.htEditor.getSettings().width + (0, _element.getScrollbarWidth)(this.hot.rootDocument)
102572
+ });
102573
+ }
102574
+ }
102544
102575
 
102545
102576
  /***/ }),
102546
102577
  /* 768 */
@@ -102929,21 +102960,27 @@ var _element = __webpack_require__(351);
102929
102960
  var _object = __webpack_require__(499);
102930
102961
  var _unicode = __webpack_require__(508);
102931
102962
  var _browser = __webpack_require__(498);
102963
+ function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
102964
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
102965
+ 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"); }
102932
102966
  const EDITOR_TYPE = exports.EDITOR_TYPE = 'date';
102933
102967
  const SHORTCUTS_GROUP_EDITOR = 'dateEditor';
102968
+ const DEFAULT_DATE_FORMAT = 'DD/MM/YYYY';
102934
102969
 
102935
102970
  /**
102936
102971
  * @private
102937
102972
  * @class DateEditor
102938
102973
  */
102974
+ var _DateEditor_brand = /*#__PURE__*/new WeakSet();
102939
102975
  class DateEditor extends _textEditor.TextEditor {
102940
102976
  constructor() {
102941
102977
  super(...arguments);
102942
- // TODO: Move this option to general settings
102943
102978
  /**
102944
- * @type {string}
102979
+ * Gets the current date format for this cell.
102980
+ *
102981
+ * @returns {string}
102945
102982
  */
102946
- (0, _defineProperty2.default)(this, "defaultDateFormat", 'DD/MM/YYYY');
102983
+ _classPrivateMethodInitSpec(this, _DateEditor_brand);
102947
102984
  /**
102948
102985
  * @type {boolean}
102949
102986
  */
@@ -103109,7 +103146,7 @@ class DateEditor extends _textEditor.TextEditor {
103109
103146
  * @param {Event} event The event object.
103110
103147
  */
103111
103148
  showDatepicker(event) {
103112
- const dateFormat = this.cellProperties.dateFormat || this.defaultDateFormat;
103149
+ const dateFormat = _assertClassBrand(_DateEditor_brand, this, _getDateFormat).call(this);
103113
103150
  const isMouseDown = this.hot.view.isMouseDown();
103114
103151
  const isMeta = event ? (0, _unicode.isFunctionKey)(event.keyCode) : false;
103115
103152
  let dateStr;
@@ -103161,6 +103198,7 @@ class DateEditor extends _textEditor.TextEditor {
103161
103198
  * @returns {object}
103162
103199
  */
103163
103200
  getDatePickerConfig() {
103201
+ var _options$format;
103164
103202
  const htInput = this.TEXTAREA;
103165
103203
  const options = {};
103166
103204
  if (this.cellProperties && this.cellProperties.datePickerConfig) {
@@ -103173,7 +103211,7 @@ class DateEditor extends _textEditor.TextEditor {
103173
103211
  options.container = this.datePicker;
103174
103212
  options.bound = false;
103175
103213
  options.keyboardInput = false;
103176
- options.format = options.format || this.defaultDateFormat;
103214
+ options.format = (_options$format = options.format) !== null && _options$format !== void 0 ? _options$format : _assertClassBrand(_DateEditor_brand, this, _getDateFormat).call(this);
103177
103215
  options.reposition = options.reposition || false;
103178
103216
  // Set the RTL to `false`. Due to the https://github.com/Pikaday/Pikaday/issues/647 bug, the layout direction
103179
103217
  // of the date picker is controlled by juggling the "dir" attribute of the root date picker element.
@@ -103182,7 +103220,7 @@ class DateEditor extends _textEditor.TextEditor {
103182
103220
  options.onSelect = value => {
103183
103221
  let dateStr = value;
103184
103222
  if (!isNaN(dateStr.getTime())) {
103185
- dateStr = (0, _moment.default)(dateStr).format(this.cellProperties.dateFormat || this.defaultDateFormat);
103223
+ dateStr = (0, _moment.default)(dateStr).format(_assertClassBrand(_DateEditor_brand, this, _getDateFormat).call(this));
103186
103224
  }
103187
103225
  this.setValue(dateStr);
103188
103226
  if (origOnSelect) {
@@ -103250,6 +103288,10 @@ class DateEditor extends _textEditor.TextEditor {
103250
103288
  }
103251
103289
  }
103252
103290
  exports.DateEditor = DateEditor;
103291
+ function _getDateFormat() {
103292
+ var _this$cellProperties$;
103293
+ return (_this$cellProperties$ = this.cellProperties.dateFormat) !== null && _this$cellProperties$ !== void 0 ? _this$cellProperties$ : DEFAULT_DATE_FORMAT;
103294
+ }
103253
103295
 
103254
103296
  /***/ }),
103255
103297
  /* 774 */
@@ -105202,7 +105244,7 @@ function checkboxRenderer(hotInstance, TD, row, col, prop, value, cellProperties
105202
105244
  continue;
105203
105245
  }
105204
105246
  const cell = hotInstance.getCell(visualRow, visualColumn);
105205
- if (cell instanceof HTMLElement) {
105247
+ if ((0, _element.isHTMLElement)(cell)) {
105206
105248
  const checkboxes = cell.querySelectorAll('input[type=checkbox]');
105207
105249
  if (checkboxes.length > 0) {
105208
105250
  return true;
@@ -105470,8 +105512,16 @@ function getRenderedValue(value, cellProperties) {
105470
105512
  function numericRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
105471
105513
  let newValue = value;
105472
105514
  if ((0, _number.isNumeric)(newValue)) {
105473
- const className = cellProperties.className || '';
105474
- const classArr = className.length ? className.split(' ') : [];
105515
+ let classArr = [];
105516
+ if (Array.isArray(cellProperties.className)) {
105517
+ classArr = cellProperties.className;
105518
+ } else {
105519
+ var _cellProperties$class;
105520
+ const className = (_cellProperties$class = cellProperties.className) !== null && _cellProperties$class !== void 0 ? _cellProperties$class : '';
105521
+ if (className.length) {
105522
+ classArr = className.split(' ');
105523
+ }
105524
+ }
105475
105525
  newValue = getRenderedValue(newValue, cellProperties);
105476
105526
  if (classArr.indexOf('htLeft') < 0 && classArr.indexOf('htCenter') < 0 && classArr.indexOf('htRight') < 0 && classArr.indexOf('htJustify') < 0) {
105477
105527
  classArr.push('htRight');
@@ -111925,23 +111975,23 @@ var _mergeCells = __webpack_require__(1022);
111925
111975
  exports.MergeCells = _mergeCells.MergeCells;
111926
111976
  var _multiColumnSorting = __webpack_require__(1036);
111927
111977
  exports.MultiColumnSorting = _multiColumnSorting.MultiColumnSorting;
111928
- var _multipleSelectionHandles = __webpack_require__(1041);
111978
+ var _multipleSelectionHandles = __webpack_require__(1040);
111929
111979
  exports.MultipleSelectionHandles = _multipleSelectionHandles.MultipleSelectionHandles;
111930
- var _nestedHeaders = __webpack_require__(1043);
111980
+ var _nestedHeaders = __webpack_require__(1042);
111931
111981
  exports.NestedHeaders = _nestedHeaders.NestedHeaders;
111932
- var _nestedRows = __webpack_require__(1059);
111982
+ var _nestedRows = __webpack_require__(1058);
111933
111983
  exports.NestedRows = _nestedRows.NestedRows;
111934
- var _persistentState = __webpack_require__(1067);
111984
+ var _persistentState = __webpack_require__(1066);
111935
111985
  exports.PersistentState = _persistentState.PersistentState;
111936
- var _search = __webpack_require__(1070);
111986
+ var _search = __webpack_require__(1069);
111937
111987
  exports.Search = _search.Search;
111938
- var _stretchColumns = __webpack_require__(1072);
111988
+ var _stretchColumns = __webpack_require__(1071);
111939
111989
  exports.StretchColumns = _stretchColumns.StretchColumns;
111940
- var _touchScroll = __webpack_require__(1078);
111990
+ var _touchScroll = __webpack_require__(1077);
111941
111991
  exports.TouchScroll = _touchScroll.TouchScroll;
111942
- var _trimRows = __webpack_require__(1080);
111992
+ var _trimRows = __webpack_require__(1079);
111943
111993
  exports.TrimRows = _trimRows.TrimRows;
111944
- var _undoRedo = __webpack_require__(1082);
111994
+ var _undoRedo = __webpack_require__(1081);
111945
111995
  exports.UndoRedo = _undoRedo.UndoRedo;
111946
111996
  var _registry = __webpack_require__(532);
111947
111997
  exports.registerPlugin = _registry.registerPlugin;
@@ -115979,6 +116029,13 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
115979
116029
  _hooks.Hooks.getSingleton().register('beforeColumnSort');
115980
116030
  _hooks.Hooks.getSingleton().register('afterColumnSort');
115981
116031
 
116032
+ /**
116033
+ * Tracks the conflicts between `columnSorting` and `multiColumnSorting` options.
116034
+ * Only one plugin can be enabled for Handsontable instance. Once one of them is enabled,
116035
+ * the other should remain disabled even if it's set to `true`.
116036
+ */
116037
+ const pluginConflictsState = new WeakMap();
116038
+
115982
116039
  // DIFF - MultiColumnSorting & ColumnSorting: changed configuration documentation.
115983
116040
  /**
115984
116041
  * @plugin ColumnSorting
@@ -116087,9 +116144,17 @@ class ColumnSorting extends _base.BasePlugin {
116087
116144
  */
116088
116145
  enablePlugin() {
116089
116146
  var _this = this;
116147
+ if (pluginConflictsState.has(this.hot) && pluginConflictsState.get(this.hot) !== this.pluginKey) {
116148
+ this.hot.updateSettings({
116149
+ [this.pluginKey]: false
116150
+ });
116151
+ (0, _utils.warnAboutPluginsConflict)(pluginConflictsState.get(this.hot), this.pluginKey);
116152
+ return;
116153
+ }
116090
116154
  if (this.enabled) {
116091
116155
  return;
116092
116156
  }
116157
+ pluginConflictsState.set(this.hot, this.pluginKey);
116093
116158
  this.columnStatesManager = new _columnStatesManager.ColumnStatesManager(this.hot, `${this.pluginKey}.sortingStates`);
116094
116159
  this.columnMetaCache = new _translations.PhysicalIndexToValueMap(physicalIndex => {
116095
116160
  let visualIndex = this.hot.toVisualColumn(physicalIndex);
@@ -116134,6 +116199,7 @@ class ColumnSorting extends _base.BasePlugin {
116134
116199
  }
116135
116200
  this.updateHeaderClasses(headerSpanElement);
116136
116201
  };
116202
+ pluginConflictsState.delete(this.hot);
116137
116203
 
116138
116204
  // Changing header width and removing indicator.
116139
116205
  this.hot.addHook('afterGetColHeader', clearColHeader);
@@ -116611,7 +116677,7 @@ class ColumnSorting extends _base.BasePlugin {
116611
116677
  * @param {object} newSettings New settings object.
116612
116678
  */
116613
116679
  onUpdateSettings(newSettings) {
116614
- super.onUpdateSettings();
116680
+ super.onUpdateSettings(newSettings);
116615
116681
  if (this.columnMetaCache !== null) {
116616
116682
  // Column meta cache base on settings, thus we should re-init the map.
116617
116683
  this.columnMetaCache.init(this.hot.columnIndexMapper.getNumberOfIndexes());
@@ -116741,6 +116807,7 @@ function _onBeforeOnCellMouseDown(event, coords, TD, controller) {
116741
116807
 
116742
116808
  var _interopRequireDefault = __webpack_require__(197);
116743
116809
  exports.__esModule = true;
116810
+ __webpack_require__(311);
116744
116811
  __webpack_require__(338);
116745
116812
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
116746
116813
  var _object = __webpack_require__(499);
@@ -116969,6 +117036,7 @@ exports.createDateTimeCompareFunction = createDateTimeCompareFunction;
116969
117036
  exports.getHeaderSpanElement = getHeaderSpanElement;
116970
117037
  exports.getNextSortOrder = getNextSortOrder;
116971
117038
  exports.isFirstLevelColumnHeader = isFirstLevelColumnHeader;
117039
+ exports.warnAboutPluginsConflict = warnAboutPluginsConflict;
116972
117040
  exports.wasHeaderClickedProperly = wasHeaderClickedProperly;
116973
117041
  __webpack_require__(287);
116974
117042
  __webpack_require__(298);
@@ -116985,6 +117053,8 @@ var _object = __webpack_require__(499);
116985
117053
  var _event = __webpack_require__(509);
116986
117054
  var _mixed = __webpack_require__(354);
116987
117055
  var _sortService = __webpack_require__(860);
117056
+ var _console = __webpack_require__(512);
117057
+ var _templateLiteralTag = __webpack_require__(494);
116988
117058
  const ASC_SORT_STATE = exports.ASC_SORT_STATE = 'asc';
116989
117059
  const DESC_SORT_STATE = exports.DESC_SORT_STATE = 'desc';
116990
117060
  const HEADER_SPAN_CLASS = exports.HEADER_SPAN_CLASS = 'colHeader';
@@ -117137,6 +117207,17 @@ function createDateTimeCompareFunction(sortOrder, format, columnPluginSettings)
117137
117207
  };
117138
117208
  }
117139
117209
 
117210
+ /**
117211
+ * Warn users about problems when using `columnSorting` and `multiColumnSorting` plugins simultaneously.
117212
+ *
117213
+ * @param {string} workingPlugin The plugin that will work.
117214
+ * @param {string} disabledPlugin The plugin that will remain disabled.
117215
+ */
117216
+ function warnAboutPluginsConflict(workingPlugin, disabledPlugin) {
117217
+ (0, _console.warn)((0, _templateLiteralTag.toSingleLine)`Plugins \`columnSorting\` and \`multiColumnSorting\` should not be enabled simultaneously.\x20
117218
+ Only \`${workingPlugin}\` will work. The \`${disabledPlugin}\` plugin will remain disabled.`);
117219
+ }
117220
+
117140
117221
  /***/ }),
117141
117222
  /* 860 */
117142
117223
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
@@ -119261,6 +119342,9 @@ class Comments extends _base.BasePlugin {
119261
119342
  innerHeight
119262
119343
  } = this.hot.rootWindow;
119263
119344
  const documentElement = this.hot.rootDocument.documentElement;
119345
+ const scrollbarWidth = (0, _element.getScrollbarWidth)(this.hot.rootDocument);
119346
+ const verticalScrollbarWidth = (0, _element.hasVerticalScrollbar)(this.hot.rootWindow) ? scrollbarWidth : 0;
119347
+ const horizontalScrollbarWidth = (0, _element.hasHorizontalScrollbar)(this.hot.rootWindow) ? scrollbarWidth : 0;
119264
119348
  let x = left + rootWindow.scrollX + lastColWidth;
119265
119349
  let y = top + rootWindow.scrollY + lastRowHeight;
119266
119350
  if (this.hot.isRtl()) {
@@ -119268,12 +119352,12 @@ class Comments extends _base.BasePlugin {
119268
119352
  }
119269
119353
 
119270
119354
  // flip to the right or left the comments editor position when it goes out of browser viewport
119271
- if (this.hot.isLtr() && left + cellWidth + editorWidth > innerWidth) {
119355
+ if (this.hot.isLtr() && left + cellWidth + editorWidth > innerWidth - verticalScrollbarWidth) {
119272
119356
  x = left + rootWindow.scrollX - editorWidth - 1;
119273
119357
  } else if (this.hot.isRtl() && x < -(documentElement.scrollWidth - documentElement.clientWidth)) {
119274
119358
  x = left + rootWindow.scrollX + lastColWidth + 1;
119275
119359
  }
119276
- if (top + editorHeight > innerHeight) {
119360
+ if (top + editorHeight > innerHeight - horizontalScrollbarWidth) {
119277
119361
  y -= editorHeight - cellHeight + 1;
119278
119362
  }
119279
119363
  _classPrivateFieldGet(_editor, this).setPosition(x, y);
@@ -120473,19 +120557,14 @@ function columnLeftItem() {
120473
120557
  return true;
120474
120558
  }
120475
120559
  const range = this.getSelectedRangeLast();
120476
- if (!range) {
120477
- return true;
120478
- }
120479
- if (range.isSingleHeader() && range.highlight.col < 0) {
120560
+ if (!range || this.selection.isSelectedByRowHeader() || range.isSingleHeader() && range.highlight.col < 0 || this.countSourceCols() >= this.getSettings().maxCols) {
120480
120561
  return true;
120481
120562
  }
120482
120563
  if (this.selection.isSelectedByCorner()) {
120483
- const totalColumns = this.countCols();
120484
-
120485
120564
  // Enable "Insert column left" only when there is at least one column.
120486
- return totalColumns === 0;
120565
+ return this.countCols() === 0;
120487
120566
  }
120488
- return this.selection.isSelectedByRowHeader() || this.countCols() >= this.getSettings().maxCols;
120567
+ return false;
120489
120568
  },
120490
120569
  hidden() {
120491
120570
  return !this.getSettings().allowInsertColumn;
@@ -120526,17 +120605,10 @@ function columnRightItem() {
120526
120605
  return true;
120527
120606
  }
120528
120607
  const range = this.getSelectedRangeLast();
120529
- if (!range) {
120530
- return true;
120531
- }
120532
- if (range.isSingleHeader() && range.highlight.col < 0) {
120608
+ if (!range || this.selection.isSelectedByRowHeader() || range.isSingleHeader() && range.highlight.col < 0 || this.countSourceCols() >= this.getSettings().maxCols) {
120533
120609
  return true;
120534
120610
  }
120535
- if (this.selection.isSelectedByCorner()) {
120536
- // Enable "Insert column right" always when the menu is triggered by corner click.
120537
- return false;
120538
- }
120539
- return this.selection.isSelectedByRowHeader() || this.countCols() >= this.getSettings().maxCols;
120611
+ return false;
120540
120612
  },
120541
120613
  hidden() {
120542
120614
  return !this.getSettings().allowInsertColumn;
@@ -120806,19 +120878,14 @@ function rowAboveItem() {
120806
120878
  },
120807
120879
  disabled() {
120808
120880
  const range = this.getSelectedRangeLast();
120809
- if (!range) {
120810
- return true;
120811
- }
120812
- if (range.isSingleHeader() && range.highlight.row < 0) {
120881
+ if (!range || this.selection.isSelectedByColumnHeader() || range.isSingleHeader() && range.highlight.row < 0 || this.countSourceRows() >= this.getSettings().maxRows) {
120813
120882
  return true;
120814
120883
  }
120815
120884
  if (this.selection.isSelectedByCorner()) {
120816
- const totalRows = this.countRows();
120817
-
120818
120885
  // Enable "Insert row above" only when there is at least one row.
120819
- return totalRows === 0;
120886
+ return this.countRows() === 0;
120820
120887
  }
120821
- return this.selection.isSelectedByColumnHeader() || this.countRows() >= this.getSettings().maxRows;
120888
+ return false;
120822
120889
  },
120823
120890
  hidden() {
120824
120891
  return !this.getSettings().allowInsertRow;
@@ -120855,17 +120922,10 @@ function rowBelowItem() {
120855
120922
  },
120856
120923
  disabled() {
120857
120924
  const range = this.getSelectedRangeLast();
120858
- if (!range) {
120925
+ if (!range || this.selection.isSelectedByColumnHeader() || range.isSingleHeader() && range.highlight.row < 0 || this.countSourceRows() >= this.getSettings().maxRows) {
120859
120926
  return true;
120860
120927
  }
120861
- if (range.isSingleHeader() && range.highlight.row < 0) {
120862
- return true;
120863
- }
120864
- if (this.selection.isSelectedByCorner()) {
120865
- // Enable "Insert row below" always when the menu is triggered by corner click.
120866
- return false;
120867
- }
120868
- return this.selection.isSelectedByColumnHeader() || this.countRows() >= this.getSettings().maxRows;
120928
+ return false;
120869
120929
  },
120870
120930
  hidden() {
120871
120931
  return !this.getSettings().allowInsertRow;
@@ -122052,7 +122112,6 @@ class Menu {
122052
122112
  this.openSubMenu(coords.row);
122053
122113
  }
122054
122114
  },
122055
- rowHeights: row => filteredItems[row].name === _predefinedItems.SEPARATOR ? 1 : undefined,
122056
122115
  afterOnCellContextMenu: event => {
122057
122116
  event.preventDefault();
122058
122117
 
@@ -122323,6 +122382,7 @@ class Menu {
122323
122382
  * and adjusts the width and height of the menu's holder and hider elements accordingly.
122324
122383
  */
122325
122384
  updateMenuDimensions() {
122385
+ const stylesHandler = this.hotMenu.view.getStylesHandler();
122326
122386
  const {
122327
122387
  wtTable
122328
122388
  } = this.hotMenu.view._wt;
@@ -122335,8 +122395,14 @@ class Menu {
122335
122395
  const currentRowHeight = itemCell ? (0, _element.outerHeight)(this.hotMenu.getCell(index, 0)) : 0;
122336
122396
  return accumulator + (value.name === _predefinedItems.SEPARATOR ? 1 : currentRowHeight);
122337
122397
  }, 0);
122338
- holderStyle.width = `${currentHiderWidth}px`;
122339
- holderStyle.height = `${realHeight}px`;
122398
+ if (stylesHandler.isClassicTheme()) {
122399
+ // Additional 3px to menu's size because of additional border around its `table.htCore`.
122400
+ holderStyle.width = `${currentHiderWidth + 3}px`;
122401
+ holderStyle.height = `${realHeight + 3}px`;
122402
+ } else {
122403
+ holderStyle.width = `${currentHiderWidth}px`;
122404
+ holderStyle.height = `${realHeight}px`;
122405
+ }
122340
122406
  hiderStyle.height = holderStyle.height;
122341
122407
  }
122342
122408
 
@@ -124038,12 +124104,10 @@ class CopyPaste extends _base.BasePlugin {
124038
124104
  * @private
124039
124105
  */
124040
124106
  onCopy(event) {
124041
- var _event$target, _this$hot$getSelected;
124107
+ var _event$target;
124042
124108
  const focusedElement = this.hot.getFocusManager().getRefocusElement();
124043
124109
  const isHotInput = (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.hasAttribute('data-hot-input');
124044
- const selectedCell = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
124045
- const TD = selectedCell ? this.hot.getCell(selectedCell.row, selectedCell.col, true) : null;
124046
- 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)) {
124110
+ 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 && !(0, _element.isInternalElement)(event.target, this.hot.rootElement))) {
124047
124111
  return;
124048
124112
  }
124049
124113
  event.preventDefault();
@@ -124073,12 +124137,10 @@ class CopyPaste extends _base.BasePlugin {
124073
124137
  * @private
124074
124138
  */
124075
124139
  onCut(event) {
124076
- var _event$target2, _this$hot$getSelected2;
124140
+ var _event$target2;
124077
124141
  const focusedElement = this.hot.getFocusManager().getRefocusElement();
124078
124142
  const isHotInput = (_event$target2 = event.target) === null || _event$target2 === void 0 ? void 0 : _event$target2.hasAttribute('data-hot-input');
124079
- const selectedCell = (_this$hot$getSelected2 = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected2 === void 0 ? void 0 : _this$hot$getSelected2.highlight;
124080
- const TD = selectedCell ? this.hot.getCell(selectedCell.row, selectedCell.col, true) : null;
124081
- 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)) {
124143
+ 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 && !(0, _element.isInternalElement)(event.target, this.hot.rootElement))) {
124082
124144
  return;
124083
124145
  }
124084
124146
  event.preventDefault();
@@ -124107,12 +124169,10 @@ class CopyPaste extends _base.BasePlugin {
124107
124169
  * @private
124108
124170
  */
124109
124171
  onPaste(event) {
124110
- var _event$target3, _this$hot$getSelected3;
124172
+ var _event$target3;
124111
124173
  const focusedElement = this.hot.getFocusManager().getRefocusElement();
124112
124174
  const isHotInput = (_event$target3 = event.target) === null || _event$target3 === void 0 ? void 0 : _event$target3.hasAttribute('data-hot-input');
124113
- const selectedCell = (_this$hot$getSelected3 = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected3 === void 0 ? void 0 : _this$hot$getSelected3.highlight;
124114
- const TD = selectedCell ? this.hot.getCell(selectedCell.row, selectedCell.col, true) : null;
124115
- 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)) {
124175
+ 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 && !(0, _element.isInternalElement)(event.target, this.hot.rootElement))) {
124116
124176
  return;
124117
124177
  }
124118
124178
  event.preventDefault();
@@ -127310,6 +127370,7 @@ function typeFactory(type, dataProvider, options) {
127310
127370
 
127311
127371
  var _interopRequireDefault = __webpack_require__(197);
127312
127372
  exports.__esModule = true;
127373
+ __webpack_require__(311);
127313
127374
  __webpack_require__(338);
127314
127375
  var _array = __webpack_require__(495);
127315
127376
  var _mixed = __webpack_require__(354);
@@ -127564,6 +127625,7 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
127564
127625
  */
127565
127626
  var _menuFocusNavigator = /*#__PURE__*/new WeakMap();
127566
127627
  var _dropdownMenuTraces = /*#__PURE__*/new WeakMap();
127628
+ var _previousConditionStack = /*#__PURE__*/new WeakMap();
127567
127629
  var _Filters_brand = /*#__PURE__*/new WeakSet();
127568
127630
  class Filters extends _base.BasePlugin {
127569
127631
  static get PLUGIN_KEY() {
@@ -127635,6 +127697,13 @@ class Filters extends _base.BasePlugin {
127635
127697
  * @type {WeakSet<Menu>}
127636
127698
  */
127637
127699
  _classPrivateFieldInitSpec(this, _dropdownMenuTraces, new WeakSet());
127700
+ /**
127701
+ * Stores the previous state of the condition stack before the latest filter operation.
127702
+ * This is used in the `beforeFilter` plugin to allow performing the undo operation.
127703
+ *
127704
+ * @type {Array}
127705
+ */
127706
+ _classPrivateFieldInitSpec(this, _previousConditionStack, []);
127638
127707
  this.hot.addHook('afterGetColHeader', function () {
127639
127708
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
127640
127709
  args[_key] = arguments[_key];
@@ -127977,6 +128046,51 @@ class Filters extends _base.BasePlugin {
127977
128046
  }
127978
128047
  }
127979
128048
 
128049
+ /**
128050
+ * Imports filter conditions to all columns to the plugin. The method accepts
128051
+ * the array of conditions with the same structure as the {@link Filters#exportConditions} method returns.
128052
+ * Importing conditions will replace the current conditions. Once replaced, the state of the condition
128053
+ * will be reflected in the UI. To apply the changes and filter the table, call
128054
+ * the {@link Filters#filter} method eventually.
128055
+ *
128056
+ * @param {Array} conditions Array of conditions.
128057
+ */
128058
+ importConditions(conditions) {
128059
+ this.conditionCollection.importAllConditions(conditions);
128060
+ }
128061
+
128062
+ /* eslint-disable jsdoc/require-description-complete-sentence */
128063
+ /**
128064
+ * Exports filter conditions for all columns from the plugin.
128065
+ * The array represents the filter state for each column. For example:
128066
+ *
128067
+ * ```js
128068
+ * [
128069
+ * {
128070
+ * column: 1,
128071
+ * operation: 'conjunction',
128072
+ * conditions: [
128073
+ * { name: 'gt', args: [95] },
128074
+ * ]
128075
+ * },
128076
+ * {
128077
+ * column: 7,
128078
+ * operation: 'conjunction',
128079
+ * conditions: [
128080
+ * { name: 'contains', args: ['mike'] },
128081
+ * { name: 'begins_with', args: ['m'] },
128082
+ * ]
128083
+ * },
128084
+ * ]
128085
+ * ```
128086
+ *
128087
+ * @returns {Array}
128088
+ */
128089
+ /* eslint-enable jsdoc/require-description-complete-sentence */
128090
+ exportConditions() {
128091
+ return this.conditionCollection.exportAllConditions();
128092
+ }
128093
+
127980
128094
  /**
127981
128095
  * Filters data based on added filter conditions.
127982
128096
  *
@@ -127990,8 +128104,8 @@ class Filters extends _base.BasePlugin {
127990
128104
  const dataFilter = this._createDataFilter();
127991
128105
  const needToFilter = !this.conditionCollection.isEmpty();
127992
128106
  let visibleVisualRows = [];
127993
- const conditions = this.conditionCollection.exportAllConditions();
127994
- const allowFiltering = this.hot.runHooks('beforeFilter', conditions, this.conditionCollection.previousConditionStack);
128107
+ const conditions = this.exportConditions();
128108
+ const allowFiltering = this.hot.runHooks('beforeFilter', conditions, _classPrivateFieldGet(_previousConditionStack, this));
127995
128109
  if (allowFiltering !== false) {
127996
128110
  if (needToFilter) {
127997
128111
  const trimmedRows = [];
@@ -128014,11 +128128,13 @@ class Filters extends _base.BasePlugin {
128014
128128
  } else {
128015
128129
  this.filtersRowsMap.clear();
128016
128130
  }
128131
+ _classPrivateFieldSet(_previousConditionStack, this, this.exportConditions());
128132
+ this.hot.runHooks('afterFilter', conditions);
128133
+ this.hot.view.adjustElementsSize();
128134
+ this.hot.render();
128135
+ } else {
128136
+ this.importConditions(_classPrivateFieldGet(_previousConditionStack, this));
128017
128137
  }
128018
- this.hot.runHooks('afterFilter', conditions);
128019
- this.conditionCollection.setPreviousConditionStack(null);
128020
- this.hot.view.adjustElementsSize();
128021
- this.hot.render();
128022
128138
  if (this.hot.selection.isSelected()) {
128023
128139
  this.hot.selectCell(navigableHeaders ? -1 : 0, this.hot.getSelectedRangeLast().highlight.col);
128024
128140
  }
@@ -128381,7 +128497,6 @@ function _onActionBarSubmit(submitType) {
128381
128497
  }
128382
128498
  this.conditionUpdateObserver.flush();
128383
128499
  this.components.forEach(component => component.saveState(physicalIndex));
128384
- this.filtersRowsMap.clear();
128385
128500
  this.filter();
128386
128501
  }
128387
128502
  (_this$dropdownMenuPlu3 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu3 === void 0 || _this$dropdownMenuPlu3.close();
@@ -128423,8 +128538,23 @@ function _updateComponents(conditionsState) {
128423
128538
  editedConditionStack: {
128424
128539
  conditions,
128425
128540
  column
128426
- }
128541
+ },
128542
+ conditionArgsChange
128427
128543
  } = conditionsState;
128544
+ if (Array.isArray(conditionArgsChange)) {
128545
+ // update the previous condition stack (only for 'by_value' condition) on each dataset
128546
+ // change to make the undo/redo work properly
128547
+ _classPrivateFieldSet(_previousConditionStack, this, _classPrivateFieldGet(_previousConditionStack, this).map(stack => {
128548
+ if (stack.column === column && conditions.length > 0) {
128549
+ stack.conditions.forEach(condition => {
128550
+ if (condition.name === 'by_value') {
128551
+ condition.args = [[...conditionArgsChange]];
128552
+ }
128553
+ });
128554
+ }
128555
+ return stack;
128556
+ }));
128557
+ }
128428
128558
  const conditionsByValue = conditions.filter(condition => condition.name === _constants2.CONDITION_BY_VALUE);
128429
128559
  const conditionsWithoutByValue = conditions.filter(condition => condition.name !== _constants2.CONDITION_BY_VALUE);
128430
128560
  if (conditionsByValue.length >= 2 || conditionsWithoutByValue.length >= 3) {
@@ -131868,13 +131998,6 @@ class ConditionCollection {
131868
131998
  * @type {LinkedPhysicalIndexToValueMap}
131869
131999
  */
131870
132000
  (0, _defineProperty2.default)(this, "filteringStates", new _translations.LinkedPhysicalIndexToValueMap());
131871
- /**
131872
- * Stores the previous state of the condition stack before the latest filter operation.
131873
- * This is used in the `beforeFilter` plugin to allow performing the undo operation.
131874
- *
131875
- * @type {null|Array}
131876
- */
131877
- (0, _defineProperty2.default)(this, "previousConditionStack", null);
131878
132001
  this.hot = hot;
131879
132002
  this.isMapRegistrable = isMapRegistrable;
131880
132003
  if (this.isMapRegistrable === true) {
@@ -131943,13 +132066,6 @@ class ConditionCollection {
131943
132066
  const localeForColumn = this.hot.getCellMeta(0, column).locale;
131944
132067
  const args = conditionDefinition.args.map(v => typeof v === 'string' ? v.toLocaleLowerCase(localeForColumn) : v);
131945
132068
  const name = conditionDefinition.name || conditionDefinition.command.key;
131946
-
131947
- // If there's no previous condition stack defined (which means the condition stack was not cleared after the
131948
- // previous filter operation or that there was no filter operation performed yet), store the current conditions as
131949
- // the previous condition stack.
131950
- if (this.previousConditionStack === null) {
131951
- this.setPreviousConditionStack(this.exportAllConditions());
131952
- }
131953
132069
  this.runLocalHooks('beforeAdd', column);
131954
132070
  const columnType = this.getOperation(column);
131955
132071
  if (columnType) {
@@ -132078,8 +132194,6 @@ class ConditionCollection {
132078
132194
  * @fires ConditionCollection#afterRemove
132079
132195
  */
132080
132196
  removeConditions(column) {
132081
- // Store the current conditions as the previous condition stack before it's cleared.
132082
- this.setPreviousConditionStack(this.exportAllConditions());
132083
132197
  this.runLocalHooks('beforeRemove', column);
132084
132198
  this.filteringStates.clearValue(column);
132085
132199
  this.runLocalHooks('afterRemove', column);
@@ -132113,16 +132227,6 @@ class ConditionCollection {
132113
132227
  return conditions.length > 0;
132114
132228
  }
132115
132229
 
132116
- /**
132117
- * Updates the `previousConditionStack` property with the provided stack.
132118
- * It is used to store the current conditions before they are modified, allowing for undo operations.
132119
- *
132120
- * @param {Array|null} previousConditionStack The stack of previous conditions.
132121
- */
132122
- setPreviousConditionStack(previousConditionStack) {
132123
- this.previousConditionStack = previousConditionStack;
132124
- }
132125
-
132126
132230
  /**
132127
132231
  * Destroy object.
132128
132232
  */
@@ -141269,14 +141373,17 @@ function _onModifyRowHeightByOverlayName(height, row, overlayType) {
141269
141373
  * @returns {number}
141270
141374
  */
141271
141375
  function _sumCellsHeights(row, rowspan) {
141272
- const stylesHandler = this.hot.view.getStylesHandler();
141273
- const defaultHeight = this.hot.view.getDefaultRowHeight();
141274
- const autoRowSizePlugin = this.hot.getPlugin('autoRowSize');
141376
+ const {
141377
+ view,
141378
+ rowIndexMapper
141379
+ } = this.hot;
141380
+ const stylesHandler = view.getStylesHandler();
141381
+ const defaultHeight = view.getDefaultRowHeight();
141275
141382
  let height = 0;
141276
141383
  for (let i = row; i < row + rowspan; i++) {
141277
- if (!this.hot.rowIndexMapper.isHidden(i)) {
141278
- var _autoRowSizePlugin$ge;
141279
- height += (_autoRowSizePlugin$ge = autoRowSizePlugin === null || autoRowSizePlugin === void 0 ? void 0 : autoRowSizePlugin.getRowHeight(i)) !== null && _autoRowSizePlugin$ge !== void 0 ? _autoRowSizePlugin$ge : defaultHeight;
141384
+ if (!rowIndexMapper.isHidden(i)) {
141385
+ var _this$hot$getRowHeigh;
141386
+ height += (_this$hot$getRowHeigh = this.hot.getRowHeight(i)) !== null && _this$hot$getRowHeigh !== void 0 ? _this$hot$getRowHeigh : defaultHeight;
141280
141387
  if (i === 0 && !stylesHandler.isClassicTheme()) {
141281
141388
  height += 1; // border-top-width
141282
141389
  }
@@ -143576,12 +143683,10 @@ var _sortService = __webpack_require__(860);
143576
143683
  var _utils = __webpack_require__(859);
143577
143684
  var _element = __webpack_require__(351);
143578
143685
  var _rootComparator = __webpack_require__(1038);
143579
- var _utils2 = __webpack_require__(1039);
143580
- var _domHelpers = __webpack_require__(1040);
143686
+ var _domHelpers = __webpack_require__(1039);
143581
143687
  var _shortcutContexts = __webpack_require__(686);
143582
143688
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'multiColumnSorting';
143583
143689
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 170;
143584
- const CONFLICTED_PLUGIN_KEY = 'columnSorting';
143585
143690
  const SHORTCUTS_GROUP = PLUGIN_KEY;
143586
143691
  (0, _sortService.registerRootComparator)(PLUGIN_KEY, _rootComparator.rootComparator);
143587
143692
 
@@ -143661,17 +143766,13 @@ class MultiColumnSorting extends _columnSorting.ColumnSorting {
143661
143766
  * @returns {boolean}
143662
143767
  */
143663
143768
  isEnabled() {
143664
- return super.isEnabled();
143769
+ return !!this.hot.getSettings()[this.pluginKey];
143665
143770
  }
143666
143771
 
143667
143772
  /**
143668
143773
  * Enables the plugin functionality for this Handsontable instance.
143669
143774
  */
143670
143775
  enablePlugin() {
143671
- if (!this.enabled && this.hot.getSettings()[this.pluginKey] && this.hot.getSettings()[CONFLICTED_PLUGIN_KEY]) {
143672
- (0, _utils2.warnAboutPluginsConflict)();
143673
- this.hot.getPlugin(CONFLICTED_PLUGIN_KEY).disablePlugin();
143674
- }
143675
143776
  super.enablePlugin();
143676
143777
  }
143677
143778
 
@@ -143843,20 +143944,6 @@ class MultiColumnSorting extends _columnSorting.ColumnSorting {
143843
143944
  }
143844
143945
  }
143845
143946
 
143846
- /**
143847
- * Overwriting base plugin's `onUpdateSettings` method. Please keep in mind that `onAfterUpdateSettings` isn't called
143848
- * for `updateSettings` in specific situations.
143849
- *
143850
- * @private
143851
- * @param {object} newSettings New settings object.
143852
- */
143853
- onUpdateSettings(newSettings) {
143854
- if (this.hot.getSettings()[this.pluginKey] && this.hot.getSettings()[CONFLICTED_PLUGIN_KEY]) {
143855
- (0, _utils2.warnAboutPluginsConflict)();
143856
- }
143857
- super.onUpdateSettings(newSettings);
143858
- }
143859
-
143860
143947
  /**
143861
143948
  * Callback for the `onAfterOnCellMouseDown` hook.
143862
143949
  *
@@ -143930,25 +144017,6 @@ function rootComparator(sortingOrders, columnMetas) {
143930
144017
  "use strict";
143931
144018
 
143932
144019
 
143933
- exports.__esModule = true;
143934
- exports.warnAboutPluginsConflict = warnAboutPluginsConflict;
143935
- var _console = __webpack_require__(512);
143936
- var _templateLiteralTag = __webpack_require__(494);
143937
- /**
143938
- * Warn users about problems when using `columnSorting` and `multiColumnSorting` plugins simultaneously.
143939
- */
143940
- function warnAboutPluginsConflict() {
143941
- (0, _console.warn)((0, _templateLiteralTag.toSingleLine)`Plugins \`columnSorting\` and \`multiColumnSorting\` should not be enabled simultaneously.
143942
- Only \`multiColumnSorting\` will work. The \`columnSorting\` plugin will be disabled.`);
143943
- }
143944
-
143945
- /***/ }),
143946
- /* 1040 */
143947
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
143948
-
143949
- "use strict";
143950
-
143951
-
143952
144020
  exports.__esModule = true;
143953
144021
  exports.getClassesToAdd = getClassesToAdd;
143954
144022
  exports.getClassesToRemove = getClassesToRemove;
@@ -143989,20 +144057,20 @@ function getClassesToRemove(htmlElement) {
143989
144057
  }
143990
144058
 
143991
144059
  /***/ }),
143992
- /* 1041 */
144060
+ /* 1040 */
143993
144061
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
143994
144062
 
143995
144063
  "use strict";
143996
144064
 
143997
144065
 
143998
144066
  exports.__esModule = true;
143999
- var _multipleSelectionHandles = __webpack_require__(1042);
144067
+ var _multipleSelectionHandles = __webpack_require__(1041);
144000
144068
  exports.PLUGIN_KEY = _multipleSelectionHandles.PLUGIN_KEY;
144001
144069
  exports.PLUGIN_PRIORITY = _multipleSelectionHandles.PLUGIN_PRIORITY;
144002
144070
  exports.MultipleSelectionHandles = _multipleSelectionHandles.MultipleSelectionHandles;
144003
144071
 
144004
144072
  /***/ }),
144005
- /* 1042 */
144073
+ /* 1041 */
144006
144074
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
144007
144075
 
144008
144076
  "use strict";
@@ -144341,20 +144409,20 @@ class MultipleSelectionHandles extends _base.BasePlugin {
144341
144409
  exports.MultipleSelectionHandles = MultipleSelectionHandles;
144342
144410
 
144343
144411
  /***/ }),
144344
- /* 1043 */
144412
+ /* 1042 */
144345
144413
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
144346
144414
 
144347
144415
  "use strict";
144348
144416
 
144349
144417
 
144350
144418
  exports.__esModule = true;
144351
- var _nestedHeaders = __webpack_require__(1044);
144419
+ var _nestedHeaders = __webpack_require__(1043);
144352
144420
  exports.PLUGIN_KEY = _nestedHeaders.PLUGIN_KEY;
144353
144421
  exports.PLUGIN_PRIORITY = _nestedHeaders.PLUGIN_PRIORITY;
144354
144422
  exports.NestedHeaders = _nestedHeaders.NestedHeaders;
144355
144423
 
144356
144424
  /***/ }),
144357
- /* 1044 */
144425
+ /* 1043 */
144358
144426
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
144359
144427
 
144360
144428
  "use strict";
@@ -144374,8 +144442,8 @@ var _event = __webpack_require__(509);
144374
144442
  var _console = __webpack_require__(512);
144375
144443
  var _selection = __webpack_require__(652);
144376
144444
  var _base = __webpack_require__(841);
144377
- var _stateManager2 = _interopRequireDefault(__webpack_require__(1045));
144378
- var _ghostTable = _interopRequireDefault(__webpack_require__(1058));
144445
+ var _stateManager2 = _interopRequireDefault(__webpack_require__(1044));
144446
+ var _ghostTable = _interopRequireDefault(__webpack_require__(1057));
144379
144447
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
144380
144448
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
144381
144449
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
@@ -145260,9 +145328,11 @@ function _onBeforeSelectColumns(from, to, highlight) {
145260
145328
  * @param {Array} renderersArray Array of renderers.
145261
145329
  */
145262
145330
  function _onAfterGetColumnHeaderRenderers(renderersArray) {
145263
- renderersArray.length = 0;
145264
- for (let headerLayer = 0; headerLayer < _classPrivateFieldGet(_stateManager, this).getLayersCount(); headerLayer++) {
145265
- renderersArray.push(this.headerRendererFactory(headerLayer));
145331
+ if (_classPrivateFieldGet(_stateManager, this).getLayersCount() > 0) {
145332
+ renderersArray.length = 0;
145333
+ for (let headerLayer = 0; headerLayer < _classPrivateFieldGet(_stateManager, this).getLayersCount(); headerLayer++) {
145334
+ renderersArray.push(this.headerRendererFactory(headerLayer));
145335
+ }
145266
145336
  }
145267
145337
  }
145268
145338
  /**
@@ -145361,7 +145431,7 @@ function _onAfterLoadData(sourceData, initialLoad) {
145361
145431
  }
145362
145432
 
145363
145433
  /***/ }),
145364
- /* 1045 */
145434
+ /* 1044 */
145365
145435
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
145366
145436
 
145367
145437
  "use strict";
@@ -145371,13 +145441,14 @@ var _interopRequireDefault = __webpack_require__(197);
145371
145441
  exports.__esModule = true;
145372
145442
  __webpack_require__(201);
145373
145443
  __webpack_require__(283);
145444
+ __webpack_require__(311);
145374
145445
  __webpack_require__(338);
145375
145446
  var _array = __webpack_require__(495);
145376
- var _sourceSettings2 = _interopRequireDefault(__webpack_require__(1046));
145377
- var _headersTree2 = _interopRequireDefault(__webpack_require__(1049));
145378
- var _nodeModifiers = __webpack_require__(1051);
145379
- var _matrixGenerator = __webpack_require__(1057);
145380
- var _tree = __webpack_require__(1050);
145447
+ var _sourceSettings2 = _interopRequireDefault(__webpack_require__(1045));
145448
+ var _headersTree2 = _interopRequireDefault(__webpack_require__(1048));
145449
+ var _nodeModifiers = __webpack_require__(1050);
145450
+ var _matrixGenerator = __webpack_require__(1056);
145451
+ var _tree = __webpack_require__(1049);
145381
145452
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
145382
145453
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
145383
145454
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
@@ -145852,7 +145923,7 @@ class StateManager {
145852
145923
  exports["default"] = StateManager;
145853
145924
 
145854
145925
  /***/ }),
145855
- /* 1046 */
145926
+ /* 1045 */
145856
145927
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
145857
145928
 
145858
145929
  "use strict";
@@ -145863,7 +145934,7 @@ __webpack_require__(201);
145863
145934
  __webpack_require__(283);
145864
145935
  var _object = __webpack_require__(499);
145865
145936
  var _array = __webpack_require__(495);
145866
- var _settingsNormalizer = __webpack_require__(1047);
145937
+ var _settingsNormalizer = __webpack_require__(1046);
145867
145938
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
145868
145939
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
145869
145940
  function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
@@ -146074,7 +146145,7 @@ class SourceSettings {
146074
146145
  exports["default"] = SourceSettings;
146075
146146
 
146076
146147
  /***/ }),
146077
- /* 1047 */
146148
+ /* 1046 */
146078
146149
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
146079
146150
 
146080
146151
  "use strict";
@@ -146086,7 +146157,7 @@ __webpack_require__(283);
146086
146157
  var _array = __webpack_require__(495);
146087
146158
  var _object = __webpack_require__(499);
146088
146159
  var _mixed = __webpack_require__(354);
146089
- var _utils = __webpack_require__(1048);
146160
+ var _utils = __webpack_require__(1047);
146090
146161
  /* eslint-disable jsdoc/require-description-complete-sentence */
146091
146162
 
146092
146163
  /**
@@ -146188,7 +146259,7 @@ function normalizeSettings(sourceSettings) {
146188
146259
  }
146189
146260
 
146190
146261
  /***/ }),
146191
- /* 1048 */
146262
+ /* 1047 */
146192
146263
  /***/ ((__unused_webpack_module, exports) => {
146193
146264
 
146194
146265
  "use strict";
@@ -146265,7 +146336,7 @@ function createPlaceholderHeaderSettings() {
146265
146336
  }
146266
146337
 
146267
146338
  /***/ }),
146268
- /* 1049 */
146339
+ /* 1048 */
146269
146340
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
146270
146341
 
146271
146342
  "use strict";
@@ -146275,7 +146346,7 @@ var _interopRequireDefault = __webpack_require__(197);
146275
146346
  exports.__esModule = true;
146276
146347
  __webpack_require__(201);
146277
146348
  var _array = __webpack_require__(495);
146278
- var _tree = _interopRequireDefault(__webpack_require__(1050));
146349
+ var _tree = _interopRequireDefault(__webpack_require__(1049));
146279
146350
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
146280
146351
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
146281
146352
  function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
@@ -146503,7 +146574,7 @@ class HeadersTree {
146503
146574
  exports["default"] = HeadersTree;
146504
146575
 
146505
146576
  /***/ }),
146506
- /* 1050 */
146577
+ /* 1049 */
146507
146578
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
146508
146579
 
146509
146580
  "use strict";
@@ -146722,7 +146793,7 @@ class TreeNode {
146722
146793
  exports["default"] = TreeNode;
146723
146794
 
146724
146795
  /***/ }),
146725
- /* 1051 */
146796
+ /* 1050 */
146726
146797
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
146727
146798
 
146728
146799
  "use strict";
@@ -146731,10 +146802,10 @@ exports["default"] = TreeNode;
146731
146802
  exports.__esModule = true;
146732
146803
  exports.triggerNodeModification = triggerNodeModification;
146733
146804
  __webpack_require__(201);
146734
- var _collapse = __webpack_require__(1052);
146735
- var _expand = __webpack_require__(1053);
146736
- var _hideColumn = __webpack_require__(1055);
146737
- var _showColumn = __webpack_require__(1056);
146805
+ var _collapse = __webpack_require__(1051);
146806
+ var _expand = __webpack_require__(1052);
146807
+ var _hideColumn = __webpack_require__(1054);
146808
+ var _showColumn = __webpack_require__(1055);
146738
146809
  /**
146739
146810
  * The NodeModifiers module is responsible for the modification of a tree structure
146740
146811
  * in a way to achieve new column headers state.
@@ -146764,7 +146835,7 @@ function triggerNodeModification(actionName, nodeToProcess, gridColumnIndex) {
146764
146835
  }
146765
146836
 
146766
146837
  /***/ }),
146767
- /* 1052 */
146838
+ /* 1051 */
146768
146839
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
146769
146840
 
146770
146841
  "use strict";
@@ -146780,8 +146851,8 @@ __webpack_require__(305);
146780
146851
  __webpack_require__(307);
146781
146852
  __webpack_require__(309);
146782
146853
  var _array = __webpack_require__(495);
146783
- var _expand = __webpack_require__(1053);
146784
- var _tree = __webpack_require__(1054);
146854
+ var _expand = __webpack_require__(1052);
146855
+ var _tree = __webpack_require__(1053);
146785
146856
  /**
146786
146857
  * Collapsing a node is a process where the processing node is collapsed
146787
146858
  * to the colspan width of the first child. All node children, except the
@@ -146874,7 +146945,7 @@ function collapseNode(nodeToProcess) {
146874
146945
  }
146875
146946
 
146876
146947
  /***/ }),
146877
- /* 1053 */
146948
+ /* 1052 */
146878
146949
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
146879
146950
 
146880
146951
  "use strict";
@@ -146890,8 +146961,8 @@ __webpack_require__(305);
146890
146961
  __webpack_require__(307);
146891
146962
  __webpack_require__(309);
146892
146963
  var _array = __webpack_require__(495);
146893
- var _collapse = __webpack_require__(1052);
146894
- var _tree = __webpack_require__(1054);
146964
+ var _collapse = __webpack_require__(1051);
146965
+ var _tree = __webpack_require__(1053);
146895
146966
  /**
146896
146967
  * Expanding a node is a process where the processing node is expanded to
146897
146968
  * its original colspan width. To restore an original state of all node
@@ -146979,7 +147050,7 @@ function expandNode(nodeToProcess) {
146979
147050
  }
146980
147051
 
146981
147052
  /***/ }),
146982
- /* 1054 */
147053
+ /* 1053 */
146983
147054
  /***/ ((__unused_webpack_module, exports) => {
146984
147055
 
146985
147056
  "use strict";
@@ -147050,7 +147121,7 @@ function isNodeReflectsFirstChildColspan(node) {
147050
147121
  }
147051
147122
 
147052
147123
  /***/ }),
147053
- /* 1055 */
147124
+ /* 1054 */
147054
147125
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
147055
147126
 
147056
147127
  "use strict";
@@ -147113,7 +147184,7 @@ the last node, the hide column modification can be applied.`);
147113
147184
  }
147114
147185
 
147115
147186
  /***/ }),
147116
- /* 1056 */
147187
+ /* 1055 */
147117
147188
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
147118
147189
 
147119
147190
  "use strict";
@@ -147174,7 +147245,7 @@ the last node, the show column modification can be applied.`);
147174
147245
  }
147175
147246
 
147176
147247
  /***/ }),
147177
- /* 1057 */
147248
+ /* 1056 */
147178
147249
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
147179
147250
 
147180
147251
  "use strict";
@@ -147184,7 +147255,7 @@ exports.__esModule = true;
147184
147255
  exports.generateMatrix = generateMatrix;
147185
147256
  __webpack_require__(283);
147186
147257
  var _array = __webpack_require__(495);
147187
- var _utils = __webpack_require__(1048);
147258
+ var _utils = __webpack_require__(1047);
147188
147259
  /* eslint-disable jsdoc/require-description-complete-sentence */
147189
147260
 
147190
147261
  /**
@@ -147280,7 +147351,7 @@ function createNestedArrayIfNecessary(array, index) {
147280
147351
  }
147281
147352
 
147282
147353
  /***/ }),
147283
- /* 1058 */
147354
+ /* 1057 */
147284
147355
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
147285
147356
 
147286
147357
  "use strict";
@@ -147436,20 +147507,20 @@ class GhostTable {
147436
147507
  var _default = exports["default"] = GhostTable;
147437
147508
 
147438
147509
  /***/ }),
147439
- /* 1059 */
147510
+ /* 1058 */
147440
147511
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
147441
147512
 
147442
147513
  "use strict";
147443
147514
 
147444
147515
 
147445
147516
  exports.__esModule = true;
147446
- var _nestedRows = __webpack_require__(1060);
147517
+ var _nestedRows = __webpack_require__(1059);
147447
147518
  exports.PLUGIN_KEY = _nestedRows.PLUGIN_KEY;
147448
147519
  exports.PLUGIN_PRIORITY = _nestedRows.PLUGIN_PRIORITY;
147449
147520
  exports.NestedRows = _nestedRows.NestedRows;
147450
147521
 
147451
147522
  /***/ }),
147452
- /* 1060 */
147523
+ /* 1059 */
147453
147524
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
147454
147525
 
147455
147526
  "use strict";
@@ -147471,15 +147542,15 @@ __webpack_require__(329);
147471
147542
  __webpack_require__(530);
147472
147543
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
147473
147544
  var _base = __webpack_require__(841);
147474
- var _dataManager = _interopRequireDefault(__webpack_require__(1061));
147475
- var _collapsing = _interopRequireDefault(__webpack_require__(1062));
147476
- var _headers = _interopRequireDefault(__webpack_require__(1064));
147477
- var _contextMenu = _interopRequireDefault(__webpack_require__(1065));
147545
+ var _dataManager = _interopRequireDefault(__webpack_require__(1060));
147546
+ var _collapsing = _interopRequireDefault(__webpack_require__(1061));
147547
+ var _headers = _interopRequireDefault(__webpack_require__(1063));
147548
+ var _contextMenu = _interopRequireDefault(__webpack_require__(1064));
147478
147549
  var _console = __webpack_require__(512);
147479
147550
  var _data = __webpack_require__(622);
147480
147551
  var _translations = __webpack_require__(625);
147481
147552
  var _shortcutContexts = __webpack_require__(686);
147482
- var _rowMoveController = _interopRequireDefault(__webpack_require__(1066));
147553
+ var _rowMoveController = _interopRequireDefault(__webpack_require__(1065));
147483
147554
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
147484
147555
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
147485
147556
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
@@ -148011,7 +148082,7 @@ function _onBeforeLoadData(data) {
148011
148082
  }
148012
148083
 
148013
148084
  /***/ }),
148014
- /* 1061 */
148085
+ /* 1060 */
148015
148086
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
148016
148087
 
148017
148088
  "use strict";
@@ -148727,7 +148798,7 @@ class DataManager {
148727
148798
  var _default = exports["default"] = DataManager;
148728
148799
 
148729
148800
  /***/ }),
148730
- /* 1062 */
148801
+ /* 1061 */
148731
148802
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
148732
148803
 
148733
148804
  "use strict";
@@ -148740,8 +148811,8 @@ var _event = __webpack_require__(509);
148740
148811
  var _array = __webpack_require__(495);
148741
148812
  var _number = __webpack_require__(534);
148742
148813
  var _element = __webpack_require__(351);
148743
- var _base = _interopRequireDefault(__webpack_require__(1063));
148744
- var _headers = _interopRequireDefault(__webpack_require__(1064));
148814
+ var _base = _interopRequireDefault(__webpack_require__(1062));
148815
+ var _headers = _interopRequireDefault(__webpack_require__(1063));
148745
148816
  /**
148746
148817
  * Class responsible for the UI for collapsing and expanding groups.
148747
148818
  *
@@ -149202,7 +149273,7 @@ class CollapsingUI extends _base.default {
149202
149273
  var _default = exports["default"] = CollapsingUI;
149203
149274
 
149204
149275
  /***/ }),
149205
- /* 1063 */
149276
+ /* 1062 */
149206
149277
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
149207
149278
 
149208
149279
  "use strict";
@@ -149236,7 +149307,7 @@ class BaseUI {
149236
149307
  var _default = exports["default"] = BaseUI;
149237
149308
 
149238
149309
  /***/ }),
149239
- /* 1064 */
149310
+ /* 1063 */
149240
149311
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
149241
149312
 
149242
149313
  "use strict";
@@ -149247,7 +149318,7 @@ exports.__esModule = true;
149247
149318
  var _array = __webpack_require__(495);
149248
149319
  var _number = __webpack_require__(534);
149249
149320
  var _element = __webpack_require__(351);
149250
- var _base = _interopRequireDefault(__webpack_require__(1063));
149321
+ var _base = _interopRequireDefault(__webpack_require__(1062));
149251
149322
  var _a11y = __webpack_require__(496);
149252
149323
  /**
149253
149324
  * Class responsible for the UI in the Nested Rows' row headers.
@@ -149380,7 +149451,7 @@ class HeadersUI extends _base.default {
149380
149451
  var _default = exports["default"] = HeadersUI;
149381
149452
 
149382
149453
  /***/ }),
149383
- /* 1065 */
149454
+ /* 1064 */
149384
149455
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
149385
149456
 
149386
149457
  "use strict";
@@ -149393,7 +149464,7 @@ var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
149393
149464
  var _number = __webpack_require__(534);
149394
149465
  var _array = __webpack_require__(495);
149395
149466
  var C = _interopRequireWildcard(__webpack_require__(651));
149396
- var _base = _interopRequireDefault(__webpack_require__(1063));
149467
+ var _base = _interopRequireDefault(__webpack_require__(1062));
149397
149468
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
149398
149469
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
149399
149470
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
@@ -149499,7 +149570,7 @@ class ContextMenuUI extends _base.default {
149499
149570
  var _default = exports["default"] = ContextMenuUI;
149500
149571
 
149501
149572
  /***/ }),
149502
- /* 1066 */
149573
+ /* 1065 */
149503
149574
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
149504
149575
 
149505
149576
  "use strict";
@@ -149788,20 +149859,20 @@ class RowMoveController {
149788
149859
  exports["default"] = RowMoveController;
149789
149860
 
149790
149861
  /***/ }),
149791
- /* 1067 */
149862
+ /* 1066 */
149792
149863
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
149793
149864
 
149794
149865
  "use strict";
149795
149866
 
149796
149867
 
149797
149868
  exports.__esModule = true;
149798
- var _persistentState = __webpack_require__(1068);
149869
+ var _persistentState = __webpack_require__(1067);
149799
149870
  exports.PLUGIN_KEY = _persistentState.PLUGIN_KEY;
149800
149871
  exports.PLUGIN_PRIORITY = _persistentState.PLUGIN_PRIORITY;
149801
149872
  exports.PersistentState = _persistentState.PersistentState;
149802
149873
 
149803
149874
  /***/ }),
149804
- /* 1068 */
149875
+ /* 1067 */
149805
149876
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
149806
149877
 
149807
149878
  "use strict";
@@ -149811,7 +149882,7 @@ var _interopRequireDefault = __webpack_require__(197);
149811
149882
  exports.__esModule = true;
149812
149883
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
149813
149884
  var _base = __webpack_require__(841);
149814
- var _storage = _interopRequireDefault(__webpack_require__(1069));
149885
+ var _storage = _interopRequireDefault(__webpack_require__(1068));
149815
149886
  var _hooks = __webpack_require__(511);
149816
149887
  _hooks.Hooks.getSingleton().register('persistentStateSave');
149817
149888
  _hooks.Hooks.getSingleton().register('persistentStateLoad');
@@ -149952,7 +150023,7 @@ class PersistentState extends _base.BasePlugin {
149952
150023
  exports.PersistentState = PersistentState;
149953
150024
 
149954
150025
  /***/ }),
149955
- /* 1069 */
150026
+ /* 1068 */
149956
150027
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
149957
150028
 
149958
150029
  "use strict";
@@ -150076,20 +150147,20 @@ class Storage {
150076
150147
  var _default = exports["default"] = Storage;
150077
150148
 
150078
150149
  /***/ }),
150079
- /* 1070 */
150150
+ /* 1069 */
150080
150151
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
150081
150152
 
150082
150153
  "use strict";
150083
150154
 
150084
150155
 
150085
150156
  exports.__esModule = true;
150086
- var _search = __webpack_require__(1071);
150157
+ var _search = __webpack_require__(1070);
150087
150158
  exports.PLUGIN_KEY = _search.PLUGIN_KEY;
150088
150159
  exports.PLUGIN_PRIORITY = _search.PLUGIN_PRIORITY;
150089
150160
  exports.Search = _search.Search;
150090
150161
 
150091
150162
  /***/ }),
150092
- /* 1071 */
150163
+ /* 1070 */
150093
150164
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
150094
150165
 
150095
150166
  "use strict";
@@ -150397,20 +150468,20 @@ function _onBeforeRenderer(TD, row, col, prop, value, cellProperties) {
150397
150468
  }
150398
150469
 
150399
150470
  /***/ }),
150400
- /* 1072 */
150471
+ /* 1071 */
150401
150472
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
150402
150473
 
150403
150474
  "use strict";
150404
150475
 
150405
150476
 
150406
150477
  exports.__esModule = true;
150407
- var _stretchColumns = __webpack_require__(1073);
150478
+ var _stretchColumns = __webpack_require__(1072);
150408
150479
  exports.PLUGIN_KEY = _stretchColumns.PLUGIN_KEY;
150409
150480
  exports.PLUGIN_PRIORITY = _stretchColumns.PLUGIN_PRIORITY;
150410
150481
  exports.StretchColumns = _stretchColumns.StretchColumns;
150411
150482
 
150412
150483
  /***/ }),
150413
- /* 1073 */
150484
+ /* 1072 */
150414
150485
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
150415
150486
 
150416
150487
  "use strict";
@@ -150421,7 +150492,7 @@ __webpack_require__(201);
150421
150492
  __webpack_require__(311);
150422
150493
  __webpack_require__(329);
150423
150494
  var _base = __webpack_require__(841);
150424
- var _calculator = __webpack_require__(1074);
150495
+ var _calculator = __webpack_require__(1073);
150425
150496
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
150426
150497
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
150427
150498
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
@@ -150638,7 +150709,7 @@ function _onBeforeRender(fullRender) {
150638
150709
  }
150639
150710
 
150640
150711
  /***/ }),
150641
- /* 1074 */
150712
+ /* 1073 */
150642
150713
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
150643
150714
 
150644
150715
  "use strict";
@@ -150650,8 +150721,8 @@ __webpack_require__(311);
150650
150721
  __webpack_require__(329);
150651
150722
  var _src = __webpack_require__(540);
150652
150723
  var _element = __webpack_require__(351);
150653
- var _all = __webpack_require__(1075);
150654
- var _last = __webpack_require__(1077);
150724
+ var _all = __webpack_require__(1074);
150725
+ var _last = __webpack_require__(1076);
150655
150726
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
150656
150727
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
150657
150728
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
@@ -150806,7 +150877,7 @@ function _overwriteColumnWidthFn(columnWidth, columnVisualIndex) {
150806
150877
  }
150807
150878
 
150808
150879
  /***/ }),
150809
- /* 1075 */
150880
+ /* 1074 */
150810
150881
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
150811
150882
 
150812
150883
  "use strict";
@@ -150818,7 +150889,7 @@ __webpack_require__(311);
150818
150889
  __webpack_require__(329);
150819
150890
  __webpack_require__(530);
150820
150891
  var _src = __webpack_require__(540);
150821
- var _base = __webpack_require__(1076);
150892
+ var _base = __webpack_require__(1075);
150822
150893
  /**
150823
150894
  * The strategy calculates the column widths by stretching all columns evenly.
150824
150895
  *
@@ -150883,7 +150954,7 @@ class StretchAllStrategy extends _base.StretchStrategy {
150883
150954
  exports.StretchAllStrategy = StretchAllStrategy;
150884
150955
 
150885
150956
  /***/ }),
150886
- /* 1076 */
150957
+ /* 1075 */
150887
150958
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
150888
150959
 
150889
150960
  "use strict";
@@ -150972,7 +151043,7 @@ class StretchStrategy {
150972
151043
  exports.StretchStrategy = StretchStrategy;
150973
151044
 
150974
151045
  /***/ }),
150975
- /* 1077 */
151046
+ /* 1076 */
150976
151047
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
150977
151048
 
150978
151049
  "use strict";
@@ -150982,7 +151053,7 @@ exports.__esModule = true;
150982
151053
  __webpack_require__(201);
150983
151054
  __webpack_require__(311);
150984
151055
  __webpack_require__(530);
150985
- var _base = __webpack_require__(1076);
151056
+ var _base = __webpack_require__(1075);
150986
151057
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
150987
151058
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
150988
151059
  function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
@@ -151057,20 +151128,20 @@ class StretchLastStrategy extends _base.StretchStrategy {
151057
151128
  exports.StretchLastStrategy = StretchLastStrategy;
151058
151129
 
151059
151130
  /***/ }),
151060
- /* 1078 */
151131
+ /* 1077 */
151061
151132
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
151062
151133
 
151063
151134
  "use strict";
151064
151135
 
151065
151136
 
151066
151137
  exports.__esModule = true;
151067
- var _touchScroll = __webpack_require__(1079);
151138
+ var _touchScroll = __webpack_require__(1078);
151068
151139
  exports.PLUGIN_KEY = _touchScroll.PLUGIN_KEY;
151069
151140
  exports.PLUGIN_PRIORITY = _touchScroll.PLUGIN_PRIORITY;
151070
151141
  exports.TouchScroll = _touchScroll.TouchScroll;
151071
151142
 
151072
151143
  /***/ }),
151073
- /* 1079 */
151144
+ /* 1078 */
151074
151145
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
151075
151146
 
151076
151147
  "use strict";
@@ -151259,20 +151330,20 @@ function _onAfterMomentumScroll() {
151259
151330
  }
151260
151331
 
151261
151332
  /***/ }),
151262
- /* 1080 */
151333
+ /* 1079 */
151263
151334
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
151264
151335
 
151265
151336
  "use strict";
151266
151337
 
151267
151338
 
151268
151339
  exports.__esModule = true;
151269
- var _trimRows = __webpack_require__(1081);
151340
+ var _trimRows = __webpack_require__(1080);
151270
151341
  exports.PLUGIN_KEY = _trimRows.PLUGIN_KEY;
151271
151342
  exports.PLUGIN_PRIORITY = _trimRows.PLUGIN_PRIORITY;
151272
151343
  exports.TrimRows = _trimRows.TrimRows;
151273
151344
 
151274
151345
  /***/ }),
151275
- /* 1081 */
151346
+ /* 1080 */
151276
151347
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
151277
151348
 
151278
151349
  "use strict";
@@ -151604,20 +151675,20 @@ function _onMapInit() {
151604
151675
  }
151605
151676
 
151606
151677
  /***/ }),
151607
- /* 1082 */
151678
+ /* 1081 */
151608
151679
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
151609
151680
 
151610
151681
  "use strict";
151611
151682
 
151612
151683
 
151613
151684
  exports.__esModule = true;
151614
- var _undoRedo = __webpack_require__(1083);
151685
+ var _undoRedo = __webpack_require__(1082);
151615
151686
  exports.PLUGIN_KEY = _undoRedo.PLUGIN_KEY;
151616
151687
  exports.PLUGIN_PRIORITY = _undoRedo.PLUGIN_PRIORITY;
151617
151688
  exports.UndoRedo = _undoRedo.UndoRedo;
151618
151689
 
151619
151690
  /***/ }),
151620
- /* 1083 */
151691
+ /* 1082 */
151621
151692
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
151622
151693
 
151623
151694
  "use strict";
@@ -151640,7 +151711,7 @@ var _hooks = __webpack_require__(511);
151640
151711
  var _object = __webpack_require__(499);
151641
151712
  var _templateLiteralTag = __webpack_require__(494);
151642
151713
  var _console = __webpack_require__(512);
151643
- var _actions = __webpack_require__(1084);
151714
+ var _actions = __webpack_require__(1083);
151644
151715
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
151645
151716
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
151646
151717
  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"); }
@@ -152010,7 +152081,7 @@ function _removeAPIFromCore() {
152010
152081
  }
152011
152082
 
152012
152083
  /***/ }),
152013
- /* 1084 */
152084
+ /* 1083 */
152014
152085
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152015
152086
 
152016
152087
  "use strict";
@@ -152020,18 +152091,18 @@ exports.__esModule = true;
152020
152091
  exports.registerActions = registerActions;
152021
152092
  __webpack_require__(311);
152022
152093
  __webpack_require__(329);
152023
- var _cellAlignment = __webpack_require__(1085);
152024
- var _columnMove = __webpack_require__(1087);
152025
- var _columnSort = __webpack_require__(1088);
152026
- var _createColumn = __webpack_require__(1089);
152027
- var _createRow = __webpack_require__(1090);
152028
- var _dataChange = __webpack_require__(1091);
152029
- var _filters = __webpack_require__(1092);
152030
- var _mergeCells = __webpack_require__(1093);
152031
- var _removeColumn = __webpack_require__(1094);
152032
- var _removeRow = __webpack_require__(1097);
152033
- var _rowMove = __webpack_require__(1098);
152034
- var _unmergeCells = __webpack_require__(1099);
152094
+ var _cellAlignment = __webpack_require__(1084);
152095
+ var _columnMove = __webpack_require__(1086);
152096
+ var _columnSort = __webpack_require__(1087);
152097
+ var _createColumn = __webpack_require__(1088);
152098
+ var _createRow = __webpack_require__(1089);
152099
+ var _dataChange = __webpack_require__(1090);
152100
+ var _filters = __webpack_require__(1091);
152101
+ var _mergeCells = __webpack_require__(1092);
152102
+ var _removeColumn = __webpack_require__(1093);
152103
+ var _removeRow = __webpack_require__(1096);
152104
+ var _rowMove = __webpack_require__(1097);
152105
+ var _unmergeCells = __webpack_require__(1098);
152035
152106
  /**
152036
152107
  * Register all undo/redo actions.
152037
152108
  *
@@ -152043,7 +152114,7 @@ function registerActions(hot, undoRedoPlugin) {
152043
152114
  }
152044
152115
 
152045
152116
  /***/ }),
152046
- /* 1085 */
152117
+ /* 1084 */
152047
152118
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152048
152119
 
152049
152120
  "use strict";
@@ -152052,7 +152123,7 @@ function registerActions(hot, undoRedoPlugin) {
152052
152123
  var _interopRequireDefault = __webpack_require__(197);
152053
152124
  exports.__esModule = true;
152054
152125
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152055
- var _base = __webpack_require__(1086);
152126
+ var _base = __webpack_require__(1085);
152056
152127
  var _utils = __webpack_require__(881);
152057
152128
  var _array = __webpack_require__(495);
152058
152129
  /**
@@ -152069,7 +152140,7 @@ class CellAlignmentAction extends _base.BaseAction {
152069
152140
  type,
152070
152141
  alignment
152071
152142
  } = _ref;
152072
- super();
152143
+ super('cell_alignment');
152073
152144
  /**
152074
152145
  * @param {Array} stateBefore The previous state.
152075
152146
  */
@@ -152132,14 +152203,16 @@ class CellAlignmentAction extends _base.BaseAction {
152132
152203
  exports.CellAlignmentAction = CellAlignmentAction;
152133
152204
 
152134
152205
  /***/ }),
152135
- /* 1086 */
152206
+ /* 1085 */
152136
152207
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152137
152208
 
152138
152209
  "use strict";
152139
152210
 
152140
152211
 
152212
+ var _interopRequireDefault = __webpack_require__(197);
152141
152213
  exports.__esModule = true;
152142
152214
  __webpack_require__(201);
152215
+ var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152143
152216
  /**
152144
152217
  * An abstract class that defines the structure of an undo/redo action.
152145
152218
  *
@@ -152147,6 +152220,13 @@ __webpack_require__(201);
152147
152220
  * @private
152148
152221
  */
152149
152222
  class BaseAction {
152223
+ constructor(actionType) {
152224
+ /**
152225
+ * @param {string} actionType The action type.
152226
+ */
152227
+ (0, _defineProperty2.default)(this, "actionType", '');
152228
+ this.actionType = actionType;
152229
+ }
152150
152230
  undo() {
152151
152231
  throw new Error('Not implemented');
152152
152232
  }
@@ -152157,7 +152237,7 @@ class BaseAction {
152157
152237
  exports.BaseAction = BaseAction;
152158
152238
 
152159
152239
  /***/ }),
152160
- /* 1087 */
152240
+ /* 1086 */
152161
152241
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152162
152242
 
152163
152243
  "use strict";
@@ -152168,7 +152248,7 @@ exports.__esModule = true;
152168
152248
  __webpack_require__(311);
152169
152249
  __webpack_require__(329);
152170
152250
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152171
- var _base = __webpack_require__(1086);
152251
+ var _base = __webpack_require__(1085);
152172
152252
  var _moves = __webpack_require__(995);
152173
152253
  /**
152174
152254
  * Action that tracks column move changes.
@@ -152182,7 +152262,7 @@ class ColumnMoveAction extends _base.BaseAction {
152182
152262
  columns,
152183
152263
  finalIndex
152184
152264
  } = _ref;
152185
- super();
152265
+ super('col_move');
152186
152266
  /**
152187
152267
  * @param {number[]} columns An array with moved columns.
152188
152268
  */
@@ -152245,7 +152325,7 @@ class ColumnMoveAction extends _base.BaseAction {
152245
152325
  exports.ColumnMoveAction = ColumnMoveAction;
152246
152326
 
152247
152327
  /***/ }),
152248
- /* 1088 */
152328
+ /* 1087 */
152249
152329
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152250
152330
 
152251
152331
  "use strict";
@@ -152254,7 +152334,7 @@ exports.ColumnMoveAction = ColumnMoveAction;
152254
152334
  var _interopRequireDefault = __webpack_require__(197);
152255
152335
  exports.__esModule = true;
152256
152336
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152257
- var _base = __webpack_require__(1086);
152337
+ var _base = __webpack_require__(1085);
152258
152338
  /**
152259
152339
  * Action that tracks column sort changes.
152260
152340
  *
@@ -152267,7 +152347,7 @@ class ColumnSortAction extends _base.BaseAction {
152267
152347
  currentSortState,
152268
152348
  newSortState
152269
152349
  } = _ref;
152270
- super();
152350
+ super('col_sort');
152271
152351
  /**
152272
152352
  * @param {Array} currentSortState The current sort state.
152273
152353
  */
@@ -152322,7 +152402,7 @@ class ColumnSortAction extends _base.BaseAction {
152322
152402
  exports.ColumnSortAction = ColumnSortAction;
152323
152403
 
152324
152404
  /***/ }),
152325
- /* 1089 */
152405
+ /* 1088 */
152326
152406
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152327
152407
 
152328
152408
  "use strict";
@@ -152331,7 +152411,7 @@ exports.ColumnSortAction = ColumnSortAction;
152331
152411
  var _interopRequireDefault = __webpack_require__(197);
152332
152412
  exports.__esModule = true;
152333
152413
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152334
- var _base = __webpack_require__(1086);
152414
+ var _base = __webpack_require__(1085);
152335
152415
  /**
152336
152416
  * Action that tracks column creation.
152337
152417
  *
@@ -152344,7 +152424,7 @@ class CreateColumnAction extends _base.BaseAction {
152344
152424
  index,
152345
152425
  amount
152346
152426
  } = _ref;
152347
- super();
152427
+ super('insert_col');
152348
152428
  /**
152349
152429
  * @param {number} index The visual column index.
152350
152430
  */
@@ -152386,7 +152466,7 @@ class CreateColumnAction extends _base.BaseAction {
152386
152466
  exports.CreateColumnAction = CreateColumnAction;
152387
152467
 
152388
152468
  /***/ }),
152389
- /* 1090 */
152469
+ /* 1089 */
152390
152470
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152391
152471
 
152392
152472
  "use strict";
@@ -152395,7 +152475,7 @@ exports.CreateColumnAction = CreateColumnAction;
152395
152475
  var _interopRequireDefault = __webpack_require__(197);
152396
152476
  exports.__esModule = true;
152397
152477
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152398
- var _base = __webpack_require__(1086);
152478
+ var _base = __webpack_require__(1085);
152399
152479
  /**
152400
152480
  * Action that tracks row creation.
152401
152481
  *
@@ -152408,7 +152488,7 @@ class CreateRowAction extends _base.BaseAction {
152408
152488
  index,
152409
152489
  amount
152410
152490
  } = _ref;
152411
- super();
152491
+ super('insert_row');
152412
152492
  /**
152413
152493
  * @param {number} index The visual row index.
152414
152494
  */
@@ -152455,7 +152535,7 @@ class CreateRowAction extends _base.BaseAction {
152455
152535
  exports.CreateRowAction = CreateRowAction;
152456
152536
 
152457
152537
  /***/ }),
152458
- /* 1091 */
152538
+ /* 1090 */
152459
152539
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152460
152540
 
152461
152541
  "use strict";
@@ -152469,7 +152549,7 @@ __webpack_require__(519);
152469
152549
  __webpack_require__(329);
152470
152550
  __webpack_require__(530);
152471
152551
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152472
- var _base = __webpack_require__(1086);
152552
+ var _base = __webpack_require__(1085);
152473
152553
  var _object = __webpack_require__(499);
152474
152554
  /**
152475
152555
  * Action that tracks data changes.
@@ -152485,7 +152565,7 @@ class DataChangeAction extends _base.BaseAction {
152485
152565
  countCols,
152486
152566
  countRows
152487
152567
  } = _ref;
152488
- super();
152568
+ super('change');
152489
152569
  /**
152490
152570
  * @param {Array} changes 2D array containing information about each of the edited cells.
152491
152571
  */
@@ -152582,7 +152662,7 @@ class DataChangeAction extends _base.BaseAction {
152582
152662
  exports.DataChangeAction = DataChangeAction;
152583
152663
 
152584
152664
  /***/ }),
152585
- /* 1092 */
152665
+ /* 1091 */
152586
152666
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152587
152667
 
152588
152668
  "use strict";
@@ -152593,7 +152673,7 @@ exports.__esModule = true;
152593
152673
  __webpack_require__(311);
152594
152674
  __webpack_require__(323);
152595
152675
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152596
- var _base = __webpack_require__(1086);
152676
+ var _base = __webpack_require__(1085);
152597
152677
  /**
152598
152678
  * Action that tracks filter changes.
152599
152679
  *
@@ -152606,7 +152686,7 @@ class FiltersAction extends _base.BaseAction {
152606
152686
  conditionsStack,
152607
152687
  previousConditionsStack
152608
152688
  } = _ref;
152609
- super();
152689
+ super('filter');
152610
152690
  /**
152611
152691
  * @param {Array} previousConditionsStack An array of the previous filter conditions.
152612
152692
  */
@@ -152634,7 +152714,7 @@ class FiltersAction extends _base.BaseAction {
152634
152714
  undo(hot, undoneCallback) {
152635
152715
  const filters = hot.getPlugin('filters');
152636
152716
  hot.addHookOnce('afterViewRender', undoneCallback);
152637
- filters.conditionCollection.importAllConditions(this.previousConditionsStack);
152717
+ filters.importConditions(this.previousConditionsStack);
152638
152718
  filters.filter();
152639
152719
  }
152640
152720
 
@@ -152645,14 +152725,14 @@ class FiltersAction extends _base.BaseAction {
152645
152725
  redo(hot, redoneCallback) {
152646
152726
  const filters = hot.getPlugin('filters');
152647
152727
  hot.addHookOnce('afterViewRender', redoneCallback);
152648
- filters.conditionCollection.importAllConditions(this.conditionsStack);
152728
+ filters.importConditions(this.conditionsStack);
152649
152729
  filters.filter();
152650
152730
  }
152651
152731
  }
152652
152732
  exports.FiltersAction = FiltersAction;
152653
152733
 
152654
152734
  /***/ }),
152655
- /* 1093 */
152735
+ /* 1092 */
152656
152736
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152657
152737
 
152658
152738
  "use strict";
@@ -152661,7 +152741,7 @@ exports.FiltersAction = FiltersAction;
152661
152741
  var _interopRequireDefault = __webpack_require__(197);
152662
152742
  exports.__esModule = true;
152663
152743
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152664
- var _base = __webpack_require__(1086);
152744
+ var _base = __webpack_require__(1085);
152665
152745
  /**
152666
152746
  * Action that tracks changes in merged cells.
152667
152747
  *
@@ -152674,7 +152754,10 @@ class MergeCellsAction extends _base.BaseAction {
152674
152754
  data,
152675
152755
  cellRange
152676
152756
  } = _ref;
152677
- super();
152757
+ super('merge_cells');
152758
+ /**
152759
+ * @param {CellRange} cellRange The merged cell range.
152760
+ */
152678
152761
  (0, _defineProperty2.default)(this, "cellRange", void 0);
152679
152762
  this.cellRange = cellRange;
152680
152763
  this.data = data;
@@ -152719,7 +152802,7 @@ class MergeCellsAction extends _base.BaseAction {
152719
152802
  exports.MergeCellsAction = MergeCellsAction;
152720
152803
 
152721
152804
  /***/ }),
152722
- /* 1094 */
152805
+ /* 1093 */
152723
152806
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152724
152807
 
152725
152808
  "use strict";
@@ -152731,8 +152814,8 @@ __webpack_require__(283);
152731
152814
  __webpack_require__(311);
152732
152815
  __webpack_require__(329);
152733
152816
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152734
- var _base = __webpack_require__(1086);
152735
- var _utils = __webpack_require__(1095);
152817
+ var _base = __webpack_require__(1085);
152818
+ var _utils = __webpack_require__(1094);
152736
152819
  var _number = __webpack_require__(534);
152737
152820
  var _array = __webpack_require__(495);
152738
152821
  /**
@@ -152747,13 +152830,14 @@ class RemoveColumnAction extends _base.BaseAction {
152747
152830
  index,
152748
152831
  indexes,
152749
152832
  data,
152833
+ amount,
152750
152834
  headers,
152751
152835
  columnPositions,
152752
152836
  rowPositions,
152753
152837
  fixedColumnsStart,
152754
152838
  removedCellMetas
152755
152839
  } = _ref;
152756
- super();
152840
+ super('remove_col');
152757
152841
  /**
152758
152842
  * @param {number} index The visual column index.
152759
152843
  */
@@ -152793,7 +152877,7 @@ class RemoveColumnAction extends _base.BaseAction {
152793
152877
  this.index = index;
152794
152878
  this.indexes = indexes;
152795
152879
  this.data = data;
152796
- this.amount = this.data[0].length;
152880
+ this.amount = amount;
152797
152881
  this.headers = headers;
152798
152882
  this.columnPositions = columnPositions.slice(0);
152799
152883
  this.rowPositions = rowPositions.slice(0);
@@ -152831,6 +152915,7 @@ class RemoveColumnAction extends _base.BaseAction {
152831
152915
  index: columnIndex,
152832
152916
  indexes,
152833
152917
  data: removedData,
152918
+ amount,
152834
152919
  headers,
152835
152920
  columnPositions: columnsMap,
152836
152921
  rowPositions: rowsMap,
@@ -152899,7 +152984,7 @@ class RemoveColumnAction extends _base.BaseAction {
152899
152984
  exports.RemoveColumnAction = RemoveColumnAction;
152900
152985
 
152901
152986
  /***/ }),
152902
- /* 1095 */
152987
+ /* 1094 */
152903
152988
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152904
152989
 
152905
152990
  "use strict";
@@ -152908,7 +152993,7 @@ exports.RemoveColumnAction = RemoveColumnAction;
152908
152993
  exports.__esModule = true;
152909
152994
  exports.getCellMetas = getCellMetas;
152910
152995
  __webpack_require__(283);
152911
- __webpack_require__(1096);
152996
+ __webpack_require__(1095);
152912
152997
  __webpack_require__(311);
152913
152998
  __webpack_require__(323);
152914
152999
  var _number = __webpack_require__(534);
@@ -152942,7 +153027,7 @@ function getCellMetas(hot, fromRow, toRow, fromColumn, toColumn) {
152942
153027
  }
152943
153028
 
152944
153029
  /***/ }),
152945
- /* 1096 */
153030
+ /* 1095 */
152946
153031
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
152947
153032
 
152948
153033
  "use strict";
@@ -152965,7 +153050,7 @@ $({ target: 'Object', stat: true }, {
152965
153050
 
152966
153051
 
152967
153052
  /***/ }),
152968
- /* 1097 */
153053
+ /* 1096 */
152969
153054
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152970
153055
 
152971
153056
  "use strict";
@@ -152977,8 +153062,8 @@ __webpack_require__(283);
152977
153062
  __webpack_require__(311);
152978
153063
  __webpack_require__(329);
152979
153064
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152980
- var _base = __webpack_require__(1086);
152981
- var _utils = __webpack_require__(1095);
153065
+ var _base = __webpack_require__(1085);
153066
+ var _utils = __webpack_require__(1094);
152982
153067
  var _object = __webpack_require__(499);
152983
153068
  /**
152984
153069
  * Action that tracks changes in row removal.
@@ -152996,7 +153081,7 @@ class RemoveRowAction extends _base.BaseAction {
152996
153081
  rowIndexesSequence,
152997
153082
  removedCellMetas
152998
153083
  } = _ref;
152999
- super();
153084
+ super('remove_row');
153000
153085
  /**
153001
153086
  * @param {number} index The visual row index.
153002
153087
  */
@@ -153088,7 +153173,7 @@ class RemoveRowAction extends _base.BaseAction {
153088
153173
  exports.RemoveRowAction = RemoveRowAction;
153089
153174
 
153090
153175
  /***/ }),
153091
- /* 1098 */
153176
+ /* 1097 */
153092
153177
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
153093
153178
 
153094
153179
  "use strict";
@@ -153099,7 +153184,7 @@ exports.__esModule = true;
153099
153184
  __webpack_require__(311);
153100
153185
  __webpack_require__(329);
153101
153186
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
153102
- var _base = __webpack_require__(1086);
153187
+ var _base = __webpack_require__(1085);
153103
153188
  var _moves = __webpack_require__(995);
153104
153189
  /**
153105
153190
  * Action that tracks row move changes.
@@ -153113,7 +153198,7 @@ class RowMoveAction extends _base.BaseAction {
153113
153198
  rows,
153114
153199
  finalIndex
153115
153200
  } = _ref;
153116
- super();
153201
+ super('row_move');
153117
153202
  /**
153118
153203
  * @param {number[]} rows An array with moved rows.
153119
153204
  */
@@ -153176,7 +153261,7 @@ class RowMoveAction extends _base.BaseAction {
153176
153261
  exports.RowMoveAction = RowMoveAction;
153177
153262
 
153178
153263
  /***/ }),
153179
- /* 1099 */
153264
+ /* 1098 */
153180
153265
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
153181
153266
 
153182
153267
  "use strict";
@@ -153185,7 +153270,7 @@ exports.RowMoveAction = RowMoveAction;
153185
153270
  var _interopRequireDefault = __webpack_require__(197);
153186
153271
  exports.__esModule = true;
153187
153272
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
153188
- var _base = __webpack_require__(1086);
153273
+ var _base = __webpack_require__(1085);
153189
153274
  /**
153190
153275
  * Action that tracks changes in merged cells.
153191
153276
  *
@@ -153197,7 +153282,10 @@ class UnmergeCellsAction extends _base.BaseAction {
153197
153282
  let {
153198
153283
  cellRange
153199
153284
  } = _ref;
153200
- super();
153285
+ super('unmerge_cells');
153286
+ /**
153287
+ * @param {CellRange} cellRange The merged cell range.
153288
+ */
153201
153289
  (0, _defineProperty2.default)(this, "cellRange", void 0);
153202
153290
  this.cellRange = cellRange;
153203
153291
  }
@@ -153236,7 +153324,7 @@ class UnmergeCellsAction extends _base.BaseAction {
153236
153324
  exports.UnmergeCellsAction = UnmergeCellsAction;
153237
153325
 
153238
153326
  /***/ }),
153239
- /* 1100 */
153327
+ /* 1099 */
153240
153328
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
153241
153329
 
153242
153330
  "use strict";