@ckeditor/ckeditor5-ui 48.8.1-alpha.4 → 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,290 +1,289 @@
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/toolbar/toolbarview
7
- */
8
- import { View } from '../view.js';
9
- import { type FocusableView } from '../focuscycler.js';
10
- import { type ComponentFactory } from '../componentfactory.js';
11
- import { type ViewCollection } from '../viewcollection.js';
12
- import { type DropdownPanelFocusable } from '../dropdown/dropdownpanelfocusable.js';
13
- import { FocusTracker, KeystrokeHandler, type Locale } from '@ckeditor/ckeditor5-utils';
14
- import type { ToolbarConfig } from '@ckeditor/ckeditor5-core';
15
- import '../../theme/components/toolbar/toolbar.css';
6
+ * @module ui/toolbar/toolbarview
7
+ */
8
+ import { View } from "../view.js";
9
+ import { type FocusableView } from "../focuscycler.js";
10
+ import { type ComponentFactory } from "../componentfactory.js";
11
+ import { type ViewCollection } from "../viewcollection.js";
12
+ import { type DropdownPanelFocusable } from "../dropdown/dropdownpanelfocusable.js";
13
+ import { FocusTracker, KeystrokeHandler, type Locale } from "@ckeditor/ckeditor5-utils";
14
+ import type { ToolbarConfig } from "@ckeditor/ckeditor5-core";
16
15
  /**
17
- * @internal
18
- */
16
+ * @internal
17
+ */
19
18
  export declare const NESTED_TOOLBAR_ICONS: Record<string, string | undefined>;
