handsontable 0.0.0-next-53a190b-20240403 → 0.0.0-next-5a535ed-20240403

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 (284) hide show
  1. package/3rdparty/walkontable/src/calculator/viewportColumns.js +17 -12
  2. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +17 -12
  3. package/3rdparty/walkontable/src/calculator/viewportRows.js +15 -10
  4. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +15 -10
  5. package/3rdparty/walkontable/src/cell/coords.js +17 -12
  6. package/3rdparty/walkontable/src/cell/coords.mjs +17 -12
  7. package/3rdparty/walkontable/src/cell/range.d.ts +1 -2
  8. package/3rdparty/walkontable/src/cell/range.js +28 -40
  9. package/3rdparty/walkontable/src/cell/range.mjs +28 -40
  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 +104 -72
  13. package/3rdparty/walkontable/src/event.mjs +104 -72
  14. package/3rdparty/walkontable/src/overlay/inlineStart.js +1 -15
  15. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -16
  16. package/3rdparty/walkontable/src/overlay/top.js +0 -11
  17. package/3rdparty/walkontable/src/overlay/top.mjs +1 -12
  18. package/3rdparty/walkontable/src/overlays.js +4 -46
  19. package/3rdparty/walkontable/src/overlays.mjs +4 -46
  20. package/3rdparty/walkontable/src/scroll.js +17 -15
  21. package/3rdparty/walkontable/src/scroll.mjs +17 -15
  22. package/3rdparty/walkontable/src/selection/manager.js +69 -48
  23. package/3rdparty/walkontable/src/selection/manager.mjs +69 -48
  24. package/3rdparty/walkontable/src/selection/scanner.js +42 -33
  25. package/3rdparty/walkontable/src/selection/scanner.mjs +42 -33
  26. package/3rdparty/walkontable/src/utils/columnStretching.js +44 -27
  27. package/3rdparty/walkontable/src/utils/columnStretching.mjs +44 -27
  28. package/3rdparty/walkontable/src/utils/orderView/view.js +1 -1
  29. package/3rdparty/walkontable/src/utils/orderView/view.mjs +1 -1
  30. package/base.js +2 -2
  31. package/base.mjs +2 -2
  32. package/core/viewportScroll/index.js +1 -4
  33. package/core/viewportScroll/index.mjs +1 -4
  34. package/core.d.ts +3 -4
  35. package/core.js +22 -77
  36. package/core.mjs +22 -77
  37. package/dataMap/dataSource.js +1 -1
  38. package/dataMap/dataSource.mjs +1 -1
  39. package/dataMap/metaManager/metaLayers/cellMeta.js +1 -1
  40. package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -1
  41. package/dataMap/metaManager/metaSchema.js +1 -1
  42. package/dataMap/metaManager/metaSchema.mjs +1 -1
  43. package/dataMap/replaceData.js +1 -1
  44. package/dataMap/replaceData.mjs +1 -1
  45. package/dist/handsontable.css +4 -4
  46. package/dist/handsontable.full.css +4 -4
  47. package/dist/handsontable.full.js +9121 -9062
  48. package/dist/handsontable.full.min.css +3 -3
  49. package/dist/handsontable.full.min.js +292 -292
  50. package/dist/handsontable.js +6573 -6967
  51. package/dist/handsontable.min.css +3 -3
  52. package/dist/handsontable.min.js +25 -25
  53. package/dist/languages/all.min.js +1 -1
  54. package/dist/languages/ar-AR.min.js +1 -1
  55. package/dist/languages/cs-CZ.min.js +1 -1
  56. package/dist/languages/de-CH.min.js +1 -1
  57. package/dist/languages/de-DE.min.js +1 -1
  58. package/dist/languages/en-US.min.js +1 -1
  59. package/dist/languages/es-MX.min.js +1 -1
  60. package/dist/languages/fr-FR.min.js +1 -1
  61. package/dist/languages/hr-HR.min.js +1 -1
  62. package/dist/languages/it-IT.min.js +1 -1
  63. package/dist/languages/ja-JP.min.js +1 -1
  64. package/dist/languages/ko-KR.min.js +1 -1
  65. package/dist/languages/lv-LV.min.js +1 -1
  66. package/dist/languages/nb-NO.min.js +1 -1
  67. package/dist/languages/nl-NL.min.js +1 -1
  68. package/dist/languages/pl-PL.min.js +1 -1
  69. package/dist/languages/pt-BR.min.js +1 -1
  70. package/dist/languages/ru-RU.min.js +1 -1
  71. package/dist/languages/sr-SP.min.js +1 -1
  72. package/dist/languages/zh-CN.min.js +1 -1
  73. package/dist/languages/zh-TW.min.js +1 -1
  74. package/editorManager.js +23 -25
  75. package/editorManager.mjs +23 -25
  76. package/editors/autocompleteEditor/autocompleteEditor.js +10 -6
  77. package/editors/autocompleteEditor/autocompleteEditor.mjs +10 -6
  78. package/editors/selectEditor/selectEditor.js +19 -20
  79. package/editors/selectEditor/selectEditor.mjs +19 -20
  80. package/eventManager.js +1 -1
  81. package/eventManager.mjs +1 -1
  82. package/focusManager.js +82 -64
  83. package/focusManager.mjs +82 -64
  84. package/helpers/dom/element.js +1 -23
  85. package/helpers/dom/element.mjs +1 -21
  86. package/helpers/mixed.js +1 -1
  87. package/helpers/mixed.mjs +1 -1
  88. package/helpers/object.js +2 -2
  89. package/helpers/object.mjs +2 -2
  90. package/index.d.ts +0 -10
  91. package/package.json +2 -7
  92. package/pluginHooks.d.ts +3 -4
  93. package/pluginHooks.js +38 -99
  94. package/pluginHooks.mjs +38 -99
  95. package/plugins/autoColumnSize/autoColumnSize.js +65 -49
  96. package/plugins/autoColumnSize/autoColumnSize.mjs +65 -49
  97. package/plugins/autoRowSize/autoRowSize.js +34 -28
  98. package/plugins/autoRowSize/autoRowSize.mjs +34 -28
  99. package/plugins/autofill/autofill.js +38 -30
  100. package/plugins/autofill/autofill.mjs +38 -30
  101. package/plugins/base/base.js +17 -12
  102. package/plugins/base/base.mjs +17 -12
  103. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +5 -5
  104. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +5 -5
  105. package/plugins/collapsibleColumns/collapsibleColumns.js +50 -59
  106. package/plugins/collapsibleColumns/collapsibleColumns.mjs +50 -59
  107. package/plugins/columnSorting/columnSorting.js +45 -49
  108. package/plugins/columnSorting/columnSorting.mjs +45 -49
  109. package/plugins/columnSummary/columnSummary.js +26 -22
  110. package/plugins/columnSummary/columnSummary.mjs +26 -22
  111. package/plugins/comments/comments.js +158 -116
  112. package/plugins/comments/comments.mjs +158 -116
  113. package/plugins/contextMenu/contextMenu.js +26 -20
  114. package/plugins/contextMenu/contextMenu.mjs +26 -20
  115. package/plugins/contextMenu/itemsFactory.js +1 -1
  116. package/plugins/contextMenu/itemsFactory.mjs +1 -1
  117. package/plugins/contextMenu/menu/defaultShortcutsList.js +10 -26
  118. package/plugins/contextMenu/menu/defaultShortcutsList.mjs +10 -26
  119. package/plugins/contextMenu/menu/menu.js +21 -13
  120. package/plugins/contextMenu/menu/menu.mjs +21 -13
  121. package/plugins/contextMenu/menu/positioner.js +58 -41
  122. package/plugins/contextMenu/menu/positioner.mjs +58 -41
  123. package/plugins/copyPaste/copyPaste.js +157 -116
  124. package/plugins/copyPaste/copyPaste.mjs +157 -116
  125. package/plugins/copyPaste/copyableRanges.js +66 -43
  126. package/plugins/copyPaste/copyableRanges.mjs +66 -43
  127. package/plugins/customBorders/customBorders.js +13 -11
  128. package/plugins/customBorders/customBorders.mjs +13 -11
  129. package/plugins/dragToScroll/dragToScroll.js +6 -6
  130. package/plugins/dragToScroll/dragToScroll.mjs +6 -6
  131. package/plugins/dropdownMenu/dropdownMenu.js +106 -80
  132. package/plugins/dropdownMenu/dropdownMenu.mjs +106 -80
  133. package/plugins/exportFile/dataProvider.js +1 -1
  134. package/plugins/exportFile/dataProvider.mjs +1 -1
  135. package/plugins/filters/component/actionBar.js +9 -9
  136. package/plugins/filters/component/actionBar.mjs +8 -8
  137. package/plugins/filters/component/condition.js +15 -13
  138. package/plugins/filters/component/condition.mjs +15 -13
  139. package/plugins/filters/component/operators.js +6 -6
  140. package/plugins/filters/component/operators.mjs +6 -6
  141. package/plugins/filters/component/value.js +28 -24
  142. package/plugins/filters/component/value.mjs +28 -24
  143. package/plugins/filters/conditionUpdateObserver.js +24 -22
  144. package/plugins/filters/conditionUpdateObserver.mjs +24 -22
  145. package/plugins/filters/dataFilter.js +1 -1
  146. package/plugins/filters/dataFilter.mjs +1 -1
  147. package/plugins/filters/filters.js +95 -81
  148. package/plugins/filters/filters.mjs +95 -81
  149. package/plugins/filters/ui/input.js +19 -13
  150. package/plugins/filters/ui/input.mjs +19 -13
  151. package/plugins/filters/ui/link.js +13 -8
  152. package/plugins/filters/ui/link.mjs +13 -8
  153. package/plugins/filters/ui/multipleSelect.js +112 -85
  154. package/plugins/filters/ui/multipleSelect.mjs +112 -85
  155. package/plugins/filters/ui/radioInput.js +20 -12
  156. package/plugins/filters/ui/radioInput.mjs +20 -12
  157. package/plugins/filters/ui/select.js +72 -50
  158. package/plugins/filters/ui/select.mjs +71 -49
  159. package/plugins/formulas/formulas.js +326 -268
  160. package/plugins/formulas/formulas.mjs +327 -269
  161. package/plugins/formulas/indexSyncer/axisSyncer.js +61 -38
  162. package/plugins/formulas/indexSyncer/axisSyncer.mjs +61 -38
  163. package/plugins/formulas/indexSyncer/index.js +48 -25
  164. package/plugins/formulas/indexSyncer/index.mjs +48 -25
  165. package/plugins/hiddenColumns/hiddenColumns.js +83 -64
  166. package/plugins/hiddenColumns/hiddenColumns.mjs +83 -64
  167. package/plugins/hiddenRows/hiddenRows.js +82 -63
  168. package/plugins/hiddenRows/hiddenRows.mjs +82 -63
  169. package/plugins/manualColumnFreeze/manualColumnFreeze.js +32 -24
  170. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +33 -25
  171. package/plugins/manualColumnMove/manualColumnMove.js +170 -126
  172. package/plugins/manualColumnMove/manualColumnMove.mjs +170 -126
  173. package/plugins/manualColumnResize/manualColumnResize.js +230 -169
  174. package/plugins/manualColumnResize/manualColumnResize.mjs +230 -169
  175. package/plugins/manualRowMove/manualRowMove.js +128 -99
  176. package/plugins/manualRowMove/manualRowMove.mjs +128 -99
  177. package/plugins/manualRowResize/manualRowResize.js +209 -150
  178. package/plugins/manualRowResize/manualRowResize.mjs +209 -150
  179. package/plugins/mergeCells/calculations/selection.js +71 -2
  180. package/plugins/mergeCells/calculations/selection.mjs +71 -2
  181. package/plugins/mergeCells/cellsCollection.js +1 -117
  182. package/plugins/mergeCells/cellsCollection.mjs +1 -117
  183. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +1 -11
  184. package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +1 -11
  185. package/plugins/mergeCells/mergeCells.js +397 -499
  186. package/plugins/mergeCells/mergeCells.mjs +397 -499
  187. package/plugins/multiColumnSorting/multiColumnSorting.js +2 -8
  188. package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -8
  189. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +1 -1
  190. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +1 -1
  191. package/plugins/nestedHeaders/nestedHeaders.js +253 -205
  192. package/plugins/nestedHeaders/nestedHeaders.mjs +254 -206
  193. package/plugins/nestedHeaders/stateManager/headersTree.js +32 -21
  194. package/plugins/nestedHeaders/stateManager/headersTree.mjs +32 -21
  195. package/plugins/nestedHeaders/stateManager/index.js +41 -30
  196. package/plugins/nestedHeaders/stateManager/index.mjs +41 -30
  197. package/plugins/nestedHeaders/stateManager/sourceSettings.js +30 -19
  198. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +30 -19
  199. package/plugins/nestedRows/data/dataManager.js +1 -1
  200. package/plugins/nestedRows/data/dataManager.mjs +1 -1
  201. package/plugins/nestedRows/nestedRows.js +182 -151
  202. package/plugins/nestedRows/nestedRows.mjs +183 -152
  203. package/plugins/nestedRows/ui/contextMenu.js +15 -11
  204. package/plugins/nestedRows/ui/contextMenu.mjs +14 -10
  205. package/plugins/nestedRows/utils/rowMoveController.js +1 -1
  206. package/plugins/nestedRows/utils/rowMoveController.mjs +1 -1
  207. package/plugins/persistentState/storage.js +2 -2
  208. package/plugins/persistentState/storage.mjs +2 -2
  209. package/plugins/search/search.js +7 -7
  210. package/plugins/search/search.mjs +7 -7
  211. package/plugins/touchScroll/touchScroll.js +19 -15
  212. package/plugins/touchScroll/touchScroll.mjs +20 -16
  213. package/plugins/trimRows/trimRows.js +6 -6
  214. package/plugins/trimRows/trimRows.mjs +6 -6
  215. package/renderers/checkboxRenderer/checkboxRenderer.js +5 -8
  216. package/renderers/checkboxRenderer/checkboxRenderer.mjs +5 -8
  217. package/selection/highlight/highlight.js +14 -14
  218. package/selection/highlight/highlight.mjs +13 -13
  219. package/selection/highlight/visualSelection.js +0 -2
  220. package/selection/highlight/visualSelection.mjs +0 -2
  221. package/selection/selection.js +67 -225
  222. package/selection/selection.mjs +66 -224
  223. package/selection/transformation.js +118 -149
  224. package/selection/transformation.mjs +118 -149
  225. package/shortcutContexts/commands/editor/closeAndSave.js +2 -2
  226. package/shortcutContexts/commands/editor/closeAndSave.mjs +2 -2
  227. package/shortcutContexts/commands/editor/open.js +3 -18
  228. package/shortcutContexts/commands/editor/open.mjs +3 -18
  229. package/shortcutContexts/commands/extendCellsSelection/down.js +1 -1
  230. package/shortcutContexts/commands/extendCellsSelection/down.mjs +1 -1
  231. package/shortcutContexts/commands/extendCellsSelection/left.js +1 -1
  232. package/shortcutContexts/commands/extendCellsSelection/left.mjs +1 -1
  233. package/shortcutContexts/commands/extendCellsSelection/right.js +1 -1
  234. package/shortcutContexts/commands/extendCellsSelection/right.mjs +1 -1
  235. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +1 -1
  236. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +1 -1
  237. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +1 -3
  238. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +1 -3
  239. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +3 -9
  240. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +3 -9
  241. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +3 -10
  242. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +3 -10
  243. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +1 -3
  244. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +1 -3
  245. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +1 -3
  246. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +1 -3
  247. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +1 -3
  248. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +1 -3
  249. package/shortcutContexts/commands/extendCellsSelection/toRows.js +1 -1
  250. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +1 -1
  251. package/shortcutContexts/commands/extendCellsSelection/up.js +1 -1
  252. package/shortcutContexts/commands/extendCellsSelection/up.mjs +1 -1
  253. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +1 -6
  254. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +1 -6
  255. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +1 -6
  256. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +1 -6
  257. package/shortcutContexts/grid.js +3 -9
  258. package/shortcutContexts/grid.mjs +3 -9
  259. package/shortcuts/context.js +1 -2
  260. package/shortcuts/context.mjs +1 -2
  261. package/tableView.js +78 -52
  262. package/tableView.mjs +78 -52
  263. package/translations/changesObservable/observable.js +38 -21
  264. package/translations/changesObservable/observable.mjs +38 -21
  265. package/translations/changesObservable/observer.js +12 -7
  266. package/translations/changesObservable/observer.mjs +11 -6
  267. package/translations/mapCollections/aggregatedCollection.js +1 -1
  268. package/translations/mapCollections/aggregatedCollection.mjs +1 -1
  269. package/translations/maps/indexMap.js +1 -1
  270. package/translations/maps/indexMap.mjs +1 -1
  271. package/utils/dataStructures/linkedList.js +1 -6
  272. package/utils/dataStructures/linkedList.mjs +1 -6
  273. package/utils/dataStructures/tree.js +1 -1
  274. package/utils/dataStructures/tree.mjs +1 -1
  275. package/utils/interval.js +44 -26
  276. package/utils/interval.mjs +44 -26
  277. package/core/viewportScroll/scrollStrategies/focusScroll.js +0 -15
  278. package/core/viewportScroll/scrollStrategies/focusScroll.mjs +0 -11
  279. package/i18n/languages/ar-AR.d.ts +0 -5
  280. package/i18n/languages/cs-CZ.d.ts +0 -5
  281. package/i18n/languages/hr-HR.d.ts +0 -5
  282. package/i18n/languages/sr-SP.d.ts +0 -5
  283. package/plugins/mergeCells/focusOrder.js +0 -305
  284. package/plugins/mergeCells/focusOrder.mjs +0 -300
