@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,187 +1,186 @@
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/labeledfield/labeledfieldview
7
- */
8
- import { View } from '../view.js';
9
- import { LabelView } from '../label/labelview.js';
10
- import type { FocusableView } from '../focuscycler.js';
11
- import { type ViewCollection } from '../viewcollection.js';
12
- import { type Locale } from '@ckeditor/ckeditor5-utils';
13
- import '../../theme/components/labeledfield/labeledfieldview.css';
6
+ * @module ui/labeledfield/labeledfieldview
7
+ */
8
+ import { View } from "../view.js";
9
+ import { LabelView } from "../label/labelview.js";
10
+ import type { FocusableView } from "../focuscycler.js";
11
+ import { type ViewCollection } from "../viewcollection.js";
12
+ import { type Locale } from "@ckeditor/ckeditor5-utils";
14
13
  /**
15
- * The labeled field view class. It can be used to enhance any view with the following features:
16
- *
17
- * * a label,
18
- * * (optional) an error message,
19
- * * (optional) an info (status) text,
20
- *
21
- * all bound logically by proper DOM attributes for UX and accessibility. It also provides an interface
22
- * (e.g. observable properties) that allows controlling those additional features.
23
- *
24
- * The constructor of this class requires a callback that returns a view to be labeled. The callback
25
- * is called with unique ids that allow binding of DOM properties:
26
- *
27
- * ```ts
28
- * const labeledInputView = new LabeledFieldView( locale, ( labeledFieldView, viewUid, statusUid ) => {
29
- * const inputView = new InputTextView( labeledFieldView.locale );
30
- *
31
- * inputView.set( {
32
- * id: viewUid,
33
- * ariaDescribedById: statusUid
34
- * } );
35
- *
36
- * inputView.bind( 'isReadOnly' ).to( labeledFieldView, 'isEnabled', value => !value );
37
- * inputView.bind( 'hasError' ).to( labeledFieldView, 'errorText', value => !!value );
38
- *
39
- * return inputView;
40
- * } );
41
- *
42
- * labeledInputView.label = 'User name';
43
- * labeledInputView.infoText = 'Full name like for instance, John Doe.';
44
- * labeledInputView.render();
45
- *
46
- * document.body.append( labeledInputView.element );
47
- * ```
48
- *
49
- * See {@link module:ui/labeledfield/utils} to discover ready–to–use labeled input helpers for common
50
- * UI components.
51
- */
14
+ * The labeled field view class. It can be used to enhance any view with the following features:
15
+ *
16
+ * * a label,
17
+ * * (optional) an error message,
18
+ * * (optional) an info (status) text,
19
+ *
20
+ * all bound logically by proper DOM attributes for UX and accessibility. It also provides an interface
21
+ * (e.g. observable properties) that allows controlling those additional features.
22
+ *
23
+ * The constructor of this class requires a callback that returns a view to be labeled. The callback
24
+ * is called with unique ids that allow binding of DOM properties:
25
+ *
26
+ * ```ts
27
+ * const labeledInputView = new LabeledFieldView( locale, ( labeledFieldView, viewUid, statusUid ) => {
28
+ * const inputView = new InputTextView( labeledFieldView.locale );
29
+ *
30
+ * inputView.set( {
31
+ * id: viewUid,
32
+ * ariaDescribedById: statusUid
33
+ * } );
34
+ *
35
+ * inputView.bind( 'isReadOnly' ).to( labeledFieldView, 'isEnabled', value => !value );
36
+ * inputView.bind( 'hasError' ).to( labeledFieldView, 'errorText', value => !!value );
37
+ *
38
+ * return inputView;
39
+ * } );
40
+ *
41
+ * labeledInputView.label = 'User name';
42
+ * labeledInputView.infoText = 'Full name like for instance, John Doe.';
43
+ * labeledInputView.render();
44
+ *
45
+ * document.body.append( labeledInputView.element );
46
+ * ```
47
+ *
48
+ * See {@link module:ui/labeledfield/utils} to discover ready–to–use labeled input helpers for common
49
+ * UI components.
50
+ */
52
51
  export declare class LabeledFieldView<TFieldView extends FocusableView = FocusableView> extends View {
53
- /**
54
- * The field view that gets labeled.
55
- */
56
- readonly fieldView: TFieldView;
57
- /**
58
- * The label view instance that describes the entire view.
59
- */
60
- readonly labelView: LabelView;
61
- /**
62
- * The status view for the {@link #fieldView}. It displays {@link #errorText} and
63
- * {@link #infoText}.
64
- */
65
- readonly statusView: View;
66
- /**
67
- * A collection of children of the internal wrapper element. Allows inserting additional DOM elements (views) next to
68
- * the {@link #fieldView} for easy styling (e.g. positioning).
69
- *
70
- * By default, the collection contains {@link #fieldView} and {@link #labelView}.
71
- */
72
- readonly fieldWrapperChildren: ViewCollection;
73
- /**
74
- * The text of the label.
75
- *
76
- * @observable
77
- */
78
- label: string | undefined;
79
- /**
80
- * Controls whether the component is in read-only mode.
81
- *
82
- * @observable
83
- */
84
- isEnabled: boolean;
85
- /**
86
- * An observable flag set to `true` when {@link #fieldView} is empty (`false` otherwise).
87
- *
88
- * @readonly
89
- * @observable
90
- * @default true
91
- */
92
- isEmpty: boolean;
93
- /**
94
- * An observable flag set to `true` when {@link #fieldView} is currently focused by
95
- * the user (`false` otherwise).
96
- *
97
- * @readonly
98
- * @observable
99
- * @default false
100
- */
101
- isFocused: boolean;
102
- /**
103
- * The validation error text. When set, it will be displayed
104
- * next to the {@link #fieldView} as a typical validation error message.
105
- * Set it to `null` to hide the message.
106
- *
107
- * **Note:** Setting this property to anything but `null` will automatically
108
- * make the `hasError` of the {@link #fieldView} `true`.
109
- *
110
- * @observable
111
- */
112
- errorText: string | null;
113
- /**
114
- * The additional information text displayed next to the {@link #fieldView} which can
115
- * be used to inform the user about its purpose, provide help or hints.
116
- *
117
- * Set it to `null` to hide the message.
118
- *
119
- * **Note:** This text will be displayed in the same place as {@link #errorText} but the
120
- * latter always takes precedence: if the {@link #errorText} is set, it replaces
121
- * {@link #infoText}.
122
- *
123
- * @observable
124
- * @default null
125
- */
126
- infoText: string | null;
127
- /**
128
- * (Optional) The additional CSS class set on the dropdown {@link #element}.
129
- *
130
- * @observable
131
- */
132
- class: string | undefined;
133
- /**
134
- * The content of the `placeholder` attribute of the {@link #fieldView}.
135
- *
136
- * @observable
137
- */
138
- placeholder: string | undefined;
139
- /**
140
- * The combined status text made of {@link #errorText} and {@link #infoText}.
141
- * Note that when present, {@link #errorText} always takes precedence in the
142
- * status.
143
- *
144
- * @see #errorText
145
- * @see #infoText
146
- * @see #statusView
147
- * @private
148
- * @observable
149
- */
150
- _statusText: string | null;
151
- /**
152
- * Creates an instance of the labeled field view class using a provided creator function
153
- * that provides the view to be labeled.
154
- *
155
- * @param locale The locale instance.
156
- * @param viewCreator A function that returns a {@link module:ui/view~View}
157
- * that will be labeled. The following arguments are passed to the creator function:
158
- *
159
- * * an instance of the `LabeledFieldView` to allow binding observable properties,
160
- * * an UID string that connects the {@link #labelView label} and the labeled field view in DOM,
161
- * * an UID string that connects the {@link #statusView status} and the labeled field view in DOM.
162
- */
163
- constructor(locale: Locale | undefined, viewCreator: LabeledFieldViewCreator<TFieldView>);
164
- /**
165
- * Creates label view class instance and bind with view.
166
- *
167
- * @param id Unique id to set as labelView#for attribute.
168
- */
169
- private _createLabelView;
170
- /**
171
- * Creates the status view instance. It displays {@link #errorText} and {@link #infoText}
172
- * next to the {@link #fieldView}. See {@link #_statusText}.
173
- *
174
- * @param statusUid Unique id of the status, shared with the {@link #fieldView view's}
175
- * `aria-describedby` attribute.
176
- */
177
- private _createStatusView;
178
- /**
179
- * Focuses the {@link #fieldView}.
180
- */
181
- focus(direction?: 1 | -1): void;
52
+ /**
53
+ * The field view that gets labeled.
54
+ */
55
+ readonly fieldView: TFieldView;
56
+ /**
57
+ * The label view instance that describes the entire view.
58
+ */
59
+ readonly labelView: LabelView;
60
+ /**
61
+ * The status view for the {@link #fieldView}. It displays {@link #errorText} and
62
+ * {@link #infoText}.
63
+ */
64
+ readonly statusView: View;
65
+ /**
66
+ * A collection of children of the internal wrapper element. Allows inserting additional DOM elements (views) next to
67
+ * the {@link #fieldView} for easy styling (e.g. positioning).
68
+ *
69
+ * By default, the collection contains {@link #fieldView} and {@link #labelView}.
70
+ */
71
+ readonly fieldWrapperChildren: ViewCollection;
72
+ /**
73
+ * The text of the label.
74
+ *
75
+ * @observable
76
+ */
77
+ label: string | undefined;
78
+ /**
79
+ * Controls whether the component is in read-only mode.
80
+ *
81
+ * @observable
82
+ */
83
+ isEnabled: boolean;
84
+ /**
85
+ * An observable flag set to `true` when {@link #fieldView} is empty (`false` otherwise).
86
+ *
87
+ * @readonly
88
+ * @observable
89
+ * @default true
90
+ */
91
+ isEmpty: boolean;
92
+ /**
93
+ * An observable flag set to `true` when {@link #fieldView} is currently focused by
94
+ * the user (`false` otherwise).
95
+ *
96
+ * @readonly
97
+ * @observable
98
+ * @default false
99
+ */
100
+ isFocused: boolean;
101
+ /**
102
+ * The validation error text. When set, it will be displayed
103
+ * next to the {@link #fieldView} as a typical validation error message.
104
+ * Set it to `null` to hide the message.
105
+ *
106
+ * **Note:** Setting this property to anything but `null` will automatically
107
+ * make the `hasError` of the {@link #fieldView} `true`.
108
+ *
109
+ * @observable
110
+ */
111
+ errorText: string | null;
112
+ /**
113
+ * The additional information text displayed next to the {@link #fieldView} which can
114
+ * be used to inform the user about its purpose, provide help or hints.
115
+ *
116
+ * Set it to `null` to hide the message.
117
+ *
118
+ * **Note:** This text will be displayed in the same place as {@link #errorText} but the
119
+ * latter always takes precedence: if the {@link #errorText} is set, it replaces
120
+ * {@link #infoText}.
121
+ *
122
+ * @observable
123
+ * @default null
124
+ */
125
+ infoText: string | null;
126
+ /**
127
+ * (Optional) The additional CSS class set on the dropdown {@link #element}.
128
+ *
129
+ * @observable
130
+ */
131
+ class: string | undefined;
132
+ /**
133
+ * The content of the `placeholder` attribute of the {@link #fieldView}.
134
+ *
135
+ * @observable
136
+ */
137
+ placeholder: string | undefined;
138
+ /**
139
+ * The combined status text made of {@link #errorText} and {@link #infoText}.
140
+ * Note that when present, {@link #errorText} always takes precedence in the
141
+ * status.
142
+ *
143
+ * @see #errorText
144
+ * @see #infoText
145
+ * @see #statusView
146
+ * @private
147
+ * @observable
148
+ */
149
+ _statusText: string | null;
150
+ /**
151
+ * Creates an instance of the labeled field view class using a provided creator function
152
+ * that provides the view to be labeled.
153
+ *
154
+ * @param locale The locale instance.
155
+ * @param viewCreator A function that returns a {@link module:ui/view~View}
156
+ * that will be labeled. The following arguments are passed to the creator function:
157
+ *
158
+ * * an instance of the `LabeledFieldView` to allow binding observable properties,
159
+ * * an UID string that connects the {@link #labelView label} and the labeled field view in DOM,
160
+ * * an UID string that connects the {@link #statusView status} and the labeled field view in DOM.
161
+ */
162
+ constructor(locale: Locale | undefined, viewCreator: LabeledFieldViewCreator<TFieldView>);
163
+ /**
164
+ * Creates label view class instance and bind with view.
165
+ *
166
+ * @param id Unique id to set as labelView#for attribute.
167
+ */
168
+ private _createLabelView;
169
+ /**
170
+ * Creates the status view instance. It displays {@link #errorText} and {@link #infoText}
171
+ * next to the {@link #fieldView}. See {@link #_statusText}.
172
+ *
173
+ * @param statusUid Unique id of the status, shared with the {@link #fieldView view's}
174
+ * `aria-describedby` attribute.
175
+ */
176
+ private _createStatusView;
177
+ /**
178
+ * Focuses the {@link #fieldView}.
179
+ */
180
+ focus(direction?: 1 | -1): void;
182
181
  }