20
19
  /**
21
- * The toolbar view class.
22
- */
20
+ * The toolbar view class.
21
+ */
23
22
  export declare class ToolbarView extends View implements DropdownPanelFocusable {
24
- /**
25
- * A reference to the options object passed to the constructor.
26
- */
27
- readonly options: ToolbarOptions;
28
- /**
29
- * A collection of toolbar items (buttons, dropdowns, etc.).
30
- */
31
- readonly items: ViewCollection;
32
- /**
33
- * Tracks information about the DOM focus in the toolbar.
34
- */
35
- readonly focusTracker: FocusTracker;
36
- /**
37
- * An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}
38
- * to handle keyboard navigation in the toolbar.
39
- */
40
- readonly keystrokes: KeystrokeHandler;
41
- /**
42
- * A (child) view containing {@link #items toolbar items}.
43
- */
44
- readonly itemsView: ItemsView;
45
- /**
46
- * A top–level collection aggregating building blocks of the toolbar.
47
- *
48
- * ┌───────────────── ToolbarView ─────────────────┐
49
- * | ┌──────────────── #children ────────────────┐ |
50
- * | | ┌──────────── #itemsView ───────────┐ | |
51
- * | | | [ item1 ] [ item2 ] ... [ itemN ] | | |
52
- * | | └──────────────────────────────────-┘ | |
53
- * | └───────────────────────────────────────────┘ |
54
- * └───────────────────────────────────────────────┘
55
- *
56
- * By default, it contains the {@link #itemsView} but it can be extended with additional
57
- * UI elements when necessary.
58
- */
59
- readonly children: ViewCollection;
60
- /**
61
- * A collection of {@link #items} that take part in the focus cycling
62
- * (i.e. navigation using the keyboard). Usually, it contains a subset of {@link #items} with
63
- * some optional UI elements that also belong to the toolbar and should be focusable
64
- * by the user.
65
- */
66
- readonly focusables: ViewCollection<FocusableView>;
67
- locale: Locale;
68
- /**
69
- * The property reflected by the `role` DOM attribute to be used by assistive technologies.
70
- *
71
- * @observable
72
- * @default 'toolbar'
73
- */
74
- role: string | undefined;
75
- /**
76
- * Label used by assistive technologies to describe this toolbar element.
77
- *
78
- * @observable
79
- * @default 'Editor toolbar'
80
- */
81
- ariaLabel: string;
82
- /**
83
- * The maximum width of the toolbar element.
84
- *
85
- * **Note**: When set to a specific value (e.g. `'200px'`), the value will affect the behavior of the
86
- * {@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull}
87
- * option by changing the number of {@link #items} that will be displayed in the toolbar at a time.
88
- *
89
- * @observable
90
- * @default 'auto'
91
- */
92
- maxWidth: string;
93
- /**
94
- * An additional CSS class added to the {@link #element}.
95
- *
96
- * @observable
97
- * @type {String}
98
- */
99
- class: string | undefined;
100
- /**
101
- * When set true, makes the toolbar look compact with {@link #element}.
102
- *
103
- * @observable
104
- * @default false
105
- */
106
- isCompact: boolean;
107
- /**
108
- * Controls the orientation of toolbar items. Only available when
109
- * {@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull dynamic items grouping}
110
- * is **disabled**.
111
- *
112
- * @observable
113
- */
114
- isVertical: boolean;
115
- /**
116
- * Indicates whether the toolbar responds to changes in the geometry (e.g. window resize) by grouping excessive items or not.
117
- */
118
- isGrouping: boolean;
119
- /**
120
- * Helps cycling over {@link #focusables focusable items} in the toolbar.
121
- */
122
- private readonly _focusCycler;
123
- /**
124
- * An instance of the active toolbar behavior that shapes its look and functionality.
125
- *
126
- * See {@link module:ui/toolbar/toolbarview~ToolbarBehavior} to learn more.
127
- */
128
- private _behavior;
129
- /**
130
- * Creates an instance of the {@link module:ui/toolbar/toolbarview~ToolbarView} class.
131
- *
132
- * Also see {@link #render}.
133
- *
134
- * @param locale The localization services instance.
135
- * @param options Configuration options of the toolbar.
136
- */
137
- constructor(locale: Locale, options?: ToolbarOptions);
138
- /**
139
- * @inheritDoc
140
- */
141
- render(): void;
142
- /**
143
- * @inheritDoc
144
- */
145
- destroy(): void;
146
- /**
147
- * Focuses the first focusable in {@link #focusables}.
148
- */
149
- focus(): void;
150
- /**
151
- * Focuses the last focusable in {@link #focusables}.
152
- */
153
- focusLast(): void;
154
- /**
155
- * A utility that expands the plain toolbar configuration into
156
- * {@link module:ui/toolbar/toolbarview~ToolbarView#items} using a given component factory.
157
- *
158
- * @param itemsOrConfig The toolbar items or the entire toolbar configuration object.
159
- * @param factory A factory producing toolbar items.
160
- * @param removeItems An array of items names to be removed from the configuration. When present, applies
161
- * to this toolbar and all nested ones as well.
162
- */
163
- fillFromConfig(itemsOrConfig: ToolbarConfig | undefined, factory: ComponentFactory, removeItems?: Array<string>): void;
164
- /**
165
- * Changes the behavior of toolbar if it does not fit into the available space.
166
- */
167
- switchBehavior(newBehaviorType: 'dynamic' | 'static'): void;
168
- /**
169
- * A utility that expands the plain toolbar configuration into a list of view items using a given component factory.
170
- *
171
- * @param itemsOrConfig The toolbar items or the entire toolbar configuration object.
172
- * @param factory A factory producing toolbar items.
173
- * @param removeItems An array of items names to be removed from the configuration. When present, applies
174
- * to this toolbar and all nested ones as well.
175
- */
176
- private _buildItemsFromConfig;
177
- /**
178
- * Cleans up the {@link module:ui/toolbar/toolbarview~ToolbarView#items} of the toolbar by removing unwanted items and
179
- * duplicated (obsolete) separators or line breaks.
180
- *
181
- * @param items The toolbar items configuration.
182
- * @param factory A factory producing toolbar items.
183
- * @param removeItems An array of items names to be removed from the configuration.
184
- * @returns Items after the clean-up.
185
- */
186
- private _cleanItemsConfiguration;
187
- /**
188
- * Remove leading, trailing, and duplicated separators (`-` and `|`).
189
- *
190
- * @returns Toolbar items after the separator and line break clean-up.
191
- */
192
- private _cleanSeparatorsAndLineBreaks;
193
- /**
194
- * Creates a user-defined dropdown containing a toolbar with items.
195
- *
196
- * @param definition A definition of the nested toolbar dropdown.
197
- * @param definition.label A label of the dropdown.
198
- * @param definition.icon An icon of the drop-down. One of 'bold', 'plus', 'text', 'importExport', 'alignLeft',
199
- * 'paragraph' or an SVG string. When `false` is passed, no icon will be used.
200
- * @param definition.withText When set `true`, the label of the dropdown will be visible. See
201
- * {@link module:ui/button/buttonview~ButtonView#withText} to learn more.
202
- * @param definition.tooltip A tooltip of the dropdown button. See
203
- * {@link module:ui/button/buttonview~ButtonView#tooltip} to learn more. Defaults to `true`.
204
- * @param componentFactory Component factory used to create items
205
- * of the nested toolbar.
206
- */
207
- private _createNestedToolbarDropdown;
23
+ /**
24
+ * A reference to the options object passed to the constructor.
25
+ */
26
+ readonly options: ToolbarOptions;
27
+ /**
28
+ * A collection of toolbar items (buttons, dropdowns, etc.).
29
+ */
30
+ readonly items: ViewCollection;
31
+ /**
32
+ * Tracks information about the DOM focus in the toolbar.
33
+ */
34
+ readonly focusTracker: FocusTracker;
35
+ /**
36
+ * An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}
37
+ * to handle keyboard navigation in the toolbar.
38
+ */
39
+ readonly keystrokes: KeystrokeHandler;
40
+ /**
41
+ * A (child) view containing {@link #items toolbar items}.
42
+ */
43
+ readonly itemsView: ItemsView;
44
+ /**
45
+ * A top–level collection aggregating building blocks of the toolbar.
46
+ *
47
+ * ┌───────────────── ToolbarView ─────────────────┐
48
+ * | ┌──────────────── #children ────────────────┐ |
49
+ * | | ┌──────────── #itemsView ───────────┐ | |
50
+ * | | | [ item1 ] [ item2 ] ... [ itemN ] | | |
51
+ * | | └──────────────────────────────────-┘ | |
52
+ * | └───────────────────────────────────────────┘ |
53
+ * └───────────────────────────────────────────────┘
54
+ *
55
+ * By default, it contains the {@link #itemsView} but it can be extended with additional
56
+ * UI elements when necessary.
57
+ */
58
+ readonly children: ViewCollection;
59
+ /**
60
+ * A collection of {@link #items} that take part in the focus cycling
61
+ * (i.e. navigation using the keyboard). Usually, it contains a subset of {@link #items} with
62
+ * some optional UI elements that also belong to the toolbar and should be focusable
63
+ * by the user.
64
+ */
65
+ readonly focusables: ViewCollection<FocusableView>;
66
+ locale: Locale;
67
+ /**
68
+ * The property reflected by the `role` DOM attribute to be used by assistive technologies.
69
+ *
70
+ * @observable
71
+ * @default 'toolbar'
72
+ */
73
+ role: string | undefined;
74
+ /**
75
+ * Label used by assistive technologies to describe this toolbar element.
76
+ *
77
+ * @observable
78
+ * @default 'Editor toolbar'
79
+ */
80
+ ariaLabel: string;
81
+ /**
82
+ * The maximum width of the toolbar element.
83
+ *
84
+ * **Note**: When set to a specific value (e.g. `'200px'`), the value will affect the behavior of the
85
+ * {@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull}
86
+ * option by changing the number of {@link #items} that will be displayed in the toolbar at a time.
87
+ *
88
+ * @observable
89
+ * @default 'auto'
90
+ */
91
+ maxWidth: string;
92
+ /**
93
+ * An additional CSS class added to the {@link #element}.
94
+ *
95
+ * @observable
96
+ * @type {String}
97
+ */
98
+ class: string | undefined;
99
+ /**
100
+ * When set true, makes the toolbar look compact with {@link #element}.
101
+ *
102
+ * @observable
103
+ * @default false
104
+ */
105
+ isCompact: boolean;
106
+ /**
107
+ * Controls the orientation of toolbar items. Only available when
108
+ * {@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull dynamic items grouping}
109
+ * is **disabled**.
110
+ *
111
+ * @observable
112
+ */
113
+ isVertical: boolean;
114
+ /**
115
+ * Indicates whether the toolbar responds to changes in the geometry (e.g. window resize) by grouping excessive items or not.
116
+ */
117
+ isGrouping: boolean;
118
+ /**
119
+ * Helps cycling over {@link #focusables focusable items} in the toolbar.
120
+ */
121
+ private readonly _focusCycler;
122
+ /**
123
+ * An instance of the active toolbar behavior that shapes its look and functionality.
124
+ *
125
+ * See {@link module:ui/toolbar/toolbarview~ToolbarBehavior} to learn more.
126
+ */
127
+ private _behavior;
128
+ /**
129
+ * Creates an instance of the {@link module:ui/toolbar/toolbarview~ToolbarView} class.
130
+ *
131
+ * Also see {@link #render}.
132
+ *
133
+ * @param locale The localization services instance.
134
+ * @param options Configuration options of the toolbar.
135
+ */
136
+ constructor(locale: Locale, options?: ToolbarOptions);
137
+ /**
138
+ * @inheritDoc
139
+ */
140
+ override render(): void;
141
+ /**
142
+ * @inheritDoc
143
+ */
144
+ override destroy(): void;
145
+ /**
146
+ * Focuses the first focusable in {@link #focusables}.
147
+ */
148
+ focus(): void;
149
+ /**
150
+ * Focuses the last focusable in {@link #focusables}.
151
+ */
152
+ focusLast(): void;
153
+ /**
154
+ * A utility that expands the plain toolbar configuration into
155
+ * {@link module:ui/toolbar/toolbarview~ToolbarView#items} using a given component factory.
156
+ *
157
+ * @param itemsOrConfig The toolbar items or the entire toolbar configuration object.
158
+ * @param factory A factory producing toolbar items.
159
+ * @param removeItems An array of items names to be removed from the configuration. When present, applies
160
+ * to this toolbar and all nested ones as well.
161
+ */
162
+ fillFromConfig(itemsOrConfig: ToolbarConfig | undefined, factory: ComponentFactory, removeItems?: Array<string>): void;
163
+ /**
164
+ * Changes the behavior of toolbar if it does not fit into the available space.
165
+ */
166
+ switchBehavior(newBehaviorType: "dynamic" | "static"): void;
167
+ /**
168
+ * A utility that expands the plain toolbar configuration into a list of view items using a given component factory.
169
+ *
170
+ * @param itemsOrConfig The toolbar items or the entire toolbar configuration object.
171
+ * @param factory A factory producing toolbar items.
172
+ * @param removeItems An array of items names to be removed from the configuration. When present, applies
173
+ * to this toolbar and all nested ones as well.
174
+ */
175
+ private _buildItemsFromConfig;
176
+ /**
177
+ * Cleans up the {@link module:ui/toolbar/toolbarview~ToolbarView#items} of the toolbar by removing unwanted items and
178
+ * duplicated (obsolete) separators or line breaks.
179
+ *
180
+ * @param items The toolbar items configuration.
181
+ * @param factory A factory producing toolbar items.
182
+ * @param removeItems An array of items names to be removed from the configuration.
183
+ * @returns Items after the clean-up.
184
+ */
185
+ private _cleanItemsConfiguration;
186
+ /**
187
+ * Remove leading, trailing, and duplicated separators (`-` and `|`).
188
+ *
189
+ * @returns Toolbar items after the separator and line break clean-up.
190
+ */
191
+ private _cleanSeparatorsAndLineBreaks;
192
+ /**
193
+ * Creates a user-defined dropdown containing a toolbar with items.
194
+ *
195
+ * @param definition A definition of the nested toolbar dropdown.
196
+ * @param definition.label A label of the dropdown.
197
+ * @param definition.icon An icon of the drop-down. One of 'bold', 'plus', 'text', 'importExport', 'alignLeft',
198
+ * 'paragraph' or an SVG string. When `false` is passed, no icon will be used.
199
+ * @param definition.withText When set `true`, the label of the dropdown will be visible. See
200
+ * {@link module:ui/button/buttonview~ButtonView#withText} to learn more.
201
+ * @param definition.tooltip A tooltip of the dropdown button. See
202
+ * {@link module:ui/button/buttonview~ButtonView#tooltip} to learn more. Defaults to `true`.
203
+ * @param componentFactory Component factory used to create items
204
+ * of the nested toolbar.
205
+ */
206
+ private _createNestedToolbarDropdown;
208
207
  }
