@ckeditor/ckeditor5-ui 48.8.1-alpha.3 → 49.0.0-alpha.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 (273) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/arialiveannouncer.d.ts +89 -90
  3. package/dist/augmentation.d.ts +86 -86
  4. package/dist/autocomplete/autocompleteview.d.ts +69 -70
  5. package/dist/badge/badge.d.ts +119 -121
  6. package/dist/bindings/addkeyboardhandlingforgrid.d.ts +22 -22
  7. package/dist/bindings/clickoutsidehandler.d.ts +24 -26
  8. package/dist/bindings/csstransitiondisablermixin.d.ts +47 -36
  9. package/dist/bindings/draggableviewmixin.d.ts +45 -37
  10. package/dist/bindings/preventdefault.d.ts +30 -30
  11. package/dist/bindings/submithandler.d.ts +49 -49
  12. package/dist/button/button.d.ts +167 -167
  13. package/dist/button/buttonlabel.d.ts +28 -28
  14. package/dist/button/buttonlabelview.d.ts +26 -26
  15. package/dist/button/buttonview.d.ts +191 -192
  16. package/dist/button/filedialogbuttonview.d.ts +107 -99
  17. package/dist/button/listitembuttonview.d.ts +72 -73
  18. package/dist/button/switchbuttonview.d.ts +39 -40
  19. package/dist/collapsible/collapsibleview.d.ts +62 -63
  20. package/dist/colorgrid/colorgridview.d.ts +116 -117
  21. package/dist/colorgrid/colors.d.ts +28 -0
  22. package/dist/colorgrid/colortileview.d.ts +21 -21
  23. package/dist/colorgrid/utils.d.ts +47 -35
  24. package/dist/colorpicker/colorpickerview.d.ts +154 -157
  25. package/dist/colorpicker/utils.d.ts +37 -37
  26. package/dist/colorselector/colorgridsfragmentview.d.ts +191 -191
  27. package/dist/colorselector/colorpickerfragmentview.d.ts +129 -129
  28. package/dist/colorselector/colorselectorview.d.ts +226 -229
  29. package/dist/colorselector/documentcolorcollection.d.ts +52 -59
  30. package/dist/componentfactory.d.ts +76 -76
  31. package/dist/dialog/dialog.d.ts +311 -288
  32. package/dist/dialog/dialogactionsview.d.ts +61 -62
  33. package/dist/dialog/dialogcontentview.d.ts +22 -22
  34. package/dist/dialog/dialogview.d.ts +254 -251
  35. package/dist/dropdown/button/dropdownbutton.d.ts +17 -17
  36. package/dist/dropdown/button/dropdownbuttonview.d.ts +41 -41
  37. package/dist/dropdown/button/splitbuttonview.d.ts +154 -155
  38. package/dist/dropdown/dropdownpanelfocusable.d.ts +16 -16
  39. package/dist/dropdown/dropdownpanelview.d.ts +56 -56
  40. package/dist/dropdown/dropdownview.d.ts +337 -326
  41. package/dist/dropdown/menu/dropdownmenubehaviors.d.ts +43 -43
  42. package/dist/dropdown/menu/dropdownmenubuttonview.d.ts +28 -29
  43. package/dist/dropdown/menu/dropdownmenulistitembuttonview.d.ts +11 -12
  44. package/dist/dropdown/menu/dropdownmenulistitemview.d.ts +16 -17
  45. package/dist/dropdown/menu/dropdownmenulistview.d.ts +19 -19
  46. package/dist/dropdown/menu/dropdownmenunestedmenupanelview.d.ts +27 -28
  47. package/dist/dropdown/menu/dropdownmenunestedmenuview.d.ts +125 -126
  48. package/dist/dropdown/menu/dropdownmenurootlistview.d.ts +132 -132
  49. package/dist/dropdown/menu/utils.d.ts +112 -112
  50. package/dist/dropdown/utils.d.ts +270 -272
  51. package/dist/editableui/editableuiview.d.ts +78 -67
  52. package/dist/editableui/inline/inlineeditableuiview.d.ts +38 -36
  53. package/dist/editorui/accessibilityhelp/accessibilityhelp.d.ts +49 -50
  54. package/dist/editorui/accessibilityhelp/accessibilityhelpcontentview.d.ts +30 -30
  55. package/dist/editorui/bodycollection.d.ts +167 -86
  56. package/dist/editorui/boxed/boxededitoruiview.d.ts +35 -35
  57. package/dist/editorui/editorui.d.ts +382 -351
  58. package/dist/editorui/editoruiview.d.ts +48 -53
  59. package/dist/editorui/evaluationbadge.d.ts +28 -28
  60. package/dist/editorui/poweredby.d.ts +25 -25
  61. package/dist/focuscycler.d.ts +265 -270
  62. package/dist/formheader/formheaderview.d.ts +52 -53
  63. package/dist/formrow/formrowview.d.ts +51 -52
  64. package/dist/highlightedtext/buttonlabelwithhighlightview.d.ts +25 -25
  65. package/dist/highlightedtext/highlightedtextview.d.ts +30 -34
  66. package/dist/highlightedtext/labelwithhighlightview.d.ts +21 -21
  67. package/dist/icon/iconview.d.ts +82 -83
  68. package/dist/iframe/iframeview.d.ts +42 -42
  69. package/dist/index-content.css +3 -0
  70. package/dist/index-content.css.map +1 -0
  71. package/dist/index-editor.css +3240 -2329
  72. package/dist/index-editor.css.map +1 -0
  73. package/dist/index.css +2939 -2032
  74. package/dist/index.css.map +1 -1
  75. package/dist/index.d.ts +144 -136
  76. package/dist/index.js +17821 -17732
  77. package/dist/index.js.map +1 -1
  78. package/dist/input/inputbase.d.ts +114 -114
  79. package/dist/input/inputview.d.ts +27 -28
  80. package/dist/inputnumber/inputnumberview.d.ts +44 -44
  81. package/dist/inputtext/inputtextview.d.ts +13 -13
  82. package/dist/label/labelview.d.ts +30 -31
  83. package/dist/labeledfield/labeledfieldview.d.ts +179 -180
  84. package/dist/labeledfield/utils.d.ts +112 -112
  85. package/dist/labeledinput/labeledinputview.d.ts +119 -120
  86. package/dist/legacyerrors.d.ts +0 -4
  87. package/dist/list/listitemgroupview.d.ts +54 -54
  88. package/dist/list/listitemview.d.ts +31 -31
  89. package/dist/list/listseparatorview.d.ts +13 -13
  90. package/dist/list/listview.d.ts +118 -119
  91. package/dist/menubar/menubarmenubuttonview.d.ts +27 -28
  92. package/dist/menubar/menubarmenulistitembuttonview.d.ts +15 -16
  93. package/dist/menubar/menubarmenulistitemfiledialogbuttonview.d.ts +17 -18
  94. package/dist/menubar/menubarmenulistitemview.d.ts +19 -20
  95. package/dist/menubar/menubarmenulistview.d.ts +24 -24
  96. package/dist/menubar/menubarmenupanelview.d.ts +46 -47
  97. package/dist/menubar/menubarmenuview.d.ts +112 -113
  98. package/dist/menubar/menubarview.d.ts +144 -145
  99. package/dist/menubar/utils.d.ts +455 -455
  100. package/dist/model.d.ts +19 -18
  101. package/dist/notification/notification.d.ts +200 -200
  102. package/dist/overlayhost.d.ts +210 -0
  103. package/dist/panel/balloon/balloonpanelview.d.ts +700 -692
  104. package/dist/panel/balloon/contextualballoon.d.ts +296 -298
  105. package/dist/panel/sticky/stickypanelview.d.ts +162 -151
  106. package/dist/search/filteredview.d.ts +23 -23
  107. package/dist/search/filtergroupanditemnames.d.ts +11 -11
  108. package/dist/search/searchinfoview.d.ts +39 -39
  109. package/dist/search/searchresultsview.d.ts +49 -49
  110. package/dist/search/text/searchtextqueryview.d.ts +63 -63
  111. package/dist/search/text/searchtextview.d.ts +202 -203
  112. package/dist/spinner/spinnerview.d.ts +19 -20
  113. package/dist/tabs/tabbuttonview.d.ts +53 -0
  114. package/dist/tabs/tabpanelview.d.ts +45 -0
  115. package/dist/template.d.ts +897 -902
  116. package/dist/textarea/textareaview.d.ts +100 -96
  117. package/dist/toolbar/balloon/balloontoolbar.d.ts +122 -122
  118. package/dist/toolbar/block/blockbuttonview.d.ts +29 -30
  119. package/dist/toolbar/block/blocktoolbar.d.ts +166 -166
  120. package/dist/toolbar/normalizetoolbarconfig.d.ts +35 -35
  121. package/dist/toolbar/toolbarlinebreakview.d.ts +13 -13
  122. package/dist/toolbar/toolbarseparatorview.d.ts +13 -13
  123. package/dist/toolbar/toolbarview.d.ts +270 -271
  124. package/dist/tooltipmanager.d.ts +317 -193
  125. package/dist/translations/af.js +1 -1
  126. package/dist/translations/af.umd.js +5 -3
  127. package/dist/translations/ar.js +1 -1
  128. package/dist/translations/ar.umd.js +5 -3
  129. package/dist/translations/ast.js +1 -1
  130. package/dist/translations/ast.umd.js +5 -3
  131. package/dist/translations/az.js +1 -1
  132. package/dist/translations/az.umd.js +5 -3
  133. package/dist/translations/be.js +1 -1
  134. package/dist/translations/be.umd.js +5 -3
  135. package/dist/translations/bg.js +1 -1
  136. package/dist/translations/bg.umd.js +5 -3
  137. package/dist/translations/bn.js +1 -1
  138. package/dist/translations/bn.umd.js +5 -3
  139. package/dist/translations/bs.js +1 -1
  140. package/dist/translations/bs.umd.js +5 -3
  141. package/dist/translations/ca.js +1 -1
  142. package/dist/translations/ca.umd.js +5 -3
  143. package/dist/translations/cs.js +1 -1
  144. package/dist/translations/cs.umd.js +5 -3
  145. package/dist/translations/da.js +1 -1
  146. package/dist/translations/da.umd.js +5 -3
  147. package/dist/translations/de-ch.js +1 -1
  148. package/dist/translations/de-ch.umd.js +5 -3
  149. package/dist/translations/de.js +1 -1
  150. package/dist/translations/de.umd.js +5 -3
  151. package/dist/translations/el.js +1 -1
  152. package/dist/translations/el.umd.js +5 -3
  153. package/dist/translations/en-au.js +1 -1
  154. package/dist/translations/en-au.umd.js +5 -3
  155. package/dist/translations/en-gb.js +1 -1
  156. package/dist/translations/en-gb.umd.js +5 -3
  157. package/dist/translations/en.js +1 -1
  158. package/dist/translations/en.umd.js +5 -3
  159. package/dist/translations/eo.js +1 -1
  160. package/dist/translations/eo.umd.js +5 -3
  161. package/dist/translations/es-co.js +1 -1
  162. package/dist/translations/es-co.umd.js +5 -3
  163. package/dist/translations/es.js +1 -1
  164. package/dist/translations/es.umd.js +5 -3
  165. package/dist/translations/et.js +1 -1
  166. package/dist/translations/et.umd.js +5 -3
  167. package/dist/translations/eu.js +1 -1
  168. package/dist/translations/eu.umd.js +5 -3
  169. package/dist/translations/fa.js +1 -1
  170. package/dist/translations/fa.umd.js +5 -3
  171. package/dist/translations/fi.js +1 -1
  172. package/dist/translations/fi.umd.js +5 -3
  173. package/dist/translations/fr.js +1 -1
  174. package/dist/translations/fr.umd.js +5 -3
  175. package/dist/translations/gl.js +1 -1
  176. package/dist/translations/gl.umd.js +5 -3
  177. package/dist/translations/gu.js +1 -1
  178. package/dist/translations/gu.umd.js +5 -3
  179. package/dist/translations/he.js +1 -1
  180. package/dist/translations/he.umd.js +5 -3
  181. package/dist/translations/hi.js +1 -1
  182. package/dist/translations/hi.umd.js +5 -3
  183. package/dist/translations/hr.js +1 -1
  184. package/dist/translations/hr.umd.js +5 -3
  185. package/dist/translations/hu.js +1 -1
  186. package/dist/translations/hu.umd.js +5 -3
  187. package/dist/translations/hy.js +1 -1
  188. package/dist/translations/hy.umd.js +5 -3
  189. package/dist/translations/id.js +1 -1
  190. package/dist/translations/id.umd.js +5 -3
  191. package/dist/translations/it.js +1 -1
  192. package/dist/translations/it.umd.js +5 -3
  193. package/dist/translations/ja.js +1 -1
  194. package/dist/translations/ja.umd.js +5 -3
  195. package/dist/translations/jv.js +1 -1
  196. package/dist/translations/jv.umd.js +5 -3
  197. package/dist/translations/kk.js +1 -1
  198. package/dist/translations/kk.umd.js +5 -3
  199. package/dist/translations/km.js +1 -1
  200. package/dist/translations/km.umd.js +5 -3
  201. package/dist/translations/kn.js +1 -1
  202. package/dist/translations/kn.umd.js +5 -3
  203. package/dist/translations/ko.js +1 -1
  204. package/dist/translations/ko.umd.js +5 -3
  205. package/dist/translations/ku.js +1 -1
  206. package/dist/translations/ku.umd.js +5 -3
  207. package/dist/translations/lt.js +1 -1
  208. package/dist/translations/lt.umd.js +5 -3
  209. package/dist/translations/lv.js +1 -1
  210. package/dist/translations/lv.umd.js +5 -3
  211. package/dist/translations/ms.js +1 -1
  212. package/dist/translations/ms.umd.js +5 -3
  213. package/dist/translations/nb.js +1 -1
  214. package/dist/translations/nb.umd.js +5 -3
  215. package/dist/translations/ne.js +1 -1
  216. package/dist/translations/ne.umd.js +5 -3
  217. package/dist/translations/nl.js +1 -1
  218. package/dist/translations/nl.umd.js +5 -3
  219. package/dist/translations/no.js +1 -1
  220. package/dist/translations/no.umd.js +5 -3
  221. package/dist/translations/oc.js +1 -1
  222. package/dist/translations/oc.umd.js +5 -3
  223. package/dist/translations/pl.js +1 -1
  224. package/dist/translations/pl.umd.js +5 -3
  225. package/dist/translations/pt-br.js +1 -1
  226. package/dist/translations/pt-br.umd.js +5 -3
  227. package/dist/translations/pt.js +1 -1
  228. package/dist/translations/pt.umd.js +5 -3
  229. package/dist/translations/ro.js +1 -1
  230. package/dist/translations/ro.umd.js +5 -3
  231. package/dist/translations/ru.js +1 -1
  232. package/dist/translations/ru.umd.js +5 -3
  233. package/dist/translations/si.js +1 -1
  234. package/dist/translations/si.umd.js +5 -3
  235. package/dist/translations/sk.js +1 -1
  236. package/dist/translations/sk.umd.js +5 -3
  237. package/dist/translations/sl.js +1 -1
  238. package/dist/translations/sl.umd.js +5 -3
  239. package/dist/translations/sq.js +1 -1
  240. package/dist/translations/sq.umd.js +5 -3
  241. package/dist/translations/sr-latn.js +1 -1
  242. package/dist/translations/sr-latn.umd.js +5 -3
  243. package/dist/translations/sr.js +1 -1
  244. package/dist/translations/sr.umd.js +5 -3
  245. package/dist/translations/sv.js +1 -1
  246. package/dist/translations/sv.umd.js +5 -3
  247. package/dist/translations/th.js +1 -1
  248. package/dist/translations/th.umd.js +5 -3
  249. package/dist/translations/ti.js +1 -1
  250. package/dist/translations/ti.umd.js +5 -3
  251. package/dist/translations/tk.js +1 -1
  252. package/dist/translations/tk.umd.js +5 -3
  253. package/dist/translations/tr.js +1 -1
  254. package/dist/translations/tr.umd.js +5 -3
  255. package/dist/translations/tt.js +1 -1
  256. package/dist/translations/tt.umd.js +5 -3
  257. package/dist/translations/ug.js +1 -1
  258. package/dist/translations/ug.umd.js +5 -3
  259. package/dist/translations/uk.js +1 -1
  260. package/dist/translations/uk.umd.js +5 -3
  261. package/dist/translations/ur.js +1 -1
  262. package/dist/translations/ur.umd.js +5 -3
  263. package/dist/translations/uz.js +1 -1
  264. package/dist/translations/uz.umd.js +5 -3
  265. package/dist/translations/vi.js +1 -1
  266. package/dist/translations/vi.umd.js +5 -3
  267. package/dist/translations/zh-cn.js +1 -1
  268. package/dist/translations/zh-cn.umd.js +5 -3
  269. package/dist/translations/zh.js +1 -1
  270. package/dist/translations/zh.umd.js +5 -3
  271. package/dist/view.d.ts +384 -388
  272. package/dist/viewcollection.d.ts +134 -134
  273. package/package.json +8 -7
