@ckeditor/ckeditor5-ui 48.8.1-alpha.4 → 49.0.0-alpha.1

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 +3241 -2329
  72. package/dist/index-editor.css.map +1 -0
  73. package/dist/index.css +2940 -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,197 +1,196 @@
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/button/buttonview
7
- */
8
- import { View } from '../view.js';
9
- import { IconView } from '../icon/iconview.js';
10
- import { type ViewCollection } from '../viewcollection.js';
11
- import type { Button } from './button.js';
12
- import { type ButtonLabel } from './buttonlabel.js';
13
- import { type Locale } from '@ckeditor/ckeditor5-utils';
14
- import '../../theme/components/button/button.css';
6
+ * @module ui/button/buttonview
7
+ */
8
+ import { View } from "../view.js";
9
+ import { IconView } from "../icon/iconview.js";
10
+ import { type ViewCollection } from "../viewcollection.js";
11
+ import type { Button } from "./button.js";
12
+ import { type ButtonLabel } from "./buttonlabel.js";
13
+ import { type Locale } from "@ckeditor/ckeditor5-utils";
15
14
  /**
16
- * The button view class.
17
- *
18
- * ```ts
19
- * const view = new ButtonView();
20
- *
21
- * view.set( {
22
- * label: 'A button',
23
- * keystroke: 'Ctrl+B',
24
- * tooltip: true,
25
- * withText: true
26
- * } );
27
- *
28
- * view.render();
29
- *
30
- * document.body.append( view.element );
31
- * ```
32
- */
15
+ * The button view class.
16
+ *
17
+ * ```ts
18
+ * const view = new ButtonView();
19
+ *
20
+ * view.set( {
21
+ * label: 'A button',
22
+ * keystroke: 'Ctrl+B',
23
+ * tooltip: true,
24
+ * withText: true
25
+ * } );
26
+ *
27
+ * view.render();
28
+ *
29
+ * document.body.append( view.element );
30
+ * ```
31
+ */
33
32
  export declare class ButtonView extends View<HTMLButtonElement> implements Button {
34
- /**
35
- * Collection of the child views inside of the button {@link #element}.
36
- */
37
- readonly children: ViewCollection;
38
- /**
39
- * Label of the button view. Its text is configurable using the {@link #label label attribute}.
40
- *
41
- * If not configured otherwise in the `constructor()`, by default the label is an instance
42
- * of {@link module:ui/button/buttonlabelview~ButtonLabelView}.
43
- */
44
- readonly labelView: ButtonLabel;
45
- /**
46
- * The icon view of the button. Will be added to {@link #children} when the
47
- * {@link #icon icon attribute} is defined.
48
- */
49
- readonly iconView: IconView;
50
- /**
51
- * A view displaying the keystroke of the button next to the {@link #labelView label}.
52
- * Added to {@link #children} when the {@link #withKeystroke `withKeystroke` attribute}
53
- * is defined.
54
- */
55
- readonly keystrokeView: View;
56
- /**
57
- * @inheritDoc
58
- */
59
- class: string | undefined;
60
- /**
61
- * @inheritDoc
62
- */
63
- labelStyle: string | undefined;
64
- /**
65
- * @inheritDoc
66
- */
67
- icon: string | undefined;
68
- /**
69
- * @inheritDoc
70
- */
71
- isEnabled: boolean;
72
- /**
73
- * @inheritDoc
74
- */
75
- isOn: boolean;
76
- /**
77
- * @inheritDoc
78
- */
79
- isVisible: boolean;
80
- /**
81
- * @inheritDoc
82
- */
83
- isToggleable: boolean;
84
- /**
85
- * @inheritDoc
86
- */
87
- keystroke: string | undefined;
88
- /**
89
- * @inheritDoc
90
- */
91
- label: string | undefined;
92
- /**
93
- * @inheritDoc
94
- */
95
- tabindex: number;
96
- /**
97
- * @inheritDoc
98
- */
99
- tooltip: Button['tooltip'];
100
- /**
101
- * @inheritDoc
102
- */
103
- tooltipPosition: Button['tooltipPosition'];
104
- /**
105
- * @inheritDoc
106
- */
107
- type: Button['type'];
108
- /**
109
- * @inheritDoc
110
- */
111
- withText: boolean;
112
- /**
113
- * @inheritDoc
114
- */
115
- withKeystroke: boolean;
116
- /**
117
- * @inheritDoc
118
- */
119
- role: string | undefined;
120
- /**
121
- * @inheritDoc
122
- */
123
- ariaLabel?: string | undefined;
124
- /**
125
- * @inheritDoc
126
- */
127
- ariaLabelledBy: string | undefined;
128
- /**
129
- * Aria-pressed attribute of element. It is calculated based on {@link #isToggleable isToggleable} and {@link #role}.
130
- * It's set to true if the button is on and the role is not checkable.
131
- *
132
- * @readonly
133
- * @internal
134
- */
135
- _ariaPressed: string | false;
136
- /**
137
- * Aria-checked attribute of element. It is calculated based on {@link #isToggleable isToggleable} and {@link #role}.
138
- * It's set to true if the button is on and the role is checkable.
139
- *
140
- * @readonly
141
- * @internal
142
- */
143
- _ariaChecked: string | false;
144
- /**
145
- * Tooltip of the button bound to the template.
146
- *
147
- * @see #tooltip
148
- * @see module:ui/button/buttonview~ButtonView#_getTooltipString
149
- * @internal
150
- * @observable
151
- */
152
- _tooltipString: string;
153
- /**
154
- * Delayed focus function for focus handling in Safari.
155
- */
156
- private _focusDelayed;
157
- /**
158
- * Creates an instance of the button view class.
159
- *
160
- * @param locale The {@link module:core/editor/editor~Editor#locale} instance.
161
- * @param labelView The instance of the button's label. If not provided, an instance of
162
- * {@link module:ui/button/buttonlabelview~ButtonLabelView} is used.
163
- */
164
- constructor(locale?: Locale, labelView?: ButtonLabel);
165
- /**
166
- * @inheritDoc
167
- */
168
- render(): void;
169
- /**
170
- * Focuses the {@link #element} of the button.
171
- */
172
- focus(): void;
173
- /**
174
- * @inheritDoc
175
- */
176
- destroy(): void;
177
- /**
178
- * Binds the label view instance it with button attributes.
179
- */
180
- private _setupLabelView;
181
- /**
182
- * Creates a view that displays a keystroke next to a {@link #labelView label }
183
- * and binds it with button attributes.
184
- */
185
- private _createKeystrokeView;
186
- /**
187
- * Gets the text for the tooltip from the combination of
188
- * {@link #tooltip}, {@link #label} and {@link #keystroke} attributes.
189
- *
190
- * @see #tooltip
191
- * @see #_tooltipString
192
- * @param tooltip Button tooltip.
193
- * @param label Button label.
194
- * @param keystroke Button keystroke.
195
- */
196
- private _getTooltipString;
33
+ /**
34
+ * Collection of the child views inside of the button {@link #element}.
35
+ */
36
+ readonly children: ViewCollection;
37
+ /**
38
+ * Label of the button view. Its text is configurable using the {@link #label label attribute}.
39
+ *
40
+ * If not configured otherwise in the `constructor()`, by default the label is an instance
41
+ * of {@link module:ui/button/buttonlabelview~ButtonLabelView}.
42
+ */
43
+ readonly labelView: ButtonLabel;
44
+ /**
45
+ * The icon view of the button. Will be added to {@link #children} when the
46
+ * {@link #icon icon attribute} is defined.
47
+ */
48
+ readonly iconView: IconView;
49
+ /**
50
+ * A view displaying the keystroke of the button next to the {@link #labelView label}.
51
+ * Added to {@link #children} when the {@link #withKeystroke `withKeystroke` attribute}
52
+ * is defined.
53
+ */
54
+ readonly keystrokeView: View;
55
+ /**
56
+ * @inheritDoc
57
+ */
58
+ class: string | undefined;
59
+ /**
60
+ * @inheritDoc
61
+ */
62
+ labelStyle: string | undefined;
63
+ /**
64
+ * @inheritDoc
65
+ */
66
+ icon: string | undefined;
67
+ /**
68
+ * @inheritDoc
69
+ */
70
+ isEnabled: boolean;
71
+ /**
72
+ * @inheritDoc
73
+ */
74
+ isOn: boolean;
75
+ /**
76
+ * @inheritDoc
77
+ */
78
+ isVisible: boolean;
79
+ /**
80
+ * @inheritDoc
81
+ */
82
+ isToggleable: boolean;
83
+ /**
84
+ * @inheritDoc
85
+ */
86
+ keystroke: string | undefined;
87
+ /**
88
+ * @inheritDoc
89
+ */
90
+ label: string | undefined;
91
+ /**
92
+ * @inheritDoc
93
+ */
94
+ tabindex: number;
95
+ /**
96
+ * @inheritDoc
97
+ */
98
+ tooltip: Button["tooltip"];
99
+ /**
100
+ * @inheritDoc
101
+ */
102
+ tooltipPosition: Button["tooltipPosition"];
103
+ /**
104
+ * @inheritDoc
105
+ */
106
+ type: Button["type"];
107
+ /**
108
+ * @inheritDoc
109
+ */
110
+ withText: boolean;
111
+ /**
112
+ * @inheritDoc
113
+ */
114
+ withKeystroke: boolean;
115
+ /**
116
+ * @inheritDoc
117
+ */
118
+ role: string | undefined;
119
+ /**
120
+ * @inheritDoc
121
+ */
122
+ ariaLabel?: string | undefined;
123
+ /**
124
+ * @inheritDoc
125
+ */
126
+ ariaLabelledBy: string | undefined;
127
+ /**
128
+ * Aria-pressed attribute of element. It is calculated based on {@link #isToggleable isToggleable} and {@link #role}.
129
+ * It's set to true if the button is on and the role is not checkable.
130
+ *
131
+ * @readonly
132
+ * @internal
133
+ */
134
+ _ariaPressed: string | false;
135
+ /**
136
+ * Aria-checked attribute of element. It is calculated based on {@link #isToggleable isToggleable} and {@link #role}.
137
+ * It's set to true if the button is on and the role is checkable.
138
+ *
139
+ * @readonly
140
+ * @internal
141
+ */
142
+ _ariaChecked: string | false;
143
+ /**
144
+ * Tooltip of the button bound to the template.
145
+ *
146
+ * @see #tooltip
147
+ * @see module:ui/button/buttonview~ButtonView#_getTooltipString
148
+ * @internal
149
+ * @observable
150
+ */
151
+ _tooltipString: string;
152
+ /**
153
+ * Delayed focus function for focus handling in Safari.
154
+ */
155
+ private _focusDelayed;
156
+ /**
157
+ * Creates an instance of the button view class.
158
+ *
159
+ * @param locale The {@link module:core/editor/editor~Editor#locale} instance.
160
+ * @param labelView The instance of the button's label. If not provided, an instance of
161
+ * {@link module:ui/button/buttonlabelview~ButtonLabelView} is used.
162
+ */
163
+ constructor(locale?: Locale, labelView?: ButtonLabel);
164
+ /**
165
+ * @inheritDoc
166
+ */
167
+ override render(): void;
168
+ /**
169
+ * Focuses the {@link #element} of the button.
170
+ */
171
+ focus(): void;
172
+ /**
173
+ * @inheritDoc
174
+ */
175
+ override destroy(): void;
176
+ /**
177
+ * Binds the label view instance it with button attributes.
178
+ */
179
+ private _setupLabelView;
180
+ /**
181
+ * Creates a view that displays a keystroke next to a {@link #labelView label }
182
+ * and binds it with button attributes.
183
+ */
184
+ private _createKeystrokeView;
185
+ /**
186
+ * Gets the text for the tooltip from the combination of
187
+ * {@link #tooltip}, {@link #label} and {@link #keystroke} attributes.
188
+ *
189
+ * @see #tooltip
190
+ * @see #_tooltipString
191
+ * @param tooltip Button tooltip.
192
+ * @param label Button label.
193
+ * @param keystroke Button keystroke.
194
+ */
195
+ private _getTooltipString;
197
196
  }
