handsontable 12.3.1-next-42b5538-20230203 → 12.3.2-next-bcef33c-20230315

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/3rdparty/walkontable/src/calculator/viewportColumns.js +31 -9
  2. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +31 -9
  3. package/3rdparty/walkontable/src/calculator/viewportRows.js +21 -6
  4. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +21 -6
  5. package/3rdparty/walkontable/src/core/_base.js +19 -20
  6. package/3rdparty/walkontable/src/core/_base.mjs +19 -20
  7. package/3rdparty/walkontable/src/scroll.js +14 -3
  8. package/3rdparty/walkontable/src/scroll.mjs +14 -3
  9. package/3rdparty/walkontable/src/table.js +4 -2
  10. package/3rdparty/walkontable/src/table.mjs +4 -2
  11. package/3rdparty/walkontable/src/types.js +1 -0
  12. package/3rdparty/walkontable/src/types.mjs +1 -0
  13. package/3rdparty/walkontable/src/viewport.js +11 -14
  14. package/3rdparty/walkontable/src/viewport.mjs +11 -14
  15. package/CHANGELOG.md +7 -0
  16. package/base.js +2 -2
  17. package/base.mjs +2 -2
  18. package/core.js +32 -21
  19. package/core.mjs +32 -21
  20. package/dataMap/metaManager/metaSchema.js +9 -9
  21. package/dataMap/metaManager/metaSchema.mjs +9 -9
  22. package/dist/handsontable.css +2 -2
  23. package/dist/handsontable.full.css +2 -2
  24. package/dist/handsontable.full.js +4631 -3987
  25. package/dist/handsontable.full.min.css +8 -8
  26. package/dist/handsontable.full.min.js +241 -227
  27. package/dist/handsontable.js +2753 -2435
  28. package/dist/handsontable.min.css +7 -7
  29. package/dist/handsontable.min.js +3 -3
  30. package/dist/languages/all.js +1 -1
  31. package/dist/languages/all.min.js +1 -1
  32. package/dist/languages/zh-CN.js +1 -1
  33. package/dist/languages/zh-CN.min.js +1 -1
  34. package/editors/autocompleteEditor/autocompleteEditor.js +8 -9
  35. package/editors/autocompleteEditor/autocompleteEditor.mjs +8 -9
  36. package/helpers/mixed.js +2 -2
  37. package/helpers/mixed.mjs +2 -2
  38. package/i18n/languages/zh-CN.js +1 -1
  39. package/i18n/languages/zh-CN.mjs +3 -3
  40. package/languages/all.js +1 -1
  41. package/languages/index.js +1 -1
  42. package/languages/zh-CN.js +1 -1
  43. package/languages/zh-CN.mjs +3 -3
  44. package/package.json +12 -13
  45. package/plugins/base/base.js +9 -10
  46. package/plugins/base/base.mjs +9 -10
  47. package/plugins/collapsibleColumns/collapsibleColumns.js +24 -7
  48. package/plugins/collapsibleColumns/collapsibleColumns.mjs +24 -7
  49. package/plugins/copyPaste/copyPaste.js +92 -16
  50. package/plugins/copyPaste/copyPaste.mjs +92 -16
  51. package/plugins/copyPaste/copyableRanges.js +14 -8
  52. package/plugins/copyPaste/copyableRanges.mjs +14 -8
  53. package/plugins/customBorders/customBorders.js +6 -7
  54. package/plugins/customBorders/customBorders.mjs +6 -7
  55. package/plugins/filters/filters.js +0 -8
  56. package/plugins/filters/filters.mjs +0 -8
  57. package/plugins/formulas/formulas.js +34 -7
  58. package/plugins/formulas/formulas.mjs +34 -7
  59. package/plugins/hiddenColumns/hiddenColumns.js +12 -7
  60. package/plugins/hiddenColumns/hiddenColumns.mjs +12 -7
  61. package/plugins/hiddenRows/hiddenRows.js +12 -7
  62. package/plugins/hiddenRows/hiddenRows.mjs +12 -7
  63. package/plugins/nestedHeaders/nestedHeaders.js +26 -7
  64. package/plugins/nestedHeaders/nestedHeaders.mjs +26 -7
  65. package/plugins/nestedHeaders/stateManager/index.js +18 -0
  66. package/plugins/nestedHeaders/stateManager/index.mjs +18 -0
  67. package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -0
  68. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -0
  69. package/translations/changesObservable/observer.js +7 -0
  70. package/translations/changesObservable/observer.mjs +7 -0
  71. package/translations/maps/linkedPhysicalIndexToValueMap.js +6 -0
  72. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +6 -0
@@ -303,13 +303,10 @@ var Viewport = /*#__PURE__*/function () {
303
303
  height = this.getViewportHeight();
304
304
  }