183
182
  /**
184
- * A creator function that returns a focusable view to be labeled by a {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView}
185
- * instance.
186
- */
183
+ * A creator function that returns a focusable view to be labeled by a {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView}
184
+ * instance.
185
+ */
187
186
  export type LabeledFieldViewCreator<TFieldView extends FocusableView> = (labeledFieldView: LabeledFieldView, viewUid: string, statusUid: string) => TFieldView;
@@ -1,123 +1,123 @@
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/labeledfield/utils
7
- */
8
- import { InputTextView } from '../inputtext/inputtextview.js';
9
- import { InputNumberView } from '../inputnumber/inputnumberview.js';
10
- import { TextareaView } from '../textarea/textareaview.js';
11
- import { type DropdownView } from '../dropdown/dropdownview.js';
12
- import type { LabeledFieldViewCreator } from './labeledfieldview.js';
6
+ * @module ui/labeledfield/utils
7
+ */
8
+ import { InputTextView } from "../inputtext/inputtextview.js";
9
+ import { InputNumberView } from "../inputnumber/inputnumberview.js";
10
+ import { TextareaView } from "../textarea/textareaview.js";
11
+ import { type DropdownView } from "../dropdown/dropdownview.js";
12
+ import type { LabeledFieldViewCreator } from "./labeledfieldview.js";
13
13
  /**
14
- * A helper for creating labeled inputs.
15
- *
16
- * It creates an instance of a {@link module:ui/inputtext/inputtextview~InputTextView input text} that is
17
- * logically related to a {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView labeled view} in DOM.
18
- *
19
- * The helper does the following:
20
- *
21
- * * It sets input's `id` and `ariaDescribedById` attributes.
22
- * * It binds input's `isReadOnly` to the labeled view.
23
- * * It binds input's `hasError` to the labeled view.
24
- * * It enables a logic that cleans up the error when user starts typing in the input.
25
- *
26
- * Usage:
27
- *
28
- * ```ts
29
- * const labeledInputView = new LabeledFieldView( locale, createLabeledInputText );
30
- * console.log( labeledInputView.fieldView ); // A text input instance.
31
- * ```
32
- *
33
- * @param labeledFieldView The instance of the labeled field view.
34
- * @param viewUid A UID string that allows DOM logical connection between the
35
- * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#labelView labeled view's label} and the input.
36
- * @param statusUid A UID string that allows DOM logical connection between the
37
- * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#statusView labeled view's status} and the input.
38
- * @returns The input text view instance.
39
- */
14
+ * A helper for creating labeled inputs.
15
+ *
16
+ * It creates an instance of a {@link module:ui/inputtext/inputtextview~InputTextView input text} that is
17
+ * logically related to a {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView labeled view} in DOM.
18
+ *
19
+ * The helper does the following:
20
+ *
21
+ * * It sets input's `id` and `ariaDescribedById` attributes.
22
+ * * It binds input's `isReadOnly` to the labeled view.
23
+ * * It binds input's `hasError` to the labeled view.
24
+ * * It enables a logic that cleans up the error when user starts typing in the input.
25
+ *
26
+ * Usage:
27
+ *
28
+ * ```ts
29
+ * const labeledInputView = new LabeledFieldView( locale, createLabeledInputText );
30
+ * console.log( labeledInputView.fieldView ); // A text input instance.
31
+ * ```
32
+ *
33
+ * @param labeledFieldView The instance of the labeled field view.
34
+ * @param viewUid A UID string that allows DOM logical connection between the
35
+ * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#labelView labeled view's label} and the input.
36
+ * @param statusUid A UID string that allows DOM logical connection between the
37
+ * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#statusView labeled view's status} and the input.
38
+ * @returns The input text view instance.
39
+ */
40
40
  declare const createLabeledInputText: LabeledFieldViewCreator<InputTextView>;
