handsontable 0.0.0-next-2becb78-20240313 → 0.0.0-next-bff5041-20240315

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

Potentially problematic release.


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

Files changed (272) hide show
  1. package/3rdparty/walkontable/src/calculator/viewportColumns.js +12 -17
  2. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +12 -17
  3. package/3rdparty/walkontable/src/calculator/viewportRows.js +10 -15
  4. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +10 -15
  5. package/3rdparty/walkontable/src/cell/coords.js +12 -17
  6. package/3rdparty/walkontable/src/cell/coords.mjs +12 -17
  7. package/3rdparty/walkontable/src/cell/range.d.ts +0 -1
  8. package/3rdparty/walkontable/src/cell/range.js +23 -45
  9. package/3rdparty/walkontable/src/cell/range.mjs +23 -45
  10. package/3rdparty/walkontable/src/core/_base.js +1 -1
  11. package/3rdparty/walkontable/src/core/_base.mjs +1 -1
  12. package/3rdparty/walkontable/src/event.js +72 -104
  13. package/3rdparty/walkontable/src/event.mjs +72 -104
  14. package/3rdparty/walkontable/src/overlays.js +1 -1
  15. package/3rdparty/walkontable/src/overlays.mjs +1 -1
  16. package/3rdparty/walkontable/src/scroll.js +15 -17
  17. package/3rdparty/walkontable/src/scroll.mjs +15 -17
  18. package/3rdparty/walkontable/src/selection/manager.js +48 -69
  19. package/3rdparty/walkontable/src/selection/manager.mjs +48 -69
  20. package/3rdparty/walkontable/src/selection/scanner.js +33 -42
  21. package/3rdparty/walkontable/src/selection/scanner.mjs +33 -42
  22. package/3rdparty/walkontable/src/utils/columnStretching.js +27 -44
  23. package/3rdparty/walkontable/src/utils/columnStretching.mjs +27 -44
  24. package/3rdparty/walkontable/src/utils/orderView/view.js +1 -1
  25. package/3rdparty/walkontable/src/utils/orderView/view.mjs +1 -1
  26. package/base.js +2 -2
  27. package/base.mjs +2 -2
  28. package/core/viewportScroll/index.js +1 -4
  29. package/core/viewportScroll/index.mjs +1 -4
  30. package/core.d.ts +3 -4
  31. package/core.js +22 -82
  32. package/core.mjs +22 -82
  33. package/dataMap/dataSource.js +1 -1
  34. package/dataMap/dataSource.mjs +1 -1
  35. package/dataMap/metaManager/metaLayers/cellMeta.js +1 -1
  36. package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -1
  37. package/dataMap/replaceData.js +1 -1
  38. package/dataMap/replaceData.mjs +1 -1
  39. package/dist/handsontable.css +2 -2
  40. package/dist/handsontable.full.css +2 -2
  41. package/dist/handsontable.full.js +7619 -10404
  42. package/dist/handsontable.full.min.css +2 -2
  43. package/dist/handsontable.full.min.js +277 -277
  44. package/dist/handsontable.js +5525 -7857
  45. package/dist/handsontable.min.css +2 -2
  46. package/dist/handsontable.min.js +33 -33
  47. package/dist/languages/all.min.js +1 -1
  48. package/dist/languages/ar-AR.min.js +1 -1
  49. package/dist/languages/cs-CZ.min.js +1 -1
  50. package/dist/languages/de-CH.min.js +1 -1
  51. package/dist/languages/de-DE.min.js +1 -1
  52. package/dist/languages/en-US.min.js +1 -1
  53. package/dist/languages/es-MX.min.js +1 -1
  54. package/dist/languages/fr-FR.min.js +1 -1
  55. package/dist/languages/hr-HR.min.js +1 -1
  56. package/dist/languages/it-IT.min.js +1 -1
  57. package/dist/languages/ja-JP.min.js +1 -1
  58. package/dist/languages/ko-KR.min.js +1 -1
  59. package/dist/languages/lv-LV.min.js +1 -1
  60. package/dist/languages/nb-NO.min.js +1 -1
  61. package/dist/languages/nl-NL.min.js +1 -1
  62. package/dist/languages/pl-PL.min.js +1 -1
  63. package/dist/languages/pt-BR.min.js +1 -1
  64. package/dist/languages/ru-RU.min.js +1 -1
  65. package/dist/languages/sr-SP.min.js +1 -1
  66. package/dist/languages/zh-CN.min.js +1 -1
  67. package/dist/languages/zh-TW.min.js +1 -1
  68. package/editorManager.js +21 -27
  69. package/editorManager.mjs +21 -27
  70. package/editors/autocompleteEditor/autocompleteEditor.js +6 -10
  71. package/editors/autocompleteEditor/autocompleteEditor.mjs +6 -10
  72. package/eventManager.js +1 -1
  73. package/eventManager.mjs +1 -1
  74. package/focusManager.js +58 -82
  75. package/focusManager.mjs +58 -82
  76. package/helpers/dom/element.js +1 -1
  77. package/helpers/dom/element.mjs +1 -1
  78. package/helpers/mixed.js +1 -1
  79. package/helpers/mixed.mjs +1 -1
  80. package/helpers/object.js +2 -2
  81. package/helpers/object.mjs +2 -2
  82. package/index.d.ts +10 -0
  83. package/package.json +2 -1
  84. package/pluginHooks.d.ts +0 -4
  85. package/pluginHooks.js +2 -44
  86. package/pluginHooks.mjs +2 -44
  87. package/plugins/autoColumnSize/autoColumnSize.js +49 -65
  88. package/plugins/autoColumnSize/autoColumnSize.mjs +49 -65
  89. package/plugins/autoRowSize/autoRowSize.js +28 -34
  90. package/plugins/autoRowSize/autoRowSize.mjs +28 -34
  91. package/plugins/autofill/autofill.js +30 -38
  92. package/plugins/autofill/autofill.mjs +30 -38
  93. package/plugins/base/base.js +12 -17
  94. package/plugins/base/base.mjs +12 -17
  95. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +5 -5
  96. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +5 -5
  97. package/plugins/collapsibleColumns/collapsibleColumns.js +36 -54
  98. package/plugins/collapsibleColumns/collapsibleColumns.mjs +36 -54
  99. package/plugins/columnSorting/columnSorting.js +40 -46
  100. package/plugins/columnSorting/columnSorting.mjs +40 -46
  101. package/plugins/columnSummary/columnSummary.js +22 -26
  102. package/plugins/columnSummary/columnSummary.mjs +22 -26
  103. package/plugins/comments/comments.js +116 -158
  104. package/plugins/comments/comments.mjs +116 -158
  105. package/plugins/contextMenu/contextMenu.js +20 -26
  106. package/plugins/contextMenu/contextMenu.mjs +20 -26
  107. package/plugins/contextMenu/itemsFactory.js +1 -1
  108. package/plugins/contextMenu/itemsFactory.mjs +1 -1
  109. package/plugins/contextMenu/menu/defaultShortcutsList.js +10 -26
  110. package/plugins/contextMenu/menu/defaultShortcutsList.mjs +10 -26
  111. package/plugins/contextMenu/menu/menu.js +13 -21
  112. package/plugins/contextMenu/menu/menu.mjs +13 -21
  113. package/plugins/contextMenu/menu/positioner.js +41 -58
  114. package/plugins/contextMenu/menu/positioner.mjs +41 -58
  115. package/plugins/copyPaste/copyPaste.js +113 -154
  116. package/plugins/copyPaste/copyPaste.mjs +113 -154
  117. package/plugins/copyPaste/copyableRanges.js +43 -66
  118. package/plugins/copyPaste/copyableRanges.mjs +43 -66
  119. package/plugins/customBorders/customBorders.js +11 -13
  120. package/plugins/customBorders/customBorders.mjs +11 -13
  121. package/plugins/dragToScroll/dragToScroll.js +6 -6
  122. package/plugins/dragToScroll/dragToScroll.mjs +6 -6
  123. package/plugins/dropdownMenu/dropdownMenu.js +78 -100
  124. package/plugins/dropdownMenu/dropdownMenu.mjs +78 -100
  125. package/plugins/exportFile/dataProvider.js +1 -1
  126. package/plugins/exportFile/dataProvider.mjs +1 -1
  127. package/plugins/filters/component/actionBar.js +9 -9
  128. package/plugins/filters/component/actionBar.mjs +8 -8
  129. package/plugins/filters/component/condition.js +13 -15
  130. package/plugins/filters/component/condition.mjs +13 -15
  131. package/plugins/filters/component/operators.js +6 -6
  132. package/plugins/filters/component/operators.mjs +6 -6
  133. package/plugins/filters/component/value.js +24 -28
  134. package/plugins/filters/component/value.mjs +24 -28
  135. package/plugins/filters/conditionUpdateObserver.js +22 -24
  136. package/plugins/filters/conditionUpdateObserver.mjs +22 -24
  137. package/plugins/filters/dataFilter.js +1 -1
  138. package/plugins/filters/dataFilter.mjs +1 -1
  139. package/plugins/filters/filters.js +81 -95
  140. package/plugins/filters/filters.mjs +81 -95
  141. package/plugins/filters/ui/input.js +13 -19
  142. package/plugins/filters/ui/input.mjs +13 -19
  143. package/plugins/filters/ui/link.js +8 -13
  144. package/plugins/filters/ui/link.mjs +8 -13
  145. package/plugins/filters/ui/multipleSelect.js +85 -112
  146. package/plugins/filters/ui/multipleSelect.mjs +85 -112
  147. package/plugins/filters/ui/radioInput.js +12 -20
  148. package/plugins/filters/ui/radioInput.mjs +12 -20
  149. package/plugins/filters/ui/select.js +50 -72
  150. package/plugins/filters/ui/select.mjs +49 -71
  151. package/plugins/formulas/formulas.js +268 -326
  152. package/plugins/formulas/formulas.mjs +269 -327
  153. package/plugins/formulas/indexSyncer/axisSyncer.js +38 -61
  154. package/plugins/formulas/indexSyncer/axisSyncer.mjs +38 -61
  155. package/plugins/formulas/indexSyncer/index.js +25 -48
  156. package/plugins/formulas/indexSyncer/index.mjs +25 -48
  157. package/plugins/hiddenColumns/hiddenColumns.js +64 -83
  158. package/plugins/hiddenColumns/hiddenColumns.mjs +64 -83
  159. package/plugins/hiddenRows/hiddenRows.js +63 -82
  160. package/plugins/hiddenRows/hiddenRows.mjs +63 -82
  161. package/plugins/manualColumnFreeze/manualColumnFreeze.js +24 -32
  162. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +25 -33
  163. package/plugins/manualColumnMove/manualColumnMove.js +126 -170
  164. package/plugins/manualColumnMove/manualColumnMove.mjs +126 -170
  165. package/plugins/manualColumnResize/manualColumnResize.js +169 -230
  166. package/plugins/manualColumnResize/manualColumnResize.mjs +169 -230
  167. package/plugins/manualRowMove/manualRowMove.js +99 -128
  168. package/plugins/manualRowMove/manualRowMove.mjs +99 -128
  169. package/plugins/manualRowResize/manualRowResize.js +150 -209
  170. package/plugins/manualRowResize/manualRowResize.mjs +150 -209
  171. package/plugins/mergeCells/calculations/selection.js +71 -2
  172. package/plugins/mergeCells/calculations/selection.mjs +71 -2
  173. package/plugins/mergeCells/cellsCollection.js +1 -117
  174. package/plugins/mergeCells/cellsCollection.mjs +1 -117
  175. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +1 -11
  176. package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +1 -11
  177. package/plugins/mergeCells/mergeCells.js +353 -593
  178. package/plugins/mergeCells/mergeCells.mjs +353 -593
  179. package/plugins/multiColumnSorting/multiColumnSorting.js +0 -6
  180. package/plugins/multiColumnSorting/multiColumnSorting.mjs +0 -6
  181. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +1 -1
  182. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +1 -1
  183. package/plugins/nestedHeaders/nestedHeaders.js +204 -254
  184. package/plugins/nestedHeaders/nestedHeaders.mjs +205 -255
  185. package/plugins/nestedHeaders/stateManager/headersTree.js +21 -32
  186. package/plugins/nestedHeaders/stateManager/headersTree.mjs +21 -32
  187. package/plugins/nestedHeaders/stateManager/index.js +30 -41
  188. package/plugins/nestedHeaders/stateManager/index.mjs +30 -41
  189. package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -30
  190. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -30
  191. package/plugins/nestedRows/data/dataManager.js +1 -1
  192. package/plugins/nestedRows/data/dataManager.mjs +1 -1
  193. package/plugins/nestedRows/nestedRows.js +138 -179
  194. package/plugins/nestedRows/nestedRows.mjs +139 -180
  195. package/plugins/nestedRows/ui/contextMenu.js +11 -15
  196. package/plugins/nestedRows/ui/contextMenu.mjs +10 -14
  197. package/plugins/nestedRows/utils/rowMoveController.js +1 -1
  198. package/plugins/nestedRows/utils/rowMoveController.mjs +1 -1
  199. package/plugins/persistentState/storage.js +2 -2
  200. package/plugins/persistentState/storage.mjs +2 -2
  201. package/plugins/search/search.js +7 -7
  202. package/plugins/search/search.mjs +7 -7
  203. package/plugins/touchScroll/touchScroll.js +15 -19
  204. package/plugins/touchScroll/touchScroll.mjs +16 -20
  205. package/plugins/trimRows/trimRows.js +6 -6
  206. package/plugins/trimRows/trimRows.mjs +6 -6
  207. package/renderers/checkboxRenderer/checkboxRenderer.js +5 -8
  208. package/renderers/checkboxRenderer/checkboxRenderer.mjs +5 -8
  209. package/selection/highlight/highlight.js +14 -14
  210. package/selection/highlight/highlight.mjs +13 -13
  211. package/selection/highlight/visualSelection.js +2 -16
  212. package/selection/highlight/visualSelection.mjs +2 -16
  213. package/selection/selection.js +60 -255
  214. package/selection/selection.mjs +59 -254
  215. package/selection/transformation.js +101 -175
  216. package/selection/transformation.mjs +101 -175
  217. package/shortcutContexts/commands/editor/closeAndSave.js +2 -2
  218. package/shortcutContexts/commands/editor/closeAndSave.mjs +2 -2
  219. package/shortcutContexts/commands/editor/open.js +3 -18
  220. package/shortcutContexts/commands/editor/open.mjs +3 -18
  221. package/shortcutContexts/commands/extendCellsSelection/down.js +1 -1
  222. package/shortcutContexts/commands/extendCellsSelection/down.mjs +1 -1
  223. package/shortcutContexts/commands/extendCellsSelection/left.js +1 -1
  224. package/shortcutContexts/commands/extendCellsSelection/left.mjs +1 -1
  225. package/shortcutContexts/commands/extendCellsSelection/right.js +1 -1
  226. package/shortcutContexts/commands/extendCellsSelection/right.mjs +1 -1
  227. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +1 -1
  228. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +1 -1
  229. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +1 -3
  230. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +1 -3
  231. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +3 -9
  232. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +3 -9
  233. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +3 -10
  234. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +3 -10
  235. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +1 -3
  236. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +1 -3
  237. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +1 -3
  238. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +1 -3
  239. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +1 -3
  240. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +1 -3
  241. package/shortcutContexts/commands/extendCellsSelection/toRows.js +1 -1
  242. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +1 -1
  243. package/shortcutContexts/commands/extendCellsSelection/up.js +1 -1
  244. package/shortcutContexts/commands/extendCellsSelection/up.mjs +1 -1
  245. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +1 -6
  246. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +1 -6
  247. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +1 -6
  248. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +1 -6
  249. package/shortcutContexts/grid.js +2 -2
  250. package/shortcutContexts/grid.mjs +2 -2
  251. package/shortcuts/context.js +1 -2
  252. package/shortcuts/context.mjs +1 -2
  253. package/tableView.js +52 -98
  254. package/tableView.mjs +52 -98
  255. package/translations/changesObservable/observable.js +21 -38
  256. package/translations/changesObservable/observable.mjs +21 -38
  257. package/translations/changesObservable/observer.js +7 -12
  258. package/translations/changesObservable/observer.mjs +6 -11
  259. package/translations/mapCollections/aggregatedCollection.js +1 -1
  260. package/translations/mapCollections/aggregatedCollection.mjs +1 -1
  261. package/translations/maps/indexMap.js +1 -1
  262. package/translations/maps/indexMap.mjs +1 -1
  263. package/utils/dataStructures/linkedList.js +1 -6
  264. package/utils/dataStructures/linkedList.mjs +1 -6
  265. package/utils/dataStructures/tree.js +1 -1
  266. package/utils/dataStructures/tree.mjs +1 -1
  267. package/utils/interval.js +26 -44
  268. package/utils/interval.mjs +26 -44
  269. package/core/viewportScroll/scrollStrategies/focusScroll.js +0 -15
  270. package/core/viewportScroll/scrollStrategies/focusScroll.mjs +0 -11
  271. package/plugins/mergeCells/focusOrder.js +0 -327
  272. package/plugins/mergeCells/focusOrder.mjs +0 -322
@@ -1,17 +1,14 @@
1
- import "core-js/modules/es.array.push.js";
2
1
  import "core-js/modules/es.error.cause.js";
2
+ import "core-js/modules/es.array.push.js";
3
3
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
4
4
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
6
6
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
7
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
8
8
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
9
- function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
10
- 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; } }
11
- function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
12
- function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
13
- function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
14
- function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
9
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
10
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
11
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
15
12
  import { addClass, removeClass } from "../../helpers/dom/element.mjs";
16
13
  import { isNumeric, clamp } from "../../helpers/number.mjs";
17
14
  import { toSingleLine } from "../../helpers/templateLiteralTag.mjs";
@@ -73,203 +70,40 @@ var _stateManager = /*#__PURE__*/new WeakMap();
73
70
  var _hidingIndexMapObserver = /*#__PURE__*/new WeakMap();
74
71
  var _focusInitialCoords = /*#__PURE__*/new WeakMap();
75
72
  var _isColumnsSelectionInProgress = /*#__PURE__*/new WeakMap();
76
- var _updateFocusHighlightPosition = /*#__PURE__*/new WeakSet();
77
- var _onBeforeViewportScrollHorizontally = /*#__PURE__*/new WeakSet();
78
- var _onBeforeHighlightingColumnHeader = /*#__PURE__*/new WeakSet();
79
- var _onBeforeCopy = /*#__PURE__*/new WeakSet();
80
- var _onBeforeOnCellMouseDown = /*#__PURE__*/new WeakSet();
81
- var _onAfterOnCellMouseDown = /*#__PURE__*/new WeakSet();
82
- var _onBeforeOnCellMouseOver = /*#__PURE__*/new WeakSet();
83
- var _onBeforeOnCellMouseUp = /*#__PURE__*/new WeakSet();
84
- var _onBeforeSelectionHighlightSet = /*#__PURE__*/new WeakSet();
85
- var _onModifyTransformStart = /*#__PURE__*/new WeakSet();
86
- var _onBeforeSelectColumns = /*#__PURE__*/new WeakSet();
87
- var _onAfterGetColumnHeaderRenderers = /*#__PURE__*/new WeakSet();
88
- var _onAfterViewportColumnCalculatorOverride = /*#__PURE__*/new WeakSet();
89
- var _onModifyColWidth = /*#__PURE__*/new WeakSet();
90
- var _onModifyColumnHeaderValue = /*#__PURE__*/new WeakSet();
91
- var _onModifyFocusedElement = /*#__PURE__*/new WeakSet();
92
- var _onInit = /*#__PURE__*/new WeakSet();
93
- var _onAfterLoadData = /*#__PURE__*/new WeakSet();
73
+ var _NestedHeaders_brand = /*#__PURE__*/new WeakSet();
94
74
  export class NestedHeaders extends BasePlugin {
95
75
  constructor() {
96
76
  super(...arguments);
97
- /**
98
- * Updates the plugin state after new dataset load.
99
- *
100
- * @param {Array[]} sourceData Array of arrays or array of objects containing data.
101
- * @param {boolean} initialLoad Flag that determines whether the data has been loaded
102
- * during the initialization.
103
- */
104
- _classPrivateMethodInitSpec(this, _onAfterLoadData);
105
- /**
106
- * Updates the plugin state after HoT initialization.
107
- */
108
- _classPrivateMethodInitSpec(this, _onInit);
109
- /**
110
- * `modifyFocusedElement` hook callback.
111
- *
112
- * @param {number} row Row index.
113
- * @param {number} column Column index.
114
- * @returns {HTMLTableCellElement} The `TH` element to be focused.
115
- */
116
- _classPrivateMethodInitSpec(this, _onModifyFocusedElement);
117
- /**
118
- * Listens the `modifyColumnHeaderValue` hook that overwrites the column headers values based on
119
- * the internal state and settings of the plugin.
120
- *
121
- * @param {string} value The column header value.
122
- * @param {number} visualColumnIndex The visual column index.
123
- * @param {number} headerLevel The index of header level. The header level accepts positive (0 to N)
124
- * and negative (-1 to -N) values. For positive values, 0 points to the
125
- * top most header, and for negative direction, -1 points to the most bottom
126
- * header (the header closest to the cells).
127
- * @returns {string} Returns the column header value to update.
128
- */
129
- _classPrivateMethodInitSpec(this, _onModifyColumnHeaderValue);
130
- /**
131
- * `modifyColWidth` hook callback - returns width from cache, when is greater than incoming from hook.
132
- *
133
- * @param {number} width Width from hook.
134
- * @param {number} column Visual index of an column.
135
- * @returns {number}
136
- */
137
- _classPrivateMethodInitSpec(this, _onModifyColWidth);
138
- /**
139
- * Make the renderer render the first nested column in its entirety.
140
- *
141
- * @param {object} calc Viewport column calculator.
142
- */
143
- _classPrivateMethodInitSpec(this, _onAfterViewportColumnCalculatorOverride);
144
- /**
145
- * `afterGetColumnHeader` hook callback - prepares the header structure.
146
- *
147
- * @param {Array} renderersArray Array of renderers.
148
- */
149
- _classPrivateMethodInitSpec(this, _onAfterGetColumnHeaderRenderers);
150
- /**
151
- * The hook observes the column selection from the Selection API and modifies the column range to
152
- * ensure that the whole nested column will be covered.
153
- *
154
- * @param {CellCoords} from The coords object where the selection starts.
155
- * @param {CellCoords} to The coords object where the selection ends.
156
- */
157
- _classPrivateMethodInitSpec(this, _onBeforeSelectColumns);
158
- /**
159
- * `modifyTransformStart` hook is called every time the keyboard navigation is used.
160
- *
161
- * @param {object} delta The transformation delta.
162
- */
163
- _classPrivateMethodInitSpec(this, _onModifyTransformStart);
164
- /**
165
- * The hook checks and ensures that the focus position that depends on the selected columns
166
- * range is always positioned within the range.
167
- */
168
- _classPrivateMethodInitSpec(this, _onBeforeSelectionHighlightSet);
169
- /**
170
- * Switches internal flag about selection progress to `false`.
171
- */
172
- _classPrivateMethodInitSpec(this, _onBeforeOnCellMouseUp);
173
- /**
174
- * Makes the header-selection properly select the nested headers.
175
- *
176
- * @param {MouseEvent} event Mouse event.
177
- * @param {CellCoords} coords Cell coords object containing the visual coordinates of the clicked cell.
178
- * @param {HTMLElement} TD The cell element.
179
- * @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
180
- * a boolean value that allows or disallows changing the selection for that particular area.
181
- */
182
- _classPrivateMethodInitSpec(this, _onBeforeOnCellMouseOver);
183
- /**
184
- * Allows to control how the column selection based on the coordinates and the nested headers is made.
185
- *
186
- * @param {MouseEvent} event Mouse event.
187
- * @param {CellCoords} coords Cell coords object containing the visual coordinates of the clicked cell.
188
- */
189
- _classPrivateMethodInitSpec(this, _onAfterOnCellMouseDown);
190
- /**
191
- * Allows blocking the column selection that is controlled by the core Selection module.
192
- *
193
- * @param {MouseEvent} event Mouse event.
194
- * @param {CellCoords} coords Cell coords object containing the visual coordinates of the clicked cell.
195
- * @param {CellCoords} TD The table cell or header element.
196
- * @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
197
- * a boolean value that allows or disallows changing the selection for that particular area.
198
- */
199
- _classPrivateMethodInitSpec(this, _onBeforeOnCellMouseDown);
200
- /**
201
- * Listens the `beforeCopy` hook that allows processing the copied column headers so that the
202
- * merged column headers do not propagate the value for each column but only once at the beginning
203
- * of the column.
204
- *
205
- * @private
206
- * @param {Array[]} data An array of arrays which contains data to copied.
207
- * @param {object[]} copyableRanges An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
208
- * which will copied.
209
- * @param {{ columnHeadersCount: number }} copiedHeadersCount An object with keys that holds information with
210
- * the number of copied headers.
211
- */
212
- _classPrivateMethodInitSpec(this, _onBeforeCopy);
213
- /**
214
- * Allows to control which header DOM element will be used to highlight.
215
- *
216
- * @param {number} visualColumn A visual column index of the highlighted row header.
217
- * @param {number} headerLevel A row header level that is currently highlighted.
218
- * @param {object} highlightMeta An object with meta data that describes the highlight state.
219
- * @returns {number}
220
- */
221
- _classPrivateMethodInitSpec(this, _onBeforeHighlightingColumnHeader);
222
- /**
223
- * Allows to control to which column index the viewport will be scrolled. To ensure that the viewport
224
- * is scrolled to the correct column for the nested header the most left and the most right visual column
225
- * indexes are used.
226
- *
227
- * @param {number} visualColumn A visual column index to which the viewport will be scrolled.
228
- * @returns {number}
229
- */
230
- _classPrivateMethodInitSpec(this, _onBeforeViewportScrollHorizontally);
231
77
  /**
232
78
  * Updates the selection focus highlight position to point to the nested header root element (TH)
233
79
  * even when the logical coordinates point in-between the header.
234
80
  */
235
- _classPrivateMethodInitSpec(this, _updateFocusHighlightPosition);
81
+ _classPrivateMethodInitSpec(this, _NestedHeaders_brand);
236
82
  /**
237
83
  * The state manager for the nested headers.
238
84
  *
239
85
  * @type {StateManager}
240
86
  */
241
- _classPrivateFieldInitSpec(this, _stateManager, {
242
- writable: true,
243
- value: new StateManager()
244
- });
87
+ _classPrivateFieldInitSpec(this, _stateManager, new StateManager());
245
88
  /**
246
89
  * The instance of the ChangesObservable class that allows track the changes that happens in the
247
90
  * column indexes.
248
91
  *
249
92
  * @type {ChangesObservable}
250
93
  */
251
- _classPrivateFieldInitSpec(this, _hidingIndexMapObserver, {
252
- writable: true,
253
- value: null
254
- });
94
+ _classPrivateFieldInitSpec(this, _hidingIndexMapObserver, null);
255
95
  /**
256
96
  * Holds the coords that points to the place where the column selection starts.
257
97
  *
258
98
  * @type {number|null}
259
99
  */
260
- _classPrivateFieldInitSpec(this, _focusInitialCoords, {
261
- writable: true,
262
- value: null
263
- });
100
+ _classPrivateFieldInitSpec(this, _focusInitialCoords, null);
264
101
  /**
265
102
  * Determines if there is performed the column selection.
266
103
  *
267
104
  * @type {boolean}
268
105
  */
269
- _classPrivateFieldInitSpec(this, _isColumnsSelectionInProgress, {
270
- writable: true,
271
- value: false
272
- });
106
+ _classPrivateFieldInitSpec(this, _isColumnsSelectionInProgress, false);
273
107
  /**
274
108
  * Custom helper for getting widths of the nested headers.
275
109
  *
@@ -316,102 +150,101 @@ export class NestedHeaders extends BasePlugin {
316
150
  warn(toSingleLine`Your Nested Headers plugin configuration is invalid. The settings has to be\x20
317
151
  passed as an array of arrays e.q. [['A1', { label: 'A2', colspan: 2 }]]`);
318
152
  }
319
- this.addHook('init', () => _classPrivateMethodGet(this, _onInit, _onInit2).call(this));
153
+ this.addHook('init', () => _assertClassBrand(_NestedHeaders_brand, this, _onInit).call(this));
320
154
  this.addHook('afterLoadData', function () {
321
155
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
322
156
  args[_key] = arguments[_key];
323
157
  }
324
- return _classPrivateMethodGet(_this, _onAfterLoadData, _onAfterLoadData2).call(_this, ...args);
158
+ return _assertClassBrand(_NestedHeaders_brand, _this, _onAfterLoadData).call(_this, ...args);
325
159
  });
326
160
  this.addHook('beforeOnCellMouseDown', function () {
327
161
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
328
162
  args[_key2] = arguments[_key2];
329
163
  }
330
- return _classPrivateMethodGet(_this, _onBeforeOnCellMouseDown, _onBeforeOnCellMouseDown2).call(_this, ...args);
164
+ return _assertClassBrand(_NestedHeaders_brand, _this, _onBeforeOnCellMouseDown).call(_this, ...args);
331
165
  });
332
166
  this.addHook('afterOnCellMouseDown', function () {
333
167
  for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
334
168
  args[_key3] = arguments[_key3];
335
169
  }
336
- return _classPrivateMethodGet(_this, _onAfterOnCellMouseDown, _onAfterOnCellMouseDown2).call(_this, ...args);
170
+ return _assertClassBrand(_NestedHeaders_brand, _this, _onAfterOnCellMouseDown).call(_this, ...args);
337
171
  });
338
172
  this.addHook('beforeOnCellMouseOver', function () {
339
173
  for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
340
174
  args[_key4] = arguments[_key4];
341
175
  }
342
- return _classPrivateMethodGet(_this, _onBeforeOnCellMouseOver, _onBeforeOnCellMouseOver2).call(_this, ...args);
176
+ return _assertClassBrand(_NestedHeaders_brand, _this, _onBeforeOnCellMouseOver).call(_this, ...args);
343
177
  });
344
178
  this.addHook('beforeOnCellMouseUp', function () {
345
179
  for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
346
180
  args[_key5] = arguments[_key5];
347
181
  }
348
- return _classPrivateMethodGet(_this, _onBeforeOnCellMouseUp, _onBeforeOnCellMouseUp2).call(_this, ...args);
182
+ return _assertClassBrand(_NestedHeaders_brand, _this, _onBeforeOnCellMouseUp).call(_this, ...args);
349
183
  });
350
184
  this.addHook('beforeSelectionHighlightSet', function () {
351
185
  for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
352
186
  args[_key6] = arguments[_key6];
353
187
  }
354
- return _classPrivateMethodGet(_this, _onBeforeSelectionHighlightSet, _onBeforeSelectionHighlightSet2).call(_this, ...args);
188
+ return _assertClassBrand(_NestedHeaders_brand, _this, _onBeforeSelectionHighlightSet).call(_this, ...args);
355
189
  });
356
190
  this.addHook('modifyTransformStart', function () {
357
191
  for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
358
192
  args[_key7] = arguments[_key7];
359
193
  }
360
- return _classPrivateMethodGet(_this, _onModifyTransformStart, _onModifyTransformStart2).call(_this, ...args);
194
+ return _assertClassBrand(_NestedHeaders_brand, _this, _onModifyTransformStart).call(_this, ...args);
361
195
  });
362
- this.addHook('afterSelection', () => _classPrivateMethodGet(this, _updateFocusHighlightPosition, _updateFocusHighlightPosition2).call(this));
363
- this.addHook('afterSelectionFocusSet', () => _classPrivateMethodGet(this, _updateFocusHighlightPosition, _updateFocusHighlightPosition2).call(this));
196
+ this.addHook('afterSelection', () => _assertClassBrand(_NestedHeaders_brand, this, _updateFocusHighlightPosition).call(this));
364
197
  this.addHook('beforeViewportScrollHorizontally', function () {
365
198
  for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
366
199
  args[_key8] = arguments[_key8];
367
200
  }
368
- return _classPrivateMethodGet(_this, _onBeforeViewportScrollHorizontally, _onBeforeViewportScrollHorizontally2).call(_this, ...args);
201
+ return _assertClassBrand(_NestedHeaders_brand, _this, _onBeforeViewportScrollHorizontally).call(_this, ...args);
369
202
  });
370
- this.addHook('afterGetColumnHeaderRenderers', array => _classPrivateMethodGet(this, _onAfterGetColumnHeaderRenderers, _onAfterGetColumnHeaderRenderers2).call(this, array));
203
+ this.addHook('afterGetColumnHeaderRenderers', array => _assertClassBrand(_NestedHeaders_brand, this, _onAfterGetColumnHeaderRenderers).call(this, array));
371
204
  this.addHook('modifyColWidth', function () {
372
205
  for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {
373
206
  args[_key9] = arguments[_key9];
374
207
  }
375
- return _classPrivateMethodGet(_this, _onModifyColWidth, _onModifyColWidth2).call(_this, ...args);
208
+ return _assertClassBrand(_NestedHeaders_brand, _this, _onModifyColWidth).call(_this, ...args);
376
209
  });
377
210
  this.addHook('modifyColumnHeaderValue', function () {
378
211
  for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {
379
212
  args[_key10] = arguments[_key10];
380
213
  }
381
- return _classPrivateMethodGet(_this, _onModifyColumnHeaderValue, _onModifyColumnHeaderValue2).call(_this, ...args);
214
+ return _assertClassBrand(_NestedHeaders_brand, _this, _onModifyColumnHeaderValue).call(_this, ...args);
382
215
  });
383
216
  this.addHook('beforeHighlightingColumnHeader', function () {
384
217
  for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {
385
218
  args[_key11] = arguments[_key11];
386
219
  }
387
- return _classPrivateMethodGet(_this, _onBeforeHighlightingColumnHeader, _onBeforeHighlightingColumnHeader2).call(_this, ...args);
220
+ return _assertClassBrand(_NestedHeaders_brand, _this, _onBeforeHighlightingColumnHeader).call(_this, ...args);
388
221
  });
389
222
  this.addHook('beforeCopy', function () {
390
223
  for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {
391
224
  args[_key12] = arguments[_key12];
392
225
  }
393
- return _classPrivateMethodGet(_this, _onBeforeCopy, _onBeforeCopy2).call(_this, ...args);
226
+ return _assertClassBrand(_NestedHeaders_brand, _this, _onBeforeCopy).call(_this, ...args);
394
227
  });
395
228
  this.addHook('beforeSelectColumns', function () {
396
229
  for (var _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 < _len13; _key13++) {
397
230
  args[_key13] = arguments[_key13];
398
231
  }
399
- return _classPrivateMethodGet(_this, _onBeforeSelectColumns, _onBeforeSelectColumns2).call(_this, ...args);
232
+ return _assertClassBrand(_NestedHeaders_brand, _this, _onBeforeSelectColumns).call(_this, ...args);
400
233
  });
401
234
  this.addHook('afterViewportColumnCalculatorOverride', function () {
402
235
  for (var _len14 = arguments.length, args = new Array(_len14), _key14 = 0; _key14 < _len14; _key14++) {
403
236
  args[_key14] = arguments[_key14];
404
237
  }
405
- return _classPrivateMethodGet(_this, _onAfterViewportColumnCalculatorOverride, _onAfterViewportColumnCalculatorOverride2).call(_this, ...args);
238
+ return _assertClassBrand(_NestedHeaders_brand, _this, _onAfterViewportColumnCalculatorOverride).call(_this, ...args);
406
239
  });
407
240
  this.addHook('modifyFocusedElement', function () {
408
241
  for (var _len15 = arguments.length, args = new Array(_len15), _key15 = 0; _key15 < _len15; _key15++) {
409
242
  args[_key15] = arguments[_key15];
410
243
  }
411
- return _classPrivateMethodGet(_this, _onModifyFocusedElement, _onModifyFocusedElement2).call(_this, ...args);
244
+ return _assertClassBrand(_NestedHeaders_brand, _this, _onModifyFocusedElement).call(_this, ...args);
412
245
  });
413
- this.hot.columnIndexMapper.addLocalHook('cacheUpdated', () => _classPrivateMethodGet(this, _updateFocusHighlightPosition, _updateFocusHighlightPosition2).call(this));
414
- this.hot.rowIndexMapper.addLocalHook('cacheUpdated', () => _classPrivateMethodGet(this, _updateFocusHighlightPosition, _updateFocusHighlightPosition2).call(this));
246
+ this.hot.columnIndexMapper.addLocalHook('cacheUpdated', () => _assertClassBrand(_NestedHeaders_brand, this, _updateFocusHighlightPosition).call(this));
247
+ this.hot.rowIndexMapper.addLocalHook('cacheUpdated', () => _assertClassBrand(_NestedHeaders_brand, this, _updateFocusHighlightPosition).call(this));
415
248
  super.enablePlugin();
416
249
  this.updatePlugin(); // @TODO: Workaround for broken plugin initialization abstraction.
417
250
  }
@@ -430,9 +263,9 @@ export class NestedHeaders extends BasePlugin {
430
263
  const {
431
264
  nestedHeaders
432
265
  } = this.hot.getSettings();
433
- _classPrivateFieldGet(this, _stateManager).setColumnsLimit(this.hot.countCols());
266
+ _classPrivateFieldGet(_stateManager, this).setColumnsLimit(this.hot.countCols());
434
267
  if (Array.isArray(nestedHeaders)) {
435
- this.detectedOverlappedHeaders = _classPrivateFieldGet(this, _stateManager).setState(nestedHeaders);
268
+ this.detectedOverlappedHeaders = _classPrivateFieldGet(_stateManager, this).setState(nestedHeaders);
436
269
  }
437
270
  if (this.detectedOverlappedHeaders) {
438
271
  warn(toSingleLine`Your Nested Headers plugin setup contains overlapping headers. This kind of configuration\x20
@@ -444,11 +277,11 @@ export class NestedHeaders extends BasePlugin {
444
277
  // as if all the columns are visible, needs to be modified to be in sync with a dataset.
445
278
  this.hot.columnIndexMapper.hidingMapsCollection.getMergedValues().forEach((isColumnHidden, physicalColumnIndex) => {
446
279
  const actionName = isColumnHidden === true ? 'hide-column' : 'show-column';
447
- _classPrivateFieldGet(this, _stateManager).triggerColumnModification(actionName, physicalColumnIndex);
280
+ _classPrivateFieldGet(_stateManager, this).triggerColumnModification(actionName, physicalColumnIndex);
448
281
  });
449
282
  }
450
- if (!_classPrivateFieldGet(this, _hidingIndexMapObserver) && this.enabled) {
451
- _classPrivateFieldSet(this, _hidingIndexMapObserver, this.hot.columnIndexMapper.createChangesObserver('hiding').subscribe(changes => {
283
+ if (!_classPrivateFieldGet(_hidingIndexMapObserver, this) && this.enabled) {
284
+ _classPrivateFieldSet(_hidingIndexMapObserver, this, this.hot.columnIndexMapper.createChangesObserver('hiding').subscribe(changes => {
452
285
  changes.forEach(_ref => {
453
286
  let {
454
287
  op,
@@ -457,7 +290,7 @@ export class NestedHeaders extends BasePlugin {
457
290
  } = _ref;
458
291
  if (op === 'replace') {
459
292
  const actionName = newValue === true ? 'hide-column' : 'show-column';
460
- _classPrivateFieldGet(this, _stateManager).triggerColumnModification(actionName, columnIndex);
293
+ _classPrivateFieldGet(_stateManager, this).triggerColumnModification(actionName, columnIndex);
461
294
  }
462
295
  });
463
296
  this.ghostTable.buildWidthsMap();
@@ -472,9 +305,9 @@ export class NestedHeaders extends BasePlugin {
472
305
  */
473
306
  disablePlugin() {
474
307
  this.clearColspans();
475
- _classPrivateFieldGet(this, _stateManager).clear();
476
- _classPrivateFieldGet(this, _hidingIndexMapObserver).unsubscribe();
477
- _classPrivateFieldSet(this, _hidingIndexMapObserver, null);
308
+ _classPrivateFieldGet(_stateManager, this).clear();
309
+ _classPrivateFieldGet(_hidingIndexMapObserver, this).unsubscribe();
310
+ _classPrivateFieldSet(_hidingIndexMapObserver, this, null);
478
311
  this.ghostTable.clear();
479
312
  super.disablePlugin();
480
313
  }
@@ -486,7 +319,7 @@ export class NestedHeaders extends BasePlugin {
486
319
  * @returns {StateManager}
487
320
  */
488
321
  getStateManager() {
489
- return _classPrivateFieldGet(this, _stateManager);
322
+ return _classPrivateFieldGet(_stateManager, this);
490
323
  }
491
324
 
492
325
  /**
@@ -496,7 +329,7 @@ export class NestedHeaders extends BasePlugin {
496
329
  * @returns {number}
497
330
  */
498
331
  getLayersCount() {
499
- return _classPrivateFieldGet(this, _stateManager).getLayersCount();
332
+ return _classPrivateFieldGet(_stateManager, this).getLayersCount();
500
333
  }
501
334
 
502
335
  /**
@@ -510,7 +343,7 @@ export class NestedHeaders extends BasePlugin {
510
343
  * @returns {object}
511
344
  */
512
345
  getHeaderSettings(headerLevel, columnIndex) {
513
- return _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, columnIndex);
346
+ return _classPrivateFieldGet(_stateManager, this).getHeaderSettings(headerLevel, columnIndex);
514
347
  }
515
348
 
516
349
  /**
@@ -579,7 +412,7 @@ export class NestedHeaders extends BasePlugin {
579
412
  colspan,
580
413
  isHidden,
581
414
  isPlaceholder
582
- } = (_classPrivateFieldGet2 = _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, visualColumnIndex)) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : {
415
+ } = (_classPrivateFieldGet2 = _classPrivateFieldGet(_stateManager, this).getHeaderSettings(headerLevel, visualColumnIndex)) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : {
583
416
  label: ''
584
417
  };
585
418
  if (isPlaceholder || isHidden) {
@@ -620,7 +453,7 @@ export class NestedHeaders extends BasePlugin {
620
453
  const {
621
454
  isHidden,
622
455
  isPlaceholder
623
- } = (_classPrivateFieldGet3 = _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, visualColumnIndex)) !== null && _classPrivateFieldGet3 !== void 0 ? _classPrivateFieldGet3 : {};
456
+ } = (_classPrivateFieldGet3 = _classPrivateFieldGet(_stateManager, this).getHeaderSettings(headerLevel, visualColumnIndex)) !== null && _classPrivateFieldGet3 !== void 0 ? _classPrivateFieldGet3 : {};
624
457
  if (isPlaceholder || isHidden) {
625
458
  return '';
626
459
  }
@@ -630,10 +463,10 @@ export class NestedHeaders extends BasePlugin {
630
463
  * Destroys the plugin instance.
631
464
  */
632
465
  destroy() {
633
- _classPrivateFieldSet(this, _stateManager, null);
634
- if (_classPrivateFieldGet(this, _hidingIndexMapObserver) !== null) {
635
- _classPrivateFieldGet(this, _hidingIndexMapObserver).unsubscribe();
636
- _classPrivateFieldSet(this, _hidingIndexMapObserver, null);
466
+ _classPrivateFieldSet(_stateManager, this, null);
467
+ if (_classPrivateFieldGet(_hidingIndexMapObserver, this) !== null) {
468
+ _classPrivateFieldGet(_hidingIndexMapObserver, this).unsubscribe();
469
+ _classPrivateFieldSet(_hidingIndexMapObserver, this, null);
637
470
  }
638
471
  super.destroy();
639
472
  }
@@ -649,10 +482,10 @@ export class NestedHeaders extends BasePlugin {
649
482
  if (coords.row >= 0 || coords.col < 0) {
650
483
  return;
651
484
  }
652
- return _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(coords.row, coords.col);
485
+ return _classPrivateFieldGet(_stateManager, this).getHeaderTreeNodeData(coords.row, coords.col);
653
486
  }
654
487
  }
655
- function _updateFocusHighlightPosition2() {
488
+ function _updateFocusHighlightPosition() {
656
489
  var _this$hot;
657
490
  const selection = (_this$hot = this.hot) === null || _this$hot === void 0 ? void 0 : _this$hot.getSelectedRangeLast();
658
491
  if (!selection) {
@@ -663,7 +496,7 @@ function _updateFocusHighlightPosition2() {
663
496
  } = selection;
664
497
  const isNestedHeadersRange = highlight.isHeader() && highlight.col >= 0;
665
498
  if (isNestedHeadersRange) {
666
- const columnIndex = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(highlight.row, highlight.col);
499
+ const columnIndex = _classPrivateFieldGet(_stateManager, this).findLeftMostColumnIndex(highlight.row, highlight.col);
667
500
  const focusHighlight = this.hot.selection.highlight.getFocus();
668
501
 
669
502
  // Correct the highlight/focus selection to highlight the correct TH element
@@ -673,7 +506,15 @@ function _updateFocusHighlightPosition2() {
673
506
  focusHighlight.commit();
674
507
  }
675
508
  }
676
- function _onBeforeViewportScrollHorizontally2(visualColumn) {
509
+ /**
510
+ * Allows to control to which column index the viewport will be scrolled. To ensure that the viewport
511
+ * is scrolled to the correct column for the nested header the most left and the most right visual column
512
+ * indexes are used.
513
+ *
514
+ * @param {number} visualColumn A visual column index to which the viewport will be scrolled.
515
+ * @returns {number}
516
+ */
517
+ function _onBeforeViewportScrollHorizontally(visualColumn) {
677
518
  const selection = this.hot.getSelectedRangeLast();
678
519
  if (!selection) {
679
520
  return visualColumn;
@@ -687,8 +528,8 @@ function _onBeforeViewportScrollHorizontally2(visualColumn) {
687
528
  }
688
529
  const firstColumn = this.hot.view.getFirstFullyVisibleColumn();
689
530
  const lastColumn = this.hot.view.getLastFullyVisibleColumn();
690
- const mostLeftColumnIndex = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(highlight.row, highlight.col);
691
- const mostRightColumnIndex = _classPrivateFieldGet(this, _stateManager).findRightMostColumnIndex(highlight.row, highlight.col);
531
+ const mostLeftColumnIndex = _classPrivateFieldGet(_stateManager, this).findLeftMostColumnIndex(highlight.row, highlight.col);
532
+ const mostRightColumnIndex = _classPrivateFieldGet(_stateManager, this).findRightMostColumnIndex(highlight.row, highlight.col);
692
533
 
693
534
  // do not scroll the viewport when the header is wider than the viewport
694
535
  if (mostLeftColumnIndex < firstColumn && mostRightColumnIndex > lastColumn) {
@@ -696,8 +537,16 @@ function _onBeforeViewportScrollHorizontally2(visualColumn) {
696
537
  }
697
538
  return mostLeftColumnIndex < firstColumn ? mostLeftColumnIndex : mostRightColumnIndex;
698
539
  }
699
- function _onBeforeHighlightingColumnHeader2(visualColumn, headerLevel, highlightMeta) {
700
- const headerNodeData = _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(headerLevel, visualColumn);
540
+ /**
541
+ * Allows to control which header DOM element will be used to highlight.
542
+ *
543
+ * @param {number} visualColumn A visual column index of the highlighted row header.
544
+ * @param {number} headerLevel A row header level that is currently highlighted.
545
+ * @param {object} highlightMeta An object with meta data that describes the highlight state.
546
+ * @returns {number}
547
+ */
548
+ function _onBeforeHighlightingColumnHeader(visualColumn, headerLevel, highlightMeta) {
549
+ const headerNodeData = _classPrivateFieldGet(_stateManager, this).getHeaderTreeNodeData(headerLevel, visualColumn);
701
550
  if (!headerNodeData) {
702
551
  return visualColumn;
703
552
  }
@@ -709,7 +558,7 @@ function _onBeforeHighlightingColumnHeader2(visualColumn, headerLevel, highlight
709
558
  const {
710
559
  isRoot,
711
560
  colspan
712
- } = _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, visualColumn);
561
+ } = _classPrivateFieldGet(_stateManager, this).getHeaderSettings(headerLevel, visualColumn);
713
562
  if (selectionType === HEADER_TYPE) {
714
563
  if (!isRoot) {
715
564
  return headerNodeData.columnIndex;
@@ -722,7 +571,19 @@ function _onBeforeHighlightingColumnHeader2(visualColumn, headerLevel, highlight
722
571
  }
723
572
  return visualColumn;
724
573
  }
725
- function _onBeforeCopy2(data, copyableRanges, _ref2) {
574
+ /**
575
+ * Listens the `beforeCopy` hook that allows processing the copied column headers so that the
576
+ * merged column headers do not propagate the value for each column but only once at the beginning
577
+ * of the column.
578
+ *
579
+ * @private
580
+ * @param {Array[]} data An array of arrays which contains data to copied.
581
+ * @param {object[]} copyableRanges An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
582
+ * which will copied.
583
+ * @param {{ columnHeadersCount: number }} copiedHeadersCount An object with keys that holds information with
584
+ * the number of copied headers.
585
+ */
586
+ function _onBeforeCopy(data, copyableRanges, _ref2) {
726
587
  let {
727
588
  columnHeadersCount
728
589
  } = _ref2;
@@ -751,7 +612,7 @@ function _onBeforeCopy2(data, copyableRanges, _ref2) {
751
612
  if (zeroBasedColumnIndex === 0) {
752
613
  continue; // eslint-disable-line no-continue
753
614
  }
754
- const isRoot = (_classPrivateFieldGet4 = _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(row, column)) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.isRoot;
615
+ const isRoot = (_classPrivateFieldGet4 = _classPrivateFieldGet(_stateManager, this).getHeaderTreeNodeData(row, column)) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.isRoot;
755
616
  if (isRoot === false) {
756
617
  data[zeroBasedColumnHeaderLevel][zeroBasedColumnIndex] = '';
757
618
  }
@@ -759,7 +620,16 @@ function _onBeforeCopy2(data, copyableRanges, _ref2) {
759
620
  }
760
621
  }
761
622
  }
762
- function _onBeforeOnCellMouseDown2(event, coords, TD, controller) {
623
+ /**
624
+ * Allows blocking the column selection that is controlled by the core Selection module.
625
+ *
626
+ * @param {MouseEvent} event Mouse event.
627
+ * @param {CellCoords} coords Cell coords object containing the visual coordinates of the clicked cell.
628
+ * @param {CellCoords} TD The table cell or header element.
629
+ * @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
630
+ * a boolean value that allows or disallows changing the selection for that particular area.
631
+ */
632
+ function _onBeforeOnCellMouseDown(event, coords, TD, controller) {
763
633
  const headerNodeData = this._getHeaderTreeNodeDataByCoords(coords);
764
634
  if (headerNodeData) {
765
635
  // Block the Selection module in controlling how the columns are selected. Pass the
@@ -767,13 +637,19 @@ function _onBeforeOnCellMouseDown2(event, coords, TD, controller) {
767
637
  controller.column = true;
768
638
  }
769
639
  }
770
- function _onAfterOnCellMouseDown2(event, coords) {
640
+ /**
641
+ * Allows to control how the column selection based on the coordinates and the nested headers is made.
642
+ *
643
+ * @param {MouseEvent} event Mouse event.
644
+ * @param {CellCoords} coords Cell coords object containing the visual coordinates of the clicked cell.
645
+ */
646
+ function _onAfterOnCellMouseDown(event, coords) {
771
647
  const headerNodeData = this._getHeaderTreeNodeDataByCoords(coords);
772
648
  if (!headerNodeData) {
773
649
  return;
774
650
  }
775
- _classPrivateFieldSet(this, _focusInitialCoords, coords.clone());
776
- _classPrivateFieldSet(this, _isColumnsSelectionInProgress, true);
651
+ _classPrivateFieldSet(_focusInitialCoords, this, coords.clone());
652
+ _classPrivateFieldSet(_isColumnsSelectionInProgress, this, true);
777
653
  const {
778
654
  selection
779
655
  } = this.hot;
@@ -804,7 +680,16 @@ function _onAfterOnCellMouseDown2(event, coords) {
804
680
  // The plugin takes control of how the columns are selected.
805
681
  selection.selectColumns(...columnsToSelect);
806
682
  }
807
- function _onBeforeOnCellMouseOver2(event, coords, TD, controller) {
683
+ /**
684
+ * Makes the header-selection properly select the nested headers.
685
+ *
686
+ * @param {MouseEvent} event Mouse event.
687
+ * @param {CellCoords} coords Cell coords object containing the visual coordinates of the clicked cell.
688
+ * @param {HTMLElement} TD The cell element.
689
+ * @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
690
+ * a boolean value that allows or disallows changing the selection for that particular area.
691
+ */
692
+ function _onBeforeOnCellMouseOver(event, coords, TD, controller) {
808
693
  if (!this.hot.view.isMouseDown()) {
809
694
  return;
810
695
  }
@@ -838,14 +723,21 @@ function _onBeforeOnCellMouseOver2(event, coords, TD, controller) {
838
723
  }
839
724
  this.hot.selection.selectColumns(...columnsToSelect);
840
725
  }
841
- function _onBeforeOnCellMouseUp2() {
842
- _classPrivateFieldSet(this, _isColumnsSelectionInProgress, false);
726
+ /**
727
+ * Switches internal flag about selection progress to `false`.
728
+ */
729
+ function _onBeforeOnCellMouseUp() {
730
+ _classPrivateFieldSet(_isColumnsSelectionInProgress, this, false);
843
731
  }
844
- function _onBeforeSelectionHighlightSet2() {
732
+ /**
733
+ * The hook checks and ensures that the focus position that depends on the selected columns
734
+ * range is always positioned within the range.
735
+ */
736
+ function _onBeforeSelectionHighlightSet() {
845
737
  const {
846
738
  navigableHeaders
847
739
  } = this.hot.getSettings();
848
- if (!this.hot.view.isMouseDown() || !_classPrivateFieldGet(this, _isColumnsSelectionInProgress) || !navigableHeaders) {
740
+ if (!this.hot.view.isMouseDown() || !_classPrivateFieldGet(_isColumnsSelectionInProgress, this) || !navigableHeaders) {
849
741
  return;
850
742
  }
851
743
  const selectedRange = this.hot.getSelectedRangeLast();
@@ -854,15 +746,20 @@ function _onBeforeSelectionHighlightSet2() {
854
746
  const {
855
747
  columnIndex,
856
748
  origColspan
857
- } = _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(_classPrivateFieldGet(this, _focusInitialCoords).row, _classPrivateFieldGet(this, _focusInitialCoords).col);
858
- selectedRange.setHighlight(_classPrivateFieldGet(this, _focusInitialCoords));
749
+ } = _classPrivateFieldGet(_stateManager, this).getHeaderTreeNodeData(_classPrivateFieldGet(_focusInitialCoords, this).row, _classPrivateFieldGet(_focusInitialCoords, this).col);
750
+ selectedRange.setHighlight(_classPrivateFieldGet(_focusInitialCoords, this));
859
751
  if (origColspan > selectedRange.getWidth() || columnIndex < columnStart || columnIndex + origColspan - 1 > columnEnd) {
860
- const headerLevel = _classPrivateFieldGet(this, _stateManager).findTopMostEntireHeaderLevel(clamp(columnStart, columnIndex, columnIndex + origColspan - 1), clamp(columnEnd, columnIndex, columnIndex + origColspan - 1));
752
+ const headerLevel = _classPrivateFieldGet(_stateManager, this).findTopMostEntireHeaderLevel(clamp(columnStart, columnIndex, columnIndex + origColspan - 1), clamp(columnEnd, columnIndex, columnIndex + origColspan - 1));
861
753
  selectedRange.highlight.row = headerLevel;
862
754
  selectedRange.highlight.col = selectedRange.from.col;
863
755
  }
864
756
  }
865
- function _onModifyTransformStart2(delta) {
757
+ /**
758
+ * `modifyTransformStart` hook is called every time the keyboard navigation is used.
759
+ *
760
+ * @param {object} delta The transformation delta.
761
+ */
762
+ function _onModifyTransformStart(delta) {
866
763
  const {
867
764
  highlight
868
765
  } = this.hot.getSelectedRangeLast();
@@ -871,8 +768,8 @@ function _onModifyTransformStart2(delta) {
871
768
  if (!isNestedHeadersRange) {
872
769
  return;
873
770
  }
874
- const visualColumnIndexStart = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(nextCoords.row, nextCoords.col);
875
- const visualColumnIndexEnd = _classPrivateFieldGet(this, _stateManager).findRightMostColumnIndex(nextCoords.row, nextCoords.col);
771
+ const visualColumnIndexStart = _classPrivateFieldGet(_stateManager, this).findLeftMostColumnIndex(nextCoords.row, nextCoords.col);
772
+ const visualColumnIndexEnd = _classPrivateFieldGet(_stateManager, this).findRightMostColumnIndex(nextCoords.row, nextCoords.col);
876
773
  if (delta.col < 0) {
877
774
  const nextColumn = highlight.col >= visualColumnIndexStart && highlight.col <= visualColumnIndexEnd ? visualColumnIndexStart - 1 : visualColumnIndexEnd;
878
775
  const notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(nextColumn, -1);
@@ -895,7 +792,14 @@ function _onModifyTransformStart2(delta) {
895
792
  }
896
793
  }
897
794
  }
898
- function _onBeforeSelectColumns2(from, to) {
795
+ /**
796
+ * The hook observes the column selection from the Selection API and modifies the column range to
797
+ * ensure that the whole nested column will be covered.
798
+ *
799
+ * @param {CellCoords} from The coords object where the selection starts.
800
+ * @param {CellCoords} to The coords object where the selection ends.
801
+ */
802
+ function _onBeforeSelectColumns(from, to) {
899
803
  const headerLevel = from.row;
900
804
  const startNodeData = this._getHeaderTreeNodeDataByCoords({
901
805
  row: headerLevel,
@@ -923,18 +827,28 @@ function _onBeforeSelectColumns2(from, to) {
923
827
  }
924
828
  }
925
829
  }
926
- function _onAfterGetColumnHeaderRenderers2(renderersArray) {
830
+ /**
831
+ * `afterGetColumnHeader` hook callback - prepares the header structure.
832
+ *
833
+ * @param {Array} renderersArray Array of renderers.
834
+ */
835
+ function _onAfterGetColumnHeaderRenderers(renderersArray) {
927
836
  renderersArray.length = 0;
928
- for (let headerLayer = 0; headerLayer < _classPrivateFieldGet(this, _stateManager).getLayersCount(); headerLayer++) {
837
+ for (let headerLayer = 0; headerLayer < _classPrivateFieldGet(_stateManager, this).getLayersCount(); headerLayer++) {
929
838
  renderersArray.push(this.headerRendererFactory(headerLayer));
930
839
  }
931
840
  }
932
- function _onAfterViewportColumnCalculatorOverride2(calc) {
933
- const headerLayersCount = _classPrivateFieldGet(this, _stateManager).getLayersCount();
841
+ /**
842
+ * Make the renderer render the first nested column in its entirety.
843
+ *
844
+ * @param {object} calc Viewport column calculator.
845
+ */
846
+ function _onAfterViewportColumnCalculatorOverride(calc) {
847
+ const headerLayersCount = _classPrivateFieldGet(_stateManager, this).getLayersCount();
934
848
  let newStartColumn = calc.startColumn;
935
849
  let nonRenderable = !!headerLayersCount;
936
850
  for (let headerLayer = 0; headerLayer < headerLayersCount; headerLayer++) {
937
- const startColumn = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(headerLayer, calc.startColumn);
851
+ const startColumn = _classPrivateFieldGet(_stateManager, this).findLeftMostColumnIndex(headerLayer, calc.startColumn);
938
852
  const renderedStartColumn = this.hot.columnIndexMapper.getRenderableFromVisualIndex(startColumn);
939
853
 
940
854
  // If any of the headers for that column index is rendered, all of them should be rendered properly, see
@@ -953,31 +867,67 @@ function _onAfterViewportColumnCalculatorOverride2(calc) {
953
867
 
954
868
  // If no headers for the provided column index are renderable, start rendering from the beginning of the upmost
955
869
  // header for that position.
956
- calc.startColumn = nonRenderable ? _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(0, newStartColumn).columnIndex : newStartColumn;
870
+ calc.startColumn = nonRenderable ? _classPrivateFieldGet(_stateManager, this).getHeaderTreeNodeData(0, newStartColumn).columnIndex : newStartColumn;
957
871
  }
958
- function _onModifyColWidth2(width, column) {
872
+ /**
873
+ * `modifyColWidth` hook callback - returns width from cache, when is greater than incoming from hook.
874
+ *
875
+ * @param {number} width Width from hook.
876
+ * @param {number} column Visual index of an column.
877
+ * @returns {number}
878
+ */
879
+ function _onModifyColWidth(width, column) {
959
880
  const cachedWidth = this.ghostTable.getWidth(column);
960
881
  return width > cachedWidth ? width : cachedWidth;
961
882
  }
962
- function _onModifyColumnHeaderValue2(value, visualColumnIndex, headerLevel) {
883
+ /**
884
+ * Listens the `modifyColumnHeaderValue` hook that overwrites the column headers values based on
885
+ * the internal state and settings of the plugin.
886
+ *
887
+ * @param {string} value The column header value.
888
+ * @param {number} visualColumnIndex The visual column index.
889
+ * @param {number} headerLevel The index of header level. The header level accepts positive (0 to N)
890
+ * and negative (-1 to -N) values. For positive values, 0 points to the
891
+ * top most header, and for negative direction, -1 points to the most bottom
892
+ * header (the header closest to the cells).
893
+ * @returns {string} Returns the column header value to update.
894
+ */
895
+ function _onModifyColumnHeaderValue(value, visualColumnIndex, headerLevel) {
963
896
  var _classPrivateFieldGet5;
964
897
  const {
965
898
  label
966
- } = (_classPrivateFieldGet5 = _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(headerLevel, visualColumnIndex)) !== null && _classPrivateFieldGet5 !== void 0 ? _classPrivateFieldGet5 : {
899
+ } = (_classPrivateFieldGet5 = _classPrivateFieldGet(_stateManager, this).getHeaderTreeNodeData(headerLevel, visualColumnIndex)) !== null && _classPrivateFieldGet5 !== void 0 ? _classPrivateFieldGet5 : {
967
900
  label: ''
968
901
  };
969
902
  return label;
970
903
  }
971
- function _onModifyFocusedElement2(row, column) {
904
+ /**
905
+ * `modifyFocusedElement` hook callback.
906
+ *
907
+ * @param {number} row Row index.
908
+ * @param {number} column Column index.
909
+ * @returns {HTMLTableCellElement} The `TH` element to be focused.
910
+ */
911
+ function _onModifyFocusedElement(row, column) {
972
912
  if (row < 0) {
973
- return this.hot.getCell(row, _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(row, column), true);
913
+ return this.hot.getCell(row, _classPrivateFieldGet(_stateManager, this).findLeftMostColumnIndex(row, column), true);
974
914
  }
975
915
  }
976
- function _onInit2() {
916
+ /**
917
+ * Updates the plugin state after HoT initialization.
918
+ */
919
+ function _onInit() {
977
920
  // @TODO: Workaround for broken plugin initialization abstraction.
978
921
  this.updatePlugin();
979
922
  }
980
- function _onAfterLoadData2(sourceData, initialLoad) {
923
+ /**
924
+ * Updates the plugin state after new dataset load.
925
+ *
926
+ * @param {Array[]} sourceData Array of arrays or array of objects containing data.
927
+ * @param {boolean} initialLoad Flag that determines whether the data has been loaded
928
+ * during the initialization.
929
+ */
930
+ function _onAfterLoadData(sourceData, initialLoad) {
981
931
  if (!initialLoad) {
982
932
  this.updatePlugin();
983
933
  }