@ckeditor/ckeditor5-ui 41.3.1 → 41.4.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 (392) hide show
  1. package/dist/index-content.css +4 -0
  2. package/dist/index-editor.css +497 -0
  3. package/dist/index.css +942 -0
  4. package/dist/index.css.map +1 -0
  5. package/dist/index.js +14343 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/translations/af.d.ts +8 -0
  8. package/dist/translations/af.js +5 -0
  9. package/dist/translations/af.umd.js +11 -0
  10. package/dist/translations/ar.d.ts +8 -0
  11. package/dist/translations/ar.js +5 -0
  12. package/dist/translations/ar.umd.js +11 -0
  13. package/dist/translations/ast.d.ts +8 -0
  14. package/dist/translations/ast.js +5 -0
  15. package/dist/translations/ast.umd.js +11 -0
  16. package/dist/translations/az.d.ts +8 -0
  17. package/dist/translations/az.js +5 -0
  18. package/dist/translations/az.umd.js +11 -0
  19. package/dist/translations/bg.d.ts +8 -0
  20. package/dist/translations/bg.js +5 -0
  21. package/dist/translations/bg.umd.js +11 -0
  22. package/dist/translations/bn.d.ts +8 -0
  23. package/dist/translations/bn.js +5 -0
  24. package/dist/translations/bn.umd.js +11 -0
  25. package/dist/translations/bs.d.ts +8 -0
  26. package/dist/translations/bs.js +5 -0
  27. package/dist/translations/bs.umd.js +11 -0
  28. package/dist/translations/ca.d.ts +8 -0
  29. package/dist/translations/ca.js +5 -0
  30. package/dist/translations/ca.umd.js +11 -0
  31. package/dist/translations/cs.d.ts +8 -0
  32. package/dist/translations/cs.js +5 -0
  33. package/dist/translations/cs.umd.js +11 -0
  34. package/dist/translations/da.d.ts +8 -0
  35. package/dist/translations/da.js +5 -0
  36. package/dist/translations/da.umd.js +11 -0
  37. package/dist/translations/de-ch.d.ts +8 -0
  38. package/dist/translations/de-ch.js +5 -0
  39. package/dist/translations/de-ch.umd.js +11 -0
  40. package/dist/translations/de.d.ts +8 -0
  41. package/dist/translations/de.js +5 -0
  42. package/dist/translations/de.umd.js +11 -0
  43. package/dist/translations/el.d.ts +8 -0
  44. package/dist/translations/el.js +5 -0
  45. package/dist/translations/el.umd.js +11 -0
  46. package/dist/translations/en-au.d.ts +8 -0
  47. package/dist/translations/en-au.js +5 -0
  48. package/dist/translations/en-au.umd.js +11 -0
  49. package/dist/translations/en-gb.d.ts +8 -0
  50. package/dist/translations/en-gb.js +5 -0
  51. package/dist/translations/en-gb.umd.js +11 -0
  52. package/dist/translations/en.d.ts +8 -0
  53. package/dist/translations/en.js +5 -0
  54. package/dist/translations/en.umd.js +11 -0
  55. package/dist/translations/eo.d.ts +8 -0
  56. package/dist/translations/eo.js +5 -0
  57. package/dist/translations/eo.umd.js +11 -0
  58. package/dist/translations/es-co.d.ts +8 -0
  59. package/dist/translations/es-co.js +5 -0
  60. package/dist/translations/es-co.umd.js +11 -0
  61. package/dist/translations/es.d.ts +8 -0
  62. package/dist/translations/es.js +5 -0
  63. package/dist/translations/es.umd.js +11 -0
  64. package/dist/translations/et.d.ts +8 -0
  65. package/dist/translations/et.js +5 -0
  66. package/dist/translations/et.umd.js +11 -0
  67. package/dist/translations/eu.d.ts +8 -0
  68. package/dist/translations/eu.js +5 -0
  69. package/dist/translations/eu.umd.js +11 -0
  70. package/dist/translations/fa.d.ts +8 -0
  71. package/dist/translations/fa.js +5 -0
  72. package/dist/translations/fa.umd.js +11 -0
  73. package/dist/translations/fi.d.ts +8 -0
  74. package/dist/translations/fi.js +5 -0
  75. package/dist/translations/fi.umd.js +11 -0
  76. package/dist/translations/fr.d.ts +8 -0
  77. package/dist/translations/fr.js +5 -0
  78. package/dist/translations/fr.umd.js +11 -0
  79. package/dist/translations/gl.d.ts +8 -0
  80. package/dist/translations/gl.js +5 -0
  81. package/dist/translations/gl.umd.js +11 -0
  82. package/dist/translations/he.d.ts +8 -0
  83. package/dist/translations/he.js +5 -0
  84. package/dist/translations/he.umd.js +11 -0
  85. package/dist/translations/hi.d.ts +8 -0
  86. package/dist/translations/hi.js +5 -0
  87. package/dist/translations/hi.umd.js +11 -0
  88. package/dist/translations/hr.d.ts +8 -0
  89. package/dist/translations/hr.js +5 -0
  90. package/dist/translations/hr.umd.js +11 -0
  91. package/dist/translations/hu.d.ts +8 -0
  92. package/dist/translations/hu.js +5 -0
  93. package/dist/translations/hu.umd.js +11 -0
  94. package/dist/translations/id.d.ts +8 -0
  95. package/dist/translations/id.js +5 -0
  96. package/dist/translations/id.umd.js +11 -0
  97. package/dist/translations/it.d.ts +8 -0
  98. package/dist/translations/it.js +5 -0
  99. package/dist/translations/it.umd.js +11 -0
  100. package/dist/translations/ja.d.ts +8 -0
  101. package/dist/translations/ja.js +5 -0
  102. package/dist/translations/ja.umd.js +11 -0
  103. package/dist/translations/jv.d.ts +8 -0
  104. package/dist/translations/jv.js +5 -0
  105. package/dist/translations/jv.umd.js +11 -0
  106. package/dist/translations/km.d.ts +8 -0
  107. package/dist/translations/km.js +5 -0
  108. package/dist/translations/km.umd.js +11 -0
  109. package/dist/translations/kn.d.ts +8 -0
  110. package/dist/translations/kn.js +5 -0
  111. package/dist/translations/kn.umd.js +11 -0
  112. package/dist/translations/ko.d.ts +8 -0
  113. package/dist/translations/ko.js +5 -0
  114. package/dist/translations/ko.umd.js +11 -0
  115. package/dist/translations/ku.d.ts +8 -0
  116. package/dist/translations/ku.js +5 -0
  117. package/dist/translations/ku.umd.js +11 -0
  118. package/dist/translations/lt.d.ts +8 -0
  119. package/dist/translations/lt.js +5 -0
  120. package/dist/translations/lt.umd.js +11 -0
  121. package/dist/translations/lv.d.ts +8 -0
  122. package/dist/translations/lv.js +5 -0
  123. package/dist/translations/lv.umd.js +11 -0
  124. package/dist/translations/ms.d.ts +8 -0
  125. package/dist/translations/ms.js +5 -0
  126. package/dist/translations/ms.umd.js +11 -0
  127. package/dist/translations/nb.d.ts +8 -0
  128. package/dist/translations/nb.js +5 -0
  129. package/dist/translations/nb.umd.js +11 -0
  130. package/dist/translations/ne.d.ts +8 -0
  131. package/dist/translations/ne.js +5 -0
  132. package/dist/translations/ne.umd.js +11 -0
  133. package/dist/translations/nl.d.ts +8 -0
  134. package/dist/translations/nl.js +5 -0
  135. package/dist/translations/nl.umd.js +11 -0
  136. package/dist/translations/no.d.ts +8 -0
  137. package/dist/translations/no.js +5 -0
  138. package/dist/translations/no.umd.js +11 -0
  139. package/dist/translations/pl.d.ts +8 -0
  140. package/dist/translations/pl.js +5 -0
  141. package/dist/translations/pl.umd.js +11 -0
  142. package/dist/translations/pt-br.d.ts +8 -0
  143. package/dist/translations/pt-br.js +5 -0
  144. package/dist/translations/pt-br.umd.js +11 -0
  145. package/dist/translations/pt.d.ts +8 -0
  146. package/dist/translations/pt.js +5 -0
  147. package/dist/translations/pt.umd.js +11 -0
  148. package/dist/translations/ro.d.ts +8 -0
  149. package/dist/translations/ro.js +5 -0
  150. package/dist/translations/ro.umd.js +11 -0
  151. package/dist/translations/ru.d.ts +8 -0
  152. package/dist/translations/ru.js +5 -0
  153. package/dist/translations/ru.umd.js +11 -0
  154. package/dist/translations/sk.d.ts +8 -0
  155. package/dist/translations/sk.js +5 -0
  156. package/dist/translations/sk.umd.js +11 -0
  157. package/dist/translations/sl.d.ts +8 -0
  158. package/dist/translations/sl.js +5 -0
  159. package/dist/translations/sl.umd.js +11 -0
  160. package/dist/translations/sq.d.ts +8 -0
  161. package/dist/translations/sq.js +5 -0
  162. package/dist/translations/sq.umd.js +11 -0
  163. package/dist/translations/sr-latn.d.ts +8 -0
  164. package/dist/translations/sr-latn.js +5 -0
  165. package/dist/translations/sr-latn.umd.js +11 -0
  166. package/dist/translations/sr.d.ts +8 -0
  167. package/dist/translations/sr.js +5 -0
  168. package/dist/translations/sr.umd.js +11 -0
  169. package/dist/translations/sv.d.ts +8 -0
  170. package/dist/translations/sv.js +5 -0
  171. package/dist/translations/sv.umd.js +11 -0
  172. package/dist/translations/th.d.ts +8 -0
  173. package/dist/translations/th.js +5 -0
  174. package/dist/translations/th.umd.js +11 -0
  175. package/dist/translations/ti.d.ts +8 -0
  176. package/dist/translations/ti.js +5 -0
  177. package/dist/translations/ti.umd.js +11 -0
  178. package/dist/translations/tk.d.ts +8 -0
  179. package/dist/translations/tk.js +5 -0
  180. package/dist/translations/tk.umd.js +11 -0
  181. package/dist/translations/tr.d.ts +8 -0
  182. package/dist/translations/tr.js +5 -0
  183. package/dist/translations/tr.umd.js +11 -0
  184. package/dist/translations/tt.d.ts +8 -0
  185. package/dist/translations/tt.js +5 -0
  186. package/dist/translations/tt.umd.js +11 -0
  187. package/dist/translations/ug.d.ts +8 -0
  188. package/dist/translations/ug.js +5 -0
  189. package/dist/translations/ug.umd.js +11 -0
  190. package/dist/translations/uk.d.ts +8 -0
  191. package/dist/translations/uk.js +5 -0
  192. package/dist/translations/uk.umd.js +11 -0
  193. package/dist/translations/ur.d.ts +8 -0
  194. package/dist/translations/ur.js +5 -0
  195. package/dist/translations/ur.umd.js +11 -0
  196. package/dist/translations/uz.d.ts +8 -0
  197. package/dist/translations/uz.js +5 -0
  198. package/dist/translations/uz.umd.js +11 -0
  199. package/dist/translations/vi.d.ts +8 -0
  200. package/dist/translations/vi.js +5 -0
  201. package/dist/translations/vi.umd.js +11 -0
  202. package/dist/translations/zh-cn.d.ts +8 -0
  203. package/dist/translations/zh-cn.js +5 -0
  204. package/dist/translations/zh-cn.umd.js +11 -0
  205. package/dist/translations/zh.d.ts +8 -0
  206. package/dist/translations/zh.js +5 -0
  207. package/dist/translations/zh.umd.js +11 -0
  208. package/dist/types/arialiveannouncer.d.ts +113 -0
  209. package/dist/types/augmentation.d.ts +92 -0
  210. package/dist/types/autocomplete/autocompleteview.d.ts +85 -0
  211. package/dist/types/bindings/addkeyboardhandlingforgrid.d.ts +31 -0
  212. package/dist/types/bindings/clickoutsidehandler.d.ts +32 -0
  213. package/dist/types/bindings/csstransitiondisablermixin.d.ts +44 -0
  214. package/dist/types/bindings/draggableviewmixin.d.ts +50 -0
  215. package/dist/types/bindings/injectcsstransitiondisabler.d.ts +63 -0
  216. package/dist/types/bindings/preventdefault.d.ts +37 -0
  217. package/dist/types/bindings/submithandler.d.ts +61 -0
  218. package/dist/types/button/button.d.ts +185 -0
  219. package/dist/types/button/buttonlabel.d.ts +38 -0
  220. package/dist/types/button/buttonlabelview.d.ts +35 -0
  221. package/dist/types/button/buttonview.d.ts +189 -0
  222. package/dist/types/button/filedialogbuttonview.d.ts +84 -0
  223. package/dist/types/button/switchbuttonview.d.ts +49 -0
  224. package/dist/types/collapsible/collapsibleview.d.ts +74 -0
  225. package/dist/types/colorgrid/colorgridview.d.ts +136 -0
  226. package/dist/types/colorgrid/colortileview.d.ts +32 -0
  227. package/dist/types/colorgrid/utils.d.ts +51 -0
  228. package/dist/types/colorpicker/colorpickerview.d.ts +177 -0
  229. package/dist/types/colorpicker/utils.d.ts +52 -0
  230. package/dist/types/colorselector/colorgridsfragmentview.d.ts +199 -0
  231. package/dist/types/colorselector/colorpickerfragmentview.d.ts +137 -0
  232. package/dist/types/colorselector/colorselectorview.d.ts +246 -0
  233. package/dist/types/colorselector/documentcolorcollection.d.ts +74 -0
  234. package/dist/types/componentfactory.d.ts +85 -0
  235. package/dist/types/dialog/dialog.d.ts +277 -0
  236. package/dist/types/dialog/dialogactionsview.d.ts +73 -0
  237. package/dist/types/dialog/dialogcontentview.d.ts +31 -0
  238. package/dist/types/dialog/dialogview.d.ts +260 -0
  239. package/dist/types/dropdown/button/dropdownbutton.d.ts +29 -0
  240. package/dist/types/dropdown/button/dropdownbuttonview.d.ts +52 -0
  241. package/dist/types/dropdown/button/splitbuttonview.d.ts +166 -0
  242. package/dist/types/dropdown/dropdownpanelfocusable.d.ts +25 -0
  243. package/dist/types/dropdown/dropdownpanelview.d.ts +66 -0
  244. package/dist/types/dropdown/dropdownview.d.ts +319 -0
  245. package/dist/types/dropdown/utils.d.ts +239 -0
  246. package/dist/types/editableui/editableuiview.d.ts +76 -0
  247. package/dist/types/editableui/inline/inlineeditableuiview.d.ts +44 -0
  248. package/dist/types/editorui/accessibilityhelp/accessibilityhelp.d.ts +55 -0
  249. package/dist/types/editorui/accessibilityhelp/accessibilityhelpcontentview.d.ts +39 -0
  250. package/dist/types/editorui/bodycollection.d.ts +59 -0
  251. package/dist/types/editorui/boxed/boxededitoruiview.d.ts +44 -0
  252. package/dist/types/editorui/editorui.d.ts +292 -0
  253. package/dist/types/editorui/editoruiview.d.ts +43 -0
  254. package/dist/types/editorui/poweredby.d.ts +75 -0
  255. package/dist/types/focuscycler.d.ts +249 -0
  256. package/dist/types/formheader/formheaderview.d.ts +63 -0
  257. package/dist/types/highlightedtext/highlightedtextview.d.ts +42 -0
  258. package/dist/types/icon/iconview.d.ts +92 -0
  259. package/dist/types/iframe/iframeview.d.ts +54 -0
  260. package/dist/types/index.d.ts +87 -0
  261. package/dist/types/input/inputbase.d.ts +123 -0
  262. package/dist/types/input/inputview.d.ts +40 -0
  263. package/dist/types/inputnumber/inputnumberview.d.ts +53 -0
  264. package/dist/types/inputtext/inputtextview.d.ts +22 -0
  265. package/dist/types/label/labelview.d.ts +40 -0
  266. package/dist/types/labeledfield/labeledfieldview.d.ts +191 -0
  267. package/dist/types/labeledfield/utils.d.ts +127 -0
  268. package/dist/types/labeledinput/labeledinputview.d.ts +129 -0
  269. package/dist/types/list/listitemgroupview.d.ts +63 -0
  270. package/dist/types/list/listitemview.d.ts +40 -0
  271. package/dist/types/list/listseparatorview.d.ts +22 -0
  272. package/dist/types/list/listview.d.ts +128 -0
  273. package/dist/types/menubar/menubarmenubuttonview.d.ts +39 -0
  274. package/dist/types/menubar/menubarmenulistitembuttonview.d.ts +25 -0
  275. package/dist/types/menubar/menubarmenulistitemfiledialogbuttonview.d.ts +27 -0
  276. package/dist/types/menubar/menubarmenulistitemview.d.ts +29 -0
  277. package/dist/types/menubar/menubarmenulistview.d.ts +28 -0
  278. package/dist/types/menubar/menubarmenupanelview.d.ts +57 -0
  279. package/dist/types/menubar/menubarmenuview.d.ts +113 -0
  280. package/dist/types/menubar/menubarview.d.ts +168 -0
  281. package/dist/types/menubar/utils.d.ts +443 -0
  282. package/dist/types/model.d.ts +26 -0
  283. package/dist/types/notification/notification.d.ts +215 -0
  284. package/dist/types/panel/balloon/balloonpanelview.d.ts +689 -0
  285. package/dist/types/panel/balloon/contextualballoon.d.ts +303 -0
  286. package/dist/types/panel/sticky/stickypanelview.d.ts +160 -0
  287. package/dist/types/search/filteredview.d.ts +35 -0
  288. package/dist/types/search/searchinfoview.d.ts +49 -0
  289. package/dist/types/search/searchresultsview.d.ts +58 -0
  290. package/dist/types/search/text/searchtextqueryview.d.ts +80 -0
  291. package/dist/types/search/text/searchtextview.d.ts +223 -0
  292. package/dist/types/spinner/spinnerview.d.ts +29 -0
  293. package/dist/types/template.d.ts +946 -0
  294. package/dist/types/textarea/textareaview.d.ts +108 -0
  295. package/dist/types/toolbar/balloon/balloontoolbar.d.ts +121 -0
  296. package/dist/types/toolbar/block/blockbuttonview.d.ts +39 -0
  297. package/dist/types/toolbar/block/blocktoolbar.d.ts +157 -0
  298. package/dist/types/toolbar/normalizetoolbarconfig.d.ts +44 -0
  299. package/dist/types/toolbar/toolbarlinebreakview.d.ts +22 -0
  300. package/dist/types/toolbar/toolbarseparatorview.d.ts +22 -0
  301. package/dist/types/toolbar/toolbarview.d.ts +271 -0
  302. package/dist/types/tooltipmanager.d.ts +199 -0
  303. package/dist/types/view.d.ts +426 -0
  304. package/dist/types/viewcollection.d.ts +143 -0
  305. package/lang/contexts.json +2 -1
  306. package/lang/translations/af.po +4 -0
  307. package/lang/translations/ar.po +4 -0
  308. package/lang/translations/ast.po +4 -0
  309. package/lang/translations/az.po +4 -0
  310. package/lang/translations/bg.po +4 -0
  311. package/lang/translations/bn.po +4 -0
  312. package/lang/translations/bs.po +4 -0
  313. package/lang/translations/ca.po +4 -0
  314. package/lang/translations/cs.po +4 -0
  315. package/lang/translations/da.po +4 -0
  316. package/lang/translations/de-ch.po +4 -0
  317. package/lang/translations/de.po +4 -0
  318. package/lang/translations/el.po +4 -0
  319. package/lang/translations/en-au.po +4 -0
  320. package/lang/translations/en-gb.po +4 -0
  321. package/lang/translations/en.po +4 -0
  322. package/lang/translations/eo.po +4 -0
  323. package/lang/translations/es-co.po +4 -0
  324. package/lang/translations/es.po +4 -0
  325. package/lang/translations/et.po +4 -0
  326. package/lang/translations/eu.po +4 -0
  327. package/lang/translations/fa.po +4 -0
  328. package/lang/translations/fi.po +4 -0
  329. package/lang/translations/fr.po +4 -0
  330. package/lang/translations/gl.po +4 -0
  331. package/lang/translations/he.po +4 -0
  332. package/lang/translations/hi.po +4 -0
  333. package/lang/translations/hr.po +4 -0
  334. package/lang/translations/hu.po +4 -0
  335. package/lang/translations/id.po +4 -0
  336. package/lang/translations/it.po +4 -0
  337. package/lang/translations/ja.po +4 -0
  338. package/lang/translations/jv.po +4 -0
  339. package/lang/translations/km.po +4 -0
  340. package/lang/translations/kn.po +4 -0
  341. package/lang/translations/ko.po +4 -0
  342. package/lang/translations/ku.po +4 -0
  343. package/lang/translations/lt.po +4 -0
  344. package/lang/translations/lv.po +4 -0
  345. package/lang/translations/ms.po +4 -0
  346. package/lang/translations/nb.po +4 -0
  347. package/lang/translations/ne.po +4 -0
  348. package/lang/translations/nl.po +4 -0
  349. package/lang/translations/no.po +4 -0
  350. package/lang/translations/pl.po +4 -0
  351. package/lang/translations/pt-br.po +4 -0
  352. package/lang/translations/pt.po +4 -0
  353. package/lang/translations/ro.po +4 -0
  354. package/lang/translations/ru.po +4 -0
  355. package/lang/translations/sk.po +4 -0
  356. package/lang/translations/sl.po +4 -0
  357. package/lang/translations/sq.po +4 -0
  358. package/lang/translations/sr-latn.po +4 -0
  359. package/lang/translations/sr.po +4 -0
  360. package/lang/translations/sv.po +4 -0
  361. package/lang/translations/th.po +4 -0
  362. package/lang/translations/ti.po +214 -0
  363. package/lang/translations/tk.po +4 -0
  364. package/lang/translations/tr.po +4 -0
  365. package/lang/translations/tt.po +4 -0
  366. package/lang/translations/ug.po +4 -0
  367. package/lang/translations/uk.po +4 -0
  368. package/lang/translations/ur.po +4 -0
  369. package/lang/translations/uz.po +4 -0
  370. package/lang/translations/vi.po +4 -0
  371. package/lang/translations/zh-cn.po +4 -0
  372. package/lang/translations/zh.po +4 -0
  373. package/package.json +4 -3
  374. package/src/arialiveannouncer.d.ts +34 -23
  375. package/src/arialiveannouncer.js +80 -30
  376. package/src/colorgrid/colortileview.d.ts +1 -1
  377. package/src/colorgrid/colortileview.js +3 -1
  378. package/src/colorpicker/colorpickerview.d.ts +32 -1
  379. package/src/colorpicker/colorpickerview.js +62 -13
  380. package/src/colorselector/colorpickerfragmentview.d.ts +4 -0
  381. package/src/colorselector/colorpickerfragmentview.js +13 -5
  382. package/src/colorselector/colorselectorview.js +1 -0
  383. package/src/index.d.ts +4 -4
  384. package/src/index.js +3 -2
  385. package/src/menubar/utils.d.ts +8 -1
  386. package/src/menubar/utils.js +26 -2
  387. package/src/toolbar/toolbarview.js +2 -3
  388. package/theme/components/arialiveannouncer/arialiveannouncer.css +4 -0
  389. package/theme/components/tooltip/tooltip.css +4 -0
  390. package/theme/globals/globals.css +0 -1
  391. package/theme/mixins/_mediacolors.css +20 -0
  392. package/theme/globals/_reset.css +0 -13