41
41
  /**
42
- * A helper for creating labeled number inputs.
43
- *
44
- * It creates an instance of a {@link module:ui/inputnumber/inputnumberview~InputNumberView input number} that is
45
- * logically related to a {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView labeled view} in DOM.
46
- *
47
- * The helper does the following:
48
- *
49
- * * It sets input's `id` and `ariaDescribedById` attributes.
50
- * * It binds input's `isReadOnly` to the labeled view.
51
- * * It binds input's `hasError` to the labeled view.
52
- * * It enables a logic that cleans up the error when user starts typing in the input.
53
- *
54
- * Usage:
55
- *
56
- * ```ts
57
- * const labeledInputView = new LabeledFieldView( locale, createLabeledInputNumber );
58
- * console.log( labeledInputView.fieldView ); // A number input instance.
59
- * ```
60
- *
61
- * @param labeledFieldView The instance of the labeled field view.
62
- * @param viewUid A UID string that allows DOM logical connection between the
63
- * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#labelView labeled view's label} and the input.
64
- * @param statusUid A UID string that allows DOM logical connection between the
65
- * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#statusView labeled view's status} and the input.
66
- * @returns The input number view instance.
67
- */
42
+ * A helper for creating labeled number inputs.
43
+ *
44
+ * It creates an instance of a {@link module:ui/inputnumber/inputnumberview~InputNumberView input number} that is
45
+ * logically related to a {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView labeled view} in DOM.
46
+ *
47
+ * The helper does the following:
48
+ *
49
+ * * It sets input's `id` and `ariaDescribedById` attributes.
50
+ * * It binds input's `isReadOnly` to the labeled view.
51
+ * * It binds input's `hasError` to the labeled view.
52
+ * * It enables a logic that cleans up the error when user starts typing in the input.
53
+ *
54
+ * Usage:
55
+ *
56
+ * ```ts
57
+ * const labeledInputView = new LabeledFieldView( locale, createLabeledInputNumber );
58
+ * console.log( labeledInputView.fieldView ); // A number input instance.
59
+ * ```
60
+ *
61
+ * @param labeledFieldView The instance of the labeled field view.
62
+ * @param viewUid A UID string that allows DOM logical connection between the
63
+ * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#labelView labeled view's label} and the input.
64
+ * @param statusUid A UID string that allows DOM logical connection between the
65
+ * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#statusView labeled view's status} and the input.
66
+ * @returns The input number view instance.
67
+ */
68
68
  declare const createLabeledInputNumber: LabeledFieldViewCreator<InputNumberView>;
