@ckeditor/ckeditor5-image 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 (526) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +21 -0
  3. package/README.md +26 -0
  4. package/build/image.js +5 -0
  5. package/build/translations/ar.js +1 -0
  6. package/build/translations/ast.js +1 -0
  7. package/build/translations/az.js +1 -0
  8. package/build/translations/bg.js +1 -0
  9. package/build/translations/bn.js +1 -0
  10. package/build/translations/bs.js +1 -0
  11. package/build/translations/ca.js +1 -0
  12. package/build/translations/cs.js +1 -0
  13. package/build/translations/da.js +1 -0
  14. package/build/translations/de-ch.js +1 -0
  15. package/build/translations/de.js +1 -0
  16. package/build/translations/el.js +1 -0
  17. package/build/translations/en-au.js +1 -0
  18. package/build/translations/en-gb.js +1 -0
  19. package/build/translations/eo.js +1 -0
  20. package/build/translations/es.js +1 -0
  21. package/build/translations/et.js +1 -0
  22. package/build/translations/eu.js +1 -0
  23. package/build/translations/fa.js +1 -0
  24. package/build/translations/fi.js +1 -0
  25. package/build/translations/fr.js +1 -0
  26. package/build/translations/gl.js +1 -0
  27. package/build/translations/he.js +1 -0
  28. package/build/translations/hi.js +1 -0
  29. package/build/translations/hr.js +1 -0
  30. package/build/translations/hu.js +1 -0
  31. package/build/translations/id.js +1 -0
  32. package/build/translations/it.js +1 -0
  33. package/build/translations/ja.js +1 -0
  34. package/build/translations/jv.js +1 -0
  35. package/build/translations/km.js +1 -0
  36. package/build/translations/kn.js +1 -0
  37. package/build/translations/ko.js +1 -0
  38. package/build/translations/ku.js +1 -0
  39. package/build/translations/lt.js +1 -0
  40. package/build/translations/lv.js +1 -0
  41. package/build/translations/ms.js +1 -0
  42. package/build/translations/nb.js +1 -0
  43. package/build/translations/ne.js +1 -0
  44. package/build/translations/nl.js +1 -0
  45. package/build/translations/no.js +1 -0
  46. package/build/translations/pl.js +1 -0
  47. package/build/translations/pt-br.js +1 -0
  48. package/build/translations/pt.js +1 -0
  49. package/build/translations/ro.js +1 -0
  50. package/build/translations/ru.js +1 -0
  51. package/build/translations/si.js +1 -0
  52. package/build/translations/sk.js +1 -0
  53. package/build/translations/sq.js +1 -0
  54. package/build/translations/sr-latn.js +1 -0
  55. package/build/translations/sr.js +1 -0
  56. package/build/translations/sv.js +1 -0
  57. package/build/translations/th.js +1 -0
  58. package/build/translations/ti.js +1 -0
  59. package/build/translations/tk.js +1 -0
  60. package/build/translations/tr.js +1 -0
  61. package/build/translations/ug.js +1 -0
  62. package/build/translations/uk.js +1 -0
  63. package/build/translations/ur.js +1 -0
  64. package/build/translations/uz.js +1 -0
  65. package/build/translations/vi.js +1 -0
  66. package/build/translations/zh-cn.js +1 -0
  67. package/build/translations/zh.js +1 -0
  68. package/ckeditor5-metadata.json +270 -0
  69. package/dist/augmentation.d.ts +61 -0
  70. package/dist/autoimage.d.ts +60 -0
  71. package/dist/image/converters.d.ts +70 -0
  72. package/dist/image/imageblockediting.d.ts +67 -0
  73. package/dist/image/imageediting.d.ts +38 -0
  74. package/dist/image/imageinlineediting.d.ts +68 -0
  75. package/dist/image/imageloadobserver.d.ts +52 -0
  76. package/dist/image/imageplaceholder.d.ts +47 -0
  77. package/dist/image/imagetypecommand.d.ts +48 -0
  78. package/dist/image/insertimagecommand.d.ts +72 -0
  79. package/dist/image/replaceimagesourcecommand.d.ts +55 -0
  80. package/dist/image/ui/utils.d.ts +29 -0
  81. package/dist/image/utils.d.ts +68 -0
  82. package/dist/image.d.ts +42 -0
  83. package/dist/imageblock.d.ts +42 -0
  84. package/dist/imagecaption/imagecaptionediting.d.ts +97 -0
  85. package/dist/imagecaption/imagecaptionui.d.ts +34 -0
  86. package/dist/imagecaption/imagecaptionutils.d.ts +46 -0
  87. package/dist/imagecaption/toggleimagecaptioncommand.d.ts +70 -0
  88. package/dist/imagecaption.d.ts +34 -0
  89. package/dist/imageconfig.d.ts +716 -0
  90. package/dist/imageinline.d.ts +42 -0
  91. package/dist/imageinsert/imageinsertui.d.ts +90 -0
  92. package/dist/imageinsert/imageinsertviaurlui.d.ts +74 -0
  93. package/dist/imageinsert/ui/imageinsertformview.d.ts +60 -0
  94. package/dist/imageinsert/ui/imageinserturlview.d.ts +68 -0
  95. package/dist/imageinsert.d.ts +41 -0
  96. package/dist/imageinsertviaurl.d.ts +39 -0
  97. package/dist/imageresize/imagecustomresizeui.d.ts +69 -0
  98. package/dist/imageresize/imageresizebuttons.d.ts +72 -0
  99. package/dist/imageresize/imageresizeediting.d.ts +49 -0
  100. package/dist/imageresize/imageresizehandles.d.ts +39 -0
  101. package/dist/imageresize/resizeimagecommand.d.ts +46 -0
  102. package/dist/imageresize/ui/imagecustomresizeformview.d.ts +133 -0
  103. package/dist/imageresize/utils/getselectedimageeditornodes.d.ts +28 -0
  104. package/dist/imageresize/utils/getselectedimagepossibleresizerange.d.ts +28 -0
  105. package/dist/imageresize/utils/getselectedimagewidthinunits.d.ts +22 -0
  106. package/dist/imageresize/utils/tryparsedimensionwithunit.d.ts +41 -0
  107. package/dist/imageresize.d.ts +36 -0
  108. package/dist/imagesizeattributes.d.ts +42 -0
  109. package/dist/imagestyle/converters.d.ts +28 -0
  110. package/dist/imagestyle/imagestylecommand.d.ts +72 -0
  111. package/dist/imagestyle/imagestyleediting.d.ts +58 -0
  112. package/dist/imagestyle/imagestyleui.d.ts +64 -0
  113. package/dist/imagestyle/utils.d.ts +105 -0
  114. package/dist/imagestyle.d.ts +40 -0
  115. package/dist/imagetextalternative/imagetextalternativecommand.d.ts +38 -0
  116. package/dist/imagetextalternative/imagetextalternativeediting.d.ts +36 -0
  117. package/dist/imagetextalternative/imagetextalternativeui.d.ts +76 -0
  118. package/dist/imagetextalternative/ui/textalternativeformview.d.ts +94 -0
  119. package/dist/imagetextalternative.d.ts +37 -0
  120. package/dist/imagetoolbar.d.ts +43 -0
  121. package/dist/imageupload/imageuploadediting.d.ts +119 -0
  122. package/dist/imageupload/imageuploadprogress.d.ts +50 -0
  123. package/dist/imageupload/imageuploadui.d.ts +55 -0
  124. package/dist/imageupload/uploadimagecommand.d.ts +78 -0
  125. package/dist/imageupload/utils.d.ts +37 -0
  126. package/dist/imageupload.d.ts +40 -0
  127. package/dist/imageutils.d.ts +133 -0
  128. package/dist/index-content.css +150 -0
  129. package/dist/index-editor.css +248 -0
  130. package/dist/index.css +579 -0
  131. package/dist/index.css.map +1 -0
  132. package/dist/index.d.ts +54 -0
  133. package/dist/index.js +6383 -0
  134. package/dist/index.js.map +1 -0
  135. package/dist/pictureediting.d.ts +96 -0
  136. package/dist/translations/ar.d.ts +8 -0
  137. package/dist/translations/ar.js +5 -0
  138. package/dist/translations/ar.umd.js +11 -0
  139. package/dist/translations/ast.d.ts +8 -0
  140. package/dist/translations/ast.js +5 -0
  141. package/dist/translations/ast.umd.js +11 -0
  142. package/dist/translations/az.d.ts +8 -0
  143. package/dist/translations/az.js +5 -0
  144. package/dist/translations/az.umd.js +11 -0
  145. package/dist/translations/bg.d.ts +8 -0
  146. package/dist/translations/bg.js +5 -0
  147. package/dist/translations/bg.umd.js +11 -0
  148. package/dist/translations/bn.d.ts +8 -0
  149. package/dist/translations/bn.js +5 -0
  150. package/dist/translations/bn.umd.js +11 -0
  151. package/dist/translations/bs.d.ts +8 -0
  152. package/dist/translations/bs.js +5 -0
  153. package/dist/translations/bs.umd.js +11 -0
  154. package/dist/translations/ca.d.ts +8 -0
  155. package/dist/translations/ca.js +5 -0
  156. package/dist/translations/ca.umd.js +11 -0
  157. package/dist/translations/cs.d.ts +8 -0
  158. package/dist/translations/cs.js +5 -0
  159. package/dist/translations/cs.umd.js +11 -0
  160. package/dist/translations/da.d.ts +8 -0
  161. package/dist/translations/da.js +5 -0
  162. package/dist/translations/da.umd.js +11 -0
  163. package/dist/translations/de-ch.d.ts +8 -0
  164. package/dist/translations/de-ch.js +5 -0
  165. package/dist/translations/de-ch.umd.js +11 -0
  166. package/dist/translations/de.d.ts +8 -0
  167. package/dist/translations/de.js +5 -0
  168. package/dist/translations/de.umd.js +11 -0
  169. package/dist/translations/el.d.ts +8 -0
  170. package/dist/translations/el.js +5 -0
  171. package/dist/translations/el.umd.js +11 -0
  172. package/dist/translations/en-au.d.ts +8 -0
  173. package/dist/translations/en-au.js +5 -0
  174. package/dist/translations/en-au.umd.js +11 -0
  175. package/dist/translations/en-gb.d.ts +8 -0
  176. package/dist/translations/en-gb.js +5 -0
  177. package/dist/translations/en-gb.umd.js +11 -0
  178. package/dist/translations/en.d.ts +8 -0
  179. package/dist/translations/en.js +5 -0
  180. package/dist/translations/en.umd.js +11 -0
  181. package/dist/translations/eo.d.ts +8 -0
  182. package/dist/translations/eo.js +5 -0
  183. package/dist/translations/eo.umd.js +11 -0
  184. package/dist/translations/es.d.ts +8 -0
  185. package/dist/translations/es.js +5 -0
  186. package/dist/translations/es.umd.js +11 -0
  187. package/dist/translations/et.d.ts +8 -0
  188. package/dist/translations/et.js +5 -0
  189. package/dist/translations/et.umd.js +11 -0
  190. package/dist/translations/eu.d.ts +8 -0
  191. package/dist/translations/eu.js +5 -0
  192. package/dist/translations/eu.umd.js +11 -0
  193. package/dist/translations/fa.d.ts +8 -0
  194. package/dist/translations/fa.js +5 -0
  195. package/dist/translations/fa.umd.js +11 -0
  196. package/dist/translations/fi.d.ts +8 -0
  197. package/dist/translations/fi.js +5 -0
  198. package/dist/translations/fi.umd.js +11 -0
  199. package/dist/translations/fr.d.ts +8 -0
  200. package/dist/translations/fr.js +5 -0
  201. package/dist/translations/fr.umd.js +11 -0
  202. package/dist/translations/gl.d.ts +8 -0
  203. package/dist/translations/gl.js +5 -0
  204. package/dist/translations/gl.umd.js +11 -0
  205. package/dist/translations/he.d.ts +8 -0
  206. package/dist/translations/he.js +5 -0
  207. package/dist/translations/he.umd.js +11 -0
  208. package/dist/translations/hi.d.ts +8 -0
  209. package/dist/translations/hi.js +5 -0
  210. package/dist/translations/hi.umd.js +11 -0
  211. package/dist/translations/hr.d.ts +8 -0
  212. package/dist/translations/hr.js +5 -0
  213. package/dist/translations/hr.umd.js +11 -0
  214. package/dist/translations/hu.d.ts +8 -0
  215. package/dist/translations/hu.js +5 -0
  216. package/dist/translations/hu.umd.js +11 -0
  217. package/dist/translations/id.d.ts +8 -0
  218. package/dist/translations/id.js +5 -0
  219. package/dist/translations/id.umd.js +11 -0
  220. package/dist/translations/it.d.ts +8 -0
  221. package/dist/translations/it.js +5 -0
  222. package/dist/translations/it.umd.js +11 -0
  223. package/dist/translations/ja.d.ts +8 -0
  224. package/dist/translations/ja.js +5 -0
  225. package/dist/translations/ja.umd.js +11 -0
  226. package/dist/translations/jv.d.ts +8 -0
  227. package/dist/translations/jv.js +5 -0
  228. package/dist/translations/jv.umd.js +11 -0
  229. package/dist/translations/km.d.ts +8 -0
  230. package/dist/translations/km.js +5 -0
  231. package/dist/translations/km.umd.js +11 -0
  232. package/dist/translations/kn.d.ts +8 -0
  233. package/dist/translations/kn.js +5 -0
  234. package/dist/translations/kn.umd.js +11 -0
  235. package/dist/translations/ko.d.ts +8 -0
  236. package/dist/translations/ko.js +5 -0
  237. package/dist/translations/ko.umd.js +11 -0
  238. package/dist/translations/ku.d.ts +8 -0
  239. package/dist/translations/ku.js +5 -0
  240. package/dist/translations/ku.umd.js +11 -0
  241. package/dist/translations/lt.d.ts +8 -0
  242. package/dist/translations/lt.js +5 -0
  243. package/dist/translations/lt.umd.js +11 -0
  244. package/dist/translations/lv.d.ts +8 -0
  245. package/dist/translations/lv.js +5 -0
  246. package/dist/translations/lv.umd.js +11 -0
  247. package/dist/translations/ms.d.ts +8 -0
  248. package/dist/translations/ms.js +5 -0
  249. package/dist/translations/ms.umd.js +11 -0
  250. package/dist/translations/nb.d.ts +8 -0
  251. package/dist/translations/nb.js +5 -0
  252. package/dist/translations/nb.umd.js +11 -0
  253. package/dist/translations/ne.d.ts +8 -0
  254. package/dist/translations/ne.js +5 -0
  255. package/dist/translations/ne.umd.js +11 -0
  256. package/dist/translations/nl.d.ts +8 -0
  257. package/dist/translations/nl.js +5 -0
  258. package/dist/translations/nl.umd.js +11 -0
  259. package/dist/translations/no.d.ts +8 -0
  260. package/dist/translations/no.js +5 -0
  261. package/dist/translations/no.umd.js +11 -0
  262. package/dist/translations/pl.d.ts +8 -0
  263. package/dist/translations/pl.js +5 -0
  264. package/dist/translations/pl.umd.js +11 -0
  265. package/dist/translations/pt-br.d.ts +8 -0
  266. package/dist/translations/pt-br.js +5 -0
  267. package/dist/translations/pt-br.umd.js +11 -0
  268. package/dist/translations/pt.d.ts +8 -0
  269. package/dist/translations/pt.js +5 -0
  270. package/dist/translations/pt.umd.js +11 -0
  271. package/dist/translations/ro.d.ts +8 -0
  272. package/dist/translations/ro.js +5 -0
  273. package/dist/translations/ro.umd.js +11 -0
  274. package/dist/translations/ru.d.ts +8 -0
  275. package/dist/translations/ru.js +5 -0
  276. package/dist/translations/ru.umd.js +11 -0
  277. package/dist/translations/si.d.ts +8 -0
  278. package/dist/translations/si.js +5 -0
  279. package/dist/translations/si.umd.js +11 -0
  280. package/dist/translations/sk.d.ts +8 -0
  281. package/dist/translations/sk.js +5 -0
  282. package/dist/translations/sk.umd.js +11 -0
  283. package/dist/translations/sq.d.ts +8 -0
  284. package/dist/translations/sq.js +5 -0
  285. package/dist/translations/sq.umd.js +11 -0
  286. package/dist/translations/sr-latn.d.ts +8 -0
  287. package/dist/translations/sr-latn.js +5 -0
  288. package/dist/translations/sr-latn.umd.js +11 -0
  289. package/dist/translations/sr.d.ts +8 -0
  290. package/dist/translations/sr.js +5 -0
  291. package/dist/translations/sr.umd.js +11 -0
  292. package/dist/translations/sv.d.ts +8 -0
  293. package/dist/translations/sv.js +5 -0
  294. package/dist/translations/sv.umd.js +11 -0
  295. package/dist/translations/th.d.ts +8 -0
  296. package/dist/translations/th.js +5 -0
  297. package/dist/translations/th.umd.js +11 -0
  298. package/dist/translations/ti.d.ts +8 -0
  299. package/dist/translations/ti.js +5 -0
  300. package/dist/translations/ti.umd.js +11 -0
  301. package/dist/translations/tk.d.ts +8 -0
  302. package/dist/translations/tk.js +5 -0
  303. package/dist/translations/tk.umd.js +11 -0
  304. package/dist/translations/tr.d.ts +8 -0
  305. package/dist/translations/tr.js +5 -0
  306. package/dist/translations/tr.umd.js +11 -0
  307. package/dist/translations/ug.d.ts +8 -0
  308. package/dist/translations/ug.js +5 -0
  309. package/dist/translations/ug.umd.js +11 -0
  310. package/dist/translations/uk.d.ts +8 -0
  311. package/dist/translations/uk.js +5 -0
  312. package/dist/translations/uk.umd.js +11 -0
  313. package/dist/translations/ur.d.ts +8 -0
  314. package/dist/translations/ur.js +5 -0
  315. package/dist/translations/ur.umd.js +11 -0
  316. package/dist/translations/uz.d.ts +8 -0
  317. package/dist/translations/uz.js +5 -0
  318. package/dist/translations/uz.umd.js +11 -0
  319. package/dist/translations/vi.d.ts +8 -0
  320. package/dist/translations/vi.js +5 -0
  321. package/dist/translations/vi.umd.js +11 -0
  322. package/dist/translations/zh-cn.d.ts +8 -0
  323. package/dist/translations/zh-cn.js +5 -0
  324. package/dist/translations/zh-cn.umd.js +11 -0
  325. package/dist/translations/zh.d.ts +8 -0
  326. package/dist/translations/zh.js +5 -0
  327. package/dist/translations/zh.umd.js +11 -0
  328. package/lang/contexts.json +46 -0
  329. package/lang/translations/ar.po +194 -0
  330. package/lang/translations/ast.po +194 -0
  331. package/lang/translations/az.po +194 -0
  332. package/lang/translations/bg.po +194 -0
  333. package/lang/translations/bn.po +194 -0
  334. package/lang/translations/bs.po +194 -0
  335. package/lang/translations/ca.po +194 -0
  336. package/lang/translations/cs.po +194 -0
  337. package/lang/translations/da.po +194 -0
  338. package/lang/translations/de-ch.po +194 -0
  339. package/lang/translations/de.po +194 -0
  340. package/lang/translations/el.po +194 -0
  341. package/lang/translations/en-au.po +194 -0
  342. package/lang/translations/en-gb.po +194 -0
  343. package/lang/translations/en.po +194 -0
  344. package/lang/translations/eo.po +194 -0
  345. package/lang/translations/es.po +194 -0
  346. package/lang/translations/et.po +194 -0
  347. package/lang/translations/eu.po +194 -0
  348. package/lang/translations/fa.po +194 -0
  349. package/lang/translations/fi.po +194 -0
  350. package/lang/translations/fr.po +194 -0
  351. package/lang/translations/gl.po +194 -0
  352. package/lang/translations/he.po +194 -0
  353. package/lang/translations/hi.po +194 -0
  354. package/lang/translations/hr.po +194 -0
  355. package/lang/translations/hu.po +194 -0
  356. package/lang/translations/id.po +194 -0
  357. package/lang/translations/it.po +194 -0
  358. package/lang/translations/ja.po +194 -0
  359. package/lang/translations/jv.po +194 -0
  360. package/lang/translations/km.po +194 -0
  361. package/lang/translations/kn.po +194 -0
  362. package/lang/translations/ko.po +194 -0
  363. package/lang/translations/ku.po +194 -0
  364. package/lang/translations/lt.po +194 -0
  365. package/lang/translations/lv.po +194 -0
  366. package/lang/translations/ms.po +194 -0
  367. package/lang/translations/nb.po +194 -0
  368. package/lang/translations/ne.po +194 -0
  369. package/lang/translations/nl.po +194 -0
  370. package/lang/translations/no.po +194 -0
  371. package/lang/translations/pl.po +194 -0
  372. package/lang/translations/pt-br.po +194 -0
  373. package/lang/translations/pt.po +194 -0
  374. package/lang/translations/ro.po +194 -0
  375. package/lang/translations/ru.po +194 -0
  376. package/lang/translations/si.po +194 -0
  377. package/lang/translations/sk.po +194 -0
  378. package/lang/translations/sq.po +194 -0
  379. package/lang/translations/sr-latn.po +194 -0
  380. package/lang/translations/sr.po +194 -0
  381. package/lang/translations/sv.po +194 -0
  382. package/lang/translations/th.po +194 -0
  383. package/lang/translations/ti.po +194 -0
  384. package/lang/translations/tk.po +194 -0
  385. package/lang/translations/tr.po +194 -0
  386. package/lang/translations/ug.po +194 -0
  387. package/lang/translations/uk.po +194 -0
  388. package/lang/translations/ur.po +194 -0
  389. package/lang/translations/uz.po +194 -0
  390. package/lang/translations/vi.po +194 -0
  391. package/lang/translations/zh-cn.po +194 -0
  392. package/lang/translations/zh.po +194 -0
  393. package/package.json +48 -0
  394. package/src/augmentation.d.ts +57 -0
  395. package/src/augmentation.js +5 -0
  396. package/src/autoimage.d.ts +56 -0
  397. package/src/autoimage.js +138 -0
  398. package/src/image/converters.d.ts +66 -0
  399. package/src/image/converters.js +232 -0
  400. package/src/image/imageblockediting.d.ts +63 -0
  401. package/src/image/imageblockediting.js +159 -0
  402. package/src/image/imageediting.d.ts +34 -0
  403. package/src/image/imageediting.js +69 -0
  404. package/src/image/imageinlineediting.d.ts +64 -0
  405. package/src/image/imageinlineediting.js +178 -0
  406. package/src/image/imageloadobserver.d.ts +48 -0
  407. package/src/image/imageloadobserver.js +52 -0
  408. package/src/image/imageplaceholder.d.ts +43 -0
  409. package/src/image/imageplaceholder.js +119 -0
  410. package/src/image/imagetypecommand.d.ts +44 -0
  411. package/src/image/imagetypecommand.js +80 -0
  412. package/src/image/insertimagecommand.d.ts +68 -0
  413. package/src/image/insertimagecommand.js +121 -0
  414. package/src/image/replaceimagesourcecommand.d.ts +51 -0
  415. package/src/image/replaceimagesourcecommand.js +75 -0
  416. package/src/image/ui/utils.d.ts +25 -0
  417. package/src/image/ui/utils.js +44 -0
  418. package/src/image/utils.d.ts +64 -0
  419. package/src/image/utils.js +121 -0
  420. package/src/image.d.ts +38 -0
  421. package/src/image.js +44 -0
  422. package/src/imageblock.d.ts +38 -0
  423. package/src/imageblock.js +44 -0
  424. package/src/imagecaption/imagecaptionediting.d.ts +93 -0
  425. package/src/imagecaption/imagecaptionediting.js +231 -0
  426. package/src/imagecaption/imagecaptionui.d.ts +30 -0
  427. package/src/imagecaption/imagecaptionui.js +67 -0
  428. package/src/imagecaption/imagecaptionutils.d.ts +42 -0
  429. package/src/imagecaption/imagecaptionutils.js +68 -0
  430. package/src/imagecaption/toggleimagecaptioncommand.d.ts +66 -0
  431. package/src/imagecaption/toggleimagecaptioncommand.js +138 -0
  432. package/src/imagecaption.d.ts +30 -0
  433. package/src/imagecaption.js +36 -0
  434. package/src/imageconfig.d.ts +712 -0
  435. package/src/imageconfig.js +5 -0
  436. package/src/imageinline.d.ts +38 -0
  437. package/src/imageinline.js +44 -0
  438. package/src/imageinsert/imageinsertui.d.ts +86 -0
  439. package/src/imageinsert/imageinsertui.js +217 -0
  440. package/src/imageinsert/imageinsertviaurlui.d.ts +70 -0
  441. package/src/imageinsert/imageinsertviaurlui.js +174 -0
  442. package/src/imageinsert/ui/imageinsertformview.d.ts +56 -0
  443. package/src/imageinsert/ui/imageinsertformview.js +95 -0
  444. package/src/imageinsert/ui/imageinserturlview.d.ts +64 -0
  445. package/src/imageinsert/ui/imageinserturlview.js +88 -0
  446. package/src/imageinsert.d.ts +37 -0
  447. package/src/imageinsert.js +43 -0
  448. package/src/imageinsertviaurl.d.ts +35 -0
  449. package/src/imageinsertviaurl.js +41 -0
  450. package/src/imageresize/imagecustomresizeui.d.ts +65 -0
  451. package/src/imageresize/imagecustomresizeui.js +174 -0
  452. package/src/imageresize/imageresizebuttons.d.ts +68 -0
  453. package/src/imageresize/imageresizebuttons.js +295 -0
  454. package/src/imageresize/imageresizeediting.d.ts +45 -0
  455. package/src/imageresize/imageresizeediting.js +183 -0
  456. package/src/imageresize/imageresizehandles.d.ts +35 -0
  457. package/src/imageresize/imageresizehandles.js +118 -0
  458. package/src/imageresize/resizeimagecommand.d.ts +42 -0
  459. package/src/imageresize/resizeimagecommand.js +63 -0
  460. package/src/imageresize/ui/imagecustomresizeformview.d.ts +129 -0
  461. package/src/imageresize/ui/imagecustomresizeformview.js +186 -0
  462. package/src/imageresize/utils/getselectedimageeditornodes.d.ts +24 -0
  463. package/src/imageresize/utils/getselectedimageeditornodes.js +24 -0
  464. package/src/imageresize/utils/getselectedimagepossibleresizerange.d.ts +24 -0
  465. package/src/imageresize/utils/getselectedimagepossibleresizerange.js +32 -0
  466. package/src/imageresize/utils/getselectedimagewidthinunits.d.ts +18 -0
  467. package/src/imageresize/utils/getselectedimagewidthinunits.js +41 -0
  468. package/src/imageresize/utils/tryparsedimensionwithunit.d.ts +37 -0
  469. package/src/imageresize/utils/tryparsedimensionwithunit.js +56 -0
  470. package/src/imageresize.d.ts +32 -0
  471. package/src/imageresize.js +38 -0
  472. package/src/imagesizeattributes.d.ts +38 -0
  473. package/src/imagesizeattributes.js +148 -0
  474. package/src/imagestyle/converters.d.ts +24 -0
  475. package/src/imagestyle/converters.js +79 -0
  476. package/src/imagestyle/imagestylecommand.d.ts +68 -0
  477. package/src/imagestyle/imagestylecommand.js +107 -0
  478. package/src/imagestyle/imagestyleediting.d.ts +54 -0
  479. package/src/imagestyle/imagestyleediting.js +114 -0
  480. package/src/imagestyle/imagestyleui.d.ts +60 -0
  481. package/src/imagestyle/imagestyleui.js +198 -0
  482. package/src/imagestyle/utils.d.ts +101 -0
  483. package/src/imagestyle/utils.js +328 -0
  484. package/src/imagestyle.d.ts +36 -0
  485. package/src/imagestyle.js +42 -0
  486. package/src/imagetextalternative/imagetextalternativecommand.d.ts +34 -0
  487. package/src/imagetextalternative/imagetextalternativecommand.js +44 -0
  488. package/src/imagetextalternative/imagetextalternativeediting.d.ts +32 -0
  489. package/src/imagetextalternative/imagetextalternativeediting.js +41 -0
  490. package/src/imagetextalternative/imagetextalternativeui.d.ts +72 -0
  491. package/src/imagetextalternative/imagetextalternativeui.js +179 -0
  492. package/src/imagetextalternative/ui/textalternativeformview.d.ts +90 -0
  493. package/src/imagetextalternative/ui/textalternativeformview.js +121 -0
  494. package/src/imagetextalternative.d.ts +33 -0
  495. package/src/imagetextalternative.js +39 -0
  496. package/src/imagetoolbar.d.ts +39 -0
  497. package/src/imagetoolbar.js +63 -0
  498. package/src/imageupload/imageuploadediting.d.ts +115 -0
  499. package/src/imageupload/imageuploadediting.js +361 -0
  500. package/src/imageupload/imageuploadprogress.d.ts +46 -0
  501. package/src/imageupload/imageuploadprogress.js +217 -0
  502. package/src/imageupload/imageuploadui.d.ts +51 -0
  503. package/src/imageupload/imageuploadui.js +134 -0
  504. package/src/imageupload/uploadimagecommand.d.ts +74 -0
  505. package/src/imageupload/uploadimagecommand.js +110 -0
  506. package/src/imageupload/utils.d.ts +33 -0
  507. package/src/imageupload/utils.js +112 -0
  508. package/src/imageupload.d.ts +36 -0
  509. package/src/imageupload.js +42 -0
  510. package/src/imageutils.d.ts +129 -0
  511. package/src/imageutils.js +312 -0
  512. package/src/index.d.ts +50 -0
  513. package/src/index.js +41 -0
  514. package/src/pictureediting.d.ts +92 -0
  515. package/src/pictureediting.js +136 -0
  516. package/theme/image.css +143 -0
  517. package/theme/imagecaption.css +51 -0
  518. package/theme/imagecustomresizeform.css +33 -0
  519. package/theme/imageinsert.css +14 -0
  520. package/theme/imageplaceholder.css +10 -0
  521. package/theme/imageresize.css +53 -0
  522. package/theme/imagestyle.css +120 -0
  523. package/theme/imageuploadicon.css +23 -0
  524. package/theme/imageuploadloader.css +18 -0
  525. package/theme/imageuploadprogress.css +19 -0
  526. package/theme/textalternativeform.css +32 -0
