@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,183 @@
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 { Plugin } from 'ckeditor5/src/core.js';
6
+ import ImageUtils from '../imageutils.js';
7
+ import ResizeImageCommand from './resizeimagecommand.js';
8
+ import { widthAndHeightStylesAreBothSet } from '../image/utils.js';
9
+ /**
10
+ * The image resize editing feature.
11
+ *
12
+ * It adds the ability to resize each image using handles or manually by
13
+ * {@link module:image/imageresize/imageresizebuttons~ImageResizeButtons} buttons.
14
+ */
15
+ export default class ImageResizeEditing extends Plugin {
16
+ /**
17
+ * @inheritDoc
18
+ */
19
+ static get requires() {
20
+ return [ImageUtils];
21
+ }
22
+ /**
23
+ * @inheritDoc
24
+ */
25
+ static get pluginName() {
26
+ return 'ImageResizeEditing';
27
+ }
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ static get isOfficialPlugin() {
32
+ return true;
33
+ }
34
+ /**
35
+ * @inheritDoc
36
+ */
37
+ constructor(editor) {
38
+ super(editor);
39
+ editor.config.define('image', {
40
+ resizeUnit: '%',
41
+ resizeOptions: [
42
+ {
43
+ name: 'resizeImage:original',
44
+ value: null,
45
+ icon: 'original'
46
+ },
47
+ {
48
+ name: 'resizeImage:custom',
49
+ value: 'custom',
50
+ icon: 'custom'
51
+ },
52
+ {
53
+ name: 'resizeImage:25',
54
+ value: '25',
55
+ icon: 'small'
56
+ },
57
+ {
58
+ name: 'resizeImage:50',
59
+ value: '50',
60
+ icon: 'medium'
61
+ },
62
+ {
63
+ name: 'resizeImage:75',
64
+ value: '75',
65
+ icon: 'large'
66
+ }
67
+ ]
68
+ });
69
+ }
70
+ /**
71
+ * @inheritDoc
72
+ */
73
+ init() {
74
+ const editor = this.editor;
75
+ const resizeImageCommand = new ResizeImageCommand(editor);
76
+ this._registerConverters('imageBlock');
77
+ this._registerConverters('imageInline');
78
+ // Register `resizeImage` command and add `imageResize` command as an alias for backward compatibility.
79
+ editor.commands.add('resizeImage', resizeImageCommand);
80
+ editor.commands.add('imageResize', resizeImageCommand);
81
+ }
82
+ /**
83
+ * @inheritDoc
84
+ */
85
+ afterInit() {
86
+ this._registerSchema();
87
+ }
88
+ _registerSchema() {
89
+ if (this.editor.plugins.has('ImageBlockEditing')) {
90
+ this.editor.model.schema.extend('imageBlock', { allowAttributes: ['resizedWidth', 'resizedHeight'] });
91
+ }
92
+ if (this.editor.plugins.has('ImageInlineEditing')) {
93
+ this.editor.model.schema.extend('imageInline', { allowAttributes: ['resizedWidth', 'resizedHeight'] });
94
+ }
95
+ }
96
+ /**
97
+ * Registers image resize converters.
98
+ *
99
+ * @param imageType The type of the image.
100
+ */
101
+ _registerConverters(imageType) {
102
+ const editor = this.editor;
103
+ const imageUtils = editor.plugins.get('ImageUtils');
104
+ // Dedicated converter to propagate image's attribute to the img tag.
105
+ editor.conversion.for('downcast').add(dispatcher => dispatcher.on(`attribute:resizedWidth:${imageType}`, (evt, data, conversionApi) => {
106
+ if (!conversionApi.consumable.consume(data.item, evt.name)) {
107
+ return;
108
+ }
109
+ const viewWriter = conversionApi.writer;
110
+ const viewImg = conversionApi.mapper.toViewElement(data.item);
111
+ if (data.attributeNewValue !== null) {
112
+ viewWriter.setStyle('width', data.attributeNewValue, viewImg);
113
+ viewWriter.addClass('image_resized', viewImg);
114
+ }
115
+ else {
116
+ viewWriter.removeStyle('width', viewImg);
117
+ viewWriter.removeClass('image_resized', viewImg);
118
+ }
119
+ }));
120
+ editor.conversion.for('dataDowncast').attributeToAttribute({
121
+ model: {
122
+ name: imageType,
123
+ key: 'resizedHeight'
124
+ },
125
+ view: modelAttributeValue => ({
126
+ key: 'style',
127
+ value: {
128
+ 'height': modelAttributeValue
129
+ }
130
+ })
131
+ });
132
+ editor.conversion.for('editingDowncast').add(dispatcher => dispatcher.on(`attribute:resizedHeight:${imageType}`, (evt, data, conversionApi) => {
133
+ if (!conversionApi.consumable.consume(data.item, evt.name)) {
134
+ return;
135
+ }
136
+ const viewWriter = conversionApi.writer;
137
+ const viewImg = conversionApi.mapper.toViewElement(data.item);
138
+ const target = imageType === 'imageInline' ? imageUtils.findViewImgElement(viewImg) : viewImg;
139
+ if (data.attributeNewValue !== null) {
140
+ viewWriter.setStyle('height', data.attributeNewValue, target);
141
+ }
142
+ else {
143
+ viewWriter.removeStyle('height', target);
144
+ }
145
+ }));
146
+ editor.conversion.for('upcast')
147
+ .attributeToAttribute({
148
+ view: {
149
+ name: imageType === 'imageBlock' ? 'figure' : 'img',
150
+ styles: {
151
+ width: /.+/
152
+ }
153
+ },
154
+ model: {
155
+ key: 'resizedWidth',
156
+ value: (viewElement) => {
157
+ if (widthAndHeightStylesAreBothSet(viewElement)) {
158
+ return null;
159
+ }
160
+ return viewElement.getStyle('width');
161
+ }
162
+ }
163
+ });
164
+ editor.conversion.for('upcast')
165
+ .attributeToAttribute({
166
+ view: {
167
+ name: imageType === 'imageBlock' ? 'figure' : 'img',
168
+ styles: {
169
+ height: /.+/
170
+ }
171
+ },
172
+ model: {
173
+ key: 'resizedHeight',
174
+ value: (viewElement) => {
175
+ if (widthAndHeightStylesAreBothSet(viewElement)) {
176
+ return null;
177
+ }
178
+ return viewElement.getStyle('height');
179
+ }
180
+ }
181
+ });
182
+ }
183
+ }
@@ -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
+ import { Plugin } from 'ckeditor5/src/core.js';
6
+ import { WidgetResize } from 'ckeditor5/src/widget.js';
7
+ import ImageUtils from '../imageutils.js';
8
+ /**
9
+ * The image resize by handles feature.
10
+ *
11
+ * It adds the ability to resize each image using handles or manually by
12
+ * {@link module:image/imageresize/imageresizebuttons~ImageResizeButtons} buttons.
13
+ */
14
+ export default class ImageResizeHandles extends Plugin {
15
+ /**
16
+ * @inheritDoc
17
+ */
18
+ static get requires(): readonly [typeof WidgetResize, typeof ImageUtils];
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ static get pluginName(): "ImageResizeHandles";
23
+ /**
24
+ * @inheritDoc
25
+ */
26
+ static get isOfficialPlugin(): true;
27
+ /**
28
+ * @inheritDoc
29
+ */
30
+ init(): void;
31
+ /**
32
+ * Attaches the listeners responsible for creating a resizer for each image, except for images inside the HTML embed preview.
33
+ */
34
+ private _setupResizerCreator;
35
+ }
@@ -0,0 +1,118 @@
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 { Plugin } from 'ckeditor5/src/core.js';
6
+ import { WidgetResize } from 'ckeditor5/src/widget.js';
7
+ import ImageUtils from '../imageutils.js';
8
+ import ImageLoadObserver from '../image/imageloadobserver.js';
9
+ const RESIZABLE_IMAGES_CSS_SELECTOR = 'figure.image.ck-widget > img,' +
10
+ 'figure.image.ck-widget > picture > img,' +
11
+ 'figure.image.ck-widget > a > img,' +
12
+ 'figure.image.ck-widget > a > picture > img,' +
13
+ 'span.image-inline.ck-widget > img,' +
14
+ 'span.image-inline.ck-widget > picture > img';
15
+ const RESIZED_IMAGE_CLASS = 'image_resized';
16
+ /**
17
+ * The image resize by handles feature.
18
+ *
19
+ * It adds the ability to resize each image using handles or manually by
20
+ * {@link module:image/imageresize/imageresizebuttons~ImageResizeButtons} buttons.
21
+ */
22
+ export default class ImageResizeHandles extends Plugin {
23
+ /**
24
+ * @inheritDoc
25
+ */
26
+ static get requires() {
27
+ return [WidgetResize, ImageUtils];
28
+ }
29
+ /**
30
+ * @inheritDoc
31
+ */
32
+ static get pluginName() {
33
+ return 'ImageResizeHandles';
34
+ }
35
+ /**
36
+ * @inheritDoc
37
+ */
38
+ static get isOfficialPlugin() {
39
+ return true;
40
+ }
41
+ /**
42
+ * @inheritDoc
43
+ */
44
+ init() {
45
+ const command = this.editor.commands.get('resizeImage');
46
+ this.bind('isEnabled').to(command);
47
+ this._setupResizerCreator();
48
+ }
49
+ /**
50
+ * Attaches the listeners responsible for creating a resizer for each image, except for images inside the HTML embed preview.
51
+ */
52
+ _setupResizerCreator() {
53
+ const editor = this.editor;
54
+ const editingView = editor.editing.view;
55
+ const imageUtils = editor.plugins.get('ImageUtils');
56
+ editingView.addObserver(ImageLoadObserver);
57
+ this.listenTo(editingView.document, 'imageLoaded', (evt, domEvent) => {
58
+ // The resizer must be attached only to images loaded by the `ImageInsert`, `ImageUpload` or `LinkImage` plugins.
59
+ if (!domEvent.target.matches(RESIZABLE_IMAGES_CSS_SELECTOR)) {
60
+ return;
61
+ }
62
+ const domConverter = editor.editing.view.domConverter;
63
+ const imageView = domConverter.domToView(domEvent.target);
64
+ const widgetView = imageUtils.getImageWidgetFromImageView(imageView);
65
+ let resizer = this.editor.plugins.get(WidgetResize).getResizerByViewElement(widgetView);
66
+ if (resizer) {
67
+ // There are rare cases when the image will be triggered multiple times for the same widget, e.g. when
68
+ // the image's source was changed after upload (https://github.com/ckeditor/ckeditor5/pull/8108#issuecomment-708302992).
69
+ resizer.redraw();
70
+ return;
71
+ }
72
+ const mapper = editor.editing.mapper;
73
+ const imageModel = mapper.toModelElement(widgetView);
74
+ resizer = editor.plugins
75
+ .get(WidgetResize)
76
+ .attachTo({
77
+ unit: editor.config.get('image.resizeUnit'),
78
+ modelElement: imageModel,
79
+ viewElement: widgetView,
80
+ editor,
81
+ getHandleHost(domWidgetElement) {
82
+ return domWidgetElement.querySelector('img');
83
+ },
84
+ getResizeHost() {
85
+ return domConverter.mapViewToDom(mapper.toViewElement(imageModel));
86
+ },
87
+ isCentered() {
88
+ const imageStyle = imageModel.getAttribute('imageStyle');
89
+ return imageStyle == 'alignCenter';
90
+ },
91
+ onCommit(newValue) {
92
+ // Get rid of the CSS class in case the command execution that follows is unsuccessful
93
+ // (e.g. Track Changes can override it and the new dimensions will not apply). Otherwise,
94
+ // the presence of the class and the absence of the width style will cause it to take 100%
95
+ // of the horizontal space.
96
+ editingView.change(writer => {
97
+ writer.removeClass(RESIZED_IMAGE_CLASS, widgetView);
98
+ });
99
+ editor.execute('resizeImage', { width: newValue });
100
+ }
101
+ });
102
+ resizer.on('updateSize', () => {
103
+ if (!widgetView.hasClass(RESIZED_IMAGE_CLASS)) {
104
+ editingView.change(writer => {
105
+ writer.addClass(RESIZED_IMAGE_CLASS, widgetView);
106
+ });
107
+ }
108
+ const target = imageModel.name === 'imageInline' ? imageView : widgetView;
109
+ if (target.getStyle('height')) {
110
+ editingView.change(writer => {
111
+ writer.removeStyle('height', target);
112
+ });
113
+ }
114
+ });
115
+ resizer.bind('isEnabled').to(this);
116
+ });
117
+ }
118
+ }
@@ -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
+ * @module image/imageresize/resizeimagecommand
7
+ */
8
+ import { Command } from 'ckeditor5/src/core.js';
9
+ /**
10
+ * The resize image command. Currently, it only supports the width attribute.
11
+ */
12
+ export default class ResizeImageCommand extends Command {
13
+ /**
14
+ * Desired image width and height.
15
+ */
16
+ value: null | {
17
+ width: string | null;
18
+ height: string | null;
19
+ };
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ refresh(): void;
24
+ /**
25
+ * Executes the command.
26
+ *
27
+ * ```ts
28
+ * // Sets the width to 50%:
29
+ * editor.execute( 'resizeImage', { width: '50%' } );
30
+ *
31
+ * // Removes the width attribute:
32
+ * editor.execute( 'resizeImage', { width: null } );
33
+ * ```
34
+ *
35
+ * @param options
36
+ * @param options.width The new width of the image.
37
+ * @fires execute
38
+ */
39
+ execute(options: {
40
+ width: string | null;
41
+ }): void;
42
+ }
@@ -0,0 +1,63 @@
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 image/imageresize/resizeimagecommand
7
+ */
8
+ import { Command } from 'ckeditor5/src/core.js';
9
+ /**
10
+ * The resize image command. Currently, it only supports the width attribute.
11
+ */
12
+ export default class ResizeImageCommand extends Command {
13
+ /**
14
+ * @inheritDoc
15
+ */
16
+ refresh() {
17
+ const editor = this.editor;
18
+ const imageUtils = editor.plugins.get('ImageUtils');
19
+ const element = imageUtils.getClosestSelectedImageElement(editor.model.document.selection);
20
+ this.isEnabled = !!element;
21
+ if (!element || !element.hasAttribute('resizedWidth')) {
22
+ this.value = null;
23
+ }
24
+ else {
25
+ this.value = {
26
+ width: element.getAttribute('resizedWidth'),
27
+ height: null
28
+ };
29
+ }
30
+ }
31
+ /**
32
+ * Executes the command.
33
+ *
34
+ * ```ts
35
+ * // Sets the width to 50%:
36
+ * editor.execute( 'resizeImage', { width: '50%' } );
37
+ *
38
+ * // Removes the width attribute:
39
+ * editor.execute( 'resizeImage', { width: null } );
40
+ * ```
41
+ *
42
+ * @param options
43
+ * @param options.width The new width of the image.
44
+ * @fires execute
45
+ */
46
+ execute(options) {
47
+ const editor = this.editor;
48
+ const model = editor.model;
49
+ const imageUtils = editor.plugins.get('ImageUtils');
50
+ const imageElement = imageUtils.getClosestSelectedImageElement(model.document.selection);
51
+ this.value = {
52
+ width: options.width,
53
+ height: null
54
+ };
55
+ if (imageElement) {
56
+ model.change(writer => {
57
+ writer.setAttribute('resizedWidth', options.width, imageElement);
58
+ writer.removeAttribute('resizedHeight', imageElement);
59
+ imageUtils.setImageNaturalSizeAttributes(imageElement);
60
+ });
61
+ }
62
+ }
63
+ }
@@ -0,0 +1,129 @@
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 image/imageresize/ui/imagecustomresizeformview
7
+ */
8
+ import { ButtonView, FocusCycler, LabeledFieldView, View, ViewCollection, type FocusableView, type InputNumberView } from 'ckeditor5/src/ui.js';
9
+ import { FocusTracker, KeystrokeHandler, type Locale } from 'ckeditor5/src/utils.js';
10
+ import '../../../theme/imagecustomresizeform.css';
11
+ import '@ckeditor/ckeditor5-ui/theme/components/responsive-form/responsiveform.css';
12
+ /**
13
+ * The ImageCustomResizeFormView class.
14
+ */
15
+ export default class ImageCustomResizeFormView extends View {
16
+ /**
17
+ * Tracks information about the DOM focus in the form.
18
+ */
19
+ readonly focusTracker: FocusTracker;
20
+ /**
21
+ * An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.
22
+ */
23
+ readonly keystrokes: KeystrokeHandler;
24
+ /**
25
+ * Resize unit shortcut.
26
+ */
27
+ readonly unit: string;
28
+ /**
29
+ * An input with a label.
30
+ */
31
+ labeledInput: LabeledFieldView<InputNumberView>;
32
+ /**
33
+ * A button used to submit the form.
34
+ */
35
+ saveButtonView: ButtonView;
36
+ /**
37
+ * A button used to cancel the form.
38
+ */
39
+ cancelButtonView: ButtonView;
40
+ /**
41
+ * A collection of views which can be focused in the form.
42
+ */
43
+ protected readonly _focusables: ViewCollection<FocusableView>;
44
+ /**
45
+ * Helps cycling over {@link #_focusables} in the form.
46
+ */
47
+ protected readonly _focusCycler: FocusCycler;
48
+ /**
49
+ * An array of form validators used by {@link #isValid}.
50
+ */
51
+ private readonly _validators;
52
+ /**
53
+ * @inheritDoc
54
+ */
55
+ constructor(locale: Locale, unit: string, validators: Array<ImageCustomResizeFormValidatorCallback>);
56
+ /**
57
+ * @inheritDoc
58
+ */
59
+ render(): void;
60
+ /**
61
+ * @inheritDoc
62
+ */
63
+ destroy(): void;
64
+ /**
65
+ * Creates the button view.
66
+ *
67
+ * @param label The button label
68
+ * @param icon The button's icon.
69
+ * @param className The additional button CSS class name.
70
+ * @param eventName The event name that the ButtonView#execute event will be delegated to.
71
+ * @returns The button view instance.
72
+ */
73
+ private _createButton;
74
+ /**
75
+ * Creates an input with a label.
76
+ *
77
+ * @returns Labeled field view instance.
78
+ */
79
+ private _createLabeledInputView;
80
+ /**
81
+ * Validates the form and returns `false` when some fields are invalid.
82
+ */
83
+ isValid(): boolean;
84
+ /**
85
+ * Cleans up the supplementary error and information text of the {@link #labeledInput}
86
+ * bringing them back to the state when the form has been displayed for the first time.
87
+ *
88
+ * See {@link #isValid}.
89
+ */
90
+ resetFormStatus(): void;
91
+ /**
92
+ * The native DOM `value` of the input element of {@link #labeledInput}.
93
+ */
94
+ get rawSize(): string | null;
95
+ /**
96
+ * Get numeric value of size. Returns `null` if value of size input element in {@link #labeledInput}.is not a number.
97
+ */
98
+ get parsedSize(): number | null;
99
+ /**
100
+ * Returns serialized image input size with unit.
101
+ * Returns `null` if value of size input element in {@link #labeledInput}.is not a number.
102
+ */
103
+ get sizeWithUnits(): string | null;
104
+ }
105
+ /**
106
+ * Callback used by {@link ~ImageCustomResizeFormView} to check if passed form value is valid.
107
+ *
108
+ * * If `undefined` is returned, it is assumed that the form value is correct and there is no error.
109
+ * * If string is returned, it is assumed that the form value is incorrect and the returned string is displayed in the error label
110
+ */
111
+ export type ImageCustomResizeFormValidatorCallback = (form: ImageCustomResizeFormView) => string | undefined;
112
+ /**
113
+ * Fired when the form view is submitted.
114
+ *
115
+ * @eventName ~ImageCustomResizeFormView#submit
116
+ */
117
+ export type ImageCustomResizeFormViewSubmitEvent = {
118
+ name: 'submit';
119
+ args: [];
120
+ };
121
+ /**
122
+ * Fired when the form view is canceled.
123
+ *
124
+ * @eventName ~ImageCustomResizeFormView#cancel
125
+ */
126
+ export type ImageCustomResizeFormViewCancelEvent = {
127
+ name: 'cancel';
128
+ args: [];
129
+ };