@ckeditor/ckeditor5-ui 39.0.1 → 40.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/LICENSE.md +1 -1
  3. package/README.md +4 -4
  4. package/lang/contexts.json +5 -1
  5. package/lang/translations/ar.po +17 -0
  6. package/lang/translations/ast.po +17 -0
  7. package/lang/translations/az.po +17 -0
  8. package/lang/translations/bg.po +17 -0
  9. package/lang/translations/bn.po +17 -0
  10. package/lang/translations/ca.po +17 -0
  11. package/lang/translations/cs.po +17 -0
  12. package/lang/translations/da.po +17 -0
  13. package/lang/translations/de-ch.po +17 -0
  14. package/lang/translations/de.po +17 -0
  15. package/lang/translations/el.po +17 -0
  16. package/lang/translations/en-au.po +17 -0
  17. package/lang/translations/en-gb.po +17 -0
  18. package/lang/translations/en.po +17 -0
  19. package/lang/translations/eo.po +17 -0
  20. package/lang/translations/es.po +17 -0
  21. package/lang/translations/et.po +17 -0
  22. package/lang/translations/eu.po +17 -0
  23. package/lang/translations/fa.po +17 -0
  24. package/lang/translations/fi.po +17 -0
  25. package/lang/translations/fr.po +17 -0
  26. package/lang/translations/gl.po +17 -0
  27. package/lang/translations/he.po +17 -0
  28. package/lang/translations/hi.po +17 -0
  29. package/lang/translations/hr.po +17 -0
  30. package/lang/translations/hu.po +17 -0
  31. package/lang/translations/id.po +17 -0
  32. package/lang/translations/it.po +17 -0
  33. package/lang/translations/ja.po +17 -0
  34. package/lang/translations/km.po +17 -0
  35. package/lang/translations/kn.po +17 -0
  36. package/lang/translations/ko.po +17 -0
  37. package/lang/translations/ku.po +17 -0
  38. package/lang/translations/lt.po +17 -0
  39. package/lang/translations/lv.po +17 -0
  40. package/lang/translations/ms.po +17 -0
  41. package/lang/translations/nb.po +17 -0
  42. package/lang/translations/ne.po +17 -0
  43. package/lang/translations/nl.po +17 -0
  44. package/lang/translations/no.po +17 -0
  45. package/lang/translations/pl.po +17 -0
  46. package/lang/translations/pt-br.po +17 -0
  47. package/lang/translations/pt.po +17 -0
  48. package/lang/translations/ro.po +17 -0
  49. package/lang/translations/ru.po +17 -0
  50. package/lang/translations/sk.po +17 -0
  51. package/lang/translations/sl.po +17 -0
  52. package/lang/translations/sq.po +17 -0
  53. package/lang/translations/sr-latn.po +17 -0
  54. package/lang/translations/sr.po +17 -0
  55. package/lang/translations/sv.po +17 -0
  56. package/lang/translations/th.po +17 -0
  57. package/lang/translations/tk.po +17 -0
  58. package/lang/translations/tr.po +17 -0
  59. package/lang/translations/tt.po +17 -0
  60. package/lang/translations/ug.po +17 -0
  61. package/lang/translations/uk.po +17 -0
  62. package/lang/translations/ur.po +17 -0
  63. package/lang/translations/uz.po +17 -0
  64. package/lang/translations/vi.po +17 -0
  65. package/lang/translations/zh-cn.po +17 -0
  66. package/lang/translations/zh.po +17 -0
  67. package/package.json +3 -7
  68. package/src/augmentation.d.ts +86 -86
  69. package/src/augmentation.js +5 -5
  70. package/src/autocomplete/autocompleteview.d.ts +81 -0
  71. package/src/autocomplete/autocompleteview.js +146 -0
  72. package/src/bindings/addkeyboardhandlingforgrid.d.ts +27 -27
  73. package/src/bindings/addkeyboardhandlingforgrid.js +107 -107
  74. package/src/bindings/clickoutsidehandler.d.ts +28 -28
  75. package/src/bindings/clickoutsidehandler.js +36 -36
  76. package/src/bindings/csstransitiondisablermixin.d.ts +40 -40
  77. package/src/bindings/csstransitiondisablermixin.js +55 -55
  78. package/src/bindings/injectcsstransitiondisabler.d.ts +59 -59
  79. package/src/bindings/injectcsstransitiondisabler.js +71 -71
  80. package/src/bindings/preventdefault.d.ts +33 -33
  81. package/src/bindings/preventdefault.js +34 -34
  82. package/src/bindings/submithandler.d.ts +57 -57
  83. package/src/bindings/submithandler.js +47 -47
  84. package/src/button/button.d.ts +178 -178
  85. package/src/button/button.js +5 -5
  86. package/src/button/buttonlabel.d.ts +34 -0
  87. package/src/button/buttonlabel.js +5 -0
  88. package/src/button/buttonlabelview.d.ts +31 -0
  89. package/src/button/buttonlabelview.js +42 -0
  90. package/src/button/buttonview.d.ts +185 -177
  91. package/src/button/buttonview.js +219 -231
  92. package/src/button/switchbuttonview.d.ts +45 -45
  93. package/src/button/switchbuttonview.js +75 -75
  94. package/src/colorgrid/colorgridview.d.ts +132 -132
  95. package/src/colorgrid/colorgridview.js +124 -124
  96. package/src/colorgrid/colortileview.d.ts +28 -28
  97. package/src/colorgrid/colortileview.js +40 -40
  98. package/src/colorgrid/utils.d.ts +47 -47
  99. package/src/colorgrid/utils.js +84 -84
  100. package/src/colorpicker/colorpickerview.d.ts +137 -137
  101. package/src/colorpicker/colorpickerview.js +270 -270
  102. package/src/colorpicker/utils.d.ts +43 -43
  103. package/src/colorpicker/utils.js +99 -99
  104. package/src/colorselector/colorgridsfragmentview.d.ts +194 -194
  105. package/src/colorselector/colorgridsfragmentview.js +289 -289
  106. package/src/colorselector/colorpickerfragmentview.d.ts +128 -128
  107. package/src/colorselector/colorpickerfragmentview.js +205 -205
  108. package/src/colorselector/colorselectorview.d.ts +242 -242
  109. package/src/colorselector/colorselectorview.js +256 -256
  110. package/src/colorselector/documentcolorcollection.d.ts +70 -70
  111. package/src/colorselector/documentcolorcollection.js +42 -42
  112. package/src/componentfactory.d.ts +81 -81
  113. package/src/componentfactory.js +104 -104
  114. package/src/dropdown/button/dropdownbutton.d.ts +25 -25
  115. package/src/dropdown/button/dropdownbutton.js +5 -5
  116. package/src/dropdown/button/dropdownbuttonview.d.ts +48 -48
  117. package/src/dropdown/button/dropdownbuttonview.js +66 -66
  118. package/src/dropdown/button/splitbuttonview.d.ts +161 -161
  119. package/src/dropdown/button/splitbuttonview.js +152 -152
  120. package/src/dropdown/dropdownpanelfocusable.d.ts +21 -21
  121. package/src/dropdown/dropdownpanelfocusable.js +5 -5
  122. package/src/dropdown/dropdownpanelview.d.ts +62 -62
  123. package/src/dropdown/dropdownpanelview.js +97 -97
  124. package/src/dropdown/dropdownview.d.ts +315 -315
  125. package/src/dropdown/dropdownview.js +379 -378
  126. package/src/dropdown/utils.d.ts +235 -221
  127. package/src/dropdown/utils.js +458 -437
  128. package/src/editableui/editableuiview.d.ts +72 -72
  129. package/src/editableui/editableuiview.js +112 -112
  130. package/src/editableui/inline/inlineeditableuiview.d.ts +40 -40
  131. package/src/editableui/inline/inlineeditableuiview.js +48 -48
  132. package/src/editorui/bodycollection.d.ts +55 -55
  133. package/src/editorui/bodycollection.js +84 -84
  134. package/src/editorui/boxed/boxededitoruiview.d.ts +40 -40
  135. package/src/editorui/boxed/boxededitoruiview.js +81 -81
  136. package/src/editorui/editorui.d.ts +282 -282
  137. package/src/editorui/editorui.js +410 -410
  138. package/src/editorui/editoruiview.d.ts +39 -39
  139. package/src/editorui/editoruiview.js +38 -38
  140. package/src/editorui/poweredby.d.ts +71 -71
  141. package/src/editorui/poweredby.js +276 -299
  142. package/src/focuscycler.d.ts +226 -183
  143. package/src/focuscycler.js +245 -220
  144. package/src/formheader/formheaderview.d.ts +59 -53
  145. package/src/formheader/formheaderview.js +69 -63
  146. package/src/highlightedtext/highlightedtextview.d.ts +38 -0
  147. package/src/highlightedtext/highlightedtextview.js +102 -0
  148. package/src/icon/iconview.d.ts +85 -78
  149. package/src/icon/iconview.js +114 -112
  150. package/src/iframe/iframeview.d.ts +50 -50
  151. package/src/iframe/iframeview.js +63 -63
  152. package/src/index.d.ts +73 -63
  153. package/src/index.js +70 -62
  154. package/src/input/inputbase.d.ts +107 -0
  155. package/src/input/inputbase.js +110 -0
  156. package/src/input/inputview.d.ts +36 -121
  157. package/src/input/inputview.js +24 -106
  158. package/src/inputnumber/inputnumberview.d.ts +49 -49
  159. package/src/inputnumber/inputnumberview.js +40 -40
  160. package/src/inputtext/inputtextview.d.ts +18 -18
  161. package/src/inputtext/inputtextview.js +27 -27
  162. package/src/label/labelview.d.ts +36 -36
  163. package/src/label/labelview.js +41 -41
  164. package/src/labeledfield/labeledfieldview.d.ts +187 -182
  165. package/src/labeledfield/labeledfieldview.js +157 -157
  166. package/src/labeledfield/utils.d.ts +123 -93
  167. package/src/labeledfield/utils.js +176 -131
  168. package/src/labeledinput/labeledinputview.d.ts +125 -125
  169. package/src/labeledinput/labeledinputview.js +125 -125
  170. package/src/list/listitemgroupview.d.ts +51 -0
  171. package/src/list/listitemgroupview.js +75 -0
  172. package/src/list/listitemview.d.ts +36 -35
  173. package/src/list/listitemview.js +42 -40
  174. package/src/list/listseparatorview.d.ts +18 -18
  175. package/src/list/listseparatorview.js +28 -28
  176. package/src/list/listview.d.ts +122 -65
  177. package/src/list/listview.js +187 -90
  178. package/src/model.d.ts +22 -22
  179. package/src/model.js +31 -31
  180. package/src/notification/notification.d.ts +211 -211
  181. package/src/notification/notification.js +187 -187
  182. package/src/panel/balloon/balloonpanelview.d.ts +685 -685
  183. package/src/panel/balloon/balloonpanelview.js +1010 -988
  184. package/src/panel/balloon/contextualballoon.d.ts +299 -299
  185. package/src/panel/balloon/contextualballoon.js +572 -572
  186. package/src/panel/sticky/stickypanelview.d.ts +156 -158
  187. package/src/panel/sticky/stickypanelview.js +234 -231
  188. package/src/search/filteredview.d.ts +31 -0
  189. package/src/search/filteredview.js +5 -0
  190. package/src/search/searchinfoview.d.ts +45 -0
  191. package/src/search/searchinfoview.js +59 -0
  192. package/src/search/searchresultsview.d.ts +54 -0
  193. package/src/search/searchresultsview.js +65 -0
  194. package/src/search/text/searchtextqueryview.d.ts +76 -0
  195. package/src/search/text/searchtextqueryview.js +75 -0
  196. package/src/search/text/searchtextview.d.ts +219 -0
  197. package/src/search/text/searchtextview.js +201 -0
  198. package/src/spinner/spinnerview.d.ts +25 -0
  199. package/src/spinner/spinnerview.js +38 -0
  200. package/src/template.d.ts +942 -942
  201. package/src/template.js +1294 -1294
  202. package/src/textarea/textareaview.d.ts +88 -0
  203. package/src/textarea/textareaview.js +140 -0
  204. package/src/toolbar/balloon/balloontoolbar.d.ts +122 -122
  205. package/src/toolbar/balloon/balloontoolbar.js +300 -300
  206. package/src/toolbar/block/blockbuttonview.d.ts +35 -35
  207. package/src/toolbar/block/blockbuttonview.js +41 -41
  208. package/src/toolbar/block/blocktoolbar.d.ts +161 -161
  209. package/src/toolbar/block/blocktoolbar.js +395 -391
  210. package/src/toolbar/normalizetoolbarconfig.d.ts +40 -39
  211. package/src/toolbar/normalizetoolbarconfig.js +51 -51
  212. package/src/toolbar/toolbarlinebreakview.d.ts +18 -18
  213. package/src/toolbar/toolbarlinebreakview.js +28 -28
  214. package/src/toolbar/toolbarseparatorview.d.ts +18 -18
  215. package/src/toolbar/toolbarseparatorview.js +28 -28
  216. package/src/toolbar/toolbarview.d.ts +266 -265
  217. package/src/toolbar/toolbarview.js +719 -717
  218. package/src/tooltipmanager.d.ts +180 -180
  219. package/src/tooltipmanager.js +353 -353
  220. package/src/view.d.ts +422 -422
  221. package/src/view.js +396 -396
  222. package/src/viewcollection.d.ts +139 -139
  223. package/src/viewcollection.js +206 -206
  224. package/theme/components/autocomplete/autocomplete.css +22 -0
  225. package/theme/components/formheader/formheader.css +8 -0
  226. package/theme/components/highlightedtext/highlightedtext.css +12 -0
  227. package/theme/components/search/search.css +43 -0
  228. package/theme/components/spinner/spinner.css +23 -0
  229. package/theme/components/textarea/textarea.css +10 -0
