handsontable 0.0.0-next-30065c6-20250405 → 0.0.0-next-ff10728-20250410

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

Potentially problematic release.


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

Files changed (106) hide show
  1. package/3rdparty/walkontable/src/cell/range.js +0 -14
  2. package/3rdparty/walkontable/src/cell/range.mjs +0 -14
  3. package/3rdparty/walkontable/src/renderer/rowHeaders.js +1 -4
  4. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +1 -4
  5. package/3rdparty/walkontable/src/selection/border/border.js +0 -5
  6. package/3rdparty/walkontable/src/selection/border/border.mjs +0 -5
  7. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +4 -3
  8. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +4 -3
  9. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +10 -8
  10. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +10 -8
  11. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +4 -3
  12. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +4 -3
  13. package/3rdparty/walkontable/src/table.js +2 -5
  14. package/3rdparty/walkontable/src/table.mjs +2 -5
  15. package/CHANGELOG.md +0 -39
  16. package/base.js +2 -2
  17. package/base.mjs +2 -2
  18. package/core/focusCatcher/focusDetector.js +1 -1
  19. package/core/focusCatcher/focusDetector.mjs +2 -2
  20. package/core/hooks/constants.js +0 -8
  21. package/core/hooks/constants.mjs +0 -8
  22. package/core/hooks/index.d.ts +0 -1
  23. package/core.d.ts +1 -0
  24. package/core.js +25 -32
  25. package/core.mjs +26 -33
  26. package/dataMap/dataMap.js +7 -0
  27. package/dataMap/dataMap.mjs +7 -0
  28. package/dataMap/metaManager/metaSchema.js +0 -1
  29. package/dataMap/metaManager/metaSchema.mjs +0 -1
  30. package/dist/handsontable.css +3 -3
  31. package/dist/handsontable.full.css +3 -3
  32. package/dist/handsontable.full.js +350 -437
  33. package/dist/handsontable.full.min.css +3 -3
  34. package/dist/handsontable.full.min.js +17 -17
  35. package/dist/handsontable.js +350 -437
  36. package/dist/handsontable.min.css +3 -3
  37. package/dist/handsontable.min.js +18 -18
  38. package/editorManager.js +7 -1
  39. package/editorManager.mjs +7 -1
  40. package/editors/autocompleteEditor/autocompleteEditor.js +4 -14
  41. package/editors/autocompleteEditor/autocompleteEditor.mjs +4 -14
  42. package/editors/textEditor/textEditor.js +1 -1
  43. package/editors/textEditor/textEditor.mjs +2 -2
  44. package/helpers/browser.js +1 -1
  45. package/helpers/browser.mjs +1 -1
  46. package/helpers/dom/element.js +2 -2
  47. package/helpers/dom/element.mjs +1 -1
  48. package/helpers/mixed.js +2 -2
  49. package/helpers/mixed.mjs +2 -2
  50. package/helpers/object.js +0 -3
  51. package/helpers/object.mjs +0 -3
  52. package/package.json +1 -1
  53. package/plugins/autoColumnSize/autoColumnSize.js +1 -1
  54. package/plugins/autoColumnSize/autoColumnSize.mjs +1 -1
  55. package/plugins/autoRowSize/autoRowSize.js +6 -1
  56. package/plugins/autoRowSize/autoRowSize.mjs +6 -1
  57. package/plugins/columnSorting/columnSorting.js +4 -0
  58. package/plugins/columnSorting/columnSorting.mjs +4 -0
  59. package/plugins/comments/comments.js +0 -1
  60. package/plugins/comments/comments.mjs +0 -1
  61. package/plugins/contextMenu/menu/defaultShortcutsList.js +2 -2
  62. package/plugins/contextMenu/menu/defaultShortcutsList.mjs +2 -2
  63. package/plugins/contextMenu/menu/menu.js +0 -1
  64. package/plugins/contextMenu/menu/menu.mjs +0 -1
  65. package/plugins/contextMenu/menu/positioner.js +2 -10
  66. package/plugins/contextMenu/menu/positioner.mjs +2 -10
  67. package/plugins/copyPaste/copyPaste.js +15 -12
  68. package/plugins/copyPaste/copyPaste.mjs +16 -13
  69. package/plugins/copyPaste/pasteEvent.js +0 -3
  70. package/plugins/copyPaste/pasteEvent.mjs +0 -3
  71. package/plugins/filters/filters.js +24 -25
  72. package/plugins/filters/filters.mjs +24 -25
  73. package/plugins/filters/ui/multipleSelect.js +1 -7
  74. package/plugins/filters/ui/multipleSelect.mjs +1 -7
  75. package/plugins/hiddenColumns/hiddenColumns.js +1 -1
  76. package/plugins/hiddenColumns/hiddenColumns.mjs +1 -1
  77. package/plugins/hiddenRows/hiddenRows.js +1 -1
  78. package/plugins/hiddenRows/hiddenRows.mjs +1 -1
  79. package/plugins/manualColumnResize/manualColumnResize.js +6 -4
  80. package/plugins/manualColumnResize/manualColumnResize.mjs +6 -4
  81. package/plugins/manualRowResize/manualRowResize.js +6 -4
  82. package/plugins/manualRowResize/manualRowResize.mjs +6 -4
  83. package/plugins/mergeCells/mergeCells.js +29 -8
  84. package/plugins/mergeCells/mergeCells.mjs +29 -8
  85. package/plugins/mergeCells/renderer.js +0 -15
  86. package/plugins/mergeCells/renderer.mjs +0 -15
  87. package/plugins/nestedRows/data/dataManager.js +2 -2
  88. package/plugins/nestedRows/data/dataManager.mjs +2 -2
  89. package/plugins/undoRedo/actions/removeColumn.js +14 -19
  90. package/plugins/undoRedo/actions/removeColumn.mjs +14 -19
  91. package/plugins/undoRedo/actions/removeRow.js +4 -12
  92. package/plugins/undoRedo/actions/removeRow.mjs +4 -12
  93. package/selection/selection.js +1 -3
  94. package/selection/selection.mjs +1 -3
  95. package/styles/handsontable.css +15 -14
  96. package/styles/handsontable.min.css +3 -3
  97. package/styles/ht-theme-horizon.css +2 -2
  98. package/styles/ht-theme-horizon.min.css +2 -2
  99. package/styles/ht-theme-main.css +2 -2
  100. package/styles/ht-theme-main.min.css +2 -2
  101. package/tableView.js +8 -5
  102. package/tableView.mjs +8 -5
  103. package/utils/ghostTable.js +0 -3
  104. package/utils/ghostTable.mjs +0 -3
  105. package/plugins/mergeCells/utils.js +0 -31
  106. package/plugins/mergeCells/utils.mjs +0 -27
@@ -25,8 +25,8 @@
25
25
  * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
26
26
  * USE OR INABILITY TO USE THIS SOFTWARE.
27
27
  *
