@ckeditor/ckeditor5-ui 48.8.1-alpha.3 → 49.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/arialiveannouncer.d.ts +89 -90
  3. package/dist/augmentation.d.ts +86 -86
  4. package/dist/autocomplete/autocompleteview.d.ts +69 -70
  5. package/dist/badge/badge.d.ts +119 -121
  6. package/dist/bindings/addkeyboardhandlingforgrid.d.ts +22 -22
  7. package/dist/bindings/clickoutsidehandler.d.ts +24 -26
  8. package/dist/bindings/csstransitiondisablermixin.d.ts +47 -36
  9. package/dist/bindings/draggableviewmixin.d.ts +45 -37
  10. package/dist/bindings/preventdefault.d.ts +30 -30
  11. package/dist/bindings/submithandler.d.ts +49 -49
  12. package/dist/button/button.d.ts +167 -167
  13. package/dist/button/buttonlabel.d.ts +28 -28
  14. package/dist/button/buttonlabelview.d.ts +26 -26
  15. package/dist/button/buttonview.d.ts +191 -192
  16. package/dist/button/filedialogbuttonview.d.ts +107 -99
  17. package/dist/button/listitembuttonview.d.ts +72 -73
  18. package/dist/button/switchbuttonview.d.ts +39 -40
  19. package/dist/collapsible/collapsibleview.d.ts +62 -63
  20. package/dist/colorgrid/colorgridview.d.ts +116 -117
  21. package/dist/colorgrid/colors.d.ts +28 -0
  22. package/dist/colorgrid/colortileview.d.ts +21 -21
  23. package/dist/colorgrid/utils.d.ts +47 -35
  24. package/dist/colorpicker/colorpickerview.d.ts +154 -157
  25. package/dist/colorpicker/utils.d.ts +37 -37
  26. package/dist/colorselector/colorgridsfragmentview.d.ts +191 -191
  27. package/dist/colorselector/colorpickerfragmentview.d.ts +129 -129
  28. package/dist/colorselector/colorselectorview.d.ts +226 -229
  29. package/dist/colorselector/documentcolorcollection.d.ts +52 -59
  30. package/dist/componentfactory.d.ts +76 -76
  31. package/dist/dialog/dialog.d.ts +311 -288
  32. package/dist/dialog/dialogactionsview.d.ts +61 -62
  33. package/dist/dialog/dialogcontentview.d.ts +22 -22
  34. package/dist/dialog/dialogview.d.ts +254 -251
  35. package/dist/dropdown/button/dropdownbutton.d.ts +17 -17
  36. package/dist/dropdown/button/dropdownbuttonview.d.ts +41 -41
  37. package/dist/dropdown/button/splitbuttonview.d.ts +154 -155
  38. package/dist/dropdown/dropdownpanelfocusable.d.ts +16 -16
  39. package/dist/dropdown/dropdownpanelview.d.ts +56 -56
  40. package/dist/dropdown/dropdownview.d.ts +337 -326
  41. package/dist/dropdown/menu/dropdownmenubehaviors.d.ts +43 -43
  42. package/dist/dropdown/menu/dropdownmenubuttonview.d.ts +28 -29
  43. package/dist/dropdown/menu/dropdownmenulistitembuttonview.d.ts +11 -12
  44. package/dist/dropdown/menu/dropdownmenulistitemview.d.ts +16 -17
  45. package/dist/dropdown/menu/dropdownmenulistview.d.ts +19 -19
  46. package/dist/dropdown/menu/dropdownmenunestedmenupanelview.d.ts +27 -28
  47. package/dist/dropdown/menu/dropdownmenunestedmenuview.d.ts +125 -126
  48. package/dist/dropdown/menu/dropdownmenurootlistview.d.ts +132 -132
  49. package/dist/dropdown/menu/utils.d.ts +112 -112
  50. package/dist/dropdown/utils.d.ts +270 -272
  51. package/dist/editableui/editableuiview.d.ts +78 -67
  52. package/dist/editableui/inline/inlineeditableuiview.d.ts +38 -36
  53. package/dist/editorui/accessibilityhelp/accessibilityhelp.d.ts +49 -50
  54. package/dist/editorui/accessibilityhelp/accessibilityhelpcontentview.d.ts +30 -30
  55. package/dist/editorui/bodycollection.d.ts +167 -86
  56. package/dist/editorui/boxed/boxededitoruiview.d.ts +35 -35
  57. package/dist/editorui/editorui.d.ts +382 -351
  58. package/dist/editorui/editoruiview.d.ts +48 -53
  59. package/dist/editorui/evaluationbadge.d.ts +28 -28
  60. package/dist/editorui/poweredby.d.ts +25 -25
  61. package/dist/focuscycler.d.ts +265 -270
  62. package/dist/formheader/formheaderview.d.ts +52 -53
  63. package/dist/formrow/formrowview.d.ts +51 -52
  64. package/dist/highlightedtext/buttonlabelwithhighlightview.d.ts +25 -25
  65. package/dist/highlightedtext/highlightedtextview.d.ts +30 -34
  66. package/dist/highlightedtext/labelwithhighlightview.d.ts +21 -21
  67. package/dist/icon/iconview.d.ts +82 -83
  68. package/dist/iframe/iframeview.d.ts +42 -42
  69. package/dist/index-content.css +3 -0
  70. package/dist/index-content.css.map +1 -0
  71. package/dist/index-editor.css +3240 -2329
  72. package/dist/index-editor.css.map +1 -0
  73. package/dist/index.css +2939 -2032
  74. package/dist/index.css.map +1 -1
  75. package/dist/index.d.ts +144 -136
  76. package/dist/index.js +17821 -17732
  77. package/dist/index.js.map +1 -1
  78. package/dist/input/inputbase.d.ts +114 -114
  79. package/dist/input/inputview.d.ts +27 -28
  80. package/dist/inputnumber/inputnumberview.d.ts +44 -44
  81. package/dist/inputtext/inputtextview.d.ts +13 -13
  82. package/dist/label/labelview.d.ts +30 -31
  83. package/dist/labeledfield/labeledfieldview.d.ts +179 -180
  84. package/dist/labeledfield/utils.d.ts +112 -112
  85. package/dist/labeledinput/labeledinputview.d.ts +119 -120
  86. package/dist/legacyerrors.d.ts +0 -4
  87. package/dist/list/listitemgroupview.d.ts +54 -54
  88. package/dist/list/listitemview.d.ts +31 -31
  89. package/dist/list/listseparatorview.d.ts +13 -13
  90. package/dist/list/listview.d.ts +118 -119
  91. package/dist/menubar/menubarmenubuttonview.d.ts +27 -28
  92. package/dist/menubar/menubarmenulistitembuttonview.d.ts +15 -16
  93. package/dist/menubar/menubarmenulistitemfiledialogbuttonview.d.ts +17 -18
  94. package/dist/menubar/menubarmenulistitemview.d.ts +19 -20
  95. package/dist/menubar/menubarmenulistview.d.ts +24 -24
  96. package/dist/menubar/menubarmenupanelview.d.ts +46 -47
  97. package/dist/menubar/menubarmenuview.d.ts +112 -113
  98. package/dist/menubar/menubarview.d.ts +144 -145
  99. package/dist/menubar/utils.d.ts +455 -455
  100. package/dist/model.d.ts +19 -18
  101. package/dist/notification/notification.d.ts +200 -200
  102. package/dist/overlayhost.d.ts +210 -0
  103. package/dist/panel/balloon/balloonpanelview.d.ts +700 -692
  104. package/dist/panel/balloon/contextualballoon.d.ts +296 -298
  105. package/dist/panel/sticky/stickypanelview.d.ts +162 -151
  106. package/dist/search/filteredview.d.ts +23 -23
  107. package/dist/search/filtergroupanditemnames.d.ts +11 -11
  108. package/dist/search/searchinfoview.d.ts +39 -39
  109. package/dist/search/searchresultsview.d.ts +49 -49
  110. package/dist/search/text/searchtextqueryview.d.ts +63 -63
  111. package/dist/search/text/searchtextview.d.ts +202 -203
  112. package/dist/spinner/spinnerview.d.ts +19 -20
  113. package/dist/tabs/tabbuttonview.d.ts +53 -0
  114. package/dist/tabs/tabpanelview.d.ts +45 -0
  115. package/dist/template.d.ts +897 -902
  116. package/dist/textarea/textareaview.d.ts +100 -96
  117. package/dist/toolbar/balloon/balloontoolbar.d.ts +122 -122
  118. package/dist/toolbar/block/blockbuttonview.d.ts +29 -30
  119. package/dist/toolbar/block/blocktoolbar.d.ts +166 -166
  120. package/dist/toolbar/normalizetoolbarconfig.d.ts +35 -35
  121. package/dist/toolbar/toolbarlinebreakview.d.ts +13 -13
  122. package/dist/toolbar/toolbarseparatorview.d.ts +13 -13
  123. package/dist/toolbar/toolbarview.d.ts +270 -271
  124. package/dist/tooltipmanager.d.ts +317 -193
  125. package/dist/translations/af.js +1 -1
  126. package/dist/translations/af.umd.js +5 -3
  127. package/dist/translations/ar.js +1 -1
  128. package/dist/translations/ar.umd.js +5 -3
  129. package/dist/translations/ast.js +1 -1
  130. package/dist/translations/ast.umd.js +5 -3
  131. package/dist/translations/az.js +1 -1
  132. package/dist/translations/az.umd.js +5 -3
  133. package/dist/translations/be.js +1 -1
  134. package/dist/translations/be.umd.js +5 -3
  135. package/dist/translations/bg.js +1 -1
  136. package/dist/translations/bg.umd.js +5 -3
  137. package/dist/translations/bn.js +1 -1
  138. package/dist/translations/bn.umd.js +5 -3
  139. package/dist/translations/bs.js +1 -1
  140. package/dist/translations/bs.umd.js +5 -3
  141. package/dist/translations/ca.js +1 -1
  142. package/dist/translations/ca.umd.js +5 -3
  143. package/dist/translations/cs.js +1 -1
  144. package/dist/translations/cs.umd.js +5 -3
  145. package/dist/translations/da.js +1 -1
  146. package/dist/translations/da.umd.js +5 -3
  147. package/dist/translations/de-ch.js +1 -1
  148. package/dist/translations/de-ch.umd.js +5 -3
  149. package/dist/translations/de.js +1 -1
  150. package/dist/translations/de.umd.js +5 -3
  151. package/dist/translations/el.js +1 -1
  152. package/dist/translations/el.umd.js +5 -3
  153. package/dist/translations/en-au.js +1 -1
  154. package/dist/translations/en-au.umd.js +5 -3
  155. package/dist/translations/en-gb.js +1 -1
  156. package/dist/translations/en-gb.umd.js +5 -3
  157. package/dist/translations/en.js +1 -1
  158. package/dist/translations/en.umd.js +5 -3
  159. package/dist/translations/eo.js +1 -1
  160. package/dist/translations/eo.umd.js +5 -3
  161. package/dist/translations/es-co.js +1 -1
  162. package/dist/translations/es-co.umd.js +5 -3
  163. package/dist/translations/es.js +1 -1
  164. package/dist/translations/es.umd.js +5 -3
  165. package/dist/translations/et.js +1 -1
  166. package/dist/translations/et.umd.js +5 -3
  167. package/dist/translations/eu.js +1 -1
  168. package/dist/translations/eu.umd.js +5 -3
  169. package/dist/translations/fa.js +1 -1
  170. package/dist/translations/fa.umd.js +5 -3
  171. package/dist/translations/fi.js +1 -1
  172. package/dist/translations/fi.umd.js +5 -3
  173. package/dist/translations/fr.js +1 -1
  174. package/dist/translations/fr.umd.js +5 -3
  175. package/dist/translations/gl.js +1 -1
  176. package/dist/translations/gl.umd.js +5 -3
  177. package/dist/translations/gu.js +1 -1
  178. package/dist/translations/gu.umd.js +5 -3
  179. package/dist/translations/he.js +1 -1
  180. package/dist/translations/he.umd.js +5 -3
  181. package/dist/translations/hi.js +1 -1
  182. package/dist/translations/hi.umd.js +5 -3
  183. package/dist/translations/hr.js +1 -1
  184. package/dist/translations/hr.umd.js +5 -3
  185. package/dist/translations/hu.js +1 -1
  186. package/dist/translations/hu.umd.js +5 -3
  187. package/dist/translations/hy.js +1 -1
  188. package/dist/translations/hy.umd.js +5 -3
  189. package/dist/translations/id.js +1 -1
  190. package/dist/translations/id.umd.js +5 -3
  191. package/dist/translations/it.js +1 -1
  192. package/dist/translations/it.umd.js +5 -3
  193. package/dist/translations/ja.js +1 -1
  194. package/dist/translations/ja.umd.js +5 -3
  195. package/dist/translations/jv.js +1 -1
  196. package/dist/translations/jv.umd.js +5 -3
  197. package/dist/translations/kk.js +1 -1
  198. package/dist/translations/kk.umd.js +5 -3
  199. package/dist/translations/km.js +1 -1
  200. package/dist/translations/km.umd.js +5 -3
  201. package/dist/translations/kn.js +1 -1
  202. package/dist/translations/kn.umd.js +5 -3
  203. package/dist/translations/ko.js +1 -1
  204. package/dist/translations/ko.umd.js +5 -3
  205. package/dist/translations/ku.js +1 -1
  206. package/dist/translations/ku.umd.js +5 -3
  207. package/dist/translations/lt.js +1 -1
  208. package/dist/translations/lt.umd.js +5 -3
  209. package/dist/translations/lv.js +1 -1
  210. package/dist/translations/lv.umd.js +5 -3
  211. package/dist/translations/ms.js +1 -1
  212. package/dist/translations/ms.umd.js +5 -3
  213. package/dist/translations/nb.js +1 -1
  214. package/dist/translations/nb.umd.js +5 -3
  215. package/dist/translations/ne.js +1 -1
  216. package/dist/translations/ne.umd.js +5 -3
  217. package/dist/translations/nl.js +1 -1
  218. package/dist/translations/nl.umd.js +5 -3
  219. package/dist/translations/no.js +1 -1
  220. package/dist/translations/no.umd.js +5 -3
  221. package/dist/translations/oc.js +1 -1
  222. package/dist/translations/oc.umd.js +5 -3
  223. package/dist/translations/pl.js +1 -1
  224. package/dist/translations/pl.umd.js +5 -3
  225. package/dist/translations/pt-br.js +1 -1
  226. package/dist/translations/pt-br.umd.js +5 -3
  227. package/dist/translations/pt.js +1 -1
  228. package/dist/translations/pt.umd.js +5 -3
  229. package/dist/translations/ro.js +1 -1
  230. package/dist/translations/ro.umd.js +5 -3
  231. package/dist/translations/ru.js +1 -1
  232. package/dist/translations/ru.umd.js +5 -3
  233. package/dist/translations/si.js +1 -1
  234. package/dist/translations/si.umd.js +5 -3
  235. package/dist/translations/sk.js +1 -1
  236. package/dist/translations/sk.umd.js +5 -3
  237. package/dist/translations/sl.js +1 -1
  238. package/dist/translations/sl.umd.js +5 -3
  239. package/dist/translations/sq.js +1 -1
  240. package/dist/translations/sq.umd.js +5 -3
  241. package/dist/translations/sr-latn.js +1 -1
  242. package/dist/translations/sr-latn.umd.js +5 -3
  243. package/dist/translations/sr.js +1 -1
  244. package/dist/translations/sr.umd.js +5 -3
  245. package/dist/translations/sv.js +1 -1
  246. package/dist/translations/sv.umd.js +5 -3
  247. package/dist/translations/th.js +1 -1
  248. package/dist/translations/th.umd.js +5 -3
  249. package/dist/translations/ti.js +1 -1
  250. package/dist/translations/ti.umd.js +5 -3
  251. package/dist/translations/tk.js +1 -1
  252. package/dist/translations/tk.umd.js +5 -3
  253. package/dist/translations/tr.js +1 -1
  254. package/dist/translations/tr.umd.js +5 -3
  255. package/dist/translations/tt.js +1 -1
  256. package/dist/translations/tt.umd.js +5 -3
  257. package/dist/translations/ug.js +1 -1
  258. package/dist/translations/ug.umd.js +5 -3
  259. package/dist/translations/uk.js +1 -1
  260. package/dist/translations/uk.umd.js +5 -3
  261. package/dist/translations/ur.js +1 -1
  262. package/dist/translations/ur.umd.js +5 -3
  263. package/dist/translations/uz.js +1 -1
  264. package/dist/translations/uz.umd.js +5 -3
  265. package/dist/translations/vi.js +1 -1
  266. package/dist/translations/vi.umd.js +5 -3
  267. package/dist/translations/zh-cn.js +1 -1
  268. package/dist/translations/zh-cn.umd.js +5 -3
  269. package/dist/translations/zh.js +1 -1
  270. package/dist/translations/zh.umd.js +5 -3
  271. package/dist/view.d.ts +384 -388
  272. package/dist/viewcollection.d.ts +134 -134
  273. package/package.json +8 -7