@@ -5,9 +5,11 @@ 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(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"); }
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; } }
11
13
  /**
12
14
  * Helper class for positioning the menu and submenus in the correct place relative to the
13
15
  * cursor position (DOM element or mouse coordinates).
@@ -27,39 +29,54 @@ class Positioner {
27
29
  *
28
30
  * @type {HTMLElement}
29
31
  */
30
- _classPrivateFieldInitSpec(this, _container, void 0);
32
+ _classPrivateFieldInitSpec(this, _container, {
33
+ writable: true,
34
+ value: void 0
35
+ });
31
36
  /**
32
37
  * For positioning the submenu, the parent element is used to calculate offsets to ensure that submenu
33
38
  * is positioned right next to the parent menu.
34
39
  *
35
40
  * @type {HTMLElement}
36
41
  */
37
- _classPrivateFieldInitSpec(this, _parentContainer, void 0);
42
+ _classPrivateFieldInitSpec(this, _parentContainer, {
43
+ writable: true,
44
+ value: void 0
45
+ });
38
46
  /**
39
47
  * The instance of the Cursor class.
40
48
  *
41
49
  * @type {Cursor}
42
50
  */
43
- _classPrivateFieldInitSpec(this, _cursor, void 0);
51
+ _classPrivateFieldInitSpec(this, _cursor, {
52
+ writable: true,
53
+ value: void 0
54
+ });
44
55
  /**
45
56
  * Enabling the option allows changing the position calculation so that the menus (or submenus)
46
57
  * are always placed within the visible viewport of the browser.
47
58
  *
48
59
  * @type {boolean}
49
60
  */