305
305
  var pos = this.dataAccessObject.topScrollPosition - this.dataAccessObject.topParentOffset;
306
- if (pos < 0) {
307
- pos = 0;
308
- }
309
306
  var fixedRowsTop = wtSettings.getSetting('fixedRowsTop');
310
307
  var fixedRowsBottom = wtSettings.getSetting('fixedRowsBottom');
311
308
  var totalRows = wtSettings.getSetting('totalRows');
312
- if (fixedRowsTop) {
309
+ if (fixedRowsTop && pos >= 0) {
313
310
  fixedRowsHeight = this.dataAccessObject.topOverlay.sumCellSizes(0, fixedRowsTop);
314
311
  pos += fixedRowsHeight;
315
312
  height -= fixedRowsHeight;
@@ -354,11 +351,8 @@ var Viewport = /*#__PURE__*/function () {
354
351
  var width = this.getViewportWidth();
355
352
  var pos = Math.abs(this.dataAccessObject.inlineStartScrollPosition) - this.dataAccessObject.inlineStartParentOffset;
356
353
  this.columnHeaderHeight = NaN;
357
- if (pos < 0) {
358
- pos = 0;
359
- }
360
354
  var fixedColumnsStart = wtSettings.getSetting('fixedColumnsStart');
361
- if (fixedColumnsStart) {
355
+ if (fixedColumnsStart && pos >= 0) {
362
356
  var fixedColumnsWidth = this.dataAccessObject.inlineStartOverlay.sumCellSizes(0, fixedColumnsStart);
363
357
  pos += fixedColumnsWidth;
364
358
  width -= fixedColumnsWidth;
@@ -368,7 +362,7 @@ var Viewport = /*#__PURE__*/function () {
368
362
  }
369
363
  return new _calculator.ViewportColumnsCalculator({
370
364
  viewportSize: width,
371
- scrollOffset: Math.abs(pos),
365
+ scrollOffset: pos,
372
366
  totalItems: wtSettings.getSetting('totalColumns'),
373
367
  itemSizeFn: function itemSizeFn(sourceCol) {
374
368
  return wtTable.getColumnWidth(sourceCol);
@@ -378,7 +372,8 @@ var Viewport = /*#__PURE__*/function () {
378
372
  stretchMode: wtSettings.getSetting('stretchH'),
379
373
  stretchingItemWidthFn: function stretchingItemWidthFn(stretchedWidth, column) {
380
374
  return wtSettings.getSetting('onBeforeStretchingColumnWidth', stretchedWidth, column);
381
- }
375
+ },
376
+ inlineStartOffset: this.dataAccessObject.inlineStartParentOffset
382
377
  });
383
378
  }
384
379
 
@@ -438,11 +433,12 @@ var Viewport = /*#__PURE__*/function () {
438
433
  return false;
439
434
  }
440
435
  var startRow = proposedRowsVisibleCalculator.startRow,
441
- endRow = proposedRowsVisibleCalculator.endRow;
436
+ endRow = proposedRowsVisibleCalculator.endRow,
437
+ isVisibleInTrimmingContainer = proposedRowsVisibleCalculator.isVisibleInTrimmingContainer;
442
438
 
443
439
  // if there are no fully visible rows at all, return false
444
440
  if (startRow === null && endRow === null) {
445
- return false;
441
+ return !isVisibleInTrimmingContainer;
446
442
  }
447
443
  var _this$rowsRenderCalcu = this.rowsRenderCalculator,
448
444
  renderedStartRow = _this$rowsRenderCalcu.startRow,
@@ -470,11 +466,12 @@ var Viewport = /*#__PURE__*/function () {
470
466
  return false;
471
467
  }
472
468
  var startColumn = proposedColumnsVisibleCalculator.startColumn,
473
- endColumn = proposedColumnsVisibleCalculator.endColumn;
469
+ endColumn = proposedColumnsVisibleCalculator.endColumn,
470
+ isVisibleInTrimmingContainer = proposedColumnsVisibleCalculator.isVisibleInTrimmingContainer;
474
471
 
475
472
  // if there are no fully visible columns at all, return false
476
473
  if (startColumn === null && endColumn === null) {
477
- return false;
474
+ return !isVisibleInTrimmingContainer;
478
475
  }
479
476
  var _this$columnsRenderCa = this.columnsRenderCalculator,
480
477
  renderedStartColumn = _this$columnsRenderCa.startColumn,
@@ -299,13 +299,10 @@ var Viewport = /*#__PURE__*/function () {
299
299
  height = this.getViewportHeight();
300
300
  }
301
301
  var pos = this.dataAccessObject.topScrollPosition - this.dataAccessObject.topParentOffset;
302
- if (pos < 0) {
303
- pos = 0;
304
- }
305
302
  var fixedRowsTop = wtSettings.getSetting('fixedRowsTop');
306
303
  var fixedRowsBottom = wtSettings.getSetting('fixedRowsBottom');
307
304
  var totalRows = wtSettings.getSetting('totalRows');
308
- if (fixedRowsTop) {
305
+ if (fixedRowsTop && pos >= 0) {
309
306
  fixedRowsHeight = this.dataAccessObject.topOverlay.sumCellSizes(0, fixedRowsTop);
310
307
  pos += fixedRowsHeight;
311
308
  height -= fixedRowsHeight;
@@ -350,11 +347,8 @@ var Viewport = /*#__PURE__*/function () {
350
347
  var width = this.getViewportWidth();
351
348
  var pos = Math.abs(this.dataAccessObject.inlineStartScrollPosition) - this.dataAccessObject.inlineStartParentOffset;
352
349
  this.columnHeaderHeight = NaN;
353
- if (pos < 0) {
354
- pos = 0;
355
- }
356
350
  var fixedColumnsStart = wtSettings.getSetting('fixedColumnsStart');
357
- if (fixedColumnsStart) {
351
+ if (fixedColumnsStart && pos >= 0) {
358
352
  var fixedColumnsWidth = this.dataAccessObject.inlineStartOverlay.sumCellSizes(0, fixedColumnsStart);
359
353
  pos += fixedColumnsWidth;
360
354
  width -= fixedColumnsWidth;
@@ -364,7 +358,7 @@ var Viewport = /*#__PURE__*/function () {
364
358
  }
365
359
  return new ViewportColumnsCalculator({
366
360
  viewportSize: width,
367
- scrollOffset: Math.abs(pos),
361
+ scrollOffset: pos,
368
362
  totalItems: wtSettings.getSetting('totalColumns'),
369
363
  itemSizeFn: function itemSizeFn(sourceCol) {
370
364
  return wtTable.getColumnWidth(sourceCol);
@@ -374,7 +368,8 @@ var Viewport = /*#__PURE__*/function () {
374
368
  stretchMode: wtSettings.getSetting('stretchH'),
375
369
  stretchingItemWidthFn: function stretchingItemWidthFn(stretchedWidth, column) {
376
370
  return wtSettings.getSetting('onBeforeStretchingColumnWidth', stretchedWidth, column);
377
- }
371
+ },
372
+ inlineStartOffset: this.dataAccessObject.inlineStartParentOffset
378
373
  });
379
374
  }
380
375
 
@@ -434,11 +429,12 @@ var Viewport = /*#__PURE__*/function () {
434
429
  return false;
435
430
  }
436
431
  var startRow = proposedRowsVisibleCalculator.startRow,
437
- endRow = proposedRowsVisibleCalculator.endRow;
432
+ endRow = proposedRowsVisibleCalculator.endRow,
433
+ isVisibleInTrimmingContainer = proposedRowsVisibleCalculator.isVisibleInTrimmingContainer;
438
434
 
439
435
  // if there are no fully visible rows at all, return false
440
436
  if (startRow === null && endRow === null) {
441
- return false;
437
+ return !isVisibleInTrimmingContainer;
442
438
  }
443
439
  var _this$rowsRenderCalcu = this.rowsRenderCalculator,
444
440
  renderedStartRow = _this$rowsRenderCalcu.startRow,
@@ -466,11 +462,12 @@ var Viewport = /*#__PURE__*/function () {
466
462
  return false;
467
463
  }
468
464
  var startColumn = proposedColumnsVisibleCalculator.startColumn,
469
- endColumn = proposedColumnsVisibleCalculator.endColumn;
465
+ endColumn = proposedColumnsVisibleCalculator.endColumn,
466
+ isVisibleInTrimmingContainer = proposedColumnsVisibleCalculator.isVisibleInTrimmingContainer;
470
467
 
471
468
  // if there are no fully visible columns at all, return false
472
469
  if (startColumn === null && endColumn === null) {
473
- return false;
470
+ return !isVisibleInTrimmingContainer;
474
471
  }
475
472
  var _this$columnsRenderCa = this.columnsRenderCalculator,
476
473
  renderedStartColumn = _this$columnsRenderCa.startColumn,
package/CHANGELOG.md CHANGED
@@ -9,6 +9,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  <!-- UNVERSIONED -->
11
11
 
12
+ ## [12.3.2] - 2023-03-22
13
+
14
+ ### Fixed
15
+ - Fixed a problem with the checkboxes from the filtering dropdown resetting their state after scrolling the table out of the viewport by preventing the table from triggering a 'full' render every time it was outside the viewport + Fixed an issue where clicking on a cell in some specific configurations of the RTL mode would scroll the table sideways. [#10206](https://github.com/handsontable/handsontable/pull/10206)
16
+ - Using `getDataAtCol` and `getDataAtProp` for dataset with large number of rows won't break the table [#9772](https://github.com/handsontable/handsontable/issues/9772)
17
+ - React: Removed deprecated React method from the wrapper. [#10263](https://github.com/handsontable/handsontable/pull/10263)
18
+
12
19
  ## [12.3.1] - 2023-02-06
13
20
 
14
21
  ### Added
package/base.js CHANGED
@@ -46,8 +46,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
46
46
  Handsontable.CellCoords = _src.CellCoords;
47
47
  Handsontable.CellRange = _src.CellRange;
48
48
  Handsontable.packageName = 'handsontable';
49
- Handsontable.buildDate = "03/02/2023 09:08:27";
50
- Handsontable.version = "12.3.1-next-42b5538-20230203";
49
+ Handsontable.buildDate = "15/03/2023 11:33:58";
50
+ Handsontable.version = "12.3.2-next-bcef33c-20230315";
51
51
  Handsontable.languages = {
52
52
  dictionaryKeys: _registry.dictionaryKeys,
53
53
  getLanguageDictionary: _registry.getLanguageDictionary,
package/base.mjs CHANGED
@@ -35,8 +35,8 @@ Handsontable.hooks = Hooks.getSingleton();
35
35
  Handsontable.CellCoords = CellCoords;
36
36
  Handsontable.CellRange = CellRange;
37
37
  Handsontable.packageName = 'handsontable';
38
- Handsontable.buildDate = "03/02/2023 09:08:41";
39
- Handsontable.version = "12.3.1-next-42b5538-20230203";
38
+ Handsontable.buildDate = "15/03/2023 11:34:14";
39
+ Handsontable.version = "12.3.2-next-bcef33c-20230315";
40
40
  Handsontable.languages = {
41
41
  dictionaryKeys: dictionaryKeys,
42
42
  getLanguageDictionary: getLanguageDictionary,
package/core.js CHANGED
@@ -2750,8 +2750,14 @@ function Core(rootElement, userSettings) {
2750
2750
  * @returns {Array} Array of cell values.
2751
2751
  */
2752
2752
  this.getDataAtCol = function (column) {
2753
- var _ref13;
2754
- return (_ref13 = []).concat.apply(_ref13, _toConsumableArray(datamap.getRange(instance._createCellCoords(0, column), instance._createCellCoords(tableMeta.data.length - 1, column), datamap.DESTINATION_RENDERER)));
2753
+ var columnData = [];
2754
+ var dataByRows = datamap.getRange(instance._createCellCoords(0, column), instance._createCellCoords(tableMeta.data.length - 1, column), datamap.DESTINATION_RENDERER);
2755
+ for (var i = 0; i < dataByRows.length; i += 1) {
2756
+ for (var j = 0; j < dataByRows[i].length; j += 1) {
2757
+ columnData.push(dataByRows[i][j]);
2758
+ }
2759
+ }
2760
+ return columnData;
2755
2761
  };
2756
2762
 
2757
2763
  /**
@@ -2765,9 +2771,14 @@ function Core(rootElement, userSettings) {
2765
2771
  */
2766
2772
  // TODO: Getting data from `datamap` should work on visual indexes.
2767
2773
  this.getDataAtProp = function (prop) {
2768
- var _ref14;
2769
- var range = datamap.getRange(instance._createCellCoords(0, datamap.propToCol(prop)), instance._createCellCoords(tableMeta.data.length - 1, datamap.propToCol(prop)), datamap.DESTINATION_RENDERER);
2770
- return (_ref14 = []).concat.apply(_ref14, _toConsumableArray(range));
2774
+ var columnData = [];
2775
+ var dataByRows = datamap.getRange(instance._createCellCoords(0, datamap.propToCol(prop)), instance._createCellCoords(tableMeta.data.length - 1, datamap.propToCol(prop)), datamap.DESTINATION_RENDERER);
2776
+ for (var i = 0; i < dataByRows.length; i += 1) {
2777
+ for (var j = 0; j < dataByRows[i].length; j += 1) {
2778
+ columnData.push(dataByRows[i][j]);
2779
+ }
2780
+ }
2781
+ return columnData;
2771
2782
  };
2772
2783
 
2773
2784
  /**
@@ -2852,21 +2863,21 @@ function Core(rootElement, userSettings) {
2852
2863
  var isThereAnySetSourceListener = this.hasHook('afterSetSourceDataAtCell');
2853
2864
  var changesForHook = [];
2854
2865
  if (isThereAnySetSourceListener) {
2855
- (0, _array.arrayEach)(input, function (_ref15) {
2856
- var _ref16 = _slicedToArray(_ref15, 3),
2857
- changeRow = _ref16[0],
2858
- changeProp = _ref16[1],
2859
- changeValue = _ref16[2];
2866
+ (0, _array.arrayEach)(input, function (_ref13) {
2867
+ var _ref14 = _slicedToArray(_ref13, 3),
2868
+ changeRow = _ref14[0],
2869
+ changeProp = _ref14[1],
2870
+ changeValue = _ref14[2];
2860
2871
  changesForHook.push([changeRow, changeProp, dataSource.getAtCell(changeRow, changeProp),
2861
2872
  // The previous value.
2862
2873
  changeValue]);
2863
2874
  });
2864
2875
  }
2865
- (0, _array.arrayEach)(input, function (_ref17) {
2866
- var _ref18 = _slicedToArray(_ref17, 3),
2867
- changeRow = _ref18[0],
2868
- changeProp = _ref18[1],
2869
- changeValue = _ref18[2];
2876
+ (0, _array.arrayEach)(input, function (_ref15) {
2877
+ var _ref16 = _slicedToArray(_ref15, 3),
2878
+ changeRow = _ref16[0],
2879
+ changeProp = _ref16[1],
2880
+ changeValue = _ref16[2];
2870
2881
  dataSource.setAtCell(changeRow, changeProp, changeValue);
2871
2882
  });
2872
2883
  if (isThereAnySetSourceListener) {
@@ -2985,9 +2996,9 @@ function Core(rootElement, userSettings) {
2985
2996
  * @fires Hooks#afterRemoveCellMeta
2986
2997
  */
2987
2998
  this.removeCellMeta = function (row, column, key) {
2988
- var _ref19 = [this.toPhysicalRow(row), this.toPhysicalColumn(column)],
2989
- physicalRow = _ref19[0],
2990
- physicalColumn = _ref19[1];
2999
+ var _ref17 = [this.toPhysicalRow(row), this.toPhysicalColumn(column)],
3000
+ physicalRow = _ref17[0],
3001
+ physicalColumn = _ref17[1];
2991
3002
  var cachedValue = metaManager.getCellMetaKeyValue(physicalRow, physicalColumn, key);
2992
3003
  var hookResult = instance.runHooks('beforeRemoveCellMeta', row, column, key, cachedValue);
2993
3004
  if (hookResult !== false) {
@@ -4067,9 +4078,9 @@ function Core(rootElement, userSettings) {
4067
4078
  instance.batchExecution(function () {
4068
4079
  instance.rowIndexMapper.unregisterAll();
4069
4080
  instance.columnIndexMapper.unregisterAll();
4070
- pluginsRegistry.getItems().forEach(function (_ref20) {
4071
- var _ref21 = _slicedToArray(_ref20, 2),
4072
- plugin = _ref21[1];
4081
+ pluginsRegistry.getItems().forEach(function (_ref18) {
4082
+ var _ref19 = _slicedToArray(_ref18, 2),
4083
+ plugin = _ref19[1];
4073
4084
  plugin.destroy();
4074
4085
  });
4075
4086
  pluginsRegistry.clear();
package/core.mjs CHANGED
@@ -2745,8 +2745,14 @@ export default function Core(rootElement, userSettings) {
2745
2745
  * @returns {Array} Array of cell values.
2746
2746
  */
2747
2747
  this.getDataAtCol = function (column) {
2748
- var _ref13;
2749
- return (_ref13 = []).concat.apply(_ref13, _toConsumableArray(datamap.getRange(instance._createCellCoords(0, column), instance._createCellCoords(tableMeta.data.length - 1, column), datamap.DESTINATION_RENDERER)));
2748
+ var columnData = [];
2749
+ var dataByRows = datamap.getRange(instance._createCellCoords(0, column), instance._createCellCoords(tableMeta.data.length - 1, column), datamap.DESTINATION_RENDERER);
2750
+ for (var i = 0; i < dataByRows.length; i += 1) {
2751
+ for (var j = 0; j < dataByRows[i].length; j += 1) {
2752
+ columnData.push(dataByRows[i][j]);
2753
+ }
2754
+ }
2755
+ return columnData;
2750
2756
  };
2751
2757
 
2752
2758
  /**
@@ -2760,9 +2766,14 @@ export default function Core(rootElement, userSettings) {
2760
2766
  */
2761
2767
  // TODO: Getting data from `datamap` should work on visual indexes.
2762
2768
  this.getDataAtProp = function (prop) {
2763
- var _ref14;
2764
- var range = datamap.getRange(instance._createCellCoords(0, datamap.propToCol(prop)), instance._createCellCoords(tableMeta.data.length - 1, datamap.propToCol(prop)), datamap.DESTINATION_RENDERER);
2765
- return (_ref14 = []).concat.apply(_ref14, _toConsumableArray(range));
2769
+ var columnData = [];
2770
+ var dataByRows = datamap.getRange(instance._createCellCoords(0, datamap.propToCol(prop)), instance._createCellCoords(tableMeta.data.length - 1, datamap.propToCol(prop)), datamap.DESTINATION_RENDERER);
2771
+ for (var i = 0; i < dataByRows.length; i += 1) {
2772
+ for (var j = 0; j < dataByRows[i].length; j += 1) {
2773
+ columnData.push(dataByRows[i][j]);
2774
+ }
2775
+ }
2776
+ return columnData;
2766
2777
  };
2767
2778
 
2768
2779
  /**
@@ -2847,21 +2858,21 @@ export default function Core(rootElement, userSettings) {
2847
2858
  var isThereAnySetSourceListener = this.hasHook('afterSetSourceDataAtCell');
2848
2859
  var changesForHook = [];
2849
2860
  if (isThereAnySetSourceListener) {
2850
- arrayEach(input, function (_ref15) {
2851
- var _ref16 = _slicedToArray(_ref15, 3),
2852
- changeRow = _ref16[0],
2853
- changeProp = _ref16[1],
2854
- changeValue = _ref16[2];
2861
+ arrayEach(input, function (_ref13) {
2862
+ var _ref14 = _slicedToArray(_ref13, 3),
2863
+ changeRow = _ref14[0],
2864
+ changeProp = _ref14[1],
2865
+ changeValue = _ref14[2];
2855
2866
  changesForHook.push([changeRow, changeProp, dataSource.getAtCell(changeRow, changeProp),
2856
2867
  // The previous value.
2857
2868
  changeValue]);
2858
2869
  });
2859
2870
  }
2860
- arrayEach(input, function (_ref17) {
2861
- var _ref18 = _slicedToArray(_ref17, 3),
2862
- changeRow = _ref18[0],
2863
- changeProp = _ref18[1],
2864
- changeValue = _ref18[2];
2871
+ arrayEach(input, function (_ref15) {
2872
+ var _ref16 = _slicedToArray(_ref15, 3),
2873
+ changeRow = _ref16[0],
2874
+ changeProp = _ref16[1],
2875
+ changeValue = _ref16[2];
2865
2876
  dataSource.setAtCell(changeRow, changeProp, changeValue);
2866
2877
  });
2867
2878
  if (isThereAnySetSourceListener) {
@@ -2980,9 +2991,9 @@ export default function Core(rootElement, userSettings) {
2980
2991
  * @fires Hooks#afterRemoveCellMeta
2981
2992
  */
2982
2993
  this.removeCellMeta = function (row, column, key) {
2983
- var _ref19 = [this.toPhysicalRow(row), this.toPhysicalColumn(column)],
2984
- physicalRow = _ref19[0],
2985
- physicalColumn = _ref19[1];
2994
+ var _ref17 = [this.toPhysicalRow(row), this.toPhysicalColumn(column)],
2995
+ physicalRow = _ref17[0],
2996
+ physicalColumn = _ref17[1];
2986
2997
  var cachedValue = metaManager.getCellMetaKeyValue(physicalRow, physicalColumn, key);
2987
2998
  var hookResult = instance.runHooks('beforeRemoveCellMeta', row, column, key, cachedValue);
2988
2999
  if (hookResult !== false) {
@@ -4062,9 +4073,9 @@ export default function Core(rootElement, userSettings) {
4062
4073
  instance.batchExecution(function () {
4063
4074
  instance.rowIndexMapper.unregisterAll();
4064
4075
  instance.columnIndexMapper.unregisterAll();
4065
- pluginsRegistry.getItems().forEach(function (_ref20) {
4066
- var _ref21 = _slicedToArray(_ref20, 2),
4067
- plugin = _ref21[1];
4076
+ pluginsRegistry.getItems().forEach(function (_ref18) {
4077
+ var _ref19 = _slicedToArray(_ref18, 2),
4078
+ plugin = _ref19[1];
4068
4079
  plugin.destroy();
4069
4080
  });
4070
4081
  pluginsRegistry.clear();
@@ -826,10 +826,10 @@ var _default = function _default() {
826
826
  *
827
827
  * | Option | Possible settings |
828
828
  * | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
829
- * | `indicator` | `true`: Display an arrow icon in the column header, to indicate a sortable column<br>`false`: Don't display the arrow icon in the column header |
829
+ * | `indicator` | `true`: Display the arrow icon in the column header, to indicate a sortable column<br>`false`: Don't display the arrow icon in the column header |
830
830
  * | `headerAction` | `true`: Enable clicking on the column header to sort the column<br>`false`: Disable clicking on the column header to sort the column |
831
831
  * | `sortEmptyCells` | `true`: Sort empty cells as well<br>`false`: Place empty cells at the end |
832
- * | `compareFunctionFactory` | A [custom compare function](@/guides/rows/row-sorting.md#custom-compare-functions) |
832
+ * | `compareFunctionFactory` | A [custom compare function](@/guides/rows/rows-sorting.md#add-a-custom-comparator) |
833
833
  *
834
834
  * If you set the `columnSorting` option to an object,
835
835
  * you can also sort individual columns at Handsontable's initialization.
@@ -842,8 +842,8 @@ var _default = function _default() {
842
842
  * | `sortOrder` | `'asc'` \| `'desc'` | The sorting order:<br>`'asc'`: ascending<br>`'desc'`: descending |
843
843
  *
844
844
  * Read more:
845
- * - [Row sorting](@/guides/rows/row-sorting.md)
846
- * - [Row sorting: Custom compare functions](@/guides/rows/row-sorting.md#custom-compare-functions)
845
+ * - [Rows sorting](@/guides/rows/rows-sorting.md)
846
+ * - [Rows sorting: Custom compare functions](@/guides/rows/rows-sorting.md#add-a-custom-comparator)
847
847
  * - [`multiColumnSorting`](#multiColumnSorting)
848
848
  *
849
849
  * @memberof Options#
@@ -860,7 +860,7 @@ var _default = function _default() {
860
860
  * columnSorting: {
861
861
  * // sort empty cells as well
862
862
  * sortEmptyCells: true,
863
- * // display an arrow icon in the column header
863
+ * // display the arrow icon in the column header
864
864
  * indicator: true,
865
865
  * // disable clicking on the column header to sort the column
866
866
  * headerAction: false,
@@ -3049,10 +3049,10 @@ var _default = function _default() {
3049
3049
  *
3050
3050
  * | Option | Possible settings |
3051
3051
  * | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
3052
- * | `indicator` | `true`: Display an arrow icon in the column header, to indicate a sortable column<br>`false`: Don't display the arrow icon in the column header |
3052
+ * | `indicator` | `true`: Display the arrow icon in the column header, to indicate a sortable column<br>`false`: Don't display the arrow icon in the column header |
3053
3053
  * | `headerAction` | `true`: Enable clicking on the column header to sort the column<br>`false`: Disable clicking on the column header to sort the column |
3054
3054
  * | `sortEmptyCells` | `true`: Sort empty cells as well<br>`false`: Place empty cells at the end |
3055
- * | `compareFunctionFactory` | A [custom compare function](@/guides/rows/row-sorting.md#custom-compare-functions) |
3055
+ * | `compareFunctionFactory` | A [custom compare function](@/guides/rows/rows-sorting.md#add-a-custom-comparator) |
3056
3056
  *
3057
3057
  * If you set the `multiColumnSorting` option to an object,
3058
3058
  * you can also sort individual columns at Handsontable's initialization.
@@ -3065,7 +3065,7 @@ var _default = function _default() {
3065
3065
  * | `sortOrder` | `'asc'` \| `'desc'` | The sorting order:<br>`'asc'`: ascending<br>`'desc'`: descending |
3066
3066
  *
3067
3067
  * Read more:
3068
- * - [Row sorting](@/guides/rows/row-sorting.md)
3068
+ * - [Rows sorting](@/guides/rows/rows-sorting.md)
3069
3069
  * - [`columnSorting`](#columnSorting)
3070
3070
  *
3071
3071
  * @memberof Options#
@@ -3082,7 +3082,7 @@ var _default = function _default() {
3082
3082
  * multiColumnSorting: {
3083
3083
  * // sort empty cells as well
3084
3084
  * sortEmptyCells: true,
3085
- * // display an arrow icon in the column header
3085
+ * // display the arrow icon in the column header
3086
3086
  * indicator: true,
3087
3087
  * // disable clicking on the column header to sort the column
3088
3088
  * headerAction: false,
@@ -822,10 +822,10 @@ export default (function () {
822
822
  *
823
823
  * | Option | Possible settings |
824
824
  * | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
825
- * | `indicator` | `true`: Display an arrow icon in the column header, to indicate a sortable column<br>`false`: Don't display the arrow icon in the column header |
825
+ * | `indicator` | `true`: Display the arrow icon in the column header, to indicate a sortable column<br>`false`: Don't display the arrow icon in the column header |
826
826
  * | `headerAction` | `true`: Enable clicking on the column header to sort the column<br>`false`: Disable clicking on the column header to sort the column |
827
827
  * | `sortEmptyCells` | `true`: Sort empty cells as well<br>`false`: Place empty cells at the end |
828
- * | `compareFunctionFactory` | A [custom compare function](@/guides/rows/row-sorting.md#custom-compare-functions) |
828
+ * | `compareFunctionFactory` | A [custom compare function](@/guides/rows/rows-sorting.md#add-a-custom-comparator) |
829
829
  *
830
830
  * If you set the `columnSorting` option to an object,
831
831
  * you can also sort individual columns at Handsontable's initialization.
@@ -838,8 +838,8 @@ export default (function () {
838
838
  * | `sortOrder` | `'asc'` \| `'desc'` | The sorting order:<br>`'asc'`: ascending<br>`'desc'`: descending |
839
839
  *
840
840
  * Read more:
841
- * - [Row sorting](@/guides/rows/row-sorting.md)
842
- * - [Row sorting: Custom compare functions](@/guides/rows/row-sorting.md#custom-compare-functions)
841
+ * - [Rows sorting](@/guides/rows/rows-sorting.md)
842
+ * - [Rows sorting: Custom compare functions](@/guides/rows/rows-sorting.md#add-a-custom-comparator)
843
843
  * - [`multiColumnSorting`](#multiColumnSorting)
844
844
  *
845
845
  * @memberof Options#
@@ -856,7 +856,7 @@ export default (function () {
856
856
  * columnSorting: {
857
857
  * // sort empty cells as well
858
858
  * sortEmptyCells: true,
859
- * // display an arrow icon in the column header
859
+ * // display the arrow icon in the column header
860
860
  * indicator: true,
861
861
  * // disable clicking on the column header to sort the column
862
862
  * headerAction: false,
@@ -3045,10 +3045,10 @@ export default (function () {
3045
3045
  *
3046
3046
  * | Option | Possible settings |
3047
3047
  * | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
3048
- * | `indicator` | `true`: Display an arrow icon in the column header, to indicate a sortable column<br>`false`: Don't display the arrow icon in the column header |
3048
+ * | `indicator` | `true`: Display the arrow icon in the column header, to indicate a sortable column<br>`false`: Don't display the arrow icon in the column header |
3049
3049
  * | `headerAction` | `true`: Enable clicking on the column header to sort the column<br>`false`: Disable clicking on the column header to sort the column |
3050
3050
  * | `sortEmptyCells` | `true`: Sort empty cells as well<br>`false`: Place empty cells at the end |
3051
- * | `compareFunctionFactory` | A [custom compare function](@/guides/rows/row-sorting.md#custom-compare-functions) |
3051
+ * | `compareFunctionFactory` | A [custom compare function](@/guides/rows/rows-sorting.md#add-a-custom-comparator) |
3052
3052
  *
3053
3053
  * If you set the `multiColumnSorting` option to an object,
3054
3054
  * you can also sort individual columns at Handsontable's initialization.
@@ -3061,7 +3061,7 @@ export default (function () {
3061
3061
  * | `sortOrder` | `'asc'` \| `'desc'` | The sorting order:<br>`'asc'`: ascending<br>`'desc'`: descending |
3062
3062
  *
3063
3063
  * Read more:
3064
- * - [Row sorting](@/guides/rows/row-sorting.md)
3064
+ * - [Rows sorting](@/guides/rows/rows-sorting.md)
3065
3065
  * - [`columnSorting`](#columnSorting)
3066
3066
  *
3067
3067
  * @memberof Options#
@@ -3078,7 +3078,7 @@ export default (function () {
3078
3078
  * multiColumnSorting: {
3079
3079
  * // sort empty cells as well
3080
3080
  * sortEmptyCells: true,
3081
- * // display an arrow icon in the column header
3081
+ * // display the arrow icon in the column header
3082
3082
  * indicator: true,
3083
3083
  * // disable clicking on the column header to sort the column
3084
3084
  * headerAction: false,
@@ -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: 12.3.1-next-42b5538-20230203
29
- * Release date: 06/02/2023 (built at 03/02/2023 09:08:52)
28
+ * Version: 12.3.2-next-bcef33c-20230315
29
+ * Release date: 22/03/2023 (built at 15/03/2023 11:34:29)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles
@@ -25,8 +25,8 @@
25
25
  * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
26
26
  * USE OR INABILITY TO USE THIS SOFTWARE.
27
27
  *
28
- * Version: 12.3.1-next-42b5538-20230203
29
- * Release date: 06/02/2023 (built at 03/02/2023 09:08:52)
28
+ * Version: 12.3.2-next-bcef33c-20230315
29
+ * Release date: 22/03/2023 (built at 15/03/2023 11:34:29)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles