handsontable 0.0.0-next-200799f-20240311 → 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 -79
  32. package/core.mjs +22 -79
  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 +7620 -10327
  42. package/dist/handsontable.full.min.css +2 -2
  43. package/dist/handsontable.full.min.js +277 -277
  44. package/dist/handsontable.js +5525 -7779
  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 +355 -595
  178. package/plugins/mergeCells/mergeCells.mjs +355 -595
  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 +4 -4
  208. package/renderers/checkboxRenderer/checkboxRenderer.mjs +4 -4
  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 -252
  214. package/selection/selection.mjs +59 -251
  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 -258
  272. package/plugins/mergeCells/focusOrder.mjs +0 -253
@@ -5,11 +5,9 @@ require("core-js/modules/es.error.cause.js");
5
5
  var _cursor2 = require("./cursor");
6
6
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
7
7
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
8
- function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
9
- function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
10
- function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
11
- function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
12
- 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; } }
8
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
9
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
10
+ 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"); }
13
11
  /**
14
12
  * Helper class for positioning the menu and submenus in the correct place relative to the
15
13
  * cursor position (DOM element or mouse coordinates).
@@ -29,54 +27,39 @@ class Positioner {
29
27
  *
30
28
  * @type {HTMLElement}
31
29
  */
32
- _classPrivateFieldInitSpec(this, _container, {
33
- writable: true,
34
- value: void 0
35
- });
30
+ _classPrivateFieldInitSpec(this, _container, void 0);
36
31
  /**
37
32
  * For positioning the submenu, the parent element is used to calculate offsets to ensure that submenu
38
33
  * is positioned right next to the parent menu.
39
34
  *
40
35
  * @type {HTMLElement}
41
36
  */
42
- _classPrivateFieldInitSpec(this, _parentContainer, {
43
- writable: true,
44
- value: void 0
45
- });
37
+ _classPrivateFieldInitSpec(this, _parentContainer, void 0);
46
38
  /**
47
39
  * The instance of the Cursor class.
48
40
  *
49
41
  * @type {Cursor}
50
42
  */
51
- _classPrivateFieldInitSpec(this, _cursor, {
52
- writable: true,
53
- value: void 0
54
- });
43
+ _classPrivateFieldInitSpec(this, _cursor, void 0);
55
44
  /**
56
45
  * Enabling the option allows changing the position calculation so that the menus (or submenus)
57
46
  * are always placed within the visible viewport of the browser.
58
47
  *
59
48
  * @type {boolean}
60
49
  */
61
- _classPrivateFieldInitSpec(this, _keepInViewport, {
62
- writable: true,
63
- value: false
64
- });
50
+ _classPrivateFieldInitSpec(this, _keepInViewport, false);
65
51
  /**
66
52
  * Allows apply the position offset for directions.
67
53
  *
68
54
  * @type {{above: number, below: number, left: number, right: number}}
69
55
  */
70
56
  _classPrivateFieldInitSpec(this, _offset, {
71
- writable: true,
72
- value: {
73
- above: 0,
74
- below: 0,
75
- left: 0,
76
- right: 0
77
- }
57
+ above: 0,
58
+ below: 0,
59
+ left: 0,
60
+ right: 0
78
61
  });
79
- _classPrivateFieldSet(this, _keepInViewport, keepInViewport);
62
+ _classPrivateFieldSet(_keepInViewport, this, keepInViewport);
80
63
  }
81
64
 
82
65
  /**
@@ -88,7 +71,7 @@ class Positioner {
88
71
  */
89
72
  setOffset(direction) {
90
73
  let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
91
- _classPrivateFieldGet(this, _offset)[direction] = offset;
74
+ _classPrivateFieldGet(_offset, this)[direction] = offset;
92
75
  return this;
93
76
  }
94
77
 