28
- * Version: 0.0.0-next-30065c6-20250405
29
- * Release date: 19/03/2025 (built at 05/04/2025 20:52:27)
28
+ * Version: 0.0.0-next-ff10728-20250410
29
+ * Release date: 20/02/2025 (built at 10/04/2025 06:43:56)
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 = "05/04/2025 20:52:27";
42859
- Handsontable.version = "0.0.0-next-30065c6-20250405";
42858
+ Handsontable.buildDate = "10/04/2025 06:43:56";
42859
+ Handsontable.version = "0.0.0-next-ff10728-20250410";
42860
42860
  Handsontable.languages = {
42861
42861
  dictionaryKeys: _registry.dictionaryKeys,
42862
42862
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -43110,6 +43110,7 @@ function Core(rootElement, userSettings) {
43110
43110
  const globalMeta = metaManager.getGlobalMeta();
43111
43111
  const pluginsRegistry = (0, _uniqueMap.createUniqueMap)();
43112
43112
  this.container = this.rootDocument.createElement('div');
43113
+ this.renderCall = false;
43113
43114
  rootElement.insertBefore(this.container, rootElement.firstChild);
43114
43115
  if ((0, _rootInstance.isRootInstance)(this)) {
43115
43116
  (0, _mixed._injectProductInfo)(userSettings.licenseKey, rootElement);
@@ -43141,9 +43142,6 @@ function Core(rootElement, userSettings) {
43141
43142
  this.rowIndexMapper.addLocalHook('indexesSequenceChange', source => {
43142
43143
  instance.runHooks('afterRowSequenceChange', source);
43143
43144
  });
43144
- eventManager.addEventListener(this.rootDocument.documentElement, 'compositionstart', event => {
43145
- instance.runHooks('beforeCompositionStart', event);
43146
- });
43147
43145
  dataSource = new _dataSource.default(instance);
43148
43146
  if (!this.rootElement.id || this.rootElement.id.substring(0, 3) === 'ht_') {
43149
43147
  this.rootElement.id = this.guid; // if root element does not have an id, assign a random id
@@ -43223,7 +43221,6 @@ function Core(rootElement, userSettings) {
43223
43221
  let {
43224
43222
  hiddenIndexesChanged
43225
43223
  } = _ref;
43226
- this.forceFullRender = true;
43227
43224
  if (hiddenIndexesChanged) {
43228
43225
  this.selection.commit();
43229
43226
  }
@@ -43507,6 +43504,13 @@ function Core(rootElement, userSettings) {
43507
43504
  }
43508
43505
  }
43509
43506
  const totalRows = instance.countRows();
43507
+ if (totalRows === 0) {
43508
+ selection.deselect();
43509
+ } else if (source === 'ContextMenu.removeRow') {
43510
+ selection.refresh();
43511
+ } else {
43512
+ selection.shiftRows(groupIndex, -groupAmount);
43513
+ }
43510
43514
  const fixedRowsTop = tableMeta.fixedRowsTop;
43511
43515
  if (fixedRowsTop >= calcIndex + 1) {
43512
43516
  tableMeta.fixedRowsTop -= Math.min(groupAmount, fixedRowsTop - calcIndex);
@@ -43515,13 +43519,6 @@ function Core(rootElement, userSettings) {
43515
43519
  if (fixedRowsBottom && calcIndex >= totalRows - fixedRowsBottom) {
43516
43520
  tableMeta.fixedRowsBottom -= Math.min(groupAmount, fixedRowsBottom);
43517
43521
  }
43518
- if (totalRows === 0) {
43519
- selection.deselect();
43520
- } else if (source === 'ContextMenu.removeRow') {
43521
- selection.refresh();
43522
- } else {
43523
- selection.shiftRows(groupIndex, -groupAmount);
43524
- }
43525
43522
  offset += groupAmount;
43526
43523
  });
43527
43524
  };
@@ -43931,7 +43928,8 @@ function Core(rootElement, userSettings) {
43931
43928
  (0, _index.installFocusCatcher)(instance);
43932
43929
  }
43933
43930
  instance.runHooks('init');
43934
- this.render();
43931
+ this.forceFullRender = true; // used when data was changed
43932
+ this.view.render();
43935
43933
 
43936
43934
  // Run the logic only if it's the table's initialization and the root element is not visible.
43937
43935
  if (!!firstRun && instance.rootElement.offsetParent === null) {
@@ -44104,11 +44102,13 @@ function Core(rootElement, userSettings) {
44104
44102
  datamap.set(changes[i][0], changes[i][1], changes[i][3]);
44105
44103
  }
44106
44104
  const hasChanges = changes.length > 0;
44105
+ instance.forceFullRender = true; // used when data was changed or when all cells need to be re-rendered
44106
+
44107
44107
  if (hasChanges) {
44108
44108
  grid.adjustRowsAndCols();
44109
44109
  instance.runHooks('beforeChangeRender', changes, source);
44110
44110
  editorManager.closeEditor();
44111
- instance.render();
44111
+ instance.view.render();
44112
44112
  editorManager.prepareEditor();
44113
44113
  instance.view.adjustElementsSize();
44114
44114
  instance.runHooks('afterChange', changes, source || 'edit');
@@ -44117,7 +44117,7 @@ function Core(rootElement, userSettings) {
44117
44117
  activeEditor.refreshValue();
44118
44118
  }
44119
44119
  } else {
44120
- instance.render();
44120
+ instance.view.render();
44121
44121
  }
44122
44122
  }
44123
44123
 
@@ -44267,22 +44267,9 @@ function Core(rootElement, userSettings) {
44267
44267
  ...tableMeta
44268
44268
  };
44269
44269
  }
44270
- const {
44271
- type,
44272
- checkedTemplate,
44273
- uncheckedTemplate
44274
- } = cellProperties;
44275
- if (type === 'numeric' && typeof newValue === 'string' && (0, _number.isNumericLike)(newValue)) {
44270
+ if (cellProperties.type === 'numeric' && typeof newValue === 'string' && (0, _number.isNumericLike)(newValue)) {
44276
44271
  filteredChanges[i][3] = getParsedNumber(newValue);
44277
44272
  }
44278
- if (type === 'checkbox') {
44279
- const stringifiedValue = (0, _mixed.stringify)(newValue);
44280
- const isChecked = stringifiedValue === (0, _mixed.stringify)(checkedTemplate);
44281
- const isUnchecked = stringifiedValue === (0, _mixed.stringify)(uncheckedTemplate);
44282
- if (isChecked || isUnchecked) {
44283
- filteredChanges[i][3] = isChecked ? checkedTemplate : uncheckedTemplate;
44284
- }
44285
- }
44286
44273
  }
44287
44274
  return filteredChanges;
44288
44275
  }
@@ -44684,7 +44671,11 @@ function Core(rootElement, userSettings) {
44684
44671
  const nextValue = this.renderSuspendedCounter - 1;
44685
44672
  this.renderSuspendedCounter = Math.max(nextValue, 0);
44686
44673
  if (!this.isRenderSuspended() && nextValue === this.renderSuspendedCounter) {
44687
- instance.view.render();
44674
+ if (this.renderCall) {
44675
+ this.render();
44676
+ } else {
44677
+ instance.view.render();
44678
+ }
44688
44679
  }
44689
44680
  };
44690
44681
 
@@ -44700,8 +44691,9 @@ function Core(rootElement, userSettings) {
44700
44691
  */
44701
44692
  this.render = function () {
44702
44693
  if (this.view) {
44703
- // used when data was changed or when all cells need to be re-rendered (slow render)
44704
- this.forceFullRender = true;
44694
+ this.renderCall = true;
44695
+ this.forceFullRender = true; // used when data was changed or when all cells need to be re-rendered
44696
+
44705
44697
  if (!this.isRenderSuspended()) {
44706
44698
  instance.view.render();
44707
44699
  }
@@ -45314,7 +45306,8 @@ function Core(rootElement, userSettings) {
45314
45306
  }
45315
45307
  grid.adjustRowsAndCols();
45316
45308
  if (instance.view && !firstRun) {
45317
- instance.render();
45309
+ instance.forceFullRender = true; // used when data was changed
45310
+ instance.view.render();
45318
45311
  instance.view._wt.wtOverlays.adjustElementsSize();
45319
45312
  }
45320
45313
  if (!init && instance.view && (currentHeight === '' || height === '' || height === undefined) && currentHeight !== height) {
@@ -51426,8 +51419,8 @@ exports.isChildOf = isChildOf;
51426
51419
  exports.isDetached = isDetached;
51427
51420
  exports.isHTMLElement = isHTMLElement;
51428
51421
  exports.isInput = isInput;
51429
- exports.isInternalElement = isInternalElement;
51430
51422
  exports.isOutsideInput = isOutsideInput;
51423
+ exports.isThisHotChild = isThisHotChild;
51431
51424
  exports.isVisible = isVisible;
51432
51425
  exports.makeElementContentEditableAndSelectItsContent = makeElementContentEditableAndSelectItsContent;
51433
51426
  exports.matchesCSSRules = matchesCSSRules;
@@ -51488,7 +51481,7 @@ function getParent(element) {
51488
51481
  * @param {HTMLElement} thisHotContainer The Handsontable container.
51489
51482
  * @returns {boolean}
51490
51483
  */
51491
- function isInternalElement(element, thisHotContainer) {
51484
+ function isThisHotChild(element, thisHotContainer) {
51492
51485
  const closestHandsontableContainer = element.closest('.handsontable');
51493
51486
  return !!closestHandsontableContainer && (closestHandsontableContainer.parentNode === thisHotContainer || closestHandsontableContainer === thisHotContainer);
51494
51487
  }
@@ -54195,7 +54188,7 @@ const domMessages = {
54195
54188
  function _injectProductInfo(key, element) {
54196
54189
  const hasValidType = !isEmpty(key);
54197
54190
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
54198
- const hotVersion = "0.0.0-next-30065c6-20250405";
54191
+ const hotVersion = "0.0.0-next-ff10728-20250410";
54199
54192
  let keyValidityDate;
54200
54193
  let consoleMessageState = 'invalid';
54201
54194
  let domMessageState = 'invalid';
@@ -54203,7 +54196,7 @@ function _injectProductInfo(key, element) {
54203
54196
  const schemaValidity = _checkKeySchema(key);
54204
54197
  if (hasValidType || isNonCommercial || schemaValidity) {
54205
54198
  if (schemaValidity) {
54206
- const releaseDate = (0, _moment.default)("19/03/2025", 'DD/MM/YYYY');
54199
+ const releaseDate = (0, _moment.default)("20/02/2025", 'DD/MM/YYYY');
54207
54200
  const releaseDays = Math.floor(releaseDate.toDate().getTime() / 8.64e7);
54208
54201
  const keyValidityDays = _extractTime(key);
54209
54202
  keyValidityDate = (0, _moment.default)((keyValidityDays + 1) * 8.64e7, 'x').format('MMMM DD, YYYY');
@@ -61910,7 +61903,7 @@ const platforms = {
61910
61903
  mac: tester(platform => /^Mac/.test(platform)),
61911
61904
  win: tester(platform => /^Win/.test(platform)),
61912
61905
  linux: tester(platform => /^Linux/.test(platform)),
61913
- ios: tester(platform => /iPhone|iPad|iPod/i.test(platform))
61906
+ ios: tester(ua => /iPhone|iPad|iPod/i.test(ua))
61914
61907
  };
61915
61908
 
61916
61909
  /**
@@ -62338,9 +62331,6 @@ function getProperty(object, name) {
62338
62331
  * @param {*} value Value to be assigned at the provided property.
62339
62332
  */
62340
62333
  function setProperty(object, name, value) {
62341
- if (typeof name !== 'string') {
62342
- return;
62343
- }
62344
62334
  const names = name.split('.');
62345
62335
  let workingObject = object;
62346
62336
  names.forEach((propName, index) => {
@@ -62707,7 +62697,13 @@ class EditorManager {
62707
62697
  this.selection = _selection;
62708
62698
  this.eventManager = new _eventManager.default(hotInstance);
62709
62699
  this.hot.addHook('afterDocumentKeyDown', event => _assertClassBrand(_EditorManager_brand, this, _onAfterDocumentKeyDown).call(this, event));
62710
- this.hot.addHook('beforeCompositionStart', event => _assertClassBrand(_EditorManager_brand, this, _onAfterDocumentKeyDown).call(this, event));
62700
+
62701
+ // Open editor when text composition is started (IME editor)
62702
+ this.eventManager.addEventListener(this.hot.rootDocument.documentElement, 'compositionstart', event => {
62703
+ if (!this.destroyed && this.hot.isListening()) {
62704
+ this.openEditor('', event);
62705
+ }
62706
+ });
62711
62707
  this.hot.view._wt.update('onCellDblClick', (event, coords, elem) => _assertClassBrand(_EditorManager_brand, this, _onCellDblClick).call(this, event, coords, elem));
62712
62708
  }
62713
62709
 
@@ -64183,14 +64179,6 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
64183
64179
  * @returns {string[]|undefined} Can return an `Array` of `String`s. Each of these strings will act like class names to be removed from all the cells in the table.
64184
64180
  */
64185
64181
  'beforeRemoveCellClassNames',
64186
- /**
64187
- * Hook fired after `compositionstart` event is handled.
64188
- *
64189
- * @event Hooks#beforeCompositionStart
64190
- * @since 15.3.0
64191
- * @param {Event} event A native `composition` event object.
64192
- */
64193
- 'beforeCompositionStart',
64194
64182
  /**
64195
64183
  * Fired after getting the cell settings.
64196
64184
  *
@@ -68807,16 +68795,16 @@ class TableView {
68807
68795
  */
68808
68796
  render() {
68809
68797
  if (!this.hot.isRenderSuspended()) {
68810
- const isFullRender = this.hot.forceFullRender;
68811
- this.hot.runHooks('beforeRender', isFullRender);
68798
+ this.hot.runHooks('beforeRender', this.hot.forceFullRender);
68812
68799
  if (this.postponedAdjustElementsSize) {
68813
68800
  this.postponedAdjustElementsSize = false;
68814
68801
  this.adjustElementsSize();
68815
68802
  }
68816
- this._wt.draw(!isFullRender);
68803
+ this._wt.draw(!this.hot.forceFullRender);
68817
68804
  _assertClassBrand(_TableView_brand, this, _updateScrollbarClassNames).call(this);
68818
- this.hot.runHooks('afterRender', isFullRender);
68805
+ this.hot.runHooks('afterRender', this.hot.forceFullRender);
68819
68806
  this.hot.forceFullRender = false;
68807
+ this.hot.renderCall = false;
68820
68808
  }
68821
68809
  }
68822
68810
 
@@ -69723,7 +69711,8 @@ class TableView {
69723
69711
  this.eventManager.addEventListener(this.hot.rootDocument.documentElement, 'click', () => {
69724
69712
  if (this.settings.observeDOMVisibility) {
69725
69713
  if (this._wt.drawInterrupted) {
69726
- this.hot.render();
69714
+ this.hot.forceFullRender = true;
69715
+ this.render();
69727
69716
  }
69728
69717
  }
69729
69718
  });
@@ -69796,6 +69785,7 @@ class TableView {
69796
69785
  */
69797
69786
  beforeRender(force, skipRender) {
69798
69787
  if (force) {
69788
+ // this.hot.forceFullRender = did Handsontable request full render?
69799
69789
  this.hot.runHooks('beforeViewRender', this.hot.forceFullRender, skipRender);
69800
69790
  }
69801
69791
  }
@@ -69809,6 +69799,7 @@ class TableView {
69809
69799
  */
69810
69800
  afterRender(force) {
69811
69801
  if (force) {
69802
+ // this.hot.forceFullRender = did Handsontable request full render?
69812
69803
  this.hot.runHooks('afterViewRender', this.hot.forceFullRender);
69813
69804
  }
69814
69805
  }
@@ -71914,20 +71905,6 @@ class CellRange {
71914
71905
  return this;
71915
71906
  }
71916
71907
 
71917
- /**
71918
- * Normalizes the coordinates in your `CellRange` instance to the nearest valid position.
71919
- *
71920
- * Coordinates that point to headers (negative values) are normalized to `0`.
71921
- *
71922
- * @returns {CellRange}
71923
- */
71924
- normalize() {
71925
- this.highlight.normalize();
71926
- this.from.normalize();
71927
- this.to.normalize();
71928
- return this;
71929
- }
71930
-
71931
71908
  /**
71932
71909
  * Checks if the coordinates in your `CellRange` instance are valid
71933
71910
  * in the context of given table parameters.
@@ -74549,8 +74526,8 @@ class Table {
74549
74526
  } else {
74550
74527
  this.tableOffset = this.dataAccessObject.parentTableOffset;
74551
74528
  }
74552
- const startRow = Math.max(this.getFirstRenderedRow(), 0);
74553
- const startColumn = Math.max(this.getFirstRenderedColumn(), 0);
74529
+ const startRow = totalRows > 0 ? this.getFirstRenderedRow() : 0;
74530
+ const startColumn = totalColumns > 0 ? this.getFirstRenderedColumn() : 0;
74554
74531
  this.rowFilter = new _row.default(startRow, totalRows, columnHeadersCount);
74555
74532
  this.columnFilter = new _column.default(startColumn, totalColumns, rowHeadersCount);
74556
74533
  let performRedraw = true;
@@ -74868,9 +74845,6 @@ class Table {
74868
74845
  return null;
74869
74846
  }
74870
74847
  const TR = cellElement.parentNode;
74871
- if (!TR) {
74872
- return null;
74873
- }
74874
74848
  const CONTAINER = TR.parentNode;
74875
74849
  let row = (0, _element.index)(TR);
74876
74850
  let col = cellElement.cellIndex;
@@ -75690,10 +75664,7 @@ class RowHeadersRenderer extends _base.BaseRenderer {
75690
75664
  const orderView = this.obtainOrderView(TR);
75691
75665
  const cellsView = cells.obtainOrderView(TR);
75692
75666
  orderView.appendView(cellsView).setSize(rowHeadersCount).setOffset(0).start();
75693
-
75694
- // Reading the row header renderers in reverse because of how the Eco Renderers handle rendering
75695
- // (prepending the nodes when rendering row headers).
75696
- for (let visibleColumnIndex = rowHeadersCount - 1; visibleColumnIndex >= 0; visibleColumnIndex--) {
75667
+ for (let visibleColumnIndex = 0; visibleColumnIndex < rowHeadersCount; visibleColumnIndex++) {
75697
75668
  orderView.render();
75698
75669
  const TH = orderView.getCurrentNode();
75699
75670
  TH.className = '';
@@ -77558,11 +77529,16 @@ const stickyRowsBottom = {
77558
77529
  * @this Table
77559
77530
  */
77560
77531
  getFirstRenderedRow() {
77561
- const allStickyRows = this.getRenderedRowsCount();
77562
- if (allStickyRows === 0) {
77532
+ const totalRows = this.wtSettings.getSetting('totalRows');
77533
+ const fixedRowsBottom = this.wtSettings.getSetting('fixedRowsBottom');
77534
+ const index = totalRows - fixedRowsBottom;
77535
+ if (totalRows === 0 || fixedRowsBottom === 0) {
77563
77536
  return -1;
77564
77537
  }
77565
- return this.wtSettings.getSetting('totalRows') - allStickyRows;
77538
+ if (index < 0) {
77539
+ return 0;
77540
+ }
77541
+ return index;
77566
77542
  },
77567
77543
  /**
77568
77544
  * Get the source index of the first row fully visible in the viewport. If no rows are fully visible, returns an error code: -1.
@@ -77591,10 +77567,6 @@ const stickyRowsBottom = {
77591
77567
  * @this Table
77592
77568
  */
77593
77569
  getLastRenderedRow() {
77594
- const allStickyRows = this.getRenderedRowsCount();
77595
- if (allStickyRows === 0) {
77596
- return -1;
77597
- }
77598
77570
  return this.wtSettings.getSetting('totalRows') - 1;
77599
77571
  },
77600
77572
  /**
@@ -77624,7 +77596,8 @@ const stickyRowsBottom = {
77624
77596
  * @this Table
77625
77597
  */
77626
77598
  getRenderedRowsCount() {
77627
- return Math.min(this.wtSettings.getSetting('totalRows'), this.wtSettings.getSetting('fixedRowsBottom'));
77599
+ const totalRows = this.wtSettings.getSetting('totalRows');
77600
+ return Math.min(this.wtSettings.getSetting('fixedRowsBottom'), totalRows);
77628
77601
  },
77629
77602
  /**
77630
77603
  * Get the number of fully visible rows in the viewport.
@@ -77679,8 +77652,8 @@ const stickyColumnsStart = {
77679
77652
  * @this Table
77680
77653
  */
77681
77654
  getFirstRenderedColumn() {
77682
- const allStickyColumns = this.getRenderedColumnsCount();
77683
- if (allStickyColumns === 0) {
77655
+ const totalColumns = this.wtSettings.getSetting('totalColumns');
77656
+ if (totalColumns === 0) {
77684
77657
  return -1;
77685
77658
  }
77686
77659
  return 0;
@@ -77741,7 +77714,8 @@ const stickyColumnsStart = {
77741
77714
  * @this Table
77742
77715
  */
77743
77716
  getRenderedColumnsCount() {
77744
- return Math.min(this.wtSettings.getSetting('totalColumns'), this.wtSettings.getSetting('fixedColumnsStart'));
77717
+ const totalColumns = this.wtSettings.getSetting('totalColumns');
77718
+ return Math.min(this.wtSettings.getSetting('fixedColumnsStart'), totalColumns);
77745
77719
  },
77746
77720
  /**
77747
77721
  * Get the number of fully visible columns in the viewport.
@@ -81195,11 +81169,6 @@ class Border {
81195
81169
  const lastRenderedRow = wtTable.getLastRenderedRow();
81196
81170
  const firstRenderedColumn = wtTable.getFirstRenderedColumn();
81197
81171
  const lastRenderedColumn = wtTable.getLastRenderedColumn();
81198
- if (firstRenderedColumn < 0 && lastRenderedColumn < 0 || firstRenderedRow < 0 && lastRenderedRow < 0) {
81199
- // ...also when overlays have rendered only headers skip it
81200
- this.disappear();
81201
- return;
81202
- }
81203
81172
  let fromTD;
81204
81173
  if (isMultiple) {
81205
81174
  fromColumn = Math.max(fromColumn, firstRenderedColumn);
@@ -81694,8 +81663,8 @@ const stickyRowsTop = {
81694
81663
  * @this Table
81695
81664
  */
81696
81665
  getFirstRenderedRow() {
81697
- const allStickyRows = this.getRenderedRowsCount();
81698
- if (allStickyRows === 0) {
81666
+ const totalRows = this.wtSettings.getSetting('totalRows');
81667
+ if (totalRows === 0) {
81699
81668
  return -1;
81700
81669
  }
81701
81670
  return 0;
@@ -81756,7 +81725,8 @@ const stickyRowsTop = {
81756
81725
  * @this Table
81757
81726
  */
81758
81727
  getRenderedRowsCount() {
81759
- return Math.min(this.wtSettings.getSetting('totalRows'), this.wtSettings.getSetting('fixedRowsTop'));
81728
+ const totalRows = this.wtSettings.getSetting('totalRows');
81729
+ return Math.min(this.wtSettings.getSetting('fixedRowsTop'), totalRows);
81760
81730
  },
81761
81731
  /**
81762
81732
  * Get the number of fully visible rows in the viewport.
@@ -88004,9 +87974,7 @@ class Selection {
88004
87974
  col: (0, _number.clamp)(to.col, 0, countColumns - 1)
88005
87975
  });
88006
87976
  this.selectedRange.ranges.push(range);
88007
- if (this.highlight.isEnabledFor(_highlight.FOCUS_TYPE, this.selectedRange.current().highlight)) {
88008
- this.highlight.getFocus().add(highlight).commit().syncWith(range);
88009
- }
87977
+ this.highlight.getFocus().add(highlight).commit().syncWith(range);
88010
87978
  this.applyAndCommit(range);
88011
87979
  }
88012
87980
 
@@ -90159,6 +90127,8 @@ class DataMap {
90159
90127
  }
90160
90128
  }
90161
90129
  this.hot.runHooks('afterCreateRow', newVisualRowIndex, numberOfCreatedRows, source);
90130
+ this.hot.forceFullRender = true; // used when data was changed
90131
+
90162
90132
  return {
90163
90133
  delta: numberOfCreatedRows,
90164
90134
  startPhysicalIndex: physicalRowIndex
@@ -90244,6 +90214,8 @@ class DataMap {
90244
90214
  }
90245
90215
  const newVisualColumnIndex = this.hot.toVisualColumn(startPhysicalIndex);
90246
90216
  this.hot.runHooks('afterCreateCol', newVisualColumnIndex, numberOfCreatedCols, source);
90217
+ this.hot.forceFullRender = true; // used when data was changed
90218
+
90247
90219
  this.refreshDuckSchema();
90248
90220
  return {
90249
90221
  delta: numberOfCreatedCols,
@@ -90290,6 +90262,8 @@ class DataMap {
90290
90262
  this.metaManager.removeRow(rowPhysicalIndex, 1);
90291
90263
  });
90292
90264
  this.hot.runHooks('afterRemoveRow', rowIndex, numberOfRemovedIndexes, removedPhysicalIndexes, source);
90265
+ this.hot.forceFullRender = true; // used when data was changed
90266
+
90293
90267
  return true;
90294
90268
  }
90295
90269
 
@@ -90349,6 +90323,7 @@ class DataMap {
90349
90323
  }
90350
90324
  }
90351
90325
  this.hot.runHooks('afterRemoveCol', columnIndex, amount, removedPhysicalIndexes, source);
90326
+ this.hot.forceFullRender = true; // used when data was changed
90352
90327
  this.refreshDuckSchema();
90353
90328
  return true;
90354
90329
  }
@@ -94137,7 +94112,6 @@ var _default = () => {
94137
94112
  * | `'de-CH'` | German - Switzerland |
94138
94113
  * | `'de-DE'` | German - Germany |
94139
94114
  * | `'es-MX'` | Spanish - Mexico |
94140
- * | `'fa-IR'` | Persian - Iran |
94141
94115
  * | `'fr-FR'` | French - France |
94142
94116
  * | `'hr-HR'` | Croatian - Croatia |
94143
94117
  * | `'it-IT'` | Italian - Italy |
@@ -99969,7 +99943,7 @@ function createInputElement(hot) {
99969
99943
  input.name = '__htFocusCatcher';
99970
99944
  input.classList.add('htFocusCatcher');
99971
99945
  if (hot.getSettings().ariaTags) {
99972
- (0, _element.setAttribute)(input, [(0, _a11y.A11Y_LABEL)('Focus catcher')]);
99946
+ (0, _element.setAttribute)(input, [(0, _a11y.A11Y_PRESENTATION)(), (0, _a11y.A11Y_HIDDEN)()]);
99973
99947
  }
99974
99948
  return input;
99975
99949
  }
@@ -101211,7 +101185,7 @@ class TextEditor extends _baseEditor.BaseEditor {
101211
101185
  */
101212
101186
  close() {
101213
101187
  this.autoResize.unObserve();
101214
- if ((0, _element.isInternalElement)(this.hot.rootDocument.activeElement, this.hot.rootElement)) {
101188
+ if ((0, _element.isThisHotChild)(this.hot.rootDocument.activeElement, this.hot.rootElement)) {
101215
101189
  this.hot.listen(); // don't refocus the table if user focused some cell outside of HT on purpose
101216
101190
  }
101217
101191
  this.hideEditableElement();
@@ -102054,7 +102028,6 @@ var _string = __webpack_require__(352);
102054
102028
  var _unicode = __webpack_require__(508);
102055
102029
  var _textRenderer = __webpack_require__(760);
102056
102030
  var _a11y = __webpack_require__(496);
102057
- var _function = __webpack_require__(497);
102058
102031
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
102059
102032
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
102060
102033
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
@@ -102067,7 +102040,6 @@ const EDITOR_TYPE = exports.EDITOR_TYPE = 'autocomplete';
102067
102040
  * @class AutocompleteEditor
102068
102041
  */
102069
102042
  var _idPrefix = /*#__PURE__*/new WeakMap();
102070
- var _focusDebounced = /*#__PURE__*/new WeakMap();
102071
102043
  var _AutocompleteEditor_brand = /*#__PURE__*/new WeakSet();
102072
102044
  class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
102073
102045
  constructor() {
@@ -102100,12 +102072,6 @@ class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
102100
102072
  * @type {string}
102101
102073
  */
102102
102074
  _classPrivateFieldInitSpec(this, _idPrefix, this.hot.guid.slice(0, 9));
102103
- /**
102104
- * Runs focus method after debounce.
102105
- */
102106
- _classPrivateFieldInitSpec(this, _focusDebounced, (0, _function.debounce)(() => {
102107
- this.focus();
102108
- }, 100));
102109
102075
  /**
102110
102076
  * Filters and sorts by relevance.
102111
102077
  *
@@ -102191,6 +102157,7 @@ class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
102191
102157
  }
102192
102158
  return this.TEXTAREA.value;
102193
102159
  }
102160
+
102194
102161
  /**
102195
102162
  * Creates an editor's elements and adds necessary CSS classnames.
102196
102163
  */
@@ -102236,10 +102203,10 @@ class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
102236
102203
  this.showEditableElement();
102237
102204
  this.focus();
102238
102205
  this.addHook('beforeKeyDown', event => this.onBeforeKeyDown(event));
102239
- this.htEditor.addHook('afterScroll', _classPrivateFieldGet(_focusDebounced, this));
102240
102206
  this.htEditor.updateSettings({
102241
102207
  colWidths: trimDropdown ? [(0, _element.outerWidth)(this.TEXTAREA) - 2] : undefined,
102242
102208
  autoColumnSize: true,
102209
+ autoRowSize: true,
102243
102210
  renderer: (hotInstance, TD, row, col, prop, value, cellProperties) => {
102244
102211
  (0, _textRenderer.textRenderer)(hotInstance, TD, row, col, prop, value, cellProperties);
102245
102212
  const {
@@ -102511,10 +102478,7 @@ class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
102511
102478
  const maxItems = Math.min(this.cellProperties.visibleRows, this.strippedChoices.length);
102512
102479
  const height = Array.from({
102513
102480
  length: maxItems
102514
- }, (_, i) => i).reduce((totalHeight, index) => {
102515
- const rowHeight = this.htEditor.getRowHeight(index) || this.htEditor.view.getDefaultRowHeight();
102516
- return totalHeight + rowHeight;
102517
- }, 0);
102481
+ }, (_, i) => i).reduce((h, index) => h + this.htEditor.getRowHeight(index), 0);
102518
102482
  return height + borderVerticalCompensation + 1;
102519
102483
  }
102520
102484
 
@@ -102612,7 +102576,7 @@ exports.AutocompleteEditor = AutocompleteEditor;
102612
102576
  function _fixDropdownWidth() {
102613
102577
  if (this.htEditor.view.hasVerticalScroll()) {
102614
102578
  this.htEditor.updateSettings({
102615
- width: this.getWidth() + (0, _element.getScrollbarWidth)(this.hot.rootDocument)
102579
+ width: this.htEditor.getSettings().width + (0, _element.getScrollbarWidth)(this.hot.rootDocument)
102616
102580
  });
102617
102581
  }
102618
102582
  }
@@ -112017,25 +111981,25 @@ var _manualRowResize = __webpack_require__(1020);
112017
111981
  exports.ManualRowResize = _manualRowResize.ManualRowResize;
112018
111982
  var _mergeCells = __webpack_require__(1022);
112019
111983
  exports.MergeCells = _mergeCells.MergeCells;
112020
- var _multiColumnSorting = __webpack_require__(1037);
111984
+ var _multiColumnSorting = __webpack_require__(1036);
112021
111985
  exports.MultiColumnSorting = _multiColumnSorting.MultiColumnSorting;
112022
- var _multipleSelectionHandles = __webpack_require__(1041);
111986
+ var _multipleSelectionHandles = __webpack_require__(1040);
112023
111987
  exports.MultipleSelectionHandles = _multipleSelectionHandles.MultipleSelectionHandles;
112024
- var _nestedHeaders = __webpack_require__(1043);
111988
+ var _nestedHeaders = __webpack_require__(1042);
112025
111989
  exports.NestedHeaders = _nestedHeaders.NestedHeaders;
112026
- var _nestedRows = __webpack_require__(1059);
111990
+ var _nestedRows = __webpack_require__(1058);
112027
111991
  exports.NestedRows = _nestedRows.NestedRows;
112028
- var _persistentState = __webpack_require__(1067);
111992
+ var _persistentState = __webpack_require__(1066);
112029
111993
  exports.PersistentState = _persistentState.PersistentState;
112030
- var _search = __webpack_require__(1070);
111994
+ var _search = __webpack_require__(1069);
112031
111995
  exports.Search = _search.Search;
112032
- var _stretchColumns = __webpack_require__(1072);
111996
+ var _stretchColumns = __webpack_require__(1071);
112033
111997
  exports.StretchColumns = _stretchColumns.StretchColumns;
112034
- var _touchScroll = __webpack_require__(1078);
111998
+ var _touchScroll = __webpack_require__(1077);
112035
111999
  exports.TouchScroll = _touchScroll.TouchScroll;
112036
- var _trimRows = __webpack_require__(1080);
112000
+ var _trimRows = __webpack_require__(1079);
112037
112001
  exports.TrimRows = _trimRows.TrimRows;
112038
- var _undoRedo = __webpack_require__(1082);
112002
+ var _undoRedo = __webpack_require__(1081);
112039
112003
  exports.UndoRedo = _undoRedo.UndoRedo;
112040
112004
  var _registry = __webpack_require__(532);
112041
112005
  exports.registerPlugin = _registry.registerPlugin;
@@ -112424,7 +112388,7 @@ class AutoColumnSize extends _base.BasePlugin {
112424
112388
  if (firstVisibleColumn === -1 || lastVisibleColumn === -1) {
112425
112389
  return;
112426
112390
  }
112427
- const overwriteCache = this.hot.forceFullRender;
112391
+ const overwriteCache = this.hot.renderCall;
112428
112392
  this.calculateColumnsWidth({
112429
112393
  from: firstVisibleColumn,
112430
112394
  to: lastVisibleColumn
@@ -113231,9 +113195,6 @@ class GhostTable {
113231
113195
  this.table = this.createTable(this.hot.table.className);
113232
113196
  this.table.colGroup.appendChild(this.createColGroupsCol(row));
113233
113197
  this.table.tr.appendChild(this.createRow(row));
113234
- if (row === 0) {
113235
- (0, _element.addClass)(this.table.table, 'htGhostTableFirstRow');
113236
- }
113237
113198
  this.container.container.appendChild(this.table.fragment);
113238
113199
  rowObject.table = this.table.table;
113239
113200
  }
@@ -114821,7 +114782,7 @@ class AutoRowSize extends _base.BasePlugin {
114821
114782
  if (firstVisibleRow === -1 || lastVisibleRow === -1) {
114822
114783
  return;
114823
114784
  }
114824
- const overwriteCache = this.hot.forceFullRender;
114785
+ const overwriteCache = this.hot.renderCall;
114825
114786
  this.calculateRowsHeight({
114826
114787
  from: firstVisibleRow,
114827
114788
  to: lastVisibleRow
@@ -114922,6 +114883,11 @@ class AutoRowSize extends _base.BasePlugin {
114922
114883
 
114923
114884
  // @TODO Should call once per render cycle, currently fired separately in different plugins
114924
114885
  this.hot.view.adjustElementsSize();
114886
+
114887
+ // tmp
114888
+ if (this.hot.view._wt.wtOverlays.inlineStartOverlay.needFullRender) {
114889
+ this.hot.view._wt.wtOverlays.inlineStartOverlay.clone.draw();
114890
+ }
114925
114891
  }
114926
114892
  };
114927
114893
  const syncLimit = this.getSyncCalculationLimit();
@@ -116372,6 +116338,10 @@ class ColumnSorting extends _base.BasePlugin {
116372
116338
  this.hot.runHooks('afterColumnSort', currentSortConfig, sortPossible ? destinationSortConfigs : currentSortConfig, sortPossible);
116373
116339
  if (sortPossible) {
116374
116340
  this.hot.render();
116341
+ // TODO: Workaround? This triggers fast redraw. One test won't pass after removal.
116342
+ // It should be refactored / described.
116343
+ this.hot.forceFullRender = false;
116344
+ this.hot.view.render();
116375
116345
  }
116376
116346
  }
116377
116347
 
@@ -119038,7 +119008,6 @@ class Comments extends _base.BasePlugin {
119038
119008
  this.addHook('afterScroll', () => _assertClassBrand(_Comments_brand, this, _onAfterScroll).call(this));
119039
119009
  this.addHook('afterBeginEditing', () => this.hide());
119040
119010
  this.addHook('afterDocumentKeyDown', event => _assertClassBrand(_Comments_brand, this, _onAfterDocumentKeyDown).call(this, event));
119041
- this.addHook('beforeCompositionStart', event => _assertClassBrand(_Comments_brand, this, _onAfterDocumentKeyDown).call(this, event));
119042
119011
  this.addHook('afterSetTheme', function () {
119043
119012
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
119044
119013
  args[_key2] = arguments[_key2];
@@ -122173,7 +122142,6 @@ class Menu {
122173
122142
  layoutDirection: this.hot.isRtl() ? 'rtl' : 'ltr',
122174
122143
  ariaTags: false,
122175
122144
  themeName: this.hot.getCurrentThemeName(),
122176
- beforeRefreshDimensions: () => false,
122177
122145
  beforeOnCellMouseOver: (event, coords) => {
122178
122146
  _classPrivateFieldGet(_navigator, this).setCurrentPage(coords.row);
122179
122147
  },
@@ -122717,11 +122685,7 @@ class Positioner {
122717
122685
  setPositionAboveCursor() {
122718
122686
  let top = _classPrivateFieldGet(_offset, this).above + _classPrivateFieldGet(_cursor, this).top - _classPrivateFieldGet(_container, this).offsetHeight;
122719
122687
  if (_classPrivateFieldGet(_parentContainer, this)) {
122720
- const rootWindow = _classPrivateFieldGet(_parentContainer, this).ownerDocument.defaultView;
122721
- const style = rootWindow.getComputedStyle(_classPrivateFieldGet(_parentContainer, this).querySelector('.ht_master'));
122722
- const paddingTop = Number.parseInt(style.paddingTop, 10);
122723
- const borderTop = Number.parseInt(style.borderTop, 10);
122724
- top = _classPrivateFieldGet(_cursor, this).top + _classPrivateFieldGet(_cursor, this).cellHeight - _classPrivateFieldGet(_container, this).scrollHeight + paddingTop + borderTop;
122688
+ top = _classPrivateFieldGet(_cursor, this).top + _classPrivateFieldGet(_cursor, this).cellHeight - _classPrivateFieldGet(_container, this).offsetHeight + 3;
122725
122689
  }
122726
122690
  _classPrivateFieldGet(_container, this).style.top = `${top}px`;
122727
122691
  }
@@ -122732,11 +122696,7 @@ class Positioner {
122732
122696
  setPositionBelowCursor() {
122733
122697
  let top = _classPrivateFieldGet(_offset, this).below + _classPrivateFieldGet(_cursor, this).top + 1;
122734
122698
  if (_classPrivateFieldGet(_parentContainer, this)) {
122735
- const rootWindow = _classPrivateFieldGet(_parentContainer, this).ownerDocument.defaultView;
122736
- const style = rootWindow.getComputedStyle(_classPrivateFieldGet(_parentContainer, this).querySelector('.ht_master'));
122737
- const paddingTop = Number.parseInt(style.paddingTop, 10);
122738
- const borderTop = Number.parseInt(style.borderTop, 10);
122739
- top = _classPrivateFieldGet(_cursor, this).top - paddingTop - borderTop - 1;
122699
+ top = _classPrivateFieldGet(_cursor, this).top - 1;
122740
122700
  }
122741
122701
  _classPrivateFieldGet(_container, this).style.top = `${top}px`;
122742
122702
  }
@@ -123477,7 +123437,7 @@ function createDefaultShortcutsList(menu) {
123477
123437
  keys: [['ArrowUp']],
123478
123438
  callback: () => menu.getNavigator().toPreviousItem()
123479
123439
  }, {
123480
- keys: [[hot.isRtl() ? 'ArrowLeft' : 'ArrowRight']],
123440
+ keys: [['ArrowRight']],
123481
123441
  callback: () => {
123482
123442
  const selection = hotMenu.getSelectedLast();
123483
123443
  if (selection) {
@@ -123488,7 +123448,7 @@ function createDefaultShortcutsList(menu) {
123488
123448
  }
123489
123449
  }
123490
123450
  }, {
123491
- keys: [[hot.isRtl() ? 'ArrowRight' : 'ArrowLeft']],
123451
+ keys: [['ArrowLeft']],
123492
123452
  callback: () => {
123493
123453
  const selection = hotMenu.getSelectedLast();
123494
123454
  if (selection && menu.isSubMenu()) {
@@ -123878,9 +123838,6 @@ class CopyPaste extends _base.BasePlugin {
123878
123838
  return _assertClassBrand(_CopyPaste_brand, _this, _onAfterSelection).call(_this, ...args);
123879
123839
  });
123880
123840
  this.addHook('afterSelectionEnd', () => _assertClassBrand(_CopyPaste_brand, this, _onAfterSelectionEnd).call(this));
123881
-
123882
- // Events are attached to the document, not the root table element - as it should,
123883
- // for Chrome 133 and lower to copy/paste/cut work properly (#dev-2277).
123884
123841
  this.eventManager.addEventListener(this.hot.rootDocument, 'copy', function () {
123885
123842
  return _this.onCopy(...arguments);
123886
123843
  });
@@ -124187,10 +124144,12 @@ class CopyPaste extends _base.BasePlugin {
124187
124144
  * @private
124188
124145
  */
124189
124146
  onCopy(event) {
124190
- const eventTarget = event.composedPath()[0];
124147
+ var _event$target, _this$hot$getSelected;
124191
124148
  const focusedElement = this.hot.getFocusManager().getRefocusElement();
124192
- const isHotInput = eventTarget === null || eventTarget === void 0 ? void 0 : eventTarget.hasAttribute('data-hot-input');
124193
- if (!this.hot.isListening() && !_classPrivateFieldGet(_isTriggeredByCopy, this) || this.isEditorOpened() || (0, _element.isHTMLElement)(eventTarget) && (isHotInput && eventTarget !== focusedElement || !isHotInput && eventTarget !== this.hot.rootDocument.body && !(0, _element.isInternalElement)(eventTarget, this.hot.rootElement))) {
124149
+ const isHotInput = (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.hasAttribute('data-hot-input');
124150
+ const selectedCell = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
124151
+ const TD = selectedCell ? this.hot.getCell(selectedCell.row, selectedCell.col, true) : null;
124152
+ if (!this.hot.isListening() && !_classPrivateFieldGet(_isTriggeredByCopy, this) || this.isEditorOpened() || (0, _element.isHTMLElement)(event.target) && (isHotInput && event.target !== focusedElement || !isHotInput && event.target !== this.hot.rootDocument.body && TD !== event.target)) {
124194
124153
  return;
124195
124154
  }
124196
124155
  event.preventDefault();
@@ -124220,10 +124179,12 @@ class CopyPaste extends _base.BasePlugin {
124220
124179
  * @private
124221
124180
  */
124222
124181
  onCut(event) {
124223
- const eventTarget = event.composedPath()[0];
124182
+ var _event$target2, _this$hot$getSelected2;
124224
124183
  const focusedElement = this.hot.getFocusManager().getRefocusElement();
124225
- const isHotInput = eventTarget === null || eventTarget === void 0 ? void 0 : eventTarget.hasAttribute('data-hot-input');
124226
- if (!this.hot.isListening() && !_classPrivateFieldGet(_isTriggeredByCut, this) || this.isEditorOpened() || (0, _element.isHTMLElement)(eventTarget) && (isHotInput && eventTarget !== focusedElement || !isHotInput && eventTarget !== this.hot.rootDocument.body && !(0, _element.isInternalElement)(eventTarget, this.hot.rootElement))) {
124184
+ const isHotInput = (_event$target2 = event.target) === null || _event$target2 === void 0 ? void 0 : _event$target2.hasAttribute('data-hot-input');
124185
+ const selectedCell = (_this$hot$getSelected2 = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected2 === void 0 ? void 0 : _this$hot$getSelected2.highlight;
124186
+ const TD = selectedCell ? this.hot.getCell(selectedCell.row, selectedCell.col, true) : null;
124187
+ if (!this.hot.isListening() && !_classPrivateFieldGet(_isTriggeredByCut, this) || this.isEditorOpened() || (0, _element.isHTMLElement)(event.target) && (isHotInput && event.target !== focusedElement || !isHotInput && event.target !== this.hot.rootDocument.body && TD !== event.target)) {
124227
124188
  return;
124228
124189
  }
124229
124190
  event.preventDefault();
@@ -124252,10 +124213,12 @@ class CopyPaste extends _base.BasePlugin {
124252
124213
  * @private
124253
124214
  */
124254
124215
  onPaste(event) {
124255
- const eventTarget = event.composedPath()[0];
124216
+ var _event$target3, _this$hot$getSelected3;
124256
124217
  const focusedElement = this.hot.getFocusManager().getRefocusElement();
124257
- const isHotInput = eventTarget === null || eventTarget === void 0 ? void 0 : eventTarget.hasAttribute('data-hot-input');
124258
- if (!this.hot.isListening() || this.isEditorOpened() || !this.hot.getSelected() || (0, _element.isHTMLElement)(eventTarget) && (isHotInput && eventTarget !== focusedElement || !isHotInput && eventTarget !== this.hot.rootDocument.body && !(0, _element.isInternalElement)(eventTarget, this.hot.rootElement))) {
124218
+ const isHotInput = (_event$target3 = event.target) === null || _event$target3 === void 0 ? void 0 : _event$target3.hasAttribute('data-hot-input');
124219
+ const selectedCell = (_this$hot$getSelected3 = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected3 === void 0 ? void 0 : _this$hot$getSelected3.highlight;
124220
+ const TD = selectedCell ? this.hot.getCell(selectedCell.row, selectedCell.col, true) : null;
124221
+ if (!this.hot.isListening() || this.isEditorOpened() || !this.hot.getSelected() || (0, _element.isHTMLElement)(event.target) && (isHotInput && event.target !== focusedElement || !isHotInput && event.target !== this.hot.rootDocument.body && TD !== event.target)) {
124259
124222
  return;
124260
124223
  }
124261
124224
  event.preventDefault();
@@ -124702,9 +124665,6 @@ class PasteEvent {
124702
124665
  this.clipboardData = new _clipboardData.default();
124703
124666
  }
124704
124667
  preventDefault() {}
124705
- composedPath() {
124706
- return [];
124707
- }
124708
124668
  }
124709
124669
  exports["default"] = PasteEvent;
124710
124670
 
@@ -128172,10 +128132,10 @@ class Filters extends _base.BasePlugin {
128172
128132
  *
128173
128133
  * @returns {Array}
128174
128134
  */
128135
+ /* eslint-enable jsdoc/require-description-complete-sentence */
128175
128136
  exportConditions() {
128176
128137
  return this.conditionCollection.exportAllConditions();
128177
128138
  }
128178
- /* eslint-enable jsdoc/require-description-complete-sentence */
128179
128139
 
128180
128140
  /**
128181
128141
  * Filters data based on added filter conditions.
@@ -128192,39 +128152,38 @@ class Filters extends _base.BasePlugin {
128192
128152
  let visibleVisualRows = [];
128193
128153
  const conditions = this.exportConditions();
128194
128154
  const allowFiltering = this.hot.runHooks('beforeFilter', conditions, _classPrivateFieldGet(_previousConditionStack, this));
128195
- if (allowFiltering !== false && needToFilter) {
128196
- const trimmedRows = [];
128197
- this.hot.batchExecution(() => {
128155
+ if (allowFiltering !== false) {
128156
+ if (needToFilter) {
128157
+ const trimmedRows = [];
128158
+ this.hot.batchExecution(() => {
128159
+ this.filtersRowsMap.clear();
128160
+ visibleVisualRows = (0, _array.arrayMap)(dataFilter.filter(), rowData => rowData.meta.visualRow);
128161
+ const visibleVisualRowsAssertion = (0, _utils.createArrayAssertion)(visibleVisualRows);
128162
+ (0, _number.rangeEach)(this.hot.countSourceRows() - 1, row => {
128163
+ if (!visibleVisualRowsAssertion(row)) {
128164
+ trimmedRows.push(row);
128165
+ }
128166
+ });
128167
+ (0, _array.arrayEach)(trimmedRows, physicalRow => {
128168
+ this.filtersRowsMap.setValueAtIndex(physicalRow, true);
128169
+ });
128170
+ }, true);
128171
+ if (!navigableHeaders && !visibleVisualRows.length) {
128172
+ this.hot.deselectCell();
128173
+ }
128174
+ } else {
128198
128175
  this.filtersRowsMap.clear();
128199
- visibleVisualRows = (0, _array.arrayMap)(dataFilter.filter(), rowData => rowData.meta.visualRow);
128200
- const visibleVisualRowsAssertion = (0, _utils.createArrayAssertion)(visibleVisualRows);
128201
- (0, _number.rangeEach)(this.hot.countSourceRows() - 1, row => {
128202
- if (!visibleVisualRowsAssertion(row)) {
128203
- trimmedRows.push(row);
128204
- }
128205
- });
128206
- (0, _array.arrayEach)(trimmedRows, physicalRow => {
128207
- this.filtersRowsMap.setValueAtIndex(physicalRow, true);
128208
- });
128209
- }, true);
128210
- if (!navigableHeaders && !visibleVisualRows.length) {
128211
- this.hot.deselectCell();
128212
128176
  }
128213
128177
  _classPrivateFieldSet(_previousConditionStack, this, this.exportConditions());
128214
- } else if (allowFiltering !== false && !needToFilter) {
128215
- _classPrivateFieldSet(_previousConditionStack, this, this.exportConditions());
128216
- this.filtersRowsMap.clear();
128178
+ this.hot.runHooks('afterFilter', conditions);
128179
+ this.hot.view.adjustElementsSize();
128180
+ this.hot.render();
128217
128181
  } else {
128218
128182
  this.importConditions(_classPrivateFieldGet(_previousConditionStack, this));
128219
128183
  }
128220
128184
  if (this.hot.selection.isSelected()) {
128221
128185
  this.hot.selectCell(navigableHeaders ? -1 : 0, this.hot.getSelectedRangeLast().highlight.col);
128222
128186
  }
128223
- if (allowFiltering !== false) {
128224
- this.hot.runHooks('afterFilter', conditions);
128225
- this.hot.view.adjustElementsSize();
128226
- this.hot.render();
128227
- }
128228
128187
  }
128229
128188
 
128230
128189
  /**
@@ -131651,13 +131610,7 @@ class MultipleSelectUI extends _base.BaseUI {
131651
131610
  beforeOnCellMouseUp: () => {
131652
131611
  _classPrivateFieldGet(_itemsBox, this).listen();
131653
131612
  },
131654
- modifyColWidth: width => {
131655
- const minWidth = _classPrivateFieldGet(_itemsBox, this).container.scrollWidth - (0, _element.getScrollbarWidth)(rootDocument);
131656
- if (width !== undefined && width < minWidth) {
131657
- return minWidth;
131658
- }
131659
- return width;
131660
- },
131613
+ colWidths: () => _classPrivateFieldGet(_itemsBox, this).container.scrollWidth - (0, _element.getScrollbarWidth)(rootDocument),
131661
131614
  maxCols: 1,
131662
131615
  autoWrapCol: true,
131663
131616
  height: 110,
@@ -135370,8 +135323,8 @@ class HiddenColumns extends _base.BasePlugin {
135370
135323
  * Disables the plugin functionality for this Handsontable instance.
135371
135324
  */
135372
135325
  disablePlugin() {
135373
- super.disablePlugin();
135374
135326
  this.hot.columnIndexMapper.unregisterMap(this.pluginName);
135327
+ super.disablePlugin();
135375
135328
  this.resetCellsMeta();
135376
135329
  }
135377
135330
 
@@ -136059,8 +136012,8 @@ class HiddenRows extends _base.BasePlugin {
136059
136012
  * Disables the plugin functionality for this Handsontable instance.
136060
136013
  */
136061
136014
  disablePlugin() {
136062
- super.disablePlugin();
136063
136015
  this.hot.rowIndexMapper.unregisterMap(this.pluginName);
136016
+ super.disablePlugin();
136064
136017
  this.resetCellsMeta();
136065
136018
  }
136066
136019
 
@@ -138099,12 +138052,12 @@ class ManualColumnResize extends _base.BasePlugin {
138099
138052
  setupGuidePosition() {
138100
138053
  const handleHeight = parseInt((0, _element.outerHeight)(_classPrivateFieldGet(_handle, this)), 10);
138101
138054
  const handleBottomPosition = parseInt(_classPrivateFieldGet(_handle, this).style.top, 10) + handleHeight;
138102
- const tableHeight = this.hot.view.getTableHeight();
138055
+ const maximumVisibleElementHeight = parseInt(this.hot.view.maximumVisibleElementHeight(0), 10);
138103
138056
  (0, _element.addClass)(_classPrivateFieldGet(_handle, this), 'active');
138104
138057
  (0, _element.addClass)(_classPrivateFieldGet(_guide, this), 'active');
138105
138058
  _classPrivateFieldGet(_guide, this).style.top = `${handleBottomPosition}px`;
138106
138059
  this.refreshGuidePosition();
138107
- _classPrivateFieldGet(_guide, this).style.height = `${tableHeight - handleHeight}px`;
138060
+ _classPrivateFieldGet(_guide, this).style.height = `${maximumVisibleElementHeight - handleHeight}px`;
138108
138061
  this.hot.rootElement.appendChild(_classPrivateFieldGet(_guide, this));
138109
138062
  }
138110
138063
 
@@ -138175,7 +138128,8 @@ class ManualColumnResize extends _base.BasePlugin {
138175
138128
  */
138176
138129
  afterMouseDownTimeout() {
138177
138130
  const render = () => {
138178
- this.hot.render();
138131
+ this.hot.forceFullRender = true;
138132
+ this.hot.view.render(); // updates all
138179
138133
  this.hot.view.adjustElementsSize();
138180
138134
  };
138181
138135
  const resize = (column, forceRender) => {
@@ -138335,7 +138289,8 @@ function _onMouseMove(event) {
138335
138289
  */
138336
138290
  function _onMouseUp() {
138337
138291
  const render = () => {
138338
- this.hot.render();
138292
+ this.hot.forceFullRender = true;
138293
+ this.hot.view.render(); // updates all
138339
138294
  this.hot.view.adjustElementsSize();
138340
138295
  };
138341
138296
  const resize = (column, forceRender) => {
@@ -139659,12 +139614,12 @@ class ManualRowResize extends _base.BasePlugin {
139659
139614
  setupGuidePosition() {
139660
139615
  const handleWidth = parseInt((0, _element.outerWidth)(_classPrivateFieldGet(_handle, this)), 10);
139661
139616
  const handleEndPosition = parseInt(_classPrivateFieldGet(_handle, this).style[this.inlineDir], 10) + handleWidth;
139662
- const tableWidth = this.hot.view.getTableWidth();
139617
+ const maximumVisibleElementWidth = parseInt(this.hot.view.maximumVisibleElementWidth(0), 10);
139663
139618
  (0, _element.addClass)(_classPrivateFieldGet(_handle, this), 'active');
139664
139619
  (0, _element.addClass)(_classPrivateFieldGet(_guide, this), 'active');
139665
139620
  _classPrivateFieldGet(_guide, this).style.top = _classPrivateFieldGet(_handle, this).style.top;
139666
139621
  _classPrivateFieldGet(_guide, this).style[this.inlineDir] = `${handleEndPosition}px`;
139667
- _classPrivateFieldGet(_guide, this).style.width = `${tableWidth - handleWidth}px`;
139622
+ _classPrivateFieldGet(_guide, this).style.width = `${maximumVisibleElementWidth - handleWidth}px`;
139668
139623
  this.hot.rootElement.appendChild(_classPrivateFieldGet(_guide, this));
139669
139624
  }
139670
139625
 
@@ -139745,7 +139700,8 @@ class ManualRowResize extends _base.BasePlugin {
139745
139700
  */
139746
139701
  afterMouseDownTimeout() {
139747
139702
  const render = () => {
139748
- this.hot.render();
139703
+ this.hot.forceFullRender = true;
139704
+ this.hot.view.render(); // updates all
139749
139705
  this.hot.view.adjustElementsSize();
139750
139706
  };
139751
139707
  const resize = (row, forceRender) => {
@@ -139873,7 +139829,8 @@ function _onMouseMove(event) {
139873
139829
  */
139874
139830
  function _onMouseUp() {
139875
139831
  const render = () => {
139876
- this.hot.render();
139832
+ this.hot.forceFullRender = true;
139833
+ this.hot.view.render(); // updates all
139877
139834
  this.hot.view.adjustElementsSize();
139878
139835
  };
139879
139836
  const runHooks = (row, forceRender) => {
@@ -140006,7 +139963,6 @@ var _element = __webpack_require__(351);
140006
139963
  var _browser = __webpack_require__(498);
140007
139964
  var _focusOrder2 = __webpack_require__(1033);
140008
139965
  var _renderer = __webpack_require__(1035);
140009
- var _utils = __webpack_require__(1036);
140010
139966
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
140011
139967
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
140012
139968
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
@@ -140639,12 +140595,8 @@ class MergeCells extends _base.BasePlugin {
140639
140595
  * @param {CellRange} cellRange The cell range to merge or unmerged.
140640
140596
  */
140641
140597
  toggleMerge(cellRange) {
140642
- const {
140643
- from,
140644
- to
140645
- } = cellRange.clone().normalize();
140646
- const mergedCell = this.mergedCellsCollection.get(from.row, from.col);
140647
- const mergedCellCoversWholeRange = mergedCell.row === from.row && mergedCell.col === from.col && mergedCell.row + mergedCell.rowspan - 1 === to.row && mergedCell.col + mergedCell.colspan - 1 === to.col;
140598
+ const mergedCell = this.mergedCellsCollection.get(cellRange.from.row, cellRange.from.col);
140599
+ const mergedCellCoversWholeRange = mergedCell.row === cellRange.from.row && mergedCell.col === cellRange.from.col && mergedCell.row + mergedCell.rowspan - 1 === cellRange.to.row && mergedCell.col + mergedCell.colspan - 1 === cellRange.to.col;
140648
140600
  if (mergedCellCoversWholeRange) {
140649
140601
  this.unmergeRange(cellRange);
140650
140602
  } else {
@@ -141456,10 +141408,36 @@ function _onModifyRowHeightByOverlayName(height, row, overlayType) {
141456
141408
  } else {
141457
141409
  rowspanAfterCorrection = rowspan - rowspanCorrection;
141458
141410
  }
141459
- height = Math.max(height !== null && height !== void 0 ? height : 0, (0, _utils.sumCellsHeights)(this.hot, row, rowspanAfterCorrection));
141411
+ height = Math.max(height !== null && height !== void 0 ? height : 0, _assertClassBrand(_MergeCells_brand, this, _sumCellsHeights).call(this, row, rowspanAfterCorrection));
141460
141412
  });
141461
141413
  return height;
141462
141414
  }
141415
+ /**
141416
+ * Sums the heights of the all cells that the merge cell consists of.
141417
+ *
141418
+ * @param {number} row The visual row index of the merged cell.
141419
+ * @param {number} rowspan The rowspan value of the merged cell.
141420
+ * @returns {number}
141421
+ */
141422
+ function _sumCellsHeights(row, rowspan) {
141423
+ const {
141424
+ view,
141425
+ rowIndexMapper
141426
+ } = this.hot;
141427
+ const stylesHandler = view.getStylesHandler();
141428
+ const defaultHeight = view.getDefaultRowHeight();
141429
+ let height = 0;
141430
+ for (let i = row; i < row + rowspan; i++) {
141431
+ if (!rowIndexMapper.isHidden(i)) {
141432
+ var _this$hot$getRowHeigh;
141433
+ height += (_this$hot$getRowHeigh = this.hot.getRowHeight(i)) !== null && _this$hot$getRowHeigh !== void 0 ? _this$hot$getRowHeigh : defaultHeight;
141434
+ if (i === 0 && !stylesHandler.isClassicTheme()) {
141435
+ height += 1; // border-top-width
141436
+ }
141437
+ }
141438
+ }
141439
+ return height;
141440
+ }
141463
141441
 
141464
141442
  /***/ }),
141465
141443
  /* 1024 */
@@ -143644,8 +143622,6 @@ var _default = exports["default"] = LinkedList;
143644
143622
  exports.__esModule = true;
143645
143623
  exports.createMergeCellRenderer = createMergeCellRenderer;
143646
143624
  var _object = __webpack_require__(499);
143647
- var _browser = __webpack_require__(498);
143648
- var _utils = __webpack_require__(1036);
143649
143625
  /**
143650
143626
  * Creates a renderer object for the `MergeCells` plugin.
143651
143627
  *
@@ -143661,7 +143637,6 @@ function createMergeCellRenderer(plugin) {
143661
143637
  rowIndexMapper: rowMapper,
143662
143638
  columnIndexMapper: columnMapper
143663
143639
  } = hot;
143664
- const updateNextCellsHeight = new Map();
143665
143640
 
143666
143641
  /**
143667
143642
  * Runs before the cell is rendered.
@@ -143683,10 +143658,6 @@ function createMergeCellRenderer(plugin) {
143683
143658
  if (!(0, _object.isObject)(mergedCell)) {
143684
143659
  TD.removeAttribute('rowspan');
143685
143660
  TD.removeAttribute('colspan');
143686
- if ((0, _browser.isSafari)() && updateNextCellsHeight.has(row) && !hot.getSettings().rowHeaders) {
143687
- TD.style.height = `${updateNextCellsHeight.get(row)}px`;
143688
- updateNextCellsHeight.delete(row);
143689
- }
143690
143661
  TD.style.display = '';
143691
143662
  return;
143692
143663
  }
@@ -143698,14 +143669,6 @@ function createMergeCellRenderer(plugin) {
143698
143669
  } = mergedCell;
143699
143670
  const [lastMergedRowIndex, lastMergedColumnIndex] = plugin.translateMergedCellToRenderable(origRow, origRowspan, origColumn, origColspan);
143700
143671
  const isVirtualRenderingEnabled = plugin.getSetting('virtualized');
143701
-
143702
- // Safari bug fix - the height of the cells next to the merged cell must be defined
143703
- // so that their height is proportional to the height of the merged cell
143704
- // (this emulates default behavior in Chrome, FF etc.)
143705
- if ((0, _browser.isSafari)() && origColumn === 0 && !hot.getSettings().rowHeaders) {
143706
- const height = (0, _utils.sumCellsHeights)(hot, origRow, origRowspan);
143707
- updateNextCellsHeight.set(row, height / origRowspan);
143708
- }
143709
143672
  const renderedRowIndex = rowMapper.getRenderableFromVisualIndex(row);
143710
143673
  const renderedColumnIndex = columnMapper.getRenderableFromVisualIndex(col);
143711
143674
  const maxRowSpan = lastMergedRowIndex - renderedRowIndex + 1; // Number of rendered columns.
@@ -143741,56 +143704,19 @@ function createMergeCellRenderer(plugin) {
143741
143704
 
143742
143705
  /***/ }),
143743
143706
  /* 1036 */
143744
- /***/ ((__unused_webpack_module, exports) => {
143745
-
143746
- "use strict";
143747
-
143748
-
143749
- exports.__esModule = true;
143750
- exports.sumCellsHeights = sumCellsHeights;
143751
- /**
143752
- * Calculates the total height of the merged cell.
143753
- *
143754
- * @param {Core} hotInstance The Handsontable instance.
143755
- * @param {*} row The merged cell's row index.
143756
- * @param {*} rowspan The merged cell height.
143757
- * @returns {number}
143758
- */
143759
- function sumCellsHeights(hotInstance, row, rowspan) {
143760
- const {
143761
- view,
143762
- rowIndexMapper
143763
- } = hotInstance;
143764
- const stylesHandler = view.getStylesHandler();
143765
- const defaultHeight = view.getDefaultRowHeight();
143766
- let height = 0;
143767
- for (let i = row; i < row + rowspan; i++) {
143768
- if (!rowIndexMapper.isHidden(i)) {
143769
- var _hotInstance$getRowHe;
143770
- height += (_hotInstance$getRowHe = hotInstance.getRowHeight(i)) !== null && _hotInstance$getRowHe !== void 0 ? _hotInstance$getRowHe : defaultHeight;
143771
- if (i === 0 && !stylesHandler.isClassicTheme()) {
143772
- height += 1; // border-top-width
143773
- }
143774
- }
143775
- }
143776
- return height;
143777
- }
143778
-
143779
- /***/ }),
143780
- /* 1037 */
143781
143707
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
143782
143708
 
143783
143709
  "use strict";
143784
143710
 
143785
143711
 
143786
143712
  exports.__esModule = true;
143787
- var _multiColumnSorting = __webpack_require__(1038);
143713
+ var _multiColumnSorting = __webpack_require__(1037);
143788
143714
  exports.PLUGIN_KEY = _multiColumnSorting.PLUGIN_KEY;
143789
143715
  exports.PLUGIN_PRIORITY = _multiColumnSorting.PLUGIN_PRIORITY;
143790
143716
  exports.MultiColumnSorting = _multiColumnSorting.MultiColumnSorting;
143791
143717
 
143792
143718
  /***/ }),
143793
- /* 1038 */
143719
+ /* 1037 */
143794
143720
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
143795
143721
 
143796
143722
  "use strict";
@@ -143803,8 +143729,8 @@ var _columnSorting = __webpack_require__(856);
143803
143729
  var _sortService = __webpack_require__(860);
143804
143730
  var _utils = __webpack_require__(859);
143805
143731
  var _element = __webpack_require__(351);
143806
- var _rootComparator = __webpack_require__(1039);
143807
- var _domHelpers = __webpack_require__(1040);
143732
+ var _rootComparator = __webpack_require__(1038);
143733
+ var _domHelpers = __webpack_require__(1039);
143808
143734
  var _shortcutContexts = __webpack_require__(686);
143809
143735
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'multiColumnSorting';
143810
143736
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 170;
@@ -144090,7 +144016,7 @@ class MultiColumnSorting extends _columnSorting.ColumnSorting {
144090
144016
  exports.MultiColumnSorting = MultiColumnSorting;
144091
144017
 
144092
144018
  /***/ }),
144093
- /* 1039 */
144019
+ /* 1038 */
144094
144020
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
144095
144021
 
144096
144022
  "use strict";
@@ -144132,7 +144058,7 @@ function rootComparator(sortingOrders, columnMetas) {
144132
144058
  }
144133
144059
 
144134
144060
  /***/ }),
144135
- /* 1040 */
144061
+ /* 1039 */
144136
144062
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
144137
144063
 
144138
144064
  "use strict";
@@ -144178,20 +144104,20 @@ function getClassesToRemove(htmlElement) {
144178
144104
  }
144179
144105
 
144180
144106
  /***/ }),
144181
- /* 1041 */
144107
+ /* 1040 */
144182
144108
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
144183
144109
 
144184
144110
  "use strict";
144185
144111
 
144186
144112
 
144187
144113
  exports.__esModule = true;
144188
- var _multipleSelectionHandles = __webpack_require__(1042);
144114
+ var _multipleSelectionHandles = __webpack_require__(1041);
144189
144115
  exports.PLUGIN_KEY = _multipleSelectionHandles.PLUGIN_KEY;
144190
144116
  exports.PLUGIN_PRIORITY = _multipleSelectionHandles.PLUGIN_PRIORITY;
144191
144117
  exports.MultipleSelectionHandles = _multipleSelectionHandles.MultipleSelectionHandles;
144192
144118
 
144193
144119
  /***/ }),
144194
- /* 1042 */
144120
+ /* 1041 */
144195
144121
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
144196
144122
 
144197
144123
  "use strict";
@@ -144530,20 +144456,20 @@ class MultipleSelectionHandles extends _base.BasePlugin {
144530
144456
  exports.MultipleSelectionHandles = MultipleSelectionHandles;
144531
144457
 
144532
144458
  /***/ }),
144533
- /* 1043 */
144459
+ /* 1042 */
144534
144460
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
144535
144461
 
144536
144462
  "use strict";
144537
144463
 
144538
144464
 
144539
144465
  exports.__esModule = true;
144540
- var _nestedHeaders = __webpack_require__(1044);
144466
+ var _nestedHeaders = __webpack_require__(1043);
144541
144467
  exports.PLUGIN_KEY = _nestedHeaders.PLUGIN_KEY;
144542
144468
  exports.PLUGIN_PRIORITY = _nestedHeaders.PLUGIN_PRIORITY;
144543
144469
  exports.NestedHeaders = _nestedHeaders.NestedHeaders;
144544
144470
 
144545
144471
  /***/ }),
144546
- /* 1044 */
144472
+ /* 1043 */
144547
144473
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
144548
144474
 
144549
144475
  "use strict";
@@ -144563,8 +144489,8 @@ var _event = __webpack_require__(509);
144563
144489
  var _console = __webpack_require__(512);
144564
144490
  var _selection = __webpack_require__(652);
144565
144491
  var _base = __webpack_require__(841);
144566
- var _stateManager2 = _interopRequireDefault(__webpack_require__(1045));
144567
- var _ghostTable = _interopRequireDefault(__webpack_require__(1058));
144492
+ var _stateManager2 = _interopRequireDefault(__webpack_require__(1044));
144493
+ var _ghostTable = _interopRequireDefault(__webpack_require__(1057));
144568
144494
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
144569
144495
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
144570
144496
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
@@ -145552,7 +145478,7 @@ function _onAfterLoadData(sourceData, initialLoad) {
145552
145478
  }
145553
145479
 
145554
145480
  /***/ }),
145555
- /* 1045 */
145481
+ /* 1044 */
145556
145482
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
145557
145483
 
145558
145484
  "use strict";
@@ -145565,11 +145491,11 @@ __webpack_require__(283);
145565
145491
  __webpack_require__(311);
145566
145492
  __webpack_require__(338);
145567
145493
  var _array = __webpack_require__(495);
145568
- var _sourceSettings2 = _interopRequireDefault(__webpack_require__(1046));
145569
- var _headersTree2 = _interopRequireDefault(__webpack_require__(1049));
145570
- var _nodeModifiers = __webpack_require__(1051);
145571
- var _matrixGenerator = __webpack_require__(1057);
145572
- var _tree = __webpack_require__(1050);
145494
+ var _sourceSettings2 = _interopRequireDefault(__webpack_require__(1045));
145495
+ var _headersTree2 = _interopRequireDefault(__webpack_require__(1048));
145496
+ var _nodeModifiers = __webpack_require__(1050);
145497
+ var _matrixGenerator = __webpack_require__(1056);
145498
+ var _tree = __webpack_require__(1049);
145573
145499
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
145574
145500
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
145575
145501
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
@@ -146044,7 +145970,7 @@ class StateManager {
146044
145970
  exports["default"] = StateManager;
146045
145971
 
146046
145972
  /***/ }),
146047
- /* 1046 */
145973
+ /* 1045 */
146048
145974
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
146049
145975
 
146050
145976
  "use strict";
@@ -146055,7 +145981,7 @@ __webpack_require__(201);
146055
145981
  __webpack_require__(283);
146056
145982
  var _object = __webpack_require__(499);
146057
145983
  var _array = __webpack_require__(495);
146058
- var _settingsNormalizer = __webpack_require__(1047);
145984
+ var _settingsNormalizer = __webpack_require__(1046);
146059
145985
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
146060
145986
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
146061
145987
  function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
@@ -146266,7 +146192,7 @@ class SourceSettings {
146266
146192
  exports["default"] = SourceSettings;
146267
146193
 
146268
146194
  /***/ }),
146269
- /* 1047 */
146195
+ /* 1046 */
146270
146196
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
146271
146197
 
146272
146198
  "use strict";
@@ -146278,7 +146204,7 @@ __webpack_require__(283);
146278
146204
  var _array = __webpack_require__(495);
146279
146205
  var _object = __webpack_require__(499);
146280
146206
  var _mixed = __webpack_require__(354);
146281
- var _utils = __webpack_require__(1048);
146207
+ var _utils = __webpack_require__(1047);
146282
146208
  /* eslint-disable jsdoc/require-description-complete-sentence */
146283
146209
 
146284
146210
  /**
@@ -146380,7 +146306,7 @@ function normalizeSettings(sourceSettings) {
146380
146306
  }
146381
146307
 
146382
146308
  /***/ }),
146383
- /* 1048 */
146309
+ /* 1047 */
146384
146310
  /***/ ((__unused_webpack_module, exports) => {
146385
146311
 
146386
146312
  "use strict";
@@ -146457,7 +146383,7 @@ function createPlaceholderHeaderSettings() {
146457
146383
  }
146458
146384
 
146459
146385
  /***/ }),
146460
- /* 1049 */
146386
+ /* 1048 */
146461
146387
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
146462
146388
 
146463
146389
  "use strict";
@@ -146467,7 +146393,7 @@ var _interopRequireDefault = __webpack_require__(197);
146467
146393
  exports.__esModule = true;
146468
146394
  __webpack_require__(201);
146469
146395
  var _array = __webpack_require__(495);
146470
- var _tree = _interopRequireDefault(__webpack_require__(1050));
146396
+ var _tree = _interopRequireDefault(__webpack_require__(1049));
146471
146397
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
146472
146398
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
146473
146399
  function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
@@ -146695,7 +146621,7 @@ class HeadersTree {
146695
146621
  exports["default"] = HeadersTree;
146696
146622
 
146697
146623
  /***/ }),
146698
- /* 1050 */
146624
+ /* 1049 */
146699
146625
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
146700
146626
 
146701
146627
  "use strict";
@@ -146914,7 +146840,7 @@ class TreeNode {
146914
146840
  exports["default"] = TreeNode;
146915
146841
 
146916
146842
  /***/ }),
146917
- /* 1051 */
146843
+ /* 1050 */
146918
146844
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
146919
146845
 
146920
146846
  "use strict";
@@ -146923,10 +146849,10 @@ exports["default"] = TreeNode;
146923
146849
  exports.__esModule = true;
146924
146850
  exports.triggerNodeModification = triggerNodeModification;
146925
146851
  __webpack_require__(201);
146926
- var _collapse = __webpack_require__(1052);
146927
- var _expand = __webpack_require__(1053);
146928
- var _hideColumn = __webpack_require__(1055);
146929
- var _showColumn = __webpack_require__(1056);
146852
+ var _collapse = __webpack_require__(1051);
146853
+ var _expand = __webpack_require__(1052);
146854
+ var _hideColumn = __webpack_require__(1054);
146855
+ var _showColumn = __webpack_require__(1055);
146930
146856
  /**
146931
146857
  * The NodeModifiers module is responsible for the modification of a tree structure
146932
146858
  * in a way to achieve new column headers state.
@@ -146956,7 +146882,7 @@ function triggerNodeModification(actionName, nodeToProcess, gridColumnIndex) {
146956
146882
  }
146957
146883
 
146958
146884
  /***/ }),
146959
- /* 1052 */
146885
+ /* 1051 */
146960
146886
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
146961
146887
 
146962
146888
  "use strict";
@@ -146972,8 +146898,8 @@ __webpack_require__(305);
146972
146898
  __webpack_require__(307);
146973
146899
  __webpack_require__(309);
146974
146900
  var _array = __webpack_require__(495);
146975
- var _expand = __webpack_require__(1053);
146976
- var _tree = __webpack_require__(1054);
146901
+ var _expand = __webpack_require__(1052);
146902
+ var _tree = __webpack_require__(1053);
146977
146903
  /**
146978
146904
  * Collapsing a node is a process where the processing node is collapsed
146979
146905
  * to the colspan width of the first child. All node children, except the
@@ -147066,7 +146992,7 @@ function collapseNode(nodeToProcess) {
147066
146992
  }
147067
146993
 
147068
146994
  /***/ }),
147069
- /* 1053 */
146995
+ /* 1052 */
147070
146996
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
147071
146997
 
147072
146998
  "use strict";
@@ -147082,8 +147008,8 @@ __webpack_require__(305);
147082
147008
  __webpack_require__(307);
147083
147009
  __webpack_require__(309);
147084
147010
  var _array = __webpack_require__(495);
147085
- var _collapse = __webpack_require__(1052);
147086
- var _tree = __webpack_require__(1054);
147011
+ var _collapse = __webpack_require__(1051);
147012
+ var _tree = __webpack_require__(1053);
147087
147013
  /**
147088
147014
  * Expanding a node is a process where the processing node is expanded to
147089
147015
  * its original colspan width. To restore an original state of all node
@@ -147171,7 +147097,7 @@ function expandNode(nodeToProcess) {
147171
147097
  }
147172
147098
 
147173
147099
  /***/ }),
147174
- /* 1054 */
147100
+ /* 1053 */
147175
147101
  /***/ ((__unused_webpack_module, exports) => {
147176
147102
 
147177
147103
  "use strict";
@@ -147242,7 +147168,7 @@ function isNodeReflectsFirstChildColspan(node) {
147242
147168
  }
147243
147169
 
147244
147170
  /***/ }),
147245
- /* 1055 */
147171
+ /* 1054 */
147246
147172
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
147247
147173
 
147248
147174
  "use strict";
@@ -147305,7 +147231,7 @@ the last node, the hide column modification can be applied.`);
147305
147231
  }
147306
147232
 
147307
147233
  /***/ }),
147308
- /* 1056 */
147234
+ /* 1055 */
147309
147235
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
147310
147236
 
147311
147237
  "use strict";
@@ -147366,7 +147292,7 @@ the last node, the show column modification can be applied.`);
147366
147292
  }
147367
147293
 
147368
147294
  /***/ }),
147369
- /* 1057 */
147295
+ /* 1056 */
147370
147296
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
147371
147297
 
147372
147298
  "use strict";
@@ -147376,7 +147302,7 @@ exports.__esModule = true;
147376
147302
  exports.generateMatrix = generateMatrix;
147377
147303
  __webpack_require__(283);
147378
147304
  var _array = __webpack_require__(495);
147379
- var _utils = __webpack_require__(1048);
147305
+ var _utils = __webpack_require__(1047);
147380
147306
  /* eslint-disable jsdoc/require-description-complete-sentence */
147381
147307
 
147382
147308
  /**
@@ -147472,7 +147398,7 @@ function createNestedArrayIfNecessary(array, index) {
147472
147398
  }
147473
147399
 
147474
147400
  /***/ }),
147475
- /* 1058 */
147401
+ /* 1057 */
147476
147402
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
147477
147403
 
147478
147404
  "use strict";
@@ -147628,20 +147554,20 @@ class GhostTable {
147628
147554
  var _default = exports["default"] = GhostTable;
147629
147555
 
147630
147556
  /***/ }),
147631
- /* 1059 */
147557
+ /* 1058 */
147632
147558
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
147633
147559
 
147634
147560
  "use strict";
147635
147561
 
147636
147562
 
147637
147563
  exports.__esModule = true;
147638
- var _nestedRows = __webpack_require__(1060);
147564
+ var _nestedRows = __webpack_require__(1059);
147639
147565
  exports.PLUGIN_KEY = _nestedRows.PLUGIN_KEY;
147640
147566
  exports.PLUGIN_PRIORITY = _nestedRows.PLUGIN_PRIORITY;
147641
147567
  exports.NestedRows = _nestedRows.NestedRows;
147642
147568
 
147643
147569
  /***/ }),
147644
- /* 1060 */
147570
+ /* 1059 */
147645
147571
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
147646
147572
 
147647
147573
  "use strict";
@@ -147663,15 +147589,15 @@ __webpack_require__(329);
147663
147589
  __webpack_require__(530);
147664
147590
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
147665
147591
  var _base = __webpack_require__(841);
147666
- var _dataManager = _interopRequireDefault(__webpack_require__(1061));
147667
- var _collapsing = _interopRequireDefault(__webpack_require__(1062));
147668
- var _headers = _interopRequireDefault(__webpack_require__(1064));
147669
- var _contextMenu = _interopRequireDefault(__webpack_require__(1065));
147592
+ var _dataManager = _interopRequireDefault(__webpack_require__(1060));
147593
+ var _collapsing = _interopRequireDefault(__webpack_require__(1061));
147594
+ var _headers = _interopRequireDefault(__webpack_require__(1063));
147595
+ var _contextMenu = _interopRequireDefault(__webpack_require__(1064));
147670
147596
  var _console = __webpack_require__(512);
147671
147597
  var _data = __webpack_require__(622);
147672
147598
  var _translations = __webpack_require__(625);
147673
147599
  var _shortcutContexts = __webpack_require__(686);
147674
- var _rowMoveController = _interopRequireDefault(__webpack_require__(1066));
147600
+ var _rowMoveController = _interopRequireDefault(__webpack_require__(1065));
147675
147601
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
147676
147602
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
147677
147603
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
@@ -148203,7 +148129,7 @@ function _onBeforeLoadData(data) {
148203
148129
  }
148204
148130
 
148205
148131
  /***/ }),
148206
- /* 1061 */
148132
+ /* 1060 */
148207
148133
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
148208
148134
 
148209
148135
  "use strict";
@@ -148834,7 +148760,7 @@ class DataManager {
148834
148760
  */
148835
148761
  syncRowWithRawSource(rowElement) {
148836
148762
  let upmostParent = rowElement;
148837
- let tempParent = upmostParent;
148763
+ let tempParent = null;
148838
148764
  do {
148839
148765
  tempParent = this.getRowParent(tempParent);
148840
148766
  if (tempParent !== null) {
@@ -148842,7 +148768,7 @@ class DataManager {
148842
148768
  }
148843
148769
  } while (tempParent !== null);
148844
148770
  this.plugin.disableCoreAPIModifiers();
148845
- this.hot.setSourceDataAtCell(this.getRowIndexWithinParent(upmostParent), '__children', upmostParent.__children, 'NestedRows.syncRowWithRawSource');
148771
+ this.hot.setSourceDataAtCell(this.getRowIndex(upmostParent), '__children', upmostParent.__children, 'NestedRows.syncRowWithRawSource');
148846
148772
  this.plugin.enableCoreAPIModifiers();
148847
148773
  }
148848
148774
 
@@ -148919,7 +148845,7 @@ class DataManager {
148919
148845
  var _default = exports["default"] = DataManager;
148920
148846
 
148921
148847
  /***/ }),
148922
- /* 1062 */
148848
+ /* 1061 */
148923
148849
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
148924
148850
 
148925
148851
  "use strict";
@@ -148932,8 +148858,8 @@ var _event = __webpack_require__(509);
148932
148858
  var _array = __webpack_require__(495);
148933
148859
  var _number = __webpack_require__(534);
148934
148860
  var _element = __webpack_require__(351);
148935
- var _base = _interopRequireDefault(__webpack_require__(1063));
148936
- var _headers = _interopRequireDefault(__webpack_require__(1064));
148861
+ var _base = _interopRequireDefault(__webpack_require__(1062));
148862
+ var _headers = _interopRequireDefault(__webpack_require__(1063));
148937
148863
  /**
148938
148864
  * Class responsible for the UI for collapsing and expanding groups.
148939
148865
  *
@@ -149394,7 +149320,7 @@ class CollapsingUI extends _base.default {
149394
149320
  var _default = exports["default"] = CollapsingUI;
149395
149321
 
149396
149322
  /***/ }),
149397
- /* 1063 */
149323
+ /* 1062 */
149398
149324
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
149399
149325
 
149400
149326
  "use strict";
@@ -149428,7 +149354,7 @@ class BaseUI {
149428
149354
  var _default = exports["default"] = BaseUI;
149429
149355
 
149430
149356
  /***/ }),
149431
- /* 1064 */
149357
+ /* 1063 */
149432
149358
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
149433
149359
 
149434
149360
  "use strict";
@@ -149439,7 +149365,7 @@ exports.__esModule = true;
149439
149365
  var _array = __webpack_require__(495);
149440
149366
  var _number = __webpack_require__(534);
149441
149367
  var _element = __webpack_require__(351);
149442
- var _base = _interopRequireDefault(__webpack_require__(1063));
149368
+ var _base = _interopRequireDefault(__webpack_require__(1062));
149443
149369
  var _a11y = __webpack_require__(496);
149444
149370
  /**
149445
149371
  * Class responsible for the UI in the Nested Rows' row headers.
@@ -149572,7 +149498,7 @@ class HeadersUI extends _base.default {
149572
149498
  var _default = exports["default"] = HeadersUI;
149573
149499
 
149574
149500
  /***/ }),
149575
- /* 1065 */
149501
+ /* 1064 */
149576
149502
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
149577
149503
 
149578
149504
  "use strict";
@@ -149585,7 +149511,7 @@ var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
149585
149511
  var _number = __webpack_require__(534);
149586
149512
  var _array = __webpack_require__(495);
149587
149513
  var C = _interopRequireWildcard(__webpack_require__(651));
149588
- var _base = _interopRequireDefault(__webpack_require__(1063));
149514
+ var _base = _interopRequireDefault(__webpack_require__(1062));
149589
149515
  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); }
149590
149516
  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; }
149591
149517
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
@@ -149691,7 +149617,7 @@ class ContextMenuUI extends _base.default {
149691
149617
  var _default = exports["default"] = ContextMenuUI;
149692
149618
 
149693
149619
  /***/ }),
149694
- /* 1066 */
149620
+ /* 1065 */
149695
149621
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
149696
149622
 
149697
149623
  "use strict";
@@ -149980,20 +149906,20 @@ class RowMoveController {
149980
149906
  exports["default"] = RowMoveController;
149981
149907
 
149982
149908
  /***/ }),
149983
- /* 1067 */
149909
+ /* 1066 */
149984
149910
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
149985
149911
 
149986
149912
  "use strict";
149987
149913
 
149988
149914
 
149989
149915
  exports.__esModule = true;
149990
- var _persistentState = __webpack_require__(1068);
149916
+ var _persistentState = __webpack_require__(1067);
149991
149917
  exports.PLUGIN_KEY = _persistentState.PLUGIN_KEY;
149992
149918
  exports.PLUGIN_PRIORITY = _persistentState.PLUGIN_PRIORITY;
149993
149919
  exports.PersistentState = _persistentState.PersistentState;
149994
149920
 
149995
149921
  /***/ }),
149996
- /* 1068 */
149922
+ /* 1067 */
149997
149923
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
149998
149924
 
149999
149925
  "use strict";
@@ -150003,7 +149929,7 @@ var _interopRequireDefault = __webpack_require__(197);
150003
149929
  exports.__esModule = true;
150004
149930
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
150005
149931
  var _base = __webpack_require__(841);
150006
- var _storage = _interopRequireDefault(__webpack_require__(1069));
149932
+ var _storage = _interopRequireDefault(__webpack_require__(1068));
150007
149933
  var _hooks = __webpack_require__(511);
150008
149934
  _hooks.Hooks.getSingleton().register('persistentStateSave');
150009
149935
  _hooks.Hooks.getSingleton().register('persistentStateLoad');
@@ -150144,7 +150070,7 @@ class PersistentState extends _base.BasePlugin {
150144
150070
  exports.PersistentState = PersistentState;
150145
150071
 
150146
150072
  /***/ }),
150147
- /* 1069 */
150073
+ /* 1068 */
150148
150074
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
150149
150075
 
150150
150076
  "use strict";
@@ -150268,20 +150194,20 @@ class Storage {
150268
150194
  var _default = exports["default"] = Storage;
150269
150195
 
150270
150196
  /***/ }),
150271
- /* 1070 */
150197
+ /* 1069 */
150272
150198
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
150273
150199
 
150274
150200
  "use strict";
150275
150201
 
150276
150202
 
150277
150203
  exports.__esModule = true;
150278
- var _search = __webpack_require__(1071);
150204
+ var _search = __webpack_require__(1070);
150279
150205
  exports.PLUGIN_KEY = _search.PLUGIN_KEY;
150280
150206
  exports.PLUGIN_PRIORITY = _search.PLUGIN_PRIORITY;
150281
150207
  exports.Search = _search.Search;
150282
150208
 
150283
150209
  /***/ }),
150284
- /* 1071 */
150210
+ /* 1070 */
150285
150211
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
150286
150212
 
150287
150213
  "use strict";
@@ -150589,20 +150515,20 @@ function _onBeforeRenderer(TD, row, col, prop, value, cellProperties) {
150589
150515
  }
150590
150516
 
150591
150517
  /***/ }),
150592
- /* 1072 */
150518
+ /* 1071 */
150593
150519
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
150594
150520
 
150595
150521
  "use strict";
150596
150522
 
150597
150523
 
150598
150524
  exports.__esModule = true;
150599
- var _stretchColumns = __webpack_require__(1073);
150525
+ var _stretchColumns = __webpack_require__(1072);
150600
150526
  exports.PLUGIN_KEY = _stretchColumns.PLUGIN_KEY;
150601
150527
  exports.PLUGIN_PRIORITY = _stretchColumns.PLUGIN_PRIORITY;
150602
150528
  exports.StretchColumns = _stretchColumns.StretchColumns;
150603
150529
 
150604
150530
  /***/ }),
150605
- /* 1073 */
150531
+ /* 1072 */
150606
150532
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
150607
150533
 
150608
150534
  "use strict";
@@ -150613,7 +150539,7 @@ __webpack_require__(201);
150613
150539
  __webpack_require__(311);
150614
150540
  __webpack_require__(329);
150615
150541
  var _base = __webpack_require__(841);
150616
- var _calculator = __webpack_require__(1074);
150542
+ var _calculator = __webpack_require__(1073);
150617
150543
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
150618
150544
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
150619
150545
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
@@ -150830,7 +150756,7 @@ function _onBeforeRender(fullRender) {
150830
150756
  }
150831
150757
 
150832
150758
  /***/ }),
150833
- /* 1074 */
150759
+ /* 1073 */
150834
150760
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
150835
150761
 
150836
150762
  "use strict";
@@ -150842,8 +150768,8 @@ __webpack_require__(311);
150842
150768
  __webpack_require__(329);
150843
150769
  var _src = __webpack_require__(540);
150844
150770
  var _element = __webpack_require__(351);
150845
- var _all = __webpack_require__(1075);
150846
- var _last = __webpack_require__(1077);
150771
+ var _all = __webpack_require__(1074);
150772
+ var _last = __webpack_require__(1076);
150847
150773
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
150848
150774
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
150849
150775
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
@@ -150998,7 +150924,7 @@ function _overwriteColumnWidthFn(columnWidth, columnVisualIndex) {
150998
150924
  }
150999
150925
 
151000
150926
  /***/ }),
151001
- /* 1075 */
150927
+ /* 1074 */
151002
150928
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
151003
150929
 
151004
150930
  "use strict";
@@ -151010,7 +150936,7 @@ __webpack_require__(311);
151010
150936
  __webpack_require__(329);
151011
150937
  __webpack_require__(530);
151012
150938
  var _src = __webpack_require__(540);
151013
- var _base = __webpack_require__(1076);
150939
+ var _base = __webpack_require__(1075);
151014
150940
  /**
151015
150941
  * The strategy calculates the column widths by stretching all columns evenly.
151016
150942
  *
@@ -151075,7 +151001,7 @@ class StretchAllStrategy extends _base.StretchStrategy {
151075
151001
  exports.StretchAllStrategy = StretchAllStrategy;
151076
151002
 
151077
151003
  /***/ }),
151078
- /* 1076 */
151004
+ /* 1075 */
151079
151005
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
151080
151006
 
151081
151007
  "use strict";
@@ -151164,7 +151090,7 @@ class StretchStrategy {
151164
151090
  exports.StretchStrategy = StretchStrategy;
151165
151091
 
151166
151092
  /***/ }),
151167
- /* 1077 */
151093
+ /* 1076 */
151168
151094
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
151169
151095
 
151170
151096
  "use strict";
@@ -151174,7 +151100,7 @@ exports.__esModule = true;
151174
151100
  __webpack_require__(201);
151175
151101
  __webpack_require__(311);
151176
151102
  __webpack_require__(530);
151177
- var _base = __webpack_require__(1076);
151103
+ var _base = __webpack_require__(1075);
151178
151104
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
151179
151105
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
151180
151106
  function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
@@ -151249,20 +151175,20 @@ class StretchLastStrategy extends _base.StretchStrategy {
151249
151175
  exports.StretchLastStrategy = StretchLastStrategy;
151250
151176
 
151251
151177
  /***/ }),
151252
- /* 1078 */
151178
+ /* 1077 */
151253
151179
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
151254
151180
 
151255
151181
  "use strict";
151256
151182
 
151257
151183
 
151258
151184
  exports.__esModule = true;
151259
- var _touchScroll = __webpack_require__(1079);
151185
+ var _touchScroll = __webpack_require__(1078);
151260
151186
  exports.PLUGIN_KEY = _touchScroll.PLUGIN_KEY;
151261
151187
  exports.PLUGIN_PRIORITY = _touchScroll.PLUGIN_PRIORITY;
151262
151188
  exports.TouchScroll = _touchScroll.TouchScroll;
151263
151189
 
151264
151190
  /***/ }),
151265
- /* 1079 */
151191
+ /* 1078 */
151266
151192
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
151267
151193
 
151268
151194
  "use strict";
@@ -151451,20 +151377,20 @@ function _onAfterMomentumScroll() {
151451
151377
  }
151452
151378
 
151453
151379
  /***/ }),
