@ckeditor/ckeditor5-ui 40.0.0 → 40.2.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.
- package/CHANGELOG.md +26 -26
- package/LICENSE.md +3 -3
- package/lang/translations/gl.po +4 -4
- package/lang/translations/pt-br.po +1 -1
- package/lang/translations/sr-latn.po +6 -6
- package/lang/translations/ug.po +26 -26
- package/package.json +3 -3
- package/src/arialiveannouncer.d.ts +94 -0
- package/src/arialiveannouncer.js +113 -0
- package/src/augmentation.d.ts +86 -86
- package/src/augmentation.js +5 -5
- package/src/autocomplete/autocompleteview.d.ts +81 -81
- package/src/autocomplete/autocompleteview.js +153 -146
- package/src/bindings/addkeyboardhandlingforgrid.d.ts +27 -27
- package/src/bindings/addkeyboardhandlingforgrid.js +107 -107
- package/src/bindings/clickoutsidehandler.d.ts +28 -28
- package/src/bindings/clickoutsidehandler.js +36 -36
- package/src/bindings/csstransitiondisablermixin.d.ts +40 -40
- package/src/bindings/csstransitiondisablermixin.js +55 -55
- package/src/bindings/injectcsstransitiondisabler.d.ts +59 -59
- package/src/bindings/injectcsstransitiondisabler.js +71 -71
- package/src/bindings/preventdefault.d.ts +33 -33
- package/src/bindings/preventdefault.js +34 -34
- package/src/bindings/submithandler.d.ts +57 -57
- package/src/bindings/submithandler.js +47 -47
- package/src/button/button.d.ts +172 -178
- package/src/button/button.js +5 -5
- package/src/button/buttonlabel.d.ts +34 -34
- package/src/button/buttonlabel.js +5 -5
- package/src/button/buttonlabelview.d.ts +31 -31
- package/src/button/buttonlabelview.js +42 -42
- package/src/button/buttonview.d.ts +181 -185
- package/src/button/buttonview.js +217 -219
- package/src/button/switchbuttonview.d.ts +45 -45
- package/src/button/switchbuttonview.js +75 -75
- package/src/collapsible/collapsibleview.d.ts +69 -0
- package/src/collapsible/collapsibleview.js +95 -0
- package/src/colorgrid/colorgridview.d.ts +132 -132
- package/src/colorgrid/colorgridview.js +124 -124
- package/src/colorgrid/colortileview.d.ts +28 -28
- package/src/colorgrid/colortileview.js +40 -40
- package/src/colorgrid/utils.d.ts +47 -47
- package/src/colorgrid/utils.js +84 -84
- package/src/colorpicker/colorpickerview.d.ts +137 -137
- package/src/colorpicker/colorpickerview.js +270 -270
- package/src/colorpicker/utils.d.ts +43 -43
- package/src/colorpicker/utils.js +99 -99
- package/src/colorselector/colorgridsfragmentview.d.ts +194 -194
- package/src/colorselector/colorgridsfragmentview.js +289 -289
- package/src/colorselector/colorpickerfragmentview.d.ts +128 -128
- package/src/colorselector/colorpickerfragmentview.js +205 -205
- package/src/colorselector/colorselectorview.d.ts +242 -242
- package/src/colorselector/colorselectorview.js +256 -256
- package/src/colorselector/documentcolorcollection.d.ts +70 -70
- package/src/colorselector/documentcolorcollection.js +42 -42
- package/src/componentfactory.d.ts +81 -81
- package/src/componentfactory.js +104 -104
- package/src/dropdown/button/dropdownbutton.d.ts +25 -25
- package/src/dropdown/button/dropdownbutton.js +5 -5
- package/src/dropdown/button/dropdownbuttonview.d.ts +48 -48
- package/src/dropdown/button/dropdownbuttonview.js +66 -66
- package/src/dropdown/button/splitbuttonview.d.ts +162 -161
- package/src/dropdown/button/splitbuttonview.js +154 -152
- package/src/dropdown/dropdownpanelfocusable.d.ts +21 -21
- package/src/dropdown/dropdownpanelfocusable.js +5 -5
- package/src/dropdown/dropdownpanelview.d.ts +62 -62
- package/src/dropdown/dropdownpanelview.js +97 -97
- package/src/dropdown/dropdownview.d.ts +315 -315
- package/src/dropdown/dropdownview.js +379 -379
- package/src/dropdown/utils.d.ts +235 -235
- package/src/dropdown/utils.js +463 -458
- package/src/editableui/editableuiview.d.ts +72 -72
- package/src/editableui/editableuiview.js +112 -112
- package/src/editableui/inline/inlineeditableuiview.d.ts +40 -40
- package/src/editableui/inline/inlineeditableuiview.js +48 -48
- package/src/editorui/bodycollection.d.ts +55 -55
- package/src/editorui/bodycollection.js +84 -84
- package/src/editorui/boxed/boxededitoruiview.d.ts +40 -40
- package/src/editorui/boxed/boxededitoruiview.js +81 -81
- package/src/editorui/editorui.d.ts +288 -282
- package/src/editorui/editorui.js +412 -410
- package/src/editorui/editoruiview.d.ts +39 -39
- package/src/editorui/editoruiview.js +38 -38
- package/src/editorui/poweredby.d.ts +71 -71
- package/src/editorui/poweredby.js +276 -276
- package/src/focuscycler.d.ts +226 -226
- package/src/focuscycler.js +245 -245
- package/src/formheader/formheaderview.d.ts +59 -59
- package/src/formheader/formheaderview.js +69 -69
- package/src/highlightedtext/highlightedtextview.d.ts +38 -38
- package/src/highlightedtext/highlightedtextview.js +102 -102
- package/src/icon/iconview.d.ts +85 -85
- package/src/icon/iconview.js +114 -114
- package/src/iframe/iframeview.d.ts +50 -50
- package/src/iframe/iframeview.js +63 -63
- package/src/index.d.ts +74 -73
- package/src/index.js +71 -70
- package/src/input/inputbase.d.ts +107 -107
- package/src/input/inputbase.js +110 -110
- package/src/input/inputview.d.ts +36 -36
- package/src/input/inputview.js +24 -24
- package/src/inputnumber/inputnumberview.d.ts +49 -49
- package/src/inputnumber/inputnumberview.js +40 -40
- package/src/inputtext/inputtextview.d.ts +18 -18
- package/src/inputtext/inputtextview.js +27 -27
- package/src/label/labelview.d.ts +36 -36
- package/src/label/labelview.js +41 -41
- package/src/labeledfield/labeledfieldview.d.ts +187 -187
- package/src/labeledfield/labeledfieldview.js +157 -157
- package/src/labeledfield/utils.d.ts +123 -123
- package/src/labeledfield/utils.js +176 -176
- package/src/labeledinput/labeledinputview.d.ts +125 -125
- package/src/labeledinput/labeledinputview.js +125 -125
- package/src/list/listitemgroupview.d.ts +59 -51
- package/src/list/listitemgroupview.js +67 -75
- package/src/list/listitemview.d.ts +36 -36
- package/src/list/listitemview.js +42 -42
- package/src/list/listseparatorview.d.ts +18 -18
- package/src/list/listseparatorview.js +28 -28
- package/src/list/listview.d.ts +123 -122
- package/src/list/listview.js +188 -187
- package/src/model.d.ts +22 -22
- package/src/model.js +31 -31
- package/src/notification/notification.d.ts +211 -211
- package/src/notification/notification.js +187 -187
- package/src/panel/balloon/balloonpanelview.d.ts +685 -685
- package/src/panel/balloon/balloonpanelview.js +1010 -1010
- package/src/panel/balloon/contextualballoon.d.ts +299 -299
- package/src/panel/balloon/contextualballoon.js +572 -572
- package/src/panel/sticky/stickypanelview.d.ts +156 -156
- package/src/panel/sticky/stickypanelview.js +234 -234
- package/src/search/filteredview.d.ts +31 -31
- package/src/search/filteredview.js +5 -5
- package/src/search/searchinfoview.d.ts +45 -45
- package/src/search/searchinfoview.js +59 -59
- package/src/search/searchresultsview.d.ts +54 -54
- package/src/search/searchresultsview.js +65 -65
- package/src/search/text/searchtextqueryview.d.ts +76 -76
- package/src/search/text/searchtextqueryview.js +75 -75
- package/src/search/text/searchtextview.d.ts +219 -219
- package/src/search/text/searchtextview.js +201 -201
- package/src/spinner/spinnerview.d.ts +25 -25
- package/src/spinner/spinnerview.js +38 -38
- package/src/template.d.ts +942 -942
- package/src/template.js +1294 -1294
- package/src/textarea/textareaview.d.ts +88 -88
- package/src/textarea/textareaview.js +142 -140
- package/src/toolbar/balloon/balloontoolbar.d.ts +122 -122
- package/src/toolbar/balloon/balloontoolbar.js +300 -300
- package/src/toolbar/block/blockbuttonview.d.ts +35 -35
- package/src/toolbar/block/blockbuttonview.js +41 -41
- package/src/toolbar/block/blocktoolbar.d.ts +161 -161
- package/src/toolbar/block/blocktoolbar.js +395 -395
- package/src/toolbar/normalizetoolbarconfig.d.ts +40 -40
- package/src/toolbar/normalizetoolbarconfig.js +52 -51
- package/src/toolbar/toolbarlinebreakview.d.ts +18 -18
- package/src/toolbar/toolbarlinebreakview.js +28 -28
- package/src/toolbar/toolbarseparatorview.d.ts +18 -18
- package/src/toolbar/toolbarseparatorview.js +28 -28
- package/src/toolbar/toolbarview.d.ts +266 -266
- package/src/toolbar/toolbarview.js +719 -719
- package/src/tooltipmanager.d.ts +180 -180
- package/src/tooltipmanager.js +353 -353
- package/src/view.d.ts +422 -422
- package/src/view.js +396 -396
- package/src/viewcollection.d.ts +139 -139
- package/src/viewcollection.js +206 -206
- package/theme/components/arialiveannouncer/arialiveannouncer.css +10 -0
- package/theme/components/button/button.css +9 -1
- package/theme/components/collapsible/collapsible.css +10 -0
- package/theme/components/formheader/formheader.css +0 -4
|
@@ -1,31 +1,31 @@
|
|
|
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/buttonlabelview
|
|
7
|
-
*/
|
|
8
|
-
import View from '../view';
|
|
9
|
-
import type ButtonLabel from './buttonlabel';
|
|
10
|
-
/**
|
|
11
|
-
* A default implementation of the button view's label. It comes with a dynamic text support
|
|
12
|
-
* via {@link module:ui/button/buttonlabelview~ButtonLabelView#text} property.
|
|
13
|
-
*/
|
|
14
|
-
export default class ButtonLabelView extends View implements ButtonLabel {
|
|
15
|
-
/**
|
|
16
|
-
* @inheritDoc
|
|
17
|
-
*/
|
|
18
|
-
id: string | undefined;
|
|
19
|
-
/**
|
|
20
|
-
* @inheritDoc
|
|
21
|
-
*/
|
|
22
|
-
style: string | undefined;
|
|
23
|
-
/**
|
|
24
|
-
* @inheritDoc
|
|
25
|
-
*/
|
|
26
|
-
text: string | undefined;
|
|
27
|
-
/**
|
|
28
|
-
* @inheritDoc
|
|
29
|
-
*/
|
|
30
|
-
constructor();
|
|
31
|
-
}
|
|
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/buttonlabelview
|
|
7
|
+
*/
|
|
8
|
+
import View from '../view';
|
|
9
|
+
import type ButtonLabel from './buttonlabel';
|
|
10
|
+
/**
|
|
11
|
+
* A default implementation of the button view's label. It comes with a dynamic text support
|
|
12
|
+
* via {@link module:ui/button/buttonlabelview~ButtonLabelView#text} property.
|
|
13
|
+
*/
|
|
14
|
+
export default class ButtonLabelView extends View implements ButtonLabel {
|
|
15
|
+
/**
|
|
16
|
+
* @inheritDoc
|
|
17
|
+
*/
|
|
18
|
+
id: string | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* @inheritDoc
|
|
21
|
+
*/
|
|
22
|
+
style: string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* @inheritDoc
|
|
25
|
+
*/
|
|
26
|
+
text: string | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* @inheritDoc
|
|
29
|
+
*/
|
|
30
|
+
constructor();
|
|
31
|
+
}
|
|
@@ -1,42 +1,42 @@
|
|
|
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/buttonlabelview
|
|
7
|
-
*/
|
|
8
|
-
import View from '../view';
|
|
9
|
-
/**
|
|
10
|
-
* A default implementation of the button view's label. It comes with a dynamic text support
|
|
11
|
-
* via {@link module:ui/button/buttonlabelview~ButtonLabelView#text} property.
|
|
12
|
-
*/
|
|
13
|
-
export default class ButtonLabelView extends View {
|
|
14
|
-
/**
|
|
15
|
-
* @inheritDoc
|
|
16
|
-
*/
|
|
17
|
-
constructor() {
|
|
18
|
-
super();
|
|
19
|
-
this.set({
|
|
20
|
-
style: undefined,
|
|
21
|
-
text: undefined,
|
|
22
|
-
id: undefined
|
|
23
|
-
});
|
|
24
|
-
const bind = this.bindTemplate;
|
|
25
|
-
this.setTemplate({
|
|
26
|
-
tag: 'span',
|
|
27
|
-
attributes: {
|
|
28
|
-
class: [
|
|
29
|
-
'ck',
|
|
30
|
-
'ck-button__label'
|
|
31
|
-
],
|
|
32
|
-
style: bind.to('style'),
|
|
33
|
-
id: bind.to('id')
|
|
34
|
-
},
|
|
35
|
-
children: [
|
|
36
|
-
{
|
|
37
|
-
text: bind.to('text')
|
|
38
|
-
}
|
|
39
|
-
]
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
}
|
|
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/buttonlabelview
|
|
7
|
+
*/
|
|
8
|
+
import View from '../view';
|
|
9
|
+
/**
|
|
10
|
+
* A default implementation of the button view's label. It comes with a dynamic text support
|
|
11
|
+
* via {@link module:ui/button/buttonlabelview~ButtonLabelView#text} property.
|
|
12
|
+
*/
|
|
13
|
+
export default class ButtonLabelView extends View {
|
|
14
|
+
/**
|
|
15
|
+
* @inheritDoc
|
|
16
|
+
*/
|
|
17
|
+
constructor() {
|
|
18
|
+
super();
|
|
19
|
+
this.set({
|
|
20
|
+
style: undefined,
|
|
21
|
+
text: undefined,
|
|
22
|
+
id: undefined
|
|
23
|
+
});
|
|
24
|
+
const bind = this.bindTemplate;
|
|
25
|
+
this.setTemplate({
|
|
26
|
+
tag: 'span',
|
|
27
|
+
attributes: {
|
|
28
|
+
class: [
|
|
29
|
+
'ck',
|
|
30
|
+
'ck-button__label'
|
|
31
|
+
],
|
|
32
|
+
style: bind.to('style'),
|
|
33
|
+
id: bind.to('id')
|
|
34
|
+
},
|
|
35
|
+
children: [
|
|
36
|
+
{
|
|
37
|
+
text: bind.to('text')
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -1,185 +1,181 @@
|
|
|
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 type ViewCollection from '../viewcollection';
|
|
11
|
-
import type { default as Button } from './button';
|
|
12
|
-
import type ButtonLabel from './buttonlabel';
|
|
13
|
-
import { type Locale } from '@ckeditor/ckeditor5-utils';
|
|
14
|
-
import '../../theme/components/button/button.css';
|
|
15
|
-
/**
|
|
16
|
-
* The button view class.
|
|
17
|
-
*
|
|
18
|
-
* ```ts
|
|
19
|
-
* const view = new ButtonView();
|
|
20
|
-
*
|
|
21
|
-
* view.set( {
|
|
22
|
-
* label: 'A button',
|
|
23
|
-
* keystroke: 'Ctrl+B',
|
|
24
|
-
* tooltip: true,
|
|
25
|
-
* withText: true
|
|
26
|
-
* } );
|
|
27
|
-
*
|
|
28
|
-
* view.render();
|
|
29
|
-
*
|
|
30
|
-
* document.body.append( view.element );
|
|
31
|
-
* ```
|
|
32
|
-
*/
|
|
33
|
-
export default class ButtonView extends View<HTMLButtonElement> implements Button {
|
|
34
|
-
/**
|
|
35
|
-
* Collection of the child views inside of the button {@link #element}.
|
|
36
|
-
*/
|
|
37
|
-
readonly children: ViewCollection;
|
|
38
|
-
/**
|
|
39
|
-
* Label of the button view. Its text is configurable using the {@link #label label attribute}.
|
|
40
|
-
*
|
|
41
|
-
* If not configured otherwise in the `constructor()`, by default the label is an instance
|
|
42
|
-
* of {@link module:ui/button/buttonlabelview~ButtonLabelView}.
|
|
43
|
-
*/
|
|
44
|
-
readonly labelView: ButtonLabel;
|
|
45
|
-
/**
|
|
46
|
-
* The icon view of the button. Will be added to {@link #children} when the
|
|
47
|
-
* {@link #icon icon attribute} is defined.
|
|
48
|
-
*/
|
|
49
|
-
readonly iconView: IconView;
|
|
50
|
-
/**
|
|
51
|
-
* A view displaying the keystroke of the button next to the {@link #labelView label}.
|
|
52
|
-
* Added to {@link #children} when the {@link #withKeystroke `withKeystroke` attribute}
|
|
53
|
-
* is defined.
|
|
54
|
-
*/
|
|
55
|
-
readonly keystrokeView: View;
|
|
56
|
-
/**
|
|
57
|
-
* @inheritDoc
|
|
58
|
-
*/
|
|
59
|
-
class: string | undefined;
|
|
60
|
-
/**
|
|
61
|
-
* @inheritDoc
|
|
62
|
-
*/
|
|
63
|
-
labelStyle: string | undefined;
|
|
64
|
-
/**
|
|
65
|
-
* @inheritDoc
|
|
66
|
-
*/
|
|
67
|
-
icon: string | undefined;
|
|
68
|
-
/**
|
|
69
|
-
* @inheritDoc
|
|
70
|
-
*/
|
|
71
|
-
isEnabled: boolean;
|
|
72
|
-
/**
|
|
73
|
-
* @inheritDoc
|
|
74
|
-
*/
|
|
75
|
-
isOn: boolean;
|
|
76
|
-
/**
|
|
77
|
-
* @inheritDoc
|
|
78
|
-
*/
|
|
79
|
-
isVisible: boolean;
|
|
80
|
-
/**
|
|
81
|
-
* @inheritDoc
|
|
82
|
-
*/
|
|
83
|
-
isToggleable: boolean;
|
|
84
|
-
/**
|
|
85
|
-
* @inheritDoc
|
|
86
|
-
*/
|
|
87
|
-
keystroke: string | undefined;
|
|
88
|
-
/**
|
|
89
|
-
* @inheritDoc
|
|
90
|
-
*/
|
|
91
|
-
label: string | undefined;
|
|
92
|
-
/**
|
|
93
|
-
* @inheritDoc
|
|
94
|
-
*/
|
|
95
|
-
tabindex: number;
|
|
96
|
-
/**
|
|
97
|
-
* @inheritDoc
|
|
98
|
-
*/
|
|
99
|
-
tooltip: Button['tooltip'];
|
|
100
|
-
/**
|
|
101
|
-
* @inheritDoc
|
|
102
|
-
*/
|
|
103
|
-
tooltipPosition: Button['tooltipPosition'];
|
|
104
|
-
/**
|
|
105
|
-
* @inheritDoc
|
|
106
|
-
*/
|
|
107
|
-
type: Button['type'];
|
|
108
|
-
/**
|
|
109
|
-
* @inheritDoc
|
|
110
|
-
*/
|
|
111
|
-
withText: boolean;
|
|
112
|
-
/**
|
|
113
|
-
* @inheritDoc
|
|
114
|
-
*/
|
|
115
|
-
withKeystroke: boolean;
|
|
116
|
-
/**
|
|
117
|
-
* @inheritDoc
|
|
118
|
-
*/
|
|
119
|
-
role: string | undefined;
|
|
120
|
-
/**
|
|
121
|
-
* @inheritDoc
|
|
122
|
-
*/
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* @inheritDoc
|
|
126
|
-
*/
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
*
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
*
|
|
139
|
-
*/
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
*
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
*
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
*
|
|
151
|
-
*/
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* @
|
|
155
|
-
*/
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
*
|
|
159
|
-
*/
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
*
|
|
163
|
-
*/
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
*
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
*
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
*
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
* @
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
* @param keystroke Button keystroke.
|
|
183
|
-
*/
|
|
184
|
-
private _getTooltipString;
|
|
185
|
-
}
|
|
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 type ViewCollection from '../viewcollection';
|
|
11
|
+
import type { default as Button } from './button';
|
|
12
|
+
import type ButtonLabel from './buttonlabel';
|
|
13
|
+
import { type Locale } from '@ckeditor/ckeditor5-utils';
|
|
14
|
+
import '../../theme/components/button/button.css';
|
|
15
|
+
/**
|
|
16
|
+
* The button view class.
|
|
17
|
+
*
|
|
18
|
+
* ```ts
|
|
19
|
+
* const view = new ButtonView();
|
|
20
|
+
*
|
|
21
|
+
* view.set( {
|
|
22
|
+
* label: 'A button',
|
|
23
|
+
* keystroke: 'Ctrl+B',
|
|
24
|
+
* tooltip: true,
|
|
25
|
+
* withText: true
|
|
26
|
+
* } );
|
|
27
|
+
*
|
|
28
|
+
* view.render();
|
|
29
|
+
*
|
|
30
|
+
* document.body.append( view.element );
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export default class ButtonView extends View<HTMLButtonElement> implements Button {
|
|
34
|
+
/**
|
|
35
|
+
* Collection of the child views inside of the button {@link #element}.
|
|
36
|
+
*/
|
|
37
|
+
readonly children: ViewCollection;
|
|
38
|
+
/**
|
|
39
|
+
* Label of the button view. Its text is configurable using the {@link #label label attribute}.
|
|
40
|
+
*
|
|
41
|
+
* If not configured otherwise in the `constructor()`, by default the label is an instance
|
|
42
|
+
* of {@link module:ui/button/buttonlabelview~ButtonLabelView}.
|
|
43
|
+
*/
|
|
44
|
+
readonly labelView: ButtonLabel;
|
|
45
|
+
/**
|
|
46
|
+
* The icon view of the button. Will be added to {@link #children} when the
|
|
47
|
+
* {@link #icon icon attribute} is defined.
|
|
48
|
+
*/
|
|
49
|
+
readonly iconView: IconView;
|
|
50
|
+
/**
|
|
51
|
+
* A view displaying the keystroke of the button next to the {@link #labelView label}.
|
|
52
|
+
* Added to {@link #children} when the {@link #withKeystroke `withKeystroke` attribute}
|
|
53
|
+
* is defined.
|
|
54
|
+
*/
|
|
55
|
+
readonly keystrokeView: View;
|
|
56
|
+
/**
|
|
57
|
+
* @inheritDoc
|
|
58
|
+
*/
|
|
59
|
+
class: string | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* @inheritDoc
|
|
62
|
+
*/
|
|
63
|
+
labelStyle: string | undefined;
|
|
64
|
+
/**
|
|
65
|
+
* @inheritDoc
|
|
66
|
+
*/
|
|
67
|
+
icon: string | undefined;
|
|
68
|
+
/**
|
|
69
|
+
* @inheritDoc
|
|
70
|
+
*/
|
|
71
|
+
isEnabled: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* @inheritDoc
|
|
74
|
+
*/
|
|
75
|
+
isOn: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* @inheritDoc
|
|
78
|
+
*/
|
|
79
|
+
isVisible: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* @inheritDoc
|
|
82
|
+
*/
|
|
83
|
+
isToggleable: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* @inheritDoc
|
|
86
|
+
*/
|
|
87
|
+
keystroke: string | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* @inheritDoc
|
|
90
|
+
*/
|
|
91
|
+
label: string | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* @inheritDoc
|
|
94
|
+
*/
|
|
95
|
+
tabindex: number;
|
|
96
|
+
/**
|
|
97
|
+
* @inheritDoc
|
|
98
|
+
*/
|
|
99
|
+
tooltip: Button['tooltip'];
|
|
100
|
+
/**
|
|
101
|
+
* @inheritDoc
|
|
102
|
+
*/
|
|
103
|
+
tooltipPosition: Button['tooltipPosition'];
|
|
104
|
+
/**
|
|
105
|
+
* @inheritDoc
|
|
106
|
+
*/
|
|
107
|
+
type: Button['type'];
|
|
108
|
+
/**
|
|
109
|
+
* @inheritDoc
|
|
110
|
+
*/
|
|
111
|
+
withText: boolean;
|
|
112
|
+
/**
|
|
113
|
+
* @inheritDoc
|
|
114
|
+
*/
|
|
115
|
+
withKeystroke: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* @inheritDoc
|
|
118
|
+
*/
|
|
119
|
+
role: string | undefined;
|
|
120
|
+
/**
|
|
121
|
+
* @inheritDoc
|
|
122
|
+
*/
|
|
123
|
+
ariaLabel?: string | undefined;
|
|
124
|
+
/**
|
|
125
|
+
* @inheritDoc
|
|
126
|
+
*/
|
|
127
|
+
ariaLabelledBy: string | undefined;
|
|
128
|
+
/**
|
|
129
|
+
* Tooltip of the button bound to the template.
|
|
130
|
+
*
|
|
131
|
+
* @see #tooltip
|
|
132
|
+
* @see module:ui/button/buttonview~ButtonView#_getTooltipString
|
|
133
|
+
* @internal
|
|
134
|
+
* @observable
|
|
135
|
+
*/
|
|
136
|
+
_tooltipString: string;
|
|
137
|
+
/**
|
|
138
|
+
* Delayed focus function for focus handling in Safari.
|
|
139
|
+
*/
|
|
140
|
+
private _focusDelayed;
|
|
141
|
+
/**
|
|
142
|
+
* Creates an instance of the button view class.
|
|
143
|
+
*
|
|
144
|
+
* @param locale The {@link module:core/editor/editor~Editor#locale} instance.
|
|
145
|
+
* @param labelView The instance of the button's label. If not provided, an instance of
|
|
146
|
+
* {@link module:ui/button/buttonlabelview~ButtonLabelView} is used.
|
|
147
|
+
*/
|
|
148
|
+
constructor(locale?: Locale, labelView?: ButtonLabel);
|
|
149
|
+
/**
|
|
150
|
+
* @inheritDoc
|
|
151
|
+
*/
|
|
152
|
+
render(): void;
|
|
153
|
+
/**
|
|
154
|
+
* Focuses the {@link #element} of the button.
|
|
155
|
+
*/
|
|
156
|
+
focus(): void;
|
|
157
|
+
/**
|
|
158
|
+
* @inheritDoc
|
|
159
|
+
*/
|
|
160
|
+
destroy(): void;
|
|
161
|
+
/**
|
|
162
|
+
* Binds the label view instance it with button attributes.
|
|
163
|
+
*/
|
|
164
|
+
private _setupLabelView;
|
|
165
|
+
/**
|
|
166
|
+
* Creates a view that displays a keystroke next to a {@link #labelView label }
|
|
167
|
+
* and binds it with button attributes.
|
|
168
|
+
*/
|
|
169
|
+
private _createKeystrokeView;
|
|
170
|
+
/**
|
|
171
|
+
* Gets the text for the tooltip from the combination of
|
|
172
|
+
* {@link #tooltip}, {@link #label} and {@link #keystroke} attributes.
|
|
173
|
+
*
|
|
174
|
+
* @see #tooltip
|
|
175
|
+
* @see #_tooltipString
|
|
176
|
+
* @param tooltip Button tooltip.
|
|
177
|
+
* @param label Button label.
|
|
178
|
+
* @param keystroke Button keystroke.
|
|
179
|
+
*/
|
|
180
|
+
private _getTooltipString;
|
|
181
|
+
}
|