@@ -1,118 +1,117 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
5
  /**
6
- * @module ui/menubar/menubarmenuview
7
- */
8
- import { FocusTracker, KeystrokeHandler, type Locale, type PositioningFunction } from '@ckeditor/ckeditor5-utils';
9
- import { MenuBarMenuButtonView } from './menubarmenubuttonview.js';
10
- import type { FocusableView } from '../focuscycler.js';
11
- import { View } from '../view.js';
12
- import { MenuBarMenuPanelView, type MenuBarMenuPanelPosition } from './menubarmenupanelview.js';
13
- import '../../theme/components/menubar/menubarmenu.css';
6
+ * @module ui/menubar/menubarmenuview
7
+ */
8
+ import { FocusTracker, KeystrokeHandler, type Locale, type PositioningFunction } from "@ckeditor/ckeditor5-utils";
9
+ import { MenuBarMenuButtonView } from "./menubarmenubuttonview.js";
10
+ import type { FocusableView } from "../focuscycler.js";
11
+ import { View } from "../view.js";
12
+ import { MenuBarMenuPanelView, type MenuBarMenuPanelPosition } from "./menubarmenupanelview.js";
14
13
  /**
15
- * A menu view for the {@link module:ui/menubar/menubarview~MenuBarView}. Menus are building blocks of the menu bar,
16
- * they host other sub-menus and menu items (buttons) that users can interact with.
17
- */
14
+ * A menu view for the {@link module:ui/menubar/menubarview~MenuBarView}. Menus are building blocks of the menu bar,
15
+ * they host other sub-menus and menu items (buttons) that users can interact with.
16
+ */
18
17
  export declare class MenuBarMenuView extends View implements FocusableView {
19
- /**
20
- * Button of the menu view.
21
- */
22
- readonly buttonView: MenuBarMenuButtonView;
23
- /**
24
- * Panel of the menu. It hosts children of the menu.
25
- */
26
- readonly panelView: MenuBarMenuPanelView;
27
- /**
28
- * Tracks information about the DOM focus in the menu.
29
- */
30
- readonly focusTracker: FocusTracker;
31
- /**
32
- * Instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}. It manages
33
- * keystrokes of the menu.
34
- */
35
- readonly keystrokes: KeystrokeHandler;
36
- /**
37
- * Controls whether the menu is open, i.e. shows or hides the {@link #panelView panel}.
38
- *
39
- * @observable
40
- */
41
- isOpen: boolean;
42
- /**
43
- * Controls whether the menu is enabled, i.e. its {@link #buttonView} can be clicked.
44
- *
45
- * @observable
46
- */
47
- isEnabled: boolean;
48
- /**
49
- * (Optional) The additional CSS class set on the menu {@link #element}.
50
- *
51
- * @observable
52
- */
53
- class: string | undefined;
54
- /**
55
- * The name of the position of the {@link #panelView}, relative to the menu.
56
- *
57
- * **Note**: The value is updated each time the panel gets {@link #isOpen open}.
58
- *
59
- * @observable
60
- * @default 'w'
61
- */
62
- panelPosition: MenuBarMenuPanelPosition;
63
- /**
64
- * The parent menu view of the menu. It is `null` for top-level menus.
65
- *
66
- * See {@link module:ui/menubar/menubarview~MenuBarView#registerMenu}.
67
- */
68
- parentMenuView: MenuBarMenuView | null;
69
- /**
70
- * Creates an instance of the menu view.
71
- *
72
- * @param locale The localization services instance.
73
- */
74
- constructor(locale: Locale);
75
- /**
76
- * @inheritDoc
77
- */
78
- render(): void;
79
- /**
80
- * Attach all keyboard behaviors for the menu bar view.
81
- *
82
- * @internal
83
- */
84
- _attachBehaviors(): void;
85
- /**
86
- * Fires `arrowright` and `arrowleft` events when the user pressed corresponding arrow keys.
87
- */
88
- private _propagateArrowKeystrokeEvents;
89
- /**
90
- * Closes the menu whenever it gets disabled to avoid leaving an open panel in a non-interactive state.
91
- */
92
- private _closeOnDisabled;
93
- /**
94
- * Sets the position of the panel when the menu opens. The panel is positioned
95
- * so that it optimally uses the available space in the viewport.
96
- */
97
- private _repositionPanelOnOpen;
98
- /**
99
- * @inheritDoc
100
- */
101
- focus(): void;
102
- /**
103
- * Positioning functions for the {@link #panelView} . They change depending on the role of the menu (top-level vs sub-menu) in
104
- * the {@link module:ui/menubar/menubarview~MenuBarView menu bar} and the UI language direction.
105
- */
106
- get _panelPositions(): Array<PositioningFunction>;
107
- /**
108
- * The default position of the panel when the menu is opened.
109
- * It is used when the optimal position cannot be calculated.
110
- */
111
- private get _defaultMenuPositionName();
112
- /**
113
- * A function used to calculate the optimal position for the dropdown panel.
114
- *
115
- * Referenced for unit testing purposes.
116
- */
117
- private static _getOptimalPosition;
18
+ /**
19
+ * Button of the menu view.
20
+ */
21
+ readonly buttonView: MenuBarMenuButtonView;
22
+ /**
23
+ * Panel of the menu. It hosts children of the menu.
24
+ */
25
+ readonly panelView: MenuBarMenuPanelView;
26
+ /**
27
+ * Tracks information about the DOM focus in the menu.
28
+ */
29
+ readonly focusTracker: FocusTracker;
30
+ /**
31
+ * Instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}. It manages
32
+ * keystrokes of the menu.
33
+ */
34
+ readonly keystrokes: KeystrokeHandler;
35
+ /**
36
+ * Controls whether the menu is open, i.e. shows or hides the {@link #panelView panel}.
37
+ *
38
+ * @observable
39
+ */
40
+ isOpen: boolean;
41
+ /**
42
+ * Controls whether the menu is enabled, i.e. its {@link #buttonView} can be clicked.
43
+ *
44
+ * @observable
45
+ */
46
+ isEnabled: boolean;
47
+ /**
48
+ * (Optional) The additional CSS class set on the menu {@link #element}.
49
+ *
50
+ * @observable
51
+ */
52
+ class: string | undefined;
53
+ /**
54
+ * The name of the position of the {@link #panelView}, relative to the menu.
55
+ *
56
+ * **Note**: The value is updated each time the panel gets {@link #isOpen open}.
57
+ *
58
+ * @observable
59
+ * @default 'w'
60
+ */
61
+ panelPosition: MenuBarMenuPanelPosition;
62
+ /**
63
+ * The parent menu view of the menu. It is `null` for top-level menus.
64
+ *
65
+ * See {@link module:ui/menubar/menubarview~MenuBarView#registerMenu}.
66
+ */
67
+ parentMenuView: MenuBarMenuView | null;
68
+ /**
69
+ * Creates an instance of the menu view.
70
+ *
71
+ * @param locale The localization services instance.
72
+ */
73
+ constructor(locale: Locale);
74
+ /**
75
+ * @inheritDoc
76
+ */
77
+ override render(): void;
78
+ /**
79
+ * Attach all keyboard behaviors for the menu bar view.
80
+ *
81
+ * @internal
82
+ */
83
+ _attachBehaviors(): void;
84
+ /**
85
+ * Fires `arrowright` and `arrowleft` events when the user pressed corresponding arrow keys.
86
+ */
87
+ private _propagateArrowKeystrokeEvents;
88
+ /**
89
+ * Closes the menu whenever it gets disabled to avoid leaving an open panel in a non-interactive state.
90
+ */
91
+ private _closeOnDisabled;
92
+ /**
93
+ * Sets the position of the panel when the menu opens. The panel is positioned
94
+ * so that it optimally uses the available space in the viewport.
95
+ */
96
+ private _repositionPanelOnOpen;
97
+ /**
98
+ * @inheritDoc
99
+ */
100
+ focus(): void;
101
+ /**
102
+ * Positioning functions for the {@link #panelView} . They change depending on the role of the menu (top-level vs sub-menu) in
103
+ * the {@link module:ui/menubar/menubarview~MenuBarView menu bar} and the UI language direction.
104
+ */
105
+ get _panelPositions(): Array<PositioningFunction>;
106
+ /**
107
+ * The default position of the panel when the menu is opened.
108
+ * It is used when the optimal position cannot be calculated.
109
+ */
110
+ private get _defaultMenuPositionName();
111
+ /**
112
+ * A function used to calculate the optimal position for the dropdown panel.
113
+ *
114
+ * Referenced for unit testing purposes.
115
+ */
116
+ private static _getOptimalPosition;
118
117
  }