50
- _classPrivateFieldInitSpec(this, _keepInViewport, false);
61
+ _classPrivateFieldInitSpec(this, _keepInViewport, {
62
+ writable: true,
63
+ value: false
64
+ });
51
65
  /**
52
66
  * Allows apply the position offset for directions.
53
67
  *
54
68
  * @type {{above: number, below: number, left: number, right: number}}
55
69
  */
56
70
  _classPrivateFieldInitSpec(this, _offset, {
57
- above: 0,
58
- below: 0,
59
- left: 0,
60
- right: 0
71
+ writable: true,
72
+ value: {
73
+ above: 0,
74
+ below: 0,
75
+ left: 0,
76
+ right: 0
77
+ }
61
78
  });
62
- _classPrivateFieldSet(_keepInViewport, this, keepInViewport);
79
+ _classPrivateFieldSet(this, _keepInViewport, keepInViewport);
63
80
  }
64
81
 
65
82
  /**
@@ -71,7 +88,7 @@ class Positioner {
71
88
  */
72
89
  setOffset(direction) {
73
90
  let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
74
- _classPrivateFieldGet(_offset, this)[direction] = offset;
91
+ _classPrivateFieldGet(this, _offset)[direction] = offset;
75
92
  return this;
76
93
  }
77
94
 