@@ -0,0 +1,47 @@
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 image/image/imageplaceholder
11
+ */
12
+ import { Plugin } from 'ckeditor5/src/core.js';
13
+ import ImageUtils from '../imageutils.js';
14
+ import '../../theme/imageplaceholder.css';
15
+ /**
16
+ * Adds support for image placeholder that is automatically removed when the image is loaded.
17
+ */
18
+ export default class ImagePlaceholder extends Plugin {
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ static get requires(): readonly [typeof ImageUtils];
23
+ /**
24
+ * @inheritDoc
25
+ */
26
+ static get pluginName(): "ImagePlaceholder";
27
+ /**
28
+ * @inheritDoc
29
+ */
30
+ static get isOfficialPlugin(): true;
31
+ /**
32
+ * @inheritDoc
33
+ */
34
+ afterInit(): void;
35
+ /**
36
+ * Extends model schema.
37
+ */
38
+ private _setupSchema;
39
+ /**
40
+ * Registers converters.
41
+ */
42
+ private _setupConversion;
43
+ /**
44
+ * Prepares listener for image load.
45
+ */
46
+ private _setupLoadListener;
47
+ }
@@ -0,0 +1,48 @@
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 image/image/imagetypecommand
11
+ */
12
+ import type { Element } from 'ckeditor5/src/engine.js';
13
+ import { Command, type Editor } from 'ckeditor5/src/core.js';
14
+ /**
15
+ * The image type command. It changes the type of a selected image, depending on the configuration.
16
+ */
17
+ export default class ImageTypeCommand extends Command {
18
+ /**
19
+ * Model element name the command converts to.
20
+ */
21
+ private readonly _modelElementName;
22
+ /**
23
+ * @inheritDoc
24
+ *
25
+ * @param modelElementName Model element name the command converts to.
26
+ */
27
+ constructor(editor: Editor, modelElementName: 'imageBlock' | 'imageInline');
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ refresh(): void;
32
+ /**
33
+ * Executes the command and changes the type of a selected image.
34
+ *
35
+ * @fires execute
36
+ * @param options.setImageSizes Specifies whether the image `width` and `height` attributes should be set automatically.
37
+ * The default is `true`.
38
+ * @returns An object containing references to old and new model image elements
39
+ * (for before and after the change) so external integrations can hook into the decorated
40
+ * `execute` event and handle this change. `null` if the type change failed.
41
+ */
42
+ execute(options?: {
43
+ setImageSizes?: boolean;
44
+ }): {
45
+ oldElement: Element;
46
+ newElement: Element;
47
+ } | null;
48
+ }
@@ -0,0 +1,72 @@
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 image/image/insertimagecommand
11
+ */
12
+ import { Command, type Editor } from 'ckeditor5/src/core.js';
13
+ import { type ArrayOrItem } from 'ckeditor5/src/utils.js';
14
+ /**
15
+ * Insert image command.
16
+ *
17
+ * The command is registered by the {@link module:image/image/imageediting~ImageEditing} plugin as `insertImage`
18
+ * and it is also available via aliased `imageInsert` name.
19
+ *
20
+ * In order to insert an image at the current selection position
21
+ * (according to the {@link module:widget/utils~findOptimalInsertionRange} algorithm),
22
+ * execute the command and specify the image source:
23
+ *
24
+ * ```ts
25
+ * editor.execute( 'insertImage', { source: 'http://url.to.the/image' } );
26
+ * ```
27
+ *
28
+ * It is also possible to insert multiple images at once:
29
+ *
30
+ * ```ts
31
+ * editor.execute( 'insertImage', {
32
+ * source: [
33
+ * 'path/to/image.jpg',
34
+ * 'path/to/other-image.jpg'
35
+ * ]
36
+ * } );
37
+ * ```
38
+ *
39
+ * If you want to take the full control over the process, you can specify individual model attributes:
40
+ *
41
+ * ```ts
42
+ * editor.execute( 'insertImage', {
43
+ * source: [
44
+ * { src: 'path/to/image.jpg', alt: 'First alt text' },
45
+ * { src: 'path/to/other-image.jpg', alt: 'Second alt text', customAttribute: 'My attribute value' }
46
+ * ]
47
+ * } );
48
+ * ```
49
+ */
50
+ export default class InsertImageCommand extends Command {
51
+ /**
52
+ * @inheritDoc
53
+ */
54
+ constructor(editor: Editor);
55
+ /**
56
+ * @inheritDoc
57
+ */
58
+ refresh(): void;
59
+ /**
60
+ * Executes the command.
61
+ *
62
+ * @fires execute
63
+ * @param options Options for the executed command.
64
+ * @param options.imageType The type of the image to insert. If not specified, the type will be determined automatically.
65
+ * @param options.source The image source or an array of image sources to insert.
66
+ * See the documentation of the command to learn more about accepted formats.
67
+ */
68
+ execute(options: {
69
+ source: ArrayOrItem<string | Record<string, unknown>>;
70
+ imageType?: 'imageBlock' | 'imageInline' | null;
71
+ }): void;
72
+ }
@@ -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
+ * @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
+ import { Command, type Editor } from 'ckeditor5/src/core.js';
10
+ import type { Writer, Element } from 'ckeditor5/src/engine.js';
11
+ /**
12
+ * @module image/image/replaceimagesourcecommand
13
+ */
14
+ /**
15
+ * Replace image source command.
16
+ *
17
+ * Changes image source to the one provided. Can be executed as follows:
18
+ *
19
+ * ```ts
20
+ * editor.execute( 'replaceImageSource', { source: 'http://url.to.the/image' } );
21
+ * ```
22
+ */
23
+ export default class ReplaceImageSourceCommand extends Command {
24
+ value: string | null;
25
+ constructor(editor: Editor);
26
+ /**
27
+ * @inheritDoc
28
+ */
29
+ refresh(): void;
30
+ /**
31
+ * Executes the command.
32
+ *
33
+ * @fires execute
34
+ * @param options Options for the executed command.
35
+ * @param options.source The image source to replace.
36
+ */
37
+ execute(options: {
38
+ source: string;
39
+ }): void;
40
+ /**
41
+ * Cleanup image attributes that are not relevant to the new source.
42
+ *
43
+ * Removed attributes are: 'srcset', 'sizes', 'sources', 'width', 'height', 'alt'.
44
+ *
45
+ * This method is decorated, to allow custom cleanup logic.
46
+ * For example, to remove 'myImageId' attribute after 'src' has changed:
47
+ *
48
+ * ```ts
49
+ * replaceImageSourceCommand.on( 'cleanupImage', ( eventInfo, [ writer, image ] ) => {
50
+ * writer.removeAttribute( 'myImageId', image );
51
+ * } );
52
+ * ```
53
+ */
54
+ cleanupImage(writer: Writer, image: Element): void;
55
+ }
@@ -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 image/image/ui/utils
11
+ */
12
+ import type { PositionOptions } from 'ckeditor5/src/utils.js';
13
+ import type { Editor } from 'ckeditor5/src/core.js';
14
+ /**
15
+ * A helper utility that positions the
16
+ * {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon contextual balloon} instance
17
+ * with respect to the image in the editor content, if one is selected.
18
+ *
19
+ * @param editor The editor instance.
20
+ */
21
+ export declare function repositionContextualBalloon(editor: Editor): void;
22
+ /**
23
+ * Returns the positioning options that control the geometry of the
24
+ * {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon contextual balloon} with respect
25
+ * to the selected element in the editor content.
26
+ *
27
+ * @param editor The editor instance.
28
+ */
29
+ export declare function getBalloonPositionData(editor: Editor): Partial<PositionOptions>;
@@ -0,0 +1,68 @@
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 image/image/utils
11
+ */
12
+ import type { DocumentSelection, MatcherPattern, Schema, Selection, ViewContainerElement, DowncastWriter, ViewElement } from 'ckeditor5/src/engine.js';
13
+ import type { Editor } from 'ckeditor5/src/core.js';
14
+ /**
15
+ * Creates a view element representing the inline image.
16
+ *
17
+ * ```html
18
+ * <span class="image-inline"><img></img></span>
19
+ * ```
20
+ *
21
+ * Note that `alt` and `src` attributes are converted separately, so they are not included.
22
+ *
23
+ * @internal
24
+ */
25
+ export declare function createInlineImageViewElement(writer: DowncastWriter): ViewContainerElement;
26
+ /**
27
+ * Creates a view element representing the block image.
28
+ *
29
+ * ```html
30
+ * <figure class="image"><img></img></figure>
31
+ * ```
32
+ *
33
+ * Note that `alt` and `src` attributes are converted separately, so they are not included.
34
+ *
35
+ * @internal
36
+ */
37
+ export declare function createBlockImageViewElement(writer: DowncastWriter): ViewContainerElement;
38
+ /**
39
+ * A function returning a `MatcherPattern` for a particular type of View images.
40
+ *
41
+ * @internal
42
+ * @param matchImageType The type of created image.
43
+ */
44
+ export declare function getImgViewElementMatcher(editor: Editor, matchImageType: 'imageBlock' | 'imageInline'): MatcherPattern;
45
+ /**
46
+ * Considering the current model selection, it returns the name of the model image element
47
+ * (`'imageBlock'` or `'imageInline'`) that will make most sense from the UX perspective if a new
48
+ * image was inserted (also: uploaded, dropped, pasted) at that selection.
49
+ *
50
+ * The assumption is that inserting images into empty blocks or on other block widgets should
51
+ * produce block images. Inline images should be inserted in other cases, e.g. in paragraphs
52
+ * that already contain some text.
53
+ *
54
+ * @internal
55
+ */
56
+ export declare function determineImageTypeForInsertionAtSelection(schema: Schema, selection: Selection | DocumentSelection): 'imageBlock' | 'imageInline';
57
+ /**
58
+ * Returns parsed value of the size, but only if it contains unit: px.
59
+ */
60
+ export declare function getSizeValueIfInPx(size: string | undefined): number | null;
61
+ /**
62
+ * Returns true if both styles (width and height) are set.
63
+ *
64
+ * If both image styles: width & height are set, they will override the image width & height attributes in the
65
+ * browser. In this case, the image looks the same as if these styles were applied to attributes instead of styles.
66
+ * That's why we can upcast these styles to width & height attributes instead of resizedWidth and resizedHeight.
67
+ */
68
+ export declare function widthAndHeightStylesAreBothSet(viewElement: ViewElement): boolean;
@@ -0,0 +1,42 @@
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 image/image
11
+ */
12
+ import { Plugin } from 'ckeditor5/src/core.js';
13
+ import ImageBlock from './imageblock.js';
14
+ import ImageInline from './imageinline.js';
15
+ import '../theme/image.css';
16
+ /**
17
+ * The image plugin.
18
+ *
19
+ * For a detailed overview, check the {@glink features/images/images-overview image feature} documentation.
20
+ *
21
+ * This is a "glue" plugin which loads the following plugins:
22
+ *
23
+ * * {@link module:image/imageblock~ImageBlock},
24
+ * * {@link module:image/imageinline~ImageInline},
25
+ *
26
+ * Usually, it is used in conjunction with other plugins from this package. See the {@glink api/image package page}
27
+ * for more information.
28
+ */
29
+ export default class Image extends Plugin {
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ static get requires(): readonly [typeof ImageBlock, typeof ImageInline];
34
+ /**
35
+ * @inheritDoc
36
+ */
37
+ static get pluginName(): "Image";
38
+ /**
39
+ * @inheritDoc
40
+ */
41
+ static get isOfficialPlugin(): true;
42
+ }
@@ -0,0 +1,42 @@
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 image/imageblock
11
+ */
12
+ import { Plugin } from 'ckeditor5/src/core.js';
13
+ import { Widget } from 'ckeditor5/src/widget.js';
14
+ import ImageTextAlternative from './imagetextalternative.js';
15
+ import ImageBlockEditing from './image/imageblockediting.js';
16
+ import ImageInsertUI from './imageinsert/imageinsertui.js';
17
+ import '../theme/image.css';
18
+ /**
19
+ * The image block plugin.
20
+ *
21
+ * This is a "glue" plugin which loads the following plugins:
22
+ *
23
+ * * {@link module:image/image/imageblockediting~ImageBlockEditing},
24
+ * * {@link module:image/imagetextalternative~ImageTextAlternative}.
25
+ *
26
+ * Usually, it is used in conjunction with other plugins from this package. See the {@glink api/image package page}
27
+ * for more information.
28
+ */
29
+ export default class ImageBlock extends Plugin {
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ static get requires(): readonly [typeof ImageBlockEditing, typeof Widget, typeof ImageTextAlternative, typeof ImageInsertUI];
34
+ /**
35
+ * @inheritDoc
36
+ */
37
+ static get pluginName(): "ImageBlock";
38
+ /**
39
+ * @inheritDoc
40
+ */
41
+ static get isOfficialPlugin(): true;
42
+ }
@@ -0,0 +1,97 @@
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 image/imagecaption/imagecaptionediting
11
+ */
12
+ import { type Editor, Plugin } from 'ckeditor5/src/core.js';
13
+ import { Element } from 'ckeditor5/src/engine.js';
14
+ import ImageUtils from '../imageutils.js';
15
+ import ImageCaptionUtils from './imagecaptionutils.js';
16
+ /**
17
+ * The image caption engine plugin. It is responsible for:
18
+ *
19
+ * * registering converters for the caption element,
20
+ * * registering converters for the caption model attribute,
21
+ * * registering the {@link module:image/imagecaption/toggleimagecaptioncommand~ToggleImageCaptionCommand `toggleImageCaption`} command.
22
+ */
23
+ export default class ImageCaptionEditing extends Plugin {
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ static get requires(): readonly [typeof ImageUtils, typeof ImageCaptionUtils];
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ static get pluginName(): "ImageCaptionEditing";
32
+ /**
33
+ * @inheritDoc
34
+ */
35
+ static get isOfficialPlugin(): true;
36
+ /**
37
+ * A map that keeps saved JSONified image captions and image model elements they are
38
+ * associated with.
39
+ *
40
+ * To learn more about this system, see {@link #_saveCaption}.
41
+ */
42
+ private _savedCaptionsMap;
43
+ /**
44
+ * @inheritDoc
45
+ */
46
+ constructor(editor: Editor);
47
+ /**
48
+ * @inheritDoc
49
+ */
50
+ init(): void;
51
+ /**
52
+ * Configures conversion pipelines to support upcasting and downcasting
53
+ * image captions.
54
+ */
55
+ private _setupConversion;
56
+ /**
57
+ * Integrates with {@link module:image/image/imagetypecommand~ImageTypeCommand image type commands}
58
+ * to make sure the caption is preserved when the type of an image changes so it can be restored
59
+ * in the future if the user decides they want their caption back.
60
+ */
61
+ private _setupImageTypeCommandsIntegration;
62
+ /**
63
+ * Returns the saved {@link module:engine/model/element~Element#toJSON JSONified} caption
64
+ * of an image model element.
65
+ *
66
+ * See {@link #_saveCaption}.
67
+ *
68
+ * @internal
69
+ * @param imageModelElement The model element the caption should be returned for.
70
+ * @returns The model caption element or `null` if there is none.
71
+ */
72
+ _getSavedCaption(imageModelElement: Element): Element | null;
73
+ /**
74
+ * Saves a {@link module:engine/model/element~Element#toJSON JSONified} caption for
75
+ * an image element to allow restoring it in the future.
76
+ *
77
+ * A caption is saved every time it gets hidden and/or the type of an image changes. The
78
+ * user should be able to restore it on demand.
79
+ *
80
+ * **Note**: The caption cannot be stored in the image model element attribute because,
81
+ * for instance, when the model state propagates to collaborators, the attribute would get
82
+ * lost (mainly because it does not convert to anything when the caption is hidden) and
83
+ * the states of collaborators' models would de-synchronize causing numerous issues.
84
+ *
85
+ * See {@link #_getSavedCaption}.
86
+ *
87
+ * @internal
88
+ * @param imageModelElement The model element the caption is saved for.
89
+ * @param caption The caption model element to be saved.
90
+ */
91
+ _saveCaption(imageModelElement: Element, caption: Element): void;
92
+ /**
93
+ * Reconverts image caption when image alt attribute changes.
94
+ * The change of alt attribute is reflected in caption's aria-label attribute.
95
+ */
96
+ private _registerCaptionReconversion;
97
+ }
@@ -0,0 +1,34 @@
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 image/imagecaption/imagecaptionui
11
+ */
12
+ import { Plugin } from 'ckeditor5/src/core.js';
13
+ import ImageCaptionUtils from './imagecaptionutils.js';
14
+ /**
15
+ * The image caption UI plugin. It introduces the `'toggleImageCaption'` UI button.
16
+ */
17
+ export default class ImageCaptionUI extends Plugin {
18
+ /**
19
+ * @inheritDoc
20
+ */
21
+ static get requires(): readonly [typeof ImageCaptionUtils];
22
+ /**
23
+ * @inheritDoc
24
+ */
25
+ static get pluginName(): "ImageCaptionUI";
26
+ /**
27
+ * @inheritDoc
28
+ */
29
+ static get isOfficialPlugin(): true;
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ init(): void;
34
+ }
@@ -0,0 +1,46 @@
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 image/imagecaption/imagecaptionutils
11
+ */
12
+ import type { DocumentSelection, Element, Selection, ViewElement, Match } from 'ckeditor5/src/engine.js';
13
+ import { Plugin } from 'ckeditor5/src/core.js';
14
+ import ImageUtils from '../imageutils.js';
15
+ /**
16
+ * The image caption utilities plugin.
17
+ */
18
+ export default class ImageCaptionUtils extends Plugin {
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ static get pluginName(): "ImageCaptionUtils";
23
+ /**
24
+ * @inheritDoc
25
+ */
26
+ static get isOfficialPlugin(): true;
27
+ /**
28
+ * @inheritDoc
29
+ */
30
+ static get requires(): readonly [typeof ImageUtils];
31
+ /**
32
+ * Returns the caption model element from a given image element. Returns `null` if no caption is found.
33
+ */
34
+ getCaptionFromImageModelElement(imageModelElement: Element): Element | null;
35
+ /**
36
+ * Returns the caption model element for a model selection. Returns `null` if the selection has no caption element ancestor.
37
+ */
38
+ getCaptionFromModelSelection(selection: Selection | DocumentSelection): Element | null;
39
+ /**
40
+ * {@link module:engine/view/matcher~Matcher} pattern. Checks if a given element is a `<figcaption>` element that is placed
41
+ * inside the image `<figure>` element.
42
+ * @returns Returns the object accepted by {@link module:engine/view/matcher~Matcher} or `null` if the element
43
+ * cannot be matched.
44
+ */
45
+ matchImageCaptionViewElement(element: ViewElement): Match | null;
46
+ }
@@ -0,0 +1,70 @@
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
+ import { Command } from 'ckeditor5/src/core.js';
10
+ /**
11
+ * The toggle image caption command.
12
+ *
13
+ * This command is registered by {@link module:image/imagecaption/imagecaptionediting~ImageCaptionEditing} as the
14
+ * `'toggleImageCaption'` editor command.
15
+ *
16
+ * Executing this command:
17
+ *
18
+ * * either adds or removes the image caption of a selected image (depending on whether the caption is present or not),
19
+ * * removes the image caption if the selection is anchored in one.
20
+ *
21
+ * ```ts
22
+ * // Toggle the presence of the caption.
23
+ * editor.execute( 'toggleImageCaption' );
24
+ * ```
25
+ *
26
+ * **Note**: Upon executing this command, the selection will be set on the image if previously anchored in the caption element.
27
+ *
28
+ * **Note**: You can move the selection to the caption right away as it shows up upon executing this command by using
29
+ * the `focusCaptionOnShow` option:
30
+ *
31
+ * ```ts
32
+ * editor.execute( 'toggleImageCaption', { focusCaptionOnShow: true } );
33
+ * ```
34
+ */
35
+ export default class ToggleImageCaptionCommand extends Command {
36
+ value: boolean;
37
+ /**
38
+ * @inheritDoc
39
+ */
40
+ refresh(): void;
41
+ /**
42
+ * Executes the command.
43
+ *
44
+ * ```ts
45
+ * editor.execute( 'toggleImageCaption' );
46
+ * ```
47
+ *
48
+ * @param options Options for the executed command.
49
+ * @param options.focusCaptionOnShow When true and the caption shows up, the selection will be moved into it straight away.
50
+ * @fires execute
51
+ */
52
+ execute(options?: {
53
+ focusCaptionOnShow?: boolean;
54
+ }): void;
55
+ /**
56
+ * Shows the caption of the `<imageBlock>` or `<imageInline>`. Also:
57
+ *
58
+ * * it converts `<imageInline>` to `<imageBlock>` to show the caption,
59
+ * * it attempts to restore the caption content from the `ImageCaptionEditing` caption registry,
60
+ * * it moves the selection to the caption right away, it the `focusCaptionOnShow` option was set.
61
+ */
62
+ private _showImageCaption;
63
+ /**
64
+ * Hides the caption of a selected image (or an image caption the selection is anchored to).
65
+ *
66
+ * The content of the caption is stored in the `ImageCaptionEditing` caption registry to make this
67
+ * a reversible action.
68
+ */
69
+ private _hideImageCaption;
70
+ }