@@ -1,180 +1,179 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
5
  /**
6
- * @module ui/menubar/menubarview
7
- */
8
- import { type BaseEvent, type Locale } from '@ckeditor/ckeditor5-utils';
9
- import { type FocusableView } from '../focuscycler.js';
10
- import { View } from '../view.js';
11
- import { type ViewCollection } from '../viewcollection.js';
12
- import { type ComponentFactory } from '../componentfactory.js';
13
- import { MenuBarMenuView } from './menubarmenuview.js';
14
- import '../../theme/components/menubar/menubar.css';
6
+ * @module ui/menubar/menubarview
7
+ */
8
+ import { type BaseEvent, type Locale } from "@ckeditor/ckeditor5-utils";
9
+ import { type FocusableView } from "../focuscycler.js";
10
+ import { View } from "../view.js";
11
+ import { type ViewCollection } from "../viewcollection.js";
12
+ import { type ComponentFactory } from "../componentfactory.js";
13
+ import { MenuBarMenuView } from "./menubarmenuview.js";
15
14
  /**
16
- * The application menu bar component. It brings a set of top-level menus (and sub-menus) that can be used
17
- * to organize and access a large number of buttons.
18
- */
15
+ * The application menu bar component. It brings a set of top-level menus (and sub-menus) that can be used
16
+ * to organize and access a large number of buttons.
17
+ */
19
18
  export declare class MenuBarView extends View implements FocusableView {
20
- /**
21
- * Collection of the child views inside the {@link #element}.
22
- */
23
- children: ViewCollection<MenuBarMenuView>;
24
- /**
25
- * Indicates whether any of top-level menus are open in the menu bar. To close
26
- * the menu bar use the {@link #close} method.
27
- *
28
- * @observable
29
- */
30
- isOpen: boolean;
31
- /**
32
- * Indicates whether the menu bar has been interacted with using the keyboard.
33
- *
34
- * It is useful for showing focus outlines while hovering over the menu bar when
35
- * interaction with the keyboard was detected.
36
- *
37
- * @observable
38
- */
39
- isFocusBorderEnabled: boolean;
40
- /**
41
- * A list of {@link module:ui/menubar/menubarmenuview~MenuBarMenuView} instances registered in the menu bar.
42
- *
43
- * @observable
44
- */
45
- menus: Array<MenuBarMenuView>;
46
- /**
47
- * Creates an instance of the menu bar view.
48
- *
49
- * @param locale The localization services instance.
50
- */
51
- constructor(locale: Locale);
52
- /**
53
- * A utility that expands a plain menu bar configuration into a structure of menus (also: sub-menus)
54
- * and items using a given {@link module:ui/componentfactory~ComponentFactory component factory}.
55
- *
56
- * See the {@link module:core/editor/editorconfig~EditorConfig#menuBar menu bar} in the editor
57
- * configuration reference to learn how to configure the menu bar.
58
- */
59
- fillFromConfig(config: NormalizedMenuBarConfigObject, componentFactory: ComponentFactory, extraItems?: Array<MenuBarConfigAddedItem | MenuBarConfigAddedGroup | MenuBarConfigAddedMenu>): void;
60
- /**
61
- * @inheritDoc
62
- */
63
- render(): void;
64
- /**
65
- * Focuses the menu bar.
66
- */
67
- focus(): void;
68
- /**
69
- * Closes all menus in the bar.
70
- */
71
- close(): void;
72
- /**
73
- * Disables all menus in the bar.
74
- */
75
- disable(): void;
76
- /**
77
- * Enables all menus in the bar.
78
- */
79
- enable(): void;
80
- /**
81
- * Registers a menu view in the menu bar. Every {@link module:ui/menubar/menubarmenuview~MenuBarMenuView} instance must be registered
82
- * in the menu bar to be properly managed.
83
- */
84
- registerMenu(menuView: MenuBarMenuView, parentMenuView?: MenuBarMenuView | null): void;
85
- /**
86
- * Creates a {@link module:ui/menubar/menubarmenuview~MenuBarMenuView} based on the given definition.
87
- */
88
- private _createMenu;
89
- /**
90
- * Creates a {@link module:ui/menubar/menubarmenuview~MenuBarMenuView} items based on the given definition.
91
- */
92
- private _createMenuItems;
93
- /**
94
- * Uses the component factory to create a content of the menu item (a button or a sub-menu).
95
- */
96
- private _createMenuItemContentFromFactory;
97
- /**
98
- * Checks component and its children recursively and calls {@link #registerMenu}
99
- * for each item that is {@link module:ui/menubar/menubarmenuview~MenuBarMenuView}.
100
- *
101
- * @internal
102
- */
103
- private _registerMenuTree;
104
- /**
105
- * Manages the state of the {@link #isOpen} property of the menu bar. Because the state is a sum of individual
106
- * top-level menus' states, it's necessary to listen to their changes and update the state accordingly.
107
- *
108
- * Additionally, it prevents from unnecessary changes of `isOpen` when one top-level menu opens and another closes
109
- * (regardless of in which order), maintaining a stable `isOpen === true` in that situation.
110
- */
111
- private _setupIsOpenUpdater;
19
+ /**
20
+ * Collection of the child views inside the {@link #element}.
21
+ */
22
+ children: ViewCollection<MenuBarMenuView>;
23
+ /**
24
+ * Indicates whether any of top-level menus are open in the menu bar. To close
25
+ * the menu bar use the {@link #close} method.
26
+ *
27
+ * @observable
28
+ */
29
+ isOpen: boolean;
30
+ /**
31
+ * Indicates whether the menu bar has been interacted with using the keyboard.
32
+ *
33
+ * It is useful for showing focus outlines while hovering over the menu bar when
34
+ * interaction with the keyboard was detected.
35
+ *
36
+ * @observable
37
+ */
38
+ isFocusBorderEnabled: boolean;
39
+ /**
40
+ * A list of {@link module:ui/menubar/menubarmenuview~MenuBarMenuView} instances registered in the menu bar.
41
+ *
42
+ * @observable
43
+ */
44
+ menus: Array<MenuBarMenuView>;
45
+ /**
46
+ * Creates an instance of the menu bar view.
47
+ *
48
+ * @param locale The localization services instance.
49
+ */
50
+ constructor(locale: Locale);
51
+ /**
52
+ * A utility that expands a plain menu bar configuration into a structure of menus (also: sub-menus)
53
+ * and items using a given {@link module:ui/componentfactory~ComponentFactory component factory}.
54
+ *
55
+ * See the {@link module:core/editor/editorconfig~EditorConfig#menuBar menu bar} in the editor
56
+ * configuration reference to learn how to configure the menu bar.
57
+ */
58
+ fillFromConfig(config: NormalizedMenuBarConfigObject, componentFactory: ComponentFactory, extraItems?: Array<MenuBarConfigAddedItem | MenuBarConfigAddedGroup | MenuBarConfigAddedMenu>): void;
59
+ /**
60
+ * @inheritDoc
61
+ */
62
+ override render(): void;
63
+ /**
64
+ * Focuses the menu bar.
65
+ */
66
+ focus(): void;
67
+ /**
68
+ * Closes all menus in the bar.
69
+ */
70
+ close(): void;
71
+ /**
72
+ * Disables all menus in the bar.
73
+ */
74
+ disable(): void;
75
+ /**
76
+ * Enables all menus in the bar.
77
+ */
78
+ enable(): void;
79
+ /**
80
+ * Registers a menu view in the menu bar. Every {@link module:ui/menubar/menubarmenuview~MenuBarMenuView} instance must be registered
81
+ * in the menu bar to be properly managed.
82
+ */
83
+ registerMenu(menuView: MenuBarMenuView, parentMenuView?: MenuBarMenuView | null): void;
84
+ /**
85
+ * Creates a {@link module:ui/menubar/menubarmenuview~MenuBarMenuView} based on the given definition.
86
+ */
87
+ private _createMenu;
88
+ /**
89
+ * Creates a {@link module:ui/menubar/menubarmenuview~MenuBarMenuView} items based on the given definition.
90
+ */
91
+ private _createMenuItems;
92
+ /**
93
+ * Uses the component factory to create a content of the menu item (a button or a sub-menu).
94
+ */
95
+ private _createMenuItemContentFromFactory;
96
+ /**
97
+ * Checks component and its children recursively and calls {@link #registerMenu}
98
+ * for each item that is {@link module:ui/menubar/menubarmenuview~MenuBarMenuView}.
99
+ *
100
+ * @internal
101
+ */
102
+ private _registerMenuTree;
103
+ /**
104
+ * Manages the state of the {@link #isOpen} property of the menu bar. Because the state is a sum of individual
105
+ * top-level menus' states, it's necessary to listen to their changes and update the state accordingly.
106
+ *
107
+ * Additionally, it prevents from unnecessary changes of `isOpen` when one top-level menu opens and another closes
108
+ * (regardless of in which order), maintaining a stable `isOpen === true` in that situation.
109
+ */
110
+ private _setupIsOpenUpdater;
112
111
  }