@@ -1,310 +1,308 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
5
  /**
6
- * @module ui/panel/balloon/contextualballoon
7
- */
8
- import { BalloonPanelView } from './balloonpanelview.js';
9
- import { View } from '../../view.js';
10
- import { ButtonView } from '../../button/buttonview.js';
11
- import { type ViewCollection } from '../../viewcollection.js';
12
- import { Plugin, type Editor } from '@ckeditor/ckeditor5-core';
13
- import { FocusTracker, type Locale, type DomOptimalPositionOptions, type DecoratedMethodEvent } from '@ckeditor/ckeditor5-utils';
14
- import '../../../theme/components/panel/balloonrotator.css';
15
- import '../../../theme/components/panel/fakepanel.css';
6
+ * @module ui/panel/balloon/contextualballoon
7
+ */
8
+ import { BalloonPanelView } from "./balloonpanelview.js";
9
+ import { View } from "../../view.js";
10
+ import { ButtonView } from "../../button/buttonview.js";
11
+ import { type ViewCollection } from "../../viewcollection.js";
12
+ import { Plugin, type Editor } from "@ckeditor/ckeditor5-core";
13
+ import { FocusTracker, type Locale, type DomOptimalPositionOptions, type DecoratedMethodEvent } from "@ckeditor/ckeditor5-utils";
16
14
  /**
17
- * Provides the common contextual balloon for the editor.
18
- *
19
- * The role of this plugin is to unify the contextual balloons logic, simplify views management and help
20
- * avoid the unnecessary complexity of handling multiple {@link module:ui/panel/balloon/balloonpanelview~BalloonPanelView}
21
- * instances in the editor.
22
- *
23
- * This plugin allows for creating single or multiple panel stacks.
24
- *
25
- * Each stack may have multiple views, with the one on the top being visible. When the visible view is removed from the stack,
26
- * the previous view becomes visible.
27
- *
28
- * It might be useful to implement nested navigation in a balloon. For instance, a toolbar view may contain a link button.
29
- * When you click it, a link view (which lets you set the URL) is created and put on top of the toolbar view, so the link panel
30
- * is displayed. When you finish editing the link and close (remove) the link view, the toolbar view is visible again.
31
- *
32
- * However, there are cases when there are multiple independent balloons to be displayed, for instance, if the selection
33
- * is inside two inline comments at the same time. For such cases, you can create two independent panel stacks.
34
- * The contextual balloon plugin will create a navigation bar to let the users switch between these panel stacks using the "Next"
35
- * and "Previous" buttons.
36
- *
37
- * If there are no views in the current stack, the balloon panel will try to switch to the next stack. If there are no
38
- * panels in any stack, the balloon panel will be hidden.
39
- *
40
- * **Note**: To force the balloon panel to show only one view, even if there are other stacks, use the `singleViewMode=true` option
41
- * when {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon#add adding} a view to a panel.
42
- *
43
- * From the implementation point of view, the contextual ballon plugin is reusing a single
44
- * {@link module:ui/panel/balloon/balloonpanelview~BalloonPanelView} instance to display multiple contextual balloon
45
- * panels in the editor. It also creates a special {@link module:ui/panel/balloon/contextualballoon~RotatorView rotator view},
46
- * used to manage multiple panel stacks. Rotator view is a child of the balloon panel view and the parent of the specific
47
- * view you want to display. If there is more than one panel stack to be displayed, the rotator view will add a
48
- * navigation bar. If there is only one stack, the rotator view is transparent (it does not add any UI elements).
49
- */
15
+ * Provides the common contextual balloon for the editor.
16
+ *
17
+ * The role of this plugin is to unify the contextual balloons logic, simplify views management and help
18
+ * avoid the unnecessary complexity of handling multiple {@link module:ui/panel/balloon/balloonpanelview~BalloonPanelView}
19
+ * instances in the editor.
20
+ *
21
+ * This plugin allows for creating single or multiple panel stacks.
22
+ *
23
+ * Each stack may have multiple views, with the one on the top being visible. When the visible view is removed from the stack,
24
+ * the previous view becomes visible.
25
+ *
26
+ * It might be useful to implement nested navigation in a balloon. For instance, a toolbar view may contain a link button.
27
+ * When you click it, a link view (which lets you set the URL) is created and put on top of the toolbar view, so the link panel
28
+ * is displayed. When you finish editing the link and close (remove) the link view, the toolbar view is visible again.
29
+ *
30
+ * However, there are cases when there are multiple independent balloons to be displayed, for instance, if the selection
31
+ * is inside two inline comments at the same time. For such cases, you can create two independent panel stacks.
32
+ * The contextual balloon plugin will create a navigation bar to let the users switch between these panel stacks using the "Next"
33
+ * and "Previous" buttons.
34
+ *
35
+ * If there are no views in the current stack, the balloon panel will try to switch to the next stack. If there are no
36
+ * panels in any stack, the balloon panel will be hidden.
37
+ *
38
+ * **Note**: To force the balloon panel to show only one view, even if there are other stacks, use the `singleViewMode=true` option
39
+ * when {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon#add adding} a view to a panel.
40
+ *
41
+ * From the implementation point of view, the contextual ballon plugin is reusing a single
42
+ * {@link module:ui/panel/balloon/balloonpanelview~BalloonPanelView} instance to display multiple contextual balloon
43
+ * panels in the editor. It also creates a special {@link module:ui/panel/balloon/contextualballoon~RotatorView rotator view},
44
+ * used to manage multiple panel stacks. Rotator view is a child of the balloon panel view and the parent of the specific
45
+ * view you want to display. If there is more than one panel stack to be displayed, the rotator view will add a
46
+ * navigation bar. If there is only one stack, the rotator view is transparent (it does not add any UI elements).
47
+ */
50
48
  export declare class ContextualBalloon extends Plugin {
51
- /**
52
- * The {@link module:utils/dom/position~DomOptimalPositionOptions#limiter position limiter}
53
- * for the {@link #view balloon}, used when no `limiter` has been passed into {@link #add}
54
- * or {@link #updatePosition}.
55
- *
56
- * By default, a function that obtains the farthest DOM
57
- * {@link module:engine/view/rooteditableelement~ViewRootEditableElement}
58
- * of the {@link module:engine/view/document~ViewDocument#selection}.
59
- */
60
- positionLimiter: DomOptimalPositionOptions['limiter'];
61
- visibleStack?: string;
62
- /**
63
- * The currently visible view or `null` when there are no views in any stack.
64
- *
65
- * @readonly
66
- * @observable
67
- */
68
- visibleView: View | null;
69
- /**
70
- * A total number of all stacks in the balloon.
71
- *
72
- * @private
73
- * @readonly
74
- * @observable
75
- */
76
- _numberOfStacks: number;
77
- /**
78
- * A flag that controls the single view mode.
79
- *
80
- * @private
81
- * @readonly
82
- * @observable
83
- */
84
- _singleViewMode: boolean;
85
- /**
86
- * The map of views and their stacks.
87
- */
88
- private _viewToStack;
89
- /**
90
- * The map of IDs and stacks.
91
- */
92
- private _idToStack;
93
- /**
94
- * The common balloon panel view.
95
- */
96
- private _view;
97
- /**
98
- * Rotator view embedded in the contextual balloon.
99
- * Displays the currently visible view in the balloon and provides navigation for switching stacks.
100
- */
101
- private _rotatorView;
102
- /**
103
- * Displays fake panels under the balloon panel view when multiple stacks are added to the balloon.
104
- */
105
- private _fakePanelsView;
106
- /**
107
- * @inheritDoc
108
- */
109
- static get pluginName(): "ContextualBalloon";
110
- /**
111
- * @inheritDoc
112
- */
113
- static get isOfficialPlugin(): true;
114
- /**
115
- * @inheritDoc
116
- */
117
- constructor(editor: Editor);
118
- /**
119
- * @inheritDoc
120
- */
121
- destroy(): void;
122
- /**
123
- * The common balloon panel view.
124
- */
125
- get view(): BalloonPanelView;
126
- /**
127
- * Returns `true` when the given view is in one of the stacks. Otherwise returns `false`.
128
- */
129
- hasView(view: View): boolean;
130
- /**
131
- * Adds a new view to the stack and makes it visible if the current stack is visible
132
- * or it is the first view in the balloon.
133
- *
134
- * @param data The configuration of the view.
135
- * @param data.stackId The ID of the stack that the view is added to. Defaults to `'main'`.
136
- * @param data.view The content of the balloon.
137
- * @param data.position Positioning options.
138
- * @param data.balloonClassName An additional CSS class added to the {@link #view balloon} when visible.
139
- * @param data.withArrow Whether the {@link #view balloon} should be rendered with an arrow. Defaults to `true`.
140
- * @param data.singleViewMode Whether the view should be the only visible view even if other stacks were added. Defaults to `false`.
141
- */
142
- add(data: ViewConfiguration): void;
143
- /**
144
- * Removes the given view from the stack. If the removed view was visible,
145
- * the view preceding it in the stack will become visible instead.
146
- * When there is no view in the stack, the next stack will be displayed.
147
- * When there are no more stacks, the balloon will hide.
148
- *
149
- * @param view A view to be removed from the balloon.
150
- */
151
- remove(view: View): void;
152
- /**
153
- * Updates the position of the balloon using the position data of the first visible view in the stack.
154
- * When new position data is given, the position data of the currently visible view will be updated.
155
- *
156
- * @param position Position options.
157
- */
158
- updatePosition(position?: Partial<DomOptimalPositionOptions>): void;
159
- /**
160
- * Returns position options of the last view in the stack.
161
- * This keeps the balloon in the same position when the view is changed.
162
- */
163
- getPositionOptions(): Partial<DomOptimalPositionOptions> | undefined;
164
- /**
165
- * Shows the last view from the stack of a given ID.
166
- */
167
- showStack(id: string): void;
168
- /**
169
- * Initializes view instances.
170
- */
171
- private _createPanelView;
172
- /**
173
- * Returns the stack of the currently visible view.
174
- */
175
- private get _visibleStack();
176
- /**
177
- * Returns the ID of the given stack.
178
- */
179
- private _getStackId;
180
- /**
181
- * Shows the last view from the next stack.
182
- */
183
- private _showNextStack;
184
- /**
185
- * Shows the last view from the previous stack.
186
- */
187
- private _showPrevStack;
188
- /**
189
- * Creates a rotator view.
190
- */
191
- private _createRotatorView;
192
- /**
193
- * Creates a fake panels view.
194
- */
195
- private _createFakePanelsView;
196
- /**
197
- * Sets the view as the content of the balloon and attaches the balloon using position
198
- * options of the first view.
199
- *
200
- * @param data Configuration.
201
- * @param data.view The view to show in the balloon.
202
- * @param data.balloonClassName Additional class name which will be added to the {@link #view balloon}.
203
- * @param data.withArrow Whether the {@link #view balloon} should be rendered with an arrow.
204
- */
205
- private _showView;
49
+ /**
50
+ * The {@link module:utils/dom/position~DomOptimalPositionOptions#limiter position limiter}
51
+ * for the {@link #view balloon}, used when no `limiter` has been passed into {@link #add}
52
+ * or {@link #updatePosition}.
53
+ *
54
+ * By default, a function that obtains the farthest DOM
55
+ * {@link module:engine/view/rooteditableelement~ViewRootEditableElement}
56
+ * of the {@link module:engine/view/document~ViewDocument#selection}.
57
+ */
58
+ positionLimiter: DomOptimalPositionOptions["limiter"];
59
+ visibleStack?: string;
60
+ /**
61
+ * The currently visible view or `null` when there are no views in any stack.
62
+ *
63
+ * @readonly
64
+ * @observable
65
+ */
66
+ visibleView: View | null;
67
+ /**
68
+ * A total number of all stacks in the balloon.
69
+ *
70
+ * @private
71
+ * @readonly
72
+ * @observable
73
+ */
74
+ _numberOfStacks: number;
75
+ /**
76
+ * A flag that controls the single view mode.
77
+ *
78
+ * @private
79
+ * @readonly
80
+ * @observable
81
+ */
82
+ _singleViewMode: boolean;
83
+ /**
84
+ * The map of views and their stacks.
85
+ */
86
+ private _viewToStack;
87
+ /**
88
+ * The map of IDs and stacks.
89
+ */
90
+ private _idToStack;
91
+ /**
92
+ * The common balloon panel view.
93
+ */
94
+ private _view;
95
+ /**
96
+ * Rotator view embedded in the contextual balloon.
97
+ * Displays the currently visible view in the balloon and provides navigation for switching stacks.
98
+ */
99
+ private _rotatorView;
100
+ /**
101
+ * Displays fake panels under the balloon panel view when multiple stacks are added to the balloon.
102
+ */
103
+ private _fakePanelsView;
104
+ /**
105
+ * @inheritDoc
106
+ */
107
+ static get pluginName(): "ContextualBalloon";
108
+ /**
109
+ * @inheritDoc
110
+ */
111
+ static override get isOfficialPlugin(): true;
112
+ /**
113
+ * @inheritDoc
114
+ */
115
+ constructor(editor: Editor);
116
+ /**
117
+ * @inheritDoc
118
+ */
119
+ override destroy(): void;
120
+ /**
121
+ * The common balloon panel view.
122
+ */
123
+ get view(): BalloonPanelView;
124
+ /**
125
+ * Returns `true` when the given view is in one of the stacks. Otherwise returns `false`.
126
+ */
127
+ hasView(view: View): boolean;
128
+ /**
129
+ * Adds a new view to the stack and makes it visible if the current stack is visible
130
+ * or it is the first view in the balloon.
131
+ *
132
+ * @param data The configuration of the view.
133
+ * @param data.stackId The ID of the stack that the view is added to. Defaults to `'main'`.
134
+ * @param data.view The content of the balloon.
135
+ * @param data.position Positioning options.
136
+ * @param data.balloonClassName An additional CSS class added to the {@link #view balloon} when visible.
137
+ * @param data.withArrow Whether the {@link #view balloon} should be rendered with an arrow. Defaults to `true`.
138
+ * @param data.singleViewMode Whether the view should be the only visible view even if other stacks were added. Defaults to `false`.
139
+ */
140
+ add(data: ViewConfiguration): void;
141
+ /**
142
+ * Removes the given view from the stack. If the removed view was visible,
143
+ * the view preceding it in the stack will become visible instead.
144
+ * When there is no view in the stack, the next stack will be displayed.
145
+ * When there are no more stacks, the balloon will hide.
146
+ *
147
+ * @param view A view to be removed from the balloon.
148
+ */
149
+ remove(view: View): void;
150
+ /**
151
+ * Updates the position of the balloon using the position data of the first visible view in the stack.
152
+ * When new position data is given, the position data of the currently visible view will be updated.
153
+ *
154
+ * @param position Position options.
155
+ */
156
+ updatePosition(position?: Partial<DomOptimalPositionOptions>): void;
157
+ /**
158
+ * Returns position options of the last view in the stack.
159
+ * This keeps the balloon in the same position when the view is changed.
160
+ */
161
+ getPositionOptions(): Partial<DomOptimalPositionOptions> | undefined;
162
+ /**
163
+ * Shows the last view from the stack of a given ID.
164
+ */
165
+ showStack(id: string): void;
166
+ /**
167
+ * Initializes view instances.
168
+ */
169
+ private _createPanelView;
170
+ /**
171
+ * Returns the stack of the currently visible view.
172
+ */
173
+ private get _visibleStack();
174
+ /**
175
+ * Returns the ID of the given stack.
176
+ */
177
+ private _getStackId;
178
+ /**
179
+ * Shows the last view from the next stack.
180
+ */
181
+ private _showNextStack;
182
+ /**
183
+ * Shows the last view from the previous stack.
184
+ */
185
+ private _showPrevStack;
186
+ /**
187
+ * Creates a rotator view.
188
+ */
189
+ private _createRotatorView;
190
+ /**
191
+ * Creates a fake panels view.
192
+ */
193
+ private _createFakePanelsView;
194
+ /**
195
+ * Sets the view as the content of the balloon and attaches the balloon using position
196
+ * options of the first view.
197
+ *
198
+ * @param data Configuration.
199
+ * @param data.view The view to show in the balloon.
200
+ * @param data.balloonClassName Additional class name which will be added to the {@link #view balloon}.
201
+ * @param data.withArrow Whether the {@link #view balloon} should be rendered with an arrow.
202
+ */
203
+ private _showView;
206
204
  }
207
205
  /**
208
- * An event fired when the {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon} is about to get the position of the balloon.
209
- *
210
- * @eventName ~ContextualBalloon#getPositionOptions
211
- */
212
- export type ContextualBalloonGetPositionOptionsEvent = DecoratedMethodEvent<ContextualBalloon, 'getPositionOptions'>;
206
+ * An event fired when the {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon} is about to get the position of the balloon.
207
+ *
208
+ * @eventName ~ContextualBalloon#getPositionOptions
209
+ */
210
+ export type ContextualBalloonGetPositionOptionsEvent = DecoratedMethodEvent<ContextualBalloon, "getPositionOptions">;
213
211
  /**
214
- * The configuration of the view.
215
- */
212
+ * The configuration of the view.
213
+ */
216
214
  export interface ViewConfiguration {
217
- /**
218
- * The ID of the stack that the view is added to.
219
- *
220
- * @default 'main'
221
- */
222
- stackId?: string;
223
- /**
224
- * The content of the balloon.
225
- */
226
- view: View;
227
- /**
228
- * Positioning options.
229
- */
230
- position?: Partial<DomOptimalPositionOptions>;
231
- /**
232
- * An additional CSS class added to the {@link #view balloon} when visible.
233
- */
234
- balloonClassName?: string;
235
- /**
236
- * Whether the {@link #view balloon} should be rendered with an arrow.
237
- *
238
- * @default true
239
- */
240
- withArrow?: boolean;
241
- /**
242
- * Whether the view should be the only visible view even if other stacks were added.
243
- *
244
- * @default false
245
- */
246
- singleViewMode?: boolean;
215
+ /**
216
+ * The ID of the stack that the view is added to.
217
+ *
218
+ * @default 'main'
219
+ */
220
+ stackId?: string;
221
+ /**
222
+ * The content of the balloon.
223
+ */
224
+ view: View;
225
+ /**
226
+ * Positioning options.
227
+ */
228
+ position?: Partial<DomOptimalPositionOptions>;
229
+ /**
230
+ * An additional CSS class added to the {@link #view balloon} when visible.
231
+ */
232
+ balloonClassName?: string;
233
+ /**
234
+ * Whether the {@link #view balloon} should be rendered with an arrow.
235
+ *
236
+ * @default true
237
+ */
238
+ withArrow?: boolean;
239
+ /**
240
+ * Whether the view should be the only visible view even if other stacks were added.
241
+ *
242
+ * @default false
243
+ */
244
+ singleViewMode?: boolean;
247
245
  }
248
246
  /**
249
- * Rotator view is a helper class for the {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon ContextualBalloon}.
250
- * It is used for displaying the last view from the current stack and providing navigation buttons for switching stacks.
251
- * See the {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon ContextualBalloon} documentation to learn more.
252
- * @internal
253
- */
247
+ * Rotator view is a helper class for the {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon ContextualBalloon}.
248
+ * It is used for displaying the last view from the current stack and providing navigation buttons for switching stacks.
249
+ * See the {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon ContextualBalloon} documentation to learn more.
250
+ * @internal
251
+ */
254
252
  export declare class RotatorView extends View {
255
- /**
256
- * Used for checking if a view is focused or not.
257
- */
258
- readonly focusTracker: FocusTracker;
259
- /**
260
- * Navigation button for switching the stack to the previous one.
261
- */
262
- readonly buttonPrevView: ButtonView;
263
- /**
264
- * Navigation button for switching the stack to the next one.
265
- */
266
- readonly buttonNextView: ButtonView;
267
- /**
268
- * A collection of the child views that creates the rotator content.
269
- */
270
- readonly content: ViewCollection;
271
- /**
272
- * Defines whether navigation is visible or not.
273
- *
274
- * @observable
275
- */
276
- isNavigationVisible: boolean;
277
- /**
278
- * @observable
279
- */
280
- counter: string;
281
- /**
282
- * @inheritDoc
283
- */
284
- constructor(locale: Locale);
285
- /**
286
- * @inheritDoc
287
- */
288
- render(): void;
289
- /**
290
- * @inheritDoc
291
- */
292
- destroy(): void;
293
- /**
294
- * Shows a given view.
295
- *
296
- * @param view The view to show.
297
- */
298
- showView(view: View): void;
299
- /**
300
- * Hides the currently displayed view.
301
- */
302
- hideView(): void;
303
- /**
304
- * Creates a navigation button view.
305
- *
306
- * @param label The button label.
307
- * @param icon The button icon.
308
- */
309
- private _createButtonView;
253
+ /**
254
+ * Used for checking if a view is focused or not.
255
+ */
256
+ readonly focusTracker: FocusTracker;
257
+ /**
258
+ * Navigation button for switching the stack to the previous one.
259
+ */
260
+ readonly buttonPrevView: ButtonView;
261
+ /**
262
+ * Navigation button for switching the stack to the next one.
263
+ */
264
+ readonly buttonNextView: ButtonView;
265
+ /**
266
+ * A collection of the child views that creates the rotator content.
267
+ */
268
+ readonly content: ViewCollection;
269
+ /**
270
+ * Defines whether navigation is visible or not.
271
+ *
272
+ * @observable
273
+ */
274
+ isNavigationVisible: boolean;
275
+ /**
276
+ * @observable
277
+ */
278
+ counter: string;
279
+ /**
280
+ * @inheritDoc
281
+ */
282
+ constructor(locale: Locale);
283
+ /**
284
+ * @inheritDoc
285
+ */
286
+ override render(): void;
287
+ /**
288
+ * @inheritDoc
289
+ */
290
+ override destroy(): void;
291
+ /**
292
+ * Shows a given view.
293
+ *
294
+ * @param view The view to show.
295
+ */
296
+ showView(view: View): void;
297
+ /**
298
+ * Hides the currently displayed view.
299
+ */
300
+ hideView(): void;
301
+ /**
302
+ * Creates a navigation button view.
303
+ *
304
+ * @param label The button label.
305
+ * @param icon The button icon.
306
+ */
307
+ private _createButtonView;
310
308
  }