@@ -99,7 +82,7 @@ class Positioner {
99
82
  * @returns {Positioner}
100
83
  */
101
84
  setElement(container) {
102
- _classPrivateFieldSet(this, _container, container);
85
+ _classPrivateFieldSet(_container, this, container);
103
86
  return this;
104
87
  }
105
88
 
@@ -110,7 +93,7 @@ class Positioner {
110
93
  * @returns {Positioner}
111
94
  */
112
95
  setParentElement(container) {
113
- _classPrivateFieldSet(this, _parentContainer, container);
96
+ _classPrivateFieldSet(_parentContainer, this, container);
114
97
  return this;
115
98
  }
116
99
 
@@ -121,11 +104,11 @@ class Positioner {
121
104
  * mouse event object.
122
105
  */
123
106
  updatePosition(coords) {
124
- _classPrivateFieldSet(this, _cursor, new _cursor2.Cursor(coords, _classPrivateFieldGet(this, _container).ownerDocument.defaultView));
125
- if (_classPrivateFieldGet(this, _keepInViewport)) {
126
- if (_classPrivateFieldGet(this, _cursor).fitsBelow(_classPrivateFieldGet(this, _container))) {
107
+ _classPrivateFieldSet(_cursor, this, new _cursor2.Cursor(coords, _classPrivateFieldGet(_container, this).ownerDocument.defaultView));
108
+ if (_classPrivateFieldGet(_keepInViewport, this)) {
109
+ if (_classPrivateFieldGet(_cursor, this).fitsBelow(_classPrivateFieldGet(_container, this))) {
127
110
  this.setPositionBelowCursor();
128
- } else if (_classPrivateFieldGet(this, _cursor).fitsAbove(_classPrivateFieldGet(this, _container))) {
111
+ } else if (_classPrivateFieldGet(_cursor, this).fitsAbove(_classPrivateFieldGet(_container, this))) {
129
112
  this.setPositionAboveCursor();
130
113
  } else {
131
114
  this.setPositionBelowCursor();
@@ -141,13 +124,13 @@ class Positioner {
141
124
  * Updates the menu horizontal position.
142
125
  */
143
126
  updateHorizontalPosition() {
144
- if (_classPrivateFieldGet(this, _container).dir === 'rtl') {
145
- if (_classPrivateFieldGet(this, _cursor).fitsOnLeft(_classPrivateFieldGet(this, _container))) {
127
+ if (_classPrivateFieldGet(_container, this).dir === 'rtl') {
128
+ if (_classPrivateFieldGet(_cursor, this).fitsOnLeft(_classPrivateFieldGet(_container, this))) {
146
129
  this.setPositionOnLeftOfCursor();
147
130
  } else {
148
131
  this.setPositionOnRightOfCursor();
149
132
  }
150
- } else if (_classPrivateFieldGet(this, _cursor).fitsOnRight(_classPrivateFieldGet(this, _container))) {
133
+ } else if (_classPrivateFieldGet(_cursor, this).fitsOnRight(_classPrivateFieldGet(_container, this))) {
151
134
  this.setPositionOnRightOfCursor();
152
135
  } else {
153
136
  this.setPositionOnLeftOfCursor();
@@ -158,56 +141,56 @@ class Positioner {
158
141
  * Sets the menu position above the cursor object.
159
142
  */
160
143
  setPositionAboveCursor() {
161
- let top = _classPrivateFieldGet(this, _offset).above + _classPrivateFieldGet(this, _cursor).top - _classPrivateFieldGet(this, _container).offsetHeight;
162
- if (_classPrivateFieldGet(this, _parentContainer)) {
163
- top = _classPrivateFieldGet(this, _cursor).top + _classPrivateFieldGet(this, _cursor).cellHeight - _classPrivateFieldGet(this, _container).offsetHeight + 3;
144
+ let top = _classPrivateFieldGet(_offset, this).above + _classPrivateFieldGet(_cursor, this).top - _classPrivateFieldGet(_container, this).offsetHeight;
145
+ if (_classPrivateFieldGet(_parentContainer, this)) {
146
+ top = _classPrivateFieldGet(_cursor, this).top + _classPrivateFieldGet(_cursor, this).cellHeight - _classPrivateFieldGet(_container, this).offsetHeight + 3;
164
147
  }
165
- _classPrivateFieldGet(this, _container).style.top = `${top}px`;
148
+ _classPrivateFieldGet(_container, this).style.top = `${top}px`;
166
149
  }
167
150
 
168
151
  /**
169
152
  * Sets the menu position below the cursor object.
170
153
  */
171
154
  setPositionBelowCursor() {
172
- let top = _classPrivateFieldGet(this, _offset).below + _classPrivateFieldGet(this, _cursor).top + 1;
173
- if (_classPrivateFieldGet(this, _parentContainer)) {
174
- top = _classPrivateFieldGet(this, _cursor).top - 1;
155
+ let top = _classPrivateFieldGet(_offset, this).below + _classPrivateFieldGet(_cursor, this).top + 1;
156
+ if (_classPrivateFieldGet(_parentContainer, this)) {
157
+ top = _classPrivateFieldGet(_cursor, this).top - 1;
175
158
  }
176
- _classPrivateFieldGet(this, _container).style.top = `${top}px`;
159
+ _classPrivateFieldGet(_container, this).style.top = `${top}px`;
177
160
  }
178
161
 
179
162
  /**
180
163
  * Sets the menu position on the right of the cursor object.
181
164
  */
182
165
  setPositionOnRightOfCursor() {
183
- let left = _classPrivateFieldGet(this, _cursor).left;
184
- if (_classPrivateFieldGet(this, _parentContainer)) {
166
+ let left = _classPrivateFieldGet(_cursor, this).left;
167
+ if (_classPrivateFieldGet(_parentContainer, this)) {
185
168
  const {
186
169
  right: parentMenuRight
187
- } = _classPrivateFieldGet(this, _parentContainer).getBoundingClientRect();
170
+ } = _classPrivateFieldGet(_parentContainer, this).getBoundingClientRect();
188
171
 
189
172
  // move the sub menu by the width of the parent's border (usually by 1-2 pixels)
190
- left += _classPrivateFieldGet(this, _cursor).cellWidth + parentMenuRight - (_classPrivateFieldGet(this, _cursor).left + _classPrivateFieldGet(this, _cursor).cellWidth);
173
+ left += _classPrivateFieldGet(_cursor, this).cellWidth + parentMenuRight - (_classPrivateFieldGet(_cursor, this).left + _classPrivateFieldGet(_cursor, this).cellWidth);
191
174
  } else {
192
- left += _classPrivateFieldGet(this, _offset).right;
175
+ left += _classPrivateFieldGet(_offset, this).right;
193
176
  }
194
- _classPrivateFieldGet(this, _container).style.left = `${left}px`;
177
+ _classPrivateFieldGet(_container, this).style.left = `${left}px`;
195
178
  }
196
179
 
197
180
  /**
198
181
  * Sets the menu position on the left of the cursor object.
199
182
  */
200
183
  setPositionOnLeftOfCursor() {
201
- let left = _classPrivateFieldGet(this, _offset).left + _classPrivateFieldGet(this, _cursor).left - _classPrivateFieldGet(this, _container).offsetWidth;
202
- if (_classPrivateFieldGet(this, _parentContainer)) {
184
+ let left = _classPrivateFieldGet(_offset, this).left + _classPrivateFieldGet(_cursor, this).left - _classPrivateFieldGet(_container, this).offsetWidth;
185
+ if (_classPrivateFieldGet(_parentContainer, this)) {
203
186
  const {
204
187
  left: parentMenuLeft
205
- } = _classPrivateFieldGet(this, _parentContainer).getBoundingClientRect();
188
+ } = _classPrivateFieldGet(_parentContainer, this).getBoundingClientRect();
206
189
 
207
190
  // move the sub menu by the width of the parent's border (usually by 1-2 pixels)
208
- left -= _classPrivateFieldGet(this, _cursor).left - parentMenuLeft;
191
+ left -= _classPrivateFieldGet(_cursor, this).left - parentMenuLeft;
209
192
  }
210
- _classPrivateFieldGet(this, _container).style.left = `${left}px`;
193
+ _classPrivateFieldGet(_container, this).style.left = `${left}px`;
211
194
  }
212
195
  }
213
196
  exports.Positioner = Positioner;
@@ -1,11 +1,9 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
2
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
3
3
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
4
- function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
5
- function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
6
- function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
7
- function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
8
- 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; } }
4
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
5
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
6
+ 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"); }
9
7
  import { Cursor } from "./cursor.mjs";
10
8
  /**
11
9
  * Helper class for positioning the menu and submenus in the correct place relative to the
@@ -26,54 +24,39 @@ export class Positioner {
26
24
  *
27
25
  * @type {HTMLElement}
28
26
  */
29
- _classPrivateFieldInitSpec(this, _container, {
30
- writable: true,
31
- value: void 0
32
- });
27
+ _classPrivateFieldInitSpec(this, _container, void 0);
33
28
  /**
34
29
  * For positioning the submenu, the parent element is used to calculate offsets to ensure that submenu
35
30
  * is positioned right next to the parent menu.
36
31
  *
37
32
  * @type {HTMLElement}
38
33
  */
39
- _classPrivateFieldInitSpec(this, _parentContainer, {
40
- writable: true,
41
- value: void 0
42
- });
34
+ _classPrivateFieldInitSpec(this, _parentContainer, void 0);
43
35
  /**
44
36
  * The instance of the Cursor class.
45
37
  *
46
38
  * @type {Cursor}
47
39
  */
48
- _classPrivateFieldInitSpec(this, _cursor, {
49
- writable: true,
50
- value: void 0
51
- });
40
+ _classPrivateFieldInitSpec(this, _cursor, void 0);
52
41
  /**
53
42
  * Enabling the option allows changing the position calculation so that the menus (or submenus)
54
43
  * are always placed within the visible viewport of the browser.
55
44
  *
56
45
  * @type {boolean}
57
46
  */
58
- _classPrivateFieldInitSpec(this, _keepInViewport, {
59
- writable: true,
60
- value: false
61
- });
47
+ _classPrivateFieldInitSpec(this, _keepInViewport, false);
62
48
  /**
63
49
  * Allows apply the position offset for directions.
64
50
  *
65
51
  * @type {{above: number, below: number, left: number, right: number}}
66
52
  */
67
53
  _classPrivateFieldInitSpec(this, _offset, {
68
- writable: true,
69
- value: {
70
- above: 0,
71
- below: 0,
72
- left: 0,
73
- right: 0
74
- }
54
+ above: 0,
55
+ below: 0,
56
+ left: 0,
57
+ right: 0
75
58
  });
76
- _classPrivateFieldSet(this, _keepInViewport, keepInViewport);
59
+ _classPrivateFieldSet(_keepInViewport, this, keepInViewport);
77
60
  }
78
61
 
79
62
  /**
@@ -85,7 +68,7 @@ export class Positioner {
85
68
  */
86
69
  setOffset(direction) {
87
70
  let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
88
- _classPrivateFieldGet(this, _offset)[direction] = offset;
71
+ _classPrivateFieldGet(_offset, this)[direction] = offset;
89
72
  return this;
90
73
  }
91
74
 
@@ -96,7 +79,7 @@ export class Positioner {
96
79
  * @returns {Positioner}
97
80
  */
98
81
  setElement(container) {
99
- _classPrivateFieldSet(this, _container, container);
82
+ _classPrivateFieldSet(_container, this, container);
100
83
  return this;
101
84
  }
102
85
 
@@ -107,7 +90,7 @@ export class Positioner {
107
90
  * @returns {Positioner}
108
91
  */
109
92
  setParentElement(container) {
110
- _classPrivateFieldSet(this, _parentContainer, container);
93
+ _classPrivateFieldSet(_parentContainer, this, container);
111
94
  return this;
112
95
  }
113
96
 
@@ -118,11 +101,11 @@ export class Positioner {
118
101
  * mouse event object.
119
102
  */
120
103
  updatePosition(coords) {
121
- _classPrivateFieldSet(this, _cursor, new Cursor(coords, _classPrivateFieldGet(this, _container).ownerDocument.defaultView));
122
- if (_classPrivateFieldGet(this, _keepInViewport)) {
123
- if (_classPrivateFieldGet(this, _cursor).fitsBelow(_classPrivateFieldGet(this, _container))) {
104
+ _classPrivateFieldSet(_cursor, this, new Cursor(coords, _classPrivateFieldGet(_container, this).ownerDocument.defaultView));
105
+ if (_classPrivateFieldGet(_keepInViewport, this)) {
106
+ if (_classPrivateFieldGet(_cursor, this).fitsBelow(_classPrivateFieldGet(_container, this))) {
124
107
  this.setPositionBelowCursor();
125
- } else if (_classPrivateFieldGet(this, _cursor).fitsAbove(_classPrivateFieldGet(this, _container))) {
108
+ } else if (_classPrivateFieldGet(_cursor, this).fitsAbove(_classPrivateFieldGet(_container, this))) {
126
109
  this.setPositionAboveCursor();
127
110
  } else {
128
111
  this.setPositionBelowCursor();
@@ -138,13 +121,13 @@ export class Positioner {
138
121
  * Updates the menu horizontal position.
139
122
  */
140
123
  updateHorizontalPosition() {
141
- if (_classPrivateFieldGet(this, _container).dir === 'rtl') {
142
- if (_classPrivateFieldGet(this, _cursor).fitsOnLeft(_classPrivateFieldGet(this, _container))) {
124
+ if (_classPrivateFieldGet(_container, this).dir === 'rtl') {
125
+ if (_classPrivateFieldGet(_cursor, this).fitsOnLeft(_classPrivateFieldGet(_container, this))) {
143
126
  this.setPositionOnLeftOfCursor();
144
127
  } else {
145
128
  this.setPositionOnRightOfCursor();
146
129
  }
147
- } else if (_classPrivateFieldGet(this, _cursor).fitsOnRight(_classPrivateFieldGet(this, _container))) {
130
+ } else if (_classPrivateFieldGet(_cursor, this).fitsOnRight(_classPrivateFieldGet(_container, this))) {
148
131
  this.setPositionOnRightOfCursor();
149
132
  } else {
150
133
  this.setPositionOnLeftOfCursor();
@@ -155,55 +138,55 @@ export class Positioner {
155
138
  * Sets the menu position above the cursor object.
156
139
  */
157
140
  setPositionAboveCursor() {
158
- let top = _classPrivateFieldGet(this, _offset).above + _classPrivateFieldGet(this, _cursor).top - _classPrivateFieldGet(this, _container).offsetHeight;
159
- if (_classPrivateFieldGet(this, _parentContainer)) {
160
- top = _classPrivateFieldGet(this, _cursor).top + _classPrivateFieldGet(this, _cursor).cellHeight - _classPrivateFieldGet(this, _container).offsetHeight + 3;
141
+ let top = _classPrivateFieldGet(_offset, this).above + _classPrivateFieldGet(_cursor, this).top - _classPrivateFieldGet(_container, this).offsetHeight;
142
+ if (_classPrivateFieldGet(_parentContainer, this)) {
143
+ top = _classPrivateFieldGet(_cursor, this).top + _classPrivateFieldGet(_cursor, this).cellHeight - _classPrivateFieldGet(_container, this).offsetHeight + 3;
161
144
  }
162
- _classPrivateFieldGet(this, _container).style.top = `${top}px`;
145
+ _classPrivateFieldGet(_container, this).style.top = `${top}px`;
163
146
  }
164
147
 
165
148
  /**
166
149
  * Sets the menu position below the cursor object.
167
150
  */
168
151
  setPositionBelowCursor() {
169
- let top = _classPrivateFieldGet(this, _offset).below + _classPrivateFieldGet(this, _cursor).top + 1;
170
- if (_classPrivateFieldGet(this, _parentContainer)) {
171
- top = _classPrivateFieldGet(this, _cursor).top - 1;
152
+ let top = _classPrivateFieldGet(_offset, this).below + _classPrivateFieldGet(_cursor, this).top + 1;
153
+ if (_classPrivateFieldGet(_parentContainer, this)) {
154
+ top = _classPrivateFieldGet(_cursor, this).top - 1;
172
155
  }
173
- _classPrivateFieldGet(this, _container).style.top = `${top}px`;
156
+ _classPrivateFieldGet(_container, this).style.top = `${top}px`;
174
157
  }
175
158
 
176
159
  /**
177
160
  * Sets the menu position on the right of the cursor object.
178
161
  */
179
162
  setPositionOnRightOfCursor() {
180
- let left = _classPrivateFieldGet(this, _cursor).left;
181
- if (_classPrivateFieldGet(this, _parentContainer)) {
163
+ let left = _classPrivateFieldGet(_cursor, this).left;
164
+ if (_classPrivateFieldGet(_parentContainer, this)) {
182
165
  const {
183
166
  right: parentMenuRight
184
- } = _classPrivateFieldGet(this, _parentContainer).getBoundingClientRect();
167
+ } = _classPrivateFieldGet(_parentContainer, this).getBoundingClientRect();
185
168
 
186
169
  // move the sub menu by the width of the parent's border (usually by 1-2 pixels)
187
- left += _classPrivateFieldGet(this, _cursor).cellWidth + parentMenuRight - (_classPrivateFieldGet(this, _cursor).left + _classPrivateFieldGet(this, _cursor).cellWidth);
170
+ left += _classPrivateFieldGet(_cursor, this).cellWidth + parentMenuRight - (_classPrivateFieldGet(_cursor, this).left + _classPrivateFieldGet(_cursor, this).cellWidth);
188
171
  } else {
189
- left += _classPrivateFieldGet(this, _offset).right;
172
+ left += _classPrivateFieldGet(_offset, this).right;
190
173
  }
191
- _classPrivateFieldGet(this, _container).style.left = `${left}px`;
174
+ _classPrivateFieldGet(_container, this).style.left = `${left}px`;
192
175
  }
193
176
 
194
177
  /**
195
178
  * Sets the menu position on the left of the cursor object.
196
179
  */
197
180
  setPositionOnLeftOfCursor() {
198
- let left = _classPrivateFieldGet(this, _offset).left + _classPrivateFieldGet(this, _cursor).left - _classPrivateFieldGet(this, _container).offsetWidth;
199
- if (_classPrivateFieldGet(this, _parentContainer)) {
181
+ let left = _classPrivateFieldGet(_offset, this).left + _classPrivateFieldGet(_cursor, this).left - _classPrivateFieldGet(_container, this).offsetWidth;
182
+ if (_classPrivateFieldGet(_parentContainer, this)) {
200
183
  const {
201
184
  left: parentMenuLeft
202
- } = _classPrivateFieldGet(this, _parentContainer).getBoundingClientRect();
185
+ } = _classPrivateFieldGet(_parentContainer, this).getBoundingClientRect();
203
186
 
204
187
  // move the sub menu by the width of the parent's border (usually by 1-2 pixels)
205
- left -= _classPrivateFieldGet(this, _cursor).left - parentMenuLeft;
188
+ left -= _classPrivateFieldGet(_cursor, this).left - parentMenuLeft;
206
189
  }
207
- _classPrivateFieldGet(this, _container).style.left = `${left}px`;
190
+ _classPrivateFieldGet(_container, this).style.left = `${left}px`;
208
191
  }
209
192
  }