151454
- /* 1080 */
151380
+ /* 1079 */
151455
151381
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
151456
151382
 
151457
151383
  "use strict";
151458
151384
 
151459
151385
 
151460
151386
  exports.__esModule = true;
151461
- var _trimRows = __webpack_require__(1081);
151387
+ var _trimRows = __webpack_require__(1080);
151462
151388
  exports.PLUGIN_KEY = _trimRows.PLUGIN_KEY;
151463
151389
  exports.PLUGIN_PRIORITY = _trimRows.PLUGIN_PRIORITY;
151464
151390
  exports.TrimRows = _trimRows.TrimRows;
151465
151391
 
151466
151392
  /***/ }),
151467
- /* 1081 */
151393
+ /* 1080 */
151468
151394
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
151469
151395
 
151470
151396
  "use strict";
@@ -151796,20 +151722,20 @@ function _onMapInit() {
151796
151722
  }
151797
151723
 
151798
151724
  /***/ }),
151799
- /* 1082 */
151725
+ /* 1081 */
151800
151726
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
151801
151727
 
151802
151728
  "use strict";
151803
151729
 
151804
151730
 
151805
151731
  exports.__esModule = true;
151806
- var _undoRedo = __webpack_require__(1083);
151732
+ var _undoRedo = __webpack_require__(1082);
151807
151733
  exports.PLUGIN_KEY = _undoRedo.PLUGIN_KEY;
