@ckeditor/ckeditor5-ui 38.1.1 → 38.2.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 (134) hide show
  1. package/lang/contexts.json +2 -1
  2. package/package.json +4 -3
  3. package/src/augmentation.d.ts +86 -86
  4. package/src/augmentation.js +5 -5
  5. package/src/bindings/addkeyboardhandlingforgrid.d.ts +27 -27
  6. package/src/bindings/addkeyboardhandlingforgrid.js +107 -107
  7. package/src/bindings/clickoutsidehandler.d.ts +28 -28
  8. package/src/bindings/clickoutsidehandler.js +36 -36
  9. package/src/bindings/csstransitiondisablermixin.d.ts +40 -40
  10. package/src/bindings/csstransitiondisablermixin.js +55 -55
  11. package/src/bindings/injectcsstransitiondisabler.d.ts +59 -59
  12. package/src/bindings/injectcsstransitiondisabler.js +71 -71
  13. package/src/bindings/preventdefault.d.ts +33 -33
  14. package/src/bindings/preventdefault.js +34 -34
  15. package/src/bindings/submithandler.d.ts +57 -57
  16. package/src/bindings/submithandler.js +47 -47
  17. package/src/button/button.d.ts +178 -178
  18. package/src/button/button.js +5 -5
  19. package/src/button/buttonview.d.ts +177 -177
  20. package/src/button/buttonview.js +231 -231
  21. package/src/button/switchbuttonview.d.ts +45 -45
  22. package/src/button/switchbuttonview.js +75 -75
  23. package/src/colorgrid/colorgridview.d.ts +132 -132
  24. package/src/colorgrid/colorgridview.js +124 -124
  25. package/src/colorgrid/colortileview.d.ts +28 -28
  26. package/src/colorgrid/colortileview.js +40 -40
  27. package/src/colorgrid/utils.d.ts +47 -47
  28. package/src/colorgrid/utils.js +84 -84
  29. package/src/colorpicker/colorpickerview.d.ts +137 -110
  30. package/src/colorpicker/colorpickerview.js +270 -253
  31. package/src/colorpicker/utils.d.ts +43 -35
  32. package/src/colorpicker/utils.js +99 -99
  33. package/src/colorselector/colorgridsfragmentview.d.ts +194 -0
  34. package/src/colorselector/colorgridsfragmentview.js +290 -0
  35. package/src/colorselector/colorpickerfragmentview.d.ts +128 -0
  36. package/src/colorselector/colorpickerfragmentview.js +205 -0
  37. package/src/colorselector/colorselectorview.d.ts +242 -0
  38. package/src/colorselector/colorselectorview.js +256 -0
  39. package/src/colorselector/documentcolorcollection.d.ts +70 -0
  40. package/src/colorselector/documentcolorcollection.js +42 -0
  41. package/src/componentfactory.d.ts +81 -81
  42. package/src/componentfactory.js +104 -104
  43. package/src/dropdown/button/dropdownbutton.d.ts +25 -25
  44. package/src/dropdown/button/dropdownbutton.js +5 -5
  45. package/src/dropdown/button/dropdownbuttonview.d.ts +48 -48
  46. package/src/dropdown/button/dropdownbuttonview.js +66 -66
  47. package/src/dropdown/button/splitbuttonview.d.ts +161 -161
  48. package/src/dropdown/button/splitbuttonview.js +152 -152
  49. package/src/dropdown/dropdownpanelfocusable.d.ts +21 -21
  50. package/src/dropdown/dropdownpanelfocusable.js +5 -5
  51. package/src/dropdown/dropdownpanelview.d.ts +62 -62
  52. package/src/dropdown/dropdownpanelview.js +96 -96
  53. package/src/dropdown/dropdownview.d.ts +315 -315
  54. package/src/dropdown/dropdownview.js +378 -378
  55. package/src/dropdown/utils.d.ts +221 -221
  56. package/src/dropdown/utils.js +437 -434
  57. package/src/editableui/editableuiview.d.ts +72 -72
  58. package/src/editableui/editableuiview.js +112 -112
  59. package/src/editableui/inline/inlineeditableuiview.d.ts +40 -40
  60. package/src/editableui/inline/inlineeditableuiview.js +48 -48
  61. package/src/editorui/bodycollection.d.ts +55 -55
  62. package/src/editorui/bodycollection.js +84 -84
  63. package/src/editorui/boxed/boxededitoruiview.d.ts +40 -40
  64. package/src/editorui/boxed/boxededitoruiview.js +81 -81
  65. package/src/editorui/editorui.d.ts +282 -282
  66. package/src/editorui/editorui.js +410 -410
  67. package/src/editorui/editoruiview.d.ts +39 -39
  68. package/src/editorui/editoruiview.js +38 -38
  69. package/src/editorui/poweredby.d.ts +71 -71
  70. package/src/editorui/poweredby.js +294 -294
  71. package/src/focuscycler.d.ts +183 -183
  72. package/src/focuscycler.js +220 -220
  73. package/src/formheader/formheaderview.d.ts +53 -53
  74. package/src/formheader/formheaderview.js +63 -63
  75. package/src/icon/iconview.d.ts +78 -78
  76. package/src/icon/iconview.js +112 -112
  77. package/src/iframe/iframeview.d.ts +50 -50
  78. package/src/iframe/iframeview.js +63 -63
  79. package/src/index.d.ts +63 -62
  80. package/src/index.js +62 -61
  81. package/src/input/inputview.d.ts +121 -121
  82. package/src/input/inputview.js +106 -106
  83. package/src/inputnumber/inputnumberview.d.ts +49 -49
  84. package/src/inputnumber/inputnumberview.js +40 -40
  85. package/src/inputtext/inputtextview.d.ts +18 -18
  86. package/src/inputtext/inputtextview.js +27 -27
  87. package/src/label/labelview.d.ts +36 -36
  88. package/src/label/labelview.js +41 -41
  89. package/src/labeledfield/labeledfieldview.d.ts +182 -182
  90. package/src/labeledfield/labeledfieldview.js +157 -157
  91. package/src/labeledfield/utils.d.ts +93 -93
  92. package/src/labeledfield/utils.js +131 -131
  93. package/src/labeledinput/labeledinputview.d.ts +125 -125
  94. package/src/labeledinput/labeledinputview.js +125 -125
  95. package/src/list/listitemview.d.ts +35 -35
  96. package/src/list/listitemview.js +40 -40
  97. package/src/list/listseparatorview.d.ts +18 -18
  98. package/src/list/listseparatorview.js +28 -28
  99. package/src/list/listview.d.ts +65 -65
  100. package/src/list/listview.js +90 -90
  101. package/src/model.d.ts +22 -22
  102. package/src/model.js +31 -31
  103. package/src/notification/notification.d.ts +211 -211
  104. package/src/notification/notification.js +187 -187
  105. package/src/panel/balloon/balloonpanelview.d.ts +685 -685
  106. package/src/panel/balloon/balloonpanelview.js +988 -988
  107. package/src/panel/balloon/contextualballoon.d.ts +299 -299
  108. package/src/panel/balloon/contextualballoon.js +572 -572
  109. package/src/panel/sticky/stickypanelview.d.ts +156 -132
  110. package/src/panel/sticky/stickypanelview.js +272 -139
  111. package/src/template.d.ts +942 -942
  112. package/src/template.js +1294 -1294
  113. package/src/toolbar/balloon/balloontoolbar.d.ts +122 -122
  114. package/src/toolbar/balloon/balloontoolbar.js +300 -300
  115. package/src/toolbar/block/blockbuttonview.d.ts +35 -35
  116. package/src/toolbar/block/blockbuttonview.js +41 -41
  117. package/src/toolbar/block/blocktoolbar.d.ts +161 -161
  118. package/src/toolbar/block/blocktoolbar.js +391 -391
  119. package/src/toolbar/normalizetoolbarconfig.d.ts +39 -39
  120. package/src/toolbar/normalizetoolbarconfig.js +51 -51
  121. package/src/toolbar/toolbarlinebreakview.d.ts +18 -18
  122. package/src/toolbar/toolbarlinebreakview.js +28 -28
  123. package/src/toolbar/toolbarseparatorview.d.ts +18 -18
  124. package/src/toolbar/toolbarseparatorview.js +28 -28
  125. package/src/toolbar/toolbarview.d.ts +265 -265
  126. package/src/toolbar/toolbarview.js +717 -717
  127. package/src/tooltipmanager.d.ts +180 -180
  128. package/src/tooltipmanager.js +353 -353
  129. package/src/view.d.ts +422 -422
  130. package/src/view.js +396 -396
  131. package/src/viewcollection.d.ts +139 -139
  132. package/src/viewcollection.js +206 -206
  133. package/theme/components/colorpicker/colorpicker.css +10 -0
  134. package/theme/components/colorselector/colorselector.css +35 -0
