@ckeditor/ckeditor5-ui 40.0.0 → 40.1.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 (165) hide show
  1. package/LICENSE.md +3 -3
  2. package/lang/translations/pt-br.po +1 -1
  3. package/lang/translations/ug.po +26 -26
  4. package/package.json +3 -3
  5. package/src/arialiveannouncer.d.ts +94 -0
  6. package/src/arialiveannouncer.js +113 -0
  7. package/src/augmentation.d.ts +86 -86
  8. package/src/augmentation.js +5 -5
  9. package/src/autocomplete/autocompleteview.d.ts +81 -81
  10. package/src/autocomplete/autocompleteview.js +153 -146
  11. package/src/bindings/addkeyboardhandlingforgrid.d.ts +27 -27
  12. package/src/bindings/addkeyboardhandlingforgrid.js +107 -107
  13. package/src/bindings/clickoutsidehandler.d.ts +28 -28
  14. package/src/bindings/clickoutsidehandler.js +36 -36
  15. package/src/bindings/csstransitiondisablermixin.d.ts +40 -40
  16. package/src/bindings/csstransitiondisablermixin.js +55 -55
  17. package/src/bindings/injectcsstransitiondisabler.d.ts +59 -59
  18. package/src/bindings/injectcsstransitiondisabler.js +71 -71
  19. package/src/bindings/preventdefault.d.ts +33 -33
  20. package/src/bindings/preventdefault.js +34 -34
  21. package/src/bindings/submithandler.d.ts +57 -57
  22. package/src/bindings/submithandler.js +47 -47
  23. package/src/button/button.d.ts +172 -178
  24. package/src/button/button.js +5 -5
  25. package/src/button/buttonlabel.d.ts +34 -34
  26. package/src/button/buttonlabel.js +5 -5
  27. package/src/button/buttonlabelview.d.ts +31 -31
  28. package/src/button/buttonlabelview.js +42 -42
  29. package/src/button/buttonview.d.ts +181 -185
  30. package/src/button/buttonview.js +217 -219
  31. package/src/button/switchbuttonview.d.ts +45 -45
  32. package/src/button/switchbuttonview.js +75 -75
  33. package/src/colorgrid/colorgridview.d.ts +132 -132
  34. package/src/colorgrid/colorgridview.js +124 -124
  35. package/src/colorgrid/colortileview.d.ts +28 -28
  36. package/src/colorgrid/colortileview.js +40 -40
  37. package/src/colorgrid/utils.d.ts +47 -47
  38. package/src/colorgrid/utils.js +84 -84
  39. package/src/colorpicker/colorpickerview.d.ts +137 -137
  40. package/src/colorpicker/colorpickerview.js +270 -270
  41. package/src/colorpicker/utils.d.ts +43 -43
  42. package/src/colorpicker/utils.js +99 -99
  43. package/src/colorselector/colorgridsfragmentview.d.ts +194 -194
  44. package/src/colorselector/colorgridsfragmentview.js +289 -289
  45. package/src/colorselector/colorpickerfragmentview.d.ts +128 -128
  46. package/src/colorselector/colorpickerfragmentview.js +205 -205
  47. package/src/colorselector/colorselectorview.d.ts +242 -242
  48. package/src/colorselector/colorselectorview.js +256 -256
  49. package/src/colorselector/documentcolorcollection.d.ts +70 -70
  50. package/src/colorselector/documentcolorcollection.js +42 -42
  51. package/src/componentfactory.d.ts +81 -81
  52. package/src/componentfactory.js +104 -104
  53. package/src/dropdown/button/dropdownbutton.d.ts +25 -25
  54. package/src/dropdown/button/dropdownbutton.js +5 -5
  55. package/src/dropdown/button/dropdownbuttonview.d.ts +48 -48
  56. package/src/dropdown/button/dropdownbuttonview.js +66 -66
  57. package/src/dropdown/button/splitbuttonview.d.ts +161 -161
  58. package/src/dropdown/button/splitbuttonview.js +152 -152
  59. package/src/dropdown/dropdownpanelfocusable.d.ts +21 -21
  60. package/src/dropdown/dropdownpanelfocusable.js +5 -5
  61. package/src/dropdown/dropdownpanelview.d.ts +62 -62
  62. package/src/dropdown/dropdownpanelview.js +97 -97
  63. package/src/dropdown/dropdownview.d.ts +315 -315
  64. package/src/dropdown/dropdownview.js +379 -379
  65. package/src/dropdown/utils.d.ts +235 -235
  66. package/src/dropdown/utils.js +463 -458
  67. package/src/editableui/editableuiview.d.ts +72 -72
  68. package/src/editableui/editableuiview.js +112 -112
  69. package/src/editableui/inline/inlineeditableuiview.d.ts +40 -40
  70. package/src/editableui/inline/inlineeditableuiview.js +48 -48
  71. package/src/editorui/bodycollection.d.ts +55 -55
  72. package/src/editorui/bodycollection.js +84 -84
  73. package/src/editorui/boxed/boxededitoruiview.d.ts +40 -40
  74. package/src/editorui/boxed/boxededitoruiview.js +81 -81
  75. package/src/editorui/editorui.d.ts +288 -282
  76. package/src/editorui/editorui.js +412 -410
  77. package/src/editorui/editoruiview.d.ts +39 -39
  78. package/src/editorui/editoruiview.js +38 -38
  79. package/src/editorui/poweredby.d.ts +71 -71
  80. package/src/editorui/poweredby.js +276 -276
  81. package/src/focuscycler.d.ts +226 -226
  82. package/src/focuscycler.js +245 -245
  83. package/src/formheader/formheaderview.d.ts +59 -59
  84. package/src/formheader/formheaderview.js +69 -69
  85. package/src/highlightedtext/highlightedtextview.d.ts +38 -38
  86. package/src/highlightedtext/highlightedtextview.js +102 -102
  87. package/src/icon/iconview.d.ts +85 -85
  88. package/src/icon/iconview.js +114 -114
  89. package/src/iframe/iframeview.d.ts +50 -50
  90. package/src/iframe/iframeview.js +63 -63
  91. package/src/index.d.ts +73 -73
  92. package/src/index.js +70 -70
  93. package/src/input/inputbase.d.ts +107 -107
  94. package/src/input/inputbase.js +110 -110
  95. package/src/input/inputview.d.ts +36 -36
  96. package/src/input/inputview.js +24 -24
  97. package/src/inputnumber/inputnumberview.d.ts +49 -49
  98. package/src/inputnumber/inputnumberview.js +40 -40
  99. package/src/inputtext/inputtextview.d.ts +18 -18
  100. package/src/inputtext/inputtextview.js +27 -27
  101. package/src/label/labelview.d.ts +36 -36
  102. package/src/label/labelview.js +41 -41
  103. package/src/labeledfield/labeledfieldview.d.ts +187 -187
  104. package/src/labeledfield/labeledfieldview.js +157 -157
  105. package/src/labeledfield/utils.d.ts +123 -123
  106. package/src/labeledfield/utils.js +176 -176
  107. package/src/labeledinput/labeledinputview.d.ts +125 -125
  108. package/src/labeledinput/labeledinputview.js +125 -125
  109. package/src/list/listitemgroupview.d.ts +59 -51
  110. package/src/list/listitemgroupview.js +63 -75
  111. package/src/list/listitemview.d.ts +36 -36
  112. package/src/list/listitemview.js +42 -42
  113. package/src/list/listseparatorview.d.ts +18 -18
  114. package/src/list/listseparatorview.js +28 -28
  115. package/src/list/listview.d.ts +122 -122
  116. package/src/list/listview.js +187 -187
  117. package/src/model.d.ts +22 -22
  118. package/src/model.js +31 -31
  119. package/src/notification/notification.d.ts +211 -211
  120. package/src/notification/notification.js +187 -187
  121. package/src/panel/balloon/balloonpanelview.d.ts +685 -685
  122. package/src/panel/balloon/balloonpanelview.js +1010 -1010
  123. package/src/panel/balloon/contextualballoon.d.ts +299 -299
  124. package/src/panel/balloon/contextualballoon.js +572 -572
  125. package/src/panel/sticky/stickypanelview.d.ts +156 -156
  126. package/src/panel/sticky/stickypanelview.js +234 -234
  127. package/src/search/filteredview.d.ts +31 -31
  128. package/src/search/filteredview.js +5 -5
  129. package/src/search/searchinfoview.d.ts +45 -45
  130. package/src/search/searchinfoview.js +59 -59
  131. package/src/search/searchresultsview.d.ts +54 -54
  132. package/src/search/searchresultsview.js +65 -65
  133. package/src/search/text/searchtextqueryview.d.ts +76 -76
  134. package/src/search/text/searchtextqueryview.js +75 -75
  135. package/src/search/text/searchtextview.d.ts +219 -219
  136. package/src/search/text/searchtextview.js +201 -201
  137. package/src/spinner/spinnerview.d.ts +25 -25
  138. package/src/spinner/spinnerview.js +38 -38
  139. package/src/template.d.ts +942 -942
  140. package/src/template.js +1294 -1294
  141. package/src/textarea/textareaview.d.ts +88 -88
  142. package/src/textarea/textareaview.js +142 -140
  143. package/src/toolbar/balloon/balloontoolbar.d.ts +122 -122
  144. package/src/toolbar/balloon/balloontoolbar.js +300 -300
  145. package/src/toolbar/block/blockbuttonview.d.ts +35 -35
  146. package/src/toolbar/block/blockbuttonview.js +41 -41
  147. package/src/toolbar/block/blocktoolbar.d.ts +161 -161
  148. package/src/toolbar/block/blocktoolbar.js +395 -395
  149. package/src/toolbar/normalizetoolbarconfig.d.ts +40 -40
  150. package/src/toolbar/normalizetoolbarconfig.js +52 -51
  151. package/src/toolbar/toolbarlinebreakview.d.ts +18 -18
  152. package/src/toolbar/toolbarlinebreakview.js +28 -28
  153. package/src/toolbar/toolbarseparatorview.d.ts +18 -18
  154. package/src/toolbar/toolbarseparatorview.js +28 -28
  155. package/src/toolbar/toolbarview.d.ts +266 -266
  156. package/src/toolbar/toolbarview.js +719 -719
  157. package/src/tooltipmanager.d.ts +180 -180
  158. package/src/tooltipmanager.js +353 -353
  159. package/src/view.d.ts +422 -422
  160. package/src/view.js +396 -396
  161. package/src/viewcollection.d.ts +139 -139
  162. package/src/viewcollection.js +206 -206
  163. package/theme/components/arialiveannouncer/arialiveannouncer.css +10 -0
  164. package/theme/components/button/button.css +9 -1
  165. package/theme/components/formheader/formheader.css +0 -4