69
69
  /**
70
- * A helper for creating labeled textarea.
71
- *
72
- * It creates an instance of a {@link module:ui/textarea/textareaview~TextareaView textarea} that is
73
- * logically related to a {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView labeled view} in DOM.
74
- *
75
- * The helper does the following:
76
- *
77
- * * It sets textarea's `id` and `ariaDescribedById` attributes.
78
- * * It binds textarea's `isReadOnly` to the labeled view.
79
- * * It binds textarea's `hasError` to the labeled view.
80
- * * It enables a logic that cleans up the error when user starts typing in the textarea.
81
- *
82
- * Usage:
83
- *
84
- * ```ts
85
- * const labeledTextarea = new LabeledFieldView( locale, createLabeledTextarea );
86
- * console.log( labeledTextarea.fieldView ); // A textarea instance.
87
- * ```
88
- *
89
- * @param labeledFieldView The instance of the labeled field view.
90
- * @param viewUid A UID string that allows DOM logical connection between the
91
- * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#labelView labeled view's label} and the textarea.
92
- * @param statusUid A UID string that allows DOM logical connection between the
93
- * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#statusView labeled view's status} and the textarea.
94
- * @returns The textarea view instance.
95
- */
70
+ * A helper for creating labeled textarea.
71
+ *
72
+ * It creates an instance of a {@link module:ui/textarea/textareaview~TextareaView textarea} that is
73
+ * logically related to a {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView labeled view} in DOM.
74
+ *
75
+ * The helper does the following:
76
+ *
77
+ * * It sets textarea's `id` and `ariaDescribedById` attributes.
78
+ * * It binds textarea's `isReadOnly` to the labeled view.
79
+ * * It binds textarea's `hasError` to the labeled view.
80
+ * * It enables a logic that cleans up the error when user starts typing in the textarea.
81
+ *
82
+ * Usage:
83
+ *
84
+ * ```ts
85
+ * const labeledTextarea = new LabeledFieldView( locale, createLabeledTextarea );
86
+ * console.log( labeledTextarea.fieldView ); // A textarea instance.
87
+ * ```
88
+ *
89
+ * @param labeledFieldView The instance of the labeled field view.
90
+ * @param viewUid A UID string that allows DOM logical connection between the
91
+ * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#labelView labeled view's label} and the textarea.
92
+ * @param statusUid A UID string that allows DOM logical connection between the
93
+ * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#statusView labeled view's status} and the textarea.
94
+ * @returns The textarea view instance.
95
+ */
96
96
  declare const createLabeledTextarea: LabeledFieldViewCreator<TextareaView>;