@@ -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() {
155
- this.fieldView.focus();
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.js';
9
+ import LabelView from '../label/labelview.js';
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() {
155
+ this.fieldView.focus();
156
+ }
157
+ }
@@ -1,93 +1,93 @@
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 type LabeledFieldView from './labeledfieldview';
11
- import type DropdownView from '../dropdown/dropdownview';
12
- /**
13
- * A helper for creating labeled inputs.
14
- *
15
- * It creates an instance of a {@link module:ui/inputtext/inputtextview~InputTextView input text} that is
16
- * logically related to a {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView labeled view} in DOM.
17
- *
18
- * The helper does the following:
19
- *
20
- * * It sets input's `id` and `ariaDescribedById` attributes.
21
- * * It binds input's `isReadOnly` to the labeled view.
22
- * * It binds input's `hasError` to the labeled view.
23
- * * It enables a logic that cleans up the error when user starts typing in the input.
24
- *
25
- * Usage:
26
- *
27
- * ```ts
28
- * const labeledInputView = new LabeledFieldView( locale, createLabeledInputText );
29
- * console.log( labeledInputView.fieldView ); // A text input instance.
30
- * ```
31
- *
32
- * @param labeledFieldView The instance of the labeled field view.
33
- * @param viewUid An UID string that allows DOM logical connection between the
34
- * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#labelView labeled view's label} and the input.
35
- * @param statusUid An UID string that allows DOM logical connection between the
36
- * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#statusView labeled view's status} and the input.
37
- * @returns The input text view instance.
38
- */
39
- export declare function createLabeledInputText(labeledFieldView: LabeledFieldView, viewUid: string, statusUid: string): InputTextView;
40
- /**
41
- * A helper for creating labeled number inputs.
42
- *
43
- * It creates an instance of a {@link module:ui/inputnumber/inputnumberview~InputNumberView input number} that is
44
- * logically related to a {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView labeled view} in DOM.
45
- *
46
- * The helper does the following:
47
- *
48
- * * It sets input's `id` and `ariaDescribedById` attributes.
49
- * * It binds input's `isReadOnly` to the labeled view.
50
- * * It binds input's `hasError` to the labeled view.
51
- * * It enables a logic that cleans up the error when user starts typing in the input.
52
- *
53
- * Usage:
54
- *
55
- * ```ts
56
- * const labeledInputView = new LabeledFieldView( locale, createLabeledInputNumber );
57
- * console.log( labeledInputView.fieldView ); // A number input instance.
58
- * ```
59
- *
60
- * @param labeledFieldView The instance of the labeled field view.
61
- * @param viewUid An UID string that allows DOM logical connection between the
62
- * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#labelView labeled view's label} and the input.
63
- * @param statusUid An UID string that allows DOM logical connection between the
64
- * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#statusView labeled view's status} and the input.
65
- * @returns The input number view instance.
66
- */
67
- export declare function createLabeledInputNumber(labeledFieldView: LabeledFieldView, viewUid: string, statusUid: string): InputNumberView;
68
- /**
69
- * A helper for creating labeled dropdowns.
70
- *
71
- * It creates an instance of a {@link module:ui/dropdown/dropdownview~DropdownView dropdown} that is
72
- * logically related to a {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView labeled field view}.
73
- *
74
- * The helper does the following:
75
- *
76
- * * It sets dropdown's `id` and `ariaDescribedById` attributes.
77
- * * It binds input's `isEnabled` to the labeled view.
78
- *
79
- * Usage:
80
- *
81
- * ```ts
82
- * const labeledInputView = new LabeledFieldView( locale, createLabeledDropdown );
83
- * console.log( labeledInputView.fieldView ); // A dropdown instance.
84
- * ```
85
- *
86
- * @param labeledFieldView The instance of the labeled field view.
87
- * @param viewUid An UID string that allows DOM logical connection between the
88
- * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#labelView labeled view label} and the dropdown.
89
- * @param statusUid An UID string that allows DOM logical connection between the
90
- * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#statusView labeled view status} and the dropdown.
91
- * @returns The dropdown view instance.
92
- */
93
- export declare function createLabeledDropdown(labeledFieldView: LabeledFieldView, viewUid: string, statusUid: string): DropdownView;
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.js';
9
+ import InputNumberView from '../inputnumber/inputnumberview.js';
10
+ import type LabeledFieldView from './labeledfieldview.js';
11
+ import type DropdownView from '../dropdown/dropdownview.js';
12
+ /**
13
+ * A helper for creating labeled inputs.
14
+ *
15
+ * It creates an instance of a {@link module:ui/inputtext/inputtextview~InputTextView input text} that is
16
+ * logically related to a {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView labeled view} in DOM.
17
+ *
18
+ * The helper does the following:
19
+ *
20
+ * * It sets input's `id` and `ariaDescribedById` attributes.
21
+ * * It binds input's `isReadOnly` to the labeled view.
22
+ * * It binds input's `hasError` to the labeled view.
23
+ * * It enables a logic that cleans up the error when user starts typing in the input.
24
+ *
25
+ * Usage:
26
+ *
27
+ * ```ts
28
+ * const labeledInputView = new LabeledFieldView( locale, createLabeledInputText );
29
+ * console.log( labeledInputView.fieldView ); // A text input instance.
30
+ * ```
31
+ *
32
+ * @param labeledFieldView The instance of the labeled field view.
33
+ * @param viewUid An UID string that allows DOM logical connection between the
34
+ * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#labelView labeled view's label} and the input.
35
+ * @param statusUid An UID string that allows DOM logical connection between the
36
+ * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#statusView labeled view's status} and the input.
37
+ * @returns The input text view instance.
38
+ */
39
+ export declare function createLabeledInputText(labeledFieldView: LabeledFieldView, viewUid: string, statusUid: string): InputTextView;
40
+ /**
41
+ * A helper for creating labeled number inputs.
42
+ *
43
+ * It creates an instance of a {@link module:ui/inputnumber/inputnumberview~InputNumberView input number} that is
44
+ * logically related to a {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView labeled view} in DOM.
45
+ *
46
+ * The helper does the following:
47
+ *
48
+ * * It sets input's `id` and `ariaDescribedById` attributes.
49
+ * * It binds input's `isReadOnly` to the labeled view.
50
+ * * It binds input's `hasError` to the labeled view.
51
+ * * It enables a logic that cleans up the error when user starts typing in the input.
52
+ *
53
+ * Usage:
54
+ *
55
+ * ```ts
56
+ * const labeledInputView = new LabeledFieldView( locale, createLabeledInputNumber );
57
+ * console.log( labeledInputView.fieldView ); // A number input instance.
58
+ * ```
59
+ *
60
+ * @param labeledFieldView The instance of the labeled field view.
61
+ * @param viewUid An UID string that allows DOM logical connection between the
62
+ * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#labelView labeled view's label} and the input.
63
+ * @param statusUid An UID string that allows DOM logical connection between the
64
+ * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#statusView labeled view's status} and the input.
65
+ * @returns The input number view instance.
66
+ */
67
+ export declare function createLabeledInputNumber(labeledFieldView: LabeledFieldView, viewUid: string, statusUid: string): InputNumberView;
68
+ /**
69
+ * A helper for creating labeled dropdowns.
70
+ *
71
+ * It creates an instance of a {@link module:ui/dropdown/dropdownview~DropdownView dropdown} that is
72
+ * logically related to a {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView labeled field view}.
73
+ *
74
+ * The helper does the following:
75
+ *
76
+ * * It sets dropdown's `id` and `ariaDescribedById` attributes.
77
+ * * It binds input's `isEnabled` to the labeled view.
78
+ *
79
+ * Usage:
80
+ *
81
+ * ```ts
82
+ * const labeledInputView = new LabeledFieldView( locale, createLabeledDropdown );
83
+ * console.log( labeledInputView.fieldView ); // A dropdown instance.
84
+ * ```
85
+ *
86
+ * @param labeledFieldView The instance of the labeled field view.
87
+ * @param viewUid An UID string that allows DOM logical connection between the
88
+ * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#labelView labeled view label} and the dropdown.
89
+ * @param statusUid An UID string that allows DOM logical connection between the
90
+ * {@link module:ui/labeledfield/labeledfieldview~LabeledFieldView#statusView labeled view status} and the dropdown.
91
+ * @returns The dropdown view instance.
92
+ */
93
+ export declare function createLabeledDropdown(labeledFieldView: LabeledFieldView, viewUid: string, statusUid: string): DropdownView;