@@ -0,0 +1,73 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, 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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module ui/dialog/dialogactionsview
11
+ */
12
+ import { KeystrokeHandler, type Locale } from '@ckeditor/ckeditor5-utils';
13
+ import type { default as Button } from '../button/button.js';
14
+ import ButtonView from '../button/buttonview.js';
15
+ import View from '../view.js';
16
+ import ViewCollection from '../viewcollection.js';
17
+ import FocusCycler, { type FocusableView } from '../focuscycler.js';
18
+ import '../../theme/components/dialog/dialogactions.css';
19
+ /**
20
+ * A dialog actions view class. It contains button views which are used to execute dialog actions.
21
+ */
22
+ export default class DialogActionsView extends View {
23
+ /**
24
+ * A collection of button views.
25
+ */
26
+ readonly children: ViewCollection<FocusableView>;
27
+ /**
28
+ * A keystroke handler instance.
29
+ */
30
+ readonly keystrokes: KeystrokeHandler;
31
+ /**
32
+ * A focus cycler instance.
33
+ */
34
+ readonly focusCycler: FocusCycler;
35
+ /**
36
+ * A focus tracker instance.
37
+ */
38
+ private readonly _focusTracker;
39
+ /**
40
+ * A collection of focusable views.
41
+ */
42
+ private readonly _focusables;
43
+ /**
44
+ * @inheritDoc
45
+ */
46
+ constructor(locale?: Locale);
47
+ /**
48
+ * @inheritDoc
49
+ */
50
+ render(): void;
51
+ /**
52
+ * Creates the button views based on the given definitions.
53
+ * Then adds them to the {@link #children} collection and to the focus cycler.
54
+ */
55
+ setButtons(definitions: Array<DialogActionButtonDefinition>): void;
56
+ /**
57
+ * @inheritDoc
58
+ */
59
+ focus(direction?: 1 | -1): void;
60
+ /**
61
+ * Adds all elements from the {@link #children} collection to the {@link #_focusables} collection
62
+ * and to the {@link #_focusTracker} instance.
63
+ */
64
+ private _updateFocusCyclableItems;
65
+ }
66
+ /**
67
+ * A dialog action button definition. It is a slightly modified version
68
+ * of the {@link module:ui/button/button~Button} definition.
69
+ */
70
+ export type DialogActionButtonDefinition = Pick<Button, 'label'> & Partial<Pick<Button, 'withText' | 'class' | 'icon'>> & {
71
+ onExecute: Function;
72
+ onCreate?: (button: ButtonView) => void;
73
+ };
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, 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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module ui/dialog/dialogcontentview
11
+ */
12
+ import View from '../view.js';
13
+ import type ViewCollection from '../viewcollection.js';
14
+ import type { Locale } from '@ckeditor/ckeditor5-utils';
15
+ /**
16
+ * A dialog content view class.
17
+ */
18
+ export default class DialogContentView extends View {
19
+ /**
20
+ * A collection of content items.
21
+ */
22
+ readonly children: ViewCollection;
23
+ /**
24
+ * @inheritDoc
25
+ */
26
+ constructor(locale: Locale | undefined);
27
+ /**
28
+ * Removes all the child views.
29
+ */
30
+ reset(): void;
31
+ }
@@ -0,0 +1,260 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, 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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module ui/dialog/dialogview
11
+ */
12
+ import { KeystrokeHandler, FocusTracker, type Locale, type DecoratedMethodEvent } from '@ckeditor/ckeditor5-utils';
13
+ import ViewCollection from '../viewcollection.js';
14
+ import View from '../view.js';
15
+ import FormHeaderView from '../formheader/formheaderview.js';
16
+ import ButtonView from '../button/buttonview.js';
17
+ import { type DraggableView } from '../bindings/draggableviewmixin.js';
18
+ import DialogActionsView, { type DialogActionButtonDefinition } from './dialogactionsview.js';
19
+ import DialogContentView from './dialogcontentview.js';
20
+ import type EditorUI from '../editorui/editorui.js';
21
+ import '../../theme/components/dialog/dialog.css';
22
+ /**
23
+ * Available dialog view positions:
24
+ *
25
+ * * `DialogViewPosition.SCREEN_CENTER` &ndash; A fixed position in the center of the screen.
26
+ * * `DialogViewPosition.EDITOR_CENTER` &ndash; A dynamic position in the center of the editor editable area.
27
+ * * `DialogViewPosition.EDITOR_TOP_SIDE` &ndash; A dynamic position at the top-right (for the left-to-right languages)
28
+ * or top-left (for right-to-left languages) corner of the editor editable area.
29
+ * * `DialogViewPosition.EDITOR_TOP_CENTER` &ndash; A dynamic position at the top-center of the editor editable area.
30
+ * * `DialogViewPosition.EDITOR_BOTTOM_CENTER` &ndash; A dynamic position at the bottom-center of the editor editable area.
31
+ * * `DialogViewPosition.EDITOR_ABOVE_CENTER` &ndash; A dynamic position centered above the editor editable area.
32
+ * * `DialogViewPosition.EDITOR_BELOW_CENTER` &ndash; A dynamic position centered below the editor editable area.
33
+ *
34
+ * The position of a dialog is specified by a {@link module:ui/dialog/dialog~DialogDefinition#position `position` property} of a
35
+ * definition passed to the {@link module:ui/dialog/dialog~Dialog#show} method.
36
+ */
37
+ export declare const DialogViewPosition: {
38
+ readonly SCREEN_CENTER: "screen-center";
39
+ readonly EDITOR_CENTER: "editor-center";
40
+ readonly EDITOR_TOP_SIDE: "editor-top-side";
41
+ readonly EDITOR_TOP_CENTER: "editor-top-center";
42
+ readonly EDITOR_BOTTOM_CENTER: "editor-bottom-center";
43
+ readonly EDITOR_ABOVE_CENTER: "editor-above-center";
44
+ readonly EDITOR_BELOW_CENTER: "editor-below-center";
45
+ };
46
+ declare const DialogView_base: import("@ckeditor/ckeditor5-utils").Mixed<typeof View, DraggableView>;
47
+ /**
48
+ * A dialog view class.
49
+ */
50
+ export default class DialogView extends DialogView_base implements DraggableView {
51
+ /**
52
+ * A collection of the child views inside of the dialog.
53
+ * A dialog can have 3 optional parts: header, content, and actions.
54
+ */
55
+ readonly parts: ViewCollection;
56
+ /**
57
+ * A header view of the dialog. It is also a drag handle of the dialog.
58
+ */
59
+ headerView?: FormHeaderView;
60
+ /**
61
+ * A close button view. It is automatically added to the header view if present.
62
+ */
63
+ closeButtonView?: ButtonView;
64
+ /**
65
+ * A view with the action buttons available to the user.
66
+ */
67
+ actionsView?: DialogActionsView;
68
+ /**
69
+ * A default dialog element offset from the reference element (e.g. editor editable area).
70
+ */
71
+ static defaultOffset: number;
72
+ /**
73
+ * A view with the dialog content.
74
+ */
75
+ contentView?: DialogContentView;
76
+ /**
77
+ * A keystroke handler instance.
78
+ */
79
+ readonly keystrokes: KeystrokeHandler;
80
+ /**
81
+ * A focus tracker instance.
82
+ */
83
+ readonly focusTracker: FocusTracker;
84
+ /**
85
+ * A flag indicating if the dialog was moved manually. If so, its position
86
+ * will not be updated automatically upon window resize or document scroll.
87
+ */
88
+ wasMoved: boolean;
89
+ /**
90
+ * A flag indicating if this dialog view is a modal.
91
+ *
92
+ * @observable
93
+ */
94
+ isModal: boolean;
95
+ /**
96
+ * A label for the view dialog element to be used by the assistive technologies.
97
+ *
98
+ * @observable
99
+ */
100
+ ariaLabel: string;
101
+ /**
102
+ * A custom class name to be added to the dialog element.
103
+ *
104
+ * @observable
105
+ */
106
+ className: string | undefined;
107
+ /**
108
+ * The position of the dialog view.
109
+ *
110
+ * @observable
111
+ */
112
+ position: typeof DialogViewPosition[keyof typeof DialogViewPosition];
113
+ /**
114
+ * A flag indicating that the dialog should be shown. Once set to `true`, the dialog will be shown
115
+ * after its position is calculated. Until then, the dialog is transparent and not visible.
116
+ *
117
+ * See {@link #_isTransparent} property.
118
+ *
119
+ * @observable
120
+ * @internal
121
+ */
122
+ _isVisible: boolean;
123
+ /**
124
+ * A flag indicating if a dialog is transparent. It is used to prevent the dialog from being visible
125
+ * before its position is calculated.
126
+ *
127
+ * @observable
128
+ * @internal
129
+ */
130
+ _isTransparent: boolean;
131
+ /**
132
+ * The calculated dialog `top` CSS property used for positioning.
133
+ *
134
+ * @observable
135
+ * @internal
136
+ */
137
+ _top: number;
138
+ /**
139
+ * The calculated dialog `left` CSS property used for positioning.
140
+ *
141
+ * @observable
142
+ * @internal
143
+ */
144
+ _left: number;
145
+ /**
146
+ * A callback returning the DOM root that requested the dialog.
147
+ */
148
+ private _getCurrentDomRoot;
149
+ /**
150
+ * A callback returning the configured editor viewport offset.
151
+ */
152
+ private _getViewportOffset;
153
+ /**
154
+ * The list of the focusable elements inside the dialog view.
155
+ */
156
+ private readonly _focusables;
157
+ /**
158
+ * The focus cycler instance.
159
+ */
160
+ private readonly _focusCycler;
161
+ /**
162
+ * @inheritDoc
163
+ */
164
+ constructor(locale: Locale, { getCurrentDomRoot, getViewportOffset }: {
165
+ getCurrentDomRoot: () => HTMLElement;
166
+ getViewportOffset: () => EditorUI['viewportOffset'];
167
+ });
168
+ /**
169
+ * @inheritDoc
170
+ */
171
+ render(): void;
172
+ /**
173
+ * Returns the element that should be used as a drag handle.
174
+ */
175
+ get dragHandleElement(): HTMLElement | null;
176
+ /**
177
+ * Creates the dialog parts. Which of them are created depends on the arguments passed to the method.
178
+ * There are no rules regarding the dialog construction, that is, no part is mandatory.
179
+ * Each part can only be created once.
180
+ *
181
+ * @internal
182
+ */
183
+ setupParts({ icon, title, hasCloseButton, content, actionButtons }: {
184
+ icon?: string;
185
+ title?: string;
186
+ hasCloseButton?: boolean;
187
+ content?: View | Array<View>;
188
+ actionButtons?: Array<DialogActionButtonDefinition>;
189
+ }): void;
190
+ /**
191
+ * Focuses the first focusable element inside the dialog.
192
+ */
193
+ focus(): void;
194
+ /**
195
+ * Normalizes the passed coordinates to make sure the dialog view
196
+ * is displayed within the visible viewport and moves it there.
197
+ *
198
+ * @internal
199
+ */
200
+ moveTo(left: number, top: number): void;
201
+ /**
202
+ * Moves the dialog to the specified coordinates.
203
+ */
204
+ private _moveTo;
205
+ /**
206
+ * Moves the dialog by the specified offset.
207
+ *
208
+ * @internal
209
+ */
210
+ moveBy(left: number, top: number): void;
211
+ /**
212
+ * Moves the dialog view to the off-screen position.
213
+ * Used when there is no space to display the dialog.
214
+ */
215
+ private _moveOffScreen;
216
+ /**
217
+ * Recalculates the dialog according to the set position and viewport,
218
+ * and moves it to the new position.
219
+ */
220
+ updatePosition(): void;
221
+ /**
222
+ * Calculates the visible DOM root part.
223
+ */
224
+ private _getVisibleDomRootRect;
225
+ /**
226
+ * Calculates the dialog element rect.
227
+ */
228
+ private _getDialogRect;
229
+ /**
230
+ * Calculates the viewport rect.
231
+ */
232
+ private _getViewportRect;
233
+ /**
234
+ * Collects all focusable elements inside the dialog parts
235
+ * and adds them to the focus tracker and focus cycler.
236
+ */
237
+ private _updateFocusCyclableItems;
238
+ /**
239
+ * Creates the close button view that is displayed in the header view corner.
240
+ */
241
+ private _createCloseButton;
242
+ }
243
+ /**
244
+ * An event fired when the dialog is closed.
245
+ *
246
+ * @eventName ~DialogView#close
247
+ */
248
+ export type DialogViewCloseEvent = {
249
+ name: 'close';
250
+ args: [{
251
+ source: 'closeButton' | 'escKeyPress';
252
+ }];
253
+ };
254
+ /**
255
+ * An event fired when the dialog is moved.
256
+ *
257
+ * @eventName ~DialogView#moveTo
258
+ */
259
+ export type DialogViewMoveToEvent = DecoratedMethodEvent<DialogView, 'moveTo'>;
260
+ export {};
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, 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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module ui/dropdown/button/dropdownbutton
11
+ */
12
+ import type Button from '../../button/button.js';
13
+ import type ViewCollection from '../../viewcollection.js';
14
+ /**
15
+ * The dropdown button interface.
16
+ */
17
+ export default interface DropdownButton extends Button {
18
+ children: ViewCollection;
19
+ }
20
+ /**
21
+ * Fired when the dropdown should be opened.
22
+ * It will not be fired when the button {@link module:ui/dropdown/button/dropdownbutton~DropdownButton#isEnabled is disabled}.
23
+ *
24
+ * @eventName ~DropdownButton#open
25
+ */
26
+ export type DropdownButtonOpenEvent = {
27
+ name: 'open';
28
+ args: [];
29
+ };
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, 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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module ui/dropdown/button/dropdownbuttonview
11
+ */
12
+ import ButtonView from '../../button/buttonview.js';
13
+ import type DropdownButton from './dropdownbutton.js';
14
+ import IconView from '../../icon/iconview.js';
15
+ import type { Locale } from '@ckeditor/ckeditor5-utils';
16
+ /**
17
+ * The default dropdown button view class.
18
+ *
19
+ * ```ts
20
+ * const view = new DropdownButtonView();
21
+ *
22
+ * view.set( {
23
+ * label: 'A button',
24
+ * keystroke: 'Ctrl+B',
25
+ * tooltip: true
26
+ * } );
27
+ *
28
+ * view.render();
29
+ *
30
+ * document.body.append( view.element );
31
+ * ```
32
+ *
33
+ * Also see the {@link module:ui/dropdown/utils~createDropdown `createDropdown()` util}.
34
+ */
35
+ export default class DropdownButtonView extends ButtonView implements DropdownButton {
36
+ /**
37
+ * An icon that displays arrow to indicate a dropdown button.
38
+ */
39
+ readonly arrowView: IconView;
40
+ /**
41
+ * @inheritDoc
42
+ */
43
+ constructor(locale?: Locale);
44
+ /**
45
+ * @inheritDoc
46
+ */
47
+ render(): void;
48
+ /**
49
+ * Creates a {@link module:ui/icon/iconview~IconView} instance as {@link #arrowView}.
50
+ */
51
+ private _createArrowView;
52
+ }
@@ -0,0 +1,166 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, 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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module ui/dropdown/button/splitbuttonview
11
+ */
12
+ import View from '../../view.js';
13
+ import ButtonView from '../../button/buttonview.js';
14
+ import type ViewCollection from '../../viewcollection.js';
15
+ import type Button from '../../button/button.js';
16
+ import type DropdownButton from './dropdownbutton.js';
17
+ import type { FocusableView } from '../../focuscycler.js';
18
+ import { KeystrokeHandler, FocusTracker, type Locale } from '@ckeditor/ckeditor5-utils';
19
+ import '../../../theme/components/dropdown/splitbutton.css';
20
+ /**
21
+ * The split button view class.
22
+ *
23
+ * ```ts
24
+ * const view = new SplitButtonView();
25
+ *
26
+ * view.set( {
27
+ * label: 'A button',
28
+ * keystroke: 'Ctrl+B',
29
+ * tooltip: true
30
+ * } );
31
+ *
32
+ * view.render();
33
+ *
34
+ * document.body.append( view.element );
35
+ * ```
36
+ *
37
+ * Also see the {@link module:ui/dropdown/utils~createDropdown `createDropdown()` util}.
38
+ */
39
+ export default class SplitButtonView extends View<HTMLDivElement> implements DropdownButton {
40
+ /**
41
+ * Collection of the child views inside of the split button {@link #element}.
42
+ */
43
+ readonly children: ViewCollection;
44
+ /**
45
+ * A main button of split button.
46
+ */
47
+ readonly actionView: ButtonView;
48
+ /**
49
+ * A secondary button of split button that opens dropdown.
50
+ */
51
+ readonly arrowView: ButtonView;
52
+ /**
53
+ * Instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}. It manages
54
+ * keystrokes of the split button:
55
+ *
56
+ * * <kbd>▶</kbd> moves focus to arrow view when action view is focused,
57
+ * * <kbd>◀</kbd> moves focus to action view when arrow view is focused.
58
+ */
59
+ readonly keystrokes: KeystrokeHandler;
60
+ /**
61
+ * Tracks information about DOM focus in the dropdown.
62
+ */
63
+ readonly focusTracker: FocusTracker;
64
+ /**
65
+ * @inheritDoc
66
+ */
67
+ label: string | undefined;
68
+ /**
69
+ * @inheritDoc
70
+ */
71
+ keystroke: string | undefined;
72
+ /**
73
+ * @inheritDoc
74
+ */
75
+ tooltip: Button['tooltip'];
76
+ /**
77
+ * @inheritDoc
78
+ */
79
+ tooltipPosition: Button['tooltipPosition'];
80
+ /**
81
+ * @inheritDoc
82
+ */
83
+ type: Button['type'];
84
+ /**
85
+ * @inheritDoc
86
+ */
87
+ isOn: boolean;
88
+ /**
89
+ * @inheritDoc
90
+ */
91
+ isEnabled: boolean;
92
+ /**
93
+ * @inheritDoc
94
+ */
95
+ isVisible: boolean;
96
+ /**
97
+ * @inheritDoc
98
+ */
99
+ isToggleable: boolean;
100
+ /**
101
+ * @inheritDoc
102
+ */
103
+ withText: boolean;
104
+ /**
105
+ * @inheritDoc
106
+ */
107
+ withKeystroke: boolean;
108
+ /**
109
+ * @inheritDoc
110
+ */
111
+ icon: string | undefined;
112
+ /**
113
+ * @inheritDoc
114
+ */
115
+ tabindex: number;
116
+ /**
117
+ * @inheritDoc
118
+ */
119
+ class: string | undefined;
120
+ /**
121
+ * @inheritDoc
122
+ */
123
+ labelStyle: string | undefined;
124
+ /**
125
+ * @inheritDoc
126
+ */
127
+ role: string | undefined;
128
+ /**
129
+ * @inheritDoc
130
+ */
131
+ ariaChecked: boolean | undefined;
132
+ /**
133
+ * @inheritDoc
134
+ */
135
+ ariaLabel?: string | undefined;
136
+ /**
137
+ * @inheritDoc
138
+ */
139
+ ariaLabelledBy: string | undefined;
140
+ /**
141
+ * @inheritDoc
142
+ */
143
+ constructor(locale?: Locale, actionButton?: ButtonView & FocusableView);
144
+ /**
145
+ * @inheritDoc
146
+ */
147
+ render(): void;
148
+ /**
149
+ * @inheritDoc
150
+ */
151
+ destroy(): void;
152
+ /**
153
+ * Focuses the {@link module:ui/button/buttonview~ButtonView#element} of the action part of split button.
154
+ */
155
+ focus(): void;
156
+ /**
157
+ * Creates a {@link module:ui/button/buttonview~ButtonView} instance as {@link #actionView} and binds it with main split button
158
+ * attributes.
159
+ */
160
+ private _createActionView;
161
+ /**
162
+ * Creates a {@link module:ui/button/buttonview~ButtonView} instance as {@link #arrowView} and binds it with main split button
163
+ * attributes.
164
+ */
165
+ private _createArrowView;
166
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, 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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module ui/dropdown/dropdownpanelfocusable
11
+ */
12
+ /**
13
+ * The dropdown panel interface for focusable contents. It provides two methods for managing focus of the contents
14
+ * of dropdown's panel.
15
+ */
16
+ export default interface DropdownPanelFocusable {
17
+ /**
18
+ * Focuses the view element or first item in view collection on opening dropdown's panel.
19
+ */
20
+ focus(): void;
21
+ /**
22
+ * Focuses the view element or last item in view collection on opening dropdown's panel.
23
+ */
24
+ focusLast(): void;
25
+ }