@@ -1,112 +1,120 @@
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/button/filedialogbuttonview
7
- */
8
- import { View } from '../view.js';
9
- import { ButtonView } from './buttonview.js';
10
- import type { Constructor, Mixed } from '@ckeditor/ckeditor5-utils';
11
- import { ListItemButtonView } from './listitembuttonview.js';
12
- declare const FileDialogButtonView_base: Mixed<typeof ButtonView, FileDialogButtonViewBase>;
6
+ * @module ui/button/filedialogbuttonview
7
+ */
8
+ import { View } from "../view.js";
9
+ import { ButtonView } from "./buttonview.js";
10
+ import type { Constructor, Mixed } from "@ckeditor/ckeditor5-utils";
11
+ import { ListItemButtonView } from "./listitembuttonview.js";
13
12
  /**
14
- * The file dialog button view.
15
- *
16
- * This component provides a button that opens the native file selection dialog.
17
- * It can be used to implement the UI of a file upload feature.
18
- *
19
- * ```ts
20
- * const view = new FileDialogButtonView( locale );
21
- *
22
- * view.set( {
23
- * acceptedType: 'image/*',
24
- * allowMultipleFiles: true
25
- * label: t( 'Insert image' ),
26
- * icon: imageIcon,
27
- * tooltip: true
28
- * } );
29
- *
30
- * view.on( 'done', ( evt, files ) => {
31
- * for ( const file of Array.from( files ) ) {
32
- * console.log( 'Selected file', file );
33
- * }
34
- * } );
35
- * ```
36
- */
37
- export declare class FileDialogButtonView extends /* #__PURE__ */ FileDialogButtonView_base {
38
- }
39
- declare const FileDialogListItemButtonView_base: Mixed<typeof ListItemButtonView, FileDialogButtonViewBase>;
13
+ * Constructor returned by {@link ~FileDialogViewMixin}. Use it to name a mixin base class before extending it.
14
+ *
15
+ * ```ts
16
+ * const MyFileDialogViewBase: FileDialogViewMixinConstructor<typeof BaseClass> = FileDialogViewMixin( BaseClass );
17
+ *
18
+ * class MyFileDialogView extends MyFileDialogViewBase {}
19
+ * ```
20
+ */
21
+ export type FileDialogViewMixinConstructor<Base extends Constructor<ButtonView>> = Mixed<Base, FileDialogButtonViewBase>;
22
+ declare const FileDialogButtonViewMixinBase: FileDialogViewMixinConstructor<typeof ButtonView>;
23
+ declare const FileDialogListItemButtonViewMixinBase: FileDialogViewMixinConstructor<typeof ListItemButtonView>;
24
+ /**
25
+ * The file dialog button view.
26
+ *
27
+ * This component provides a button that opens the native file selection dialog.
28
+ * It can be used to implement the UI of a file upload feature.
29
+ *
30
+ * ```ts
31
+ * const view = new FileDialogButtonView( locale );
32
+ *
33
+ * view.set( {
34
+ * acceptedType: 'image/*',
35
+ * allowMultipleFiles: true
36
+ * label: t( 'Insert image' ),
37
+ * icon: imageIcon,
38
+ * tooltip: true
39
+ * } );
40
+ *
41
+ * view.on( 'done', ( evt, files ) => {
42
+ * for ( const file of Array.from( files ) ) {
43
+ * console.log( 'Selected file', file );
44
+ * }
45
+ * } );
46
+ * ```
47
+ */
48
+ export declare class FileDialogButtonView extends FileDialogButtonViewMixinBase {}
40
49
  /**
41
- * The file dialog button view used in a lists.
42
- *
43
- * This component provides a button that opens the native file selection dialog.
44
- * It can be used to implement the UI of a file upload feature.
45
- *
50
+ * The file dialog button view used in a lists.
51
+ *
52
+ * This component provides a button that opens the native file selection dialog.
53
+ * It can be used to implement the UI of a file upload feature.
54
+ *
46
55
  * ```ts
47
- * const view = new FileDialogListItemButtonView( locale );
48
- *
49
- * view.set( {
50
- * acceptedType: 'image/*',
51
- * allowMultipleFiles: true
52
- * label: t( 'Insert image' ),
53
- * icon: imageIcon,
54
- * tooltip: true
55
- * } );
56
- *
57
- * view.on( 'done', ( evt, files ) => {
58
- * for ( const file of Array.from( files ) ) {
59
- * console.log( 'Selected file', file );
60
- * }
61
- * } );
62
- * ```
63
- */
64
- export declare class FileDialogListItemButtonView extends /* #__PURE__ */ FileDialogListItemButtonView_base {
65
- }
56
+ * const view = new FileDialogListItemButtonView( locale );
57
+ *
58
+ * view.set( {
59
+ * acceptedType: 'image/*',
60
+ * allowMultipleFiles: true
61
+ * label: t( 'Insert image' ),
62
+ * icon: imageIcon,
63
+ * tooltip: true
64
+ * } );
65
+ *
66
+ * view.on( 'done', ( evt, files ) => {
67
+ * for ( const file of Array.from( files ) ) {
68
+ * console.log( 'Selected file', file );
69
+ * }
70
+ * } );
71
+ * ```
72
+ */
73
+ export declare class FileDialogListItemButtonView extends FileDialogListItemButtonViewMixinBase {}
66
74
  /**
67
- * Mixin function that enhances a base button view class with file dialog functionality. It is used
68
- * to create a button view class that opens the native select file dialog when clicked.
69
- *
70
- * The enhanced view includes a button and a hidden file input. When the button is clicked, the file dialog is opened.
71
- * The mixin adds properties and methods to the base class to handle the file selection.
72
- *
73
- * @param view The base class to be enhanced with file dialog functionality.
74
- * @returns A new class that extends the base class and includes the file dialog functionality.
75
- */
76
- export declare function FileDialogViewMixin<Base extends Constructor<ButtonView>>(view: Base): Mixed<Base, FileDialogButtonViewBase>;
75
+ * Mixin function that enhances a base button view class with file dialog functionality. It is used
76
+ * to create a button view class that opens the native select file dialog when clicked.
77
+ *
78
+ * The enhanced view includes a button and a hidden file input. When the button is clicked, the file dialog is opened.
79
+ * The mixin adds properties and methods to the base class to handle the file selection.
80
+ *
81
+ * @param view The base class to be enhanced with file dialog functionality.
82
+ * @returns A new class that extends the base class and includes the file dialog functionality.
83
+ */
84
+ export declare function FileDialogViewMixin<Base extends Constructor<ButtonView>>(view: Base): FileDialogViewMixinConstructor<Base>;
77
85
  /**
78
- * Represents the base view for a file dialog button component.
79
- */
86
+ * Represents the base view for a file dialog button component.
87
+ */
80
88
  export type FileDialogButtonViewBase = View & {
81
- /**
82
- * Accepted file types. Can be provided in form of file extensions, media type or one of:
83
- * * `audio/*`,
84
- * * `video/*`,
85
- * * `image/*`.
86
- *
87
- * @observable
88
- */
89
- acceptedType: string;
90
- /**
91
- * Indicates if multiple files can be selected. Defaults to `true`.
92
- *
93
- * @observable
94
- */
95
- allowMultipleFiles: boolean;
89
+ /**
90
+ * Accepted file types. Can be provided in form of file extensions, media type or one of:
91
+ * * `audio/*`,
92
+ * * `video/*`,
93
+ * * `image/*`.
94
+ *
95
+ * @observable
96
+ */
97
+ acceptedType: string;
98
+ /**
99
+ * Indicates if multiple files can be selected. Defaults to `true`.
100
+ *
101
+ * @observable
102
+ */
103
+ allowMultipleFiles: boolean;
96
104
  };
97
105
  /**
98
- * Fired when file dialog is closed with file selected.
99
- *
100
- * ```ts
101
- * view.on( 'done', ( evt, files ) => {
102
- * for ( const file of files ) {
103
- * console.log( 'Selected file', file );
104
- * }
105
- * }
106
- * ```
107
- */
106
+ * Fired when file dialog is closed with file selected.
107
+ *
108
+ * ```ts
109
+ * view.on( 'done', ( evt, files ) => {
110
+ * for ( const file of files ) {
111
+ * console.log( 'Selected file', file );
112
+ * }
113
+ * }
114
+ * ```
115
+ */
108
116
  export type FileInputViewDoneEvent = {
109
- name: 'done';
110
- args: [files: FileList];
117
+ name: "done";
118
+ args: [files: FileList];
111
119
  };
112
120
  export {};