@ckeditor/ckeditor5-ui 38.1.0 → 38.1.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 (123) hide show
  1. package/package.json +3 -3
  2. package/src/augmentation.d.ts +86 -86
  3. package/src/augmentation.js +5 -5
  4. package/src/bindings/addkeyboardhandlingforgrid.d.ts +27 -27
  5. package/src/bindings/addkeyboardhandlingforgrid.js +107 -107
  6. package/src/bindings/clickoutsidehandler.d.ts +28 -28
  7. package/src/bindings/clickoutsidehandler.js +36 -36
  8. package/src/bindings/csstransitiondisablermixin.d.ts +40 -40
  9. package/src/bindings/csstransitiondisablermixin.js +55 -55
  10. package/src/bindings/injectcsstransitiondisabler.d.ts +59 -59
  11. package/src/bindings/injectcsstransitiondisabler.js +71 -71
  12. package/src/bindings/preventdefault.d.ts +33 -33
  13. package/src/bindings/preventdefault.js +34 -34
  14. package/src/bindings/submithandler.d.ts +57 -57
  15. package/src/bindings/submithandler.js +47 -47
  16. package/src/button/button.d.ts +178 -178
  17. package/src/button/button.js +5 -5
  18. package/src/button/buttonview.d.ts +177 -177
  19. package/src/button/buttonview.js +231 -231
  20. package/src/button/switchbuttonview.d.ts +45 -45
  21. package/src/button/switchbuttonview.js +75 -75
  22. package/src/colorgrid/colorgridview.d.ts +132 -132
  23. package/src/colorgrid/colorgridview.js +124 -124
  24. package/src/colorgrid/colortileview.d.ts +28 -28
  25. package/src/colorgrid/colortileview.js +40 -40
  26. package/src/colorgrid/utils.d.ts +47 -47
  27. package/src/colorgrid/utils.js +84 -84
  28. package/src/colorpicker/colorpickerview.d.ts +110 -110
  29. package/src/colorpicker/colorpickerview.js +253 -253
  30. package/src/colorpicker/utils.d.ts +35 -35
  31. package/src/colorpicker/utils.js +99 -99
  32. package/src/componentfactory.d.ts +81 -81
  33. package/src/componentfactory.js +104 -104
  34. package/src/dropdown/button/dropdownbutton.d.ts +25 -25
  35. package/src/dropdown/button/dropdownbutton.js +5 -5
  36. package/src/dropdown/button/dropdownbuttonview.d.ts +48 -48
  37. package/src/dropdown/button/dropdownbuttonview.js +66 -66
  38. package/src/dropdown/button/splitbuttonview.d.ts +161 -161
  39. package/src/dropdown/button/splitbuttonview.js +152 -152
  40. package/src/dropdown/dropdownpanelfocusable.d.ts +21 -21
  41. package/src/dropdown/dropdownpanelfocusable.js +5 -5
  42. package/src/dropdown/dropdownpanelview.d.ts +62 -62
  43. package/src/dropdown/dropdownpanelview.js +96 -96
  44. package/src/dropdown/dropdownview.d.ts +315 -315
  45. package/src/dropdown/dropdownview.js +378 -378
  46. package/src/dropdown/utils.d.ts +221 -221
  47. package/src/dropdown/utils.js +434 -434
  48. package/src/editableui/editableuiview.d.ts +72 -72
  49. package/src/editableui/editableuiview.js +112 -112
  50. package/src/editableui/inline/inlineeditableuiview.d.ts +40 -40
  51. package/src/editableui/inline/inlineeditableuiview.js +48 -48
  52. package/src/editorui/bodycollection.d.ts +55 -55
  53. package/src/editorui/bodycollection.js +84 -84
  54. package/src/editorui/boxed/boxededitoruiview.d.ts +40 -40
  55. package/src/editorui/boxed/boxededitoruiview.js +81 -81
  56. package/src/editorui/editorui.d.ts +282 -282
  57. package/src/editorui/editorui.js +410 -410
  58. package/src/editorui/editoruiview.d.ts +39 -39
  59. package/src/editorui/editoruiview.js +38 -38
  60. package/src/editorui/poweredby.d.ts +71 -71
  61. package/src/editorui/poweredby.js +294 -294
  62. package/src/focuscycler.d.ts +183 -183
  63. package/src/focuscycler.js +220 -220
  64. package/src/formheader/formheaderview.d.ts +53 -53
  65. package/src/formheader/formheaderview.js +63 -63
  66. package/src/icon/iconview.d.ts +78 -78
  67. package/src/icon/iconview.js +112 -112
  68. package/src/iframe/iframeview.d.ts +50 -50
  69. package/src/iframe/iframeview.js +63 -63
  70. package/src/index.d.ts +62 -62
  71. package/src/index.js +61 -61
  72. package/src/input/inputview.d.ts +121 -121
  73. package/src/input/inputview.js +106 -106
  74. package/src/inputnumber/inputnumberview.d.ts +49 -49
  75. package/src/inputnumber/inputnumberview.js +40 -40
  76. package/src/inputtext/inputtextview.d.ts +18 -18
  77. package/src/inputtext/inputtextview.js +27 -27
  78. package/src/label/labelview.d.ts +36 -36
  79. package/src/label/labelview.js +41 -41
  80. package/src/labeledfield/labeledfieldview.d.ts +182 -182
  81. package/src/labeledfield/labeledfieldview.js +157 -157
  82. package/src/labeledfield/utils.d.ts +93 -93
  83. package/src/labeledfield/utils.js +131 -131
  84. package/src/labeledinput/labeledinputview.d.ts +125 -125
  85. package/src/labeledinput/labeledinputview.js +125 -125
  86. package/src/list/listitemview.d.ts +35 -35
  87. package/src/list/listitemview.js +40 -40
  88. package/src/list/listseparatorview.d.ts +18 -18
  89. package/src/list/listseparatorview.js +28 -28
  90. package/src/list/listview.d.ts +65 -65
  91. package/src/list/listview.js +90 -90
  92. package/src/model.d.ts +22 -22
  93. package/src/model.js +31 -31
  94. package/src/notification/notification.d.ts +211 -211
  95. package/src/notification/notification.js +187 -187
  96. package/src/panel/balloon/balloonpanelview.d.ts +685 -685
  97. package/src/panel/balloon/balloonpanelview.js +988 -988
  98. package/src/panel/balloon/contextualballoon.d.ts +299 -299
  99. package/src/panel/balloon/contextualballoon.js +572 -572
  100. package/src/panel/sticky/stickypanelview.d.ts +132 -132
  101. package/src/panel/sticky/stickypanelview.js +139 -139
  102. package/src/template.d.ts +942 -942
  103. package/src/template.js +1294 -1294
  104. package/src/toolbar/balloon/balloontoolbar.d.ts +122 -122
  105. package/src/toolbar/balloon/balloontoolbar.js +300 -300
  106. package/src/toolbar/block/blockbuttonview.d.ts +35 -35
  107. package/src/toolbar/block/blockbuttonview.js +41 -41
  108. package/src/toolbar/block/blocktoolbar.d.ts +161 -161
  109. package/src/toolbar/block/blocktoolbar.js +391 -391
  110. package/src/toolbar/normalizetoolbarconfig.d.ts +39 -39
  111. package/src/toolbar/normalizetoolbarconfig.js +51 -51
  112. package/src/toolbar/toolbarlinebreakview.d.ts +18 -18
  113. package/src/toolbar/toolbarlinebreakview.js +28 -28
  114. package/src/toolbar/toolbarseparatorview.d.ts +18 -18
  115. package/src/toolbar/toolbarseparatorview.js +28 -28
  116. package/src/toolbar/toolbarview.d.ts +265 -265
  117. package/src/toolbar/toolbarview.js +717 -717
  118. package/src/tooltipmanager.d.ts +180 -180
  119. package/src/tooltipmanager.js +353 -353
  120. package/src/view.d.ts +422 -422
  121. package/src/view.js +396 -396
  122. package/src/viewcollection.d.ts +139 -139
  123. package/src/viewcollection.js +206 -206