151808
151734
  exports.PLUGIN_PRIORITY = _undoRedo.PLUGIN_PRIORITY;
151809
151735
  exports.UndoRedo = _undoRedo.UndoRedo;
151810
151736
 
151811
151737
  /***/ }),
151812
- /* 1083 */
151738
+ /* 1082 */
151813
151739
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
151814
151740
 
151815
151741
  "use strict";
@@ -151832,7 +151758,7 @@ var _hooks = __webpack_require__(511);
151832
151758
  var _object = __webpack_require__(499);
151833
151759
  var _templateLiteralTag = __webpack_require__(494);
151834
151760
  var _console = __webpack_require__(512);
151835
- var _actions = __webpack_require__(1084);
151761
+ var _actions = __webpack_require__(1083);
151836
151762
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
151837
151763
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
151838
151764
  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"); }
@@ -152202,7 +152128,7 @@ function _removeAPIFromCore() {
152202
152128
  }
152203
152129
 
152204
152130
  /***/ }),
152205
- /* 1084 */
152131
+ /* 1083 */
152206
152132
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152207
152133
 
152208
152134
  "use strict";
@@ -152212,18 +152138,18 @@ exports.__esModule = true;
152212
152138
  exports.registerActions = registerActions;
152213
152139
  __webpack_require__(311);
