handsontable 0.0.0-next-b66c79f-20230713 → 0.0.0-next-85c3085-20230713

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (133) hide show
  1. package/3rdparty/walkontable/src/cell/coords.js +37 -22
  2. package/3rdparty/walkontable/src/cell/coords.mjs +37 -22
  3. package/3rdparty/walkontable/src/cell/range.js +54 -39
  4. package/3rdparty/walkontable/src/cell/range.mjs +54 -39
  5. package/3rdparty/walkontable/src/core/_base.js +33 -31
  6. package/3rdparty/walkontable/src/core/_base.mjs +33 -31
  7. package/3rdparty/walkontable/src/core/clone.js +6 -3
  8. package/3rdparty/walkontable/src/core/clone.mjs +6 -3
  9. package/3rdparty/walkontable/src/event.js +2 -1
  10. package/3rdparty/walkontable/src/event.mjs +2 -1
  11. package/3rdparty/walkontable/src/overlay/_base.js +10 -8
  12. package/3rdparty/walkontable/src/overlay/_base.mjs +10 -8
  13. package/3rdparty/walkontable/src/overlay/bottom.js +10 -8
  14. package/3rdparty/walkontable/src/overlay/bottom.mjs +10 -8
  15. package/3rdparty/walkontable/src/overlay/inlineStart.js +1 -1
  16. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +1 -1
  17. package/3rdparty/walkontable/src/overlay/top.js +11 -9
  18. package/3rdparty/walkontable/src/overlay/top.mjs +11 -9
  19. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +16 -13
  20. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +16 -13
  21. package/3rdparty/walkontable/src/overlays.js +75 -80
  22. package/3rdparty/walkontable/src/overlays.mjs +75 -80
  23. package/3rdparty/walkontable/src/scroll.js +27 -24
  24. package/3rdparty/walkontable/src/scroll.mjs +27 -24
  25. package/3rdparty/walkontable/src/settings.js +18 -17
  26. package/3rdparty/walkontable/src/settings.mjs +18 -17
  27. package/3rdparty/walkontable/src/table.js +42 -37
  28. package/3rdparty/walkontable/src/table.mjs +42 -37
  29. package/base.js +2 -2
  30. package/base.mjs +2 -2
  31. package/core.js +8 -8
  32. package/core.mjs +8 -8
  33. package/dataMap/metaManager/metaLayers/cellMeta.js +2 -1
  34. package/dataMap/metaManager/metaLayers/cellMeta.mjs +2 -1
  35. package/dataMap/metaManager/metaLayers/globalMeta.js +1 -1
  36. package/dataMap/metaManager/metaLayers/globalMeta.mjs +1 -1
  37. package/dataMap/metaManager/mods/dynamicCellMeta.js +3 -2
  38. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +3 -2
  39. package/dataMap/metaManager/utils.js +4 -2
  40. package/dataMap/metaManager/utils.mjs +4 -2
  41. package/dist/handsontable.css +2 -2
  42. package/dist/handsontable.full.css +2 -2
  43. package/dist/handsontable.full.js +3247 -2847
  44. package/dist/handsontable.full.min.css +2 -2
  45. package/dist/handsontable.full.min.js +17 -17
  46. package/dist/handsontable.js +3249 -2849
  47. package/dist/handsontable.min.css +2 -2
  48. package/dist/handsontable.min.js +17 -17
  49. package/editors/autocompleteEditor/autocompleteEditor.js +70 -67
  50. package/editors/autocompleteEditor/autocompleteEditor.mjs +70 -67
  51. package/editors/baseEditor/baseEditor.js +1 -1
  52. package/editors/baseEditor/baseEditor.mjs +1 -1
  53. package/editors/dateEditor/dateEditor.js +2 -1
  54. package/editors/dateEditor/dateEditor.mjs +2 -1
  55. package/helpers/mixed.js +1 -1
  56. package/helpers/mixed.mjs +1 -1
  57. package/helpers/object.js +1 -0
  58. package/helpers/object.mjs +1 -0
  59. package/index.js +5 -5
  60. package/index.mjs +5 -5
  61. package/package.json +1 -1
  62. package/plugins/autoColumnSize/autoColumnSize.js +4 -1
  63. package/plugins/autoColumnSize/autoColumnSize.mjs +4 -1
  64. package/plugins/collapsibleColumns/collapsibleColumns.js +54 -38
  65. package/plugins/collapsibleColumns/collapsibleColumns.mjs +54 -38
  66. package/plugins/columnSorting/columnSorting.js +2 -1
  67. package/plugins/columnSorting/columnSorting.mjs +2 -1
  68. package/plugins/columnSorting/columnStatesManager.js +2 -1
  69. package/plugins/columnSorting/columnStatesManager.mjs +2 -1
  70. package/plugins/comments/comments.js +2 -2
  71. package/plugins/comments/comments.mjs +2 -2
  72. package/plugins/copyPaste/copyPaste.js +6 -4
  73. package/plugins/copyPaste/copyPaste.mjs +6 -4
  74. package/plugins/customBorders/customBorders.js +13 -9
  75. package/plugins/customBorders/customBorders.mjs +13 -9
  76. package/plugins/customBorders/utils.js +3 -3
  77. package/plugins/customBorders/utils.mjs +3 -3
  78. package/plugins/filters/conditionCollection.js +6 -5
  79. package/plugins/filters/conditionCollection.mjs +6 -5
  80. package/plugins/filters/filters.js +13 -7
  81. package/plugins/filters/filters.mjs +13 -7
  82. package/plugins/formulas/engine/register.js +3 -3
  83. package/plugins/formulas/engine/register.mjs +3 -3
  84. package/plugins/formulas/engine/settings.js +6 -3
  85. package/plugins/formulas/engine/settings.mjs +6 -3
  86. package/plugins/formulas/formulas.js +151 -143
  87. package/plugins/formulas/formulas.mjs +151 -143
  88. package/plugins/formulas/indexSyncer/axisSyncer.js +115 -79
  89. package/plugins/formulas/indexSyncer/axisSyncer.mjs +115 -79
  90. package/plugins/formulas/indexSyncer/index.js +100 -64
  91. package/plugins/formulas/indexSyncer/index.mjs +100 -64
  92. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +2 -2
  93. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -2
  94. package/plugins/hiddenColumns/hiddenColumns.js +51 -34
  95. package/plugins/hiddenColumns/hiddenColumns.mjs +51 -34
  96. package/plugins/hiddenRows/contextMenuItem/showRow.js +2 -2
  97. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -2
  98. package/plugins/hiddenRows/hiddenRows.js +50 -33
  99. package/plugins/hiddenRows/hiddenRows.mjs +50 -33
  100. package/plugins/manualRowResize/manualRowResize.js +2 -1
  101. package/plugins/manualRowResize/manualRowResize.mjs +2 -1
  102. package/plugins/mergeCells/mergeCells.js +1 -1
  103. package/plugins/mergeCells/mergeCells.mjs +1 -1
  104. package/plugins/nestedHeaders/nestedHeaders.js +88 -67
  105. package/plugins/nestedHeaders/nestedHeaders.mjs +87 -66
  106. package/plugins/nestedHeaders/stateManager/headersTree.js +58 -38
  107. package/plugins/nestedHeaders/stateManager/headersTree.mjs +58 -38
  108. package/plugins/nestedHeaders/stateManager/index.js +70 -49
  109. package/plugins/nestedHeaders/stateManager/index.mjs +68 -47
  110. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +1 -1
  111. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +1 -1
  112. package/plugins/nestedHeaders/stateManager/sourceSettings.js +57 -37
  113. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +57 -37
  114. package/plugins/nestedHeaders/utils/ghostTable.js +39 -35
  115. package/plugins/nestedHeaders/utils/ghostTable.mjs +39 -35
  116. package/plugins/nestedRows/data/dataManager.js +4 -2
  117. package/plugins/nestedRows/data/dataManager.mjs +4 -2
  118. package/plugins/persistentState/storage.js +1 -0
  119. package/plugins/persistentState/storage.mjs +1 -0
  120. package/plugins/undoRedo/undoRedo.js +2 -1
  121. package/plugins/undoRedo/undoRedo.mjs +2 -1
  122. package/selection/highlight/visualSelection.js +10 -6
  123. package/selection/highlight/visualSelection.mjs +10 -6
  124. package/tableView.js +98 -80
  125. package/tableView.mjs +98 -80
  126. package/translations/changesObservable/observable.js +82 -54
  127. package/translations/changesObservable/observable.mjs +82 -54
  128. package/translations/changesObservable/observer.js +24 -11
  129. package/translations/changesObservable/observer.mjs +24 -11
  130. package/translations/maps/linkedPhysicalIndexToValueMap.js +14 -8
  131. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +14 -8
  132. package/utils/dataStructures/tree.js +21 -18
  133. package/utils/dataStructures/tree.mjs +21 -18
