@ckeditor/ckeditor5-image 47.6.1-alpha.1 → 48.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/LICENSE.md +1 -1
  2. package/ckeditor5-metadata.json +25 -25
  3. package/{src → dist}/autoimage.d.ts +4 -4
  4. package/{src → dist}/image/converters.d.ts +1 -1
  5. package/{src → dist}/image/imageblockediting.d.ts +2 -2
  6. package/{src → dist}/image/imageediting.d.ts +1 -1
  7. package/{src → dist}/image/imageinlineediting.d.ts +2 -2
  8. package/{src → dist}/image/imageloadobserver.d.ts +1 -1
  9. package/{src → dist}/image/imageplaceholder.d.ts +1 -1
  10. package/{src → dist}/image/imagetypecommand.d.ts +2 -2
  11. package/{src → dist}/image/insertimagecommand.d.ts +2 -2
  12. package/{src → dist}/image/replaceimagesourcecommand.d.ts +2 -2
  13. package/{src → dist}/image/ui/utils.d.ts +2 -2
  14. package/{src → dist}/image/utils.d.ts +2 -2
  15. package/{src → dist}/image.d.ts +1 -1
  16. package/{src → dist}/imageblock.d.ts +2 -2
  17. package/{src → dist}/imagecaption/imagecaptionediting.d.ts +2 -2
  18. package/{src → dist}/imagecaption/imagecaptionui.d.ts +1 -1
  19. package/{src → dist}/imagecaption/imagecaptionutils.d.ts +2 -2
  20. package/{src → dist}/imagecaption/toggleimagecaptioncommand.d.ts +1 -1
  21. package/{src → dist}/imagecaption.d.ts +1 -1
  22. package/{src → dist}/imageconfig.d.ts +25 -16
  23. package/{src → dist}/imageinline.d.ts +2 -2
  24. package/{src → dist}/imageinsert/imageinsertui.d.ts +3 -3
  25. package/{src → dist}/imageinsert/imageinsertviaurlui.d.ts +2 -2
  26. package/{src → dist}/imageinsert/ui/imageinsertformview.d.ts +2 -2
  27. package/{src → dist}/imageinsert/ui/imageinserturlview.d.ts +2 -2
  28. package/{src → dist}/imageinsert.d.ts +1 -1
  29. package/{src → dist}/imageinsertviaurl.d.ts +1 -1
  30. package/{src → dist}/imageresize/imagecustomresizeui.d.ts +2 -2
  31. package/{src → dist}/imageresize/imageresizebuttons.d.ts +1 -1
  32. package/{src → dist}/imageresize/imageresizeediting.d.ts +1 -1
  33. package/{src → dist}/imageresize/imageresizehandles.d.ts +2 -2
  34. package/{src → dist}/imageresize/resizeimagecommand.d.ts +1 -1
  35. package/{src → dist}/imageresize/ui/imagecustomresizeformview.d.ts +2 -4
  36. package/{src → dist}/imageresize/utils/getselectedimageeditornodes.d.ts +2 -2
  37. package/{src → dist}/imageresize/utils/getselectedimagepossibleresizerange.d.ts +1 -1
  38. package/{src → dist}/imageresize/utils/getselectedimagewidthinunits.d.ts +1 -1
  39. package/{src → dist}/imageresize.d.ts +1 -1
  40. package/{src → dist}/imagesizeattributes.d.ts +1 -1
  41. package/{src → dist}/imagestyle/converters.d.ts +2 -2
  42. package/{src → dist}/imagestyle/imagestylecommand.d.ts +2 -2
  43. package/{src → dist}/imagestyle/imagestyleediting.d.ts +1 -1
  44. package/{src → dist}/imagestyle/imagestyleui.d.ts +1 -1
  45. package/{src → dist}/imagestyle/utils.d.ts +1 -1
  46. package/{src → dist}/imagestyle.d.ts +1 -1
  47. package/{src → dist}/imagetextalternative/imagetextalternativecommand.d.ts +1 -1
  48. package/{src → dist}/imagetextalternative/imagetextalternativeediting.d.ts +1 -1
  49. package/{src → dist}/imagetextalternative/imagetextalternativeui.d.ts +2 -2
  50. package/{src → dist}/imagetextalternative/ui/textalternativeformview.d.ts +2 -4
  51. package/{src → dist}/imagetextalternative.d.ts +1 -1
  52. package/{src → dist}/imagetoolbar.d.ts +2 -2
  53. package/{src → dist}/imageupload/imageuploadediting.d.ts +5 -5
  54. package/{src → dist}/imageupload/imageuploadprogress.d.ts +1 -1
  55. package/{src → dist}/imageupload/imageuploadui.d.ts +1 -1
  56. package/{src → dist}/imageupload/uploadimagecommand.d.ts +2 -2
  57. package/{src → dist}/imageupload/utils.d.ts +1 -1
  58. package/{src → dist}/imageupload.d.ts +1 -1
  59. package/{src → dist}/imageutils.d.ts +2 -2
  60. package/dist/index-content.css +97 -100
  61. package/dist/index-editor.css +313 -190
  62. package/dist/index.css +388 -458
  63. package/dist/index.css.map +1 -1
  64. package/dist/index.js +1 -2
  65. package/dist/index.js.map +1 -1
  66. package/{src → dist}/pictureediting.d.ts +1 -1
  67. package/package.json +29 -53
  68. package/build/image.js +0 -5
  69. package/build/translations/af.js +0 -1
  70. package/build/translations/ar.js +0 -1
  71. package/build/translations/ast.js +0 -1
  72. package/build/translations/az.js +0 -1
  73. package/build/translations/be.js +0 -1
  74. package/build/translations/bg.js +0 -1
  75. package/build/translations/bn.js +0 -1
  76. package/build/translations/bs.js +0 -1
  77. package/build/translations/ca.js +0 -1
  78. package/build/translations/cs.js +0 -1
  79. package/build/translations/da.js +0 -1
  80. package/build/translations/de-ch.js +0 -1
  81. package/build/translations/de.js +0 -1
  82. package/build/translations/el.js +0 -1
  83. package/build/translations/en-au.js +0 -1
  84. package/build/translations/en-gb.js +0 -1
  85. package/build/translations/eo.js +0 -1
  86. package/build/translations/es-co.js +0 -1
  87. package/build/translations/es.js +0 -1
  88. package/build/translations/et.js +0 -1
  89. package/build/translations/eu.js +0 -1
  90. package/build/translations/fa.js +0 -1
  91. package/build/translations/fi.js +0 -1
  92. package/build/translations/fr.js +0 -1
  93. package/build/translations/gl.js +0 -1
  94. package/build/translations/gu.js +0 -1
  95. package/build/translations/he.js +0 -1
  96. package/build/translations/hi.js +0 -1
  97. package/build/translations/hr.js +0 -1
  98. package/build/translations/hu.js +0 -1
  99. package/build/translations/hy.js +0 -1
  100. package/build/translations/id.js +0 -1
  101. package/build/translations/it.js +0 -1
  102. package/build/translations/ja.js +0 -1
  103. package/build/translations/jv.js +0 -1
  104. package/build/translations/kk.js +0 -1
  105. package/build/translations/km.js +0 -1
  106. package/build/translations/kn.js +0 -1
  107. package/build/translations/ko.js +0 -1
  108. package/build/translations/ku.js +0 -1
  109. package/build/translations/lt.js +0 -1
  110. package/build/translations/lv.js +0 -1
  111. package/build/translations/ms.js +0 -1
  112. package/build/translations/nb.js +0 -1
  113. package/build/translations/ne.js +0 -1
  114. package/build/translations/nl.js +0 -1
  115. package/build/translations/no.js +0 -1
  116. package/build/translations/oc.js +0 -1
  117. package/build/translations/pl.js +0 -1
  118. package/build/translations/pt-br.js +0 -1
  119. package/build/translations/pt.js +0 -1
  120. package/build/translations/ro.js +0 -1
  121. package/build/translations/ru.js +0 -1
  122. package/build/translations/si.js +0 -1
  123. package/build/translations/sk.js +0 -1
  124. package/build/translations/sl.js +0 -1
  125. package/build/translations/sq.js +0 -1
  126. package/build/translations/sr-latn.js +0 -1
  127. package/build/translations/sr.js +0 -1
  128. package/build/translations/sv.js +0 -1
  129. package/build/translations/th.js +0 -1
  130. package/build/translations/ti.js +0 -1
  131. package/build/translations/tk.js +0 -1
  132. package/build/translations/tr.js +0 -1
  133. package/build/translations/tt.js +0 -1
  134. package/build/translations/ug.js +0 -1
  135. package/build/translations/uk.js +0 -1
  136. package/build/translations/ur.js +0 -1
  137. package/build/translations/uz.js +0 -1
  138. package/build/translations/vi.js +0 -1
  139. package/build/translations/zh-cn.js +0 -1
  140. package/build/translations/zh.js +0 -1
  141. package/lang/contexts.json +0 -48
  142. package/lang/translations/af.po +0 -196
  143. package/lang/translations/ar.po +0 -196
  144. package/lang/translations/ast.po +0 -196
  145. package/lang/translations/az.po +0 -196
  146. package/lang/translations/be.po +0 -196
  147. package/lang/translations/bg.po +0 -196
  148. package/lang/translations/bn.po +0 -196
  149. package/lang/translations/bs.po +0 -196
  150. package/lang/translations/ca.po +0 -196
  151. package/lang/translations/cs.po +0 -196
  152. package/lang/translations/da.po +0 -196
  153. package/lang/translations/de-ch.po +0 -196
  154. package/lang/translations/de.po +0 -196
  155. package/lang/translations/el.po +0 -196
  156. package/lang/translations/en-au.po +0 -196
  157. package/lang/translations/en-gb.po +0 -196
  158. package/lang/translations/en.po +0 -196
  159. package/lang/translations/eo.po +0 -196
  160. package/lang/translations/es-co.po +0 -196
  161. package/lang/translations/es.po +0 -196
  162. package/lang/translations/et.po +0 -196
  163. package/lang/translations/eu.po +0 -196
  164. package/lang/translations/fa.po +0 -196
  165. package/lang/translations/fi.po +0 -196
  166. package/lang/translations/fr.po +0 -196
  167. package/lang/translations/gl.po +0 -196
  168. package/lang/translations/gu.po +0 -196
  169. package/lang/translations/he.po +0 -196
  170. package/lang/translations/hi.po +0 -196
  171. package/lang/translations/hr.po +0 -196
  172. package/lang/translations/hu.po +0 -196
  173. package/lang/translations/hy.po +0 -196
  174. package/lang/translations/id.po +0 -196
  175. package/lang/translations/it.po +0 -196
  176. package/lang/translations/ja.po +0 -196
  177. package/lang/translations/jv.po +0 -196
  178. package/lang/translations/kk.po +0 -196
  179. package/lang/translations/km.po +0 -196
  180. package/lang/translations/kn.po +0 -196
  181. package/lang/translations/ko.po +0 -196
  182. package/lang/translations/ku.po +0 -196
  183. package/lang/translations/lt.po +0 -196
  184. package/lang/translations/lv.po +0 -196
  185. package/lang/translations/ms.po +0 -196
  186. package/lang/translations/nb.po +0 -196
  187. package/lang/translations/ne.po +0 -196
  188. package/lang/translations/nl.po +0 -196
  189. package/lang/translations/no.po +0 -196
  190. package/lang/translations/oc.po +0 -196
  191. package/lang/translations/pl.po +0 -196
  192. package/lang/translations/pt-br.po +0 -196
  193. package/lang/translations/pt.po +0 -196
  194. package/lang/translations/ro.po +0 -196
  195. package/lang/translations/ru.po +0 -196
  196. package/lang/translations/si.po +0 -196
  197. package/lang/translations/sk.po +0 -196
  198. package/lang/translations/sl.po +0 -196
  199. package/lang/translations/sq.po +0 -196
  200. package/lang/translations/sr-latn.po +0 -196
  201. package/lang/translations/sr.po +0 -196
  202. package/lang/translations/sv.po +0 -196
  203. package/lang/translations/th.po +0 -196
  204. package/lang/translations/ti.po +0 -196
  205. package/lang/translations/tk.po +0 -196
  206. package/lang/translations/tr.po +0 -196
  207. package/lang/translations/tt.po +0 -196
  208. package/lang/translations/ug.po +0 -196
  209. package/lang/translations/uk.po +0 -196
  210. package/lang/translations/ur.po +0 -196
  211. package/lang/translations/uz.po +0 -196
  212. package/lang/translations/vi.po +0 -196
  213. package/lang/translations/zh-cn.po +0 -196
  214. package/lang/translations/zh.po +0 -196
  215. package/src/augmentation.js +0 -5
  216. package/src/autoimage.js +0 -148
  217. package/src/image/converters.js +0 -236
  218. package/src/image/imageblockediting.js +0 -159
  219. package/src/image/imageediting.js +0 -69
  220. package/src/image/imageinlineediting.js +0 -178
  221. package/src/image/imageloadobserver.js +0 -52
  222. package/src/image/imageplaceholder.js +0 -119
  223. package/src/image/imagetypecommand.js +0 -84
  224. package/src/image/insertimagecommand.js +0 -125
  225. package/src/image/replaceimagesourcecommand.js +0 -75
  226. package/src/image/ui/utils.js +0 -46
  227. package/src/image/utils.js +0 -125
  228. package/src/image.js +0 -44
  229. package/src/imageblock.js +0 -44
  230. package/src/imagecaption/imagecaptionediting.js +0 -238
  231. package/src/imagecaption/imagecaptionui.js +0 -68
  232. package/src/imagecaption/imagecaptionutils.js +0 -68
  233. package/src/imagecaption/toggleimagecaptioncommand.js +0 -138
  234. package/src/imagecaption.js +0 -36
  235. package/src/imageconfig.js +0 -5
  236. package/src/imageinline.js +0 -44
  237. package/src/imageinsert/imageinsertui.js +0 -216
  238. package/src/imageinsert/imageinsertviaurlui.js +0 -175
  239. package/src/imageinsert/ui/imageinsertformview.js +0 -117
  240. package/src/imageinsert/ui/imageinserturlview.js +0 -102
  241. package/src/imageinsert.js +0 -43
  242. package/src/imageinsertviaurl.js +0 -41
  243. package/src/imageresize/imagecustomresizeui.js +0 -177
  244. package/src/imageresize/imageresizebuttons.js +0 -303
  245. package/src/imageresize/imageresizeediting.js +0 -206
  246. package/src/imageresize/imageresizehandles.js +0 -118
  247. package/src/imageresize/resizeimagecommand.js +0 -63
  248. package/src/imageresize/ui/imagecustomresizeformview.js +0 -264
  249. package/src/imageresize/utils/getselectedimageeditornodes.js +0 -25
  250. package/src/imageresize/utils/getselectedimagepossibleresizerange.js +0 -33
  251. package/src/imageresize/utils/getselectedimagewidthinunits.js +0 -42
  252. package/src/imageresize/utils/tryparsedimensionwithunit.js +0 -58
  253. package/src/imageresize.js +0 -38
  254. package/src/imagesizeattributes.js +0 -163
  255. package/src/imagestyle/converters.js +0 -118
  256. package/src/imagestyle/imagestylecommand.js +0 -117
  257. package/src/imagestyle/imagestyleediting.js +0 -127
  258. package/src/imagestyle/imagestyleui.js +0 -198
  259. package/src/imagestyle/utils.js +0 -333
  260. package/src/imagestyle.js +0 -42
  261. package/src/imagetextalternative/imagetextalternativecommand.js +0 -44
  262. package/src/imagetextalternative/imagetextalternativeediting.js +0 -41
  263. package/src/imagetextalternative/imagetextalternativeui.js +0 -183
  264. package/src/imagetextalternative/ui/textalternativeformview.js +0 -193
  265. package/src/imagetextalternative.js +0 -39
  266. package/src/imagetoolbar.js +0 -63
  267. package/src/imageupload/imageuploadediting.js +0 -482
  268. package/src/imageupload/imageuploadprogress.js +0 -222
  269. package/src/imageupload/imageuploadui.js +0 -135
  270. package/src/imageupload/uploadimagecommand.js +0 -110
  271. package/src/imageupload/utils.js +0 -114
  272. package/src/imageupload.js +0 -42
  273. package/src/imageutils.js +0 -309
  274. package/src/index.js +0 -67
  275. package/src/pictureediting.js +0 -136
  276. package/theme/image.css +0 -143
  277. package/theme/imagecaption.css +0 -53
  278. package/theme/imagecustomresizeform.css +0 -4
  279. package/theme/imageinsert.css +0 -14
  280. package/theme/imageplaceholder.css +0 -10
  281. package/theme/imageresize.css +0 -53
  282. package/theme/imagestyle.css +0 -120
  283. package/theme/imageuploadicon.css +0 -23
  284. package/theme/imageuploadloader.css +0 -18
  285. package/theme/imageuploadprogress.css +0 -19
  286. package/theme/textalternativeform.css +0 -4
  287. /package/{src → dist}/augmentation.d.ts +0 -0
  288. /package/{src → dist}/imageresize/utils/tryparsedimensionwithunit.d.ts +0 -0
  289. /package/{src → dist}/index.d.ts +0 -0
@@ -5,7 +5,7 @@
5
5
  /**
6
6
  * @module image/pictureediting
7
7
  */
8
- import { Plugin } from 'ckeditor5/src/core.js';
8
+ import { Plugin } from '@ckeditor/ckeditor5-core';
9
9
  import { ImageEditing } from './image/imageediting.js';
10
10
  import { ImageUtils } from './imageutils.js';
11
11
  /**
package/package.json CHANGED
@@ -1,71 +1,47 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-image",
3
- "version": "47.6.1-alpha.1",
3
+ "version": "48.0.0-alpha.0",
4
4
  "description": "Image feature for CKEditor 5.",
5
+ "license": "SEE LICENSE IN LICENSE.md",
6
+ "author": "CKSource (http://cksource.com/)",
7
+ "homepage": "https://ckeditor.com/ckeditor-5",
8
+ "bugs": "https://github.com/ckeditor/ckeditor5/issues",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/ckeditor/ckeditor5.git",
12
+ "directory": "packages/ckeditor5-image"
13
+ },
5
14
  "keywords": [
6
15
  "ckeditor",
7
16
  "ckeditor5",
8
17
  "ckeditor 5",
9
18
  "ckeditor5-feature",
10
- "ckeditor5-plugin",
11
- "ckeditor5-dll"
19
+ "ckeditor5-plugin"
12
20
  ],
13
21
  "type": "module",
14
- "main": "src/index.js",
15
- "dependencies": {
16
- "@ckeditor/ckeditor5-clipboard": "47.6.1-alpha.1",
17
- "@ckeditor/ckeditor5-core": "47.6.1-alpha.1",
18
- "@ckeditor/ckeditor5-engine": "47.6.1-alpha.1",
19
- "@ckeditor/ckeditor5-icons": "47.6.1-alpha.1",
20
- "@ckeditor/ckeditor5-typing": "47.6.1-alpha.1",
21
- "@ckeditor/ckeditor5-ui": "47.6.1-alpha.1",
22
- "@ckeditor/ckeditor5-undo": "47.6.1-alpha.1",
23
- "@ckeditor/ckeditor5-upload": "47.6.1-alpha.1",
24
- "@ckeditor/ckeditor5-utils": "47.6.1-alpha.1",
25
- "@ckeditor/ckeditor5-widget": "47.6.1-alpha.1",
26
- "ckeditor5": "47.6.1-alpha.1",
27
- "es-toolkit": "1.39.5"
22
+ "main": "./dist/index.js",
23
+ "exports": {
24
+ ".": "./dist/index.js",
25
+ "./dist/*": "./dist/*",
26
+ "./package.json": "./package.json"
28
27
  },
29
- "author": "CKSource (http://cksource.com/)",
30
- "license": "SEE LICENSE IN LICENSE.md",
31
- "homepage": "https://ckeditor.com/ckeditor-5",
32
- "bugs": "https://github.com/ckeditor/ckeditor5/issues",
33
- "repository": {
34
- "type": "git",
35
- "url": "https://github.com/ckeditor/ckeditor5.git",
36
- "directory": "packages/ckeditor5-image"
28
+ "dependencies": {
29
+ "@ckeditor/ckeditor5-clipboard": "48.0.0-alpha.0",
30
+ "@ckeditor/ckeditor5-core": "48.0.0-alpha.0",
31
+ "@ckeditor/ckeditor5-engine": "48.0.0-alpha.0",
32
+ "@ckeditor/ckeditor5-icons": "48.0.0-alpha.0",
33
+ "@ckeditor/ckeditor5-typing": "48.0.0-alpha.0",
34
+ "@ckeditor/ckeditor5-ui": "48.0.0-alpha.0",
35
+ "@ckeditor/ckeditor5-undo": "48.0.0-alpha.0",
36
+ "@ckeditor/ckeditor5-upload": "48.0.0-alpha.0",
37
+ "@ckeditor/ckeditor5-utils": "48.0.0-alpha.0",
38
+ "@ckeditor/ckeditor5-widget": "48.0.0-alpha.0",
39
+ "es-toolkit": "1.45.1"
37
40
  },
38
41
  "files": [
39
42
  "dist",
40
- "lang",
41
- "src/**/*.js",
42
- "src/**/*.d.ts",
43
- "theme",
44
- "build",
45
43
  "ckeditor5-metadata.json",