@@ -1,211 +1,211 @@
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/notification/notification
7
- */
8
- import { ContextPlugin } from '@ckeditor/ckeditor5-core';
9
- /**
10
- * The Notification plugin.
11
- *
12
- * This plugin sends a few types of notifications: `success`, `info` and `warning`. The notifications need to be
13
- * handled and displayed by a plugin responsible for showing the UI of the notifications. Using this plugin for dispatching
14
- * notifications makes it possible to switch the notifications UI.
15
- *
16
- * Note that every unhandled and not stopped `warning` notification will be displayed as a system alert.
17
- * See {@link module:ui/notification/notification~Notification#showWarning}.
18
- */
19
- export default class Notification extends ContextPlugin {
20
- /**
21
- * @inheritDoc
22
- */
23
- static get pluginName(): "Notification";
24
- /**
25
- * @inheritDoc
26
- */
27
- init(): void;
28
- /**
29
- * Shows a success notification.
30
- *
31
- * By default, it fires the {@link #event:show:success `show:success` event} with the given `data`. The event namespace can be extended
32
- * using the `data.namespace` option. For example:
33
- *
34
- * ```ts
35
- * showSuccess( 'Image is uploaded.', {
36
- * namespace: 'upload:image'
37
- * } );
38
- * ```
39
- *
40
- * will fire the `show:success:upload:image` event.
41
- *
42
- * You can provide the title of the notification:
43
- *
44
- * ```ts
45
- * showSuccess( 'Image is uploaded.', {
46
- * title: 'Image upload success'
47
- * } );
48
- * ```
49
- *
50
- * @param message The content of the notification.
51
- * @param data Additional data.
52
- * @param data.namespace Additional event namespace.
53
- * @param data.title The title of the notification.
54
- */
55
- showSuccess(message: string, data?: {
56
- namespace?: string;
57
- title?: string;
58
- }): void;
59
- /**
60
- * Shows an information notification.
61
- *
62
- * By default, it fires the {@link #event:show:info `show:info` event} with the given `data`. The event namespace can be extended
63
- * using the `data.namespace` option. For example:
64
- *
65
- * ```ts
66
- * showInfo( 'Editor is offline.', {
67
- * namespace: 'editor:status'
68
- * } );
69
- * ```
70
- *
71
- * will fire the `show:info:editor:status` event.
72
- *
73
- * You can provide the title of the notification:
74
- *
75
- * ```ts
76
- * showInfo( 'Editor is offline.', {
77
- * title: 'Network information'
78
- * } );
79
- * ```
80
- *
81
- * @param message The content of the notification.
82
- * @param data Additional data.
83
- * @param data.namespace Additional event namespace.
84
- * @param data.title The title of the notification.
85
- */
86
- showInfo(message: string, data?: {
87
- namespace?: string;
88
- title?: string;
89
- }): void;
90
- /**
91
- * Shows a warning notification.
92
- *
93
- * By default, it fires the {@link #event:show:warning `show:warning` event}
94
- * with the given `data`. The event namespace can be extended using the `data.namespace` option. For example:
95
- *
96
- * ```ts
97
- * showWarning( 'Image upload error.', {
98
- * namespace: 'upload:image'
99
- * } );
100
- * ```
101
- *
102
- * will fire the `show:warning:upload:image` event.
103
- *
104
- * You can provide the title of the notification:
105
- *
106
- * ```ts
107
- * showWarning( 'Image upload error.', {
108
- * title: 'Upload failed'
109
- * } );
110
- * ```
111
- *
112
- * Note that each unhandled and not stopped `warning` notification will be displayed as a system alert.
113
- * The plugin responsible for displaying warnings should `stop()` the event to prevent displaying it as an alert:
114
- *
115
- * ```ts
116
- * notifications.on( 'show:warning', ( evt, data ) => {
117
- * // Do something with the data.
118
- *
119
- * // Stop this event to prevent displaying it as an alert.
120
- * evt.stop();
121
- * } );
122
- * ```
123
- *
124
- * You can attach many listeners to the same event and `stop()` this event in a listener with a low priority:
125
- *
126
- * ```ts
127
- * notifications.on( 'show:warning', ( evt, data ) => {
128
- * // Show the warning in the UI, but do not stop it.
129
- * } );
130
- *
131
- * notifications.on( 'show:warning', ( evt, data ) => {
132
- * // Log the warning to some error tracker.
133
- *
134
- * // Stop this event to prevent displaying it as an alert.
135
- * evt.stop();
136
- * }, { priority: 'low' } );
137
- * ```
138
- *
139
- * @param message The content of the notification.
140
- * @param data Additional data.
141
- * @param data.namespace Additional event namespace.
142
- * @param data.title The title of the notification.
143
- */
144
- showWarning(message: string, data?: {
145
- namespace?: string;
146
- title?: string;
147
- }): void;
148
- /**
149
- * Fires the `show` event with the specified type, namespace and message.
150
- *
151
- * @param data The message data.
152
- * @param data.message The content of the notification.
153
- * @param data.type The type of the message.
154
- * @param data.namespace Additional event namespace.
155
- * @param data.title The title of the notification.
156
- */
157
- private _showNotification;
158
- }
159
- export type NotificationEventType = 'success' | 'info' | 'warning';
160
- /**
161
- * Fired when one of the `showSuccess()`, `showInfo()`, `showWarning()` methods is called.
162
- *
163
- * @eventName ~Notification#show
164
- * @param data The notification data.
165
- */
166
- export type NotificationShowEvent = {
167
- name: 'show';
168
- args: [data: NotificationShowEventData];
169
- };
170
- /**
171
- * Fired when the `showSuccess()` method is called.
172
- *
173
- * @eventName ~Notification#show:success
174
- * @param data The notification data.
175
- */
176
- export type NotificationShowSuccessEvent = NotificationShowTypeEvent<'success'>;
177
- /**
178
- * Fired when the `showInfo()` method is called.
179
- *
180
- * @eventName ~Notification#show:info
181
- * @param data The notification data.
182
- */
183
- export type NotificationShowInfoEvent = NotificationShowTypeEvent<'info'>;
184
- /**
185
- * Fired when the `showWarning()` method is called.
186
- *
187
- * When this event is not handled or stopped by `event.stop()`, the `data.message` of this event will
188
- * be automatically displayed as a system alert.
189
- *
190
- * @eventName ~Notification#show:warning
191
- * @param data The notification data.
192
- */
193
- export type NotificationShowWarningEvent = NotificationShowTypeEvent<'warning'>;
194
- export type NotificationShowTypeEvent<NotificationType extends NotificationEventType> = {
195
- name: `show:${NotificationType}` | `show:${NotificationType}:${string}`;
196
- args: [data: NotificationShowEventData<NotificationType>];
197
- };
198
- export type NotificationShowEventData<NotificationType extends NotificationEventType = NotificationEventType> = {
199
- /**
200
- * The content of the notification.
201
- */
202
- message: string;
203
- /**
204
- * The title of the notification.
205
- */
206
- title: string;
207
- /**
208
- * The type of the notification.
209
- */
210
- type: NotificationType;
211
- };
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/notification/notification
7
+ */
8
+ import { ContextPlugin } from '@ckeditor/ckeditor5-core';
9
+ /**
10
+ * The Notification plugin.
11
+ *
12
+ * This plugin sends a few types of notifications: `success`, `info` and `warning`. The notifications need to be
13
+ * handled and displayed by a plugin responsible for showing the UI of the notifications. Using this plugin for dispatching
14
+ * notifications makes it possible to switch the notifications UI.
15
+ *
16
+ * Note that every unhandled and not stopped `warning` notification will be displayed as a system alert.
17
+ * See {@link module:ui/notification/notification~Notification#showWarning}.
18
+ */
19
+ export default class Notification extends ContextPlugin {
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ static get pluginName(): "Notification";
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ init(): void;
28
+ /**
29
+ * Shows a success notification.
30
+ *
31
+ * By default, it fires the {@link #event:show:success `show:success` event} with the given `data`. The event namespace can be extended
32
+ * using the `data.namespace` option. For example:
33
+ *
34
+ * ```ts
35
+ * showSuccess( 'Image is uploaded.', {
36
+ * namespace: 'upload:image'
37
+ * } );
38
+ * ```
39
+ *
40
+ * will fire the `show:success:upload:image` event.
41
+ *
42
+ * You can provide the title of the notification:
43
+ *
44
+ * ```ts
45
+ * showSuccess( 'Image is uploaded.', {
46
+ * title: 'Image upload success'
47
+ * } );
48
+ * ```
49
+ *
50
+ * @param message The content of the notification.
51
+ * @param data Additional data.
52
+ * @param data.namespace Additional event namespace.
53
+ * @param data.title The title of the notification.
54
+ */
55
+ showSuccess(message: string, data?: {
56
+ namespace?: string;
57
+ title?: string;
58
+ }): void;
59
+ /**
60
+ * Shows an information notification.
61
+ *
62
+ * By default, it fires the {@link #event:show:info `show:info` event} with the given `data`. The event namespace can be extended
63
+ * using the `data.namespace` option. For example:
64
+ *
65
+ * ```ts
66
+ * showInfo( 'Editor is offline.', {
67
+ * namespace: 'editor:status'
68
+ * } );
69
+ * ```
70
+ *
71
+ * will fire the `show:info:editor:status` event.
72
+ *
73
+ * You can provide the title of the notification:
74
+ *
75
+ * ```ts
76
+ * showInfo( 'Editor is offline.', {
77
+ * title: 'Network information'
78
+ * } );
79
+ * ```
80
+ *
81
+ * @param message The content of the notification.
82
+ * @param data Additional data.
83
+ * @param data.namespace Additional event namespace.
84
+ * @param data.title The title of the notification.
85
+ */
86
+ showInfo(message: string, data?: {
87
+ namespace?: string;
88
+ title?: string;
89
+ }): void;
90
+ /**
91
+ * Shows a warning notification.
92
+ *
93
+ * By default, it fires the {@link #event:show:warning `show:warning` event}
94
+ * with the given `data`. The event namespace can be extended using the `data.namespace` option. For example:
95
+ *
96
+ * ```ts
97
+ * showWarning( 'Image upload error.', {
98
+ * namespace: 'upload:image'
99
+ * } );
100
+ * ```
101
+ *
102
+ * will fire the `show:warning:upload:image` event.
103
+ *
104
+ * You can provide the title of the notification:
105
+ *
106
+ * ```ts
107
+ * showWarning( 'Image upload error.', {
108
+ * title: 'Upload failed'
109
+ * } );
110
+ * ```
111
+ *
112
+ * Note that each unhandled and not stopped `warning` notification will be displayed as a system alert.
113
+ * The plugin responsible for displaying warnings should `stop()` the event to prevent displaying it as an alert:
114
+ *
115
+ * ```ts
116
+ * notifications.on( 'show:warning', ( evt, data ) => {
117
+ * // Do something with the data.
118
+ *
119
+ * // Stop this event to prevent displaying it as an alert.
120
+ * evt.stop();
121
+ * } );
122
+ * ```
123
+ *
124
+ * You can attach many listeners to the same event and `stop()` this event in a listener with a low priority:
125
+ *
126
+ * ```ts
127
+ * notifications.on( 'show:warning', ( evt, data ) => {
128
+ * // Show the warning in the UI, but do not stop it.
129
+ * } );
130
+ *
131
+ * notifications.on( 'show:warning', ( evt, data ) => {
132
+ * // Log the warning to some error tracker.
133
+ *
134
+ * // Stop this event to prevent displaying it as an alert.
135
+ * evt.stop();
136
+ * }, { priority: 'low' } );
137
+ * ```
138
+ *
139
+ * @param message The content of the notification.
140
+ * @param data Additional data.
141
+ * @param data.namespace Additional event namespace.
142
+ * @param data.title The title of the notification.
143
+ */
144
+ showWarning(message: string, data?: {
145
+ namespace?: string;
146
+ title?: string;
147
+ }): void;
148
+ /**
149
+ * Fires the `show` event with the specified type, namespace and message.
150
+ *
151
+ * @param data The message data.
152
+ * @param data.message The content of the notification.
153
+ * @param data.type The type of the message.
154
+ * @param data.namespace Additional event namespace.
155
+ * @param data.title The title of the notification.
156
+ */
157
+ private _showNotification;
158
+ }
159
+ export type NotificationEventType = 'success' | 'info' | 'warning';
160
+ /**
161
+ * Fired when one of the `showSuccess()`, `showInfo()`, `showWarning()` methods is called.
162
+ *
163
+ * @eventName ~Notification#show
164
+ * @param data The notification data.
165
+ */
166
+ export type NotificationShowEvent = {
167
+ name: 'show';
168
+ args: [data: NotificationShowEventData];
169
+ };
170
+ /**
171
+ * Fired when the `showSuccess()` method is called.
172
+ *
173
+ * @eventName ~Notification#show:success
174
+ * @param data The notification data.
175
+ */
176
+ export type NotificationShowSuccessEvent = NotificationShowTypeEvent<'success'>;
177
+ /**
178
+ * Fired when the `showInfo()` method is called.
179
+ *
180
+ * @eventName ~Notification#show:info
181
+ * @param data The notification data.
182
+ */
183
+ export type NotificationShowInfoEvent = NotificationShowTypeEvent<'info'>;
184
+ /**
185
+ * Fired when the `showWarning()` method is called.
186
+ *
187
+ * When this event is not handled or stopped by `event.stop()`, the `data.message` of this event will
188
+ * be automatically displayed as a system alert.
189
+ *
190
+ * @eventName ~Notification#show:warning
191
+ * @param data The notification data.
192
+ */
193
+ export type NotificationShowWarningEvent = NotificationShowTypeEvent<'warning'>;
194
+ export type NotificationShowTypeEvent<NotificationType extends NotificationEventType> = {
195
+ name: `show:${NotificationType}` | `show:${NotificationType}:${string}`;
196
+ args: [data: NotificationShowEventData<NotificationType>];
197
+ };
198
+ export type NotificationShowEventData<NotificationType extends NotificationEventType = NotificationEventType> = {
199
+ /**
200
+ * The content of the notification.
201
+ */
202
+ message: string;
203
+ /**
204
+ * The title of the notification.
205
+ */
206
+ title: string;
207
+ /**
208
+ * The type of the notification.
209
+ */
210
+ type: NotificationType;
211
+ };