@@ -1,13 +1,21 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.error.cause.js");
3
4
  exports.__esModule = true;
4
5
  require("core-js/modules/es.array.push.js");
5
6
  var _array = require("../../../helpers/array");
6
- var _sourceSettings = _interopRequireDefault(require("./sourceSettings"));
7
- var _headersTree = _interopRequireDefault(require("./headersTree"));
7
+ var _sourceSettings2 = _interopRequireDefault(require("./sourceSettings"));
8
+ var _headersTree2 = _interopRequireDefault(require("./headersTree"));
8
9
  var _nodeModifiers = require("./nodeModifiers");
9
10
  var _matrixGenerator = require("./matrixGenerator");
10
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
13
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
14
+ function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
15
+ function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
16
+ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
17
+ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
18
+ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
11
19
  /**
12
20
  * The state manager is a source of truth for nested headers configuration.
13
21
  * The state generation process is divided into three stages.
@@ -36,29 +44,42 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
36
44
  *
37
45
  * @class StateManager
38
46
  */
47
+ var _sourceSettings = /*#__PURE__*/new WeakMap();
48
+ var _headersTree = /*#__PURE__*/new WeakMap();
49
+ var _stateMatrix = /*#__PURE__*/new WeakMap();
39
50
  class StateManager {
40
- /**
41
- * The instance of the source settings class.
42
- *
43
- * @private
44
- * @type {SourceSettings}
45
- */
46
- #sourceSettings = new _sourceSettings.default();
47
- /**
48
- * The instance of the headers tree. The tree is generated after setting new configuration data.
49
- *
50
- * @private
51
- * @type {HeadersTree}
52
- */
53
- #headersTree = new _headersTree.default(this.#sourceSettings);
54
- /**
55
- * Cached matrix which is generated from the tree structure.
56
- *
57
- * @private
58
- * @type {Array[]}
59
- */
60
- #stateMatrix = [[]];
61
-
51
+ constructor() {
52
+ /**
53
+ * The instance of the source settings class.
54
+ *
55
+ * @private
56
+ * @type {SourceSettings}
57
+ */
58
+ _classPrivateFieldInitSpec(this, _sourceSettings, {
59
+ writable: true,
60
+ value: new _sourceSettings2.default()
61
+ });
62
+ /**
63
+ * The instance of the headers tree. The tree is generated after setting new configuration data.
64
+ *
65
+ * @private
66
+ * @type {HeadersTree}
67
+ */
68
+ _classPrivateFieldInitSpec(this, _headersTree, {
69
+ writable: true,
70
+ value: new _headersTree2.default(_classPrivateFieldGet(this, _sourceSettings))
71
+ });
72
+ /**
73
+ * Cached matrix which is generated from the tree structure.
74
+ *
75
+ * @private
76
+ * @type {Array[]}
77
+ */
78
+ _classPrivateFieldInitSpec(this, _stateMatrix, {
79
+ writable: true,
80
+ value: [[]]
81
+ });
82
+ }
62
83
  /**
63
84
  * Sets a new state for the nested headers plugin based on settings passed
64
85
  * directly to the plugin.
@@ -67,16 +88,16 @@ class StateManager {
67
88
  * @returns {boolean} Returns `true` if the settings are processed correctly, `false` otherwise.
68
89
  */
69
90
  setState(nestedHeadersSettings) {
70
- this.#sourceSettings.setData(nestedHeadersSettings);
91
+ _classPrivateFieldGet(this, _sourceSettings).setData(nestedHeadersSettings);
71
92
  let hasError = false;
72
93
  try {
73
- this.#headersTree.buildTree();
94
+ _classPrivateFieldGet(this, _headersTree).buildTree();
74
95
  } catch (ex) {
75
- this.#headersTree.clear();
76
- this.#sourceSettings.clear();
96
+ _classPrivateFieldGet(this, _headersTree).clear();
97
+ _classPrivateFieldGet(this, _sourceSettings).clear();
77
98
  hasError = true;
78
99
  }
79
- this.#stateMatrix = (0, _matrixGenerator.generateMatrix)(this.#headersTree.getRoots());
100
+ _classPrivateFieldSet(this, _stateMatrix, (0, _matrixGenerator.generateMatrix)(_classPrivateFieldGet(this, _headersTree).getRoots()));
80
101
  return hasError;
81
102
  }
82
103
 
@@ -87,7 +108,7 @@ class StateManager {
87
108
  * @param {number} columnsCount The number of columns to limit to.
88
109
  */
89
110
  setColumnsLimit(columnsCount) {
90
- this.#sourceSettings.setColumnsLimit(columnsCount);
111
+ _classPrivateFieldGet(this, _sourceSettings).setColumnsLimit(columnsCount);
91
112
  }
92
113
 
93
114
  /**
@@ -111,9 +132,9 @@ class StateManager {
111
132
  ...rest
112
133
  };
113
134
  });
114
- this.#sourceSettings.mergeWith(transformedSettings);
115
- this.#headersTree.buildTree();
116
- this.#stateMatrix = (0, _matrixGenerator.generateMatrix)(this.#headersTree.getRoots());
135
+ _classPrivateFieldGet(this, _sourceSettings).mergeWith(transformedSettings);
136
+ _classPrivateFieldGet(this, _headersTree).buildTree();
137
+ _classPrivateFieldSet(this, _stateMatrix, (0, _matrixGenerator.generateMatrix)(_classPrivateFieldGet(this, _headersTree).getRoots()));
117
138
  }
118
139
 
119
140
  /**
@@ -128,9 +149,9 @@ class StateManager {
128
149
  * header settings.
129
150
  */
130
151
  mapState(callback) {
131
- this.#sourceSettings.map(callback);
132
- this.#headersTree.buildTree();
133
- this.#stateMatrix = (0, _matrixGenerator.generateMatrix)(this.#headersTree.getRoots());
152
+ _classPrivateFieldGet(this, _sourceSettings).map(callback);
153
+ _classPrivateFieldGet(this, _headersTree).buildTree();
154
+ _classPrivateFieldSet(this, _stateMatrix, (0, _matrixGenerator.generateMatrix)(_classPrivateFieldGet(this, _headersTree).getRoots()));
134
155
  }
135
156
 
136
157
  /**
@@ -143,7 +164,7 @@ class StateManager {
143
164
  * @returns {Array}
144
165
  */
145
166
  mapNodes(callback) {
146
- return (0, _array.arrayReduce)(this.#headersTree.getRoots(), (acc, rootNode) => {
167
+ return (0, _array.arrayReduce)(_classPrivateFieldGet(this, _headersTree).getRoots(), (acc, rootNode) => {
147
168
  rootNode.walkDown(node => {
148
169
  const result = callback(node.data);
149
170
  if (result !== void 0) {
@@ -168,13 +189,13 @@ class StateManager {
168
189
  if (headerLevel < 0) {
169
190
  headerLevel = this.rowCoordsToLevel(headerLevel);
170
191
  }
171
- const nodeToProcess = this.#headersTree.getNode(headerLevel, columnIndex);
192
+ const nodeToProcess = _classPrivateFieldGet(this, _headersTree).getNode(headerLevel, columnIndex);
172
193
  let actionResult;
173
194
  if (nodeToProcess) {
174
195
  actionResult = (0, _nodeModifiers.triggerNodeModification)(action, nodeToProcess, columnIndex);
175
196
 
176
197
  // TODO (perf-tip): Trigger matrix generation once after multiple node modifications.
177
- this.#stateMatrix = (0, _matrixGenerator.generateMatrix)(this.#headersTree.getRoots());
198
+ _classPrivateFieldSet(this, _stateMatrix, (0, _matrixGenerator.generateMatrix)(_classPrivateFieldGet(this, _headersTree).getRoots()));
178
199
  }
179
200
  return actionResult;
180
201
  }
@@ -276,14 +297,14 @@ class StateManager {
276
297
  * @returns {object|null}
277
298
  */
278
299
  getHeaderSettings(headerLevel, columnIndex) {
279
- var _this$stateMatrix$hea;
300
+ var _classPrivateFieldGet2, _classPrivateFieldGet3;
280
301
  if (headerLevel < 0) {
281
302
  headerLevel = this.rowCoordsToLevel(headerLevel);
282
303
  }
283
304
  if (headerLevel === null || headerLevel >= this.getLayersCount()) {
284
305
  return null;
285
306
  }
286
- return (_this$stateMatrix$hea = this.#stateMatrix[headerLevel]?.[columnIndex]) != null ? _this$stateMatrix$hea : null;
307
+ return (_classPrivateFieldGet2 = (_classPrivateFieldGet3 = _classPrivateFieldGet(this, _stateMatrix)[headerLevel]) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3[columnIndex]) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : null;
287
308
  }
288
309
 
289
310
  /**
@@ -302,7 +323,7 @@ class StateManager {
302
323
  if (headerLevel === null || headerLevel >= this.getLayersCount()) {
303
324
  return null;
304
325
  }
305
- const node = this.#headersTree.getNode(headerLevel, columnIndex);
326
+ const node = _classPrivateFieldGet(this, _headersTree).getNode(headerLevel, columnIndex);
306
327
  if (!node) {
307
328
  return null;
308
329
  }
@@ -324,7 +345,7 @@ class StateManager {
324
345
  var _this$getHeaderSettin;
325
346
  const {
326
347
  isRoot
327
- } = (_this$getHeaderSettin = this.getHeaderSettings(headerLevel, columnIndex)) != null ? _this$getHeaderSettin : {
348
+ } = (_this$getHeaderSettin = this.getHeaderSettings(headerLevel, columnIndex)) !== null && _this$getHeaderSettin !== void 0 ? _this$getHeaderSettin : {
328
349
  isRoot: true
329
350
  };
330
351
  if (isRoot) {
@@ -335,7 +356,7 @@ class StateManager {
335
356
  var _this$getHeaderSettin2;
336
357
  const {
337
358
  isRoot: isRootNode
338
- } = (_this$getHeaderSettin2 = this.getHeaderSettings(headerLevel, stepBackColumn)) != null ? _this$getHeaderSettin2 : {
359
+ } = (_this$getHeaderSettin2 = this.getHeaderSettings(headerLevel, stepBackColumn)) !== null && _this$getHeaderSettin2 !== void 0 ? _this$getHeaderSettin2 : {
339
360
  isRoot: true
340
361
  };
341
362
  if (isRootNode) {
@@ -352,7 +373,7 @@ class StateManager {
352
373
  * @returns {number}
353
374
  */
354
375
  getLayersCount() {
355
- return this.#sourceSettings.getLayersCount();
376
+ return _classPrivateFieldGet(this, _sourceSettings).getLayersCount();
356
377
  }
357
378
 
358
379
  /**
@@ -361,16 +382,16 @@ class StateManager {
361
382
  * @returns {number}
362
383
  */
363
384
  getColumnsCount() {
364
- return this.#sourceSettings.getColumnsCount();
385
+ return _classPrivateFieldGet(this, _sourceSettings).getColumnsCount();
365
386
  }
366
387
 
367
388
  /**
368
389
  * Clears the column state manager to the initial state.
369
390
  */
370
391
  clear() {
371
- this.#stateMatrix = [];
372
- this.#sourceSettings.clear();
373
- this.#headersTree.clear();
392
+ _classPrivateFieldSet(this, _stateMatrix, []);
393
+ _classPrivateFieldGet(this, _sourceSettings).clear();
394
+ _classPrivateFieldGet(this, _headersTree).clear();
374
395
  }
375
396
  }
376
397
  exports.default = StateManager;
@@ -1,4 +1,12 @@
1
1
  import "core-js/modules/es.array.push.js";
2
+ import "core-js/modules/es.error.cause.js";
3
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
4
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
5
+ function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
6
+ function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
7
+ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
8
+ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
9
+ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
2
10
  import { arrayMap, arrayReduce } from "../../../helpers/array.mjs";
3
11
  import SourceSettings from "./sourceSettings.mjs";
4
12
  import HeadersTree from "./headersTree.mjs";
@@ -32,29 +40,42 @@ import { generateMatrix } from "./matrixGenerator.mjs";
32
40
  *
33
41
  * @class StateManager
34
42
  */
43
+ var _sourceSettings = /*#__PURE__*/new WeakMap();
44
+ var _headersTree = /*#__PURE__*/new WeakMap();
45
+ var _stateMatrix = /*#__PURE__*/new WeakMap();
35
46
  export default class StateManager {
36
- /**
37
- * The instance of the source settings class.
38
- *
39
- * @private
40
- * @type {SourceSettings}
41
- */
42
- #sourceSettings = new SourceSettings();
43
- /**
44
- * The instance of the headers tree. The tree is generated after setting new configuration data.
45
- *
46
- * @private
47
- * @type {HeadersTree}
48
- */
49
- #headersTree = new HeadersTree(this.#sourceSettings);
50
- /**
51
- * Cached matrix which is generated from the tree structure.
52
- *
53
- * @private
54
- * @type {Array[]}
55
- */
56
- #stateMatrix = [[]];
57
-
47
+ constructor() {
48
+ /**
49
+ * The instance of the source settings class.
50
+ *
51
+ * @private
52
+ * @type {SourceSettings}
53
+ */
54
+ _classPrivateFieldInitSpec(this, _sourceSettings, {
55
+ writable: true,
56
+ value: new SourceSettings()
57
+ });
58
+ /**
59
+ * The instance of the headers tree. The tree is generated after setting new configuration data.
60
+ *
61
+ * @private
62
+ * @type {HeadersTree}
63
+ */
64
+ _classPrivateFieldInitSpec(this, _headersTree, {
65
+ writable: true,
66
+ value: new HeadersTree(_classPrivateFieldGet(this, _sourceSettings))
67
+ });
68
+ /**
69
+ * Cached matrix which is generated from the tree structure.
70
+ *
71
+ * @private
72
+ * @type {Array[]}
73
+ */
74
+ _classPrivateFieldInitSpec(this, _stateMatrix, {
75
+ writable: true,
76
+ value: [[]]
77
+ });
78
+ }
58
79
  /**
59
80
  * Sets a new state for the nested headers plugin based on settings passed
60
81
  * directly to the plugin.
@@ -63,16 +84,16 @@ export default class StateManager {
63
84
  * @returns {boolean} Returns `true` if the settings are processed correctly, `false` otherwise.
64
85
  */
65
86
  setState(nestedHeadersSettings) {
66
- this.#sourceSettings.setData(nestedHeadersSettings);
87
+ _classPrivateFieldGet(this, _sourceSettings).setData(nestedHeadersSettings);
67
88
  let hasError = false;
68
89
  try {
69
- this.#headersTree.buildTree();
90
+ _classPrivateFieldGet(this, _headersTree).buildTree();
70
91
  } catch (ex) {
71
- this.#headersTree.clear();
72
- this.#sourceSettings.clear();
92
+ _classPrivateFieldGet(this, _headersTree).clear();
93
+ _classPrivateFieldGet(this, _sourceSettings).clear();
73
94
  hasError = true;
74
95
  }
75
- this.#stateMatrix = generateMatrix(this.#headersTree.getRoots());
96
+ _classPrivateFieldSet(this, _stateMatrix, generateMatrix(_classPrivateFieldGet(this, _headersTree).getRoots()));
76
97
  return hasError;
77
98
  }
78
99
 
@@ -83,7 +104,7 @@ export default class StateManager {
83
104
  * @param {number} columnsCount The number of columns to limit to.
84
105
  */
85
106
  setColumnsLimit(columnsCount) {
86
- this.#sourceSettings.setColumnsLimit(columnsCount);
107
+ _classPrivateFieldGet(this, _sourceSettings).setColumnsLimit(columnsCount);
87
108
  }
88
109
 
89
110
  /**
@@ -107,9 +128,9 @@ export default class StateManager {
107
128
  ...rest
108
129
  };
109
130
  });
110
- this.#sourceSettings.mergeWith(transformedSettings);
111
- this.#headersTree.buildTree();
112
- this.#stateMatrix = generateMatrix(this.#headersTree.getRoots());
131
+ _classPrivateFieldGet(this, _sourceSettings).mergeWith(transformedSettings);
132
+ _classPrivateFieldGet(this, _headersTree).buildTree();
133
+ _classPrivateFieldSet(this, _stateMatrix, generateMatrix(_classPrivateFieldGet(this, _headersTree).getRoots()));
113
134
  }
114
135
 
115
136
  /**
@@ -124,9 +145,9 @@ export default class StateManager {
124
145
  * header settings.
125
146
  */
126
147
  mapState(callback) {
127
- this.#sourceSettings.map(callback);
128
- this.#headersTree.buildTree();
129
- this.#stateMatrix = generateMatrix(this.#headersTree.getRoots());
148
+ _classPrivateFieldGet(this, _sourceSettings).map(callback);
149
+ _classPrivateFieldGet(this, _headersTree).buildTree();
150
+ _classPrivateFieldSet(this, _stateMatrix, generateMatrix(_classPrivateFieldGet(this, _headersTree).getRoots()));
130
151
  }
131
152
 
132
153
  /**
@@ -139,7 +160,7 @@ export default class StateManager {
139
160
  * @returns {Array}
140
161
  */
141
162
  mapNodes(callback) {
142
- return arrayReduce(this.#headersTree.getRoots(), (acc, rootNode) => {
163
+ return arrayReduce(_classPrivateFieldGet(this, _headersTree).getRoots(), (acc, rootNode) => {
143
164
  rootNode.walkDown(node => {
144
165
  const result = callback(node.data);
145
166
  if (result !== void 0) {
@@ -164,13 +185,13 @@ export default class StateManager {
164
185
  if (headerLevel < 0) {
165
186
  headerLevel = this.rowCoordsToLevel(headerLevel);
166
187
  }
167
- const nodeToProcess = this.#headersTree.getNode(headerLevel, columnIndex);
188
+ const nodeToProcess = _classPrivateFieldGet(this, _headersTree).getNode(headerLevel, columnIndex);
168
189
  let actionResult;
169
190
  if (nodeToProcess) {
170
191
  actionResult = triggerNodeModification(action, nodeToProcess, columnIndex);
171
192
 
172
193
  // TODO (perf-tip): Trigger matrix generation once after multiple node modifications.
173
- this.#stateMatrix = generateMatrix(this.#headersTree.getRoots());
194
+ _classPrivateFieldSet(this, _stateMatrix, generateMatrix(_classPrivateFieldGet(this, _headersTree).getRoots()));
174
195
  }
175
196
  return actionResult;
176
197
  }
@@ -272,14 +293,14 @@ export default class StateManager {
272
293
  * @returns {object|null}
273
294
  */
274
295
  getHeaderSettings(headerLevel, columnIndex) {
275
- var _this$stateMatrix$hea;
296
+ var _classPrivateFieldGet2, _classPrivateFieldGet3;
276
297
  if (headerLevel < 0) {
277
298
  headerLevel = this.rowCoordsToLevel(headerLevel);
278
299
  }
279
300
  if (headerLevel === null || headerLevel >= this.getLayersCount()) {
280
301
  return null;
281
302
  }
282
- return (_this$stateMatrix$hea = this.#stateMatrix[headerLevel]?.[columnIndex]) != null ? _this$stateMatrix$hea : null;
303
+ return (_classPrivateFieldGet2 = (_classPrivateFieldGet3 = _classPrivateFieldGet(this, _stateMatrix)[headerLevel]) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3[columnIndex]) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : null;
283
304
  }
284
305
 
285
306
  /**
@@ -298,7 +319,7 @@ export default class StateManager {
298
319
  if (headerLevel === null || headerLevel >= this.getLayersCount()) {
299
320
  return null;
300
321
  }
301
- const node = this.#headersTree.getNode(headerLevel, columnIndex);
322
+ const node = _classPrivateFieldGet(this, _headersTree).getNode(headerLevel, columnIndex);
302
323
  if (!node) {
303
324
  return null;
304
325
  }
@@ -320,7 +341,7 @@ export default class StateManager {
320
341
  var _this$getHeaderSettin;
321
342
  const {
322
343
  isRoot
323
- } = (_this$getHeaderSettin = this.getHeaderSettings(headerLevel, columnIndex)) != null ? _this$getHeaderSettin : {
344
+ } = (_this$getHeaderSettin = this.getHeaderSettings(headerLevel, columnIndex)) !== null && _this$getHeaderSettin !== void 0 ? _this$getHeaderSettin : {
324
345
  isRoot: true
325
346
  };
326
347
  if (isRoot) {
@@ -331,7 +352,7 @@ export default class StateManager {
331
352
  var _this$getHeaderSettin2;
332
353
  const {
333
354
  isRoot: isRootNode
334
- } = (_this$getHeaderSettin2 = this.getHeaderSettings(headerLevel, stepBackColumn)) != null ? _this$getHeaderSettin2 : {
355
+ } = (_this$getHeaderSettin2 = this.getHeaderSettings(headerLevel, stepBackColumn)) !== null && _this$getHeaderSettin2 !== void 0 ? _this$getHeaderSettin2 : {
335
356
  isRoot: true
336
357
  };
337
358
  if (isRootNode) {
@@ -348,7 +369,7 @@ export default class StateManager {
348
369
  * @returns {number}
349
370
  */
350
371
  getLayersCount() {
351
- return this.#sourceSettings.getLayersCount();
372
+ return _classPrivateFieldGet(this, _sourceSettings).getLayersCount();
352
373
  }
353
374
 
354
375
  /**
@@ -357,15 +378,15 @@ export default class StateManager {
357
378
  * @returns {number}
358
379
  */
359
380
  getColumnsCount() {
360
- return this.#sourceSettings.getColumnsCount();
381
+ return _classPrivateFieldGet(this, _sourceSettings).getColumnsCount();
361
382
  }
362
383
 
363
384
  /**
364
385
  * Clears the column state manager to the initial state.
365
386
  */
366
387
  clear() {
367
- this.#stateMatrix = [];
368
- this.#sourceSettings.clear();
369
- this.#headersTree.clear();
388
+ _classPrivateFieldSet(this, _stateMatrix, []);
389
+ _classPrivateFieldGet(this, _sourceSettings).clear();
390
+ _classPrivateFieldGet(this, _headersTree).clear();
370
391
  }
371
392
  }
@@ -76,7 +76,7 @@ function collapseNode(nodeToProcess) {
76
76
 
77
77
  // Calculate by how many colspan it needs to reduce the headings to match them to
78
78
  // the first child colspan width.
79
- const colspanCompensation = nodeData.colspan - ((_getFirstChildPropert = (0, _tree.getFirstChildProperty)(nodeToProcess, 'colspan')) != null ? _getFirstChildPropert : 1);
79
+ const colspanCompensation = nodeData.colspan - ((_getFirstChildPropert = (0, _tree.getFirstChildProperty)(nodeToProcess, 'colspan')) !== null && _getFirstChildPropert !== void 0 ? _getFirstChildPropert : 1);
80
80
  nodeToProcess.walkUp(node => {
81
81
  const {
82
82
  data
@@ -72,7 +72,7 @@ export function collapseNode(nodeToProcess) {
72
72
 
73
73
  // Calculate by how many colspan it needs to reduce the headings to match them to
74
74
  // the first child colspan width.
75
- const colspanCompensation = nodeData.colspan - ((_getFirstChildPropert = getFirstChildProperty(nodeToProcess, 'colspan')) != null ? _getFirstChildPropert : 1);
75
+ const colspanCompensation = nodeData.colspan - ((_getFirstChildPropert = getFirstChildProperty(nodeToProcess, 'colspan')) !== null && _getFirstChildPropert !== void 0 ? _getFirstChildPropert : 1);
76
76
  nodeToProcess.walkUp(node => {
77
77
  const {
78
78
  data
@@ -6,6 +6,13 @@ require("core-js/modules/es.array.push.js");
6
6
  var _object = require("../../../helpers/object");
7
7
  var _array = require("../../../helpers/array");
8
8
  var _settingsNormalizer = require("./settingsNormalizer");
9
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
10
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
11
+ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
12
+ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
13
+ function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
14
+ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
15
+ function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
9
16
  /**
10
17
  * List of properties which are configurable. That properties can be changed using public API.
11
18
  *
@@ -22,30 +29,43 @@ const HEADER_CONFIGURABLE_PROPS = ['label', 'collapsible'];
22
29
  * @class SourceSettings
23
30
  */
24
31
  exports.HEADER_CONFIGURABLE_PROPS = HEADER_CONFIGURABLE_PROPS;
32
+ var _data = /*#__PURE__*/new WeakMap();
33
+ var _dataLength = /*#__PURE__*/new WeakMap();
34
+ var _columnsLimit = /*#__PURE__*/new WeakMap();
25
35
  class SourceSettings {
26
- /**
27
- * The normalized source data (normalized user-defined settings for nested headers).
28
- *
29
- * @private
30
- * @type {Array[]}
31
- */
32
- #data = [];
33
- /**
34
- * The total length of the nested header layers.
35
- *
36
- * @private
37
- * @type {number}
38
- */
39
- #dataLength = 0;
40
- /**
41
- * Columns count limit value trims source settings to that value. If columns
42
- * count limit intersects nested header, the header's colspan value is reduced
43
- * to keep the whole structure stable (trimmed precisely where the limit is set).
44
- *
45
- * @type {number}
46
- */
47
- #columnsLimit = Infinity;
48
-
36
+ constructor() {
37
+ /**
38
+ * The normalized source data (normalized user-defined settings for nested headers).
39
+ *
40
+ * @private
41
+ * @type {Array[]}
42
+ */
43
+ _classPrivateFieldInitSpec(this, _data, {
44
+ writable: true,
45
+ value: []
46
+ });
47
+ /**
48
+ * The total length of the nested header layers.
49
+ *
50
+ * @private
51
+ * @type {number}
52
+ */
53
+ _classPrivateFieldInitSpec(this, _dataLength, {
54
+ writable: true,
55
+ value: 0
56
+ });
57
+ /**
58
+ * Columns count limit value trims source settings to that value. If columns
59
+ * count limit intersects nested header, the header's colspan value is reduced
60
+ * to keep the whole structure stable (trimmed precisely where the limit is set).
61
+ *
62
+ * @type {number}
63
+ */
64
+ _classPrivateFieldInitSpec(this, _columnsLimit, {
65
+ writable: true,
66
+ value: Infinity
67
+ });
68
+ }
49
69
  /**
50
70
  * Sets columns limit to the source settings will be trimmed. All headers which
51
71
  * overlap the column limit will be reduced to keep the structure solid.
@@ -53,7 +73,7 @@ class SourceSettings {
53
73
  * @param {number} columnsCount The number of columns to limit to.
54
74
  */
55
75
  setColumnsLimit(columnsCount) {
56
- this.#columnsLimit = columnsCount;
76
+ _classPrivateFieldSet(this, _columnsLimit, columnsCount);
57
77
  }
58
78
 
59
79
  /**
@@ -63,8 +83,8 @@ class SourceSettings {
63
83
  */
64
84
  setData() {
65
85
  let nestedHeadersSettings = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
66
- this.#data = (0, _settingsNormalizer.normalizeSettings)(nestedHeadersSettings, this.#columnsLimit);
67
- this.#dataLength = this.#data.length;
86
+ _classPrivateFieldSet(this, _data, (0, _settingsNormalizer.normalizeSettings)(nestedHeadersSettings, _classPrivateFieldGet(this, _columnsLimit)));
87
+ _classPrivateFieldSet(this, _dataLength, _classPrivateFieldGet(this, _data).length);
68
88
  }
69
89
 
70
90
  /**
@@ -73,7 +93,7 @@ class SourceSettings {
73
93
  * @returns {Array[]}
74
94
  */
75
95
  getData() {
76
- return this.#data;
96
+ return _classPrivateFieldGet(this, _data);
77
97
  }
78
98
 
79
99
  /**
@@ -105,7 +125,7 @@ class SourceSettings {
105
125
  * header settings.
106
126
  */
107
127
  map(callback) {
108
- (0, _array.arrayEach)(this.#data, header => {
128
+ (0, _array.arrayEach)(_classPrivateFieldGet(this, _data), header => {
109
129
  (0, _array.arrayEach)(header, headerSettings => {
110
130
  const propsToExtend = callback({
111
131
  ...headerSettings
@@ -128,14 +148,14 @@ class SourceSettings {
128
148
  */
129
149
  getHeaderSettings(headerLevel, columnIndex) {
130
150
  var _headersSettings$colu;
131
- if (headerLevel >= this.#dataLength || headerLevel < 0) {
151
+ if (headerLevel >= _classPrivateFieldGet(this, _dataLength) || headerLevel < 0) {
132
152
  return null;
133
153
  }
134
- const headersSettings = this.#data[headerLevel];
154
+ const headersSettings = _classPrivateFieldGet(this, _data)[headerLevel];
135
155
  if (columnIndex >= headersSettings.length) {
136
156
  return null;
137
157
  }
138
- return (_headersSettings$colu = headersSettings[columnIndex]) != null ? _headersSettings$colu : null;
158
+ return (_headersSettings$colu = headersSettings[columnIndex]) !== null && _headersSettings$colu !== void 0 ? _headersSettings$colu : null;
139
159
  }
140
160
 
141
161
  /**
@@ -151,10 +171,10 @@ class SourceSettings {
151
171
  getHeadersSettings(headerLevel, columnIndex) {
152
172
  let columnsLength = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
153
173
  const headersSettingsChunks = [];
154
- if (headerLevel >= this.#dataLength || headerLevel < 0) {
174
+ if (headerLevel >= _classPrivateFieldGet(this, _dataLength) || headerLevel < 0) {
155
175
  return headersSettingsChunks;
156
176
  }
157
- const headersSettings = this.#data[headerLevel];
177
+ const headersSettings = _classPrivateFieldGet(this, _data)[headerLevel];
158
178
  let currentLength = 0;
159
179
  for (let i = columnIndex; i < headersSettings.length; i++) {
160
180
  const headerSettings = headersSettings[i];
@@ -185,7 +205,7 @@ class SourceSettings {
185
205
  * @returns {number}
186
206
  */
187
207
  getLayersCount() {
188
- return this.#dataLength;
208
+ return _classPrivateFieldGet(this, _dataLength);
189
209
  }
190
210
 
191
211
  /**
@@ -194,15 +214,15 @@ class SourceSettings {
194
214
  * @returns {number}
195
215
  */
196
216
  getColumnsCount() {
197
- return this.#dataLength > 0 ? this.#data[0].length : 0;
217
+ return _classPrivateFieldGet(this, _dataLength) > 0 ? _classPrivateFieldGet(this, _data)[0].length : 0;
198
218
  }
199
219
 
200
220
  /**
201
221
  * Clears the data.
202
222
  */
203
223
  clear() {
204
- this.#data = [];
205
- this.#dataLength = 0;
224
+ _classPrivateFieldSet(this, _data, []);
225
+ _classPrivateFieldSet(this, _dataLength, 0);
206
226
  }
207
227
  }
208
228
  exports.default = SourceSettings;