@ckeditor/ckeditor5-ui 0.0.0-internal-20241017.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 (677) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +21 -0
  3. package/README.md +26 -0
  4. package/ckeditor5-metadata.json +25 -0
  5. package/dist/arialiveannouncer.d.ts +113 -0
  6. package/dist/augmentation.d.ts +92 -0
  7. package/dist/autocomplete/autocompleteview.d.ts +85 -0
  8. package/dist/badge/badge.d.ts +133 -0
  9. package/dist/bindings/addkeyboardhandlingforgrid.d.ts +31 -0
  10. package/dist/bindings/clickoutsidehandler.d.ts +34 -0
  11. package/dist/bindings/csstransitiondisablermixin.d.ts +44 -0
  12. package/dist/bindings/draggableviewmixin.d.ts +50 -0
  13. package/dist/bindings/injectcsstransitiondisabler.d.ts +63 -0
  14. package/dist/bindings/preventdefault.d.ts +37 -0
  15. package/dist/bindings/submithandler.d.ts +61 -0
  16. package/dist/button/button.d.ts +179 -0
  17. package/dist/button/buttonlabel.d.ts +38 -0
  18. package/dist/button/buttonlabelview.d.ts +35 -0
  19. package/dist/button/buttonview.d.ts +201 -0
  20. package/dist/button/filedialogbuttonview.d.ts +111 -0
  21. package/dist/button/listitembuttonview.d.ts +82 -0
  22. package/dist/button/switchbuttonview.d.ts +49 -0
  23. package/dist/collapsible/collapsibleview.d.ts +74 -0
  24. package/dist/colorgrid/colorgridview.d.ts +136 -0
  25. package/dist/colorgrid/colortileview.d.ts +32 -0
  26. package/dist/colorgrid/utils.d.ts +51 -0
  27. package/dist/colorpicker/colorpickerview.d.ts +177 -0
  28. package/dist/colorpicker/utils.d.ts +52 -0
  29. package/dist/colorselector/colorgridsfragmentview.d.ts +199 -0
  30. package/dist/colorselector/colorpickerfragmentview.d.ts +137 -0
  31. package/dist/colorselector/colorselectorview.d.ts +246 -0
  32. package/dist/colorselector/documentcolorcollection.d.ts +74 -0
  33. package/dist/componentfactory.d.ts +85 -0
  34. package/dist/dialog/dialog.d.ts +281 -0
  35. package/dist/dialog/dialogactionsview.d.ts +73 -0
  36. package/dist/dialog/dialogcontentview.d.ts +31 -0
  37. package/dist/dialog/dialogview.d.ts +260 -0
  38. package/dist/dropdown/button/dropdownbutton.d.ts +29 -0
  39. package/dist/dropdown/button/dropdownbuttonview.d.ts +52 -0
  40. package/dist/dropdown/button/splitbuttonview.d.ts +166 -0
  41. package/dist/dropdown/dropdownpanelfocusable.d.ts +25 -0
  42. package/dist/dropdown/dropdownpanelview.d.ts +66 -0
  43. package/dist/dropdown/dropdownview.d.ts +332 -0
  44. package/dist/dropdown/menu/dropdownmenubehaviors.d.ts +48 -0
  45. package/dist/dropdown/menu/dropdownmenubuttonview.d.ts +40 -0
  46. package/dist/dropdown/menu/dropdownmenulistitembuttonview.d.ts +21 -0
  47. package/dist/dropdown/menu/dropdownmenulistitemview.d.ts +26 -0
  48. package/dist/dropdown/menu/dropdownmenulistview.d.ts +28 -0
  49. package/dist/dropdown/menu/dropdownmenunestedmenupanelview.d.ts +38 -0
  50. package/dist/dropdown/menu/dropdownmenunestedmenuview.d.ts +135 -0
  51. package/dist/dropdown/menu/dropdownmenurootlistview.d.ts +144 -0
  52. package/dist/dropdown/menu/utils.d.ts +128 -0
  53. package/dist/dropdown/utils.d.ts +297 -0
  54. package/dist/editableui/editableuiview.d.ts +76 -0
  55. package/dist/editableui/inline/inlineeditableuiview.d.ts +48 -0
  56. package/dist/editorui/accessibilityhelp/accessibilityhelp.d.ts +59 -0
  57. package/dist/editorui/accessibilityhelp/accessibilityhelpcontentview.d.ts +39 -0
  58. package/dist/editorui/bodycollection.d.ts +59 -0
  59. package/dist/editorui/boxed/boxededitoruiview.d.ts +44 -0
  60. package/dist/editorui/editorui.d.ts +358 -0
  61. package/dist/editorui/editoruiview.d.ts +48 -0
  62. package/dist/editorui/evaluationbadge.d.ts +37 -0
  63. package/dist/editorui/poweredby.d.ts +38 -0
  64. package/dist/focuscycler.d.ts +295 -0
  65. package/dist/formheader/formheaderview.d.ts +62 -0
  66. package/dist/highlightedtext/buttonlabelwithhighlightview.d.ts +34 -0
  67. package/dist/highlightedtext/highlightedtextview.d.ts +42 -0
  68. package/dist/highlightedtext/labelwithhighlightview.d.ts +30 -0
  69. package/dist/icon/iconview.d.ts +92 -0
  70. package/dist/iframe/iframeview.d.ts +54 -0
  71. package/dist/index-content.css +4 -0
  72. package/dist/index-editor.css +754 -0
  73. package/dist/index.css +1063 -0
  74. package/dist/index.css.map +1 -0
  75. package/dist/index.d.ts +97 -0
  76. package/dist/index.js +17688 -0
  77. package/dist/index.js.map +1 -0
  78. package/dist/input/inputbase.d.ts +123 -0
  79. package/dist/input/inputview.d.ts +40 -0
  80. package/dist/inputnumber/inputnumberview.d.ts +53 -0
  81. package/dist/inputtext/inputtextview.d.ts +22 -0
  82. package/dist/label/labelview.d.ts +40 -0
  83. package/dist/labeledfield/labeledfieldview.d.ts +191 -0
  84. package/dist/labeledfield/utils.d.ts +127 -0
  85. package/dist/labeledinput/labeledinputview.d.ts +129 -0
  86. package/dist/list/listitemgroupview.d.ts +63 -0
  87. package/dist/list/listitemview.d.ts +40 -0
  88. package/dist/list/listseparatorview.d.ts +22 -0
  89. package/dist/list/listview.d.ts +128 -0
  90. package/dist/menubar/menubarmenubuttonview.d.ts +39 -0
  91. package/dist/menubar/menubarmenulistitembuttonview.d.ts +25 -0
  92. package/dist/menubar/menubarmenulistitemfiledialogbuttonview.d.ts +27 -0
  93. package/dist/menubar/menubarmenulistitemview.d.ts +29 -0
  94. package/dist/menubar/menubarmenulistview.d.ts +33 -0
  95. package/dist/menubar/menubarmenupanelview.d.ts +57 -0
  96. package/dist/menubar/menubarmenuview.d.ts +113 -0
  97. package/dist/menubar/menubarview.d.ts +177 -0
  98. package/dist/menubar/utils.d.ts +451 -0
  99. package/dist/model.d.ts +26 -0
  100. package/dist/notification/notification.d.ts +219 -0
  101. package/dist/panel/balloon/balloonpanelview.d.ts +701 -0
  102. package/dist/panel/balloon/contextualballoon.d.ts +313 -0
  103. package/dist/panel/sticky/stickypanelview.d.ts +160 -0
  104. package/dist/search/filteredview.d.ts +35 -0
  105. package/dist/search/filtergroupanditemnames.d.ts +19 -0
  106. package/dist/search/searchinfoview.d.ts +49 -0
  107. package/dist/search/searchresultsview.d.ts +58 -0
  108. package/dist/search/text/searchtextqueryview.d.ts +80 -0
  109. package/dist/search/text/searchtextview.d.ts +223 -0
  110. package/dist/spinner/spinnerview.d.ts +29 -0
  111. package/dist/template.d.ts +946 -0
  112. package/dist/textarea/textareaview.d.ts +108 -0
  113. package/dist/toolbar/balloon/balloontoolbar.d.ts +130 -0
  114. package/dist/toolbar/block/blockbuttonview.d.ts +39 -0
  115. package/dist/toolbar/block/blocktoolbar.d.ts +175 -0
  116. package/dist/toolbar/normalizetoolbarconfig.d.ts +44 -0
  117. package/dist/toolbar/toolbarlinebreakview.d.ts +22 -0
  118. package/dist/toolbar/toolbarseparatorview.d.ts +22 -0
  119. package/dist/toolbar/toolbarview.d.ts +271 -0
  120. package/dist/tooltipmanager.d.ts +192 -0
  121. package/dist/translations/af.d.ts +8 -0
  122. package/dist/translations/af.js +5 -0
  123. package/dist/translations/af.umd.js +11 -0
  124. package/dist/translations/ar.d.ts +8 -0
  125. package/dist/translations/ar.js +5 -0
  126. package/dist/translations/ar.umd.js +11 -0
  127. package/dist/translations/ast.d.ts +8 -0
  128. package/dist/translations/ast.js +5 -0
  129. package/dist/translations/ast.umd.js +11 -0
  130. package/dist/translations/az.d.ts +8 -0
  131. package/dist/translations/az.js +5 -0
  132. package/dist/translations/az.umd.js +11 -0
  133. package/dist/translations/bg.d.ts +8 -0
  134. package/dist/translations/bg.js +5 -0
  135. package/dist/translations/bg.umd.js +11 -0
  136. package/dist/translations/bn.d.ts +8 -0
  137. package/dist/translations/bn.js +5 -0
  138. package/dist/translations/bn.umd.js +11 -0
  139. package/dist/translations/bs.d.ts +8 -0
  140. package/dist/translations/bs.js +5 -0
  141. package/dist/translations/bs.umd.js +11 -0
  142. package/dist/translations/ca.d.ts +8 -0
  143. package/dist/translations/ca.js +5 -0
  144. package/dist/translations/ca.umd.js +11 -0
  145. package/dist/translations/cs.d.ts +8 -0
  146. package/dist/translations/cs.js +5 -0
  147. package/dist/translations/cs.umd.js +11 -0
  148. package/dist/translations/da.d.ts +8 -0
  149. package/dist/translations/da.js +5 -0
  150. package/dist/translations/da.umd.js +11 -0
  151. package/dist/translations/de-ch.d.ts +8 -0
  152. package/dist/translations/de-ch.js +5 -0
  153. package/dist/translations/de-ch.umd.js +11 -0
  154. package/dist/translations/de.d.ts +8 -0
  155. package/dist/translations/de.js +5 -0
  156. package/dist/translations/de.umd.js +11 -0
  157. package/dist/translations/el.d.ts +8 -0
  158. package/dist/translations/el.js +5 -0
  159. package/dist/translations/el.umd.js +11 -0
  160. package/dist/translations/en-au.d.ts +8 -0
  161. package/dist/translations/en-au.js +5 -0
  162. package/dist/translations/en-au.umd.js +11 -0
  163. package/dist/translations/en-gb.d.ts +8 -0
  164. package/dist/translations/en-gb.js +5 -0
  165. package/dist/translations/en-gb.umd.js +11 -0
  166. package/dist/translations/en.d.ts +8 -0
  167. package/dist/translations/en.js +5 -0
  168. package/dist/translations/en.umd.js +11 -0
  169. package/dist/translations/eo.d.ts +8 -0
  170. package/dist/translations/eo.js +5 -0
  171. package/dist/translations/eo.umd.js +11 -0
  172. package/dist/translations/es-co.d.ts +8 -0
  173. package/dist/translations/es-co.js +5 -0
  174. package/dist/translations/es-co.umd.js +11 -0
  175. package/dist/translations/es.d.ts +8 -0
  176. package/dist/translations/es.js +5 -0
  177. package/dist/translations/es.umd.js +11 -0
  178. package/dist/translations/et.d.ts +8 -0
  179. package/dist/translations/et.js +5 -0
  180. package/dist/translations/et.umd.js +11 -0
  181. package/dist/translations/eu.d.ts +8 -0
  182. package/dist/translations/eu.js +5 -0
  183. package/dist/translations/eu.umd.js +11 -0
  184. package/dist/translations/fa.d.ts +8 -0
  185. package/dist/translations/fa.js +5 -0
  186. package/dist/translations/fa.umd.js +11 -0
  187. package/dist/translations/fi.d.ts +8 -0
  188. package/dist/translations/fi.js +5 -0
  189. package/dist/translations/fi.umd.js +11 -0
  190. package/dist/translations/fr.d.ts +8 -0
  191. package/dist/translations/fr.js +5 -0
  192. package/dist/translations/fr.umd.js +11 -0
  193. package/dist/translations/gl.d.ts +8 -0
  194. package/dist/translations/gl.js +5 -0
  195. package/dist/translations/gl.umd.js +11 -0
  196. package/dist/translations/he.d.ts +8 -0
  197. package/dist/translations/he.js +5 -0
  198. package/dist/translations/he.umd.js +11 -0
  199. package/dist/translations/hi.d.ts +8 -0
  200. package/dist/translations/hi.js +5 -0
  201. package/dist/translations/hi.umd.js +11 -0
  202. package/dist/translations/hr.d.ts +8 -0
  203. package/dist/translations/hr.js +5 -0
  204. package/dist/translations/hr.umd.js +11 -0
  205. package/dist/translations/hu.d.ts +8 -0
  206. package/dist/translations/hu.js +5 -0
  207. package/dist/translations/hu.umd.js +11 -0
  208. package/dist/translations/id.d.ts +8 -0
  209. package/dist/translations/id.js +5 -0
  210. package/dist/translations/id.umd.js +11 -0
  211. package/dist/translations/it.d.ts +8 -0
  212. package/dist/translations/it.js +5 -0
  213. package/dist/translations/it.umd.js +11 -0
  214. package/dist/translations/ja.d.ts +8 -0
  215. package/dist/translations/ja.js +5 -0
  216. package/dist/translations/ja.umd.js +11 -0
  217. package/dist/translations/jv.d.ts +8 -0
  218. package/dist/translations/jv.js +5 -0
  219. package/dist/translations/jv.umd.js +11 -0
  220. package/dist/translations/km.d.ts +8 -0
  221. package/dist/translations/km.js +5 -0
  222. package/dist/translations/km.umd.js +11 -0
  223. package/dist/translations/kn.d.ts +8 -0
  224. package/dist/translations/kn.js +5 -0
  225. package/dist/translations/kn.umd.js +11 -0
  226. package/dist/translations/ko.d.ts +8 -0
  227. package/dist/translations/ko.js +5 -0
  228. package/dist/translations/ko.umd.js +11 -0
  229. package/dist/translations/ku.d.ts +8 -0
  230. package/dist/translations/ku.js +5 -0
  231. package/dist/translations/ku.umd.js +11 -0
  232. package/dist/translations/lt.d.ts +8 -0
  233. package/dist/translations/lt.js +5 -0
  234. package/dist/translations/lt.umd.js +11 -0
  235. package/dist/translations/lv.d.ts +8 -0
  236. package/dist/translations/lv.js +5 -0
  237. package/dist/translations/lv.umd.js +11 -0
  238. package/dist/translations/ms.d.ts +8 -0
  239. package/dist/translations/ms.js +5 -0
  240. package/dist/translations/ms.umd.js +11 -0
  241. package/dist/translations/nb.d.ts +8 -0
  242. package/dist/translations/nb.js +5 -0
  243. package/dist/translations/nb.umd.js +11 -0
  244. package/dist/translations/ne.d.ts +8 -0
  245. package/dist/translations/ne.js +5 -0
  246. package/dist/translations/ne.umd.js +11 -0
  247. package/dist/translations/nl.d.ts +8 -0
  248. package/dist/translations/nl.js +5 -0
  249. package/dist/translations/nl.umd.js +11 -0
  250. package/dist/translations/no.d.ts +8 -0
  251. package/dist/translations/no.js +5 -0
  252. package/dist/translations/no.umd.js +11 -0
  253. package/dist/translations/pl.d.ts +8 -0
  254. package/dist/translations/pl.js +5 -0
  255. package/dist/translations/pl.umd.js +11 -0
  256. package/dist/translations/pt-br.d.ts +8 -0
  257. package/dist/translations/pt-br.js +5 -0
  258. package/dist/translations/pt-br.umd.js +11 -0
  259. package/dist/translations/pt.d.ts +8 -0
  260. package/dist/translations/pt.js +5 -0
  261. package/dist/translations/pt.umd.js +11 -0
  262. package/dist/translations/ro.d.ts +8 -0
  263. package/dist/translations/ro.js +5 -0
  264. package/dist/translations/ro.umd.js +11 -0
  265. package/dist/translations/ru.d.ts +8 -0
  266. package/dist/translations/ru.js +5 -0
  267. package/dist/translations/ru.umd.js +11 -0
  268. package/dist/translations/sk.d.ts +8 -0
  269. package/dist/translations/sk.js +5 -0
  270. package/dist/translations/sk.umd.js +11 -0
  271. package/dist/translations/sl.d.ts +8 -0
  272. package/dist/translations/sl.js +5 -0
  273. package/dist/translations/sl.umd.js +11 -0
  274. package/dist/translations/sq.d.ts +8 -0
  275. package/dist/translations/sq.js +5 -0
  276. package/dist/translations/sq.umd.js +11 -0
  277. package/dist/translations/sr-latn.d.ts +8 -0
  278. package/dist/translations/sr-latn.js +5 -0
  279. package/dist/translations/sr-latn.umd.js +11 -0
  280. package/dist/translations/sr.d.ts +8 -0
  281. package/dist/translations/sr.js +5 -0
  282. package/dist/translations/sr.umd.js +11 -0
  283. package/dist/translations/sv.d.ts +8 -0
  284. package/dist/translations/sv.js +5 -0
  285. package/dist/translations/sv.umd.js +11 -0
  286. package/dist/translations/th.d.ts +8 -0
  287. package/dist/translations/th.js +5 -0
  288. package/dist/translations/th.umd.js +11 -0
  289. package/dist/translations/ti.d.ts +8 -0
  290. package/dist/translations/ti.js +5 -0
  291. package/dist/translations/ti.umd.js +11 -0
  292. package/dist/translations/tk.d.ts +8 -0
  293. package/dist/translations/tk.js +5 -0
  294. package/dist/translations/tk.umd.js +11 -0
  295. package/dist/translations/tr.d.ts +8 -0
  296. package/dist/translations/tr.js +5 -0
  297. package/dist/translations/tr.umd.js +11 -0
  298. package/dist/translations/tt.d.ts +8 -0
  299. package/dist/translations/tt.js +5 -0
  300. package/dist/translations/tt.umd.js +11 -0
  301. package/dist/translations/ug.d.ts +8 -0
  302. package/dist/translations/ug.js +5 -0
  303. package/dist/translations/ug.umd.js +11 -0
  304. package/dist/translations/uk.d.ts +8 -0
  305. package/dist/translations/uk.js +5 -0
  306. package/dist/translations/uk.umd.js +11 -0
  307. package/dist/translations/ur.d.ts +8 -0
  308. package/dist/translations/ur.js +5 -0
  309. package/dist/translations/ur.umd.js +11 -0
  310. package/dist/translations/uz.d.ts +8 -0
  311. package/dist/translations/uz.js +5 -0
  312. package/dist/translations/uz.umd.js +11 -0
  313. package/dist/translations/vi.d.ts +8 -0
  314. package/dist/translations/vi.js +5 -0
  315. package/dist/translations/vi.umd.js +11 -0
  316. package/dist/translations/zh-cn.d.ts +8 -0
  317. package/dist/translations/zh-cn.js +5 -0
  318. package/dist/translations/zh-cn.umd.js +11 -0
  319. package/dist/translations/zh.d.ts +8 -0
  320. package/dist/translations/zh.js +5 -0
  321. package/dist/translations/zh.umd.js +11 -0
  322. package/dist/view.d.ts +426 -0
  323. package/dist/viewcollection.d.ts +143 -0
  324. package/lang/contexts.json +51 -0
  325. package/lang/translations/af.po +214 -0
  326. package/lang/translations/ar.po +214 -0
  327. package/lang/translations/ast.po +214 -0
  328. package/lang/translations/az.po +214 -0
  329. package/lang/translations/bg.po +214 -0
  330. package/lang/translations/bn.po +214 -0
  331. package/lang/translations/bs.po +214 -0
  332. package/lang/translations/ca.po +214 -0
  333. package/lang/translations/cs.po +214 -0
  334. package/lang/translations/da.po +214 -0
  335. package/lang/translations/de-ch.po +214 -0
  336. package/lang/translations/de.po +214 -0
  337. package/lang/translations/el.po +214 -0
  338. package/lang/translations/en-au.po +214 -0
  339. package/lang/translations/en-gb.po +214 -0
  340. package/lang/translations/en.po +214 -0
  341. package/lang/translations/eo.po +214 -0
  342. package/lang/translations/es-co.po +214 -0
  343. package/lang/translations/es.po +214 -0
  344. package/lang/translations/et.po +214 -0
  345. package/lang/translations/eu.po +214 -0
  346. package/lang/translations/fa.po +214 -0
  347. package/lang/translations/fi.po +214 -0
  348. package/lang/translations/fr.po +214 -0
  349. package/lang/translations/gl.po +214 -0
  350. package/lang/translations/he.po +214 -0
  351. package/lang/translations/hi.po +214 -0
  352. package/lang/translations/hr.po +214 -0
  353. package/lang/translations/hu.po +214 -0
  354. package/lang/translations/id.po +214 -0
  355. package/lang/translations/it.po +214 -0
  356. package/lang/translations/ja.po +214 -0
  357. package/lang/translations/jv.po +214 -0
  358. package/lang/translations/km.po +214 -0
  359. package/lang/translations/kn.po +214 -0
  360. package/lang/translations/ko.po +214 -0
  361. package/lang/translations/ku.po +214 -0
  362. package/lang/translations/lt.po +214 -0
  363. package/lang/translations/lv.po +214 -0
  364. package/lang/translations/ms.po +214 -0
  365. package/lang/translations/nb.po +214 -0
  366. package/lang/translations/ne.po +214 -0
  367. package/lang/translations/nl.po +214 -0
  368. package/lang/translations/no.po +214 -0
  369. package/lang/translations/pl.po +214 -0
  370. package/lang/translations/pt-br.po +214 -0
  371. package/lang/translations/pt.po +214 -0
  372. package/lang/translations/ro.po +214 -0
  373. package/lang/translations/ru.po +214 -0
  374. package/lang/translations/sk.po +214 -0
  375. package/lang/translations/sl.po +214 -0
  376. package/lang/translations/sq.po +214 -0
  377. package/lang/translations/sr-latn.po +214 -0
  378. package/lang/translations/sr.po +214 -0
  379. package/lang/translations/sv.po +214 -0
  380. package/lang/translations/th.po +214 -0
  381. package/lang/translations/ti.po +214 -0
  382. package/lang/translations/tk.po +214 -0
  383. package/lang/translations/tr.po +214 -0
  384. package/lang/translations/tt.po +214 -0
  385. package/lang/translations/ug.po +214 -0
  386. package/lang/translations/uk.po +214 -0
  387. package/lang/translations/ur.po +214 -0
  388. package/lang/translations/uz.po +214 -0
  389. package/lang/translations/vi.po +214 -0
  390. package/lang/translations/zh-cn.po +214 -0
  391. package/lang/translations/zh.po +214 -0
  392. package/package.json +42 -0
  393. package/src/arialiveannouncer.d.ts +109 -0
  394. package/src/arialiveannouncer.js +165 -0
  395. package/src/augmentation.d.ts +88 -0
  396. package/src/augmentation.js +5 -0
  397. package/src/autocomplete/autocompleteview.d.ts +81 -0
  398. package/src/autocomplete/autocompleteview.js +154 -0
  399. package/src/badge/badge.d.ts +129 -0
  400. package/src/badge/badge.js +218 -0
  401. package/src/bindings/addkeyboardhandlingforgrid.d.ts +27 -0
  402. package/src/bindings/addkeyboardhandlingforgrid.js +107 -0
  403. package/src/bindings/clickoutsidehandler.d.ts +30 -0
  404. package/src/bindings/clickoutsidehandler.js +37 -0
  405. package/src/bindings/csstransitiondisablermixin.d.ts +40 -0
  406. package/src/bindings/csstransitiondisablermixin.js +55 -0
  407. package/src/bindings/draggableviewmixin.d.ts +46 -0
  408. package/src/bindings/draggableviewmixin.js +144 -0
  409. package/src/bindings/injectcsstransitiondisabler.d.ts +59 -0
  410. package/src/bindings/injectcsstransitiondisabler.js +71 -0
  411. package/src/bindings/preventdefault.d.ts +33 -0
  412. package/src/bindings/preventdefault.js +34 -0
  413. package/src/bindings/submithandler.d.ts +57 -0
  414. package/src/bindings/submithandler.js +47 -0
  415. package/src/button/button.d.ts +175 -0
  416. package/src/button/button.js +5 -0
  417. package/src/button/buttonlabel.d.ts +34 -0
  418. package/src/button/buttonlabel.js +5 -0
  419. package/src/button/buttonlabelview.d.ts +31 -0
  420. package/src/button/buttonlabelview.js +42 -0
  421. package/src/button/buttonview.d.ts +197 -0
  422. package/src/button/buttonview.js +248 -0
  423. package/src/button/filedialogbuttonview.d.ts +107 -0
  424. package/src/button/filedialogbuttonview.js +145 -0
  425. package/src/button/listitembuttonview.d.ts +78 -0
  426. package/src/button/listitembuttonview.js +129 -0
  427. package/src/button/switchbuttonview.d.ts +45 -0
  428. package/src/button/switchbuttonview.js +75 -0
  429. package/src/collapsible/collapsibleview.d.ts +70 -0
  430. package/src/collapsible/collapsibleview.js +95 -0
  431. package/src/colorgrid/colorgridview.d.ts +132 -0
  432. package/src/colorgrid/colorgridview.js +124 -0
  433. package/src/colorgrid/colortileview.d.ts +28 -0
  434. package/src/colorgrid/colortileview.js +42 -0
  435. package/src/colorgrid/utils.d.ts +47 -0
  436. package/src/colorgrid/utils.js +84 -0
  437. package/src/colorpicker/colorpickerview.d.ts +173 -0
  438. package/src/colorpicker/colorpickerview.js +326 -0
  439. package/src/colorpicker/utils.d.ts +48 -0
  440. package/src/colorpicker/utils.js +108 -0
  441. package/src/colorselector/colorgridsfragmentview.d.ts +195 -0
  442. package/src/colorselector/colorgridsfragmentview.js +291 -0
  443. package/src/colorselector/colorpickerfragmentview.d.ts +133 -0
  444. package/src/colorselector/colorpickerfragmentview.js +212 -0
  445. package/src/colorselector/colorselectorview.d.ts +242 -0
  446. package/src/colorselector/colorselectorview.js +257 -0
  447. package/src/colorselector/documentcolorcollection.d.ts +70 -0
  448. package/src/colorselector/documentcolorcollection.js +42 -0
  449. package/src/componentfactory.d.ts +81 -0
  450. package/src/componentfactory.js +104 -0
  451. package/src/dialog/dialog.d.ts +277 -0
  452. package/src/dialog/dialog.js +279 -0
  453. package/src/dialog/dialogactionsview.d.ts +69 -0
  454. package/src/dialog/dialogactionsview.js +98 -0
  455. package/src/dialog/dialogcontentview.d.ts +27 -0
  456. package/src/dialog/dialogcontentview.js +35 -0
  457. package/src/dialog/dialogview.d.ts +256 -0
  458. package/src/dialog/dialogview.js +453 -0
  459. package/src/dropdown/button/dropdownbutton.d.ts +25 -0
  460. package/src/dropdown/button/dropdownbutton.js +5 -0
  461. package/src/dropdown/button/dropdownbuttonview.d.ts +48 -0
  462. package/src/dropdown/button/dropdownbuttonview.js +66 -0
  463. package/src/dropdown/button/splitbuttonview.d.ts +162 -0
  464. package/src/dropdown/button/splitbuttonview.js +154 -0
  465. package/src/dropdown/dropdownpanelfocusable.d.ts +21 -0
  466. package/src/dropdown/dropdownpanelfocusable.js +5 -0
  467. package/src/dropdown/dropdownpanelview.d.ts +62 -0
  468. package/src/dropdown/dropdownpanelview.js +97 -0
  469. package/src/dropdown/dropdownview.d.ts +328 -0
  470. package/src/dropdown/dropdownview.js +380 -0
  471. package/src/dropdown/menu/dropdownmenubehaviors.d.ts +44 -0
  472. package/src/dropdown/menu/dropdownmenubehaviors.js +119 -0
  473. package/src/dropdown/menu/dropdownmenubuttonview.d.ts +36 -0
  474. package/src/dropdown/menu/dropdownmenubuttonview.js +65 -0
  475. package/src/dropdown/menu/dropdownmenulistitembuttonview.d.ts +17 -0
  476. package/src/dropdown/menu/dropdownmenulistitembuttonview.js +29 -0
  477. package/src/dropdown/menu/dropdownmenulistitemview.d.ts +22 -0
  478. package/src/dropdown/menu/dropdownmenulistitemview.js +34 -0
  479. package/src/dropdown/menu/dropdownmenulistview.d.ts +24 -0
  480. package/src/dropdown/menu/dropdownmenulistview.js +29 -0
  481. package/src/dropdown/menu/dropdownmenunestedmenupanelview.d.ts +34 -0
  482. package/src/dropdown/menu/dropdownmenunestedmenupanelview.js +63 -0
  483. package/src/dropdown/menu/dropdownmenunestedmenuview.d.ts +131 -0
  484. package/src/dropdown/menu/dropdownmenunestedmenuview.js +191 -0
  485. package/src/dropdown/menu/dropdownmenurootlistview.d.ts +140 -0
  486. package/src/dropdown/menu/dropdownmenurootlistview.js +160 -0
  487. package/src/dropdown/menu/utils.d.ts +124 -0
  488. package/src/dropdown/menu/utils.js +61 -0
  489. package/src/dropdown/utils.d.ts +293 -0
  490. package/src/dropdown/utils.js +562 -0
  491. package/src/editableui/editableuiview.d.ts +72 -0
  492. package/src/editableui/editableuiview.js +112 -0
  493. package/src/editableui/inline/inlineeditableuiview.d.ts +44 -0
  494. package/src/editableui/inline/inlineeditableuiview.js +71 -0
  495. package/src/editorui/accessibilityhelp/accessibilityhelp.d.ts +55 -0
  496. package/src/editorui/accessibilityhelp/accessibilityhelp.js +145 -0
  497. package/src/editorui/accessibilityhelp/accessibilityhelpcontentview.d.ts +35 -0
  498. package/src/editorui/accessibilityhelp/accessibilityhelpcontentview.js +112 -0
  499. package/src/editorui/bodycollection.d.ts +55 -0
  500. package/src/editorui/bodycollection.js +85 -0
  501. package/src/editorui/boxed/boxededitoruiview.d.ts +40 -0
  502. package/src/editorui/boxed/boxededitoruiview.js +81 -0
  503. package/src/editorui/editorui.d.ts +354 -0
  504. package/src/editorui/editorui.js +522 -0
  505. package/src/editorui/editoruiview.d.ts +44 -0
  506. package/src/editorui/editoruiview.js +38 -0
  507. package/src/editorui/evaluationbadge.d.ts +33 -0
  508. package/src/editorui/evaluationbadge.js +99 -0
  509. package/src/editorui/poweredby.d.ts +34 -0
  510. package/src/editorui/poweredby.js +127 -0
  511. package/src/focuscycler.d.ts +291 -0
  512. package/src/focuscycler.js +352 -0
  513. package/src/formheader/formheaderview.d.ts +58 -0
  514. package/src/formheader/formheaderview.js +69 -0
  515. package/src/highlightedtext/buttonlabelwithhighlightview.d.ts +30 -0
  516. package/src/highlightedtext/buttonlabelwithhighlightview.js +31 -0
  517. package/src/highlightedtext/highlightedtextview.d.ts +38 -0
  518. package/src/highlightedtext/highlightedtextview.js +102 -0
  519. package/src/highlightedtext/labelwithhighlightview.d.ts +26 -0
  520. package/src/highlightedtext/labelwithhighlightview.js +33 -0
  521. package/src/icon/iconview.d.ts +88 -0
  522. package/src/icon/iconview.js +115 -0
  523. package/src/iframe/iframeview.d.ts +50 -0
  524. package/src/iframe/iframeview.js +63 -0
  525. package/src/index.d.ts +93 -0
  526. package/src/index.js +90 -0
  527. package/src/input/inputbase.d.ts +119 -0
  528. package/src/input/inputbase.js +114 -0
  529. package/src/input/inputview.d.ts +36 -0
  530. package/src/input/inputview.js +24 -0
  531. package/src/inputnumber/inputnumberview.d.ts +49 -0
  532. package/src/inputnumber/inputnumberview.js +40 -0
  533. package/src/inputtext/inputtextview.d.ts +18 -0
  534. package/src/inputtext/inputtextview.js +27 -0
  535. package/src/label/labelview.d.ts +36 -0
  536. package/src/label/labelview.js +41 -0
  537. package/src/labeledfield/labeledfieldview.d.ts +187 -0
  538. package/src/labeledfield/labeledfieldview.js +157 -0
  539. package/src/labeledfield/utils.d.ts +123 -0
  540. package/src/labeledfield/utils.js +176 -0
  541. package/src/labeledinput/labeledinputview.d.ts +125 -0
  542. package/src/labeledinput/labeledinputview.js +125 -0
  543. package/src/list/listitemgroupview.d.ts +59 -0
  544. package/src/list/listitemgroupview.js +67 -0
  545. package/src/list/listitemview.d.ts +36 -0
  546. package/src/list/listitemview.js +42 -0
  547. package/src/list/listseparatorview.d.ts +18 -0
  548. package/src/list/listseparatorview.js +28 -0
  549. package/src/list/listview.d.ts +124 -0
  550. package/src/list/listview.js +188 -0
  551. package/src/menubar/menubarmenubuttonview.d.ts +35 -0
  552. package/src/menubar/menubarmenubuttonview.js +64 -0
  553. package/src/menubar/menubarmenulistitembuttonview.d.ts +21 -0
  554. package/src/menubar/menubarmenulistitembuttonview.js +30 -0
  555. package/src/menubar/menubarmenulistitemfiledialogbuttonview.d.ts +23 -0
  556. package/src/menubar/menubarmenulistitemfiledialogbuttonview.js +32 -0
  557. package/src/menubar/menubarmenulistitemview.d.ts +25 -0
  558. package/src/menubar/menubarmenulistitemview.js +34 -0
  559. package/src/menubar/menubarmenulistview.d.ts +29 -0
  560. package/src/menubar/menubarmenulistview.js +72 -0
  561. package/src/menubar/menubarmenupanelview.d.ts +53 -0
  562. package/src/menubar/menubarmenupanelview.js +60 -0
  563. package/src/menubar/menubarmenuview.d.ts +109 -0
  564. package/src/menubar/menubarmenuview.js +160 -0
  565. package/src/menubar/menubarview.d.ts +173 -0
  566. package/src/menubar/menubarview.js +261 -0
  567. package/src/menubar/utils.d.ts +447 -0
  568. package/src/menubar/utils.js +1388 -0
  569. package/src/model.d.ts +22 -0
  570. package/src/model.js +31 -0
  571. package/src/notification/notification.d.ts +215 -0
  572. package/src/notification/notification.js +193 -0
  573. package/src/panel/balloon/balloonpanelview.d.ts +697 -0
  574. package/src/panel/balloon/balloonpanelview.js +1055 -0
  575. package/src/panel/balloon/contextualballoon.d.ts +309 -0
  576. package/src/panel/balloon/contextualballoon.js +576 -0
  577. package/src/panel/sticky/stickypanelview.d.ts +156 -0
  578. package/src/panel/sticky/stickypanelview.js +234 -0
  579. package/src/search/filteredview.d.ts +31 -0
  580. package/src/search/filteredview.js +5 -0
  581. package/src/search/filtergroupanditemnames.d.ts +15 -0
  582. package/src/search/filtergroupanditemnames.js +38 -0
  583. package/src/search/searchinfoview.d.ts +45 -0
  584. package/src/search/searchinfoview.js +59 -0
  585. package/src/search/searchresultsview.d.ts +54 -0
  586. package/src/search/searchresultsview.js +65 -0
  587. package/src/search/text/searchtextqueryview.d.ts +76 -0
  588. package/src/search/text/searchtextqueryview.js +75 -0
  589. package/src/search/text/searchtextview.d.ts +219 -0
  590. package/src/search/text/searchtextview.js +202 -0
  591. package/src/spinner/spinnerview.d.ts +25 -0
  592. package/src/spinner/spinnerview.js +38 -0
  593. package/src/template.d.ts +942 -0
  594. package/src/template.js +1294 -0
  595. package/src/textarea/textareaview.d.ts +104 -0
  596. package/src/textarea/textareaview.js +182 -0
  597. package/src/toolbar/balloon/balloontoolbar.d.ts +126 -0
  598. package/src/toolbar/balloon/balloontoolbar.js +324 -0
  599. package/src/toolbar/block/blockbuttonview.d.ts +35 -0
  600. package/src/toolbar/block/blockbuttonview.js +41 -0
  601. package/src/toolbar/block/blocktoolbar.d.ts +171 -0
  602. package/src/toolbar/block/blocktoolbar.js +492 -0
  603. package/src/toolbar/normalizetoolbarconfig.d.ts +40 -0
  604. package/src/toolbar/normalizetoolbarconfig.js +52 -0
  605. package/src/toolbar/toolbarlinebreakview.d.ts +18 -0
  606. package/src/toolbar/toolbarlinebreakview.js +28 -0
  607. package/src/toolbar/toolbarseparatorview.d.ts +18 -0
  608. package/src/toolbar/toolbarseparatorview.js +28 -0
  609. package/src/toolbar/toolbarview.d.ts +267 -0
  610. package/src/toolbar/toolbarview.js +721 -0
  611. package/src/tooltipmanager.d.ts +188 -0
  612. package/src/tooltipmanager.js +413 -0
  613. package/src/view.d.ts +422 -0
  614. package/src/view.js +396 -0
  615. package/src/viewcollection.d.ts +139 -0
  616. package/src/viewcollection.js +206 -0
  617. package/theme/components/arialiveannouncer/arialiveannouncer.css +14 -0
  618. package/theme/components/autocomplete/autocomplete.css +22 -0
  619. package/theme/components/button/button.css +39 -0
  620. package/theme/components/button/listitembutton.css +48 -0
  621. package/theme/components/button/switchbutton.css +14 -0
  622. package/theme/components/collapsible/collapsible.css +10 -0
  623. package/theme/components/colorgrid/colorgrid.css +8 -0
  624. package/theme/components/colorpicker/colorpicker.css +34 -0
  625. package/theme/components/colorselector/colorselector.css +35 -0
  626. package/theme/components/dialog/dialog.css +39 -0
  627. package/theme/components/dialog/dialogactions.css +11 -0
  628. package/theme/components/dropdown/dropdown.css +95 -0
  629. package/theme/components/dropdown/listdropdown.css +10 -0
  630. package/theme/components/dropdown/menu/dropdownmenu.css +8 -0
  631. package/theme/components/dropdown/menu/dropdownmenubutton.css +9 -0
  632. package/theme/components/dropdown/menu/dropdownmenulistitem.css +10 -0
  633. package/theme/components/dropdown/menu/dropdownmenulistitembutton.css +10 -0
  634. package/theme/components/dropdown/menu/dropdownmenupanel.css +11 -0
  635. package/theme/components/dropdown/splitbutton.css +14 -0
  636. package/theme/components/dropdown/toolbardropdown.css +20 -0
  637. package/theme/components/editorui/accessibilityhelp.css +10 -0
  638. package/theme/components/editorui/editorui.css +10 -0
  639. package/theme/components/formheader/formheader.css +16 -0
  640. package/theme/components/highlightedtext/highlightedtext.css +12 -0
  641. package/theme/components/icon/icon.css +8 -0
  642. package/theme/components/input/input.css +10 -0
  643. package/theme/components/label/label.css +12 -0
  644. package/theme/components/labeledfield/labeledfieldview.css +16 -0
  645. package/theme/components/labeledinput/labeledinput.css +10 -0
  646. package/theme/components/list/list.css +26 -0
  647. package/theme/components/menubar/menubar.css +10 -0
  648. package/theme/components/menubar/menubarmenu.css +9 -0
  649. package/theme/components/menubar/menubarmenubutton.css +11 -0
  650. package/theme/components/menubar/menubarmenulistitem.css +10 -0
  651. package/theme/components/menubar/menubarmenulistitembutton.css +10 -0
  652. package/theme/components/menubar/menubarmenupanel.css +62 -0
  653. package/theme/components/panel/balloonpanel.css +56 -0
  654. package/theme/components/panel/balloonrotator.css +17 -0
  655. package/theme/components/panel/fakepanel.css +23 -0
  656. package/theme/components/panel/stickypanel.css +17 -0
  657. package/theme/components/responsive-form/responsiveform.css +42 -0
  658. package/theme/components/search/search.css +43 -0
  659. package/theme/components/spinner/spinner.css +23 -0
  660. package/theme/components/textarea/textarea.css +10 -0
  661. package/theme/components/toolbar/blocktoolbar.css +9 -0
  662. package/theme/components/toolbar/toolbar.css +58 -0
  663. package/theme/components/tooltip/tooltip.css +12 -0
  664. package/theme/globals/_evaluationbadge.css +50 -0
  665. package/theme/globals/_hidden.css +13 -0
  666. package/theme/globals/_poweredby.css +72 -0
  667. package/theme/globals/_transition.css +12 -0
  668. package/theme/globals/_zindex.css +10 -0
  669. package/theme/globals/globals.css +10 -0
  670. package/theme/icons/accessibility.svg +1 -0
  671. package/theme/icons/color-tile-check.svg +1 -0
  672. package/theme/icons/dropdown-arrow.svg +1 -0
  673. package/theme/icons/project-logo.svg +1 -0
  674. package/theme/mixins/_dir.css +10 -0
  675. package/theme/mixins/_mediacolors.css +20 -0
  676. package/theme/mixins/_rwd.css +10 -0
  677. package/theme/mixins/_unselectable.css +14 -0