152214
152140
  __webpack_require__(329);
152215
- var _cellAlignment = __webpack_require__(1085);
152216
- var _columnMove = __webpack_require__(1087);
152217
- var _columnSort = __webpack_require__(1088);
152218
- var _createColumn = __webpack_require__(1089);
152219
- var _createRow = __webpack_require__(1090);
152220
- var _dataChange = __webpack_require__(1091);
152221
- var _filters = __webpack_require__(1092);
152222
- var _mergeCells = __webpack_require__(1093);
152223
- var _removeColumn = __webpack_require__(1094);
152224
- var _removeRow = __webpack_require__(1097);
152225
- var _rowMove = __webpack_require__(1098);
152226
- var _unmergeCells = __webpack_require__(1099);
152141
+ var _cellAlignment = __webpack_require__(1084);
152142
+ var _columnMove = __webpack_require__(1086);
152143
+ var _columnSort = __webpack_require__(1087);
152144
+ var _createColumn = __webpack_require__(1088);
152145
+ var _createRow = __webpack_require__(1089);
152146
+ var _dataChange = __webpack_require__(1090);
152147
+ var _filters = __webpack_require__(1091);
152148
+ var _mergeCells = __webpack_require__(1092);
152149
+ var _removeColumn = __webpack_require__(1093);
152150
+ var _removeRow = __webpack_require__(1096);
152151
+ var _rowMove = __webpack_require__(1097);
152152
+ var _unmergeCells = __webpack_require__(1098);
152227
152153
  /**
152228
152154
  * Register all undo/redo actions.
152229
152155
  *
@@ -152235,7 +152161,7 @@ function registerActions(hot, undoRedoPlugin) {
152235
152161
  }
152236
152162
 
152237
152163
  /***/ }),