113
112
  export type MenuBarConfig = MenuBarConfigObject;
114
113
  export type MenuBarConfigObject = {
115
- items?: Array<MenuBarMenuDefinition>;
116
- removeItems?: Array<string>;
117
- addItems?: Array<MenuBarConfigAddedItem | MenuBarConfigAddedGroup | MenuBarConfigAddedMenu>;
118
- isVisible?: boolean;
114
+ items?: Array<MenuBarMenuDefinition>;
115
+ removeItems?: Array<string>;
116
+ addItems?: Array<MenuBarConfigAddedItem | MenuBarConfigAddedGroup | MenuBarConfigAddedMenu>;
117
+ isVisible?: boolean;
119
118
  };
120
119
  export type NormalizedMenuBarConfigObject = Required<MenuBarConfigObject> & {
121
- isUsingDefaultConfig: boolean;
120
+ isUsingDefaultConfig: boolean;
122
121
  };
123
122
  export type MenuBarMenuGroupDefinition = {
124
- groupId: string;
125
- items: Array<MenuBarMenuDefinition | string>;
123
+ groupId: string;
124
+ items: Array<MenuBarMenuDefinition | string>;
126
125
  };
127
126
  export type MenuBarMenuDefinition = {
128
- menuId: string;
129
- label: string;
130
- groups: Array<MenuBarMenuGroupDefinition>;
127
+ menuId: string;
128
+ label: string;
129
+ groups: Array<MenuBarMenuGroupDefinition>;
131
130
  };