46
44
  "CHANGELOG.md"
47
45
  ],
48
- "types": "src/index.d.ts",
49
- "exports": {
50
- ".": {
51
- "types": "./src/index.d.ts",
52
- "import": "./src/index.js",
53
- "default": "./src/index.js"
54
- },
55
- "./dist/*": {
56
- "types": "./src/index.d.ts",
57
- "import": "./dist/*",
58
- "default": "./dist/*"
59
- },
60
- "./src/*": {
61
- "types": "./src/*.d.ts",
62
- "import": "./src/*",
63
- "default": "./src/*"
64
- },
65
- "./build/*": "./build/*",
66
- "./lang/*": "./lang/*",
67
- "./theme/*": "./theme/*",
68
- "./ckeditor5-metadata.json": "./ckeditor5-metadata.json",
69
- "./package.json": "./package.json"
70
- }
46
+ "types": "./dist/index.d.ts"
71
47
  }
package/build/image.js DELETED
@@ -1,5 +0,0 @@
1
- !function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Break text":"Break text","Caption for image: %0":"Caption for image: %0","Caption for the image":"Caption for the image","Centered image":"Centered image","Change image text alternative":"Change image text alternative",Custom:"Custom","Custom image size":"Custom image size","Enter image caption":"Enter image caption","Error during image upload":"Error during image upload","From computer":"From computer","Full size image":"Full size image",Image:"Image","Image from computer":"Image from computer","Image Resize":"Image Resize","Image resize list":"Image resize list","Image toolbar":"Image toolbar","Image upload complete":"Image upload complete","Image via URL":"Image via URL","image widget":"image widget","In line":"In line","Insert image":"Insert image","Insert image via URL":"Insert image via URL","Insert via URL":"Insert via URL","Left aligned image":"Left aligned image",Original:"Original","Replace from computer":"Replace from computer","Replace image":"Replace image","Replace image from computer":"Replace image from computer","Resize image":"Resize image","Resize image (in %0)":"Resize image (in %0)","Resize image to %0":"Resize image to %0","Resize image to the original size":"Resize image to the original size","Right aligned image":"Right aligned image","Side image":"Side image","Text alternative":"Text alternative","Text Alternative":"Text Alternative","The value must not be empty.":"The value must not be empty.","The value should be a plain number.":"The value should be a plain number.","Update image URL":"Update image URL","Upload failed":"Upload failed","Upload from computer":"Upload from computer","Upload image from computer":"Upload image from computer","Uploading image":"Uploading image","Via URL":"Via URL","Wrap text":"Wrap text","You have no image upload permissions.":"You have no image upload permissions."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
2
- /*!
3
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
4
- * For licensing, see LICENSE.md.
5
- */(()=>{var e={12:(e,t)=>{"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.noop=function(){}},18:(e,t,i)=>{"use strict";i.d(t,{A:()=>s});var n=i(792),a=i.n(n),o=i(305),r=i.n(o)()(a());r.push([e.id,".ck.ck-editor__editable .image,.ck.ck-editor__editable .image-inline{position:relative}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{left:0;position:absolute;top:0}.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}@media (prefers-reduced-motion:reduce){.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:none;opacity:1}}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{background:var(--ck-color-upload-bar-background);height:2px;transition:width .1s;width:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}",""]);const s=r},29:(e,t,i)=>{"use strict";i.d(t,{A:()=>s});var n=i(792),a=i.n(n),o=i(305),r=i.n(o)()(a());r.push([e.id,":root{--ck-form-default-width:340px}.ck.ck-form{padding:0 0 var(--ck-spacing-large)}.ck.ck-form.ck-form_default-width{width:var(--ck-form-default-width)}.ck.ck-form:focus{outline:none}.ck.ck-form .ck.ck-input-number,.ck.ck-form .ck.ck-input-text{min-width:100%;width:0}.ck.ck-form .ck.ck-dropdown{min-width:100%}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus){border:1px solid var(--ck-color-base-border)}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label{width:100%}@media screen and (max-width:600px){.ck.ck-form.ck-responsive-form .ck.ck-form__row.ck-form__row_with-submit{align-items:stretch;flex-direction:column;padding:0}.ck.ck-form.ck-responsive-form .ck.ck-form__row.ck-form__row_with-submit>.ck{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-form.ck-responsive-form .ck.ck-form__row.ck-form__row_with-submit .ck-button_with-text{justify-content:center}.ck.ck-form.ck-responsive-form .ck.ck-form__row.ck-form__row_large-bottom-padding{padding-bottom:var(--ck-spacing-large)}}[dir=ltr] .ck.ck-form.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-form.ck-responsive-form>:not(:last-child){margin-left:0}",""]);const s=r},68:(e,t,i)=>{"use strict";i.d(t,{A:()=>s});var n=i(792),a=i.n(n),o=i(305),r=i.n(o)()(a());r.push([e.id,":root{--ck-content-color-image-caption-background:#f7f7f7;--ck-content-color-image-caption-text:#333;--ck-color-image-caption-highlighted-background:#fd0}.ck-content .image>figcaption{background-color:var(--ck-content-color-image-caption-background);break-before:avoid;caption-side:bottom;color:var(--ck-content-color-image-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;overflow-wrap:anywhere;padding:.6em;word-break:normal}@media (forced-colors:active){.ck-content .image>figcaption{background-color:unset;color:unset}}@media (forced-colors:none){.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:ck-image-caption-highlight .6s ease-out}}@media (prefers-reduced-motion:reduce){.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:none}}@keyframes ck-image-caption-highlight{0%{background-color:var(--ck-color-image-caption-highlighted-background)}to{background-color:var(--ck-content-color-image-caption-background)}}",""]);const s=r},135:(e,t)=>{"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.eq=function(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}},163:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},185:(e,t,i)=>{"use strict";i.d(t,{A:()=>s});var n=i(792),a=i.n(n),o=i(305),r=i.n(o)()(a());r.push([e.id,".ck.ck-editor__editable img.image_placeholder{background-size:100% 100%}",""]);const s=r},220:(e,t,i)=>{"use strict";i.d(t,{A:()=>s});var n=i(792),a=i.n(n),o=i(305),r=i.n(o)()(a());r.push([e.id,'.ck-vertical-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck-vertical-form .ck-button:focus:after{display:none}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck.ck-responsive-form .ck-button:focus:after{display:none}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-width)*.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-number,.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){border-radius:0;margin-top:var(--ck-spacing-large);padding:var(--ck-spacing-standard)}.ck.ck-responsive-form>.ck-button:last-child:not(:focus),.ck.ck-responsive-form>.ck-button:nth-last-child(2):not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-responsive-form>.ck-button:last-child,[dir=ltr] .ck.ck-responsive-form>.ck-button:nth-last-child(2),[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2){margin-left:0}[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child:last-of-type,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2):last-of-type{border-right:1px solid var(--ck-color-base-border)}}',""]);const s=r},237:e=>{"use strict";e.exports=CKEditor5.dll},251:(e,t,i)=>{e.exports=i(237)("./src/undo.js")},260:(e,t,i)=>{e.exports=i(237)("./src/upload.js")},305:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var i="",n=void 0!==t[5];return t[4]&&(i+="@supports (".concat(t[4],") {")),t[2]&&(i+="@media ".concat(t[2]," {")),n&&(i+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),i+=e(t),n&&(i+="}"),t[2]&&(i+="}"),t[4]&&(i+="}"),i}).join("")},t.i=function(e,i,n,a,o){"string"==typeof e&&(e=[[null,e,void 0]]);var r={};if(n)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(r[l]=!0)}for(var c=0;c<e.length;c++){var g=[].concat(e[c]);n&&r[g[0]]||(void 0!==o&&(void 0===g[5]||(g[1]="@layer".concat(g[5].length>0?" ".concat(g[5]):""," {").concat(g[1],"}")),g[5]=o),i&&(g[2]?(g[1]="@media ".concat(g[2]," {").concat(g[1],"}"),g[2]=i):g[2]=i),a&&(g[4]?(g[1]="@supports (".concat(g[4],") {").concat(g[1],"}"),g[4]=a):g[4]="".concat(a)),t.push(g))}},t}},311:(e,t,i)=>{e.exports=i(237)("./src/ui.js")},331:(e,t,i)=>{e.exports=i(237)("./src/clipboard.js")},355:(e,t,i)=>{e.exports=i(237)("./src/icons.js")},378:(e,t)=>{"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.getSymbols=function(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}},424:e=>{"use strict";var t={};e.exports=function(e,i){var n=function(e){if(void 0===t[e]){var i=document.querySelector(e);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}t[e]=i}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(i)}},450:(e,t)=>{"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});t.argumentsTag="[object Arguments]",t.arrayBufferTag="[object ArrayBuffer]",t.arrayTag="[object Array]",t.bigInt64ArrayTag="[object BigInt64Array]",t.bigUint64ArrayTag="[object BigUint64Array]",t.booleanTag="[object Boolean]",t.dataViewTag="[object DataView]",t.dateTag="[object Date]",t.errorTag="[object Error]",t.float32ArrayTag="[object Float32Array]",t.float64ArrayTag="[object Float64Array]",t.functionTag="[object Function]",t.int16ArrayTag="[object Int16Array]",t.int32ArrayTag="[object Int32Array]",t.int8ArrayTag="[object Int8Array]",t.mapTag="[object Map]",t.numberTag="[object Number]",t.objectTag="[object Object]",t.regexpTag="[object RegExp]",t.setTag="[object Set]",t.stringTag="[object String]",t.symbolTag="[object Symbol]",t.uint16ArrayTag="[object Uint16Array]",t.uint32ArrayTag="[object Uint32Array]",t.uint8ArrayTag="[object Uint8Array]",t.uint8ClampedArrayTag="[object Uint8ClampedArray]"},517:e=>{"use strict";e.exports=function(e,t){Object.keys(t).forEach(function(i){e.setAttribute(i,t[i])})}},581:(e,t,i)=>{"use strict";i.d(t,{A:()=>s});var n=i(792),a=i.n(n),o=i(305),r=i.n(o)()(a());r.push([e.id,":root{--ck-content-image-style-spacing:1.5em;--ck-content-inline-image-style-spacing:calc(var(--ck-content-image-style-spacing)/2)}.ck-content .image.image-style-block-align-left,.ck-content .image.image-style-block-align-right{max-width:calc(100% - var(--ck-content-image-style-spacing))}.ck-content .image.image-style-align-left,.ck-content .image.image-style-align-right{clear:none}.ck-content .image.image-style-side{float:right;margin-left:var(--ck-content-image-style-spacing);max-width:50%}.ck-content .image.image-style-align-left{float:left;margin-right:var(--ck-content-image-style-spacing)}.ck-content .image.image-style-align-right{float:right;margin-left:var(--ck-content-image-style-spacing)}.ck-content .image.image-style-block-align-right{margin-left:auto;margin-right:0}.ck-content .image.image-style-block-align-left{margin-left:0;margin-right:auto}.ck-content .image-style-align-center{margin-left:auto;margin-right:auto}.ck-content .image-style-align-left{float:left;margin-right:var(--ck-content-image-style-spacing)}.ck-content .image-style-align-right{float:right;margin-left:var(--ck-content-image-style-spacing)}.ck-content p+.image.image-style-align-left,.ck-content p+.image.image-style-align-right,.ck-content p+.image.image-style-side{margin-top:0}.ck-content .image-inline.image-style-align-left,.ck-content .image-inline.image-style-align-right{margin-bottom:var(--ck-content-inline-image-style-spacing);margin-top:var(--ck-content-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-left{margin-right:var(--ck-content-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-right{margin-left:var(--ck-content-inline-image-style-spacing)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-background)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after{display:none}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-hover-background)}",""]);const s=r},584:(e,t,i)=>{e.exports=i(237)("./src/utils.js")},612:(e,t,i)=>{"use strict";i.d(t,{A:()=>s});var n=i(792),a=i.n(n),o=i(305),r=i.n(o)()(a());r.push([e.id,'.ck-image-upload-complete-icon{border-radius:50%;display:block;position:absolute;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);z-index:1}.ck-image-upload-complete-icon:after{content:"";position:absolute}:root{--ck-color-image-upload-icon:#fff;--ck-color-image-upload-icon-background:#008a00;--ck-image-upload-icon-size:20;--ck-image-upload-icon-width:2px;--ck-image-upload-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck-image-upload-complete-icon{animation-delay:0s,3s;animation-duration:.5s,.5s;animation-fill-mode:forwards,forwards;animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;background:var(--ck-color-image-upload-icon-background);font-size:calc(1px*var(--ck-image-upload-icon-size));height:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size));opacity:0;overflow:hidden;width:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size))}.ck-image-upload-complete-icon:after{animation-delay:.5s;animation-duration:.5s;animation-fill-mode:forwards;animation-name:ck-upload-complete-icon-check;border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);box-sizing:border-box;height:0;left:25%;opacity:0;top:50%;transform:scaleX(-1) rotate(135deg);transform-origin:left top;width:0}@media (prefers-reduced-motion:reduce){.ck-image-upload-complete-icon{animation-duration:0s}.ck-image-upload-complete-icon:after{animation:none;height:.45em;opacity:1;width:.3em}}@keyframes ck-upload-complete-icon-show{0%{opacity:0}to{opacity:1}}@keyframes ck-upload-complete-icon-hide{0%{opacity:1}to{opacity:0}}@keyframes ck-upload-complete-icon-check{0%{height:0;opacity:1;width:0}33%{height:0;width:.3em}to{height:.45em;opacity:1;width:.3em}}',""]);const s=r},632:(e,t,i)=>{"use strict";i.d(t,{A:()=>s});var n=i(792),a=i.n(n),o=i(305),r=i.n(o)()(a());r.push([e.id,".ck-content img.image_resized{height:auto}.ck-content .image.image_resized{box-sizing:border-box;display:block;max-width:100%}.ck-content .image.image_resized img{width:100%}.ck-content .image.image_resized>figcaption{display:block}.ck.ck-editor__editable td .image-inline.image_resized img,.ck.ck-editor__editable th .image-inline.image_resized img{max-width:100%}[dir=ltr] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-left:var(--ck-spacing-standard)}.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label{width:4em}",""]);const s=r},636:(e,t,i)=>{"use strict";i.d(t,{A:()=>s});var n=i(792),a=i.n(n),o=i(305),r=i.n(o)()(a());r.push([e.id,".ck-content .image{clear:both;display:table;margin:.9em auto;min-width:50px;text-align:center}.ck-content .image img{display:block;height:auto;margin:0 auto;max-width:100%;min-width:100%}.ck-content .image-inline{align-items:flex-start;display:inline-flex;max-width:100%}.ck-content .image-inline picture{display:flex}.ck-content .image-inline img,.ck-content .image-inline picture{flex-grow:1;flex-shrink:1;max-width:100%}.ck.ck-editor__editable .image>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}.ck.ck-editor__editable .image{z-index:1}.ck.ck-editor__editable .image.ck-widget_selected{z-index:2}.ck.ck-editor__editable .image-inline{z-index:1}.ck.ck-editor__editable .image-inline.ck-widget_selected{z-index:2}.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection{display:none}.ck.ck-editor__editable .image-inline img{height:auto}.ck.ck-editor__editable td .image-inline img,.ck.ck-editor__editable th .image-inline img{max-width:none}",""]);const s=r},679:(e,t,i)=>{"use strict";i.d(t,{A:()=>s});var n=i(792),a=i.n(n),o=i(305),r=i.n(o)()(a());r.push([e.id,":root{--ck-image-custom-resize-form-width:340px}@media screen and (max-width:600px){:root{--ck-image-custom-resize-form-width:300px}}.ck.ck-image-custom-resize-form.ck-responsive-form{width:var(--ck-image-custom-resize-form-width)}",""]);const s=r},695:(e,t,i)=>{e.exports=i(983).isEqual},719:e=>{"use strict";var t=[];function i(e){for(var i=-1,n=0;n<t.length;n++)if(t[n].identifier===e){i=n;break}return i}function n(e,n){for(var o={},r=[],s=0;s<e.length;s++){var l=e[s],c=n.base?l[0]+n.base:l[0],g=o[c]||0,m="".concat(c," ").concat(g);o[c]=g+1;var u=i(m),d={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==u)t[u].references++,t[u].updater(d);else{var p=a(d,n);n.byIndex=s,t.splice(s,0,{identifier:m,updater:p,references:1})}r.push(m)}return r}function a(e,t){var i=t.domAPI(t);i.update(e);return function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;i.update(e=t)}else i.remove()}}e.exports=function(e,a){var o=n(e=e||[],a=a||{});return function(e){e=e||[];for(var r=0;r<o.length;r++){var s=i(o[r]);t[s].references--}for(var l=n(e,a),c=0;c<o.length;c++){var g=i(o[c]);0===t[g].references&&(t[g].updater(),t.splice(g,1))}o=l}}},723:(e,t)=>{"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.getTag=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}},782:(e,t,i)=>{e.exports=i(237)("./src/core.js")},783:(e,t,i)=>{e.exports=i(237)("./src/engine.js")},784:(e,t)=>{"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.isPlainObject=function(e){if(!e||"object"!=typeof e)return!1;const t=Object.getPrototypeOf(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t))&&"[object Object]"===Object.prototype.toString.call(e)}},792:e=>{"use strict";e.exports=function(e){return e[1]}},799:(e,t,i)=>{"use strict";i.d(t,{A:()=>s});var n=i(792),a=i.n(n),o=i(305),r=i.n(o)()(a());r.push([e.id,":root{--ck-text-alternative-form-width:340px}@media screen and (max-width:600px){:root{--ck-text-alternative-form-width:300px}}.ck.ck-text-alternative-form.ck-responsive-form{width:var(--ck-text-alternative-form-width)}",""]);const s=r},802:(e,t,i)=>{"use strict";i.d(t,{A:()=>s});var n=i(792),a=i.n(n),o=i(305),r=i.n(o)()(a());r.push([e.id,'.ck .ck-upload-placeholder-loader{align-items:center;display:flex;justify-content:center;left:0;position:absolute;top:0}.ck .ck-upload-placeholder-loader:before{content:"";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px;--ck-upload-placeholder-image-aspect-ratio:2.8}.ck .ck-image-upload-placeholder{margin:0;width:100%}.ck .ck-image-upload-placeholder.image-inline{width:calc(var(--ck-upload-placeholder-loader-size)*2*var(--ck-upload-placeholder-image-aspect-ratio))}.ck .ck-image-upload-placeholder img{aspect-ratio:var(--ck-upload-placeholder-image-aspect-ratio)}.ck .ck-upload-placeholder-loader{height:100%;width:100%}.ck .ck-upload-placeholder-loader:before{animation:ck-upload-placeholder-loader 1s linear infinite;border-radius:50%;border-right:2px solid transparent;border-top:3px solid var(--ck-color-upload-placeholder-loader);height:var(--ck-upload-placeholder-loader-size);width:var(--ck-upload-placeholder-loader-size)}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}',""]);const s=r},811:(e,t,i)=>{"use strict";i.d(t,{A:()=>s});var n=i(792),a=i.n(n),o=i(305),r=i.n(o)()(a());r.push([e.id,".ck.ck-image-insert-url{padding:var(--ck-spacing-large) var(--ck-spacing-large) 0;width:400px}.ck.ck-image-insert-url .ck-image-insert-url__action-row{display:grid;grid-template-columns:repeat(2,1fr)}:root{--ck-image-insert-insert-by-url-width:250px}.ck.ck-image-insert-url{--ck-input-width:100%}.ck.ck-image-insert-url .ck-image-insert-url__action-row{grid-column-gap:var(--ck-spacing-large);margin-top:var(--ck-spacing-large)}.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-cancel,.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-save{justify-content:center;min-width:auto}.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}.ck.ck-image-insert-form>.ck.ck-button{display:block;width:100%}[dir=ltr] .ck.ck-image-insert-form>.ck.ck-button{text-align:left}[dir=rtl] .ck.ck-image-insert-form>.ck.ck-button{text-align:right}.ck.ck-image-insert-form>.ck.ck-collapsible{min-width:var(--ck-image-insert-insert-by-url-width)}.ck.ck-image-insert-form>.ck.ck-collapsible:not(:first-child){border-top:1px solid var(--ck-color-base-border)}.ck.ck-image-insert-form>.ck.ck-collapsible:not(:last-child){border-bottom:1px solid var(--ck-color-base-border)}.ck.ck-image-insert-form>.ck.ck-image-insert-url{min-width:var(--ck-image-insert-insert-by-url-width);padding:var(--ck-spacing-large)}.ck.ck-image-insert-form:focus{outline:none}",""]);const s=r},834:(e,t,i)=>{e.exports=i(237)("./src/typing.js")},847:(e,t,i)=>{"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const n=i(784),a=i(378),o=i(723),r=i(450),s=i(135);function l(e,t,i,n,a,o,r){const s=r(e,t,i,n,a,o);if(void 0!==s)return s;if(typeof e==typeof t)switch(typeof e){case"bigint":case"string":case"boolean":case"symbol":case"undefined":case"function":return e===t;case"number":return e===t||Object.is(e,t);case"object":return c(e,t,o,r)}return c(e,t,o,r)}function c(e,t,i,g){if(Object.is(e,t))return!0;let m=o.getTag(e),u=o.getTag(t);if(m===r.argumentsTag&&(m=r.objectTag),u===r.argumentsTag&&(u=r.objectTag),m!==u)return!1;switch(m){case r.stringTag:return e.toString()===t.toString();case r.numberTag:{const i=e.valueOf(),n=t.valueOf();return s.eq(i,n)}case r.booleanTag:case r.dateTag:case r.symbolTag:return Object.is(e.valueOf(),t.valueOf());case r.regexpTag:return e.source===t.source&&e.flags===t.flags;case r.functionTag:return e===t}const d=(i=i??new Map).get(e),p=i.get(t);if(null!=d&&null!=p)return d===t;i.set(e,t),i.set(t,e);try{switch(m){case r.mapTag:if(e.size!==t.size)return!1;for(const[n,a]of e.entries())if(!t.has(n)||!l(a,t.get(n),n,e,t,i,g))return!1;return!0;case r.setTag:{if(e.size!==t.size)return!1;const n=Array.from(e.values()),a=Array.from(t.values());for(let o=0;o<n.length;o++){const r=n[o],s=a.findIndex(n=>l(r,n,void 0,e,t,i,g));if(-1===s)return!1;a.splice(s,1)}return!0}case r.arrayTag:case r.uint8ArrayTag:case r.uint8ClampedArrayTag:case r.uint16ArrayTag:case r.uint32ArrayTag:case r.bigUint64ArrayTag:case r.int8ArrayTag:case r.int16ArrayTag:case r.int32ArrayTag:case r.bigInt64ArrayTag:case r.float32ArrayTag:case r.float64ArrayTag:if("undefined"!=typeof Buffer&&Buffer.isBuffer(e)!==Buffer.isBuffer(t))return!1;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!l(e[n],t[n],n,e,t,i,g))return!1;return!0;case r.arrayBufferTag:return e.byteLength===t.byteLength&&c(new Uint8Array(e),new Uint8Array(t),i,g);case r.dataViewTag:return e.byteLength===t.byteLength&&e.byteOffset===t.byteOffset&&c(new Uint8Array(e),new Uint8Array(t),i,g);case r.errorTag:return e.name===t.name&&e.message===t.message;case r.objectTag:{if(!(c(e.constructor,t.constructor,i,g)||n.isPlainObject(e)&&n.isPlainObject(t)))return!1;const o=[...Object.keys(e),...a.getSymbols(e)],r=[...Object.keys(t),...a.getSymbols(t)];if(o.length!==r.length)return!1;for(let n=0;n<o.length;n++){const a=o[n],r=e[a];if(!Object.hasOwn(t,a))return!1;if(!l(r,t[a],a,e,t,i,g))return!1}return!0}default:return!1}}finally{i.delete(e),i.delete(t)}}t.isEqualWith=function(e,t,i){return l(e,t,void 0,void 0,void 0,void 0,i)}},863:e=>{"use strict";var t,i=(t=[],function(e,i){return t[e]=i,t.filter(Boolean).join("\n")});function n(e,t,n,a){var o;if(n)o="";else{o="",a.supports&&(o+="@supports (".concat(a.supports,") {")),a.media&&(o+="@media ".concat(a.media," {"));var r=void 0!==a.layer;r&&(o+="@layer".concat(a.layer.length>0?" ".concat(a.layer):""," {")),o+=a.css,r&&(o+="}"),a.media&&(o+="}"),a.supports&&(o+="}")}if(e.styleSheet)e.styleSheet.cssText=i(t,o);else{var s=document.createTextNode(o),l=e.childNodes;l[t]&&e.removeChild(l[t]),l.length?e.insertBefore(s,l[t]):e.appendChild(s)}}var a={singleton:null,singletonCounter:0};e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=a.singletonCounter++,i=a.singleton||(a.singleton=e.insertStyleElement(e));return{update:function(e){n(i,t,!1,e)},remove:function(e){n(i,t,!0,e)}}}},901:(e,t,i)=>{e.exports=i(237)("./src/widget.js")},983:(e,t,i)=>{"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const n=i(847),a=i(12);t.isEqual=function(e,t){return n.isEqualWith(e,t,a.noop)}}},t={};function i(n){var a=t[n];if(void 0!==a)return a.exports;var o=t[n]={id:n,exports:{}};return e[n](o,o.exports,i),o.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";i.r(n),i.d(n,{AutoImage:()=>I,Image:()=>he,ImageBlock:()=>ue,ImageBlockEditing:()=>oe,ImageCaption:()=>_e,ImageCaptionEditing:()=>ke,ImageCaptionUI:()=>Ie,ImageCaptionUtils:()=>fe,ImageCustomResizeUI:()=>dt,ImageEditing:()=>Z,ImageInline:()=>pe,ImageInlineEditing:()=>de,ImageInsert:()=>Je,ImageInsertUI:()=>ce,ImageInsertViaUrl:()=>Ge,ImageInsertViaUrlUI:()=>Ke,ImageLoadObserver:()=>Y,ImagePlaceholder:()=>ae,ImageResize:()=>ft,ImageResizeButtons:()=>Ze,ImageResizeEditing:()=>Qe,ImageResizeHandles:()=>at,ImageSizeAttributes:()=>ee,ImageStyle:()=>Rt,ImageStyleCommand:()=>bt,ImageStyleEditing:()=>xt,ImageStyleUI:()=>Ut,ImageTextAlternative:()=>q,ImageTextAlternativeCommand:()=>w,ImageTextAlternativeEditing:()=>v,ImageTextAlternativeUI:()=>W,ImageToolbar:()=>Ft,ImageTypeCommand:()=>te,ImageUpload:()=>He,ImageUploadEditing:()=>De,ImageUploadProgress:()=>Oe,ImageUploadUI:()=>xe,ImageUtils:()=>f,InsertImageCommand:()=>Q,PictureEditing:()=>Nt,ReplaceImageSourceCommand:()=>X,ResizeImageCommand:()=>Ye,ToggleImageCaptionCommand:()=>be,UploadImageCommand:()=>Me,_IMAGE_DEFAULT_DROPDOWN_DEFINITIONS:()=>wt,_IMAGE_DEFAULT_ICONS:()=>It,_IMAGE_DEFAULT_OPTIONS:()=>kt,_ImageCustomResizeFormView:()=>mt,_ImageInsertFormView:()=>le,_ImageInsertUrlView:()=>$e,_ImageStyleUtils:()=>_t,_ImageTextAlternativeFormView:()=>L,_checkIfImageWidthAndHeightStylesAreBothSet:()=>p,_createBlockImageViewElement:()=>g,_createInlineImageViewElement:()=>c,_determineImageTypeForInsertionAtSelection:()=>u,_downcastImageAttribute:()=>J,_downcastImageSourcesAttribute:()=>G,_downcastImageSrcsetAttribute:()=>K,_fetchLocalImage:()=>Ae,_getImageBalloonPositionData:()=>D,_getImageSizeValueIfInPx:()=>d,_getImageViewElementMatcher:()=>m,_getSelectedImageEditorNodes:()=>st,_getSelectedImagePossibleResizeRange:()=>ut,_getSelectedImageWidthInUnits:()=>lt,_isLocalImage:()=>Ce,_modelToViewImageStyleAttribute:()=>At,_repositionImageContextualBalloon:()=>M,_tryCastImageDimensionsToUnit:()=>rt,_tryParseImageDimensionWithUnit:()=>ot,_upcastImageFigure:()=>H,_upcastImagePicture:()=>$,_viewToModelImageStyleAttribute:()=>Ct,createImageTypeRegExp:()=>ye,isHtmlInDataTransfer:()=>We});var e=i(782),t=i(331),a=i(783),o=i(251),r=i(834),s=i(584),l=i(901);function c(e){return e.createContainerElement("span",{class:"image-inline"},e.createEmptyElement("img"))}function g(e){return e.createContainerElement("figure",{class:"image"},[e.createEmptyElement("img"),e.createSlot("children")])}function m(e,t){const i=e.plugins.get("ImageUtils"),n=e.plugins.has("ImageInlineEditing")&&e.plugins.has("ImageBlockEditing");return e=>{if(!i.isInlineImageView(e))return null;if(!n)return a(e);return("block"==e.getStyle("display")||e.findAncestor(i.isBlockImageView)?"imageBlock":"imageInline")!==t?null:a(e)};function a(e){const t={name:!0};return e.hasAttribute("src")&&(t.attributes=["src"]),t}}function u(e,t){const i=(0,s.first)(t.getSelectedBlocks());return!i||e.isObject(i)||i.isEmpty&&"listItem"!=i.name?"imageBlock":"imageInline"}function d(e){return e&&e.endsWith("px")?parseInt(e):null}function p(e){const t=d(e.getStyle("width")),i=d(e.getStyle("height"));return!(!t||!i)}const h=/^(image|image-inline)$/;class f extends e.Plugin{_domEmitter=new((0,s.DomEmitterMixin)());static get pluginName(){return"ImageUtils"}static get isOfficialPlugin(){return!0}isImage(e){return this.isInlineImage(e)||this.isBlockImage(e)}isInlineImageView(e){return!!e&&e.is("element","img")}isBlockImageView(e){return!!e&&e.is("element","figure")&&e.hasClass("image")}insertImage(e={},t=null,i=null,n={}){const a=this.editor,o=a.model,r=o.document.selection,s=b(a,t||r,i);e={...Object.fromEntries(r.getAttributes()),...e};for(const t in e)o.schema.checkAttribute(s,t)||delete e[t];return o.change(i=>{const{setImageSizes:a=!0}=n,r=i.createElement(s,e);return o.insertObject(r,t,null,{setSelection:"on",findOptimalPosition:t||"imageInline"==s?void 0:"auto"}),r.parent?(a&&this.setImageNaturalSizeAttributes(r),r):null})}setImageNaturalSizeAttributes(e){const t=e.getAttribute("src");t&&(e.getAttribute("width")||e.getAttribute("height")||this.editor.model.change(i=>{const n=new s.global.window.Image;this._domEmitter.listenTo(n,"load",()=>{e.getAttribute("width")||e.getAttribute("height")||this.editor.model.enqueueChange(i.batch,t=>{t.setAttribute("width",n.naturalWidth,e),t.setAttribute("height",n.naturalHeight,e)}),this._domEmitter.stopListening(n,"load")}),n.src=t}))}getClosestSelectedImageWidget(e){const t=e.getFirstPosition();if(!t)return null;const i=e.getSelectedElement();if(i&&this.isImageWidget(i))return i;let n=t.parent;for(;n;){if(n.is("element")&&this.isImageWidget(n))return n;n=n.parent}return null}getClosestSelectedImageElement(e){const t=e.getSelectedElement();return this.isImage(t)?t:e.getFirstPosition().findAncestor("imageBlock")}getImageWidgetFromImageView(e){return e.findAncestor({classes:h})}isImageAllowed(){const e=this.editor.model.document.selection;return function(e,t){const i=b(e,t,null);if("imageBlock"==i){const i=function(e,t){const i=(0,l.findOptimalInsertionRange)(e,t),n=i.start.parent;if(n.isEmpty&&!n.is("element","$root"))return n.parent;return n}(t,e.model);if(e.model.schema.checkChild(i,"imageBlock"))return!0}else if(e.model.schema.checkChild(t.focus,"imageInline"))return!0;return!1}(this.editor,e)&&function(e){return[...e.focus.getAncestors()].every(e=>!e.is("element","imageBlock"))}(e)}toImageWidget(e,t,i){t.setCustomProperty("image",!0,e);return(0,l.toWidget)(e,t,{label:()=>{const t=this.findViewImgElement(e).getAttribute("alt");return t?`${t} ${i}`:i}})}isImageWidget(e){return!!e.getCustomProperty("image")&&(0,l.isWidget)(e)}isBlockImage(e){return!!e&&e.is("element","imageBlock")}isInlineImage(e){return!!e&&e.is("element","imageInline")}findViewImgElement(e){if(this.isInlineImageView(e))return e;const t=this.editor.editing.view;for(const{item:i}of t.createRangeIn(e))if(this.isInlineImageView(i))return i}destroy(){return this._domEmitter.stopListening(),super.destroy()}}function b(e,t,i){const n=e.model.schema,a=e.config.get("image.insert.type");return e.plugins.has("ImageBlockEditing")?e.plugins.has("ImageInlineEditing")?i||("inline"===a?"imageInline":"auto"!==a?"imageBlock":t.is("selection")?u(n,t):n.checkChild(t,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}const k=new RegExp(String(/^(http(s)?:\/\/)?[\w-]+\.[\w.~:/[\]@!$&'()*+,;=%-]+/.source+/\.(jpg|jpeg|png|gif|ico|webp|JPG|JPEG|PNG|GIF|ICO|WEBP)/.source+/(\?[\w.~:/[\]@!$&'()*+,;=%-]*)?/.source+/(#[\w.~:/[\]@!$&'()*+,;=%-]*)?$/.source));class I extends e.Plugin{static get requires(){return[t.Clipboard,f,o.Undo,r.Delete]}static get pluginName(){return"AutoImage"}static get isOfficialPlugin(){return!0}_timeoutId;_positionToInsert;constructor(e){super(e),this._timeoutId=null,this._positionToInsert=null}init(){const e=this.editor,t=e.model.document,i=e.plugins.get("ClipboardPipeline");this.listenTo(i,"inputTransformation",()=>{const e=t.selection.getFirstRange(),i=a.ModelLivePosition.fromPosition(e.start);i.stickiness="toPrevious";const n=a.ModelLivePosition.fromPosition(e.end);n.stickiness="toNext",t.once("change:data",()=>{this._embedImageBetweenPositions(i,n),i.detach(),n.detach()},{priority:"high"})}),e.commands.get("undo").on("execute",()=>{this._timeoutId&&(s.global.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)},{priority:"high"})}_embedImageBetweenPositions(e,t){const i=this.editor,n=new a.ModelLiveRange(e,t),o=n.getWalker({ignoreElementEnd:!0}),r=Object.fromEntries(i.model.document.selection.getAttributes()),s=this.editor.plugins.get("ImageUtils");let l="";for(const e of o)e.item.is("$textProxy")&&(l+=e.item.data);l=l.trim(),l.match(k)?(this._positionToInsert=a.ModelLivePosition.fromPosition(e),this._timeoutId=setTimeout(()=>{if(!i.commands.get("insertImage").isEnabled)return void n.detach();i.model.change(e=>{let t;this._timeoutId=null,e.remove(n),n.detach(),"$graveyard"!==this._positionToInsert.root.rootName&&(t=this._positionToInsert.toPosition()),s.insertImage({...r,src:l},t),this._positionToInsert.detach(),this._positionToInsert=null});i.plugins.get("Delete").requestUndoOnBackspace()},100)):n.detach()}}class w extends e.Command{refresh(){const e=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!e,this.isEnabled&&e.hasAttribute("alt")?this.value=e.getAttribute("alt"):this.value=!1}execute(e){const t=this.editor,i=t.plugins.get("ImageUtils"),n=t.model,a=i.getClosestSelectedImageElement(n.document.selection);n.change(t=>{t.setAttribute("alt",e.newValue,a)})}}class v extends e.Plugin{static get requires(){return[f]}static get pluginName(){return"ImageTextAlternativeEditing"}static get isOfficialPlugin(){return!0}init(){this.editor.commands.add("imageTextAlternative",new w(this.editor))}}var _=i(311),y=i(355),A=i(719),C=i.n(A),E=i(863),x=i.n(E),S=i(424),T=i.n(S),B=i(517),V=i.n(B),U=i(163),z=i.n(U),P=i(799),O={attributes:{"data-cke":!0}};O.setAttributes=V(),O.insert=T().bind(null,"head"),O.domAPI=x(),O.insertStyleElement=z();C()(P.A,O);P.A&&P.A.locals&&P.A.locals;var R=i(220),F={attributes:{"data-cke":!0}};F.setAttributes=V(),F.insert=T().bind(null,"head"),F.domAPI=x(),F.insertStyleElement=z();C()(R.A,F);R.A&&R.A.locals&&R.A.locals;var N=i(29),j={attributes:{"data-cke":!0}};j.setAttributes=V(),j.insert=T().bind(null,"head"),j.domAPI=x(),j.insertStyleElement=z();C()(N.A,j);N.A&&N.A.locals&&N.A.locals;class L extends _.View{focusTracker;keystrokes;labeledInput;backButtonView;saveButtonView;children;_focusables;_focusCycler;constructor(e){super(e),this.focusTracker=new s.FocusTracker,this.keystrokes=new s.KeystrokeHandler,this.backButtonView=this._createBackButton(),this.saveButtonView=this._createSaveButton(),this.labeledInput=this._createLabeledInputView(),this.children=this.createCollection([this._createHeaderView()]),this.children.add(new _.FormRowView(e,{children:[this.labeledInput,this.saveButtonView],class:["ck-form__row_with-submit","ck-form__row_large-top-padding"]})),this._focusables=new _.ViewCollection,this.keystrokes.set("Esc",(e,t)=>{this.fire("cancel"),t()}),this._focusCycler=new _.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-text-alternative-form","ck-responsive-form"],tabindex:"-1"},children:this.children})}render(){super.render(),(0,_.submitHandler)({view:this});[this.backButtonView,this.labeledInput,this.saveButtonView].forEach(e=>{this._focusables.add(e),this.focusTracker.add(e.element)}),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createBackButton(){const e=this.locale.t,t=new _.ButtonView(this.locale);return t.set({class:"ck-button-back",label:e("Back"),icon:y.IconPreviousArrow,tooltip:!0}),t.delegate("execute").to(this,"cancel"),t}_createSaveButton(){const e=this.locale.t,t=new _.ButtonView(this.locale);return t.set({label:e("Save"),withText:!0,type:"submit",class:"ck-button-action ck-button-bold"}),t}_createHeaderView(){const e=this.locale.t,t=new _.FormHeaderView(this.locale,{label:e("Text Alternative")});return t.children.add(this.backButtonView,0),t}_createLabeledInputView(){const e=this.locale.t,t=new _.LabeledFieldView(this.locale,_.createLabeledInputText);return t.label=e("Text alternative"),t.class="ck-labeled-field-view_full-width",t}}function M(e){const t=e.plugins.get("ContextualBalloon");if(e.plugins.get("ImageUtils").getClosestSelectedImageWidget(e.editing.view.document.selection)){const i=D(e);t.updatePosition(i)}}function D(e){const t=e.editing.view,i=_.BalloonPanelView.defaultPositions,n=e.plugins.get("ImageUtils");return{target:t.domConverter.mapViewToDom(n.getClosestSelectedImageWidget(t.document.selection)),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast,i.viewportStickyNorth]}}class W extends e.Plugin{_balloon;_form;static get requires(){return[_.ContextualBalloon]}static get pluginName(){return"ImageTextAlternativeUI"}static get isOfficialPlugin(){return!0}init(){this._createButton()}destroy(){super.destroy(),this._form&&this._form.destroy()}_createButton(){const e=this.editor,t=e.t;e.ui.componentFactory.add("imageTextAlternative",i=>{const n=e.commands.get("imageTextAlternative"),a=new _.ButtonView(i);return a.set({label:t("Change image text alternative"),icon:y.IconTextAlternative,tooltip:!0}),a.bind("isEnabled").to(n,"isEnabled"),a.bind("isOn").to(n,"value",e=>!!e),this.listenTo(a,"execute",()=>{this._showForm()}),a})}_createForm(){const e=this.editor,t=e.editing.view.document,i=e.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new((0,_.CssTransitionDisablerMixin)(L))(e.locale),this._form.render(),this.listenTo(this._form,"submit",()=>{e.execute("imageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)}),this.listenTo(this._form,"cancel",()=>{this._hideForm(!0)}),this.listenTo(e.ui,"update",()=>{i.getClosestSelectedImageWidget(t.selection)?this._isVisible&&M(e):this._hideForm(!0)}),(0,_.clickOutsideHandler)({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;this._form||this._createForm();const e=this.editor,t=e.commands.get("imageTextAlternative"),i=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:D(e)}),i.fieldView.value=i.fieldView.element.value=t.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(e=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),e&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class q extends e.Plugin{static get requires(){return[v,W]}static get pluginName(){return"ImageTextAlternative"}static get isOfficialPlugin(){return!0}}function H(e){const t=(t,i,n)=>{if(!n.consumable.test(i.viewItem,{name:!0,classes:"image"}))return;const a=e.findViewImgElement(i.viewItem);if(!a||!n.consumable.test(a,{name:!0}))return;n.consumable.consume(i.viewItem,{name:!0,classes:"image"});const o=n.convertItem(a,i.modelCursor),r=(0,s.first)(o.modelRange.getItems());r?(n.convertChildren(i.viewItem,r),n.updateConversionResult(r,i)):n.consumable.revert(i.viewItem,{name:!0,classes:"image"})};return e=>{e.on("element:figure",t)}}function $(e){const t=["srcset","media","type","sizes"],i=(i,n,a)=>{const o=n.viewItem;if(!a.consumable.test(o,{name:!0}))return;const r=new Map;for(const e of o.getChildren())if(e.is("element","source")){const i={};for(const n of t)e.hasAttribute(n)&&a.consumable.test(e,{attributes:n})&&(i[n]=e.getAttribute(n));Object.keys(i).length&&r.set(e,i)}const l=e.findViewImgElement(o);if(!l)return;let c=n.modelCursor.parent;if(!c.is("element","imageBlock")){const e=a.convertItem(l,n.modelCursor);n.modelRange=e.modelRange,n.modelCursor=e.modelCursor,c=(0,s.first)(e.modelRange.getItems())}a.consumable.consume(o,{name:!0});for(const[e,t]of r)a.consumable.consume(e,{attributes:Object.keys(t)});r.size&&a.writer.setAttribute("sources",Array.from(r.values()),c),a.convertChildren(o,c)};return e=>{e.on("element:picture",i)}}function K(e,t){const i=(t,i,n)=>{if(!n.consumable.consume(i.item,t.name))return;const a=n.writer,o=n.mapper.toViewElement(i.item),r=e.findViewImgElement(o);null===i.attributeNewValue?(a.removeAttribute("srcset",r),a.removeAttribute("sizes",r)):i.attributeNewValue&&(a.setAttribute("srcset",i.attributeNewValue,r),a.setAttribute("sizes","100vw",r))};return e=>{e.on(`attribute:srcset:${t}`,i)}}function G(e){const t=(t,i,n)=>{if(!n.consumable.consume(i.item,t.name))return;const a=n.writer,o=n.mapper.toViewElement(i.item),r=e.findViewImgElement(o),s=i.attributeNewValue;if(s&&s.length){const e=[];let t=r.parent;for(;t&&t.is("attributeElement");){const i=t.parent;a.unwrap(a.createRangeOn(r),t),e.unshift(t),t=i}const i=r.parent.is("element","picture"),n=i?r.parent:a.createContainerElement("picture",null);i||a.insert(a.createPositionBefore(r),n),a.remove(a.createRangeIn(n)),a.insert(a.createPositionAt(n,"end"),s.map(e=>a.createEmptyElement("source",e))),a.move(a.createRangeOn(r),a.createPositionAt(n,"end"));for(const t of e)a.wrap(a.createRangeOn(n),t)}else if(r.parent.is("element","picture")){const e=r.parent;a.move(a.createRangeOn(r),a.createPositionBefore(e)),a.remove(e)}};return e=>{e.on("attribute:sources:imageBlock",t),e.on("attribute:sources:imageInline",t)}}function J(e,t,i){const n=(t,i,n)=>{if(!n.consumable.consume(i.item,t.name))return;const a=n.writer,o=n.mapper.toViewElement(i.item),r=e.findViewImgElement(o);a.setAttribute(i.attributeKey,i.attributeNewValue||"",r)};return e=>{e.on(`attribute:${i}:${t}`,n)}}class Y extends a.Observer{observe(e){this.listenTo(e,"load",(e,t)=>{const i=t.target;this.checkShouldIgnoreEventFromTarget(i)||"IMG"==i.tagName&&this._fireEvents(t)},{useCapture:!0})}stopObserving(e){this.stopListening(e)}_fireEvents(e){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",e))}}class Q extends e.Command{constructor(e){super(e);const t=e.config.get("image.insert.type");e.plugins.has("ImageBlockEditing")||"block"===t&&(0,s.logWarning)("image-block-plugin-required"),e.plugins.has("ImageInlineEditing")||"inline"===t&&(0,s.logWarning)("image-inline-plugin-required")}refresh(){const e=this.editor.plugins.get("ImageUtils");this.isEnabled=e.isImageAllowed()}execute(e){const t=(0,s.toArray)(e.source),i=this.editor.model.document.selection,n=this.editor.plugins.get("ImageUtils"),a=Object.fromEntries(i.getAttributes());t.forEach((t,o)=>{const r=i.getSelectedElement();if("string"==typeof t&&(t={src:t}),o&&r&&n.isImage(r)){const i=this.editor.model.createPositionAfter(r);n.insertImage({...t,...a},i,e.imageType)}else e.breakBlock?n.insertImage({...t,...a},i.getFirstPosition(),e.imageType):n.insertImage({...t,...a},null,e.imageType)})}}class X extends e.Command{constructor(e){super(e),this.decorate("cleanupImage")}refresh(){const e=this.editor.plugins.get("ImageUtils"),t=this.editor.model.document.selection.getSelectedElement();this.isEnabled=e.isImage(t),this.value=this.isEnabled?t.getAttribute("src"):null}execute(e){const t=this.editor.model.document.selection.getSelectedElement(),i=this.editor.plugins.get("ImageUtils");this.editor.model.change(n=>{n.setAttribute("src",e.source,t),this.cleanupImage(n,t),i.setImageNaturalSizeAttributes(t)})}cleanupImage(e,t){e.removeAttribute("srcset",t),e.removeAttribute("sizes",t),e.removeAttribute("sources",t),e.removeAttribute("width",t),e.removeAttribute("height",t),e.removeAttribute("alt",t)}}class Z extends e.Plugin{static get requires(){return[f]}static get pluginName(){return"ImageEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.conversion;e.editing.view.addObserver(Y),t.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:"srcset"});const i=new Q(e),n=new X(e);e.commands.add("insertImage",i),e.commands.add("replaceImageSource",n),e.commands.add("imageInsert",i)}}class ee extends e.Plugin{static get requires(){return[f]}static get pluginName(){return"ImageSizeAttributes"}static get isOfficialPlugin(){return!0}afterInit(){this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline")}_registerSchema(){const e=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&e.extend("imageBlock",{allowAttributes:["width","height"]}),this.editor.plugins.has("ImageInlineEditing")&&e.extend("imageInline",{allowAttributes:["width","height"]})}_registerConverters(e){const t=this.editor,i=t.plugins.get("ImageUtils"),n="imageBlock"===e?"figure":"img";function a(t,n,a,o,r=!1){t.on(`attribute:${n}:${e}`,(t,n,s)=>{if(!s.consumable.consume(n.item,t.name))return;const l=s.writer,c=s.mapper.toViewElement(n.item),g=i.findViewImgElement(c);null!==n.attributeNewValue?l.setAttribute(a,n.attributeNewValue,g):l.removeAttribute(a,g);const m=n.item.getAttribute("width"),u=n.item.getAttribute("height"),d=m&&u;if(d&&r&&l.setAttribute("loading","lazy",g),n.item.hasAttribute("sources"))return;const p=n.item.hasAttribute("resizedWidth");("imageInline"!==e||p||o)&&d&&l.setStyle("aspect-ratio",`${m}/${u}`,g)})}t.conversion.for("upcast").attributeToAttribute({view:{name:n,styles:{width:/.+/}},model:{key:"width",value:e=>p(e)?d(e.getStyle("width")):null}}).attributeToAttribute({view:{name:n,key:"width"},model:"width"}).attributeToAttribute({view:{name:n,styles:{height:/.+/}},model:{key:"height",value:e=>p(e)?d(e.getStyle("height")):null}}).attributeToAttribute({view:{name:n,key:"height"},model:"height"}),t.conversion.for("editingDowncast").add(e=>{a(e,"width","width",!0,!0),a(e,"height","height",!0,!0)}),t.conversion.for("dataDowncast").add(e=>{a(e,"width","width",!1),a(e,"height","height",!1)}),t.conversion.for("upcast").add(e=>{e.on("element:img",(e,t,i)=>{const n=t.viewItem.getAttribute("width"),a=t.viewItem.getAttribute("height");n&&a&&i.consumable.consume(t.viewItem,{styles:["aspect-ratio"]})})})}}class te extends e.Command{_modelElementName;constructor(e,t){super(e),this._modelElementName=t}refresh(){const e=this.editor.plugins.get("ImageUtils"),t=e.getClosestSelectedImageElement(this.editor.model.document.selection);"imageBlock"===this._modelElementName?this.isEnabled=e.isInlineImage(t):this.isEnabled=e.isBlockImage(t)}execute(e={}){const t=this.editor,i=this.editor.model,n=t.plugins.get("ImageUtils"),a=n.getClosestSelectedImageElement(i.document.selection),o=Object.fromEntries(a.getAttributes());return o.src||o.uploadId?i.change(t=>{const{setImageSizes:r=!0}=e,s=Array.from(i.markers).filter(e=>e.getRange().containsItem(a)),l=n.insertImage(o,i.createSelection(a,"on"),this._modelElementName,{setImageSizes:r});if(!l)return null;const c=t.createRangeOn(l);for(const e of s){const i=e.getRange(),n="$graveyard"!=i.root.rootName?i.getJoined(c,!0):c;t.updateMarker(e,{range:n})}return{oldElement:a,newElement:l}}):null}}var ie=i(185),ne={attributes:{"data-cke":!0}};ne.setAttributes=V(),ne.insert=T().bind(null,"head"),ne.domAPI=x(),ne.insertStyleElement=z();C()(ie.A,ne);ie.A&&ie.A.locals&&ie.A.locals;class ae extends e.Plugin{static get requires(){return[f]}static get pluginName(){return"ImagePlaceholder"}static get isOfficialPlugin(){return!0}afterInit(){this._setupSchema(),this._setupConversion(),this._setupLoadListener()}_setupSchema(){const e=this.editor.model.schema;e.isRegistered("imageBlock")&&e.extend("imageBlock",{allowAttributes:["placeholder"]}),e.isRegistered("imageInline")&&e.extend("imageInline",{allowAttributes:["placeholder"]})}_setupConversion(){const e=this.editor,t=e.conversion,i=e.plugins.get("ImageUtils");t.for("editingDowncast").add(e=>{e.on("attribute:placeholder",(e,t,n)=>{if(!n.consumable.test(t.item,e.name))return;if(!t.item.is("element","imageBlock")&&!t.item.is("element","imageInline"))return;n.consumable.consume(t.item,e.name);const a=n.writer,o=n.mapper.toViewElement(t.item),r=i.findViewImgElement(o);t.attributeNewValue?(a.addClass("image_placeholder",r),a.setStyle("background-image",`url(${t.attributeNewValue})`,r),a.setCustomProperty("editingPipeline:doNotReuseOnce",!0,r)):(a.removeClass("image_placeholder",r),a.removeStyle("background-image",r))})})}_setupLoadListener(){const e=this.editor,t=e.model,i=e.editing,n=i.view,a=e.plugins.get("ImageUtils");n.addObserver(Y),this.listenTo(n.document,"imageLoaded",(e,o)=>{const r=n.domConverter.mapDomToView(o.target);if(!r)return;const s=a.getImageWidgetFromImageView(r);if(!s)return;const l=i.mapper.toModelElement(s);l&&l.hasAttribute("placeholder")&&t.enqueueChange({isUndoable:!1},e=>{e.removeAttribute("placeholder",l)})})}}class oe extends e.Plugin{static get requires(){return[Z,ee,f,ae,t.ClipboardPipeline]}static get pluginName(){return"ImageBlockEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),e.plugins.has("ImageInlineEditing")&&(e.commands.add("imageTypeBlock",new te(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const e=this.editor,t=e.t,i=e.conversion,n=e.plugins.get("ImageUtils");i.for("dataDowncast").elementToStructure({model:"imageBlock",view:(e,{writer:t})=>g(t)}),i.for("editingDowncast").elementToStructure({model:"imageBlock",view:(e,{writer:i})=>n.toImageWidget(g(i),i,t("image widget"))}),i.for("downcast").add(J(n,"imageBlock","src")).add(J(n,"imageBlock","alt")).add(K(n,"imageBlock")),i.for("upcast").elementToElement({view:m(e,"imageBlock"),model:(e,{writer:t})=>t.createElement("imageBlock",e.hasAttribute("src")?{src:e.getAttribute("src")}:void 0)}).add(H(n))}_setupClipboardIntegration(){const e=this.editor,t=e.model,i=e.editing.view,n=e.plugins.get("ImageUtils"),o=e.plugins.get("ClipboardPipeline");this.listenTo(o,"inputTransformation",(o,r)=>{const s=Array.from(r.content.getChildren());let l;if(!s.every(n.isInlineImageView))return;l=r.targetRanges?e.editing.mapper.toModelRange(r.targetRanges[0]):t.document.selection.getFirstRange();const c=t.createSelection(l);if("imageBlock"===u(t.schema,c)){const e=new a.ViewUpcastWriter(i.document),t=s.map(t=>e.createElement("figure",{class:"image"},t));r.content=e.createDocumentFragment(t)}}),this.listenTo(o,"contentInsertion",(e,i)=>{"paste"===i.method&&t.change(e=>{const t=e.createRangeIn(i.content);for(const e of t.getItems())e.is("element","imageBlock")&&n.setImageNaturalSizeAttributes(e)})})}}var re=i(811),se={attributes:{"data-cke":!0}};se.setAttributes=V(),se.insert=T().bind(null,"head"),se.domAPI=x(),se.insertStyleElement=z();C()(re.A,se);re.A&&re.A.locals&&re.A.locals;class le extends _.View{focusTracker;keystrokes;_focusables;_focusCycler;children;constructor(e,t=[]){super(e),this.focusTracker=new s.FocusTracker,this.keystrokes=new s.KeystrokeHandler,this._focusables=new _.ViewCollection,this.children=this.createCollection(),this._focusCycler=new _.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});for(const e of t)this.children.add(e),this._focusables.add(e),e instanceof _.CollapsibleView&&this._focusables.addMany(e.children);this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:-1},children:this.children})}render(){super.render(),(0,_.submitHandler)({view:this});for(const e of this._focusables)this.focusTracker.add(e.element);this.keystrokes.listenTo(this.element);const e=e=>e.stopPropagation();this.keystrokes.set("arrowright",e),this.keystrokes.set("arrowleft",e),this.keystrokes.set("arrowup",e),this.keystrokes.set("arrowdown",e)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}class ce extends e.Plugin{static get pluginName(){return"ImageInsertUI"}static get isOfficialPlugin(){return!0}static get requires(){return[f]}dropdownView;_integrations=new Map;constructor(e){super(e),e.config.define("image.insert.integrations",["upload","assetManager","url"])}init(){const e=this.editor,t=e.model.document.selection,i=e.plugins.get("ImageUtils");this.set("isImageSelected",!1),this.listenTo(e.model.document,"change",()=>{this.isImageSelected=i.isImage(t.getSelectedElement())});const n=e=>this._createToolbarComponent(e);e.ui.componentFactory.add("insertImage",n),e.ui.componentFactory.add("imageInsert",n),e.ui.componentFactory.add("menuBar:insertImage",e=>this._createMenuBarComponent(e))}registerIntegration({name:e,observable:t,buttonViewCreator:i,formViewCreator:n,menuBarButtonViewCreator:a,requiresForm:o=!1,override:r=!1}){this._integrations.has(e)&&!r&&(0,s.logWarning)("image-insert-integration-exists",{name:e}),this._integrations.set(e,{observable:t,buttonViewCreator:i,menuBarButtonViewCreator:a,formViewCreator:n,requiresForm:o})}_createToolbarComponent(e){const t=this.editor,i=e.t,n=this._prepareIntegrations();if(!n.length)return null;let a;const o=n[0];if(1==n.length){if(!o.requiresForm)return o.buttonViewCreator(!0);a=o.buttonViewCreator(!0)}else{const t=o.buttonViewCreator(!1);a=new _.SplitButtonView(e,t),a.tooltip=!0,a.bind("label").to(this,"isImageSelected",e=>i(e?"Replace image":"Insert image"))}const r=this.dropdownView=(0,_.createDropdown)(e,a),s=n.map(({observable:e})=>"function"==typeof e?e():e);return r.bind("isEnabled").toMany(s,"isEnabled",(...e)=>e.some(e=>e)),r.once("change:isOpen",()=>{const e=n.flatMap(({formViewCreator:e})=>e(1==n.length)),i=new le(t.locale,e);r.panelView.children.add(i)}),r}_createMenuBarComponent(e){const t=e.t,i=this._prepareIntegrations();if(!i.length)return null;const n=i.flatMap(({menuBarButtonViewCreator:e})=>e(1==i.length)),a=new _.MenuBarMenuView(e),o=new _.MenuBarMenuListView(e);a.panelView.children.add(o),a.buttonView.set({icon:y.IconImage,label:t("Image")});for(const t of n){const i=new _.MenuBarMenuListItemView(e,a);i.children.add(t),o.items.add(i),t.delegate("execute").to(a)}return a}_prepareIntegrations(){const e=this.editor.config.get("image.insert.integrations"),t=[];if(!e.length)return(0,s.logWarning)("image-insert-integrations-not-specified"),t;for(const i of e)this._integrations.has(i)?t.push(this._integrations.get(i)):["upload","assetManager","url"].includes(i)||(0,s.logWarning)("image-insert-unknown-integration",{item:i});return t.length||(0,s.logWarning)("image-insert-integrations-not-registered"),t}}var ge=i(636),me={attributes:{"data-cke":!0}};me.setAttributes=V(),me.insert=T().bind(null,"head"),me.domAPI=x(),me.insertStyleElement=z();C()(ge.A,me);ge.A&&ge.A.locals&&ge.A.locals;class ue extends e.Plugin{static get requires(){return[oe,l.Widget,q,ce]}static get pluginName(){return"ImageBlock"}static get isOfficialPlugin(){return!0}}class de extends e.Plugin{static get requires(){return[Z,ee,f,ae,t.ClipboardPipeline]}static get pluginName(){return"ImageInlineEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.model.schema.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"],disallowIn:["caption"]}),this._setupConversion(),e.plugins.has("ImageBlockEditing")&&(e.commands.add("imageTypeInline",new te(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const e=this.editor,t=e.t,i=e.conversion,n=e.plugins.get("ImageUtils");i.for("dataDowncast").elementToElement({model:"imageInline",view:(e,{writer:t})=>t.createEmptyElement("img")}),i.for("editingDowncast").elementToStructure({model:"imageInline",view:(e,{writer:i})=>n.toImageWidget(c(i),i,t("image widget"))}),i.for("downcast").add(J(n,"imageInline","src")).add(J(n,"imageInline","alt")).add(K(n,"imageInline")),i.for("upcast").elementToElement({view:m(e,"imageInline"),model:(e,{writer:t})=>t.createElement("imageInline",e.hasAttribute("src")?{src:e.getAttribute("src")}:void 0)})}_setupClipboardIntegration(){const e=this.editor,t=e.model,i=e.editing.view,n=e.plugins.get("ImageUtils"),o=e.plugins.get("ClipboardPipeline");this.listenTo(o,"inputTransformation",(o,r)=>{const s=Array.from(r.content.getChildren());let l;if(!s.every(n.isBlockImageView))return;l=r.targetRanges?e.editing.mapper.toModelRange(r.targetRanges[0]):t.document.selection.getFirstRange();const c=t.createSelection(l);if("imageInline"===u(t.schema,c)){const e=new a.ViewUpcastWriter(i.document),t=s.map(t=>1===t.childCount?(Array.from(t.getAttributes()).forEach(i=>e.setAttribute(...i,n.findViewImgElement(t))),t.getChild(0)):t);r.content=e.createDocumentFragment(t)}}),this.listenTo(o,"contentInsertion",(e,i)=>{"paste"===i.method&&t.change(e=>{const t=e.createRangeIn(i.content);for(const e of t.getItems())e.is("element","imageInline")&&n.setImageNaturalSizeAttributes(e)})})}}class pe extends e.Plugin{static get requires(){return[de,l.Widget,q,ce]}static get pluginName(){return"ImageInline"}static get isOfficialPlugin(){return!0}}class he extends e.Plugin{static get requires(){return[ue,pe]}static get pluginName(){return"Image"}static get isOfficialPlugin(){return!0}}class fe extends e.Plugin{static get pluginName(){return"ImageCaptionUtils"}static get isOfficialPlugin(){return!0}static get requires(){return[f]}getCaptionFromImageModelElement(e){for(const t of e.getChildren())if(t&&t.is("element","caption"))return t;return null}getCaptionFromModelSelection(e){const t=this.editor.plugins.get("ImageUtils"),i=e.getFirstPosition().findAncestor("caption");return i&&t.isBlockImage(i.parent)?i:null}matchImageCaptionViewElement(e){const t=this.editor.plugins.get("ImageUtils");return"figcaption"==e.name&&t.isBlockImageView(e.parent)?{name:!0}:null}}class be extends e.Command{refresh(){const e=this.editor,t=e.plugins.get("ImageCaptionUtils"),i=e.plugins.get("ImageUtils");if(!e.plugins.has(oe))return this.isEnabled=!1,void(this.value=!1);const n=e.model.document.selection,a=n.getSelectedElement();if(!a){const e=t.getCaptionFromModelSelection(n);return this.isEnabled=!!e,void(this.value=!!e)}this.isEnabled=i.isImage(a),this.isEnabled?this.value=!!t.getCaptionFromImageModelElement(a):this.value=!1}execute(e={}){const{focusCaptionOnShow:t}=e;this.editor.model.change(e=>{this.value?this._hideImageCaption(e):this._showImageCaption(e,t)})}_showImageCaption(e,t){const i=this.editor.model.document.selection,n=this.editor.plugins.get("ImageCaptionEditing"),a=this.editor.plugins.get("ImageUtils");let o=i.getSelectedElement();const r=n._getSavedCaption(o);a.isInlineImage(o)&&(this.editor.execute("imageTypeBlock"),o=i.getSelectedElement());const s=r||e.createElement("caption");e.append(s,o),t&&e.setSelection(s,"in")}_hideImageCaption(e){const t=this.editor,i=t.model.document.selection,n=t.plugins.get("ImageCaptionEditing"),a=t.plugins.get("ImageCaptionUtils");let o,r=i.getSelectedElement();r?o=a.getCaptionFromImageModelElement(r):(o=a.getCaptionFromModelSelection(i),r=o.parent),n._saveCaption(r,o),e.setSelection(r,"on"),e.remove(o)}}class ke extends e.Plugin{static get requires(){return[f,fe]}static get pluginName(){return"ImageCaptionEditing"}static get isOfficialPlugin(){return!0}_savedCaptionsMap;constructor(e){super(e),this._savedCaptionsMap=new WeakMap}init(){const e=this.editor,t=e.model.schema;t.isRegistered("caption")?t.extend("caption",{allowIn:"imageBlock"}):t.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),e.commands.add("toggleImageCaption",new be(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration(),this._registerCaptionReconversion()}_setupConversion(){const e=this.editor,t=e.editing.view,i=e.plugins.get("ImageUtils"),n=e.plugins.get("ImageCaptionUtils"),o=e.t;e.conversion.for("upcast").elementToElement({view:e=>n.matchImageCaptionViewElement(e),model:"caption"}),e.conversion.for("dataDowncast").elementToElement({model:"caption",view:(e,{writer:t})=>i.isBlockImage(e.parent)?t.createContainerElement("figcaption"):null}),e.conversion.for("editingDowncast").elementToElement({model:"caption",view:(e,{writer:n})=>{if(!i.isBlockImage(e.parent))return null;const r=n.createEditableElement("figcaption");n.setCustomProperty("imageCaption",!0,r),r.placeholder=o("Enter image caption"),(0,a.enableViewPlaceholder)({view:t,element:r,keepOnFocus:!0});const s=e.parent.getAttribute("alt"),c=s?o("Caption for image: %0",[s]):o("Caption for the image");return(0,l.toWidgetEditable)(r,n,{label:c})}})}_setupImageTypeCommandsIntegration(){const e=this.editor,t=e.plugins.get("ImageUtils"),i=e.plugins.get("ImageCaptionUtils"),n=e.commands.get("imageTypeInline"),a=e.commands.get("imageTypeBlock"),o=e=>{if(!e.return)return;const{oldElement:n,newElement:a}=e.return;if(!n)return;if(t.isBlockImage(n)){const e=i.getCaptionFromImageModelElement(n);if(e)return void this._saveCaption(a,e)}const o=this._getSavedCaption(n);o&&this._saveCaption(a,o)};n&&this.listenTo(n,"execute",o,{priority:"low"}),a&&this.listenTo(a,"execute",o,{priority:"low"})}_getSavedCaption(e){const t=this._savedCaptionsMap.get(e);return t?a.ModelElement.fromJSON(t):null}_saveCaption(e,t){this._savedCaptionsMap.set(e,t.toJSON())}_registerCaptionReconversion(){const e=this.editor,t=e.model,i=e.plugins.get("ImageUtils"),n=e.plugins.get("ImageCaptionUtils");t.document.on("change:data",()=>{const a=t.document.differ.getChanges();for(const t of a){if("alt"!==t.attributeKey)continue;const a=t.range.start.nodeAfter;if(i.isBlockImage(a)){const t=n.getCaptionFromImageModelElement(a);if(!t)return;e.editing.reconvertItem(t)}}})}}class Ie extends e.Plugin{static get requires(){return[fe]}static get pluginName(){return"ImageCaptionUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.editing.view,i=e.plugins.get("ImageCaptionUtils"),n=e.t;e.ui.componentFactory.add("toggleImageCaption",a=>{const o=e.commands.get("toggleImageCaption"),r=new _.ButtonView(a);return r.set({icon:y.IconCaption,tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(o,"value","isEnabled"),r.bind("label").to(o,"value",e=>n(e?"Toggle caption off":"Toggle caption on")),this.listenTo(r,"execute",()=>{e.execute("toggleImageCaption",{focusCaptionOnShow:!0});const n=i.getCaptionFromModelSelection(e.model.document.selection);if(n){const i=e.editing.mapper.toViewElement(n);t.scrollToTheSelection(),t.change(e=>{e.addClass("image__caption_highlighted",i)})}e.editing.view.focus()}),r})}}var we=i(68),ve={attributes:{"data-cke":!0}};ve.setAttributes=V(),ve.insert=T().bind(null,"head"),ve.domAPI=x(),ve.insertStyleElement=z();C()(we.A,ve);we.A&&we.A.locals&&we.A.locals;class _e extends e.Plugin{static get requires(){return[ke,Ie]}static get pluginName(){return"ImageCaption"}static get isOfficialPlugin(){return!0}}function ye(e){const t=e.map(e=>e.replace("+","\\+"));return new RegExp(`^image\\/(${t.join("|")})$`)}function Ae(e){return new Promise((t,i)=>{const n=e.getAttribute("src");fetch(n).then(e=>e.blob()).then(e=>{const i=Ee(e,n),a=i.replace("image/",""),o=new File([e],`image.${a}`,{type:i});t(o)}).catch(e=>e&&"TypeError"===e.name?function(e){return function(e){return new Promise((t,i)=>{const n=s.global.document.createElement("img");n.addEventListener("load",()=>{const e=s.global.document.createElement("canvas");e.width=n.width,e.height=n.height;e.getContext("2d").drawImage(n,0,0),e.toBlob(e=>e?t(e):i())}),n.addEventListener("error",()=>i()),n.src=e})}(e).then(t=>{const i=Ee(t,e),n=i.replace("image/","");return new File([t],`image.${n}`,{type:i})})}(n).then(t).catch(i):i(e))})}function Ce(e,t){return!(!e.isInlineImageView(t)||!t.getAttribute("src"))&&(!!t.getAttribute("src").match(/^data:image\/\w+;base64,/g)||!!t.getAttribute("src").match(/^blob:/g))}function Ee(e,t){return e.type?e.type:t.match(/data:(image\/\w+);base64/)?t.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}class xe extends e.Plugin{static get pluginName(){return"ImageUploadUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.ui.componentFactory.add("uploadImage",()=>this._createToolbarButton()),e.ui.componentFactory.add("imageUpload",()=>this._createToolbarButton()),e.ui.componentFactory.add("menuBar:uploadImage",()=>this._createMenuBarButton("standalone")),e.plugins.has("ImageInsertUI")&&e.plugins.get("ImageInsertUI").registerIntegration({name:"upload",observable:()=>e.commands.get("uploadImage"),buttonViewCreator:()=>this._createToolbarButton(),formViewCreator:()=>this._createDropdownButton(),menuBarButtonViewCreator:e=>this._createMenuBarButton(e?"insertOnly":"insertNested")})}_createButton(e){const t=this.editor,i=t.locale,n=t.commands.get("uploadImage"),a=t.config.get("image.upload.types"),o=ye(a),r=new e(t.locale),s=i.t;return r.set({acceptedType:a.map(e=>`image/${e}`).join(","),allowMultipleFiles:!0,label:s("Upload from computer"),icon:y.IconImageUpload}),r.bind("isEnabled").to(n),r.on("done",(e,i)=>{const n=Array.from(i).filter(e=>o.test(e.type));n.length&&(t.execute("uploadImage",{file:n}),t.editing.view.focus())}),r}_createToolbarButton(){const e=this.editor.locale.t,t=this.editor.plugins.get("ImageInsertUI"),i=this.editor.commands.get("uploadImage"),n=this._createButton(_.FileDialogButtonView);return n.tooltip=!0,n.bind("label").to(t,"isImageSelected",i,"isAccessAllowed",(t,i)=>e(i?t?"Replace image from computer":"Upload image from computer":"You have no image upload permissions.")),n}_createDropdownButton(){const e=this.editor.locale.t,t=this.editor.plugins.get("ImageInsertUI"),i=this._createButton(_.FileDialogButtonView);return i.withText=!0,i.bind("label").to(t,"isImageSelected",t=>e(t?"Replace from computer":"Upload from computer")),i.on("execute",()=>{t.dropdownView.isOpen=!1}),i}_createMenuBarButton(e){const t=this.editor.locale.t,i=this._createButton(_.MenuBarMenuListItemFileDialogButtonView);switch(i.withText=!0,e){case"standalone":i.label=t("Image from computer");break;case"insertOnly":i.label=t("Image");break;case"insertNested":i.label=t("From computer")}return i}}var Se=i(260),Te=i(18),Be={attributes:{"data-cke":!0}};Be.setAttributes=V(),Be.insert=T().bind(null,"head"),Be.domAPI=x(),Be.insertStyleElement=z();C()(Te.A,Be);Te.A&&Te.A.locals&&Te.A.locals;var Ve=i(612),Ue={attributes:{"data-cke":!0}};Ue.setAttributes=V(),Ue.insert=T().bind(null,"head"),Ue.domAPI=x(),Ue.insertStyleElement=z();C()(Ve.A,Ue);Ve.A&&Ve.A.locals&&Ve.A.locals;var ze=i(802),Pe={attributes:{"data-cke":!0}};Pe.setAttributes=V(),Pe.insert=T().bind(null,"head"),Pe.domAPI=x(),Pe.insertStyleElement=z();C()(ze.A,Pe);ze.A&&ze.A.locals&&ze.A.locals;class Oe extends e.Plugin{static get pluginName(){return"ImageUploadProgress"}static get isOfficialPlugin(){return!0}placeholder;constructor(e){super(e),this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const e=this.editor;e.plugins.has("ImageBlockEditing")&&e.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",this.uploadStatusChange),e.plugins.has("ImageInlineEditing")&&e.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",this.uploadStatusChange)}uploadStatusChange=(e,t,i)=>{const n=this.editor,a=t.item,o=a.getAttribute("uploadId");if(!i.consumable.consume(t.item,e.name))return;const r=n.plugins.get("ImageUtils"),s=n.plugins.get(Se.FileRepository),l=o?t.attributeNewValue:null,c=this.placeholder,g=n.editing.mapper.toViewElement(a),m=i.writer;if("reading"==l)return Re(g,m),void Fe(r,c,g,m);if("uploading"==l){const e=s.loaders.get(o);return Re(g,m),void(e?(Ne(g,m),function(e,t,i,n){const a=function(e){const t=e.createUIElement("div",{class:"ck-progress-bar"});return e.setCustomProperty("progressBar",!0,t),t}(t);t.insert(t.createPositionAt(e,"end"),a),i.on("change:uploadedPercent",(e,t,i)=>{n.change(e=>{e.setStyle("width",i+"%",a)})})}(g,m,e,n.editing.view),function(e,t,i,n){if(n.data){const a=e.findViewImgElement(t);i.setAttribute("src",n.data,a)}}(r,g,m,e)):Fe(r,c,g,m))}"complete"==l&&s.loaders.get(o)&&function(e,t,i){const n=t.createUIElement("div",{class:"ck-image-upload-complete-icon"});t.insert(t.createPositionAt(e,"end"),n),setTimeout(()=>{i.change(e=>e.remove(e.createRangeOn(n)))},3e3)}(g,m,n.editing.view),function(e,t){Le(e,t,"progressBar")}(g,m),Ne(g,m),function(e,t){t.removeClass("ck-appear",e)}(g,m)}}function Re(e,t){e.hasClass("ck-appear")||t.addClass("ck-appear",e)}function Fe(e,t,i,n){i.hasClass("ck-image-upload-placeholder")||n.addClass("ck-image-upload-placeholder",i);const a=e.findViewImgElement(i);a.getAttribute("src")!==t&&n.setAttribute("src",t,a),je(i,"placeholder")||n.insert(n.createPositionAfter(a),function(e){const t=e.createUIElement("div",{class:"ck-upload-placeholder-loader"});return e.setCustomProperty("placeholder",!0,t),t}(n))}function Ne(e,t){e.hasClass("ck-image-upload-placeholder")&&t.removeClass("ck-image-upload-placeholder",e),Le(e,t,"placeholder")}function je(e,t){for(const i of e.getChildren())if(i.getCustomProperty(t))return i}function Le(e,t,i){const n=je(e,i);n&&t.remove(t.createRangeOn(n))}class Me extends e.Command{constructor(e){super(e),this.set("isAccessAllowed",!0)}refresh(){const e=this.editor,t=e.plugins.get("ImageUtils"),i=e.model.document.selection.getSelectedElement();this.isEnabled=t.isImageAllowed()||t.isImage(i)}execute(e){const t=(0,s.toArray)(e.file),i=this.editor.model.document.selection,n=this.editor.plugins.get("ImageUtils"),a=Object.fromEntries(i.getAttributes());t.forEach((e,t)=>{const o=i.getSelectedElement();if(t&&o&&n.isImage(o)){const t=this.editor.model.createPositionAfter(o);this._uploadImage(e,a,t)}else this._uploadImage(e,a)})}_uploadImage(e,t,i){const n=this.editor,a=n.plugins.get(Se.FileRepository).createLoader(e),o=n.plugins.get("ImageUtils");a&&o.insertImage({...t,uploadId:a.id},i)}}class De extends e.Plugin{static get requires(){return[Se.FileRepository,_.Notification,t.ClipboardPipeline,f]}static get pluginName(){return"ImageUploadEditing"}static get isOfficialPlugin(){return!0}_uploadImageElements;_uploadedImages=new Map;constructor(e){super(e),e.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}init(){const e=this.editor,t=e.model.document,i=e.conversion,n=e.plugins.get(Se.FileRepository),o=e.plugins.get("ImageUtils"),r=e.plugins.get("ClipboardPipeline"),s=ye(e.config.get("image.upload.types")),l=new Me(e);e.commands.add("uploadImage",l),e.commands.add("imageUpload",l),i.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}).add(e=>e.on("element:img",(e,t,i)=>{if(!i.consumable.test(t.viewItem,{attributes:["data-ck-upload-id"]}))return;const a=t.viewItem.getAttribute("data-ck-upload-id");if(!a)return;const[o]=Array.from(t.modelRange.getItems({shallow:!0})),r=n.loaders.get(a);o&&(i.writer.setAttribute("uploadId",a,o),i.consumable.consume(t.viewItem,{attributes:["data-ck-upload-id"]}),r&&r.data&&i.writer.setAttribute("uploadStatus",r.status,o))},{priority:"low"})),this.listenTo(e.editing.view.document,"clipboardInput",(t,i)=>{if(We(i.dataTransfer))return;const n=Array.from(i.dataTransfer.files).filter(e=>!!e&&s.test(e.type));if(!n.length)return;t.stop(),e.model.change(t=>{i.targetRanges&&t.setSelection(i.targetRanges.map(t=>e.editing.mapper.toModelRange(t))),e.execute("uploadImage",{file:n})});if(!e.commands.get("uploadImage").isAccessAllowed){const t=e.plugins.get("Notification"),i=e.locale.t;t.showWarning(i("You have no image upload permissions."),{namespace:"image"})}}),this.listenTo(r,"inputTransformation",(t,i)=>{const r=Array.from(e.editing.view.createRangeIn(i.content)).map(e=>e.item).filter(e=>Ce(o,e)&&!e.getAttribute("uploadProcessed")).map(e=>({promise:Ae(e),imageElement:e}));if(!r.length)return;const s=new a.ViewUpcastWriter(e.editing.view.document);for(const e of r){s.setAttribute("uploadProcessed",!0,e.imageElement);const t=n.createLoader(e.promise);t&&(s.setAttribute("src","",e.imageElement),s.setAttribute("uploadId",t.id,e.imageElement))}}),e.editing.view.document.on("dragover",(e,t)=>{t.preventDefault()}),t.on("change",()=>{const i=t.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),a=new Set;for(const t of i)if("insert"==t.type&&"$text"!=t.name){const i=t.position.nodeAfter,o="$graveyard"==t.position.root.rootName;for(const t of qe(e,i)){const i=t.getAttribute("uploadId"),r=t.getAttribute("uploadStatus");if(!i||"complete"==r)continue;const s=n.loaders.get(i);if(s)if(o){if(!a.has(i)){Array.from(this._uploadImageElements.get(i)).every(e=>"$graveyard"==e.root.rootName)&&s.abort()}}else a.add(i),this._uploadImageElements.has(i)?this._uploadImageElements.get(i).add(t):this._uploadImageElements.set(i,new Set([t])),"idle"==s.status&&this._readAndUpload(s);else!o&&this._uploadedImages.has(i)&&e.model.enqueueChange({isUndoable:!1},e=>{e.setAttribute("uploadStatus","complete",t),this.fire("uploadComplete",{data:this._uploadedImages.get(i),imageElement:t})})}}}),this.on("uploadComplete",(e,{imageElement:t,data:i})=>{const n=i.urls?i.urls:i;this.editor.model.change(e=>{e.setAttribute("src",n.default,t),this._parseAndSetSrcsetAttributeOnImage(n,t,e),o.setImageNaturalSizeAttributes(t)})},{priority:"low"})}afterInit(){const e=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&(e.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this._registerConverters("imageBlock")),this.editor.plugins.has("ImageInlineEditing")&&(e.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]}),this._registerConverters("imageInline"))}_readAndUpload(e){const t=this.editor,i=t.model,n=t.locale.t,a=t.plugins.get(Se.FileRepository),o=t.plugins.get(_.Notification),r=t.plugins.get("ImageUtils"),l=this._uploadImageElements;return i.enqueueChange({isUndoable:!1},t=>{const i=l.get(e.id);for(const e of i)t.setAttribute("uploadStatus","reading",e)}),e.read().then(()=>{const a=e.upload();t.ui&&t.ui.ariaLiveAnnouncer.announce(n("Uploading image"));for(const n of l.get(e.id)){if(s.env.isSafari){const e=t.editing.mapper.toViewElement(n),i=r.findViewImgElement(e);t.editing.view.once("render",()=>{if(!i.parent)return;const e=t.editing.view.domConverter.mapViewToDom(i.parent);if(!e)return;const n=e.style.display;e.style.display="none",e._ckHack=e.offsetHeight,e.style.display=n})}i.enqueueChange({isUndoable:!1},e=>{e.setAttribute("uploadStatus","uploading",n)})}return a}).then(a=>{i.enqueueChange({isUndoable:!1},i=>{for(const t of l.get(e.id))i.setAttribute("uploadStatus","complete",t),this.fire("uploadComplete",{data:a,imageElement:t});t.ui&&t.ui.ariaLiveAnnouncer.announce(n("Image upload complete")),this._uploadedImages.set(e.id,a)}),c()}).catch(a=>{if(t.ui&&t.ui.ariaLiveAnnouncer.announce(n("Error during image upload")),"error"!==e.status&&"aborted"!==e.status)throw a;"error"==e.status&&a&&o.showWarning(a,{title:n("Upload failed"),namespace:"upload"}),i.enqueueChange({isUndoable:!1},t=>{for(const i of l.get(e.id))"$graveyard"!==i.root.rootName&&t.remove(i)}),c()});function c(){i.enqueueChange({isUndoable:!1},t=>{for(const i of l.get(e.id))t.removeAttribute("uploadId",i),t.removeAttribute("uploadStatus",i);l.delete(e.id)}),a.destroyLoader(e)}}_parseAndSetSrcsetAttributeOnImage(e,t,i){let n=0;const a=Object.keys(e).filter(e=>{const t=parseInt(e,10);if(!isNaN(t))return n=Math.max(n,t),!0}).map(t=>`${e[t]} ${t}w`).join(", ");if(""!=a){const e={srcset:a};t.hasAttribute("width")||t.hasAttribute("height")||(e.width=n),i.setAttributes(e,t)}}_registerConverters(e){const{conversion:t,plugins:i}=this.editor,n=i.get(Se.FileRepository),a=i.get(f);t.for("dataDowncast").add(t=>{t.on(`attribute:uploadId:${e}`,(e,t,i)=>{if(!i.consumable.test(t.item,e.name))return;const o=n.loaders.get(t.attributeNewValue);if(!o||!o.data)return null;const r=i.mapper.toViewElement(t.item),s=a.findViewImgElement(r);s&&(i.consumable.consume(t.item,e.name),i.writer.setAttribute("data-ck-upload-id",o.id,s))})})}}function We(e){return Array.from(e.types).includes("text/html")&&""!==e.getData("text/html")}function qe(e,t){const i=e.plugins.get("ImageUtils");return Array.from(e.model.createRangeOn(t)).filter(e=>i.isImage(e.item)).map(e=>e.item)}class He extends e.Plugin{static get pluginName(){return"ImageUpload"}static get isOfficialPlugin(){return!0}static get requires(){return[De,xe,Oe]}}class $e extends _.View{urlInputView;keystrokes;constructor(e){super(e),this.set("imageURLInputValue",""),this.set("isImageSelected",!1),this.set("isEnabled",!0),this.keystrokes=new s.KeystrokeHandler,this.urlInputView=this._createUrlInputView(),this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-url"],tabindex:"-1"},children:[this.urlInputView,{tag:"div",attributes:{class:["ck","ck-image-insert-url__action-row"]}}]})}render(){super.render(),(0,_.submitHandler)({view:this}),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.keystrokes.destroy()}_createUrlInputView(){const e=this.locale,t=e.t,i=new _.LabeledFieldView(e,_.createLabeledInputText);return i.bind("label").to(this,"isImageSelected",e=>t(e?"Update image URL":"Insert image via URL")),i.bind("isEnabled").to(this),i.fieldView.inputMode="url",i.fieldView.placeholder="https://example.com/image.png",i.fieldView.bind("value").to(this,"imageURLInputValue",e=>e||""),i.fieldView.on("input",()=>{this.imageURLInputValue=i.fieldView.element.value.trim()}),i}focus(){this.urlInputView.focus()}}class Ke extends e.Plugin{_imageInsertUI;_formView;static get pluginName(){return"ImageInsertViaUrlUI"}static get isOfficialPlugin(){return!0}static get requires(){return[ce,_.Dialog]}init(){this.editor.ui.componentFactory.add("insertImageViaUrl",()=>this._createToolbarButton()),this.editor.ui.componentFactory.add("menuBar:insertImageViaUrl",()=>this._createMenuBarButton("standalone"))}afterInit(){this._imageInsertUI=this.editor.plugins.get("ImageInsertUI"),this._imageInsertUI.registerIntegration({name:"url",observable:()=>this.editor.commands.get("insertImage"),buttonViewCreator:()=>this._createToolbarButton(),formViewCreator:()=>this._createDropdownButton(),menuBarButtonViewCreator:e=>this._createMenuBarButton(e?"insertOnly":"insertNested")})}_createInsertUrlButton(e){const t=new e(this.editor.locale);return t.icon=y.IconImageUrl,t.on("execute",()=>{this._showModal()}),t}_createToolbarButton(){const e=this.editor.locale.t,t=this._createInsertUrlButton(_.ButtonView);return t.tooltip=!0,t.bind("label").to(this._imageInsertUI,"isImageSelected",t=>e(t?"Update image URL":"Insert image via URL")),t}_createDropdownButton(){const e=this.editor.locale.t,t=this._createInsertUrlButton(_.ButtonView);return t.withText=!0,t.bind("label").to(this._imageInsertUI,"isImageSelected",t=>e(t?"Update image URL":"Insert via URL")),t}_createMenuBarButton(e){const t=this.editor.locale.t,i=this._createInsertUrlButton(_.MenuBarMenuListItemButtonView);switch(i.withText=!0,e){case"standalone":i.label=t("Image via URL");break;case"insertOnly":i.label=t("Image");break;case"insertNested":i.label=t("Via URL")}return i}_createInsertUrlView(){const e=this.editor,t=e.locale,i=e.commands.get("replaceImageSource"),n=e.commands.get("insertImage"),a=new $e(t);return a.bind("isImageSelected").to(this._imageInsertUI),a.bind("isEnabled").toMany([n,i],"isEnabled",(...e)=>e.some(e=>e)),a}_showModal(){const e=this.editor,t=e.locale.t,i=e.plugins.get("Dialog");this._formView||(this._formView=this._createInsertUrlView(),this._formView.on("submit",()=>this._handleSave()));const n=e.commands.get("replaceImageSource");this._formView.imageURLInputValue=n.value||"",i.show({id:"insertImageViaUrl",title:t("Image via URL"),isModal:!0,content:this._formView,actionButtons:[{label:t("Cancel"),withText:!0,onExecute:()=>i.hide()},{label:this._imageInsertUI.isImageSelected?t("Save"):t("Insert"),class:"ck-button-action",withText:!0,onExecute:()=>this._handleSave()}]})}_handleSave(){this.editor.commands.get("replaceImageSource").isEnabled?this.editor.execute("replaceImageSource",{source:this._formView.imageURLInputValue}):this.editor.execute("insertImage",{source:this._formView.imageURLInputValue}),this.editor.plugins.get("Dialog").hide()}}class Ge extends e.Plugin{static get pluginName(){return"ImageInsertViaUrl"}static get isOfficialPlugin(){return!0}static get requires(){return[Ke,ce]}}class Je extends e.Plugin{static get pluginName(){return"ImageInsert"}static get isOfficialPlugin(){return!0}static get requires(){return[He,Ge,ce]}}class Ye extends e.Command{refresh(){const e=this.editor,t=e.plugins.get("ImageUtils").getClosestSelectedImageElement(e.model.document.selection);this.isEnabled=!!t,t&&t.hasAttribute("resizedWidth")?this.value={width:t.getAttribute("resizedWidth"),height:null}:this.value=null}execute(e){const t=this.editor,i=t.model,n=t.plugins.get("ImageUtils"),a=n.getClosestSelectedImageElement(i.document.selection);this.value={width:e.width,height:null},a&&i.change(t=>{t.setAttribute("resizedWidth",e.width,a),t.removeAttribute("resizedHeight",a),n.setImageNaturalSizeAttributes(a)})}}class Qe extends e.Plugin{static get requires(){return[f]}static get pluginName(){return"ImageResizeEditing"}static get licenseFeatureCode(){return"IR"}static get isOfficialPlugin(){return!0}static get isPremiumPlugin(){return!0}constructor(e){super(e),e.config.define("image",{resizeUnit:"%",resizeOptions:[{name:"resizeImage:original",value:null,icon:"original"},{name:"resizeImage:custom",value:"custom",icon:"custom"},{name:"resizeImage:25",value:"25",icon:"small"},{name:"resizeImage:50",value:"50",icon:"medium"},{name:"resizeImage:75",value:"75",icon:"large"}]})}init(){const e=this.editor,t=new Ye(e);this._registerConverters("imageBlock"),this._registerConverters("imageInline"),e.commands.add("resizeImage",t),e.commands.add("imageResize",t)}afterInit(){this._registerSchema()}_registerSchema(){const e=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&(e.extend("imageBlock",{allowAttributes:["resizedWidth","resizedHeight"]}),e.setAttributeProperties("resizedWidth",{isFormatting:!0}),e.setAttributeProperties("resizedHeight",{isFormatting:!0})),this.editor.plugins.has("ImageInlineEditing")&&(e.extend("imageInline",{allowAttributes:["resizedWidth","resizedHeight"]}),e.setAttributeProperties("resizedWidth",{isFormatting:!0}),e.setAttributeProperties("resizedHeight",{isFormatting:!0}))}_registerConverters(e){const t=this.editor,i=t.plugins.get("ImageUtils");t.conversion.for("downcast").add(t=>t.on(`attribute:resizedWidth:${e}`,(e,t,i)=>{if(!i.consumable.consume(t.item,e.name))return;const n=i.writer,a=i.mapper.toViewElement(t.item);null!==t.attributeNewValue?(n.setStyle("width",t.attributeNewValue,a),n.addClass("image_resized",a)):(n.removeStyle("width",a),n.removeClass("image_resized",a))})),t.conversion.for("dataDowncast").attributeToAttribute({model:{name:e,key:"resizedHeight"},view:e=>({key:"style",value:{height:e}})}),t.conversion.for("editingDowncast").add(t=>t.on(`attribute:resizedHeight:${e}`,(t,n,a)=>{if(!a.consumable.consume(n.item,t.name))return;const o=a.writer,r=a.mapper.toViewElement(n.item),s="imageInline"===e?i.findViewImgElement(r):r;null!==n.attributeNewValue?o.setStyle("height",n.attributeNewValue,s):o.removeStyle("height",s)})),t.conversion.for("upcast").attributeToAttribute({view:{name:"imageBlock"===e?"figure":"img",styles:{width:/.+/}},model:{key:"resizedWidth",value:e=>p(e)?null:e.getStyle("width")}}),t.conversion.for("upcast").attributeToAttribute({view:{name:"imageBlock"===e?"figure":"img",styles:{height:/.+/}},model:{key:"resizedHeight",value:e=>p(e)?null:e.getStyle("height")}}),t.conversion.for("upcast").add(t=>{t.on("element:"+("imageBlock"===e?"figure":"img"),(e,t,i)=>{i.consumable.consume(t.viewItem,{classes:["image_resized"]})})})}}const Xe=(()=>({small:y.IconObjectSizeSmall,medium:y.IconObjectSizeMedium,large:y.IconObjectSizeLarge,custom:y.IconObjectSizeCustom,original:y.IconObjectSizeFull}))();class Ze extends e.Plugin{static get requires(){return[Qe]}static get pluginName(){return"ImageResizeButtons"}static get isOfficialPlugin(){return!0}_resizeUnit;constructor(e){super(e),this._resizeUnit=e.config.get("image.resizeUnit")}init(){const e=this.editor,t=e.config.get("image.resizeOptions"),i=e.commands.get("resizeImage");this.bind("isEnabled").to(i);for(const e of t)this._registerImageResizeButton(e);this._registerImageResizeDropdown(t)}_registerImageResizeButton(e){const t=this.editor,{name:i,value:n,icon:a}=e;t.ui.componentFactory.add(i,i=>{const o=new _.ButtonView(i),r=t.commands.get("resizeImage"),l=this._getOptionLabelValue(e,!0);if(!Xe[a])throw new s.CKEditorError("imageresizebuttons-missing-icon",t,e);if(o.set({label:l,icon:Xe[a],tooltip:l,isToggleable:!0}),o.bind("isEnabled").to(this),t.plugins.has("ImageCustomResizeUI")&&et(e)){const e=t.plugins.get("ImageCustomResizeUI");this.listenTo(o,"execute",()=>{e._showForm(this._resizeUnit)})}else{const e=n?n+this._resizeUnit:null;o.bind("isOn").to(r,"value",r,"isEnabled",tt(e)),this.listenTo(o,"execute",()=>{t.execute("resizeImage",{width:e})})}return o})}_registerImageResizeDropdown(e){const t=this.editor,i=t.t,n=e.find(e=>!e.value),a=a=>{const o=t.commands.get("resizeImage"),r=(0,_.createDropdown)(a,_.DropdownButtonView),s=r.buttonView,l=i("Resize image");return s.set({tooltip:l,commandValue:n.value,icon:Xe.medium,isToggleable:!0,label:this._getOptionLabelValue(n),withText:!0,class:"ck-resize-image-button",ariaLabel:l,ariaLabelledBy:void 0}),s.bind("label").to(o,"value",e=>e&&e.width?e.width:this._getOptionLabelValue(n)),r.bind("isEnabled").to(this),(0,_.addListToDropdown)(r,()=>this._getResizeDropdownListItemDefinitions(e,o),{ariaLabel:i("Image resize list"),role:"menu"}),this.listenTo(r,"execute",e=>{"onClick"in e.source?e.source.onClick():(t.execute(e.source.commandName,{width:e.source.commandValue}),t.editing.view.focus())}),r};t.ui.componentFactory.add("resizeImage",a),t.ui.componentFactory.add("imageResize",a)}_getOptionLabelValue(e,t=!1){const i=this.editor.t;return e.label?e.label:t?et(e)?i("Custom image size"):e.value?i("Resize image to %0",e.value+this._resizeUnit):i("Resize image to the original size"):et(e)?i("Custom"):e.value?e.value+this._resizeUnit:i("Original")}_getResizeDropdownListItemDefinitions(e,t){const{editor:i}=this,n=new s.Collection,a=e.map(e=>et(e)?{...e,valueWithUnits:"custom"}:e.value?{...e,valueWithUnits:`${e.value}${this._resizeUnit}`}:{...e,valueWithUnits:null});for(const e of a){let o=null;if(i.plugins.has("ImageCustomResizeUI")&&et(e)){const n=i.plugins.get("ImageCustomResizeUI");o={type:"button",model:new _.UIModel({label:this._getOptionLabelValue(e),role:"menuitemradio",withText:!0,icon:null,onClick:()=>{n._showForm(this._resizeUnit)}})};const r=Object.values(a).map(e=>e.valueWithUnits);o.model.bind("isOn").to(t,"value",t,"isEnabled",it(r))}else o={type:"button",model:new _.UIModel({commandName:"resizeImage",commandValue:e.valueWithUnits,label:this._getOptionLabelValue(e),role:"menuitemradio",withText:!0,icon:null})},o.model.bind("isOn").to(t,"value",t,"isEnabled",tt(e.valueWithUnits));o.model.bind("isEnabled").to(t,"isEnabled"),n.add(o)}return n}}function et(e){return"custom"===e.value}function tt(e){return(t,i)=>!(void 0===t||!i)&&(null===e&&t===e||null!==t&&t.width===e)}function it(e){return(t,i)=>!e.some(e=>tt(e)(t,i))}const nt="image_resized";class at extends e.Plugin{static get requires(){return[l.WidgetResize,f]}static get pluginName(){return"ImageResizeHandles"}static get isOfficialPlugin(){return!0}init(){const e=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(e),this._setupResizerCreator()}_setupResizerCreator(){const e=this.editor,t=e.editing.view,i=e.plugins.get("ImageUtils");t.addObserver(Y),this.listenTo(t.document,"imageLoaded",(n,a)=>{if(!a.target.matches("figure.image.ck-widget > img,figure.image.ck-widget > picture > img,figure.image.ck-widget > a > img,figure.image.ck-widget > a > picture > img,span.image-inline.ck-widget > img,span.image-inline.ck-widget > picture > img"))return;const o=e.editing.view.domConverter,r=o.domToView(a.target),s=i.getImageWidgetFromImageView(r);let c=this.editor.plugins.get(l.WidgetResize).getResizerByViewElement(s);if(c)return void c.redraw();const g=e.editing.mapper,m=g.toModelElement(s);c=e.plugins.get(l.WidgetResize).attachTo({unit:e.config.get("image.resizeUnit"),modelElement:m,viewElement:s,editor:e,getHandleHost:e=>e.querySelector("img"),getResizeHost:()=>o.mapViewToDom(g.toViewElement(m)),isCentered:()=>"alignCenter"==m.getAttribute("imageStyle"),onCommit(i){t.change(e=>{e.removeClass(nt,s)}),e.execute("resizeImage",{width:i})}}),c.on("updateSize",()=>{s.hasClass(nt)||t.change(e=>{e.addClass(nt,s)});const e="imageInline"===m.name?r:s;e.getStyle("height")&&t.change(t=>{t.removeStyle("height",e)})}),c.bind("isEnabled").to(this)})}}function ot(e){if(!e)return null;const[,t,i]=e.trim().match(/([.,\d]+)(%|px)$/)||[],n=Number.parseFloat(t);return Number.isNaN(n)?null:{value:n,unit:i}}function rt(e,t,i){return"px"===i?{value:t.value,unit:"px"}:{value:t.value/e*100,unit:"%"}}function st(e){const{editing:t}=e,i=e.plugins.get("ImageUtils").getClosestSelectedImageElement(e.model.document.selection);if(!i)return null;const n=t.mapper.toViewElement(i);return{model:i,view:n,dom:t.view.domConverter.mapViewToDom(n)}}function lt(e,t){const i=st(e);if(!i)return null;const n=ot(i.model.getAttribute("resizedWidth")||null);if(!n)return null;if(n.unit===t)return n;return rt((0,l.calculateResizeHostAncestorWidth)(i.dom),{unit:"px",value:new s.Rect(i.dom).width},t)}var ct=i(679),gt={attributes:{"data-cke":!0}};gt.setAttributes=V(),gt.insert=T().bind(null,"head"),gt.domAPI=x(),gt.insertStyleElement=z();C()(ct.A,gt);ct.A&&ct.A.locals&&ct.A.locals;class mt extends _.View{focusTracker;keystrokes;unit;backButtonView;saveButtonView;labeledInput;children;_focusables;_focusCycler;_validators;constructor(e,t,i){super(e),this.focusTracker=new s.FocusTracker,this.keystrokes=new s.KeystrokeHandler,this.unit=t,this.backButtonView=this._createBackButton(),this.saveButtonView=this._createSaveButton(),this.labeledInput=this._createLabeledInputView(),this.children=this.createCollection([this._createHeaderView()]),this.children.add(new _.FormRowView(e,{children:[this.labeledInput,this.saveButtonView],class:["ck-form__row_with-submit","ck-form__row_large-top-padding"]})),this._focusables=new _.ViewCollection,this._validators=i,this.keystrokes.set("Esc",(e,t)=>{this.fire("cancel"),t()}),this._focusCycler=new _.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-image-custom-resize-form","ck-responsive-form"],tabindex:"-1"},children:this.children})}render(){super.render(),(0,_.submitHandler)({view:this});[this.backButtonView,this.labeledInput,this.saveButtonView].forEach(e=>{this._focusables.add(e),this.focusTracker.add(e.element)}),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createBackButton(){const e=this.locale.t,t=new _.ButtonView(this.locale);return t.set({class:"ck-button-back",label:e("Back"),icon:y.IconPreviousArrow,tooltip:!0}),t.delegate("execute").to(this,"cancel"),t}_createSaveButton(){const e=this.locale.t,t=new _.ButtonView(this.locale);return t.set({label:e("Save"),withText:!0,type:"submit",class:"ck-button-action ck-button-bold"}),t}_createHeaderView(){const e=this.locale.t,t=new _.FormHeaderView(this.locale,{label:e("Image Resize")});return t.children.add(this.backButtonView,0),t}_createLabeledInputView(){const e=this.locale.t,t=new _.LabeledFieldView(this.locale,_.createLabeledInputNumber);return t.label=e("Resize image (in %0)",this.unit),t.class="ck-labeled-field-view_full-width",t.fieldView.set({step:.1}),t}isValid(){this.resetFormStatus();for(const e of this._validators){const t=e(this);if(t)return this.labeledInput.errorText=t,!1}return!0}resetFormStatus(){this.labeledInput.errorText=null}get rawSize(){const{element:e}=this.labeledInput.fieldView;return e?e.value:null}get parsedSize(){const{rawSize:e}=this;if(null===e)return null;const t=Number.parseFloat(e);return Number.isNaN(t)?null:t}get sizeWithUnits(){const{parsedSize:e,unit:t}=this;return null===e?null:`${e}${t}`}}function ut(e,t){const i=st(e);if(!i)return null;const n=(0,l.calculateResizeHostAncestorWidth)(i.dom),a=ot(window.getComputedStyle(i.dom).minWidth)||{value:1,unit:"px"};return{unit:t,lower:Math.max(.1,rt(n,a,t).value),upper:"px"===t?n:100}}class dt extends e.Plugin{_balloon;_form;static get requires(){return[_.ContextualBalloon]}static get pluginName(){return"ImageCustomResizeUI"}static get isOfficialPlugin(){return!0}destroy(){super.destroy(),this._form&&this._form.destroy()}_createForm(e){const t=this.editor;this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new((0,_.CssTransitionDisablerMixin)(mt))(t.locale,e,function(e){const t=e.t;return[e=>""===e.rawSize.trim()?t("The value must not be empty."):null===e.parsedSize?t("The value should be a plain number."):void 0]}(t)),this._form.render(),this.listenTo(this._form,"submit",()=>{this._form.isValid()&&(t.execute("resizeImage",{width:this._form.sizeWithUnits}),this._hideForm(!0))}),this.listenTo(this._form.labeledInput,"change:errorText",()=>{t.ui.update()}),this.listenTo(this._form,"cancel",()=>{this._hideForm(!0)}),(0,_.clickOutsideHandler)({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(e){if(this._isVisible)return;this._form||this._createForm(e);const t=this.editor,i=this._form.labeledInput;this._form.disableCssTransitions(),this._form.resetFormStatus(),this._isInBalloon||this._balloon.add({view:this._form,position:D(t)});const n=lt(t,e),a=n?n.value.toFixed(1):"",o=ut(t,e);i.fieldView.value=i.fieldView.element.value=a,o&&Object.assign(i.fieldView,{min:o.lower.toFixed(1),max:Math.ceil(o.upper).toFixed(1)}),this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(e=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),e&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}var pt=i(632),ht={attributes:{"data-cke":!0}};ht.setAttributes=V(),ht.insert=T().bind(null,"head"),ht.domAPI=x(),ht.insertStyleElement=z();C()(pt.A,ht);pt.A&&pt.A.locals&&pt.A.locals;class ft extends e.Plugin{static get requires(){return[Qe,at,dt,Ze]}static get pluginName(){return"ImageResize"}static get isOfficialPlugin(){return!0}}class bt extends e.Command{_defaultStyles;_styles;constructor(e,t){super(e),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(t.map(e=>{if(e.isDefault)for(const t of e.modelElements)this._defaultStyles[t]=e.name;return[e.name,e]}))}refresh(){const e=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!e,this.isEnabled?e.hasAttribute("imageStyle")?this.value=e.getAttribute("imageStyle"):this.value=this._defaultStyles[e.name]:this.value=!1}execute(e={}){const t=this.editor,i=t.model,n=t.plugins.get("ImageUtils");i.change(t=>{const a=e.value,{setImageSizes:o=!0}=e;let r=n.getClosestSelectedImageElement(i.document.selection);a&&this.shouldConvertImageType(a,r)&&(this.editor.execute(n.isBlockImage(r)?"imageTypeInline":"imageTypeBlock",{setImageSizes:o}),r=n.getClosestSelectedImageElement(i.document.selection)),!a||this._styles.get(a).isDefault?t.removeAttribute("imageStyle",r):t.setAttribute("imageStyle",a,r),o&&n.setImageNaturalSizeAttributes(r)})}shouldConvertImageType(e,t){return!this._styles.get(e).modelElements.includes(t.name)}}const kt={get inline(){return{name:"inline",title:"In line",icon:y.IconObjectInline,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:y.IconObjectInlineLeft,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:y.IconObjectLeft,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:y.IconObjectCenter,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:y.IconObjectInlineRight,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:y.IconObjectRight,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:y.IconObjectCenter,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:y.IconObjectInlineRight,modelElements:["imageBlock"],className:"image-style-side"}}},It=(()=>({full:y.IconObjectFullWidth,left:y.IconObjectLeft,right:y.IconObjectRight,center:y.IconObjectCenter,inlineLeft:y.IconObjectInlineLeft,inlineRight:y.IconObjectInlineRight,inline:y.IconObjectInline}))(),wt=[{name:"imageStyle:wrapText",title:"Wrap text",defaultItem:"imageStyle:alignLeft",items:["imageStyle:alignLeft","imageStyle:alignRight"]},{name:"imageStyle:breakText",title:"Break text",defaultItem:"imageStyle:block",items:["imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"]}];function vt(e){(0,s.logWarning)("image-style-configuration-definition-invalid",e)}const _t={normalizeStyles:function(e){return(e.configuredStyles.options||[]).map(e=>function(e){e="string"==typeof e?kt[e]?{...kt[e]}:{name:e}:function(e,t){const i={...t};for(const n in e)Object.prototype.hasOwnProperty.call(t,n)||(i[n]=e[n]);return i}(kt[e.name],e);"string"==typeof e.icon&&(e.icon=It[e.icon]||e.icon);return e}(e)).filter(t=>function(e,{isBlockPluginLoaded:t,isInlinePluginLoaded:i}){const{modelElements:n,name:a}=e;if(!(n&&n.length&&a))return vt({style:e}),!1;{const a=[t?"imageBlock":null,i?"imageInline":null];if(!n.some(e=>a.includes(e)))return(0,s.logWarning)("image-style-missing-dependency",{style:e,missingPlugins:n.map(e=>"imageBlock"===e?"ImageBlockEditing":"ImageInlineEditing")}),!1}return!0}(t,e))},getDefaultStylesConfiguration:function(e,t){return e&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:e?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}},getDefaultDropdownDefinitions:function(e){return e.has("ImageBlockEditing")&&e.has("ImageInlineEditing")?[...wt]:[]},warnInvalidStyle:vt};var yt=i(695);function At(e){return(t,i,n)=>{if(!n.consumable.consume(i.item,t.name))return;const a=Et(i.attributeNewValue,e),o=Et(i.attributeOldValue,e),r=n.mapper.toViewElement(i.item),s=n.writer;o&&s.removeClass(o.className,r),a&&s.addClass(a.className,r)}}function Ct(e){const t={imageInline:e.filter(e=>!e.isDefault&&e.modelElements.includes("imageInline")),imageBlock:e.filter(e=>!e.isDefault&&e.modelElements.includes("imageBlock"))};return(i,n,a)=>{if(!n.modelRange)return;const o=n.viewItem,r=(0,s.first)(n.modelRange.getItems());if(r&&a.schema.checkAttribute(r,"imageStyle")){for(const e of t[r.name])a.consumable.consume(o,{classes:e.className})&&a.writer.setAttribute("imageStyle",e.name,r);!function(e,t,i,n){if(!e.consumable.test(t,{styles:["float"]}))return;let a=null;switch(t.getStyle("float")){case"left":a="alignLeft";break;case"right":a="alignRight"}if(!a)return;const o=Et(a,n);if(!o)return;const r=kt[o.name];if(!yt(o,r))return;e.writer.setAttribute("imageStyle",a,i),e.consumable.consume(t,{styles:["float"]})}(a,o,r,e)}}}function Et(e,t){for(const i of t)if(i.name===e)return i}class xt extends e.Plugin{static get pluginName(){return"ImageStyleEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[f]}normalizedStyles;init(){const e=this.editor,t=e.plugins.has("ImageBlockEditing"),i=e.plugins.has("ImageInlineEditing");e.config.define("image.styles",_t.getDefaultStylesConfiguration(t,i)),this.normalizedStyles=_t.normalizeStyles({configuredStyles:e.config.get("image.styles"),isBlockPluginLoaded:t,isInlinePluginLoaded:i}),this._setupConversion(t,i),this._setupPostFixer(),e.commands.add("imageStyle",new bt(e,this.normalizedStyles))}_setupConversion(e,t){const i=this.editor,n=i.model.schema,a=At(this.normalizedStyles),o=Ct(this.normalizedStyles);i.editing.downcastDispatcher.on("attribute:imageStyle",a),i.data.downcastDispatcher.on("attribute:imageStyle",a),e&&(n.extend("imageBlock",{allowAttributes:"imageStyle"}),n.setAttributeProperties("imageStyle",{isFormatting:!0}),i.data.upcastDispatcher.on("element:figure",o,{priority:"low"})),t&&(n.extend("imageInline",{allowAttributes:"imageStyle"}),n.setAttributeProperties("imageStyle",{isFormatting:!0}),i.data.upcastDispatcher.on("element:img",o,{priority:"low"}))}_setupPostFixer(){const e=this.editor,t=e.model.document,i=e.plugins.get(f),n=new Map(this.normalizedStyles.map(e=>[e.name,e]));t.registerPostFixer(e=>{let a=!1;for(const o of t.differ.getChanges())if("insert"==o.type||"attribute"==o.type&&"imageStyle"==o.attributeKey){let t="insert"==o.type?o.position.nodeAfter:o.range.start.nodeAfter;if(t&&t.is("element","paragraph")&&t.childCount>0&&(t=t.getChild(0)),!i.isImage(t))continue;const r=t.getAttribute("imageStyle");if(!r)continue;const s=n.get(r);s&&s.modelElements.includes(t.name)||(e.removeAttribute("imageStyle",t),a=!0)}return a})}}function St(e){return null!==e&&("object"==typeof e||"function"==typeof e)}function Tt(e){return e}var Bt=i(581),Vt={attributes:{"data-cke":!0}};Vt.setAttributes=V(),Vt.insert=T().bind(null,"head"),Vt.domAPI=x(),Vt.insertStyleElement=z();C()(Bt.A,Vt);Bt.A&&Bt.A.locals&&Bt.A.locals;class Ut extends e.Plugin{static get requires(){return[xt]}static get pluginName(){return"ImageStyleUI"}static get isOfficialPlugin(){return!0}get localizedDefaultStylesTitles(){const e=this.editor.t;return{"Wrap text":e("Wrap text"),"Break text":e("Break text"),"In line":e("In line"),"Full size image":e("Full size image"),"Side image":e("Side image"),"Left aligned image":e("Left aligned image"),"Centered image":e("Centered image"),"Right aligned image":e("Right aligned image")}}init(){const e=this.editor.plugins,t=this.editor.config.get("image.toolbar")||[],i=zt(e.get("ImageStyleEditing").normalizedStyles,this.localizedDefaultStylesTitles);for(const e of i)this._createButton(e);const n=zt([...t.filter(St),..._t.getDefaultDropdownDefinitions(e)],this.localizedDefaultStylesTitles);for(const e of n)this._createDropdown(e,i)}_createDropdown(e,t){const i=this.editor.ui.componentFactory;i.add(e.name,n=>{let a;const{defaultItem:o,items:r,title:s}=e,l=r.filter(e=>t.find(({name:t})=>Pt(t)===e)).map(e=>{const t=i.create(e);return e===o&&(a=t),t});r.length!==l.length&&_t.warnInvalidStyle({dropdown:e});const c=(0,_.createDropdown)(n,_.SplitButtonView),g=c.buttonView,m=g.arrowView;return(0,_.addToolbarToDropdown)(c,l,{enableActiveItemFocusOnDropdownOpen:!0}),g.set({label:Ot(s,a.label),class:null,tooltip:!0}),m.unbind("label"),m.set({label:s}),g.bind("icon").toMany(l,"isOn",(...e)=>{const t=e.findIndex(Tt);return t<0?a.icon:l[t].icon}),g.bind("label").toMany(l,"isOn",(...e)=>{const t=e.findIndex(Tt);return Ot(s,t<0?a.label:l[t].label)}),g.bind("isOn").toMany(l,"isOn",(...e)=>e.some(Tt)),g.bind("class").toMany(l,"isOn",(...e)=>e.some(Tt)?"ck-splitbutton_flatten":void 0),g.on("execute",()=>{l.some(({isOn:e})=>e)?c.isOpen=!c.isOpen:a.fire("execute")}),c.bind("isEnabled").toMany(l,"isEnabled",(...e)=>e.some(Tt)),this.listenTo(c,"execute",()=>{this.editor.editing.view.focus()}),c})}_createButton(e){const t=e.name;this.editor.ui.componentFactory.add(Pt(t),i=>{const n=this.editor.commands.get("imageStyle"),a=new _.ButtonView(i);return a.set({label:e.title,icon:e.icon,tooltip:!0,isToggleable:!0}),a.bind("isEnabled").to(n,"isEnabled"),a.bind("isOn").to(n,"value",e=>e===t),a.on("execute",this._executeCommand.bind(this,t)),a})}_executeCommand(e){this.editor.execute("imageStyle",{value:e}),this.editor.editing.view.focus()}}function zt(e,t){for(const i of e)t[i.title]&&(i.title=t[i.title]);return e}function Pt(e){return`imageStyle:${e}`}function Ot(e,t){return(e?e+": ":"")+t}class Rt extends e.Plugin{static get requires(){return[xt,Ut]}static get pluginName(){return"ImageStyle"}static get isOfficialPlugin(){return!0}}class Ft extends e.Plugin{static get requires(){return[l.WidgetToolbarRepository,f]}static get pluginName(){return"ImageToolbar"}static get isOfficialPlugin(){return!0}afterInit(){const e=this.editor,t=e.t,i=e.plugins.get(l.WidgetToolbarRepository),n=e.plugins.get("ImageUtils");var a;i.register("image",{ariaLabel:t("Image toolbar"),items:(a=e.config.get("image.toolbar")||[],a.map(e=>St(e)?e.name:e)),getRelatedElement:e=>n.getClosestSelectedImageWidget(e)})}}class Nt extends e.Plugin{static get requires(){return[Z,f]}static get pluginName(){return"PictureEditing"}static get isOfficialPlugin(){return!0}afterInit(){const e=this.editor;e.plugins.has("ImageBlockEditing")&&e.model.schema.extend("imageBlock",{allowAttributes:["sources"]}),e.plugins.has("ImageInlineEditing")&&e.model.schema.extend("imageInline",{allowAttributes:["sources"]}),this._setupConversion(),this._setupImageUploadEditingIntegration()}_setupConversion(){const e=this.editor,t=e.conversion,i=e.plugins.get("ImageUtils");t.for("upcast").add($(i)),t.for("downcast").add(G(i))}_setupImageUploadEditingIntegration(){const e=this.editor;if(!e.plugins.has("ImageUploadEditing"))return;const t=e.plugins.get("ImageUploadEditing");this.listenTo(t,"uploadComplete",(t,{imageElement:i,data:n})=>{const a=n.sources;a&&e.model.change(e=>{e.setAttributes({sources:a},i)})})}}})(),(window.CKEditor5=window.CKEditor5||{}).image=n})();
@@ -1 +0,0 @@
1
- !function(e){const a=e.af=e.af||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"","Change image text alternative":"",Custom:"","Custom image size":"","Enter image caption":"","Error during image upload":"","From computer":"","Full size image":"",Image:"","Image from computer":"","Image Resize":"","Image resize list":"","Image toolbar":"","Image upload complete":"","Image via URL":"","image widget":"","In line":"","Insert image":"","Insert image via URL":"","Insert via URL":"","Left aligned image":"",Original:"","Replace from computer":"","Replace image":"","Replace image from computer":"","Resize image":"","Resize image (in %0)":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"","Text alternative":"","Text Alternative":"","The value must not be empty.":"","The value should be a plain number.":"","Update image URL":"","Upload failed":"","Upload from computer":"","Upload image from computer":"","Uploading image":"","Via URL":"","Wrap text":"","You have no image upload permissions.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(e){const a=e.ar=e.ar||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"اعتراض النص","Caption for image: %0":"التسمية التوضيحية للصورة: %0","Caption for the image":"التسمية التوضيحية للصورة","Centered image":"صورة بالوسط","Change image text alternative":"غير النص البديل للصورة",Custom:"مخصص","Custom image size":"حجم مخصص للصورة","Enter image caption":"ادخل عنوان الصورة","Error during image upload":"حدث خطأ أثناء رفع الصورة","From computer":"من الكمبيوتر","Full size image":"صورة بحجم كامل",Image:"صورة","Image from computer":"صورة من جهاز الكمبيوتر","Image Resize":"تغيير حجم الصورة","Image resize list":"قائمة تغيير حجم الصورة","Image toolbar":"شريط أدوات الصور","Image upload complete":"اكتمل تحميل الصورة","Image via URL":"صورة عبر URL","image widget":"عنصر الصورة","In line":"سطري مع النص","Insert image":"ادراج صورة","Insert image via URL":"إدراج صورة عبر عنوان URL","Insert via URL":"إدراج عبر URL","Left aligned image":"صورة بمحاذاة لليسار",Original:"الحجم الأصلي","Replace from computer":"استبدال من الحاسوب","Replace image":"استبدال الصورة","Replace image from computer":"استبدال الصورة من الحاسوب","Resize image":"تغيير حجم الصورة","Resize image (in %0)":"تغيير حجم الصورة (في %0 )","Resize image to %0":"تغيير حجم الصورة إلى %0","Resize image to the original size":"تغيير حجم الصورة إلى الحجم الأصلي","Right aligned image":"صورة بمحاذاة لليمين","Side image":"صورة جانبية","Text alternative":"النص البديل","Text Alternative":"النص البديل","The value must not be empty.":"يجب ألا تكون القيمة فارغة.","The value should be a plain number.":"يجب أن تكون القيمة رقماً عادياً.","Update image URL":"عنوان URL الخاص بتحديث الصورة","Upload failed":"فشل الرفع","Upload from computer":"رفع الملف من الحاسوب","Upload image from computer":"تحميل الصورة من الحاسوب","Uploading image":"جارٍ تحميل الصورة","Via URL":"عبر URL","Wrap text":"التفاف النص","You have no image upload permissions.":"ليس لديك أذونات تحميل الصور."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(e){const a=e.ast=e.ast||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"","Change image text alternative":"",Custom:"","Custom image size":"","Enter image caption":"","Error during image upload":"","From computer":"","Full size image":"Imaxen a tamañu completu",Image:"","Image from computer":"","Image Resize":"","Image resize list":"","Image toolbar":"","Image upload complete":"","Image via URL":"","image widget":"complementu d'imaxen","In line":"","Insert image":"","Insert image via URL":"","Insert via URL":"","Left aligned image":"",Original:"","Replace from computer":"","Replace image":"","Replace image from computer":"","Resize image":"","Resize image (in %0)":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"Imaxen llateral","Text alternative":"","Text Alternative":"","The value must not be empty.":"","The value should be a plain number.":"","Update image URL":"","Upload failed":"","Upload from computer":"","Upload image from computer":"","Uploading image":"","Via URL":"","Wrap text":"","You have no image upload permissions.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(e){const i=e.az=e.az||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"Mərkəzə düzləndir","Change image text alternative":"Alternativ mətni redaktə et",Custom:"","Custom image size":"","Enter image caption":"Şəkil başlığı daxil edin","Error during image upload":"","From computer":"","Full size image":"Tam ölçülü şəkili",Image:"","Image from computer":"","Image Resize":"","Image resize list":"","Image toolbar":"Şəkil paneli","Image upload complete":"","Image via URL":"","image widget":"Şəkil vidgetı","In line":"","Insert image":"Şəkili əlavə et","Insert image via URL":"","Insert via URL":"","Left aligned image":"Soldan düzləndir",Original:"","Replace from computer":"","Replace image":"","Replace image from computer":"","Resize image":"","Resize image (in %0)":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Sağdan düzləndir","Side image":"Yan şəkil","Text alternative":"Alternativ mətn","Text Alternative":"","The value must not be empty.":"","The value should be a plain number.":"","Update image URL":"","Upload failed":"Şəkili serverə yüklə","Upload from computer":"","Upload image from computer":"","Uploading image":"","Via URL":"","Wrap text":"","You have no image upload permissions.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(e){const a=e.be=e.be||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"Разрываць тэкст","Caption for image: %0":"Назва відарыса: %0","Caption for the image":"Назва відарыса","Centered image":"Выраўнаваць відарыс па цэнтры","Change image text alternative":"Рэдагаваць альтэрнатыўны тэкст",Custom:"Адмысловы","Custom image size":"Адмысловы памер відарыса","Enter image caption":"Увядзіце назву відарыса","Error during image upload":"Памылка пры загрузцы відарыса","From computer":"З камп'ютара","Full size image":"Поўна памерны відарыс",Image:"Відарыс","Image from computer":"Відарыс з камп'ютара","Image Resize":"","Image resize list":"Список памераў","Image toolbar":"Панэль інструментаў відарыса","Image upload complete":"Загрузка відарыса выканана","Image via URL":"Відарыс праз URL","image widget":"Віджэт відарыса","In line":"У тэксце","Insert image":"Уставіць відарыс","Insert image via URL":"Уставіць відарыс па URL","Insert via URL":"Уставіць па URL","Left aligned image":"Выраўнаваць відарыс па левым краі",Original:"Зыходны","Replace from computer":"Замяніць з камп'ютара","Replace image":"Замяніць відарыс","Replace image from computer":"Замяніць відарыс з камп'ютара","Resize image":"Змяніць памер відарыса","Resize image (in %0)":"Змяніць памер відарыса (у %0)","Resize image to %0":"Змяніць памер відарыса на %0","Resize image to the original size":"Вярнуць памер відарыса да зыходнага","Right aligned image":"Выраўнаваць відарыс па правым краі","Side image":"Баковы відарыс","Text alternative":"Альтэрнатыўны тэкст","Text Alternative":"","The value must not be empty.":"Значэнне не павінна быць пустым.","The value should be a plain number.":"Значэнне павінна быць простым лікам.","Update image URL":"Змяніць URL відарыса","Upload failed":"Запампаванне не выканана","Upload from computer":"Уставіць з камп'ютара","Upload image from computer":"Запампаваць відарыс з камп'ютара","Uploading image":"Загрузка відарыса","Via URL":"Праз URL","Wrap text":"Абгарнуць тэкст","You have no image upload permissions.":"У вас няма дазволу на запампаванне відарысаў."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(e){const a=e.bg=e.bg||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"Раздели текст","Caption for image: %0":"Заглавие на изображението: %0","Caption for the image":"Заглавие на изображението","Centered image":"Центрирано изображение","Change image text alternative":"Промени изображението на текстовата алтернатива",Custom:"Потребителски","Custom image size":"Потребителски размер на изображението","Enter image caption":"Въведи описание на изображението","Error during image upload":"Грешка по време на качването на изображение","From computer":"От компютър","Full size image":"Изображение в пълен размер",Image:"Изображение","Image from computer":"Изображение от компютър","Image Resize":"Промяна на размера на изображението","Image resize list":"Списък с промените на размера на изображението","Image toolbar":"Лента с изображения","Image upload complete":"Качването на изображение е завършено","Image via URL":"Изображение чрез URL","image widget":"Компонент за изображение","In line":"В линия","Insert image":"Вмъкни изображение","Insert image via URL":"Въведи изображение чрез URL","Insert via URL":"Вмъкване чрез URL","Left aligned image":"Изображение подравнено вляво",Original:"Оригинал","Replace from computer":"Заменете от компютър","Replace image":"Замяна на изображението","Replace image from computer":"Замяна на изображение от компютър","Resize image":"Промени размера на изображението","Resize image (in %0)":"Промени размера на изображението (in %0)","Resize image to %0":"Промени размера на изображението на %0","Resize image to the original size":"Възстанови оригиналния размер на изображението","Right aligned image":"Изображение подравнено вдясно","Side image":"Странично изображение","Text alternative":"Текстова алтернатива","Text Alternative":"Текстова алтернатива","The value must not be empty.":"Стойността не трябва да е празна.","The value should be a plain number.":"Стойността трябва да бъде просто число.","Update image URL":"Обнови URL на изображението","Upload failed":"Качването е неуспешно","Upload from computer":"Качете от компютър","Upload image from computer":"Качване на изображение от компютър","Uploading image":"Качване на изображение","Via URL":"Чрез URL","Wrap text":"Събери текст","You have no image upload permissions.":"Нямате разрешения за публикуване на изображения."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(e){const a=e.bn=e.bn||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"টেক্সট ভেঙ্গে ফেলুন","Caption for image: %0":"ছবির জন্য ক্যাপশন: %0","Caption for the image":"ছবির জন্য ক্যাপশন","Centered image":"কেন্দ্রীভূত ছবি","Change image text alternative":"ছবির টেক্সট বিকল্প পরিবর্তন",Custom:"কাস্টম","Custom image size":"কাস্টম ইমেজ সাইজ","Enter image caption":"ছবির ক্যাপশন লিখুন","Error during image upload":"ইমেজ আপলোডের সময় ত্রুটি","From computer":"কম্পিউটার থেকে","Full size image":"সম্পূর্ণ আকারের ছবি",Image:"ইমেজ","Image from computer":"কম্পিউটার থেকে ছবি","Image Resize":"ছবি আকার পরিবর্তন","Image resize list":"ছবির আকার পরিবর্তনের তালিকা","Image toolbar":"ছবির টুলবার","Image upload complete":"ইমেজ আপলোড সম্পূর্ণ হয়েছে","Image via URL":"URL-এর মাধ্যমে ইমেজ","image widget":"ছবির উইজেট","In line":"সঙ্গতিপূর্ণভাবে","Insert image":"ছবি ঢোকান","Insert image via URL":"URL এর মাধ্যমে ছবি ঢোকান","Insert via URL":"URL-এর মাধ্যমে প্রবেশ করান","Left aligned image":"বাম সারিবদ্ধ ছবি",Original:"মূল","Replace from computer":"কম্পিউটার থেকে প্রতিস্থাপন করুন","Replace image":"ছবি প্রতিস্থাপন করুন","Replace image from computer":"কম্পিউটার থেকে ছবি প্রতিস্থাপন করুন","Resize image":"ছবির আকার পরিবর্তন করুন","Resize image (in %0)":"(%0 এ) ইমেজ রিসাইজ করুন","Resize image to %0":"ছবি %0 আকার পরিবর্তন করুন","Resize image to the original size":"মূল আকারে ছবির আকার পরিবর্তন করুন","Right aligned image":"ডানে সারিবদ্ধ ছবি","Side image":"পার্শ্ব ছবি","Text alternative":"টেক্সট বিকল্প","Text Alternative":"টেক্সট বিকল্প","The value must not be empty.":"মানটি খালি রাখা যাবে না।","The value should be a plain number.":"মানটি একটি সরল সংখ্যা হতে হবে।","Update image URL":"ছবির URL আপডেট করুন","Upload failed":"আপলোড ব্যর্থ হয়েছে","Upload from computer":"কম্পিউটার থেকে আপলোড করুন","Upload image from computer":"কম্পিউটার থেকে ছবি আপলোড করুন","Uploading image":"ইমেজ আপলোড হচ্ছে","Via URL":"URL-এর মাধ্যমে","Wrap text":"টেক্সট মোড়ানো","You have no image upload permissions.":"আপনার কোনও ইমেজ আপলোডের অনুমতি নেই।"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(e){const i=e.bs=e.bs||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"Centrirana slika","Change image text alternative":"Promijeni ALT atribut za sliku",Custom:"","Custom image size":"","Enter image caption":"Unesi naziv slike","Error during image upload":"","From computer":"","Full size image":"",Image:"","Image from computer":"","Image Resize":"","Image resize list":"Lista veličina slike","Image toolbar":"","Image upload complete":"","Image via URL":"","image widget":"","In line":"","Insert image":"Umetni sliku","Insert image via URL":"Umetni sliku preko URLa","Insert via URL":"","Left aligned image":"Lijevo poravnata slika",Original:"Original","Replace from computer":"","Replace image":"","Replace image from computer":"","Resize image":"Promijeni veličinu slike","Resize image (in %0)":"","Resize image to %0":"","Resize image to the original size":"Postavi originalnu veličinu slike","Right aligned image":"Desno poravnata slika","Side image":"","Text alternative":"ALT atribut","Text Alternative":"","The value must not be empty.":"","The value should be a plain number.":"","Update image URL":"Ažuriraj URL slike","Upload failed":"Učitavanje slike nije uspjelo","Upload from computer":"","Upload image from computer":"","Uploading image":"","Via URL":"","Wrap text":"Prelomi tekst","You have no image upload permissions.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(a){const e=a.ca=a.ca||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Parteix el text","Caption for image: %0":"Peu de foto: %0","Caption for the image":"Peu de foto","Centered image":"Imatge centrada","Change image text alternative":"Canviar l'alternativa del text de la imatge",Custom:"Personalitzat","Custom image size":"Mida de la imatge personalitzada","Enter image caption":"Introduir el peu de foto de la imatge","Error during image upload":"Error durant la càrrega de la imatge","From computer":"Des de l'ordinador","Full size image":"Imatge a mida completa",Image:"Imatge","Image from computer":"Imatge des de l'ordinador","Image Resize":"Canvi de mida de la imatge","Image resize list":"Llista de redimensionament de la imatge","Image toolbar":"Barra d'eines d'imatge","Image upload complete":"S'ha completat la pujada de la imatge","Image via URL":"Imatge mitjançant un URL","image widget":"giny d'imatge","In line":"A la línia","Insert image":"Introduir la imatge","Insert image via URL":"Introduir la imatge mitjançant l'URL","Insert via URL":"Insereix mitjançant un URL","Left aligned image":"Imatge alineada a l'esquerra",Original:"Original","Replace from computer":"Substitueix-ho des de l'ordinador","Replace image":"Substitueix la imatge","Replace image from computer":"Substitueix la imatge des de l'ordinador","Resize image":"Redimensionar la imatge","Resize image (in %0)":"Canvia la mida de la imatge (a %0)","Resize image to %0":"Redimensiona la imatge a %0","Resize image to the original size":"Redimensiona la imatge a la mida original","Right aligned image":"Imatge alineada a la dreta","Side image":"Imatge lateral","Text alternative":"Alternativa de text","Text Alternative":"Alternativa de text","The value must not be empty.":"El valor no pot estar buit.","The value should be a plain number.":"El valor ha de ser un nombre senzill.","Update image URL":"Actualitzar l'URL de la imatge","Upload failed":"No s'ha pogut carregar","Upload from computer":"Puja-ho des de l'ordinador","Upload image from computer":"Puja la imatge des de l'ordinador","Uploading image":"S'està pujant la imatge","Via URL":"Mitjançant un URL","Wrap text":"Embolcallar el text","You have no image upload permissions.":"No tens permisos per pujar imatges."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(e){const a=e.cs=e.cs||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"Obtékání textu","Caption for image: %0":"Popisek k obrázku: %0","Caption for the image":"Popisek k obrázku","Centered image":"Obrázek zarovnaný na střed","Change image text alternative":"Změnit alternativní text obrázku",Custom:"Vlastní","Custom image size":"Vlastní velikost obrázku","Enter image caption":"Zadejte popis obrázku","Error during image upload":"Při nahrávání obrázku došlo k chybě","From computer":"Z počítače","Full size image":"Obrázek v plné velikosti",Image:"Obrázek","Image from computer":"Obrázek z počítače","Image Resize":"Změna velikosti obrázku","Image resize list":"Seznam možností změny velikosti","Image toolbar":"Panel nástrojů obrázku","Image upload complete":"Nahrávání obrázku dokončeno","Image via URL":"Obrázek přes URL","image widget":"ovládací prvek obrázku","In line":"Rovnoběžně s textem","Insert image":"Vložit obrázek","Insert image via URL":"Vložit obrázek pomocí URL","Insert via URL":"Vložit přes URL","Left aligned image":"Obrázek zarovnaný vlevo",Original:"Originální","Replace from computer":"Nahradit z počítače","Replace image":"Nahradit obrázek","Replace image from computer":"Nahradit obrázek z počítače","Resize image":"Změnit velikost","Resize image (in %0)":"Změnit velikost obrázku (v %0)","Resize image to %0":"Změnit velikost na %0","Resize image to the original size":"Změnit velikost na původní velikost","Right aligned image":"Obrázek zarovnaný vpravo","Side image":"Postranní obrázek","Text alternative":"Alternativní text","Text Alternative":"Alternativní text","The value must not be empty.":"Hodnota nesmí být prázdná","The value should be a plain number.":"Hodnota musí být prosté číslo.","Update image URL":"Aktualizovat URL obrázku","Upload failed":"Nahrání selhalo","Upload from computer":"Nahrát z počítače","Upload image from computer":"Nahrát obrázek z počítače","Uploading image":"Nahrávání obrázku","Via URL":"Přes URL","Wrap text":"Text nahoře a dole","You have no image upload permissions.":"Nemáte oprávnění k nahrávání obrázků."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(e){const i=e.da=e.da||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Opdel tekst","Caption for image: %0":"Billedtekst for billede: %0","Caption for the image":"Billedtekst for billedet","Centered image":"Centreret billede","Change image text alternative":"Skift alternativ billedtekst",Custom:"Brugerdefineret","Custom image size":"Brugerdefineret billedstørrelse","Enter image caption":"Indtast billedoverskrift","Error during image upload":"Fejl under upload af billede","From computer":"Fra computer","Full size image":"Fuld billedstørrelse",Image:"Billede","Image from computer":"Billede fra computer","Image Resize":"Justering af billedstørrelse","Image resize list":"Liste over justering af billedstørrelse","Image toolbar":"Billedværktøjslinje","Image upload complete":"Billedupload færdig","Image via URL":"Billede via URL","image widget":"billed widget","In line":"På linje","Insert image":"Indsæt billede","Insert image via URL":"Indsæt billede via URL","Insert via URL":"Indsæt via URL","Left aligned image":"Venstrestillet billede",Original:"Original","Replace from computer":"Udskift fra computer","Replace image":"Udskift billede","Replace image from computer":"Udskift billede fra computer","Resize image":"Juster billedstørrelse","Resize image (in %0)":"Ændre størrelse på billede (i %0)","Resize image to %0":"Juster billedstørrelse til %0","Resize image to the original size":"Juster billedstørrelse til original størrelse","Right aligned image":"Højrestillet billede","Side image":"Sidebillede","Text alternative":"Alternativ tekst","Text Alternative":"Tekst","The value must not be empty.":"Værdien må ikke være tom","The value should be a plain number.":"Værdien skal være et almindeligt tal","Update image URL":"Opdater billed-URL","Upload failed":"Upload fejlede","Upload from computer":"Upload fra computer","Upload image from computer":"Upload billede fra computer","Uploading image":"Uploader billede","Via URL":"Via URL","Wrap text":"Ombryd tekst","You have no image upload permissions.":"Du har ikke tilladelser til at uploade billeder."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(e){const i=e["de-ch"]=e["de-ch"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"zentriertes Bild","Change image text alternative":"Alternativtext ändern",Custom:"","Custom image size":"","Enter image caption":"Bildunterschrift eingeben","Error during image upload":"","From computer":"","Full size image":"Bild in voller Grösse",Image:"","Image from computer":"","Image Resize":"","Image resize list":"Bildgrössen-Liste","Image toolbar":"Bild Werkzeugleiste","Image upload complete":"","Image via URL":"","image widget":"Bild-Steuerelement","In line":"","Insert image":"Bild einfügen","Insert image via URL":"Bild von URL einfügen","Insert via URL":"","Left aligned image":"linksbündiges Bild",Original:"Original","Replace from computer":"","Replace image":"","Replace image from computer":"","Resize image":"Bildgrösse ändern","Resize image (in %0)":"","Resize image to %0":"Bildgrösse ändern in %0","Resize image to the original size":"Originalgrösse wiederherstellen","Right aligned image":"rechtsbündiges Bild","Side image":"Ausgerichtetes Bild","Text alternative":"Alternativtext","Text Alternative":"","The value must not be empty.":"","The value should be a plain number.":"","Update image URL":"Bild-URL aktualisieren","Upload failed":"Hochladen fehlgeschlagen","Upload from computer":"","Upload image from computer":"","Uploading image":"","Via URL":"","Wrap text":"","You have no image upload permissions.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(e){const i=e.de=e.de||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Bild teilt Text","Caption for image: %0":"Bildunterschrift: %0","Caption for the image":"Bildunterschrift","Centered image":"Zentriertes Bild","Change image text alternative":"Alternativtext ändern",Custom:"Benutzerdefiniert","Custom image size":"Benutzerdefinierte Bildgröße","Enter image caption":"Bildunterschrift eingeben","Error during image upload":"Fehler beim Hochladen des Bildes","From computer":"Vom Computer","Full size image":"Bild in voller Größe",Image:"Bild","Image from computer":"Bild vom Computer","Image Resize":"Bildgrößenänderung","Image resize list":"Bildgrößen-Liste","Image toolbar":"Bild Werkzeugleiste","Image upload complete":"Bild erfolgreich hochgeladen","Image via URL":"Bild per URL","image widget":"Bild-Steuerelement","In line":"Text in Zeile","Insert image":"Bild einfügen","Insert image via URL":"Bild von URL einfügen","Insert via URL":"Per URL einfügen","Left aligned image":"Linksbündiges Bild",Original:"Original","Replace from computer":"Vom Computer ersetzen","Replace image":"Bild ersetzen","Replace image from computer":"Bild vom Computer ersetzen","Resize image":"Bildgröße ändern","Resize image (in %0)":"Bildgröße ändern (in %0)","Resize image to %0":"Bildgröße ändern in %0","Resize image to the original size":"Bild in Originalgröße ändern","Right aligned image":"Rechtsbündiges Bild","Side image":"Seitenbild","Text alternative":"Alternativtext","Text Alternative":"Textalternative","The value must not be empty.":"Der Wert darf nicht leer sein.","The value should be a plain number.":"Der Wert sollte eine einfache Zahl sein.","Update image URL":"Bild-URL aktualisieren","Upload failed":"Hochladen fehlgeschlagen","Upload from computer":"Vom Computer hochladen","Upload image from computer":"Bild vom Computer hochladen","Uploading image":"Bild hochladen","Via URL":"Per URL","Wrap text":"Text umfließt Bild","You have no image upload permissions.":"Sie haben keine Berechtigung zum Hochladen von Bildern."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(e){const a=e.el=e.el||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"Κατάτμηση κειμένου","Caption for image: %0":"Λεζάντα για την εικόνα: %0","Caption for the image":"Λεζάντα για την εικόνα","Centered image":"Εικόνα με στοίχιση στο κέντρο","Change image text alternative":"Αλλαγή εναλλακτικού κείμενου εικόνας",Custom:"Προσαρμοσμένο","Custom image size":"Προσαρμοσμένο μέγεθος εικόνας","Enter image caption":"Εισαγωγή λεζάντας εικόνας","Error during image upload":"Σφάλμα κατά τη μεταφόρτωση της εικόνας","From computer":"Από υπολογιστή","Full size image":"Εικόνα σε πλήρες μέγεθος",Image:"Εικόνα","Image from computer":"Εικόνα από υπολογιστή","Image Resize":"Αλλαγή μεγέθους εικόνας","Image resize list":"Λίστα μεγεθών εικόνων","Image toolbar":"Γραμμή εργαλείων εικόνας","Image upload complete":"Η μεταφόρτωση της εικόνας ολοκληρώθηκε","Image via URL":"Εικόνα μέσω URL","image widget":"Γραφικό στοιχείο εικόνας","In line":"Εντός γραμμής","Insert image":"Εισαγωγή εικόνας","Insert image via URL":"Εισαγωγή εικόνας μέσω διεύθυνσης","Insert via URL":"Εισαγωγή μέσω URL","Left aligned image":"Εικόνα με αριστερή στοίχιση",Original:"Αρχικό","Replace from computer":"Αντικατάσταση από υπολογιστή","Replace image":"Αντικατάσταση εικόνας","Replace image from computer":"Αντικατάσταση εικόνας από υπολογιστή","Resize image":"Αλλαγή μεγέθους εικόνας","Resize image (in %0)":"Αλλαγή μεγέθους εικόνας (σε %0)","Resize image to %0":"Αλλαγή μεγέθους σε %0","Resize image to the original size":"Αλλαγή μεγέθους εικόνας στο αρχικό μέγεθος","Right aligned image":"Εικόνα με δεξιά στοίχιση","Side image":"Πλευρική εικόνα","Text alternative":"Εναλλακτικό κείμενο","Text Alternative":"Εναλλακτικό κείμενο","The value must not be empty.":"Η τιμή δεν μπορεί να είναι κενή.","The value should be a plain number.":"Η τιμή θα πρέπει να είναι ένας απλός αριθμός.","Update image URL":"Ενημέρωση διεύθυνσης εικόνας","Upload failed":"Η αποστολή απέτυχε","Upload from computer":"Μεταφόρτωση από υπολογιστή","Upload image from computer":"Μεταφόρτωση εικόνας από υπολογιστή","Uploading image":"Μεταφόρτωση εικόνας","Via URL":"Μέσω URL","Wrap text":"Αναδίπλωση κειμένου","You have no image upload permissions.":"Δεν έχεις άδειες μεταφόρτωσης εικόνων."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(e){const a=e["en-au"]=e["en-au"]||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"Break text","Caption for image: %0":"Caption for image: %0","Caption for the image":"Caption for the image","Centered image":"Centred image","Change image text alternative":"Change image text alternative",Custom:"","Custom image size":"","Enter image caption":"Enter image caption","Error during image upload":"","From computer":"","Full size image":"Full size image",Image:"","Image from computer":"","Image Resize":"Image Resize","Image resize list":"Image resize list","Image toolbar":"Image toolbar","Image upload complete":"","Image via URL":"","image widget":"image widget","In line":"In line","Insert image":"Insert image","Insert image via URL":"Insert image via URL","Insert via URL":"","Left aligned image":"Left aligned image",Original:"Original","Replace from computer":"","Replace image":"","Replace image from computer":"","Resize image":"Resize image","Resize image (in %0)":"","Resize image to %0":"Resize image to %0","Resize image to the original size":"Resize image to the original size","Right aligned image":"Right aligned image","Side image":"Side image","Text alternative":"Text alternative","Text Alternative":"Text Alternative","The value must not be empty.":"","The value should be a plain number.":"","Update image URL":"Update image URL","Upload failed":"Upload failed","Upload from computer":"","Upload image from computer":"","Uploading image":"","Via URL":"","Wrap text":"Wrap text","You have no image upload permissions.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(e){const a=e["en-gb"]=e["en-gb"]||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"Centred image","Change image text alternative":"Change image text alternative",Custom:"","Custom image size":"","Enter image caption":"Enter image caption","Error during image upload":"","From computer":"","Full size image":"Full size image",Image:"","Image from computer":"","Image Resize":"Image Resize","Image resize list":"","Image toolbar":"","Image upload complete":"","Image via URL":"","image widget":"Image widget","In line":"","Insert image":"Insert image","Insert image via URL":"","Insert via URL":"","Left aligned image":"Left aligned image",Original:"","Replace from computer":"","Replace image":"","Replace image from computer":"","Resize image":"","Resize image (in %0)":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Right aligned image","Side image":"Side image","Text alternative":"Text alternative","Text Alternative":"Text Alternative","The value must not be empty.":"","The value should be a plain number.":"","Update image URL":"","Upload failed":"Upload failed","Upload from computer":"","Upload image from computer":"","Uploading image":"","Via URL":"","Wrap text":"","You have no image upload permissions.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(e){const a=e.eo=e.eo||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"","Change image text alternative":"Ŝanĝu la alternativan tekston de la bildo",Custom:"","Custom image size":"","Enter image caption":"Skribu klarigon pri la bildo","Error during image upload":"","From computer":"","Full size image":"Bildo kun reala dimensio",Image:"","Image from computer":"","Image Resize":"","Image resize list":"","Image toolbar":"","Image upload complete":"","Image via URL":"","image widget":"bilda fenestraĵo","In line":"","Insert image":"Enmetu bildon","Insert image via URL":"","Insert via URL":"","Left aligned image":"",Original:"","Replace from computer":"","Replace image":"","Replace image from computer":"","Resize image":"","Resize image (in %0)":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"Flanka biildo","Text alternative":"Alternativa teksto","Text Alternative":"","The value must not be empty.":"","The value should be a plain number.":"","Update image URL":"","Upload failed":"","Upload from computer":"","Upload image from computer":"","Uploading image":"","Via URL":"","Wrap text":"","You have no image upload permissions.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(e){const a=e["es-co"]=e["es-co"]||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"","Change image text alternative":"",Custom:"","Custom image size":"","Enter image caption":"","Error during image upload":"","From computer":"","Full size image":"",Image:"","Image from computer":"","Image Resize":"","Image resize list":"","Image toolbar":"","Image upload complete":"","Image via URL":"","image widget":"","In line":"","Insert image":"","Insert image via URL":"","Insert via URL":"","Left aligned image":"",Original:"","Replace from computer":"","Replace image":"","Replace image from computer":"","Resize image":"","Resize image (in %0)":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"","Text alternative":"","Text Alternative":"","The value must not be empty.":"","The value should be a plain number.":"","Update image URL":"","Upload failed":"","Upload from computer":"","Upload image from computer":"","Uploading image":"","Via URL":"","Wrap text":"","You have no image upload permissions.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(e){const a=e.es=e.es||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"Permitir quebrar texto","Caption for image: %0":"Título de la imagen: %0","Caption for the image":"Descripción de la imagen","Centered image":"Imagen centrada","Change image text alternative":"Cambiar el texto alternativo de la imagen",Custom:"Personalizar","Custom image size":"Personalizar tamaño de imagen","Enter image caption":"Introducir título de la imagen","Error during image upload":"Error durante la carga de la imagen","From computer":"Desde el ordenador","Full size image":"Imagen a tamaño completo",Image:"Imagen","Image from computer":"Imagen del ordenador","Image Resize":"Cambiar tamaño de la imagen","Image resize list":"Listado para redimensionar imagen","Image toolbar":"Barra de herramientas de imagen","Image upload complete":"Carga de imagen completa","Image via URL":"Imagen mediante URL","image widget":"Widget de imagen","In line":"En línea","Insert image":"Insertar imagen","Insert image via URL":"Insertar imagen vía URL","Insert via URL":"Insertar mediante URL","Left aligned image":"Imagen alineada a la izquierda",Original:"Original","Replace from computer":"Reemplazar desde el ordenador","Replace image":"Reemplazar imagen","Replace image from computer":"Reemplazar imagen del ordenador","Resize image":"Redimensionar imagen","Resize image (in %0)":"Cambiar tamaño de la imagen (en un %0)","Resize image to %0":"Redimensionar imagen al %0","Resize image to the original size":"Redimensionar imagen al tamaño original","Right aligned image":"Imagen alineada a la derecha","Side image":"Imagen lateral","Text alternative":"Texto alternativo","Text Alternative":"Texto alternativo","The value must not be empty.":"El valor no puede estar vacío.","The value should be a plain number.":"El valor debe ser un número simple.","Update image URL":"Actualizar imagen vía URL","Upload failed":"Fallo en la subida","Upload from computer":"Subir desde el ordenador","Upload image from computer":"Subir imagen desde el ordenador","Uploading image":"Cargando imagen","Via URL":"Mediante URL","Wrap text":"Mantener texto unido","You have no image upload permissions.":"No tienes permiso para subir imágenes."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));