152238
- /* 1085 */
152164
+ /* 1084 */
152239
152165
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152240
152166
 
152241
152167
  "use strict";
@@ -152244,7 +152170,7 @@ function registerActions(hot, undoRedoPlugin) {
152244
152170
  var _interopRequireDefault = __webpack_require__(197);
152245
152171
  exports.__esModule = true;
152246
152172
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152247
- var _base = __webpack_require__(1086);
152173
+ var _base = __webpack_require__(1085);
152248
152174
  var _utils = __webpack_require__(881);
152249
152175
  var _array = __webpack_require__(495);
152250
152176
  /**
@@ -152324,7 +152250,7 @@ class CellAlignmentAction extends _base.BaseAction {
152324
152250
  exports.CellAlignmentAction = CellAlignmentAction;
152325
152251
 
152326
152252
  /***/ }),
152327
- /* 1086 */
152253
+ /* 1085 */
152328
152254
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152329
152255
 
152330
152256
  "use strict";
@@ -152358,7 +152284,7 @@ class BaseAction {
152358
152284
  exports.BaseAction = BaseAction;
152359
152285
 
152360
152286
  /***/ }),
152361
- /* 1087 */
152287
+ /* 1086 */
152362
152288
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152363
152289
 
152364
152290
  "use strict";