@@ -1,157 +1,157 @@
1
- /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
- */
5
- /**
6
- * @module ui/labeledfield/labeledfieldview
7
- */
8
- import View from '../view';
9
- import LabelView from '../label/labelview';
10
- import { uid } from '@ckeditor/ckeditor5-utils';
11
- import '../../theme/components/labeledfield/labeledfieldview.css';
12
- /**
13
- * The labeled field view class. It can be used to enhance any view with the following features:
14
- *
15
- * * a label,
16
- * * (optional) an error message,
17
- * * (optional) an info (status) text,
18
- *
19
- * all bound logically by proper DOM attributes for UX and accessibility. It also provides an interface
20
- * (e.g. observable properties) that allows controlling those additional features.
21
- *
22
- * The constructor of this class requires a callback that returns a view to be labeled. The callback
23
- * is called with unique ids that allow binding of DOM properties:
24
- *
25
- * ```ts
26
- * const labeledInputView = new LabeledFieldView( locale, ( labeledFieldView, viewUid, statusUid ) => {
27
- * const inputView = new InputTextView( labeledFieldView.locale );
28
- *
29
- * inputView.set( {
30
- * id: viewUid,
31
- * ariaDescribedById: statusUid
32
- * } );
33
- *
34
- * inputView.bind( 'isReadOnly' ).to( labeledFieldView, 'isEnabled', value => !value );
35
- * inputView.bind( 'hasError' ).to( labeledFieldView, 'errorText', value => !!value );
36
- *
37
- * return inputView;
38
- * } );
39
- *
40
- * labeledInputView.label = 'User name';
41
- * labeledInputView.infoText = 'Full name like for instance, John Doe.';
42
- * labeledInputView.render();
43
- *
44
- * document.body.append( labeledInputView.element );
45
- * ```
46
- *
47
- * See {@link module:ui/labeledfield/utils} to discover ready–to–use labeled input helpers for common
48
- * UI components.
49
- */
50
- export default class LabeledFieldView extends View {
51
- /**
52
- * Creates an instance of the labeled field view class using a provided creator function
53
- * that provides the view to be labeled.
54
- *
55
- * @param locale The locale instance.
56
- * @param viewCreator A function that returns a {@link module:ui/view~View}
57
- * that will be labeled. The following arguments are passed to the creator function:
58
- *
59
- * * an instance of the `LabeledFieldView` to allow binding observable properties,
60
- * * an UID string that connects the {@link #labelView label} and the labeled field view in DOM,
61
- * * an UID string that connects the {@link #statusView status} and the labeled field view in DOM.
62
- */
63
- constructor(locale, viewCreator) {
64
- super(locale);
65
- const viewUid = `ck-labeled-field-view-${uid()}`;
66
- const statusUid = `ck-labeled-field-view-status-${uid()}`;
67
- this.fieldView = viewCreator(this, viewUid, statusUid);
68
- this.set('label', undefined);
69
- this.set('isEnabled', true);
70
- this.set('isEmpty', true);
71
- this.set('isFocused', false);
72
- this.set('errorText', null);
73
- this.set('infoText', null);
74
- this.set('class', undefined);
75
- this.set('placeholder', undefined);
76
- this.labelView = this._createLabelView(viewUid);
77
- this.statusView = this._createStatusView(statusUid);
78
- this.fieldWrapperChildren = this.createCollection([this.fieldView, this.labelView]);
79
- this.bind('_statusText').to(this, 'errorText', this, 'infoText', (errorText, infoText) => errorText || infoText);
80
- const bind = this.bindTemplate;
81
- this.setTemplate({
82
- tag: 'div',
83
- attributes: {
84
- class: [
85
- 'ck',
86
- 'ck-labeled-field-view',
87
- bind.to('class'),
88
- bind.if('isEnabled', 'ck-disabled', value => !value),
89
- bind.if('isEmpty', 'ck-labeled-field-view_empty'),
90
- bind.if('isFocused', 'ck-labeled-field-view_focused'),
91
- bind.if('placeholder', 'ck-labeled-field-view_placeholder'),
92
- bind.if('errorText', 'ck-error')
93
- ]
94
- },
95
- children: [
96
- {
97
- tag: 'div',
98
- attributes: {
99
- class: [
100
- 'ck',
101
- 'ck-labeled-field-view__input-wrapper'
102
- ]
103
- },
104
- children: this.fieldWrapperChildren
105
- },
106
- this.statusView
107
- ]
108
- });
109
- }
110
- /**
111
- * Creates label view class instance and bind with view.
112
- *
113
- * @param id Unique id to set as labelView#for attribute.
114
- */
115
- _createLabelView(id) {
116
- const labelView = new LabelView(this.locale);
117
- labelView.for = id;
118
- labelView.bind('text').to(this, 'label');
119
- return labelView;
120
- }
121
- /**
122
- * Creates the status view instance. It displays {@link #errorText} and {@link #infoText}
123
- * next to the {@link #fieldView}. See {@link #_statusText}.
124
- *
125
- * @param statusUid Unique id of the status, shared with the {@link #fieldView view's}
126
- * `aria-describedby` attribute.
127
- */
128
- _createStatusView(statusUid) {
129
- const statusView = new View(this.locale);
130
- const bind = this.bindTemplate;
131
- statusView.setTemplate({
132
- tag: 'div',
133
- attributes: {
134
- class: [
135
- 'ck',
136
- 'ck-labeled-field-view__status',
137
- bind.if('errorText', 'ck-labeled-field-view__status_error'),
138
- bind.if('_statusText', 'ck-hidden', value => !value)
139
- ],
140
- id: statusUid,
141
- role: bind.if('errorText', 'alert')
142
- },
143
- children: [
144
- {
145
- text: bind.to('_statusText')
146
- }
147
- ]
148
- });
149
- return statusView;
150
- }
151
- /**
152
- * Focuses the {@link #fieldView}.
153
- */
154
- focus(direction) {
155
- this.fieldView.focus(direction);
156
- }
157
- }
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @module ui/labeledfield/labeledfieldview
7
+ */
8
+ import View from '../view';
9
+ import LabelView from '../label/labelview';
10
+ import { uid } from '@ckeditor/ckeditor5-utils';
11
+ import '../../theme/components/labeledfield/labeledfieldview.css';
12
+ /**
13
+ * The labeled field view class. It can be used to enhance any view with the following features:
14
+ *
15
+ * * a label,
16
+ * * (optional) an error message,
17
+ * * (optional) an info (status) text,
18
+ *
19
+ * all bound logically by proper DOM attributes for UX and accessibility. It also provides an interface
20
+ * (e.g. observable properties) that allows controlling those additional features.
21
+ *
22
+ * The constructor of this class requires a callback that returns a view to be labeled. The callback
23
+ * is called with unique ids that allow binding of DOM properties:
24
+ *
25
+ * ```ts
26
+ * const labeledInputView = new LabeledFieldView( locale, ( labeledFieldView, viewUid, statusUid ) => {
27
+ * const inputView = new InputTextView( labeledFieldView.locale );
28
+ *
29
+ * inputView.set( {
30
+ * id: viewUid,
31
+ * ariaDescribedById: statusUid
32
+ * } );
33
+ *
34
+ * inputView.bind( 'isReadOnly' ).to( labeledFieldView, 'isEnabled', value => !value );
35
+ * inputView.bind( 'hasError' ).to( labeledFieldView, 'errorText', value => !!value );
36
+ *
37
+ * return inputView;
38
+ * } );
39
+ *
40
+ * labeledInputView.label = 'User name';
41
+ * labeledInputView.infoText = 'Full name like for instance, John Doe.';
42
+ * labeledInputView.render();
43
+ *
44
+ * document.body.append( labeledInputView.element );
45
+ * ```
46
+ *
47
+ * See {@link module:ui/labeledfield/utils} to discover ready–to–use labeled input helpers for common
48
+ * UI components.
49
+ */
50
+ export default class LabeledFieldView extends View {
51
+ /**
52
+ * Creates an instance of the labeled field view class using a provided creator function
53
+ * that provides the view to be labeled.
54
+ *
55
+ * @param locale The locale instance.
56
+ * @param viewCreator A function that returns a {@link module:ui/view~View}
57
+ * that will be labeled. The following arguments are passed to the creator function:
58
+ *
59
+ * * an instance of the `LabeledFieldView` to allow binding observable properties,
60
+ * * an UID string that connects the {@link #labelView label} and the labeled field view in DOM,
61
+ * * an UID string that connects the {@link #statusView status} and the labeled field view in DOM.
62
+ */
63
+ constructor(locale, viewCreator) {
64
+ super(locale);
65
+ const viewUid = `ck-labeled-field-view-${uid()}`;
66
+ const statusUid = `ck-labeled-field-view-status-${uid()}`;
67
+ this.fieldView = viewCreator(this, viewUid, statusUid);
68
+ this.set('label', undefined);
69
+ this.set('isEnabled', true);
70
+ this.set('isEmpty', true);
71
+ this.set('isFocused', false);
72
+ this.set('errorText', null);
73
+ this.set('infoText', null);
74
+ this.set('class', undefined);
75
+ this.set('placeholder', undefined);
76
+ this.labelView = this._createLabelView(viewUid);
77
+ this.statusView = this._createStatusView(statusUid);
78
+ this.fieldWrapperChildren = this.createCollection([this.fieldView, this.labelView]);
79
+ this.bind('_statusText').to(this, 'errorText', this, 'infoText', (errorText, infoText) => errorText || infoText);
80
+ const bind = this.bindTemplate;
81
+ this.setTemplate({
82
+ tag: 'div',
83
+ attributes: {
84
+ class: [
85
+ 'ck',
86
+ 'ck-labeled-field-view',
87
+ bind.to('class'),
88
+ bind.if('isEnabled', 'ck-disabled', value => !value),
89
+ bind.if('isEmpty', 'ck-labeled-field-view_empty'),
90
+ bind.if('isFocused', 'ck-labeled-field-view_focused'),
91
+ bind.if('placeholder', 'ck-labeled-field-view_placeholder'),
92
+ bind.if('errorText', 'ck-error')
93
+ ]
94
+ },
95
+ children: [
96
+ {
97
+ tag: 'div',
98
+ attributes: {
99
+ class: [
100
+ 'ck',
101
+ 'ck-labeled-field-view__input-wrapper'
102
+ ]
103
+ },
104
+ children: this.fieldWrapperChildren
105
+ },
106
+ this.statusView
107
+ ]
108
+ });
109
+ }
110
+ /**
111
+ * Creates label view class instance and bind with view.
112
+ *
113
+ * @param id Unique id to set as labelView#for attribute.
114
+ */
115
+ _createLabelView(id) {
116
+ const labelView = new LabelView(this.locale);
117
+ labelView.for = id;
118
+ labelView.bind('text').to(this, 'label');
119
+ return labelView;
120
+ }
121
+ /**
122
+ * Creates the status view instance. It displays {@link #errorText} and {@link #infoText}
123
+ * next to the {@link #fieldView}. See {@link #_statusText}.
124
+ *
125
+ * @param statusUid Unique id of the status, shared with the {@link #fieldView view's}
126
+ * `aria-describedby` attribute.
127
+ */
128
+ _createStatusView(statusUid) {
129
+ const statusView = new View(this.locale);
130
+ const bind = this.bindTemplate;
131
+ statusView.setTemplate({
132
+ tag: 'div',
133
+ attributes: {
134
+ class: [
135
+ 'ck',
136
+ 'ck-labeled-field-view__status',
137
+ bind.if('errorText', 'ck-labeled-field-view__status_error'),
138
+ bind.if('_statusText', 'ck-hidden', value => !value)
139
+ ],
140
+ id: statusUid,
141
+ role: bind.if('errorText', 'alert')
142
+ },
143
+ children: [
144
+ {
145
+ text: bind.to('_statusText')
146
+ }
147
+ ]
148
+ });
149
+ return statusView;
150
+ }
151
+ /**
152
+ * Focuses the {@link #fieldView}.
153
+ */
154
+ focus(direction) {
155
+ this.fieldView.focus(direction);
156
+ }
157
+ }
@@ -1,123 +1,123 @@
1
- /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
- */
5
- /**
6
- * @module ui/labeledfield/utils
7
- */
8
- import InputTextView from '../inputtext/inputtextview';
9
- import InputNumberView from '../inputnumber/inputnumberview';
10
- import TextareaView from '../textarea/textareaview';
11
- import type DropdownView from '../dropdown/dropdownview';
12
- import type { LabeledFieldViewCreator } from './labeledfieldview';
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 An 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 An 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
- declare const createLabeledInputText: LabeledFieldViewCreator<InputTextView>;
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 An 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 An 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
- declare const createLabeledInputNumber: LabeledFieldViewCreator<InputNumberView>;
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 An 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 An 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
- declare const createLabeledTextarea: LabeledFieldViewCreator<TextareaView>;
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 An 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 An 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
- declare const createLabeledDropdown: LabeledFieldViewCreator<DropdownView>;
123
- export { createLabeledInputNumber, createLabeledInputText, createLabeledTextarea, createLabeledDropdown };
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @module ui/labeledfield/utils
7
+ */
8
+ import InputTextView from '../inputtext/inputtextview';
9
+ import InputNumberView from '../inputnumber/inputnumberview';
10
+ import TextareaView from '../textarea/textareaview';
11
+ import type DropdownView from '../dropdown/dropdownview';
12
+ import type { LabeledFieldViewCreator } from './labeledfieldview';
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 An 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 An 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
+ declare const createLabeledInputText: LabeledFieldViewCreator<InputTextView>;
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 An 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 An 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
+ declare const createLabeledInputNumber: LabeledFieldViewCreator<InputNumberView>;
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 An 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 An 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
+ declare const createLabeledTextarea: LabeledFieldViewCreator<TextareaView>;
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 An 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 An 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
+ declare const createLabeledDropdown: LabeledFieldViewCreator<DropdownView>;
123
+ export { createLabeledInputNumber, createLabeledInputText, createLabeledTextarea, createLabeledDropdown };