@@ -1,231 +1,231 @@
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/button/buttonview
7
- */
8
- import View from '../view';
9
- import IconView from '../icon/iconview';
10
- import { env, getEnvKeystrokeText, uid, delay } from '@ckeditor/ckeditor5-utils';
11
- import '../../theme/components/button/button.css';
12
- /**
13
- * The button view class.
14
- *
15
- * ```ts
16
- * const view = new ButtonView();
17
- *
18
- * view.set( {
19
- * label: 'A button',
20
- * keystroke: 'Ctrl+B',
21
- * tooltip: true,
22
- * withText: true
23
- * } );
24
- *
25
- * view.render();
26
- *
27
- * document.body.append( view.element );
28
- * ```
29
- */
30
- export default class ButtonView extends View {
31
- /**
32
- * @inheritDoc
33
- */
34
- constructor(locale) {
35
- super(locale);
36
- /**
37
- * Delayed focus function for focus handling in Safari.
38
- */
39
- this._focusDelayed = null;
40
- const bind = this.bindTemplate;
41
- const ariaLabelUid = uid();
42
- // Implement the Button interface.
43
- this.set('ariaChecked', undefined);
44
- this.set('ariaLabel', undefined);
45
- this.set('ariaLabelledBy', `ck-editor__aria-label_${ariaLabelUid}`);
46
- this.set('class', undefined);
47
- this.set('labelStyle', undefined);
48
- this.set('icon', undefined);
49
- this.set('isEnabled', true);
50
- this.set('isOn', false);
51
- this.set('isVisible', true);
52
- this.set('isToggleable', false);
53
- this.set('keystroke', undefined);
54
- this.set('label', undefined);
55
- this.set('role', undefined);
56
- this.set('tabindex', -1);
57
- this.set('tooltip', false);
58
- this.set('tooltipPosition', 's');
59
- this.set('type', 'button');
60
- this.set('withText', false);
61
- this.set('withKeystroke', false);
62
- this.children = this.createCollection();
63
- this.labelView = this._createLabelView();
64
- this.iconView = new IconView();
65
- this.iconView.extendTemplate({
66
- attributes: {
67
- class: 'ck-button__icon'
68
- }
69
- });
70
- this.keystrokeView = this._createKeystrokeView();
71
- this.bind('_tooltipString').to(this, 'tooltip', this, 'label', this, 'keystroke', this._getTooltipString.bind(this));
72
- const template = {
73
- tag: 'button',
74
- attributes: {
75
- class: [
76
- 'ck',
77
- 'ck-button',
78
- bind.to('class'),
79
- bind.if('isEnabled', 'ck-disabled', value => !value),
80
- bind.if('isVisible', 'ck-hidden', value => !value),
81
- bind.to('isOn', value => value ? 'ck-on' : 'ck-off'),
82
- bind.if('withText', 'ck-button_with-text'),
83
- bind.if('withKeystroke', 'ck-button_with-keystroke')
84
- ],
85
- role: bind.to('role'),
86
- type: bind.to('type', value => value ? value : 'button'),
87
- tabindex: bind.to('tabindex'),
88
- 'aria-label': bind.to('ariaLabel'),
89
- 'aria-labelledby': bind.to('ariaLabelledBy'),
90
- 'aria-disabled': bind.if('isEnabled', true, value => !value),
91
- 'aria-checked': bind.to('isOn'),
92
- 'aria-pressed': bind.to('isOn', value => this.isToggleable ? String(!!value) : false),
93
- 'data-cke-tooltip-text': bind.to('_tooltipString'),
94
- 'data-cke-tooltip-position': bind.to('tooltipPosition')
95
- },
96
- children: this.children,
97
- on: {
98
- click: bind.to(evt => {
99
- // We can't make the button disabled using the disabled attribute, because it won't be focusable.
100
- // Though, shouldn't this condition be moved to the button controller?
101
- if (this.isEnabled) {
102
- this.fire('execute');
103
- }
104
- else {
105
- // Prevent the default when button is disabled, to block e.g.
106
- // automatic form submitting. See ckeditor/ckeditor5-link#74.
107
- evt.preventDefault();
108
- }
109
- })
110
- }
111
- };
112
- // On Safari we have to force the focus on a button on click as it's the only browser
113
- // that doesn't do that automatically. See #12115.
114
- if (env.isSafari) {
115
- if (!this._focusDelayed) {
116
- this._focusDelayed = delay(() => this.focus(), 0);
117
- }
118
- template.on.mousedown = bind.to(() => {
119
- this._focusDelayed();
120
- });
121
- template.on.mouseup = bind.to(() => {
122
- this._focusDelayed.cancel();
123
- });
124
- }
125
- this.setTemplate(template);
126
- }
127
- /**
128
- * @inheritDoc
129
- */
130
- render() {
131
- super.render();
132
- if (this.icon) {
133
- this.iconView.bind('content').to(this, 'icon');
134
- this.children.add(this.iconView);
135
- }
136
- this.children.add(this.labelView);
137
- if (this.withKeystroke && this.keystroke) {
138
- this.children.add(this.keystrokeView);
139
- }
140
- }
141
- /**
142
- * Focuses the {@link #element} of the button.
143
- */
144
- focus() {
145
- this.element.focus();
146
- }
147
- /**
148
- * @inheritDoc
149
- */
150
- destroy() {
151
- if (this._focusDelayed) {
152
- this._focusDelayed.cancel();
153
- }
154
- super.destroy();
155
- }
156
- /**
157
- * Creates a label view instance and binds it with button attributes.
158
- */
159
- _createLabelView() {
160
- const labelView = new View();
161
- const bind = this.bindTemplate;
162
- labelView.setTemplate({
163
- tag: 'span',
164
- attributes: {
165
- class: [
166
- 'ck',
167
- 'ck-button__label'
168
- ],
169
- style: bind.to('labelStyle'),
170
- id: this.ariaLabelledBy
171
- },
172
- children: [
173
- {
174
- text: bind.to('label')
175
- }
176
- ]
177
- });
178
- return labelView;
179
- }
180
- /**
181
- * Creates a view that displays a keystroke next to a {@link #labelView label }
182
- * and binds it with button attributes.
183
- */
184
- _createKeystrokeView() {
185
- const keystrokeView = new View();
186
- keystrokeView.setTemplate({
187
- tag: 'span',
188
- attributes: {
189
- class: [
190
- 'ck',
191
- 'ck-button__keystroke'
192
- ]
193
- },
194
- children: [
195
- {
196
- text: this.bindTemplate.to('keystroke', text => getEnvKeystrokeText(text))
197
- }
198
- ]
199
- });
200
- return keystrokeView;
201
- }
202
- /**
203
- * Gets the text for the tooltip from the combination of
204
- * {@link #tooltip}, {@link #label} and {@link #keystroke} attributes.
205
- *
206
- * @see #tooltip
207
- * @see #_tooltipString
208
- * @param tooltip Button tooltip.
209
- * @param label Button label.
210
- * @param keystroke Button keystroke.
211
- */
212
- _getTooltipString(tooltip, label, keystroke) {
213
- if (tooltip) {
214
- if (typeof tooltip == 'string') {
215
- return tooltip;
216
- }
217
- else {
218
- if (keystroke) {
219
- keystroke = getEnvKeystrokeText(keystroke);
220
- }
221
- if (tooltip instanceof Function) {
222
- return tooltip(label, keystroke);
223
- }
224
- else {
225
- return `${label}${keystroke ? ` (${keystroke})` : ''}`;
226
- }
227
- }
228
- }
229
- return '';
230
- }
231
- }
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/button/buttonview
7
+ */
8
+ import View from '../view';
9
+ import IconView from '../icon/iconview';
10
+ import { env, getEnvKeystrokeText, uid, delay } from '@ckeditor/ckeditor5-utils';
11
+ import '../../theme/components/button/button.css';
12
+ /**
13
+ * The button view class.
14
+ *
15
+ * ```ts
16
+ * const view = new ButtonView();
17
+ *
18
+ * view.set( {
19
+ * label: 'A button',
20
+ * keystroke: 'Ctrl+B',
21
+ * tooltip: true,
22
+ * withText: true
23
+ * } );
24
+ *
25
+ * view.render();
26
+ *
27
+ * document.body.append( view.element );
28
+ * ```
29
+ */
30
+ export default class ButtonView extends View {
31
+ /**
32
+ * @inheritDoc
33
+ */
34
+ constructor(locale) {
35
+ super(locale);
36
+ /**
37
+ * Delayed focus function for focus handling in Safari.
38
+ */
39
+ this._focusDelayed = null;
40
+ const bind = this.bindTemplate;
41
+ const ariaLabelUid = uid();
42
+ // Implement the Button interface.
43
+ this.set('ariaChecked', undefined);
44
+ this.set('ariaLabel', undefined);
45
+ this.set('ariaLabelledBy', `ck-editor__aria-label_${ariaLabelUid}`);
46
+ this.set('class', undefined);
47
+ this.set('labelStyle', undefined);
48
+ this.set('icon', undefined);
49
+ this.set('isEnabled', true);
50
+ this.set('isOn', false);
51
+ this.set('isVisible', true);
52
+ this.set('isToggleable', false);
53
+ this.set('keystroke', undefined);
54
+ this.set('label', undefined);
55
+ this.set('role', undefined);
56
+ this.set('tabindex', -1);
57
+ this.set('tooltip', false);
58
+ this.set('tooltipPosition', 's');
59
+ this.set('type', 'button');
60
+ this.set('withText', false);
61
+ this.set('withKeystroke', false);
62
+ this.children = this.createCollection();
63
+ this.labelView = this._createLabelView();
64
+ this.iconView = new IconView();
65
+ this.iconView.extendTemplate({
66
+ attributes: {
67
+ class: 'ck-button__icon'
68
+ }
69
+ });
70
+ this.keystrokeView = this._createKeystrokeView();
71
+ this.bind('_tooltipString').to(this, 'tooltip', this, 'label', this, 'keystroke', this._getTooltipString.bind(this));
72
+ const template = {
73
+ tag: 'button',
74
+ attributes: {
75
+ class: [
76
+ 'ck',
77
+ 'ck-button',
78
+ bind.to('class'),
79
+ bind.if('isEnabled', 'ck-disabled', value => !value),
80
+ bind.if('isVisible', 'ck-hidden', value => !value),
81
+ bind.to('isOn', value => value ? 'ck-on' : 'ck-off'),
82
+ bind.if('withText', 'ck-button_with-text'),
83
+ bind.if('withKeystroke', 'ck-button_with-keystroke')
84
+ ],
85
+ role: bind.to('role'),
86
+ type: bind.to('type', value => value ? value : 'button'),
87
+ tabindex: bind.to('tabindex'),
88
+ 'aria-label': bind.to('ariaLabel'),
89
+ 'aria-labelledby': bind.to('ariaLabelledBy'),
90
+ 'aria-disabled': bind.if('isEnabled', true, value => !value),
91
+ 'aria-checked': bind.to('isOn'),
92
+ 'aria-pressed': bind.to('isOn', value => this.isToggleable ? String(!!value) : false),
93
+ 'data-cke-tooltip-text': bind.to('_tooltipString'),
94
+ 'data-cke-tooltip-position': bind.to('tooltipPosition')
95
+ },
96
+ children: this.children,
97
+ on: {
98
+ click: bind.to(evt => {
99
+ // We can't make the button disabled using the disabled attribute, because it won't be focusable.
100
+ // Though, shouldn't this condition be moved to the button controller?
101
+ if (this.isEnabled) {
102
+ this.fire('execute');
103
+ }
104
+ else {
105
+ // Prevent the default when button is disabled, to block e.g.
106
+ // automatic form submitting. See ckeditor/ckeditor5-link#74.
107
+ evt.preventDefault();
108
+ }
109
+ })
110
+ }
111
+ };
112
+ // On Safari we have to force the focus on a button on click as it's the only browser
113
+ // that doesn't do that automatically. See #12115.
114
+ if (env.isSafari) {
115
+ if (!this._focusDelayed) {
116
+ this._focusDelayed = delay(() => this.focus(), 0);
117
+ }
118
+ template.on.mousedown = bind.to(() => {
119
+ this._focusDelayed();
120
+ });
121
+ template.on.mouseup = bind.to(() => {
122
+ this._focusDelayed.cancel();
123
+ });
124
+ }
125
+ this.setTemplate(template);
126
+ }
127
+ /**
128
+ * @inheritDoc
129
+ */
130
+ render() {
131
+ super.render();
132
+ if (this.icon) {
133
+ this.iconView.bind('content').to(this, 'icon');
134
+ this.children.add(this.iconView);
135
+ }
136
+ this.children.add(this.labelView);
137
+ if (this.withKeystroke && this.keystroke) {
138
+ this.children.add(this.keystrokeView);
139
+ }
140
+ }
141
+ /**
142
+ * Focuses the {@link #element} of the button.
143
+ */
144
+ focus() {
145
+ this.element.focus();
146
+ }
147
+ /**
148
+ * @inheritDoc
149
+ */
150
+ destroy() {
151
+ if (this._focusDelayed) {
152
+ this._focusDelayed.cancel();
153
+ }
154
+ super.destroy();
155
+ }
156
+ /**
157
+ * Creates a label view instance and binds it with button attributes.
158
+ */
159
+ _createLabelView() {
160
+ const labelView = new View();
161
+ const bind = this.bindTemplate;
162
+ labelView.setTemplate({
163
+ tag: 'span',
164
+ attributes: {
165
+ class: [
166
+ 'ck',
167
+ 'ck-button__label'
168
+ ],
169
+ style: bind.to('labelStyle'),
170
+ id: this.ariaLabelledBy
171
+ },
172
+ children: [
173
+ {
174
+ text: bind.to('label')
175
+ }
176
+ ]
177
+ });
178
+ return labelView;
179
+ }
180
+ /**
181
+ * Creates a view that displays a keystroke next to a {@link #labelView label }
182
+ * and binds it with button attributes.
183
+ */
184
+ _createKeystrokeView() {
185
+ const keystrokeView = new View();
186
+ keystrokeView.setTemplate({
187
+ tag: 'span',
188
+ attributes: {
189
+ class: [
190
+ 'ck',
191
+ 'ck-button__keystroke'
192
+ ]
193
+ },
194
+ children: [
195
+ {
196
+ text: this.bindTemplate.to('keystroke', text => getEnvKeystrokeText(text))
197
+ }
198
+ ]
199
+ });
200
+ return keystrokeView;
201
+ }
202
+ /**
203
+ * Gets the text for the tooltip from the combination of
204
+ * {@link #tooltip}, {@link #label} and {@link #keystroke} attributes.
205
+ *
206
+ * @see #tooltip
207
+ * @see #_tooltipString
208
+ * @param tooltip Button tooltip.
209
+ * @param label Button label.
210
+ * @param keystroke Button keystroke.
211
+ */
212
+ _getTooltipString(tooltip, label, keystroke) {
213
+ if (tooltip) {
214
+ if (typeof tooltip == 'string') {
215
+ return tooltip;
216
+ }
217
+ else {
218
+ if (keystroke) {
219
+ keystroke = getEnvKeystrokeText(keystroke);
220
+ }
221
+ if (tooltip instanceof Function) {
222
+ return tooltip(label, keystroke);
223
+ }
224
+ else {
225
+ return `${label}${keystroke ? ` (${keystroke})` : ''}`;
226
+ }
227
+ }
228
+ }
229
+ return '';
230
+ }
231
+ }
@@ -1,45 +1,45 @@
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/button/switchbuttonview
7
- */
8
- import View from '../view';
9
- import ButtonView from './buttonview';
10
- import type { Locale } from '@ckeditor/ckeditor5-utils';
11
- import '../../theme/components/button/switchbutton.css';
12
- /**
13
- * The switch button view class.
14
- *
15
- * ```ts
16
- * const view = new SwitchButtonView();
17
- *
18
- * view.set( {
19
- * withText: true,
20
- * label: 'Switch me!'
21
- * } );
22
- *
23
- * view.render();
24
- *
25
- * document.body.append( view.element );
26
- * ```
27
- */
28
- export default class SwitchButtonView extends ButtonView {
29
- /**
30
- * The toggle switch of the button.
31
- */
32
- readonly toggleSwitchView: View;
33
- /**
34
- * @inheritDoc
35
- */
36
- constructor(locale?: Locale);
37
- /**
38
- * @inheritDoc
39
- */
40
- render(): void;
41
- /**
42
- * Creates a toggle child view.
43
- */
44
- private _createToggleView;
45
- }
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/button/switchbuttonview
7
+ */
8
+ import View from '../view';
9
+ import ButtonView from './buttonview';
10
+ import type { Locale } from '@ckeditor/ckeditor5-utils';
11
+ import '../../theme/components/button/switchbutton.css';
12
+ /**
13
+ * The switch button view class.
14
+ *
15
+ * ```ts
16
+ * const view = new SwitchButtonView();
17
+ *
18
+ * view.set( {
19
+ * withText: true,
20
+ * label: 'Switch me!'
21
+ * } );
22
+ *
23
+ * view.render();
24
+ *
25
+ * document.body.append( view.element );
26
+ * ```
27
+ */
28
+ export default class SwitchButtonView extends ButtonView {
29
+ /**
30
+ * The toggle switch of the button.
31
+ */
32
+ readonly toggleSwitchView: View;
33
+ /**
34
+ * @inheritDoc
35
+ */
36
+ constructor(locale?: Locale);
37
+ /**
38
+ * @inheritDoc
39
+ */
40
+ render(): void;
41
+ /**
42
+ * Creates a toggle child view.
43
+ */
44
+ private _createToggleView;
45
+ }