@@ -152369,7 +152295,7 @@ exports.__esModule = true;
152369
152295
  __webpack_require__(311);
152370
152296
  __webpack_require__(329);
152371
152297
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152372
- var _base = __webpack_require__(1086);
152298
+ var _base = __webpack_require__(1085);
152373
152299
  var _moves = __webpack_require__(995);
152374
152300
  /**
152375
152301
  * Action that tracks column move changes.
@@ -152446,7 +152372,7 @@ class ColumnMoveAction extends _base.BaseAction {
152446
152372
  exports.ColumnMoveAction = ColumnMoveAction;
152447
152373
 
152448
152374
  /***/ }),
152449
- /* 1088 */
152375
+ /* 1087 */
152450
152376
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152451
152377
 
152452
152378
  "use strict";
@@ -152455,7 +152381,7 @@ exports.ColumnMoveAction = ColumnMoveAction;
152455
152381
  var _interopRequireDefault = __webpack_require__(197);
152456
152382
  exports.__esModule = true;
152457
152383
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152458
- var _base = __webpack_require__(1086);
152384
+ var _base = __webpack_require__(1085);
152459
152385
  /**
152460
152386
  * Action that tracks column sort changes.
152461
152387
  *
@@ -152523,7 +152449,7 @@ class ColumnSortAction extends _base.BaseAction {
152523
152449
  exports.ColumnSortAction = ColumnSortAction;
152524
152450
 
152525
152451
  /***/ }),
152526
- /* 1089 */
152452
+ /* 1088 */
152527
152453
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152528
152454
 