97
97
  /**
98
- * A helper for creating labeled dropdowns.
99
- *
100
- * It creates an instance of a {@link module:ui/dropdown/dropdownview~DropdownView dropdown} that is
101
- * logically related to a {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView labeled field view}.
102
- *
103
- * The helper does the following:
104
- *
105
- * * It sets dropdown's `id` and `ariaDescribedById` attributes.
106
- * * It binds input's `isEnabled` to the labeled view.
107
- *
108
- * Usage:
109
- *
110
- * ```ts
111
- * const labeledInputView = new LabeledFieldView( locale, createLabeledDropdown );
112
- * console.log( labeledInputView.fieldView ); // A dropdown instance.
113
- * ```
114
- *
115
- * @param labeledFieldView The instance of the labeled field view.
116
- * @param viewUid A UID string that allows DOM logical connection between the
117
- * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#labelView labeled view label} and the dropdown.
118
- * @param statusUid A UID string that allows DOM logical connection between the
119
- * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#statusView labeled view status} and the dropdown.
120
- * @returns The dropdown view instance.
121
- */
98
+ * A helper for creating labeled dropdowns.
99
+ *
100
+ * It creates an instance of a {@link module:ui/dropdown/dropdownview~DropdownView dropdown} that is
101
+ * logically related to a {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView labeled field view}.
102
+ *
103
+ * The helper does the following:
104
+ *
105
+ * * It sets dropdown's `id` and `ariaDescribedById` attributes.
106
+ * * It binds input's `isEnabled` to the labeled view.
107
+ *
108
+ * Usage:
109
+ *
110
+ * ```ts
111
+ * const labeledInputView = new LabeledFieldView( locale, createLabeledDropdown );
112
+ * console.log( labeledInputView.fieldView ); // A dropdown instance.
113
+ * ```
114
+ *
115
+ * @param labeledFieldView The instance of the labeled field view.
116
+ * @param viewUid A UID string that allows DOM logical connection between the
117
+ * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#labelView labeled view label} and the dropdown.
118
+ * @param statusUid A UID string that allows DOM logical connection between the
119
+ * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#statusView labeled view status} and the dropdown.
120
+ * @returns The dropdown view instance.
121
+ */
122
122
  declare const createLabeledDropdown: LabeledFieldViewCreator<DropdownView>;
123
123
  export { createLabeledInputNumber, createLabeledInputText, createLabeledTextarea, createLabeledDropdown };