132
- export type MenuBarConfigAddedPosition = `start:${string}` | `end:${string}` | 'start' | 'end' | `after:${string}` | `before:${string}`;
131
+ export type MenuBarConfigAddedPosition = `start:${string}` | `end:${string}` | "start" | "end" | `after:${string}` | `before:${string}`;
133
132
  export type MenuBarConfigAddedItem = {
134
- item: string;
135
- position: MenuBarConfigAddedPosition;
133
+ item: string;
134
+ position: MenuBarConfigAddedPosition;
136
135
  };
137
136
  export type MenuBarConfigAddedGroup = {
138
- group: MenuBarMenuGroupDefinition;
139
- position: MenuBarConfigAddedPosition;
137
+ group: MenuBarMenuGroupDefinition;
138
+ position: MenuBarConfigAddedPosition;
140
139
  };
141
140
  export type MenuBarConfigAddedMenu = {
142
- menu: MenuBarMenuDefinition;
143
- position: MenuBarConfigAddedPosition;
141
+ menu: MenuBarMenuDefinition;
142
+ position: MenuBarConfigAddedPosition;
144
143
  };
145
144
  /**
146
- * Any namespaced event fired by menu a {@link module:ui/menubar/menubarview~MenuBarView#menus menu view instance} of the
147
- * {@link module:ui/menubar/menubarview~MenuBarView menu bar}.
148
- */
145
+ * Any namespaced event fired by menu a {@link module:ui/menubar/menubarview~MenuBarView#menus menu view instance} of the
146
+ * {@link module:ui/menubar/menubarview~MenuBarView menu bar}.
147
+ */
149
148
  export interface MenuBarMenuEvent extends BaseEvent {
150
- name: `menu:${string}` | `menu:change:${string}`;
149
+ name: `menu:${string}` | `menu:change:${string}`;
151
150
  }
152
151
  /**
153
- * A `mouseenter` event originating from a {@link module:ui/menubar/menubarview~MenuBarView#menus menu view instance} of the
154
- * {@link module:ui/menubar/menubarview~MenuBarView menu bar}.
155
- */
152
+ * A `mouseenter` event originating from a {@link module:ui/menubar/menubarview~MenuBarView#menus menu view instance} of the
153
+ * {@link module:ui/menubar/menubarview~MenuBarView menu bar}.
154
+ */
156
155
  export interface MenuBarMenuMouseEnterEvent extends MenuBarMenuEvent {
157
- name: 'menu:mouseenter';
156
+ name: "menu:mouseenter";
158
157
  }
159
158
  /**
160
- * An `arrowleft` event originating from a {@link module:ui/menubar/menubarview~MenuBarView#menus menu view instance} of the
161
- * {@link module:ui/menubar/menubarview~MenuBarView menu bar}.
162
- */
159
+ * An `arrowleft` event originating from a {@link module:ui/menubar/menubarview~MenuBarView#menus menu view instance} of the
160
+ * {@link module:ui/menubar/menubarview~MenuBarView menu bar}.
161
+ */
163
162
  export interface MenuBarMenuArrowLeftEvent extends MenuBarMenuEvent {
164
- name: 'menu:arrowleft';
163
+ name: "menu:arrowleft";
165
164
  }
166
165
  /**
167
- * An `arrowright` event originating from a {@link module:ui/menubar/menubarview~MenuBarView#menus menu view instance} of the
168
- * {@link module:ui/menubar/menubarview~MenuBarView menu bar}.
169
- */
166
+ * An `arrowright` event originating from a {@link module:ui/menubar/menubarview~MenuBarView#menus menu view instance} of the
167
+ * {@link module:ui/menubar/menubarview~MenuBarView menu bar}.
168
+ */
170
169
  export interface MenuBarMenuArrowRightEvent extends MenuBarMenuEvent {
171
- name: 'menu:arrowright';
170
+ name: "menu:arrowright";
172
171
  }
173
172
  /**
174
- * A `change:isOpen` event originating from a {@link module:ui/menubar/menubarview~MenuBarView#menus menu view instance} of the
175
- * {@link module:ui/menubar/menubarview~MenuBarView menu bar}.
176
- */
173
+ * A `change:isOpen` event originating from a {@link module:ui/menubar/menubarview~MenuBarView#menus menu view instance} of the
174
+ * {@link module:ui/menubar/menubarview~MenuBarView menu bar}.
175
+ */
177
176
  export interface MenuBarMenuChangeIsOpenEvent extends MenuBarMenuEvent {
178
- name: 'menu:change:isOpen';
179
- args: [name: string, value: boolean, oldValue: boolean];
177
+ name: "menu:change:isOpen";
178
+ args: [name: string, value: boolean, oldValue: boolean];
180
179
  }