209
208
  /**
210
- * Fired when some toolbar {@link ~ToolbarView#items} were grouped or ungrouped as a result of some change
211
- * in the toolbar geometry.
212
- *
213
- * **Note**: This event is always fired **once** regardless of the number of items that were be
214
- * grouped or ungrouped at a time.
215
- *
216
- * **Note**: This event is fired only if the items grouping functionality was enabled in
217
- * the first place (see {@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull}).
218
- *
219
- * @eventName ~ToolbarView#groupedItemsUpdate
220
- */
209
+ * Fired when some toolbar {@link ~ToolbarView#items} were grouped or ungrouped as a result of some change
210
+ * in the toolbar geometry.
211
+ *
212
+ * **Note**: This event is always fired **once** regardless of the number of items that were be
213
+ * grouped or ungrouped at a time.
214
+ *
215
+ * **Note**: This event is fired only if the items grouping functionality was enabled in
216
+ * the first place (see {@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull}).
217
+ *
218
+ * @eventName ~ToolbarView#groupedItemsUpdate
219
+ */
221
220
  export type ToolbarViewGroupedItemsUpdateEvent = {
222
- name: 'groupedItemsUpdate';
223
- args: [];
221
+ name: "groupedItemsUpdate";
222
+ args: [];
224
223
  };
225
224
  /**
226
- * An inner block of the {@link module:ui/toolbar/toolbarview~ToolbarView} hosting its
227
- * {@link module:ui/toolbar/toolbarview~ToolbarView#items}.
228
- */
225
+ * An inner block of the {@link module:ui/toolbar/toolbarview~ToolbarView} hosting its
226
+ * {@link module:ui/toolbar/toolbarview~ToolbarView#items}.
227
+ */
229
228
  export declare class ItemsView extends View {
230
- /**
231
- * A collection of items (buttons, dropdowns, etc.).
232
- */
233
- readonly children: ViewCollection;
234
- /**
235
- * @inheritDoc
236
- */
237
- constructor(locale?: Locale);
229
+ /**
230
+ * A collection of items (buttons, dropdowns, etc.).
231
+ */
232
+ readonly children: ViewCollection;
233
+ /**
234
+ * @inheritDoc
235
+ */
236
+ constructor(locale?: Locale);
238
237
  }
239
238
  /**
240
- * Options passed to the {@link module:ui/toolbar/toolbarview~ToolbarView#constructor} of the toolbar.
241
- */
239
+ * Options passed to the {@link module:ui/toolbar/toolbarview~ToolbarView#constructor} of the toolbar.
240
+ */
242
241
  export interface ToolbarOptions {
243
- /**
244
- * When set to `true`, the toolbar will automatically group {@link module:ui/toolbar/toolbarview~ToolbarView#items} that
245
- * would normally wrap to the next line when there is not enough space to display them in a single row, for
246
- * instance, if the parent container of the toolbar is narrow. For toolbars in absolutely positioned containers
247
- * without width restrictions also the {@link module:ui/toolbar/toolbarview~ToolbarOptions#isFloating} option is required to be `true`.
248
- *
249
- * See also: {@link module:ui/toolbar/toolbarview~ToolbarView#maxWidth}.
250
- */
251
- shouldGroupWhenFull?: boolean;
252
- /**
253
- * This option should be enabled for toolbars in absolutely positioned containers without width restrictions
254
- * to enable automatic {@link module:ui/toolbar/toolbarview~ToolbarView#items} grouping.
255
- * When this option is set to `true`, the items will stop wrapping to the next line
256
- * and together with {@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull},
257
- * this will allow grouping them when there is not enough space in a single row.
258
- */
259
- isFloating?: boolean;
242
+ /**
243
+ * When set to `true`, the toolbar will automatically group {@link module:ui/toolbar/toolbarview~ToolbarView#items} that
244
+ * would normally wrap to the next line when there is not enough space to display them in a single row, for
245
+ * instance, if the parent container of the toolbar is narrow. For toolbars in absolutely positioned containers
246
+ * without width restrictions also the {@link module:ui/toolbar/toolbarview~ToolbarOptions#isFloating} option is required to be `true`.
247
+ *
248
+ * See also: {@link module:ui/toolbar/toolbarview~ToolbarView#maxWidth}.
249
+ */
250
+ shouldGroupWhenFull?: boolean;
251
+ /**
252
+ * This option should be enabled for toolbars in absolutely positioned containers without width restrictions
253
+ * to enable automatic {@link module:ui/toolbar/toolbarview~ToolbarView#items} grouping.
254
+ * When this option is set to `true`, the items will stop wrapping to the next line
255
+ * and together with {@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull},
256
+ * this will allow grouping them when there is not enough space in a single row.
257
+ */
258
+ isFloating?: boolean;
260
259
  }
261
260
  /**
262
- * A class interface defining the behavior of the {@link module:ui/toolbar/toolbarview~ToolbarView}.
263
- *
264
- * Toolbar behaviors extend its look and functionality and have an impact on the
265
- * {@link module:ui/toolbar/toolbarview~ToolbarView#element} template or
266
- * {@link module:ui/toolbar/toolbarview~ToolbarView#render rendering}. They can be enabled
267
- * conditionally, e.g. depending on the configuration of the toolbar.
268
- * @internal
269
- */
261
+ * A class interface defining the behavior of the {@link module:ui/toolbar/toolbarview~ToolbarView}.
262
+ *
263
+ * Toolbar behaviors extend its look and functionality and have an impact on the
264
+ * {@link module:ui/toolbar/toolbarview~ToolbarView#element} template or
265
+ * {@link module:ui/toolbar/toolbarview~ToolbarView#render rendering}. They can be enabled
266
+ * conditionally, e.g. depending on the configuration of the toolbar.
267
+ * @internal
268
+ */
270
269
  export interface ToolbarBehavior {
271
- /**
272
- * A method called after the toolbar has been {@link module:ui/toolbar/toolbarview~ToolbarView#render rendered}.
273
- * It can be used to, for example, customize the behavior of the toolbar when its
274
- * {@link module:ui/toolbar/toolbarview~ToolbarView#element} is available.
275
- *
276
- * @param view An instance of the toolbar being rendered.
277
- */
278
- render(view: ToolbarView): void;
279
- /**
280
- * A method called after the toolbar has been {@link module:ui/toolbar/toolbarview~ToolbarView#destroy destroyed}.
281
- * It allows cleaning up after the toolbar behavior, for instance, this is the right place to detach
282
- * event listeners, free up references, etc.
283
- */
284
- destroy(): void;
285
- /**
286
- * Indicates the type of the toolbar behavior. Dynamic toolbar can hide items that do not fit into the available space.
287
- * Static toolbar does not hide items and does not respond to the changes of the viewport.
288
- */
289
- type: 'dynamic' | 'static';
270
+ /**
271
+ * A method called after the toolbar has been {@link module:ui/toolbar/toolbarview~ToolbarView#render rendered}.
272
+ * It can be used to, for example, customize the behavior of the toolbar when its
273
+ * {@link module:ui/toolbar/toolbarview~ToolbarView#element} is available.
274
+ *
275
+ * @param view An instance of the toolbar being rendered.
276
+ */
277
+ render(view: ToolbarView): void;
278
+ /**
279
+ * A method called after the toolbar has been {@link module:ui/toolbar/toolbarview~ToolbarView#destroy destroyed}.
280
+ * It allows cleaning up after the toolbar behavior, for instance, this is the right place to detach
281
+ * event listeners, free up references, etc.
282
+ */
283
+ destroy(): void;
284
+ /**
285
+ * Indicates the type of the toolbar behavior. Dynamic toolbar can hide items that do not fit into the available space.
286
+ * Static toolbar does not hide items and does not respond to the changes of the viewport.
287
+ */
288
+ type: "dynamic" | "static";
290
289
  }