@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.
- package/LICENSE.md +3 -3
- package/lang/translations/pt-br.po +1 -1
- 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/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 +161 -161
- package/src/dropdown/button/splitbuttonview.js +152 -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 +73 -73
- package/src/index.js +70 -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 +63 -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 +122 -122
- package/src/list/listview.js +187 -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/formheader/formheader.css +0 -4
package/LICENSE.md
CHANGED
|
@@ -2,7 +2,7 @@ Software License Agreement
|
|
|
2
2
|
==========================
|
|
3
3
|
|
|
4
4
|
**CKEditor 5 UI framework** – https://github.com/ckeditor/ckeditor5-ui <br>
|
|
5
|
-
Copyright (c) 2003
|
|
5
|
+
Copyright (c) 2003–2023, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
|
|
6
6
|
|
|
7
7
|
Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html).
|
|
8
8
|
|
|
@@ -13,9 +13,9 @@ Where not otherwise indicated, all CKEditor content is authored by CKSource engi
|
|
|
13
13
|
|
|
14
14
|
The following libraries are included in CKEditor under the [MIT license](https://opensource.org/licenses/MIT):
|
|
15
15
|
|
|
16
|
-
*
|
|
16
|
+
* Lodash - Copyright (c) JS Foundation and other contributors https://js.foundation/. Based on Underscore.js, copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors http://underscorejs.org/.
|
|
17
17
|
|
|
18
18
|
Trademarks
|
|
19
19
|
----------
|
|
20
20
|
|
|
21
|
-
**CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks or service marks of their respective holders.
|
|
21
|
+
**CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks, or service marks of their respective holders.
|
|
@@ -119,7 +119,7 @@ msgstr "Barra de ferramentas de bloco do Editor"
|
|
|
119
119
|
|
|
120
120
|
msgctxt "Accessible label of a balloon toolbar that shows up right next to the user selection (the caret)."
|
|
121
121
|
msgid "Editor contextual toolbar"
|
|
122
|
-
msgstr "Barra de ferramentas
|
|
122
|
+
msgstr "Barra de ferramentas contextual do Editor"
|
|
123
123
|
|
|
124
124
|
msgctxt "Label of an input field for typing colors in the HEX color format."
|
|
125
125
|
msgid "HEX"
|
package/lang/translations/ug.po
CHANGED
|
@@ -23,79 +23,79 @@ msgstr "تېكىست تەھرىرلىگۈچ"
|
|
|
23
23
|
|
|
24
24
|
msgctxt "Accessible label of the specific editing area belonging to a container with an ARIA application role."
|
|
25
25
|
msgid "Editor editing area: %0"
|
|
26
|
-
msgstr ""
|
|
26
|
+
msgstr "تەھرىرلىگۈچ تەھرىرلەش رايونى: %0"
|
|
27
27
|
|
|
28
28
|
msgctxt "Label of the block toolbar icon (a block toolbar is displayed next to each paragraph, heading, list item, etc. and contains e.g. block formatting options)"
|
|
29
29
|
msgid "Edit block"
|
|
30
|
-
msgstr ""
|
|
30
|
+
msgstr "بۆلەك تەھرىر"
|
|
31
31
|
|
|
32
32
|
msgctxt "First part of the label of the block toolbar icon when functionality of drag and drop is available (a block toolbar is displayed next to each paragraph, heading, list item, etc. and contains e.g. block formatting options)"
|
|
33
33
|
msgid "Click to edit block"
|
|
34
|
-
msgstr ""
|
|
34
|
+
msgstr "چېكىلسە بۆلەك تەھرىرلىنىدۇ"
|
|
35
35
|
|
|
36
36
|
msgctxt "Second part of the label of the block toolbar icon when functionality of drag and drop is available (a block toolbar is displayed next to each paragraph, heading, list item, etc. and contains e.g. block formatting options)"
|
|
37
37
|
msgid "Drag to move"
|
|
38
|
-
msgstr ""
|
|
38
|
+
msgstr "يۆتكەشتە سۆرىلىدۇ"
|
|
39
39
|
|
|
40
40
|
msgctxt "Label for a button showing the next thing (tab, page, etc.)."
|
|
41
41
|
msgid "Next"
|
|
42
|
-
msgstr ""
|
|
42
|
+
msgstr "كېيىنكى"
|
|
43
43
|
|
|
44
44
|
msgctxt "Label for a button showing the previous thing (tab, page, etc.)."
|
|
45
45
|
msgid "Previous"
|
|
46
|
-
msgstr ""
|
|
46
|
+
msgstr "ئالدىنقى"
|
|
47
47
|
|
|
48
48
|
msgctxt "Label used by assistive technologies describing a generic editor toolbar."
|
|
49
49
|
msgid "Editor toolbar"
|
|
50
|
-
msgstr ""
|
|
50
|
+
msgstr "تەھرىرلىگۈچ قورال بالداق"
|
|
51
51
|
|
|
52
52
|
msgctxt "Label used by assistive technologies describing a toolbar displayed inside a dropdown."
|
|
53
53
|
msgid "Dropdown toolbar"
|
|
54
|
-
msgstr ""
|
|
54
|
+
msgstr "سىرىلما قورال بالداق"
|
|
55
55
|
|
|
56
56
|
msgctxt "Label of a button that applies a black color in color pickers."
|
|
57
57
|
msgid "Black"
|
|
58
|
-
msgstr ""
|
|
58
|
+
msgstr "قارا"
|
|
59
59
|
|
|
60
60
|
msgctxt "Label of a button that applies a dim grey color in color pickers."
|
|
61
61
|
msgid "Dim grey"
|
|
62
|
-
msgstr ""
|
|
62
|
+
msgstr "سۇس كۈلرەڭ"
|
|
63
63
|
|
|
64
64
|
msgctxt "Label of a button that applies a grey color in color pickers."
|
|
65
65
|
msgid "Grey"
|
|
66
|
-
msgstr ""
|
|
66
|
+
msgstr "كۈلرەڭ"
|
|
67
67
|
|
|
68
68
|
msgctxt "Label of a button that applies a light grey color in color pickers."
|
|
69
69
|
msgid "Light grey"
|
|
70
|
-
msgstr ""
|
|
70
|
+
msgstr "ئوچۇق كۈلرەڭ"
|
|
71
71
|
|
|
72
72
|
msgctxt "Label of a button that applies a white color in color pickers."
|
|
73
73
|
msgid "White"
|
|
74
|
-
msgstr ""
|
|
74
|
+
msgstr "ئاق"
|
|
75
75
|
|
|
76
76
|
msgctxt "Label of a button that applies a red color in color pickers."
|
|
77
77
|
msgid "Red"
|
|
78
|
-
msgstr ""
|
|
78
|
+
msgstr "قىزىل"
|
|
79
79
|
|
|
80
80
|
msgctxt "Label of a button that applies a orange color in color pickers."
|
|
81
81
|
msgid "Orange"
|
|
82
|
-
msgstr ""
|
|
82
|
+
msgstr "قىزغۇچ سېرىق"
|
|
83
83
|
|
|
84
84
|
msgctxt "Label of a button that applies a yellow color in color pickers."
|
|
85
85
|
msgid "Yellow"
|
|
86
|
-
msgstr ""
|
|
86
|
+
msgstr "سېرىق"
|
|
87
87
|
|
|
88
88
|
msgctxt "Label of a button that applies a light green color in color pickers."
|
|
89
89
|
msgid "Light green"
|
|
90
|
-
msgstr ""
|
|
90
|
+
msgstr "ئوچۇق يېشىل"
|
|
91
91
|
|
|
92
92
|
msgctxt "Label of a button that applies a green color in color pickers."
|
|
93
93
|
msgid "Green"
|
|
94
|
-
msgstr ""
|
|
94
|
+
msgstr "يېشىل"
|
|
95
95
|
|
|
96
96
|
msgctxt "Label of a button that applies a aquamarine color in color pickers."
|
|
97
97
|
msgid "Aquamarine"
|
|
98
|
-
msgstr ""
|
|
98
|
+
msgstr "دېڭىز كۆكى"
|
|
99
99
|
|
|
100
100
|
msgctxt "Label of a button that applies a turquoise color in color pickers."
|
|
101
101
|
msgid "Turquoise"
|
|
@@ -103,23 +103,23 @@ msgstr ""
|
|
|
103
103
|
|
|
104
104
|
msgctxt "Label of a button that applies a light blue color in color pickers."
|
|
105
105
|
msgid "Light blue"
|
|
106
|
-
msgstr ""
|
|
106
|
+
msgstr "ئوچۇق كۆك"
|
|
107
107
|
|
|
108
108
|
msgctxt "Label of a button that applies a blue color in color pickers."
|
|
109
109
|
msgid "Blue"
|
|
110
|
-
msgstr ""
|
|
110
|
+
msgstr "كۆك"
|
|
111
111
|
|
|
112
112
|
msgctxt "Label of a button that applies a purple color in color pickers."
|
|
113
113
|
msgid "Purple"
|
|
114
|
-
msgstr ""
|
|
114
|
+
msgstr "بىنەپشە"
|
|
115
115
|
|
|
116
116
|
msgctxt "Accessible label of a toolbar that shows up next to the blocks of content (e.g. headings, paragraphs)."
|
|
117
117
|
msgid "Editor block content toolbar"
|
|
118
|
-
msgstr ""
|
|
118
|
+
msgstr "تەھرىرلىگۈچ بۆلىكى مەزمۇن قورال بالداق"
|
|
119
119
|
|
|
120
120
|
msgctxt "Accessible label of a balloon toolbar that shows up right next to the user selection (the caret)."
|
|
121
121
|
msgid "Editor contextual toolbar"
|
|
122
|
-
msgstr ""
|
|
122
|
+
msgstr "تەھرىرلىگۈچ مەزمۇن قورال بالداق"
|
|
123
123
|
|
|
124
124
|
msgctxt "Label of an input field for typing colors in the HEX color format."
|
|
125
125
|
msgid "HEX"
|
|
@@ -131,8 +131,8 @@ msgstr "قوشۇل"
|
|
|
131
131
|
|
|
132
132
|
msgctxt "The main text of the message shown to the user when given query does not match any results."
|
|
133
133
|
msgid "No results found"
|
|
134
|
-
msgstr ""
|
|
134
|
+
msgstr "ھېچقانداق نەتىجە تېپىلمىدى"
|
|
135
135
|
|
|
136
136
|
msgctxt "The main text of the message shown to the user when no results are available."
|
|
137
137
|
msgid "No searchable items"
|
|
138
|
-
msgstr ""
|
|
138
|
+
msgstr "ئىزدىگۈدەك تۈر يوق"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckeditor/ckeditor5-ui",
|
|
3
|
-
"version": "40.
|
|
3
|
+
"version": "40.1.0",
|
|
4
4
|
"description": "The UI framework and standard UI library of CKEditor 5.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ckeditor",
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
],
|
|
12
12
|
"main": "src/index.js",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@ckeditor/ckeditor5-core": "40.
|
|
15
|
-
"@ckeditor/ckeditor5-utils": "40.
|
|
14
|
+
"@ckeditor/ckeditor5-core": "40.1.0",
|
|
15
|
+
"@ckeditor/ckeditor5-utils": "40.1.0",
|
|
16
16
|
"color-convert": "2.0.1",
|
|
17
17
|
"color-parse": "1.4.2",
|
|
18
18
|
"lodash-es": "4.17.21",
|
|
@@ -0,0 +1,94 @@
|
|
|
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/arialiveannouncer
|
|
7
|
+
*/
|
|
8
|
+
import type { Editor } from '@ckeditor/ckeditor5-core';
|
|
9
|
+
import type { Locale } from '@ckeditor/ckeditor5-utils';
|
|
10
|
+
import type ViewCollection from './viewcollection';
|
|
11
|
+
import View from './view';
|
|
12
|
+
import '../theme/components/arialiveannouncer/arialiveannouncer.css';
|
|
13
|
+
/**
|
|
14
|
+
* The politeness level of an `aria-live` announcement.
|
|
15
|
+
*
|
|
16
|
+
* See https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions#Politeness_levels
|
|
17
|
+
*/
|
|
18
|
+
export declare enum AriaLiveAnnouncerPoliteness {
|
|
19
|
+
POLITE = "polite",
|
|
20
|
+
ASSERTIVE = "assertive"
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* An accessibility helper that manages all ARIA live regions associated with an editor instance. ARIA live regions announce changes
|
|
24
|
+
* to the state of the editor features.
|
|
25
|
+
*
|
|
26
|
+
* These announcements are consumed and propagated by screen readers and give users a better understanding of the current
|
|
27
|
+
* state of the editor.
|
|
28
|
+
*
|
|
29
|
+
* To announce a state change to an editor feature named `'Some feature'`, use the {@link #announce} method:
|
|
30
|
+
* ```ts
|
|
31
|
+
* editor.ui.ariaLiveAnnouncer.announce( 'Some feature', 'Text of an announcement.' );
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export default class AriaLiveAnnouncer {
|
|
35
|
+
/**
|
|
36
|
+
* The editor instance.
|
|
37
|
+
*/
|
|
38
|
+
readonly editor: Editor;
|
|
39
|
+
/**
|
|
40
|
+
* The view that aggregates all `aria-live` regions.
|
|
41
|
+
*/
|
|
42
|
+
view?: AriaLiveAnnouncerView;
|
|
43
|
+
/**
|
|
44
|
+
* @inheritDoc
|
|
45
|
+
*/
|
|
46
|
+
constructor(editor: Editor);
|
|
47
|
+
/**
|
|
48
|
+
* Sets an announcement text to an aria region associated with a specific editor feature. The text is then
|
|
49
|
+
* announced by a screen reader to the user.
|
|
50
|
+
*
|
|
51
|
+
* If the aria region of a given name does not exist, it will be created and can be re-used later. The name of the region
|
|
52
|
+
* groups announcements originating from a specific editor feature and does not get announced by a screen reader.
|
|
53
|
+
*
|
|
54
|
+
* Using multiple regions allows for many announcements to be emitted in a short period of time. Changes to ARIA-live announcements
|
|
55
|
+
* are captured by a screen reader and read out in the order they were emitted.
|
|
56
|
+
*
|
|
57
|
+
* The default announcement politeness level is `'polite'`.
|
|
58
|
+
*
|
|
59
|
+
* ```ts
|
|
60
|
+
* // Most screen readers will queue announcements from multiple aria-live regions and read them out in the order they were emitted.
|
|
61
|
+
* editor.ui.ariaLiveAnnouncer.announce( 'image', 'Image uploaded.' );
|
|
62
|
+
* editor.ui.ariaLiveAnnouncer.announce( 'network', 'Connection lost. Reconnecting.' );
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
announce(regionName: string, announcementText: string, politeness?: AriaLiveAnnouncerPoliteness): void;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The view that aggregates all `aria-live` regions.
|
|
69
|
+
*/
|
|
70
|
+
export declare class AriaLiveAnnouncerView extends View {
|
|
71
|
+
/**
|
|
72
|
+
* A collection of all views that represent individual `aria-live` regions.
|
|
73
|
+
*/
|
|
74
|
+
readonly regionViews: ViewCollection<AriaLiveAnnouncerRegionView>;
|
|
75
|
+
constructor(locale: Locale);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The view that represents a single `aria-live` region (e.g. for a specific editor feature) and its text.
|
|
79
|
+
*/
|
|
80
|
+
export declare class AriaLiveAnnouncerRegionView extends View {
|
|
81
|
+
/**
|
|
82
|
+
* Current text of the region.
|
|
83
|
+
*/
|
|
84
|
+
text: string;
|
|
85
|
+
/**
|
|
86
|
+
* Current politeness level of the region.
|
|
87
|
+
*/
|
|
88
|
+
politeness: AriaLiveAnnouncerPoliteness;
|
|
89
|
+
/**
|
|
90
|
+
* A unique name of the region, usually associated with a specific editor feature or system.
|
|
91
|
+
*/
|
|
92
|
+
regionName: string;
|
|
93
|
+
constructor(locale: Locale);
|
|
94
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
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
|
+
import View from './view';
|
|
6
|
+
import '../theme/components/arialiveannouncer/arialiveannouncer.css';
|
|
7
|
+
/**
|
|
8
|
+
* The politeness level of an `aria-live` announcement.
|
|
9
|
+
*
|
|
10
|
+
* See https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions#Politeness_levels
|
|
11
|
+
*/
|
|
12
|
+
export var AriaLiveAnnouncerPoliteness;
|
|
13
|
+
(function (AriaLiveAnnouncerPoliteness) {
|
|
14
|
+
AriaLiveAnnouncerPoliteness["POLITE"] = "polite";
|
|
15
|
+
AriaLiveAnnouncerPoliteness["ASSERTIVE"] = "assertive";
|
|
16
|
+
})(AriaLiveAnnouncerPoliteness || (AriaLiveAnnouncerPoliteness = {}));
|
|
17
|
+
/**
|
|
18
|
+
* An accessibility helper that manages all ARIA live regions associated with an editor instance. ARIA live regions announce changes
|
|
19
|
+
* to the state of the editor features.
|
|
20
|
+
*
|
|
21
|
+
* These announcements are consumed and propagated by screen readers and give users a better understanding of the current
|
|
22
|
+
* state of the editor.
|
|
23
|
+
*
|
|
24
|
+
* To announce a state change to an editor feature named `'Some feature'`, use the {@link #announce} method:
|
|
25
|
+
* ```ts
|
|
26
|
+
* editor.ui.ariaLiveAnnouncer.announce( 'Some feature', 'Text of an announcement.' );
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export default class AriaLiveAnnouncer {
|
|
30
|
+
/**
|
|
31
|
+
* @inheritDoc
|
|
32
|
+
*/
|
|
33
|
+
constructor(editor) {
|
|
34
|
+
this.editor = editor;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Sets an announcement text to an aria region associated with a specific editor feature. The text is then
|
|
38
|
+
* announced by a screen reader to the user.
|
|
39
|
+
*
|
|
40
|
+
* If the aria region of a given name does not exist, it will be created and can be re-used later. The name of the region
|
|
41
|
+
* groups announcements originating from a specific editor feature and does not get announced by a screen reader.
|
|
42
|
+
*
|
|
43
|
+
* Using multiple regions allows for many announcements to be emitted in a short period of time. Changes to ARIA-live announcements
|
|
44
|
+
* are captured by a screen reader and read out in the order they were emitted.
|
|
45
|
+
*
|
|
46
|
+
* The default announcement politeness level is `'polite'`.
|
|
47
|
+
*
|
|
48
|
+
* ```ts
|
|
49
|
+
* // Most screen readers will queue announcements from multiple aria-live regions and read them out in the order they were emitted.
|
|
50
|
+
* editor.ui.ariaLiveAnnouncer.announce( 'image', 'Image uploaded.' );
|
|
51
|
+
* editor.ui.ariaLiveAnnouncer.announce( 'network', 'Connection lost. Reconnecting.' );
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
announce(regionName, announcementText, politeness = AriaLiveAnnouncerPoliteness.POLITE) {
|
|
55
|
+
const editor = this.editor;
|
|
56
|
+
if (!this.view) {
|
|
57
|
+
this.view = new AriaLiveAnnouncerView(editor.locale);
|
|
58
|
+
editor.ui.view.body.add(this.view);
|
|
59
|
+
}
|
|
60
|
+
let regionView = this.view.regionViews.find(view => view.regionName === regionName);
|
|
61
|
+
if (!regionView) {
|
|
62
|
+
regionView = new AriaLiveAnnouncerRegionView(this.view.locale);
|
|
63
|
+
this.view.regionViews.add(regionView);
|
|
64
|
+
}
|
|
65
|
+
regionView.set({
|
|
66
|
+
regionName,
|
|
67
|
+
text: announcementText,
|
|
68
|
+
politeness
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The view that aggregates all `aria-live` regions.
|
|
74
|
+
*/
|
|
75
|
+
export class AriaLiveAnnouncerView extends View {
|
|
76
|
+
constructor(locale) {
|
|
77
|
+
super(locale);
|
|
78
|
+
this.regionViews = this.createCollection();
|
|
79
|
+
this.setTemplate({
|
|
80
|
+
tag: 'div',
|
|
81
|
+
attributes: {
|
|
82
|
+
class: [
|
|
83
|
+
'ck',
|
|
84
|
+
'ck-aria-live-announcer'
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
children: this.regionViews
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* The view that represents a single `aria-live` region (e.g. for a specific editor feature) and its text.
|
|
93
|
+
*/
|
|
94
|
+
export class AriaLiveAnnouncerRegionView extends View {
|
|
95
|
+
constructor(locale) {
|
|
96
|
+
super(locale);
|
|
97
|
+
const bind = this.bindTemplate;
|
|
98
|
+
this.set('regionName', '');
|
|
99
|
+
this.set('text', '');
|
|
100
|
+
this.set('politeness', AriaLiveAnnouncerPoliteness.POLITE);
|
|
101
|
+
this.setTemplate({
|
|
102
|
+
tag: 'div',
|
|
103
|
+
attributes: {
|
|
104
|
+
role: 'region',
|
|
105
|
+
'data-region': bind.to('regionName'),
|
|
106
|
+
'aria-live': bind.to('politeness')
|
|
107
|
+
},
|
|
108
|
+
children: [
|
|
109
|
+
{ text: bind.to('text') }
|
|
110
|
+
]
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
package/src/augmentation.d.ts
CHANGED
|
@@ -1,86 +1,86 @@
|
|
|
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
|
-
import type { BalloonToolbar, BlockToolbar, ContextualBalloon, Notification } from './index';
|
|
6
|
-
import type { ToolbarConfig } from '@ckeditor/ckeditor5-core';
|
|
7
|
-
declare module '@ckeditor/ckeditor5-core' {
|
|
8
|
-
interface EditorConfig {
|
|
9
|
-
/**
|
|
10
|
-
* Contextual toolbar configuration. Used by the {@link module:ui/toolbar/balloon/balloontoolbar~BalloonToolbar}
|
|
11
|
-
* feature.
|
|
12
|
-
*
|
|
13
|
-
* ## Configuring toolbar items
|
|
14
|
-
*
|
|
15
|
-
* ```ts
|
|
16
|
-
* const config = {
|
|
17
|
-
* balloonToolbar: [ 'bold', 'italic', 'undo', 'redo' ]
|
|
18
|
-
* };
|
|
19
|
-
* ```
|
|
20
|
-
*
|
|
21
|
-
* You can also use `'|'` to create a separator between groups of items:
|
|
22
|
-
*
|
|
23
|
-
* ```ts
|
|
24
|
-
* const config = {
|
|
25
|
-
* balloonToolbar: [ 'bold', 'italic', '|', 'undo', 'redo' ]
|
|
26
|
-
* };
|
|
27
|
-
* ```
|
|
28
|
-
*
|
|
29
|
-
* Read also about configuring the main editor toolbar in {@link module:core/editor/editorconfig~EditorConfig#toolbar}.
|
|
30
|
-
*
|
|
31
|
-
* ## Configuring items grouping
|
|
32
|
-
*
|
|
33
|
-
* You can prevent automatic items grouping by setting the `shouldNotGroupWhenFull` option:
|
|
34
|
-
*
|
|
35
|
-
* ```ts
|
|
36
|
-
* const config = {
|
|
37
|
-
* balloonToolbar: {
|
|
38
|
-
* items: [ 'bold', 'italic', 'undo', 'redo' ],
|
|
39
|
-
* shouldNotGroupWhenFull: true
|
|
40
|
-
* },
|
|
41
|
-
* };
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
balloonToolbar?: ToolbarConfig;
|
|
45
|
-
/**
|
|
46
|
-
* The block toolbar configuration. Used by the {@link module:ui/toolbar/block/blocktoolbar~BlockToolbar}
|
|
47
|
-
* feature.
|
|
48
|
-
*
|
|
49
|
-
* ```ts
|
|
50
|
-
* const config = {
|
|
51
|
-
* blockToolbar: [ 'paragraph', 'heading1', 'heading2', 'bulletedList', 'numberedList' ]
|
|
52
|
-
* };
|
|
53
|
-
* ```
|
|
54
|
-
*
|
|
55
|
-
* You can also use `'|'` to create a separator between groups of items:
|
|
56
|
-
*
|
|
57
|
-
* ```ts
|
|
58
|
-
* const config = {
|
|
59
|
-
* blockToolbar: [ 'paragraph', 'heading1', 'heading2', '|', 'bulletedList', 'numberedList' ]
|
|
60
|
-
* };
|
|
61
|
-
* ```
|
|
62
|
-
*
|
|
63
|
-
* ## Configuring items grouping
|
|
64
|
-
*
|
|
65
|
-
* You can prevent automatic items grouping by setting the `shouldNotGroupWhenFull` option:
|
|
66
|
-
*
|
|
67
|
-
* ```ts
|
|
68
|
-
* const config = {
|
|
69
|
-
* blockToolbar: {
|
|
70
|
-
* items: [ 'paragraph', 'heading1', 'heading2', '|', 'bulletedList', 'numberedList' ],
|
|
71
|
-
* shouldNotGroupWhenFull: true
|
|
72
|
-
* },
|
|
73
|
-
* };
|
|
74
|
-
* ```
|
|
75
|
-
*
|
|
76
|
-
* Read more about configuring the main editor toolbar in {@link module:core/editor/editorconfig~EditorConfig#toolbar}.
|
|
77
|
-
*/
|
|
78
|
-
blockToolbar?: ToolbarConfig;
|
|
79
|
-
}
|
|
80
|
-
interface PluginsMap {
|
|
81
|
-
[BalloonToolbar.pluginName]: BalloonToolbar;
|
|
82
|
-
[BlockToolbar.pluginName]: BlockToolbar;
|
|
83
|
-
[ContextualBalloon.pluginName]: ContextualBalloon;
|
|
84
|
-
[Notification.pluginName]: Notification;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
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
|
+
import type { BalloonToolbar, BlockToolbar, ContextualBalloon, Notification } from './index';
|
|
6
|
+
import type { ToolbarConfig } from '@ckeditor/ckeditor5-core';
|
|
7
|
+
declare module '@ckeditor/ckeditor5-core' {
|
|
8
|
+
interface EditorConfig {
|
|
9
|
+
/**
|
|
10
|
+
* Contextual toolbar configuration. Used by the {@link module:ui/toolbar/balloon/balloontoolbar~BalloonToolbar}
|
|
11
|
+
* feature.
|
|
12
|
+
*
|
|
13
|
+
* ## Configuring toolbar items
|
|
14
|
+
*
|
|
15
|
+
* ```ts
|
|
16
|
+
* const config = {
|
|
17
|
+
* balloonToolbar: [ 'bold', 'italic', 'undo', 'redo' ]
|
|
18
|
+
* };
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* You can also use `'|'` to create a separator between groups of items:
|
|
22
|
+
*
|
|
23
|
+
* ```ts
|
|
24
|
+
* const config = {
|
|
25
|
+
* balloonToolbar: [ 'bold', 'italic', '|', 'undo', 'redo' ]
|
|
26
|
+
* };
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* Read also about configuring the main editor toolbar in {@link module:core/editor/editorconfig~EditorConfig#toolbar}.
|
|
30
|
+
*
|
|
31
|
+
* ## Configuring items grouping
|
|
32
|
+
*
|
|
33
|
+
* You can prevent automatic items grouping by setting the `shouldNotGroupWhenFull` option:
|
|
34
|
+
*
|
|
35
|
+
* ```ts
|
|
36
|
+
* const config = {
|
|
37
|
+
* balloonToolbar: {
|
|
38
|
+
* items: [ 'bold', 'italic', 'undo', 'redo' ],
|
|
39
|
+
* shouldNotGroupWhenFull: true
|
|
40
|
+
* },
|
|
41
|
+
* };
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
balloonToolbar?: ToolbarConfig;
|
|
45
|
+
/**
|
|
46
|
+
* The block toolbar configuration. Used by the {@link module:ui/toolbar/block/blocktoolbar~BlockToolbar}
|
|
47
|
+
* feature.
|
|
48
|
+
*
|
|
49
|
+
* ```ts
|
|
50
|
+
* const config = {
|
|
51
|
+
* blockToolbar: [ 'paragraph', 'heading1', 'heading2', 'bulletedList', 'numberedList' ]
|
|
52
|
+
* };
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
* You can also use `'|'` to create a separator between groups of items:
|
|
56
|
+
*
|
|
57
|
+
* ```ts
|
|
58
|
+
* const config = {
|
|
59
|
+
* blockToolbar: [ 'paragraph', 'heading1', 'heading2', '|', 'bulletedList', 'numberedList' ]
|
|
60
|
+
* };
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* ## Configuring items grouping
|
|
64
|
+
*
|
|
65
|
+
* You can prevent automatic items grouping by setting the `shouldNotGroupWhenFull` option:
|
|
66
|
+
*
|
|
67
|
+
* ```ts
|
|
68
|
+
* const config = {
|
|
69
|
+
* blockToolbar: {
|
|
70
|
+
* items: [ 'paragraph', 'heading1', 'heading2', '|', 'bulletedList', 'numberedList' ],
|
|
71
|
+
* shouldNotGroupWhenFull: true
|
|
72
|
+
* },
|
|
73
|
+
* };
|
|
74
|
+
* ```
|
|
75
|
+
*
|
|
76
|
+
* Read more about configuring the main editor toolbar in {@link module:core/editor/editorconfig~EditorConfig#toolbar}.
|
|
77
|
+
*/
|
|
78
|
+
blockToolbar?: ToolbarConfig;
|
|
79
|
+
}
|
|
80
|
+
interface PluginsMap {
|
|
81
|
+
[BalloonToolbar.pluginName]: BalloonToolbar;
|
|
82
|
+
[BlockToolbar.pluginName]: BlockToolbar;
|
|
83
|
+
[ContextualBalloon.pluginName]: ContextualBalloon;
|
|
84
|
+
[Notification.pluginName]: Notification;
|
|
85
|
+
}
|
|
86
|
+
}
|
package/src/augmentation.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
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
|
-
export {};
|
|
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
|
+
export {};
|