152529
152455
  "use strict";
@@ -152532,7 +152458,7 @@ exports.ColumnSortAction = ColumnSortAction;
152532
152458
  var _interopRequireDefault = __webpack_require__(197);
152533
152459
  exports.__esModule = true;
152534
152460
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152535
- var _base = __webpack_require__(1086);
152461
+ var _base = __webpack_require__(1085);
152536
152462
  /**
152537
152463
  * Action that tracks column creation.
152538
152464
  *
@@ -152587,7 +152513,7 @@ class CreateColumnAction extends _base.BaseAction {
152587
152513
  exports.CreateColumnAction = CreateColumnAction;
152588
152514
 
152589
152515
  /***/ }),
152590
- /* 1090 */
152516
+ /* 1089 */
152591
152517
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152592
152518
 
152593
152519
  "use strict";
@@ -152596,7 +152522,7 @@ exports.CreateColumnAction = CreateColumnAction;
152596
152522
  var _interopRequireDefault = __webpack_require__(197);
152597
152523
  exports.__esModule = true;
152598
152524
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152599
- var _base = __webpack_require__(1086);
152525
+ var _base = __webpack_require__(1085);
152600
152526
  /**
152601
152527
  * Action that tracks row creation.
152602
152528
  *
@@ -152656,7 +152582,7 @@ class CreateRowAction extends _base.BaseAction {
152656
152582
  exports.CreateRowAction = CreateRowAction;
152657
152583
 
152658
152584
  /***/ }),
152659
- /* 1091 */
152585
+ /* 1090 */
152660
152586
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152661
152587
 
152662
152588
  "use strict";
@@ -152670,7 +152596,7 @@ __webpack_require__(519);
152670
152596
  __webpack_require__(329);
152671
152597
  __webpack_require__(530);
152672
152598
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152673
- var _base = __webpack_require__(1086);
152599
+ var _base = __webpack_require__(1085);
152674
152600
  var _object = __webpack_require__(499);
152675
152601
  /**
152676
152602
  * Action that tracks data changes.
@@ -152783,7 +152709,7 @@ class DataChangeAction extends _base.BaseAction {
152783
152709
  exports.DataChangeAction = DataChangeAction;
152784
152710
 
152785
152711
  /***/ }),
152786
- /* 1092 */
152712
+ /* 1091 */
152787
152713
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152788
152714
 
152789
152715
  "use strict";
@@ -152794,7 +152720,7 @@ exports.__esModule = true;
152794
152720
  __webpack_require__(311);
152795
152721
  __webpack_require__(323);
152796
152722
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152797
- var _base = __webpack_require__(1086);
152723
+ var _base = __webpack_require__(1085);
152798
152724
  /**
152799
152725
  * Action that tracks filter changes.
152800
152726
  *
@@ -152853,7 +152779,7 @@ class FiltersAction extends _base.BaseAction {
152853
152779
  exports.FiltersAction = FiltersAction;
152854
152780
 
152855
152781
  /***/ }),
152856
- /* 1093 */
152782
+ /* 1092 */
152857
152783
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152858
152784
 
152859
152785
  "use strict";
@@ -152862,7 +152788,7 @@ exports.FiltersAction = FiltersAction;
152862
152788
  var _interopRequireDefault = __webpack_require__(197);
152863
152789
  exports.__esModule = true;
152864
152790
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152865
- var _base = __webpack_require__(1086);
152791
+ var _base = __webpack_require__(1085);
152866
152792
  /**
152867
152793
  * Action that tracks changes in merged cells.
152868
152794
  *
@@ -152923,7 +152849,7 @@ class MergeCellsAction extends _base.BaseAction {
152923
152849
  exports.MergeCellsAction = MergeCellsAction;
152924
152850
 
152925
152851
  /***/ }),
152926
- /* 1094 */
152852
+ /* 1093 */
152927
152853
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
152928
152854
 
152929
152855
  "use strict";
@@ -152935,8 +152861,8 @@ __webpack_require__(283);
152935
152861
  __webpack_require__(311);
152936
152862
  __webpack_require__(329);
152937
152863
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
152938
- var _base = __webpack_require__(1086);
152939
- var _utils = __webpack_require__(1095);
152864
+ var _base = __webpack_require__(1085);
152865
+ var _utils = __webpack_require__(1094);
152940
152866
  var _number = __webpack_require__(534);
152941
152867
  var _array = __webpack_require__(495);
152942
152868
  /**
@@ -152964,7 +152890,7 @@ class RemoveColumnAction extends _base.BaseAction {
152964
152890
  */
152965
152891
  (0, _defineProperty2.default)(this, "index", void 0);
152966
152892
  /**
152967
- * @param {number[]} indexes The physical column indexes.
152893
+ * @param {number[]} indexes The visual column indexes.
152968
152894
  */
152969
152895
  (0, _defineProperty2.default)(this, "indexes", void 0);
152970
152896
  /**
@@ -153030,14 +152956,16 @@ class RemoveColumnAction extends _base.BaseAction {
153030
152956
  headers.push(hot.getSettings().colHeaders[hot.toPhysicalColumn(columnIndex + i)] || null);
153031
152957
  });
153032
152958
  }
152959
+ const columnsMap = hot.columnIndexMapper.getIndexesSequence();
152960
+ const rowsMap = hot.rowIndexMapper.getIndexesSequence();
153033
152961
  return new RemoveColumnAction({
153034
152962
  index: columnIndex,
153035
152963
  indexes,
153036
152964
  data: removedData,
153037
152965
  amount,
153038
152966
  headers,
153039
- columnPositions: hot.columnIndexMapper.getIndexesSequence(),
153040
- rowPositions: hot.rowIndexMapper.getIndexesSequence(),
152967
+ columnPositions: columnsMap,
152968
+ rowPositions: rowsMap,
153041
152969
  fixedColumnsStart: hot.getSettings().fixedColumnsStart,
153042
152970
  removedCellMetas: (0, _utils.getCellMetas)(hot, 0, hot.countRows(), columnIndex, lastColumnIndex)
153043
152971
  });
@@ -153064,27 +152992,14 @@ class RemoveColumnAction extends _base.BaseAction {
153064
152992
  }
153065
152993
  const sortedHeaders = (0, _array.arrayMap)(this.headers, sortByIndexes);
153066
152994
  const changes = [];
153067
-
153068
- // The indexes sequence have to be applied twice.
153069
- // * First for proper index translation. The alter method accepts a visual index
153070
- // and we are able to retrieve the correct index indicating where to add a new row based
153071
- // only on the previous order state of the columns;
153072
- // * The alter method shifts the indexes (a side-effect), so we need to reapply the indexes sequence
153073
- // the same as it was in the previous state;
153074
- hot.columnIndexMapper.setIndexesSequence(this.columnPositions);
153075
- hot.alter('insert_col_start', hot.toVisualColumn(this.indexes[0]), this.indexes.length, 'UndoRedo.undo');
153076
- hot.batchExecution(() => {
153077
- // Restore row sequence in a case when all columns are removed. the original
153078
- // row sequence is lost in that case.
153079
- hot.rowIndexMapper.setIndexesSequence(this.rowPositions);
153080
- hot.columnIndexMapper.setIndexesSequence(this.columnPositions);
153081
- }, true);
152995
+ hot.alter('insert_col_start', this.indexes[0], this.indexes.length, 'UndoRedo.undo');
153082
152996
  (0, _array.arrayEach)(hot.getSourceDataArray(), (rowData, rowIndex) => {
153083
152997
  (0, _array.arrayEach)(ascendingIndexes, (changedIndex, contiquesIndex) => {
153084
152998
  rowData[changedIndex] = sortedData[rowIndex][contiquesIndex];
153085
152999
  changes.push([rowIndex, changedIndex, rowData[changedIndex]]);
153086
153000
  });
153087
153001
  });
153002
+ hot.setSourceDataAtCell(changes, undefined, undefined, 'UndoRedo.undo');
153088
153003
  if (typeof this.headers !== 'undefined') {
153089
153004
  (0, _array.arrayEach)(sortedHeaders, (headerData, columnIndex) => {
153090
153005
  hot.getSettings().colHeaders[ascendingIndexes[columnIndex]] = headerData;
@@ -153094,8 +153009,14 @@ class RemoveColumnAction extends _base.BaseAction {
153094
153009
  let [rowIndex, columnIndex, cellMeta] = _ref2;
153095
153010
  hot.setCellMetaObject(rowIndex, columnIndex, cellMeta);
153096
153011
  });
153012
+ hot.batchExecution(() => {
153013
+ // Restore row sequence in a case when all columns are removed. the original
153014
+ // row sequence is lost in that case.
153015
+ hot.rowIndexMapper.setIndexesSequence(this.rowPositions);
153016
+ hot.columnIndexMapper.setIndexesSequence(this.columnPositions);
153017
+ }, true);
153097
153018
  hot.addHookOnce('afterViewRender', undoneCallback);
153098
- hot.setSourceDataAtCell(changes, null, null, 'UndoRedo.undo');
153019
+ hot.render();
153099
153020
  }
153100
153021
 
153101
153022
  /**
@@ -153110,7 +153031,7 @@ class RemoveColumnAction extends _base.BaseAction {
153110
153031
  exports.RemoveColumnAction = RemoveColumnAction;
153111
153032
 
153112
153033
  /***/ }),
153113
- /* 1095 */
153034
+ /* 1094 */
153114
153035
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
153115
153036
 
153116
153037
  "use strict";
@@ -153119,7 +153040,7 @@ exports.RemoveColumnAction = RemoveColumnAction;
153119
153040
  exports.__esModule = true;
153120
153041
  exports.getCellMetas = getCellMetas;
153121
153042
  __webpack_require__(283);
153122
- __webpack_require__(1096);
153043
+ __webpack_require__(1095);
153123
153044
  __webpack_require__(311);
153124
153045
  __webpack_require__(323);
153125
153046
  var _number = __webpack_require__(534);
@@ -153153,7 +153074,7 @@ function getCellMetas(hot, fromRow, toRow, fromColumn, toColumn) {
153153
153074
  }
153154
153075
 
153155
153076
  /***/ }),
153156
- /* 1096 */
153077
+ /* 1095 */
153157
153078
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
153158
153079
 
153159
153080
  "use strict";
@@ -153176,7 +153097,7 @@ $({ target: 'Object', stat: true }, {
153176
153097
 
153177
153098
 
153178
153099
  /***/ }),
153179
- /* 1097 */
153100
+ /* 1096 */
153180
153101
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
153181
153102
 
153182
153103
  "use strict";
@@ -153188,8 +153109,8 @@ __webpack_require__(283);
153188
153109
  __webpack_require__(311);
153189
153110
  __webpack_require__(329);
153190
153111
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
153191
- var _base = __webpack_require__(1086);
153192
- var _utils = __webpack_require__(1095);
153112
+ var _base = __webpack_require__(1085);
153113
+ var _utils = __webpack_require__(1094);
153193
153114
  var _object = __webpack_require__(499);
153194
153115
  /**
153195
153116
  * Action that tracks changes in row removal.
@@ -153209,7 +153130,7 @@ class RemoveRowAction extends _base.BaseAction {
153209
153130
  } = _ref;
153210
153131
  super('remove_row');
153211
153132
  /**
153212
- * @param {number} index The physical row index.
153133
+ * @param {number} index The visual row index.
153213
153134
  */
153214
153135
  (0, _defineProperty2.default)(this, "index", void 0);
153215
153136
  /**
@@ -153277,22 +153198,14 @@ class RemoveRowAction extends _base.BaseAction {
153277
153198
  changes.push([this.index + rowIndexDelta, isNaN(columnIndex) ? columnProp : columnIndex, dataRow[columnProp]]);
153278
153199
  });
153279
153200
  });
153280
-
153281
- // The indexes sequence have to be applied twice.
153282
- // * First for proper index translation. The alter method accepts a visual index
153283
- // and we are able to retrieve the correct index indicating where to add a new row based
153284
- // only on the previous order state of the rows;
153285
- // * The alter method shifts the indexes (a side-effect), so we need to reapply the indexes sequence
153286
- // the same as it was in the previous state;
153287
- hot.rowIndexMapper.setIndexesSequence(this.rowIndexesSequence);
153288
- hot.alter('insert_row_above', hot.toVisualRow(this.index), this.data.length, 'UndoRedo.undo');
153289
- hot.rowIndexMapper.setIndexesSequence(this.rowIndexesSequence);
153201
+ hot.alter('insert_row_above', this.index, this.data.length, 'UndoRedo.undo');
153290
153202
  this.removedCellMetas.forEach(_ref2 => {
153291
153203
  let [rowIndex, columnIndex, cellMeta] = _ref2;
153292
153204
  hot.setCellMetaObject(rowIndex, columnIndex, cellMeta);
153293
153205
  });
153294
153206
  hot.addHookOnce('afterViewRender', undoneCallback);
153295
153207
  hot.setSourceDataAtCell(changes, null, null, 'UndoRedo.undo');
153208
+ hot.rowIndexMapper.setIndexesSequence(this.rowIndexesSequence);
153296
153209
  }
153297
153210
 
153298
153211
  /**
@@ -153301,13 +153214,13 @@ class RemoveRowAction extends _base.BaseAction {
153301
153214
  */
153302
153215
  redo(hot, redoneCallback) {
153303
153216
  hot.addHookOnce('afterRemoveRow', redoneCallback);
153304
- hot.alter('remove_row', hot.toVisualRow(this.index), this.data.length, 'UndoRedo.redo');
153217
+ hot.alter('remove_row', this.index, this.data.length, 'UndoRedo.redo');
153305
153218
  }
153306
153219
  }
153307
153220
  exports.RemoveRowAction = RemoveRowAction;
153308
153221
 
153309
153222
  /***/ }),
153310
- /* 1098 */
153223
+ /* 1097 */
153311
153224
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
153312
153225
 
153313
153226
  "use strict";
@@ -153318,7 +153231,7 @@ exports.__esModule = true;
153318
153231
  __webpack_require__(311);
153319
153232
  __webpack_require__(329);
153320
153233
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
153321
- var _base = __webpack_require__(1086);
153234
+ var _base = __webpack_require__(1085);
153322
153235
  var _moves = __webpack_require__(995);
153323
153236
  /**
153324
153237
  * Action that tracks row move changes.
@@ -153395,7 +153308,7 @@ class RowMoveAction extends _base.BaseAction {
153395
153308
  exports.RowMoveAction = RowMoveAction;
153396
153309
 
153397
153310
  /***/ }),
153398
- /* 1099 */
153311
+ /* 1098 */
153399
153312
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
153400
153313
 
153401
153314
  "use strict";
@@ -153404,7 +153317,7 @@ exports.RowMoveAction = RowMoveAction;
153404
153317
  var _interopRequireDefault = __webpack_require__(197);
153405
153318
  exports.__esModule = true;
153406
153319
  var _defineProperty2 = _interopRequireDefault(__webpack_require__(504));
153407
- var _base = __webpack_require__(1086);
153320
+ var _base = __webpack_require__(1085);
153408
153321
  /**
153409
153322
  * Action that tracks changes in merged cells.
153410
153323
  *
@@ -153458,7 +153371,7 @@ class UnmergeCellsAction extends _base.BaseAction {
153458
153371
  exports.UnmergeCellsAction = UnmergeCellsAction;
153459
153372
 
153460
153373
  /***/ }),
153461
- /* 1100 */
153374
+ /* 1099 */
153462
153375
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
153463
153376
 
153464
153377
  "use strict";