@@ -0,0 +1,112 @@
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
+ * @module ui/editableui/editableuiview
7
+ */
8
+ import View from '../view.js';
9
+ /**
10
+ * The editable UI view class.
11
+ */
12
+ export default class EditableUIView extends View {
13
+ /**
14
+ * Creates an instance of EditableUIView class.
15
+ *
16
+ * @param locale The locale instance.
17
+ * @param editingView The editing view instance the editable is related to.
18
+ * @param editableElement The editable element. If not specified, this view
19
+ * should create it. Otherwise, the existing element should be used.
20
+ */
21
+ constructor(locale, editingView, editableElement) {
22
+ super(locale);
23
+ /**
24
+ * The name of the editable UI view.
25
+ */
26
+ this.name = null;
27
+ this.setTemplate({
28
+ tag: 'div',
29
+ attributes: {
30
+ class: [
31
+ 'ck',
32
+ 'ck-content',
33
+ 'ck-editor__editable',
34
+ 'ck-rounded-corners'
35
+ ],
36
+ lang: locale.contentLanguage,
37
+ dir: locale.contentLanguageDirection
38
+ }
39
+ });
40
+ this.set('isFocused', false);
41
+ this._editableElement = editableElement;
42
+ this._hasExternalElement = !!this._editableElement;
43
+ this._editingView = editingView;
44
+ }
45
+ /**
46
+ * Renders the view by either applying the {@link #template} to the existing
47
+ * {@link module:ui/editableui/editableuiview~EditableUIView#_editableElement} or assigning {@link #element}
48
+ * as {@link module:ui/editableui/editableuiview~EditableUIView#_editableElement}.
49
+ */
50
+ render() {
51
+ super.render();
52
+ if (this._hasExternalElement) {
53
+ this.template.apply(this.element = this._editableElement);
54
+ }
55
+ else {
56
+ this._editableElement = this.element;
57
+ }
58
+ this.on('change:isFocused', () => this._updateIsFocusedClasses());
59
+ this._updateIsFocusedClasses();
60
+ }
61
+ /**
62
+ * @inheritDoc
63
+ */
64
+ destroy() {
65
+ if (this._hasExternalElement) {
66
+ this.template.revert(this._editableElement);
67
+ }
68
+ super.destroy();
69
+ }
70
+ /**
71
+ * Whether an external {@link #_editableElement} was passed into the constructor, which also means
72
+ * the view will not render its {@link #template}.
73
+ */
74
+ get hasExternalElement() {
75
+ return this._hasExternalElement;
76
+ }
77
+ /**
78
+ * Updates the `ck-focused` and `ck-blurred` CSS classes on the {@link #element} according to
79
+ * the {@link #isFocused} property value using the {@link #_editingView editing view} API.
80
+ */
81
+ _updateIsFocusedClasses() {
82
+ const editingView = this._editingView;
83
+ if (editingView.isRenderingInProgress) {
84
+ updateAfterRender(this);
85
+ }
86
+ else {
87
+ update(this);
88
+ }
89
+ function update(view) {
90
+ editingView.change(writer => {
91
+ const viewRoot = editingView.document.getRoot(view.name);
92
+ writer.addClass(view.isFocused ? 'ck-focused' : 'ck-blurred', viewRoot);
93
+ writer.removeClass(view.isFocused ? 'ck-blurred' : 'ck-focused', viewRoot);
94
+ });
95
+ }
96
+ // In a case of a multi-root editor, a callback will be attached more than once (one callback for each root).
97
+ // While executing one callback the `isRenderingInProgress` observable is changing what causes executing another
98
+ // callback and render is called inside the already pending render.
99
+ // We need to be sure that callback is executed only when the value has changed from `true` to `false`.
100
+ // See https://github.com/ckeditor/ckeditor5/issues/1676.
101
+ function updateAfterRender(view) {
102
+ editingView.once('change:isRenderingInProgress', (evt, name, value) => {
103
+ if (!value) {
104
+ update(view);
105
+ }
106
+ else {
107
+ updateAfterRender(view);
108
+ }
109
+ });
110
+ }
111
+ }
112
+ }
@@ -0,0 +1,44 @@
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
+ * @module ui/editableui/inline/inlineeditableuiview
7
+ */
8
+ import EditableUIView from '../editableuiview.js';
9
+ import type { EditingView } from '@ckeditor/ckeditor5-engine';
10
+ import type { Locale } from '@ckeditor/ckeditor5-utils';
11
+ /**
12
+ * The inline editable UI class implementing an inline {@link module:ui/editableui/editableuiview~EditableUIView}.
13
+ */
14
+ export default class InlineEditableUIView extends EditableUIView {
15
+ /**
16
+ * The cached options object passed to the constructor.
17
+ */
18
+ private readonly _options;
19
+ /**
20
+ * Creates an instance of the InlineEditableUIView class.
21
+ *
22
+ * @param locale The locale instance.
23
+ * @param editingView The editing view instance the editable is related to.
24
+ * @param editableElement The editable element. If not specified, the
25
+ * {@link module:ui/editableui/editableuiview~EditableUIView}
26
+ * will create it. Otherwise, the existing element will be used.
27
+ * @param options Additional configuration of the view.
28
+ * @param options.label The label of the editable for assistive technologies. If not provided, a default label is used or,
29
+ * the existing `aria-label` attribute value from the specified `editableElement` is preserved.
30
+ */
31
+ constructor(locale: Locale, editingView: EditingView, editableElement?: HTMLElement, options?: InlineEditableUIViewOptions);
32
+ /**
33
+ * @inheritDoc
34
+ */
35
+ render(): void;
36
+ /**
37
+ * Returns a normalized label for the editable view based on the environment.
38
+ */
39
+ getEditableAriaLabel(): string;
40
+ }
41
+ type InlineEditableUIViewOptions = {
42
+ label?: ((view: InlineEditableUIView) => string) | string | Record<string, string>;
43
+ };
44
+ export {};
@@ -0,0 +1,71 @@
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
+ * @module ui/editableui/inline/inlineeditableuiview
7
+ */
8
+ import EditableUIView from '../editableuiview.js';
9
+ /**
10
+ * The inline editable UI class implementing an inline {@link module:ui/editableui/editableuiview~EditableUIView}.
11
+ */
12
+ export default class InlineEditableUIView extends EditableUIView {
13
+ /**
14
+ * Creates an instance of the InlineEditableUIView class.
15
+ *
16
+ * @param locale The locale instance.
17
+ * @param editingView The editing view instance the editable is related to.
18
+ * @param editableElement The editable element. If not specified, the
19
+ * {@link module:ui/editableui/editableuiview~EditableUIView}
20
+ * will create it. Otherwise, the existing element will be used.
21
+ * @param options Additional configuration of the view.
22
+ * @param options.label The label of the editable for assistive technologies. If not provided, a default label is used or,
23
+ * the existing `aria-label` attribute value from the specified `editableElement` is preserved.
24
+ */
25
+ constructor(locale, editingView, editableElement, options = {}) {
26
+ super(locale, editingView, editableElement);
27
+ this._options = options;
28
+ this.extendTemplate({
29
+ attributes: {
30
+ role: 'textbox',
31
+ class: 'ck-editor__editable_inline'
32
+ }
33
+ });
34
+ }
35
+ /**
36
+ * @inheritDoc
37
+ */
38
+ render() {
39
+ super.render();
40
+ const editingView = this._editingView;
41
+ editingView.change(writer => {
42
+ const viewRoot = editingView.document.getRoot(this.name);
43
+ writer.setAttribute('aria-label', this.getEditableAriaLabel(), viewRoot);
44
+ });
45
+ }
46
+ /**
47
+ * Returns a normalized label for the editable view based on the environment.
48
+ */
49
+ getEditableAriaLabel() {
50
+ const t = this.locale.t;
51
+ const label = this._options.label;
52
+ const editableElement = this._editableElement;
53
+ const editableName = this.name;
54
+ if (typeof label == 'string') {
55
+ return label;
56
+ }
57
+ else if (typeof label === 'object') {
58
+ return label[editableName];
59
+ }
60
+ else if (typeof label === 'function') {
61
+ return label(this);
62
+ }
63
+ else if (editableElement) {
64
+ const existingLabel = editableElement.getAttribute('aria-label');
65
+ if (existingLabel) {
66
+ return existingLabel;
67
+ }
68
+ }
69
+ return t('Rich Text Editor. Editing area: %0', editableName);
70
+ }
71
+ }
@@ -0,0 +1,55 @@
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
+ * @module ui/editorui/accessibilityhelp/accessibilityhelp
7
+ */
8
+ import { Plugin } from '@ckeditor/ckeditor5-core';
9
+ import Dialog from '../../dialog/dialog.js';
10
+ import AccessibilityHelpContentView from './accessibilityhelpcontentview.js';
11
+ import '../../../theme/components/editorui/accessibilityhelp.css';
12
+ /**
13
+ * A plugin that brings the accessibility help dialog to the editor available under the <kbd>Alt</kbd>+<kbd>0</kbd>
14
+ * keystroke and via the "Accessibility help" toolbar button. The dialog displays a list of keystrokes that can be used
15
+ * by the user to perform various actions in the editor.
16
+ *
17
+ * Keystroke information is loaded from {@link module:core/accessibility~Accessibility#keystrokeInfos}. New entries can be
18
+ * added using the API provided by the {@link module:core/accessibility~Accessibility} class.
19
+ */
20
+ export default class AccessibilityHelp extends Plugin {
21
+ /**
22
+ * The view that displays the dialog content (list of keystrokes).
23
+ * Created when the dialog is opened for the first time.
24
+ */
25
+ contentView: AccessibilityHelpContentView | null;
26
+ /**
27
+ * @inheritDoc
28
+ */
29
+ static get requires(): readonly [typeof Dialog];
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ static get pluginName(): "AccessibilityHelp";
34
+ /**
35
+ * @inheritDoc
36
+ */
37
+ static get isOfficialPlugin(): true;
38
+ /**
39
+ * @inheritDoc
40
+ */
41
+ init(): void;
42
+ /**
43
+ * Creates a button to show accessibility help dialog, for use either in toolbar or in menu bar.
44
+ */
45
+ private _createButton;
46
+ /**
47
+ * Injects a help text into each editing root's `aria-label` attribute allowing assistive technology users
48
+ * to discover the availability of the Accessibility help dialog.
49
+ */
50
+ private _setupRootLabels;
51
+ /**
52
+ * Shows the accessibility help dialog. Also, creates {@link #contentView} on demand.
53
+ */
54
+ private _toggleDialog;
55
+ }
@@ -0,0 +1,145 @@
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
+ * @module ui/editorui/accessibilityhelp/accessibilityhelp
7
+ */
8
+ import { Plugin } from '@ckeditor/ckeditor5-core';
9
+ import ButtonView from '../../button/buttonview.js';
10
+ import Dialog from '../../dialog/dialog.js';
11
+ import MenuBarMenuListItemButtonView from '../../menubar/menubarmenulistitembuttonview.js';
12
+ import AccessibilityHelpContentView from './accessibilityhelpcontentview.js';
13
+ import { getEnvKeystrokeText } from '@ckeditor/ckeditor5-utils';
14
+ import accessibilityIcon from '../../../theme/icons/accessibility.svg';
15
+ import '../../../theme/components/editorui/accessibilityhelp.css';
16
+ /**
17
+ * A plugin that brings the accessibility help dialog to the editor available under the <kbd>Alt</kbd>+<kbd>0</kbd>
18
+ * keystroke and via the "Accessibility help" toolbar button. The dialog displays a list of keystrokes that can be used
19
+ * by the user to perform various actions in the editor.
20
+ *
21
+ * Keystroke information is loaded from {@link module:core/accessibility~Accessibility#keystrokeInfos}. New entries can be
22
+ * added using the API provided by the {@link module:core/accessibility~Accessibility} class.
23
+ */
24
+ export default class AccessibilityHelp extends Plugin {
25
+ constructor() {
26
+ super(...arguments);
27
+ /**
28
+ * The view that displays the dialog content (list of keystrokes).
29
+ * Created when the dialog is opened for the first time.
30
+ */
31
+ this.contentView = null;
32
+ }
33
+ /**
34
+ * @inheritDoc
35
+ */
36
+ static get requires() {
37
+ return [Dialog];
38
+ }
39
+ /**
40
+ * @inheritDoc
41
+ */
42
+ static get pluginName() {
43
+ return 'AccessibilityHelp';
44
+ }
45
+ /**
46
+ * @inheritDoc
47
+ */
48
+ static get isOfficialPlugin() {
49
+ return true;
50
+ }
51
+ /**
52
+ * @inheritDoc
53
+ */
54
+ init() {
55
+ const editor = this.editor;
56
+ const t = editor.locale.t;
57
+ editor.ui.componentFactory.add('accessibilityHelp', () => {
58
+ const button = this._createButton(ButtonView);
59
+ button.set({
60
+ tooltip: true,
61
+ withText: false,
62
+ label: t('Accessibility help')
63
+ });
64
+ return button;
65
+ });
66
+ editor.ui.componentFactory.add('menuBar:accessibilityHelp', () => {
67
+ const button = this._createButton(MenuBarMenuListItemButtonView);
68
+ button.label = t('Accessibility');
69
+ return button;
70
+ });
71
+ editor.keystrokes.set('Alt+0', (evt, cancel) => {
72
+ this._toggleDialog();
73
+ cancel();
74
+ });
75
+ this._setupRootLabels();
76
+ }
77
+ /**
78
+ * Creates a button to show accessibility help dialog, for use either in toolbar or in menu bar.
79
+ */
80
+ _createButton(ButtonClass) {
81
+ const editor = this.editor;
82
+ const dialog = editor.plugins.get('Dialog');
83
+ const locale = editor.locale;
84
+ const view = new ButtonClass(locale);
85
+ view.set({
86
+ keystroke: 'Alt+0',
87
+ icon: accessibilityIcon,
88
+ isToggleable: true
89
+ });
90
+ view.on('execute', () => this._toggleDialog());
91
+ view.bind('isOn').to(dialog, 'id', id => id === 'accessibilityHelp');
92
+ return view;
93
+ }
94
+ /**
95
+ * Injects a help text into each editing root's `aria-label` attribute allowing assistive technology users
96
+ * to discover the availability of the Accessibility help dialog.
97
+ */
98
+ _setupRootLabels() {
99
+ const editor = this.editor;
100
+ const editingView = editor.editing.view;
101
+ const t = editor.t;
102
+ editor.ui.on('ready', () => {
103
+ editingView.change(writer => {
104
+ for (const root of editingView.document.roots) {
105
+ addAriaLabelTextToRoot(writer, root);
106
+ }
107
+ });
108
+ editor.on('addRoot', (evt, modelRoot) => {
109
+ const viewRoot = editor.editing.view.document.getRoot(modelRoot.rootName);
110
+ editingView.change(writer => addAriaLabelTextToRoot(writer, viewRoot));
111
+ }, { priority: 'low' });
112
+ });
113
+ function addAriaLabelTextToRoot(writer, viewRoot) {
114
+ const currentAriaLabel = viewRoot.getAttribute('aria-label');
115
+ const newAriaLabel = [currentAriaLabel, t('Press %0 for help.', [getEnvKeystrokeText('Alt+0')])]
116
+ .filter(segment => segment)
117
+ .join('. ');
118
+ writer.setAttribute('aria-label', newAriaLabel, viewRoot);
119
+ }
120
+ }
121
+ /**
122
+ * Shows the accessibility help dialog. Also, creates {@link #contentView} on demand.
123
+ */
124
+ _toggleDialog() {
125
+ const editor = this.editor;
126
+ const dialog = editor.plugins.get('Dialog');
127
+ const t = editor.locale.t;
128
+ if (!this.contentView) {
129
+ this.contentView = new AccessibilityHelpContentView(editor.locale, editor.accessibility.keystrokeInfos);
130
+ }
131
+ if (dialog.id === 'accessibilityHelp') {
132
+ dialog.hide();
133
+ }
134
+ else {
135
+ dialog.show({
136
+ id: 'accessibilityHelp',
137
+ className: 'ck-accessibility-help-dialog',
138
+ title: t('Accessibility help'),
139
+ icon: accessibilityIcon,
140
+ hasCloseButton: true,
141
+ content: this.contentView
142
+ });
143
+ }
144
+ }
145
+ }
@@ -0,0 +1,35 @@
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
+ * @module ui/editorui/accessibilityhelp/accessibilityhelpcontentview
7
+ */
8
+ import { type Locale } from '@ckeditor/ckeditor5-utils';
9
+ import View from '../../view.js';
10
+ import type { KeystrokeInfoDefinitions } from '@ckeditor/ckeditor5-core';
11
+ /**
12
+ * The view displaying keystrokes in the Accessibility help dialog.
13
+ */
14
+ export default class AccessibilityHelpContentView extends View<HTMLDivElement> {
15
+ /**
16
+ * @inheritDoc
17
+ */
18
+ constructor(locale: Locale, keystrokes: KeystrokeInfoDefinitions);
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ focus(): void;
23
+ /**
24
+ * Creates `<section><h3>Category label</h3>...</section>` elements for each category of keystrokes.
25
+ */
26
+ private _createCategories;
27
+ /**
28
+ * Creates `[<h4>Optional label</h4>]<dl>...</dl>` elements for each group of keystrokes in a category.
29
+ */
30
+ private _createGroup;
31
+ /**
32
+ * Creates `<dt>Keystroke label</dt><dd>Keystroke definition</dd>` elements for each keystroke in a group.
33
+ */
34
+ private _createGroupRow;
35
+ }
@@ -0,0 +1,112 @@
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
+ * @module ui/editorui/accessibilityhelp/accessibilityhelpcontentview
7
+ */
8
+ import { createElement, env, getEnvKeystrokeText } from '@ckeditor/ckeditor5-utils';
9
+ import View from '../../view.js';
10
+ import LabelView from '../../label/labelview.js';
11
+ /**
12
+ * The view displaying keystrokes in the Accessibility help dialog.
13
+ */
14
+ export default class AccessibilityHelpContentView extends View {
15
+ /**
16
+ * @inheritDoc
17
+ */
18
+ constructor(locale, keystrokes) {
19
+ super(locale);
20
+ const t = locale.t;
21
+ const helpLabel = new LabelView();
22
+ helpLabel.text = t('Help Contents. To close this dialog press ESC.');
23
+ this.setTemplate({
24
+ tag: 'div',
25
+ attributes: {
26
+ class: ['ck', 'ck-accessibility-help-dialog__content'],
27
+ 'aria-labelledby': helpLabel.id,
28
+ role: 'document',
29
+ tabindex: -1
30
+ },
31
+ children: [
32
+ createElement(document, 'p', {}, t('Below, you can find a list of keyboard shortcuts that can be used in the editor.')),
33
+ ...this._createCategories(Array.from(keystrokes.values())),
34
+ helpLabel
35
+ ]
36
+ });
37
+ }
38
+ /**
39
+ * @inheritDoc
40
+ */
41
+ focus() {
42
+ this.element.focus();
43
+ }
44
+ /**
45
+ * Creates `<section><h3>Category label</h3>...</section>` elements for each category of keystrokes.
46
+ */
47
+ _createCategories(categories) {
48
+ return categories.map(categoryDefinition => {
49
+ const elements = [
50
+ // Category header.
51
+ createElement(document, 'h3', {}, categoryDefinition.label),
52
+ // Category definitions (<dl>) and their optional headers (<h4>).
53
+ ...Array.from(categoryDefinition.groups.values())
54
+ .map(groupDefinition => this._createGroup(groupDefinition))
55
+ .flat()
56
+ ];
57
+ // Category description (<p>).
58
+ if (categoryDefinition.description) {
59
+ elements.splice(1, 0, createElement(document, 'p', {}, categoryDefinition.description));
60
+ }
61
+ return createElement(document, 'section', {}, elements);
62
+ });
63
+ }
64
+ /**
65
+ * Creates `[<h4>Optional label</h4>]<dl>...</dl>` elements for each group of keystrokes in a category.
66
+ */
67
+ _createGroup(groupDefinition) {
68
+ const definitionAndDescriptionElements = groupDefinition.keystrokes
69
+ .sort((a, b) => a.label.localeCompare(b.label))
70
+ .map(keystrokeDefinition => this._createGroupRow(keystrokeDefinition))
71
+ .flat();
72
+ const elements = [
73
+ createElement(document, 'dl', {}, definitionAndDescriptionElements)
74
+ ];
75
+ if (groupDefinition.label) {
76
+ elements.unshift(createElement(document, 'h4', {}, groupDefinition.label));
77
+ }
78
+ return elements;
79
+ }
80
+ /**
81
+ * Creates `<dt>Keystroke label</dt><dd>Keystroke definition</dd>` elements for each keystroke in a group.
82
+ */
83
+ _createGroupRow(keystrokeDefinition) {
84
+ const t = this.locale.t;
85
+ const dt = createElement(document, 'dt');
86
+ const dd = createElement(document, 'dd');
87
+ const normalizedKeystrokeDefinition = normalizeKeystrokeDefinition(keystrokeDefinition.keystroke);
88
+ const keystrokeAlternativeHTMLs = [];
89
+ for (const keystrokeAlternative of normalizedKeystrokeDefinition) {
90
+ keystrokeAlternativeHTMLs.push(keystrokeAlternative.map(keystrokeToEnvKbd).join(''));
91
+ }
92
+ dt.innerHTML = keystrokeDefinition.label;
93
+ dd.innerHTML = keystrokeAlternativeHTMLs.join(', ') +
94
+ (keystrokeDefinition.mayRequireFn && env.isMac ? ` ${t('(may require <kbd>Fn</kbd>)')}` : '');
95
+ return [dt, dd];
96
+ }
97
+ }
98
+ function keystrokeToEnvKbd(keystroke) {
99
+ return getEnvKeystrokeText(keystroke)
100
+ .split('+')
101
+ .map(part => `<kbd>${part}</kbd>`)
102
+ .join('+');
103
+ }
104
+ function normalizeKeystrokeDefinition(definition) {
105
+ if (typeof definition === 'string') {
106
+ return [[definition]];
107
+ }
108
+ if (typeof definition[0] === 'string') {
109
+ return [definition];
110
+ }
111
+ return definition;
112
+ }
@@ -0,0 +1,55 @@
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
+ import ViewCollection from '../viewcollection.js';
6
+ import type View from '../view.js';
7
+ import { type Locale } from '@ckeditor/ckeditor5-utils';
8
+ /**
9
+ * This is a special {@link module:ui/viewcollection~ViewCollection} dedicated to elements that are detached
10
+ * from the DOM structure of the editor, like panels, icons, etc.
11
+ *
12
+ * The body collection is available in the {@link module:ui/editorui/editoruiview~EditorUIView#body `editor.ui.view.body`} property.
13
+ * Any plugin can add a {@link module:ui/view~View view} to this collection.
14
+ * These views will render in a container placed directly in the `<body>` element.
15
+ * The editor will detach and destroy this collection when the editor will be {@link module:core/editor/editor~Editor#destroy destroyed}.
16
+ *
17
+ * If you need to control the life cycle of the body collection on your own, you can create your own instance of this class.
18
+ *
19
+ * A body collection will render itself automatically in the DOM body element as soon as you call {@link ~BodyCollection#attachToDom}.
20
+ * If you create multiple body collections, this class will create a special wrapper element in the DOM to limit the number of
21
+ * elements created directly in the body and remove it when the last body collection will be
22
+ * {@link ~BodyCollection#detachFromDom detached}.
23
+ */
24
+ export default class BodyCollection extends ViewCollection {
25
+ /**
26
+ * The {@link module:core/editor/editor~Editor#locale editor's locale} instance.
27
+ * See the view {@link module:ui/view~View#locale locale} property.
28
+ */
29
+ readonly locale: Locale;
30
+ /**
31
+ * The element holding elements of the body region.
32
+ */
33
+ private _bodyCollectionContainer?;
34
+ /**
35
+ * Creates a new instance of the {@link module:ui/editorui/bodycollection~BodyCollection}.
36
+ *
37
+ * @param locale The {@link module:core/editor/editor~Editor editor's locale} instance.
38
+ * @param initialItems The initial items of the collection.
39
+ */
40
+ constructor(locale: Locale, initialItems?: Iterable<View>);
41
+ /**
42
+ * The element holding elements of the body region.
43
+ */
44
+ get bodyCollectionContainer(): HTMLElement | undefined;
45
+ /**
46
+ * Attaches the body collection to the DOM body element. You need to execute this method to render the content of
47
+ * the body collection.
48
+ */
49
+ attachToDom(): void;
50
+ /**
51
+ * Detaches the collection from the DOM structure. Use this method when you do not need to use the body collection
52
+ * anymore to clean-up the DOM structure.
53
+ */
54
+ detachFromDom(): void;
55
+ }