@@ -82,7 +99,7 @@ class Positioner {
82
99
  * @returns {Positioner}
83
100
  */
84
101
  setElement(container) {
85
- _classPrivateFieldSet(_container, this, container);
102
+ _classPrivateFieldSet(this, _container, container);
86
103
  return this;
87
104
  }
88
105
 
@@ -93,7 +110,7 @@ class Positioner {
93
110
  * @returns {Positioner}
94
111
  */
95
112
  setParentElement(container) {
96
- _classPrivateFieldSet(_parentContainer, this, container);
113
+ _classPrivateFieldSet(this, _parentContainer, container);
97
114
  return this;
98
115
  }
99
116
 
@@ -104,11 +121,11 @@ class Positioner {
104
121
  * mouse event object.
105
122
  */
106
123
  updatePosition(coords) {
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))) {
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))) {
110
127
  this.setPositionBelowCursor();
111
- } else if (_classPrivateFieldGet(_cursor, this).fitsAbove(_classPrivateFieldGet(_container, this))) {
128
+ } else if (_classPrivateFieldGet(this, _cursor).fitsAbove(_classPrivateFieldGet(this, _container))) {
112
129
  this.setPositionAboveCursor();
113
130
  } else {
114
131
  this.setPositionBelowCursor();
@@ -124,13 +141,13 @@ class Positioner {
124
141
  * Updates the menu horizontal position.
125
142
  */
126
143
  updateHorizontalPosition() {
127
- if (_classPrivateFieldGet(_container, this).dir === 'rtl') {
128
- if (_classPrivateFieldGet(_cursor, this).fitsOnLeft(_classPrivateFieldGet(_container, this))) {
144
+ if (_classPrivateFieldGet(this, _container).dir === 'rtl') {
145
+ if (_classPrivateFieldGet(this, _cursor).fitsOnLeft(_classPrivateFieldGet(this, _container))) {
129
146
  this.setPositionOnLeftOfCursor();
130
147
  } else {
131
148
  this.setPositionOnRightOfCursor();
132
149
  }
133
- } else if (_classPrivateFieldGet(_cursor, this).fitsOnRight(_classPrivateFieldGet(_container, this))) {
150
+ } else if (_classPrivateFieldGet(this, _cursor).fitsOnRight(_classPrivateFieldGet(this, _container))) {
134
151
  this.setPositionOnRightOfCursor();
135
152
  } else {
136
153
  this.setPositionOnLeftOfCursor();
@@ -141,56 +158,56 @@ class Positioner {
141
158
  * Sets the menu position above the cursor object.
142
159
  */
143
160
  setPositionAboveCursor() {
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;
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;
147
164
  }
148
- _classPrivateFieldGet(_container, this).style.top = `${top}px`;
165
+ _classPrivateFieldGet(this, _container).style.top = `${top}px`;
149
166
  }
150
167
 
151
168
  /**
152
169
  * Sets the menu position below the cursor object.
153
170
  */
154
171
  setPositionBelowCursor() {
155
- let top = _classPrivateFieldGet(_offset, this).below + _classPrivateFieldGet(_cursor, this).top + 1;
156
- if (_classPrivateFieldGet(_parentContainer, this)) {
157
- top = _classPrivateFieldGet(_cursor, this).top - 1;
172
+ let top = _classPrivateFieldGet(this, _offset).below + _classPrivateFieldGet(this, _cursor).top + 1;
173
+ if (_classPrivateFieldGet(this, _parentContainer)) {
174
+ top = _classPrivateFieldGet(this, _cursor).top - 1;
158
175
  }
159
- _classPrivateFieldGet(_container, this).style.top = `${top}px`;
176
+ _classPrivateFieldGet(this, _container).style.top = `${top}px`;
160
177
  }
161
178
 
162
179
  /**
163
180
  * Sets the menu position on the right of the cursor object.
164
181
  */
165
182
  setPositionOnRightOfCursor() {
166
- let left = _classPrivateFieldGet(_cursor, this).left;
167
- if (_classPrivateFieldGet(_parentContainer, this)) {
183
+ let left = _classPrivateFieldGet(this, _cursor).left;
184
+ if (_classPrivateFieldGet(this, _parentContainer)) {
168
185
  const {
169
186
  right: parentMenuRight
170
- } = _classPrivateFieldGet(_parentContainer, this).getBoundingClientRect();
187
+ } = _classPrivateFieldGet(this, _parentContainer).getBoundingClientRect();
171
188
 
172
189
  // move the sub menu by the width of the parent's border (usually by 1-2 pixels)
173
- left += _classPrivateFieldGet(_cursor, this).cellWidth + parentMenuRight - (_classPrivateFieldGet(_cursor, this).left + _classPrivateFieldGet(_cursor, this).cellWidth);
190
+ left += _classPrivateFieldGet(this, _cursor).cellWidth + parentMenuRight - (_classPrivateFieldGet(this, _cursor).left + _classPrivateFieldGet(this, _cursor).cellWidth);
174
191
  } else {
175
- left += _classPrivateFieldGet(_offset, this).right;
192
+ left += _classPrivateFieldGet(this, _offset).right;
176
193
  }
177
- _classPrivateFieldGet(_container, this).style.left = `${left}px`;
194
+ _classPrivateFieldGet(this, _container).style.left = `${left}px`;
178
195
  }
179
196
 
180
197
  /**
181
198
  * Sets the menu position on the left of the cursor object.
182
199
  */
183
200
  setPositionOnLeftOfCursor() {
184
- let left = _classPrivateFieldGet(_offset, this).left + _classPrivateFieldGet(_cursor, this).left - _classPrivateFieldGet(_container, this).offsetWidth;
185
- if (_classPrivateFieldGet(_parentContainer, this)) {
201
+ let left = _classPrivateFieldGet(this, _offset).left + _classPrivateFieldGet(this, _cursor).left - _classPrivateFieldGet(this, _container).offsetWidth;
202
+ if (_classPrivateFieldGet(this, _parentContainer)) {
186
203
  const {
187
204
  left: parentMenuLeft
188
- } = _classPrivateFieldGet(_parentContainer, this).getBoundingClientRect();
205
+ } = _classPrivateFieldGet(this, _parentContainer).getBoundingClientRect();
189
206
 
190
207
  // move the sub menu by the width of the parent's border (usually by 1-2 pixels)
191
- left -= _classPrivateFieldGet(_cursor, this).left - parentMenuLeft;
208
+ left -= _classPrivateFieldGet(this, _cursor).left - parentMenuLeft;
192
209
  }
193
- _classPrivateFieldGet(_container, this).style.left = `${left}px`;
210
+ _classPrivateFieldGet(this, _container).style.left = `${left}px`;
194
211
  }
195
212
  }
196
213
  exports.Positioner = Positioner;
@@ -1,9 +1,11 @@
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(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"); }
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; } }
7
9
  import { Cursor } from "./cursor.mjs";
8
10
  /**
9
11
  * Helper class for positioning the menu and submenus in the correct place relative to the
@@ -24,39 +26,54 @@ export class Positioner {
24
26
  *
25
27
  * @type {HTMLElement}
26
28
  */
27
- _classPrivateFieldInitSpec(this, _container, void 0);
29
+ _classPrivateFieldInitSpec(this, _container, {
30
+ writable: true,
31
+ value: void 0
32
+ });
28
33
  /**
29
34
  * For positioning the submenu, the parent element is used to calculate offsets to ensure that submenu
30
35
  * is positioned right next to the parent menu.
31
36
  *
32
37
  * @type {HTMLElement}
33
38
  */
34
- _classPrivateFieldInitSpec(this, _parentContainer, void 0);
39
+ _classPrivateFieldInitSpec(this, _parentContainer, {
40
+ writable: true,
41
+ value: void 0
42
+ });
35
43
  /**
36
44
  * The instance of the Cursor class.
37
45
  *
38
46
  * @type {Cursor}
39
47
  */
40
- _classPrivateFieldInitSpec(this, _cursor, void 0);
48
+ _classPrivateFieldInitSpec(this, _cursor, {
49
+ writable: true,
50
+ value: void 0
51
+ });
41
52
  /**
42
53
  * Enabling the option allows changing the position calculation so that the menus (or submenus)
43
54
  * are always placed within the visible viewport of the browser.
44
55
  *
45
56
  * @type {boolean}
46
57
  */
47
- _classPrivateFieldInitSpec(this, _keepInViewport, false);
58
+ _classPrivateFieldInitSpec(this, _keepInViewport, {
59
+ writable: true,
60
+ value: false
61
+ });
48
62
  /**
49
63
  * Allows apply the position offset for directions.
50
64
  *
51
65
  * @type {{above: number, below: number, left: number, right: number}}
52
66
  */
53
67
  _classPrivateFieldInitSpec(this, _offset, {
54
- above: 0,
55
- below: 0,
56
- left: 0,
57
- right: 0
68
+ writable: true,
69
+ value: {
70
+ above: 0,
71
+ below: 0,
72
+ left: 0,
73
+ right: 0
74
+ }
58
75
  });
59
- _classPrivateFieldSet(_keepInViewport, this, keepInViewport);
76
+ _classPrivateFieldSet(this, _keepInViewport, keepInViewport);
60
77
  }
61
78
 
62
79
  /**
@@ -68,7 +85,7 @@ export class Positioner {
68
85
  */
69
86
  setOffset(direction) {
70
87
  let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
71
- _classPrivateFieldGet(_offset, this)[direction] = offset;
88
+ _classPrivateFieldGet(this, _offset)[direction] = offset;
72
89
  return this;
73
90
  }
74
91
 
@@ -79,7 +96,7 @@ export class Positioner {
79
96
  * @returns {Positioner}
80
97
  */
81
98
  setElement(container) {
82
- _classPrivateFieldSet(_container, this, container);
99
+ _classPrivateFieldSet(this, _container, container);
83
100
  return this;
84
101
  }
85
102
 
@@ -90,7 +107,7 @@ export class Positioner {
90
107
  * @returns {Positioner}
91
108
  */
92
109
  setParentElement(container) {
93
- _classPrivateFieldSet(_parentContainer, this, container);
110
+ _classPrivateFieldSet(this, _parentContainer, container);
94
111
  return this;
95
112
  }
96
113
 
@@ -101,11 +118,11 @@ export class Positioner {
101
118
  * mouse event object.
102
119
  */
103
120
  updatePosition(coords) {
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))) {
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))) {
107
124
  this.setPositionBelowCursor();
108
- } else if (_classPrivateFieldGet(_cursor, this).fitsAbove(_classPrivateFieldGet(_container, this))) {
125
+ } else if (_classPrivateFieldGet(this, _cursor).fitsAbove(_classPrivateFieldGet(this, _container))) {
109
126
  this.setPositionAboveCursor();
110
127
  } else {
111
128
  this.setPositionBelowCursor();
@@ -121,13 +138,13 @@ export class Positioner {
121
138
  * Updates the menu horizontal position.
122
139
  */
123
140
  updateHorizontalPosition() {
124
- if (_classPrivateFieldGet(_container, this).dir === 'rtl') {
125
- if (_classPrivateFieldGet(_cursor, this).fitsOnLeft(_classPrivateFieldGet(_container, this))) {
141
+ if (_classPrivateFieldGet(this, _container).dir === 'rtl') {
142
+ if (_classPrivateFieldGet(this, _cursor).fitsOnLeft(_classPrivateFieldGet(this, _container))) {
126
143
  this.setPositionOnLeftOfCursor();
127
144
  } else {
128
145
  this.setPositionOnRightOfCursor();
129
146
  }
130
- } else if (_classPrivateFieldGet(_cursor, this).fitsOnRight(_classPrivateFieldGet(_container, this))) {
147
+ } else if (_classPrivateFieldGet(this, _cursor).fitsOnRight(_classPrivateFieldGet(this, _container))) {
131
148
  this.setPositionOnRightOfCursor();
132
149
  } else {
133
150
  this.setPositionOnLeftOfCursor();
@@ -138,55 +155,55 @@ export class Positioner {
138
155
  * Sets the menu position above the cursor object.
139
156
  */
140
157
  setPositionAboveCursor() {
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;
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;
144
161
  }
145
- _classPrivateFieldGet(_container, this).style.top = `${top}px`;
162
+ _classPrivateFieldGet(this, _container).style.top = `${top}px`;
146
163
  }
147
164
 
148
165
  /**
149
166
  * Sets the menu position below the cursor object.
150
167
  */
151
168
  setPositionBelowCursor() {
152
- let top = _classPrivateFieldGet(_offset, this).below + _classPrivateFieldGet(_cursor, this).top + 1;
153
- if (_classPrivateFieldGet(_parentContainer, this)) {
154
- top = _classPrivateFieldGet(_cursor, this).top - 1;
169
+ let top = _classPrivateFieldGet(this, _offset).below + _classPrivateFieldGet(this, _cursor).top + 1;
170
+ if (_classPrivateFieldGet(this, _parentContainer)) {
171
+ top = _classPrivateFieldGet(this, _cursor).top - 1;
155
172
  }
156
- _classPrivateFieldGet(_container, this).style.top = `${top}px`;
173
+ _classPrivateFieldGet(this, _container).style.top = `${top}px`;
157
174
  }
158
175
 
159
176
  /**
160
177
  * Sets the menu position on the right of the cursor object.
161
178
  */
162
179
  setPositionOnRightOfCursor() {
163
- let left = _classPrivateFieldGet(_cursor, this).left;
164
- if (_classPrivateFieldGet(_parentContainer, this)) {
180
+ let left = _classPrivateFieldGet(this, _cursor).left;
181
+ if (_classPrivateFieldGet(this, _parentContainer)) {
165
182
  const {
166
183
  right: parentMenuRight
167
- } = _classPrivateFieldGet(_parentContainer, this).getBoundingClientRect();
184
+ } = _classPrivateFieldGet(this, _parentContainer).getBoundingClientRect();
168
185
 
169
186
  // move the sub menu by the width of the parent's border (usually by 1-2 pixels)
170
- left += _classPrivateFieldGet(_cursor, this).cellWidth + parentMenuRight - (_classPrivateFieldGet(_cursor, this).left + _classPrivateFieldGet(_cursor, this).cellWidth);
187
+ left += _classPrivateFieldGet(this, _cursor).cellWidth + parentMenuRight - (_classPrivateFieldGet(this, _cursor).left + _classPrivateFieldGet(this, _cursor).cellWidth);
171
188
  } else {
172
- left += _classPrivateFieldGet(_offset, this).right;
189
+ left += _classPrivateFieldGet(this, _offset).right;
173
190
  }
174
- _classPrivateFieldGet(_container, this).style.left = `${left}px`;
191
+ _classPrivateFieldGet(this, _container).style.left = `${left}px`;
175
192
  }
176
193
 
177
194
  /**
178
195
  * Sets the menu position on the left of the cursor object.
179
196
  */
180
197
  setPositionOnLeftOfCursor() {
181
- let left = _classPrivateFieldGet(_offset, this).left + _classPrivateFieldGet(_cursor, this).left - _classPrivateFieldGet(_container, this).offsetWidth;
182
- if (_classPrivateFieldGet(_parentContainer, this)) {
198
+ let left = _classPrivateFieldGet(this, _offset).left + _classPrivateFieldGet(this, _cursor).left - _classPrivateFieldGet(this, _container).offsetWidth;
199
+ if (_classPrivateFieldGet(this, _parentContainer)) {
183
200
  const {
184
201
  left: parentMenuLeft
185
- } = _classPrivateFieldGet(_parentContainer, this).getBoundingClientRect();
202
+ } = _classPrivateFieldGet(this, _parentContainer).getBoundingClientRect();
186
203
 
187
204
  // move the sub menu by the width of the parent's border (usually by 1-2 pixels)
188
- left -= _classPrivateFieldGet(_cursor, this).left - parentMenuLeft;
205
+ left -= _classPrivateFieldGet(this, _cursor).left - parentMenuLeft;
189
206
  }
190
- _classPrivateFieldGet(_container, this).style.left = `${left}px`;
207
+ _classPrivateFieldGet(this, _container).style.left = `${left}px`;
191
208
  }
192
209
  }