handsontable 12.3.1-next-83e8a23-20230111 → 12.3.1-next-8792e1c-20230202

Sign up to get free protection for your applications and to get access to all the features.
package/helpers/mixed.js CHANGED
@@ -152,7 +152,7 @@ var domMessages = {
152
152
  function _injectProductInfo(key, element) {
153
153
  var hasValidType = !isEmpty(key);
154
154
  var isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
155
- var hotVersion = "12.3.1-next-83e8a23-20230111";
155
+ var hotVersion = "12.3.1-next-8792e1c-20230202";
156
156
  var keyValidityDate;
157
157
  var consoleMessageState = 'invalid';
158
158
  var domMessageState = 'invalid';
@@ -160,7 +160,7 @@ function _injectProductInfo(key, element) {
160
160
  var schemaValidity = _checkKeySchema(key);
161
161
  if (hasValidType || isNonCommercial || schemaValidity) {
162
162
  if (schemaValidity) {
163
- var releaseDate = (0, _moment.default)("18/01/2023", 'DD/MM/YYYY');
163
+ var releaseDate = (0, _moment.default)("06/02/2023", 'DD/MM/YYYY');
164
164
  var releaseDays = Math.floor(releaseDate.toDate().getTime() / 8.64e7);
165
165
  var keyValidityDays = _extractTime(key);
166
166
  keyValidityDate = (0, _moment.default)((keyValidityDays + 1) * 8.64e7, 'x').format('MMMM DD, YYYY');
package/helpers/mixed.mjs CHANGED
@@ -142,7 +142,7 @@ var domMessages = {
142
142
  export function _injectProductInfo(key, element) {
143
143
  var hasValidType = !isEmpty(key);
144
144
  var isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
145
- var hotVersion = "12.3.1-next-83e8a23-20230111";
145
+ var hotVersion = "12.3.1-next-8792e1c-20230202";
146
146
  var keyValidityDate;
147
147
  var consoleMessageState = 'invalid';
148
148
  var domMessageState = 'invalid';
@@ -150,7 +150,7 @@ export function _injectProductInfo(key, element) {
150
150
  var schemaValidity = _checkKeySchema(key);
151
151
  if (hasValidType || isNonCommercial || schemaValidity) {
152
152
  if (schemaValidity) {
153
- var releaseDate = moment("18/01/2023", 'DD/MM/YYYY');
153
+ var releaseDate = moment("06/02/2023", 'DD/MM/YYYY');
154
154
  var releaseDays = Math.floor(releaseDate.toDate().getTime() / 8.64e7);
155
155
  var keyValidityDays = _extractTime(key);
156
156
  keyValidityDate = moment((keyValidityDays + 1) * 8.64e7, 'x').format('MMMM DD, YYYY');
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "url": "https://github.com/handsontable/handsontable/issues"
11
11
  },
12
12
  "author": "Handsoncode <hello@handsontable.com>",
13
- "version": "12.3.1-next-83e8a23-20230111",
13
+ "version": "12.3.1-next-8792e1c-20230202",
14
14
  "main": "index",
15
15
  "module": "index.mjs",
16
16
  "jsnext:main": "index.mjs",
@@ -392,6 +392,9 @@ var AutofillCalculations = /*#__PURE__*/function () {
392
392
  } while (inBounds(current, fillOffset));
393
393
  this.currentFillData = null;
394
394
  this.plugin.hot.render();
395
+ if (foundMergedCells.length > 0) {
396
+ this.plugin.ifChromeForceRepaint();
397
+ }
395
398
  }
396
399
 
397
400
  /**
@@ -388,6 +388,9 @@ var AutofillCalculations = /*#__PURE__*/function () {
388
388
  } while (inBounds(current, fillOffset));
389
389
  this.currentFillData = null;
390
390
  this.plugin.hot.render();
391
+ if (foundMergedCells.length > 0) {
392
+ this.plugin.ifChromeForceRepaint();
393
+ }
391
394
  }
392
395
 
393
396
  /**
@@ -12,10 +12,8 @@ require("core-js/modules/es.symbol.js");
12
12
  require("core-js/modules/es.symbol.description.js");
13
13
  require("core-js/modules/es.number.constructor.js");
14
14
  require("core-js/modules/es.symbol.iterator.js");
15
- require("core-js/modules/es.array.slice.js");
16
- require("core-js/modules/es.function.name.js");
17
15
  require("core-js/modules/es.array.from.js");
18
- require("core-js/modules/es.regexp.exec.js");
16
+ require("core-js/modules/es.array.slice.js");
19
17
  exports.__esModule = true;
20
18
  exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.MergeCells = void 0;
21
19
  require("core-js/modules/es.array.iterator.js");
@@ -23,6 +21,12 @@ require("core-js/modules/es.object.to-string.js");
23
21
  require("core-js/modules/es.string.iterator.js");
24
22
  require("core-js/modules/es.weak-map.js");
25
23
  require("core-js/modules/web.dom-collections.iterator.js");
24
+ require("core-js/modules/web.dom-collections.for-each.js");
25
+ require("core-js/modules/es.set.js");
26
+ require("core-js/modules/es.array.map.js");
27
+ require("core-js/modules/es.function.name.js");
28
+ require("core-js/modules/es.regexp.exec.js");
29
+ require("core-js/modules/es.string.replace.js");
26
30
  require("core-js/modules/es.array.includes.js");
27
31
  require("core-js/modules/es.string.includes.js");
28
32
  var _base = require("../base");
@@ -37,13 +41,19 @@ var _object = require("../../helpers/object");
37
41
  var _console = require("../../helpers/console");
38
42
  var _number = require("../../helpers/number");
39
43
  var _utils = require("./utils");
44
+ var _element = require("../../helpers/dom/element");
45
+ var _browser = require("../../helpers/browser");
40
46
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
41
47
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
42
48
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
43
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
44
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
45
49
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
46
50
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
51
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
52
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
53
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
54
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
55
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
56
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
47
57
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
48
58
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
49
59
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
@@ -259,7 +269,8 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
259
269
  /**
260
270
  * Updates the plugin's state.
261
271
  *
262
- * This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the following configuration options:
272
+ * This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the
273
+ * following configuration options:
263
274
  * - [`mergeCells`](@/api/options.md#mergecells)
264
275
  */
265
276
  }, {
@@ -272,6 +283,56 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
272
283
  _get(_getPrototypeOf(MergeCells.prototype), "updatePlugin", this).call(this);
273
284
  }
274
285
 
286
+ /**
287
+ * If the browser is recognized as Chrome, force an additional repaint to prevent showing the effects of a Chrome bug.
288
+ *
289
+ * Issue described in https://github.com/handsontable/dev-handsontable/issues/521.
290
+ *
291
+ * @private
292
+ */
293
+ }, {
294
+ key: "ifChromeForceRepaint",
295
+ value: function ifChromeForceRepaint() {
296
+ var _this3 = this;
297
+ if (!(0, _browser.isChrome)()) {
298
+ return;
299
+ }
300
+ var rowsToRefresh = [];
301
+ var rowIndexesToRefresh = [];
302
+ this.mergedCellsCollection.mergedCells.forEach(function (mergedCell) {
303
+ var row = mergedCell.row,
304
+ rowspan = mergedCell.rowspan;
305
+ for (var r = row + 1; r < row + rowspan; r++) {
306
+ rowIndexesToRefresh.push(r);
307
+ }
308
+ });
309
+
310
+ // Remove duplicates
311
+ rowIndexesToRefresh = _toConsumableArray(new Set(rowIndexesToRefresh));
312
+ rowIndexesToRefresh.forEach(function (rowIndex) {
313
+ var renderableRowIndex = _this3.hot.rowIndexMapper.getRenderableFromVisualIndex(rowIndex);
314
+ _this3.hot.view._wt.wtOverlays.getOverlays(true).map(function (overlay) {
315
+ return (overlay === null || overlay === void 0 ? void 0 : overlay.name) === 'master' ? overlay : overlay.clone.wtTable;
316
+ }).forEach(function (wtTableRef) {
317
+ var rowToRefresh = wtTableRef.getRow(renderableRowIndex);
318
+ if (rowToRefresh) {
319
+ // Modify the TR's `background` property to later modify it asynchronously.
320
+ // The background color is getting modified only with the alpha, so the change should not be visible (and is
321
+ // covered by the TDs' background color).
322
+ rowToRefresh.style.background = (0, _element.getStyle)(rowToRefresh, 'backgroundColor').replace(')', ', 0.99)');
323
+ rowsToRefresh.push(rowToRefresh);
324
+ }
325
+ });
326
+ });
327
+
328
+ // Asynchronously revert the TRs' `background` property to force a fresh repaint.
329
+ this.hot._registerTimeout(function () {
330
+ rowsToRefresh.forEach(function (rowElement) {
331
+ rowElement.style.background = (0, _element.getStyle)(rowElement, 'backgroundColor').replace(', 0.99)', ')');
332
+ });
333
+ }, 1);
334
+ }
335
+
275
336
  /**
276
337
  * Validates a single setting object, represented by a single merged cell information object.
277
338
  *
@@ -311,19 +372,19 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
311
372
  }, {
312
373
  key: "generateFromSettings",
313
374
  value: function generateFromSettings(settings) {
314
- var _this3 = this;
375
+ var _this4 = this;
315
376
  if (Array.isArray(settings)) {
316
377
  var populatedNulls = [];
317
378
  (0, _array.arrayEach)(settings, function (setting) {
318
- if (!_this3.validateSetting(setting)) {
379
+ if (!_this4.validateSetting(setting)) {
319
380
  return;
320
381
  }
321
- var highlight = _this3.hot._createCellCoords(setting.row, setting.col);
322
- var rangeEnd = _this3.hot._createCellCoords(setting.row + setting.rowspan - 1, setting.col + setting.colspan - 1);
323
- var mergeRange = _this3.hot._createCellRange(highlight, highlight, rangeEnd);
382
+ var highlight = _this4.hot._createCellCoords(setting.row, setting.col);
383
+ var rangeEnd = _this4.hot._createCellCoords(setting.row + setting.rowspan - 1, setting.col + setting.colspan - 1);
384
+ var mergeRange = _this4.hot._createCellRange(highlight, highlight, rangeEnd);
324
385
 
325
386
  // Merging without data population.
326
- _this3.mergeRange(mergeRange, true, true);
387
+ _this4.mergeRange(mergeRange, true, true);
327
388
  (0, _number.rangeEach)(setting.row, setting.row + setting.rowspan - 1, function (rowIndex) {
328
389
  (0, _number.rangeEach)(setting.col, setting.col + setting.colspan - 1, function (columnIndex) {
329
390
  // Not resetting a cell representing a merge area's value.
@@ -429,15 +490,17 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
429
490
  * @private
430
491
  * @param {CellRange} cellRange Cell range to merge.
431
492
  * @param {boolean} [auto=false] `true` if is called automatically, e.g. At initialization.
432
- * @param {boolean} [preventPopulation=false] `true`, if the method should not run `populateFromArray` at the end, but rather return its arguments.
433
- * @returns {Array|boolean} Returns an array of [row, column, dataUnderCollection] if preventPopulation is set to true. If the the merging process went successful, it returns `true`, otherwise - `false`.
493
+ * @param {boolean} [preventPopulation=false] `true`, if the method should not run `populateFromArray` at the end,
494
+ * but rather return its arguments.
495
+ * @returns {Array|boolean} Returns an array of [row, column, dataUnderCollection] if preventPopulation is set to
496
+ * true. If the the merging process went successful, it returns `true`, otherwise - `false`.
434
497
  * @fires Hooks#beforeMergeCells
435
498
  * @fires Hooks#afterMergeCells
436
499
  */
437
500
  }, {
438
501
  key: "mergeRange",
439
502
  value: function mergeRange(cellRange) {
440
- var _this4 = this;
503
+ var _this5 = this;
441
504
  var auto = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
442
505
  var preventPopulation = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
443
506
  var topStart = cellRange.getTopStartCorner();
@@ -461,9 +524,9 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
461
524
  clearedData[i] = [];
462
525
  }
463
526
  if (i === 0 && j === 0) {
464
- clearedValue = _this4.hot.getSourceDataAtCell(_this4.hot.toPhysicalRow(mergeParent.row), _this4.hot.toPhysicalColumn(mergeParent.col));
527
+ clearedValue = _this5.hot.getSourceDataAtCell(_this5.hot.toPhysicalRow(mergeParent.row), _this5.hot.toPhysicalColumn(mergeParent.col));
465
528
  } else {
466
- _this4.hot.setCellMeta(mergeParent.row + i, mergeParent.col + j, 'hidden', true);
529
+ _this5.hot.setCellMeta(mergeParent.row + i, mergeParent.col + j, 'hidden', true);
467
530
  }
468
531
  clearedData[i][j] = clearedValue;
469
532
  });
@@ -476,6 +539,9 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
476
539
  } else {
477
540
  this.hot.populateFromArray(mergeParent.row, mergeParent.col, clearedData, void 0, void 0, this.pluginName);
478
541
  }
542
+ if (!auto) {
543
+ this.ifChromeForceRepaint();
544
+ }
479
545
  this.hot.runHooks('afterMergeCells', cellRange, mergeParent, auto);
480
546
  return populationInfo;
481
547
  }
@@ -495,7 +561,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
495
561
  }, {
496
562
  key: "unmergeRange",
497
563
  value: function unmergeRange(cellRange) {
498
- var _this5 = this;
564
+ var _this6 = this;
499
565
  var auto = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
500
566
  var mergedCells = this.mergedCellsCollection.getWithinRange(cellRange);
501
567
  if (!mergedCells) {
@@ -503,13 +569,13 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
503
569
  }
504
570
  this.hot.runHooks('beforeUnmergeCells', cellRange, auto);
505
571
  (0, _array.arrayEach)(mergedCells, function (currentCollection) {
506
- _this5.mergedCellsCollection.remove(currentCollection.row, currentCollection.col);
572
+ _this6.mergedCellsCollection.remove(currentCollection.row, currentCollection.col);
507
573
  (0, _number.rangeEach)(0, currentCollection.rowspan - 1, function (i) {
508
574
  (0, _number.rangeEach)(0, currentCollection.colspan - 1, function (j) {
509
- _this5.hot.removeCellMeta(currentCollection.row + i, currentCollection.col + j, 'hidden');
575
+ _this6.hot.removeCellMeta(currentCollection.row + i, currentCollection.col + j, 'hidden');
510
576
  });
511
577
  });
512
- _this5.hot.removeCellMeta(currentCollection.row, currentCollection.col, 'spanned');
578
+ _this6.hot.removeCellMeta(currentCollection.row, currentCollection.col, 'spanned');
513
579
  });
514
580
  this.hot.runHooks('afterUnmergeCells', cellRange, auto);
515
581
  this.hot.render();
@@ -589,14 +655,14 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
589
655
  }, {
590
656
  key: "registerShortcuts",
591
657
  value: function registerShortcuts() {
592
- var _this6 = this;
658
+ var _this7 = this;
593
659
  var shortcutManager = this.hot.getShortcutManager();
594
660
  var gridContext = shortcutManager.getContext('grid');
595
661
  gridContext.addShortcut({
596
662
  keys: [['Control', 'm']],
597
663
  callback: function callback() {
598
- _this6.toggleMerge(_this6.hot.getSelectedRangeLast());
599
- _this6.hot.render();
664
+ _this7.toggleMerge(_this7.hot.getSelectedRangeLast());
665
+ _this7.hot.render();
600
666
  },
601
667
  runOnlyIf: function runOnlyIf(event) {
602
668
  return !event.altKey;
@@ -620,7 +686,8 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
620
686
  }
621
687
 
622
688
  /**
623
- * Modifies the information on whether the current selection contains multiple cells. The `afterIsMultipleSelection` hook callback.
689
+ * Modifies the information on whether the current selection contains multiple cells. The `afterIsMultipleSelection`
690
+ * hook callback.
624
691
  *
625
692
  * @private
626
693
  * @param {boolean} isMultiple Determines whether the current selection contains multiple cells.
@@ -716,7 +783,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
716
783
  }, {
717
784
  key: "onModifyTransformEnd",
718
785
  value: function onModifyTransformEnd(delta) {
719
- var _this7 = this;
786
+ var _this8 = this;
720
787
  var currentSelectionRange = this.hot.getSelectedRangeLast();
721
788
  var newDelta = (0, _object.clone)(delta);
722
789
  var newSelectionRange = this.selectionCalculations.getUpdatedSelectionRange(currentSelectionRange, delta);
@@ -726,7 +793,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
726
793
  tempDelta = (0, _object.clone)(newDelta);
727
794
  this.selectionCalculations.getUpdatedSelectionRange(currentSelectionRange, newDelta);
728
795
  (0, _array.arrayEach)(mergedCellsWithinRange, function (mergedCell) {
729
- _this7.selectionCalculations.snapDelta(newDelta, currentSelectionRange, mergedCell);
796
+ _this8.selectionCalculations.snapDelta(newDelta, currentSelectionRange, mergedCell);
730
797
  });
731
798
  } while (newDelta.row !== tempDelta.row || newDelta.col !== tempDelta.col);
732
799
  delta.row = newDelta.row;
@@ -844,7 +911,8 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
844
911
 
845
912
  /**
846
913
  * `beforeSetRangeEnd` hook callback.
847
- * While selecting cells with keyboard or mouse, make sure that rectangular area is expanded to the extent of the merged cell.
914
+ * While selecting cells with keyboard or mouse, make sure that rectangular area is expanded to the extent of the
915
+ * merged cell.
848
916
  *
849
917
  * Note: Please keep in mind that callback may modify both start and end range coordinates by the reference.
850
918
  *
@@ -1216,13 +1284,15 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
1216
1284
  }
1217
1285
 
1218
1286
  /**
1219
- * `afterModifyTransformStart` hook callback. Fixes a problem with navigating through merged cells at the edges of the table
1220
- * with the ENTER/SHIFT+ENTER/TAB/SHIFT+TAB keys.
1287
+ * `afterModifyTransformStart` hook callback. Fixes a problem with navigating through merged cells at the edges of
1288
+ * the table with the ENTER/SHIFT+ENTER/TAB/SHIFT+TAB keys.
1221
1289
  *
1222
1290
  * @private
1223
1291
  * @param {CellCoords} coords Coordinates of the to-be-selected cell.
1224
- * @param {number} rowTransformDir Row transformation direction (negative value = up, 0 = none, positive value = down).
1225
- * @param {number} colTransformDir Column transformation direction (negative value = up, 0 = none, positive value = down).
1292
+ * @param {number} rowTransformDir Row transformation direction (negative value = up, 0 = none, positive value =
1293
+ * down).
1294
+ * @param {number} colTransformDir Column transformation direction (negative value = up, 0 = none, positive value =
1295
+ * down).
1226
1296
  */
1227
1297
  }, {
1228
1298
  key: "onAfterModifyTransformStart",
@@ -1254,9 +1324,11 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
1254
1324
  * @private
1255
1325
  * @param {number} currentRow Visual row index of the currently processed cell.
1256
1326
  * @param {number} currentColumn Visual column index of the currently cell.
1257
- * @param {Array} cornersOfSelection Array of the current selection in a form of `[startRow, startColumn, endRow, endColumn]`.
1327
+ * @param {Array} cornersOfSelection Array of the current selection in a form of `[startRow, startColumn, endRow,
1328
+ * endColumn]`.
1258
1329
  * @param {number|undefined} layerLevel Number indicating which layer of selection is currently processed.
1259
- * @returns {string|undefined} A `String`, which will act as an additional `className` to be added to the currently processed cell.
1330
+ * @returns {string|undefined} A `String`, which will act as an additional `className` to be added to the currently
1331
+ * processed cell.
1260
1332
  */
1261
1333
  }, {
1262
1334
  key: "onAfterDrawSelection",
@@ -1272,7 +1344,8 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
1272
1344
  * `beforeRemoveCellClassNames` hook callback. Used to remove additional class name from all cells in the table.
1273
1345
  *
1274
1346
  * @private
1275
- * @returns {string[]} An `Array` of `String`s. Each of these strings will act like class names to be removed from all the cells in the table.
1347
+ * @returns {string[]} An `Array` of `String`s. Each of these strings will act like class names to be removed from
1348
+ * all the cells in the table.
1276
1349
  */
1277
1350
  }, {
1278
1351
  key: "onBeforeRemoveCellClassNames",