@ckeditor/ckeditor5-image 48.8.1-alpha.4 → 49.0.0-alpha.1

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 (217) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/augmentation.d.ts +55 -55
  3. package/dist/autoimage.d.ts +51 -51
  4. package/dist/image/converters.d.ts +78 -56
  5. package/dist/image/imageblockediting.d.ts +58 -58
  6. package/dist/image/imageediting.d.ts +29 -29
  7. package/dist/image/imageinlineediting.d.ts +59 -59
  8. package/dist/image/imageloadobserver.d.ts +40 -40
  9. package/dist/image/imageplaceholder.d.ts +37 -38
  10. package/dist/image/imagetypecommand.d.ts +39 -39
  11. package/dist/image/insertimagecommand.d.ts +65 -65
  12. package/dist/image/replaceimagesourcecommand.d.ts +46 -46
  13. package/dist/image/ui/utils.d.ts +21 -21
  14. package/dist/image/utils.d.ts +89 -56
  15. package/dist/image.d.ts +32 -33
  16. package/dist/imageblock.d.ts +32 -33
  17. package/dist/imagecaption/imagecaptionediting.d.ts +88 -88
  18. package/dist/imagecaption/imagecaptionui.d.ts +25 -25
  19. package/dist/imagecaption/imagecaptionutils.d.ts +37 -37
  20. package/dist/imagecaption/toggleimagecaptioncommand.d.ts +62 -62
  21. package/dist/imagecaption.d.ts +24 -25
  22. package/dist/imageconfig.d.ts +698 -698
  23. package/dist/imageinline.d.ts +32 -33
  24. package/dist/imageinsert/imageinsertui.d.ts +82 -82
  25. package/dist/imageinsert/imageinsertviaurlui.d.ts +65 -65
  26. package/dist/imageinsert/ui/imageinsertformview.d.ts +52 -53
  27. package/dist/imageinsert/ui/imageinserturlview.d.ts +61 -61
  28. package/dist/imageinsert.d.ts +32 -32
  29. package/dist/imageinsertviaurl.d.ts +30 -30
  30. package/dist/imageresize/imagecustomresizeui.d.ts +60 -60
  31. package/dist/imageresize/imageresizebuttons.d.ts +66 -66
  32. package/dist/imageresize/imageresizeediting.d.ts +50 -50
  33. package/dist/imageresize/imageresizehandles.d.ts +31 -31
  34. package/dist/imageresize/resizeimagecommand.d.ts +37 -37
  35. package/dist/imageresize/ui/imagecustomresizeformview.d.ts +124 -125
  36. package/dist/imageresize/utils/getselectedimageeditornodes.d.ts +17 -17
  37. package/dist/imageresize/utils/getselectedimagepossibleresizerange.d.ts +18 -18
  38. package/dist/imageresize/utils/getselectedimagewidthinunits.d.ts +20 -17
  39. package/dist/imageresize.d.ts +26 -27
  40. package/dist/imagesizeattributes.d.ts +33 -33
  41. package/dist/imagestyle/converters.d.ts +18 -18
  42. package/dist/imagestyle/imagestylecommand.d.ts +73 -63
  43. package/dist/imagestyle/imagestyleediting.d.ts +49 -49
  44. package/dist/imagestyle/imagestyleui.d.ts +54 -55
  45. package/dist/imagestyle/utils.d.ts +88 -88
  46. package/dist/imagestyle.d.ts +31 -31
  47. package/dist/imagetextalternative/imagetextalternativecommand.d.ts +29 -29
  48. package/dist/imagetextalternative/imagetextalternativeediting.d.ts +27 -27
  49. package/dist/imagetextalternative/imagetextalternativeui.d.ts +67 -67
  50. package/dist/imagetextalternative/ui/textalternativeformview.d.ts +87 -88
  51. package/dist/imagetextalternative.d.ts +28 -28
  52. package/dist/imagetoolbar.d.ts +34 -34
  53. package/dist/imageupload/imageuploadediting.d.ts +118 -118
  54. package/dist/imageupload/imageuploadprogress.d.ts +38 -41
  55. package/dist/imageupload/imageuploadui.d.ts +46 -46
  56. package/dist/imageupload/uploadimagecommand.d.ts +67 -67
  57. package/dist/imageupload/utils.d.ts +27 -27
  58. package/dist/imageupload.d.ts +31 -31
  59. package/dist/imageutils.d.ts +124 -124
  60. package/dist/index-content.css +127 -122
  61. package/dist/index-content.css.map +1 -0
  62. package/dist/index-editor.css +257 -274
  63. package/dist/index-editor.css.map +1 -0
  64. package/dist/index.css +312 -318
  65. package/dist/index.css.map +1 -1
  66. package/dist/index.d.ts +70 -70
  67. package/dist/index.js +6038 -6495
  68. package/dist/index.js.map +1 -1
  69. package/dist/pictureediting.d.ts +87 -87
  70. package/dist/translations/af.js +1 -1
  71. package/dist/translations/af.umd.js +5 -3
  72. package/dist/translations/ar.js +1 -1
  73. package/dist/translations/ar.umd.js +5 -3
  74. package/dist/translations/ast.js +1 -1
  75. package/dist/translations/ast.umd.js +5 -3
  76. package/dist/translations/az.js +1 -1
  77. package/dist/translations/az.umd.js +5 -3
  78. package/dist/translations/be.js +1 -1
  79. package/dist/translations/be.umd.js +5 -3
  80. package/dist/translations/bg.js +1 -1
  81. package/dist/translations/bg.umd.js +5 -3
  82. package/dist/translations/bn.js +1 -1
  83. package/dist/translations/bn.umd.js +5 -3
  84. package/dist/translations/bs.js +1 -1
  85. package/dist/translations/bs.umd.js +5 -3
  86. package/dist/translations/ca.js +1 -1
  87. package/dist/translations/ca.umd.js +5 -3
  88. package/dist/translations/cs.js +1 -1
  89. package/dist/translations/cs.umd.js +5 -3
  90. package/dist/translations/da.js +1 -1
  91. package/dist/translations/da.umd.js +5 -3
  92. package/dist/translations/de-ch.js +1 -1
  93. package/dist/translations/de-ch.umd.js +5 -3
  94. package/dist/translations/de.js +1 -1
  95. package/dist/translations/de.umd.js +5 -3
  96. package/dist/translations/el.js +1 -1
  97. package/dist/translations/el.umd.js +5 -3
  98. package/dist/translations/en-au.js +1 -1
  99. package/dist/translations/en-au.umd.js +5 -3
  100. package/dist/translations/en-gb.js +1 -1
  101. package/dist/translations/en-gb.umd.js +5 -3
  102. package/dist/translations/en.js +1 -1
  103. package/dist/translations/en.umd.js +5 -3
  104. package/dist/translations/eo.js +1 -1
  105. package/dist/translations/eo.umd.js +5 -3
  106. package/dist/translations/es-co.js +1 -1
  107. package/dist/translations/es-co.umd.js +5 -3
  108. package/dist/translations/es.js +1 -1
  109. package/dist/translations/es.umd.js +5 -3
  110. package/dist/translations/et.js +1 -1
  111. package/dist/translations/et.umd.js +5 -3
  112. package/dist/translations/eu.js +1 -1
  113. package/dist/translations/eu.umd.js +5 -3
  114. package/dist/translations/fa.js +1 -1
  115. package/dist/translations/fa.umd.js +5 -3
  116. package/dist/translations/fi.js +1 -1
  117. package/dist/translations/fi.umd.js +5 -3
  118. package/dist/translations/fr.js +1 -1
  119. package/dist/translations/fr.umd.js +5 -3
  120. package/dist/translations/gl.js +1 -1
  121. package/dist/translations/gl.umd.js +5 -3
  122. package/dist/translations/gu.js +1 -1
  123. package/dist/translations/gu.umd.js +5 -3
  124. package/dist/translations/he.js +1 -1
  125. package/dist/translations/he.umd.js +5 -3
  126. package/dist/translations/hi.js +1 -1
  127. package/dist/translations/hi.umd.js +5 -3
  128. package/dist/translations/hr.js +1 -1
  129. package/dist/translations/hr.umd.js +5 -3
  130. package/dist/translations/hu.js +1 -1
  131. package/dist/translations/hu.umd.js +5 -3
  132. package/dist/translations/hy.js +1 -1
  133. package/dist/translations/hy.umd.js +5 -3
  134. package/dist/translations/id.js +1 -1
  135. package/dist/translations/id.umd.js +5 -3
  136. package/dist/translations/it.js +1 -1
  137. package/dist/translations/it.umd.js +5 -3
  138. package/dist/translations/ja.js +1 -1
  139. package/dist/translations/ja.umd.js +5 -3
  140. package/dist/translations/jv.js +1 -1
  141. package/dist/translations/jv.umd.js +5 -3
  142. package/dist/translations/kk.js +1 -1
  143. package/dist/translations/kk.umd.js +5 -3
  144. package/dist/translations/km.js +1 -1
  145. package/dist/translations/km.umd.js +5 -3
  146. package/dist/translations/kn.js +1 -1
  147. package/dist/translations/kn.umd.js +5 -3
  148. package/dist/translations/ko.js +1 -1
  149. package/dist/translations/ko.umd.js +5 -3
  150. package/dist/translations/ku.js +1 -1
  151. package/dist/translations/ku.umd.js +5 -3
  152. package/dist/translations/lt.js +1 -1
  153. package/dist/translations/lt.umd.js +5 -3
  154. package/dist/translations/lv.js +1 -1
  155. package/dist/translations/lv.umd.js +5 -3
  156. package/dist/translations/ms.js +1 -1
  157. package/dist/translations/ms.umd.js +5 -3
  158. package/dist/translations/nb.js +1 -1
  159. package/dist/translations/nb.umd.js +5 -3
  160. package/dist/translations/ne.js +1 -1
  161. package/dist/translations/ne.umd.js +5 -3
  162. package/dist/translations/nl.js +1 -1
  163. package/dist/translations/nl.umd.js +5 -3
  164. package/dist/translations/no.js +1 -1
  165. package/dist/translations/no.umd.js +5 -3
  166. package/dist/translations/oc.js +1 -1
  167. package/dist/translations/oc.umd.js +5 -3
  168. package/dist/translations/pl.js +1 -1
  169. package/dist/translations/pl.umd.js +5 -3
  170. package/dist/translations/pt-br.js +1 -1
  171. package/dist/translations/pt-br.umd.js +5 -3
  172. package/dist/translations/pt.js +1 -1
  173. package/dist/translations/pt.umd.js +5 -3
  174. package/dist/translations/ro.js +1 -1
  175. package/dist/translations/ro.umd.js +5 -3
  176. package/dist/translations/ru.js +1 -1
  177. package/dist/translations/ru.umd.js +5 -3
  178. package/dist/translations/si.js +1 -1
  179. package/dist/translations/si.umd.js +5 -3
  180. package/dist/translations/sk.js +1 -1
  181. package/dist/translations/sk.umd.js +5 -3
  182. package/dist/translations/sl.js +1 -1
  183. package/dist/translations/sl.umd.js +5 -3
  184. package/dist/translations/sq.js +1 -1
  185. package/dist/translations/sq.umd.js +5 -3
  186. package/dist/translations/sr-latn.js +1 -1
  187. package/dist/translations/sr-latn.umd.js +5 -3
  188. package/dist/translations/sr.js +1 -1
  189. package/dist/translations/sr.umd.js +5 -3
  190. package/dist/translations/sv.js +1 -1
  191. package/dist/translations/sv.umd.js +5 -3
  192. package/dist/translations/th.js +1 -1
  193. package/dist/translations/th.umd.js +5 -3
  194. package/dist/translations/ti.js +1 -1
  195. package/dist/translations/ti.umd.js +5 -3
  196. package/dist/translations/tk.js +1 -1
  197. package/dist/translations/tk.umd.js +5 -3
  198. package/dist/translations/tr.js +1 -1
  199. package/dist/translations/tr.umd.js +5 -3
  200. package/dist/translations/tt.js +1 -1
  201. package/dist/translations/tt.umd.js +5 -3
  202. package/dist/translations/ug.js +1 -1
  203. package/dist/translations/ug.umd.js +5 -3
  204. package/dist/translations/uk.js +1 -1
  205. package/dist/translations/uk.umd.js +5 -3
  206. package/dist/translations/ur.js +1 -1
  207. package/dist/translations/ur.umd.js +5 -3
  208. package/dist/translations/uz.js +1 -1
  209. package/dist/translations/uz.umd.js +5 -3
  210. package/dist/translations/vi.js +1 -1
  211. package/dist/translations/vi.umd.js +5 -3
  212. package/dist/translations/zh-cn.js +1 -1
  213. package/dist/translations/zh-cn.umd.js +5 -3
  214. package/dist/translations/zh.js +1 -1
  215. package/dist/translations/zh.umd.js +5 -3
  216. package/package.json +12 -12
  217. package/dist/imageresize/utils/tryparsedimensionwithunit.d.ts +0 -39
@@ -1,36 +1,36 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
5
  /**
6
- * @module image/imageupload
7
- */
8
- import { Plugin } from '@ckeditor/ckeditor5-core';
9
- import { ImageUploadUI } from './imageupload/imageuploadui.js';
10
- import { ImageUploadProgress } from './imageupload/imageuploadprogress.js';
11
- import { ImageUploadEditing } from './imageupload/imageuploadediting.js';
6
+ * @module image/imageupload
7
+ */
8
+ import { Plugin, type PluginDependenciesOf } from "@ckeditor/ckeditor5-core";
9
+ import { ImageUploadUI } from "./imageupload/imageuploadui.js";
10
+ import { ImageUploadProgress } from "./imageupload/imageuploadprogress.js";
11
+ import { ImageUploadEditing } from "./imageupload/imageuploadediting.js";
12
12
  /**
13
- * The image upload plugin.
14
- *
15
- * For a detailed overview, check the {@glink features/images/image-upload/image-upload image upload feature} documentation.
16
- *
17
- * This plugin does not do anything directly, but it loads a set of specific plugins to enable image uploading:
18
- *
19
- * * {@link module:image/imageupload/imageuploadediting~ImageUploadEditing},
20
- * * {@link module:image/imageupload/imageuploadui~ImageUploadUI},
21
- * * {@link module:image/imageupload/imageuploadprogress~ImageUploadProgress}.
22
- */
13
+ * The image upload plugin.
14
+ *
15
+ * For a detailed overview, check the {@glink features/images/image-upload/image-upload image upload feature} documentation.
16
+ *
17
+ * This plugin does not do anything directly, but it loads a set of specific plugins to enable image uploading:
18
+ *
19
+ * * {@link module:image/imageupload/imageuploadediting~ImageUploadEditing},
20
+ * * {@link module:image/imageupload/imageuploadui~ImageUploadUI},
21
+ * * {@link module:image/imageupload/imageuploadprogress~ImageUploadProgress}.
22
+ */
23
23
  export declare class ImageUpload extends Plugin {
24
- /**
25
- * @inheritDoc
26
- */
27
- static get pluginName(): "ImageUpload";
28
- /**
29
- * @inheritDoc
30
- */
31
- static get isOfficialPlugin(): true;
32
- /**
33
- * @inheritDoc
34
- */
35
- static get requires(): readonly [typeof ImageUploadEditing, typeof ImageUploadUI, typeof ImageUploadProgress];
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ static get pluginName(): "ImageUpload";
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ static override get isOfficialPlugin(): true;
32
+ /**
33
+ * @inheritDoc
34
+ */
35
+ static get requires(): PluginDependenciesOf<[ImageUploadEditing, ImageUploadUI, ImageUploadProgress]>;
36
36
  }
@@ -1,129 +1,129 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
5
  /**
6
- * @module image/imageutils
7
- */
8
- import type { ModelElement, ViewElement, ModelDocumentSelection, ViewDocumentSelection, ModelSelection, ViewSelection, ViewDowncastWriter, ModelPosition, ViewContainerElement } from '@ckeditor/ckeditor5-engine';
9
- import { Plugin } from '@ckeditor/ckeditor5-core';
6
+ * @module image/imageutils
7
+ */
8
+ import type { ModelElement, ViewElement, ModelDocumentSelection, ViewDocumentSelection, ModelSelection, ViewSelection, ViewDowncastWriter, ModelPosition, ViewContainerElement } from "@ckeditor/ckeditor5-engine";
9
+ import { Plugin } from "@ckeditor/ckeditor5-core";
10
10
  /**
11
- * A set of helpers related to images.
12
- */
11
+ * A set of helpers related to images.
12
+ */
13
13
  export declare class ImageUtils extends Plugin {
14
- /**
15
- * DOM Emitter.
16
- */
17
- private _domEmitter;
18
- /**
19
- * @inheritDoc
20
- */
21
- static get pluginName(): "ImageUtils";
22
- /**
23
- * @inheritDoc
24
- */
25
- static get isOfficialPlugin(): true;
26
- /**
27
- * Checks if the provided model element is an `image` or `imageInline`.
28
- */
29
- isImage(modelElement?: ModelElement | null): modelElement is ModelElement & {
30
- name: 'imageInline' | 'imageBlock';
31
- };
32
- /**
33
- * Checks if the provided view element represents an inline image.
34
- *
35
- * Also, see {@link module:image/imageutils~ImageUtils#isImageWidget}.
36
- */
37
- isInlineImageView(element?: ViewElement | null): boolean;
38
- /**
39
- * Checks if the provided view element represents a block image.
40
- *
41
- * Also, see {@link module:image/imageutils~ImageUtils#isImageWidget}.
42
- */
43
- isBlockImageView(element?: ViewElement | null): boolean;
44
- /**
45
- * Handles inserting single file. This method unifies image insertion using {@link module:widget/utils~findOptimalInsertionRange}
46
- * method.
47
- *
48
- * ```ts
49
- * const imageUtils = editor.plugins.get( 'ImageUtils' );
50
- *
51
- * imageUtils.insertImage( { src: 'path/to/image.jpg' } );
52
- * ```
53
- *
54
- * @param attributes Attributes of the inserted image.
55
- * This method filters out the attributes which are disallowed by the {@link module:engine/model/schema~ModelSchema}.
56
- * @param selectable Place to insert the image. If not specified,
57
- * the {@link module:widget/utils~findOptimalInsertionRange} logic will be applied for the block images
58
- * and `model.document.selection` for the inline images.
59
- *
60
- * **Note**: If `selectable` is passed, this helper will not be able to set selection attributes (such as `linkHref`)
61
- * and apply them to the new image. In this case, make sure all selection attributes are passed in `attributes`.
62
- *
63
- * @param imageType Image type of inserted image. If not specified,
64
- * it will be determined automatically depending of editor config or place of the insertion.
65
- * @param options.setImageSizes Specifies whether the image `width` and `height` attributes should be set automatically.
66
- * The default is `true`.
67
- * @return The inserted model image element.
68
- */
69
- insertImage(attributes?: Record<string, unknown>, selectable?: ModelSelection | ModelPosition | null, imageType?: ('imageBlock' | 'imageInline' | null), options?: {
70
- setImageSizes?: boolean;
71
- }): ModelElement | null;
72
- /**
73
- * Reads original image sizes and sets them as `width` and `height`.
74
- *
75
- * The `src` attribute may not be available if the user is using an upload adapter. In such a case,
76
- * this method is called again after the upload process is complete and the `src` attribute is available.
77
- */
78
- setImageNaturalSizeAttributes(imageElement: ModelElement): void;
79
- /**
80
- * Returns an image widget editing view element if one is selected or is among the selection's ancestors.
81
- */
82
- getClosestSelectedImageWidget(selection: ViewSelection | ViewDocumentSelection): ViewElement | null;
83
- /**
84
- * Returns a image model element if one is selected or is among the selection's ancestors.
85
- */
86
- getClosestSelectedImageElement(selection: ModelSelection | ModelDocumentSelection): ModelElement | null;
87
- /**
88
- * Returns an image widget editing view based on the passed image view.
89
- */
90
- getImageWidgetFromImageView(imageView: ViewElement): ViewContainerElement | null;
91
- /**
92
- * Checks if image can be inserted at current model selection.
93
- *
94
- * @internal
95
- */
96
- isImageAllowed(): boolean;
97
- /**
98
- * Converts a given {@link module:engine/view/element~ViewElement} to an image widget:
99
- * * Adds a {@link module:engine/view/element~ViewElement#_setCustomProperty custom property} allowing to recognize the image widget
100
- * element.
101
- * * Calls the {@link module:widget/utils~toWidget} function with the proper element's label creator.
102
- *
103
- * @param writer An instance of the view writer.
104
- * @param label The element's label. It will be concatenated with the image `alt` attribute if one is present.
105
- */
106
- toImageWidget(viewElement: ViewElement, writer: ViewDowncastWriter, label: string): ViewElement;
107
- /**
108
- * Checks if a given view element is an image widget.
109
- */
110
- protected isImageWidget(viewElement: ViewElement): boolean;
111
- /**
112
- * Checks if the provided model element is an `image`.
113
- */
114
- isBlockImage(modelElement?: ModelElement | null): boolean;
115
- /**
116
- * Checks if the provided model element is an `imageInline`.
117
- */
118
- isInlineImage(modelElement?: ModelElement | null): boolean;
119
- /**
120
- * Get the view `<img>` from another view element, e.g. a widget (`<figure class="image">`), a link (`<a>`).
121
- *
122
- * The `<img>` can be located deep in other elements, so this helper performs a deep tree search.
123
- */
124
- findViewImgElement(figureView: ViewElement): ViewElement | undefined;
125
- /**
126
- * @inheritDoc
127
- */
128
- destroy(): void;
14
+ /**
15
+ * DOM Emitter.
16
+ */
17
+ private _domEmitter;
18
+ /**
19
+ * @inheritDoc
20
+ */
21
+ static get pluginName(): "ImageUtils";
22
+ /**
23
+ * @inheritDoc
24
+ */
25
+ static override get isOfficialPlugin(): true;
26
+ /**
27
+ * Checks if the provided model element is an `image` or `imageInline`.
28
+ */
29
+ isImage(modelElement?: ModelElement | null): modelElement is ModelElement & {
30
+ name: "imageInline" | "imageBlock";
31
+ };
32
+ /**
33
+ * Checks if the provided view element represents an inline image.
34
+ *
35
+ * Also, see {@link module:image/imageutils~ImageUtils#isImageWidget}.
36
+ */
37
+ isInlineImageView(element?: ViewElement | null): boolean;
38
+ /**
39
+ * Checks if the provided view element represents a block image.
40
+ *
41
+ * Also, see {@link module:image/imageutils~ImageUtils#isImageWidget}.
42
+ */
43
+ isBlockImageView(element?: ViewElement | null): boolean;
44
+ /**
45
+ * Handles inserting single file. This method unifies image insertion using {@link module:widget/utils~findOptimalInsertionRange}
46
+ * method.
47
+ *
48
+ * ```ts
49
+ * const imageUtils = editor.plugins.get( 'ImageUtils' );
50
+ *
51
+ * imageUtils.insertImage( { src: 'path/to/image.jpg' } );
52
+ * ```
53
+ *
54
+ * @param attributes Attributes of the inserted image.
55
+ * This method filters out the attributes which are disallowed by the {@link module:engine/model/schema~ModelSchema}.
56
+ * @param selectable Place to insert the image. If not specified,
57
+ * the {@link module:widget/utils~findOptimalInsertionRange} logic will be applied for the block images
58
+ * and `model.document.selection` for the inline images.
59
+ *
60
+ * **Note**: If `selectable` is passed, this helper will not be able to set selection attributes (such as `linkHref`)
61
+ * and apply them to the new image. In this case, make sure all selection attributes are passed in `attributes`.
62
+ *
63
+ * @param imageType Image type of inserted image. If not specified,
64
+ * it will be determined automatically depending of editor config or place of the insertion.
65
+ * @param options.setImageSizes Specifies whether the image `width` and `height` attributes should be set automatically.
66
+ * The default is `true`.
67
+ * @return The inserted model image element.
68
+ */
69
+ insertImage(attributes?: Record<string, unknown>, selectable?: ModelSelection | ModelPosition | null, imageType?: ("imageBlock" | "imageInline" | null), options?: {
70
+ setImageSizes?: boolean;
71
+ }): ModelElement | null;
72
+ /**
73
+ * Reads original image sizes and sets them as `width` and `height`.
74
+ *
75
+ * The `src` attribute may not be available if the user is using an upload adapter. In such a case,
76
+ * this method is called again after the upload process is complete and the `src` attribute is available.
77
+ */
78
+ setImageNaturalSizeAttributes(imageElement: ModelElement): void;
79
+ /**
80
+ * Returns an image widget editing view element if one is selected or is among the selection's ancestors.
81
+ */
82
+ getClosestSelectedImageWidget(selection: ViewSelection | ViewDocumentSelection): ViewElement | null;
83
+ /**
84
+ * Returns a image model element if one is selected or is among the selection's ancestors.
85
+ */
86
+ getClosestSelectedImageElement(selection: ModelSelection | ModelDocumentSelection): ModelElement | null;
87
+ /**
88
+ * Returns an image widget editing view based on the passed image view.
89
+ */
90
+ getImageWidgetFromImageView(imageView: ViewElement): ViewContainerElement | null;
91
+ /**
92
+ * Checks if image can be inserted at current model selection.
93
+ *
94
+ * @internal
95
+ */
96
+ isImageAllowed(): boolean;
97
+ /**
98
+ * Converts a given {@link module:engine/view/element~ViewElement} to an image widget:
99
+ * * Adds a {@link module:engine/view/element~ViewElement#_setCustomProperty custom property} allowing to recognize the image widget
100
+ * element.
101
+ * * Calls the {@link module:widget/utils~toWidget} function with the proper element's label creator.
102
+ *
103
+ * @param writer An instance of the view writer.
104
+ * @param label The element's label. It will be concatenated with the image `alt` attribute if one is present.
105
+ */
106
+ toImageWidget(viewElement: ViewElement, writer: ViewDowncastWriter, label: string): ViewElement;
107
+ /**
108
+ * Checks if a given view element is an image widget.
109
+ */
110
+ protected isImageWidget(viewElement: ViewElement): boolean;
111
+ /**
112
+ * Checks if the provided model element is an `image`.
113
+ */
114
+ isBlockImage(modelElement?: ModelElement | null): boolean;
115
+ /**
116
+ * Checks if the provided model element is an `imageInline`.
117
+ */
118
+ isInlineImage(modelElement?: ModelElement | null): boolean;
119
+ /**
120
+ * Get the view `<img>` from another view element, e.g. a widget (`<figure class="image">`), a link (`<a>`).
121
+ *
122
+ * The `<img>` can be located deep in other elements, so this helper performs a deep tree search.
123
+ */
124
+ findViewImgElement(figureView: ViewElement): ViewElement | undefined;
125
+ /**
126
+ * @inheritDoc
127
+ */
128
+ override destroy(): void;
129
129
  }
@@ -2,148 +2,153 @@
2
2
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
- :root{
6
- --ck-content-color-image-caption-background:#f7f7f7;
7
- --ck-content-color-image-caption-text:#333;
8
- }
9
-
10
- .ck-content .image > figcaption{
11
- caption-side:bottom;
12
- word-break:normal;
13
- overflow-wrap:anywhere;
14
- break-before:avoid;
15
- color:var(--ck-content-color-image-caption-text);
16
- background-color:var(--ck-content-color-image-caption-background);
17
- outline-offset:-1px;
18
- padding:.6em;
19
- font-size:.75em;
20
- display:table-caption;
21
- }
22
-
23
- @media (forced-colors: active){
24
- .ck-content .image > figcaption{
25
- background-color:unset;
26
- color:unset;
5
+ :root, :host {
6
+ --ck-content-color-image-caption-background: #f7f7f7;
7
+ --ck-content-color-image-caption-text: #333;
8
+ --ck-content-image-style-spacing: 1.5em;
9
+ --ck-content-inline-image-style-spacing: calc(var(--ck-content-image-style-spacing) / 2);
10
+ }
11
+
12
+ .ck-content .image > figcaption {
13
+ caption-side: bottom;
14
+ word-break: normal;
15
+ overflow-wrap: anywhere;
16
+ break-before: avoid;
17
+ color: var(--ck-content-color-image-caption-text);
18
+ background-color: var(--ck-content-color-image-caption-background);
19
+ outline-offset: -1px;
20
+ padding: .6em;
21
+ font-size: .75em;
22
+ display: table-caption;
23
+
24
+ @media (forced-colors: active) {
25
+ background-color: unset;
26
+ color: unset;
27
27
  }
28
28
  }
29
29
 
30
- .ck-content img.image_resized{
31
- height:auto;
32
- }
33
-
34
- .ck-content .image.image_resized{
35
- box-sizing:border-box;
36
- max-width:100%;
37
- display:block;
38
- }
39
-
40
- .ck-content .image.image_resized img{
41
- width:100%;
42
- }
43
-
44
- .ck-content .image.image_resized > figcaption{
45
- display:block;
30
+ .ck-content img.image_resized {
31
+ height: auto;
46
32
  }
47
33
 
48
- :root{
49
- --ck-content-image-style-spacing:1.5em;
50
- --ck-content-inline-image-style-spacing:calc(var(--ck-content-image-style-spacing) / 2);
51
- }
52
-
53
- .ck-content .image.image-style-block-align-left, .ck-content .image.image-style-block-align-right{
54
- max-width:calc(100% - var(--ck-content-image-style-spacing));
55
- }
56
-
57
- .ck-content .image.image-style-align-left, .ck-content .image.image-style-align-right{
58
- clear:none;
59
- }
34
+ .ck-content .image.image_resized {
35
+ box-sizing: border-box;
36
+ max-width: 100%;
37
+ display: block;
60
38
 
61
- .ck-content .image.image-style-side{
62
- float:right;
63
- margin-left:var(--ck-content-image-style-spacing);
64
- max-width:50%;
65
- }
66
-
67
- .ck-content .image.image-style-align-left{
68
- float:left;
69
- margin-right:var(--ck-content-image-style-spacing);
70
- }
71
-
72
- .ck-content .image.image-style-align-right{
73
- float:right;
74
- margin-left:var(--ck-content-image-style-spacing);
75
- }
39
+ & img {
40
+ width: 100%;
41
+ }
76
42
 
77
- .ck-content .image.image-style-block-align-right{
78
- margin-left:auto;
79
- margin-right:0;
43
+ & > figcaption {
44
+ display: block;
45
+ }
80
46
  }
81
47
 
82
- .ck-content .image.image-style-block-align-left{
83
- margin-left:0;
84
- margin-right:auto;
85
- }
48
+ .ck-content {
49
+ & .image {
50
+ &.image-style-block-align-left, &.image-style-block-align-right {
51
+ max-width: calc(100% - var(--ck-content-image-style-spacing));
52
+ }
53
+
54
+ &.image-style-align-left, &.image-style-align-right {
55
+ clear: none;
56
+ }
57
+
58
+ &.image-style-side {
59
+ float: right;
60
+ margin-left: var(--ck-content-image-style-spacing);
61
+ max-width: 50%;
62
+ }
63
+
64
+ &.image-style-align-left {
65
+ float: left;
66
+ margin-right: var(--ck-content-image-style-spacing);
67
+ }
68
+
69
+ &.image-style-align-right {
70
+ float: right;
71
+ margin-left: var(--ck-content-image-style-spacing);
72
+ }
73
+
74
+ &.image-style-block-align-right {
75
+ margin-left: auto;
76
+ margin-right: 0;
77
+ }
78
+
79
+ &.image-style-block-align-left {
80
+ margin-left: 0;
81
+ margin-right: auto;
82
+ }
83
+ }
86
84
 
87
- .ck-content .image-style-align-center{
88
- margin-left:auto;
89
- margin-right:auto;
90
- }
85
+ & .image-style-align-center {
86
+ margin-left: auto;
87
+ margin-right: auto;
88
+ }
91
89
 
92
- .ck-content .image-style-align-left{
93
- float:left;
94
- margin-right:var(--ck-content-image-style-spacing);
95
- }
90
+ & .image-style-align-left {
91
+ float: left;
92
+ margin-right: var(--ck-content-image-style-spacing);
93
+ }
96
94
 
97
- .ck-content .image-style-align-right{
98
- float:right;
99
- margin-left:var(--ck-content-image-style-spacing);
100
- }
95
+ & .image-style-align-right {
96
+ float: right;
97
+ margin-left: var(--ck-content-image-style-spacing);
98
+ }
101
99
 
102
- .ck-content p + .image.image-style-align-left, .ck-content p + .image.image-style-align-right, .ck-content p + .image.image-style-side{
103
- margin-top:0;
104
- }
100
+ & p + .image.image-style-align-left, & p + .image.image-style-align-right, & p + .image.image-style-side {
101
+ margin-top: 0;
102
+ }
105
103
 
106
- .ck-content .image-inline.image-style-align-left, .ck-content .image-inline.image-style-align-right{
107
- margin-top:var(--ck-content-inline-image-style-spacing);
108
- margin-bottom:var(--ck-content-inline-image-style-spacing);
109
- }
104
+ & .image-inline {
105
+ &.image-style-align-left, &.image-style-align-right {
106
+ margin-top: var(--ck-content-inline-image-style-spacing);
107
+ margin-bottom: var(--ck-content-inline-image-style-spacing);
108
+ }
110
109
 
111
- .ck-content .image-inline.image-style-align-left{
112
- margin-right:var(--ck-content-inline-image-style-spacing);
113
- }
110
+ &.image-style-align-left {
111
+ margin-right: var(--ck-content-inline-image-style-spacing);
112
+ }
114
113
 
115
- .ck-content .image-inline.image-style-align-right{
116
- margin-left:var(--ck-content-inline-image-style-spacing);
114
+ &.image-style-align-right {
115
+ margin-left: var(--ck-content-inline-image-style-spacing);
116
+ }
117
+ }
117
118
  }
118
119
 
119
- .ck-content .image{
120
- clear:both;
121
- text-align:center;
122
- min-width:50px;
123
- margin:.9em auto;
124
- display:table;
125
- }
120
+ .ck-content {
121
+ & .image {
122
+ clear: both;
123
+ text-align: center;
124
+ min-width: 50px;
125
+ margin: .9em auto;
126
+ display: table;
127
+
128
+ & img {
129
+ min-width: 100%;
130
+ max-width: 100%;
131
+ height: auto;
132
+ margin: 0 auto;
133
+ display: block;
134
+ }
135
+ }
126
136
 
127
- .ck-content .image img{
128
- min-width:100%;
129
- max-width:100%;
130
- height:auto;
131
- margin:0 auto;
132
- display:block;
133
- }
137
+ & .image-inline {
138
+ align-items: flex-start;
139
+ max-width: 100%;
140
+ display: inline-flex;
134
141
 
135
- .ck-content .image-inline{
136
- align-items:flex-start;
137
- max-width:100%;
138
- display:inline-flex;
139
- }
142
+ & picture {
143
+ display: flex;
144
+ }
140
145
 
141
- .ck-content .image-inline picture{
142
- display:flex;
146
+ & picture, & img {
147
+ flex-grow: 1;
148
+ flex-shrink: 1;
149
+ max-width: 100%;
150
+ }
151
+ }
143
152
  }
144
153
 
145
- .ck-content .image-inline picture, .ck-content .image-inline img{
146
- flex-grow:1;
147
- flex-shrink:1;
148
- max-width:100%;
149
- }
154
+ /*# sourceMappingURL=index-content.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../theme/index-content.css","index-content.css"],"names":[],"mappings":"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","file":"index-content.css.map","sourcesContent":["/*\n * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root,\n:host {\n\t/* The variable is used by both editor and content styles. Keep it in sync with the identical declaration in `imagecaption.css`. */\n\t--ck-content-color-image-caption-background: hsl(0, 0%, 97%);\n\t--ck-content-color-image-caption-text: hsl(0, 0%, 20%);\n\t--ck-content-image-style-spacing: 1.5em;\n\t--ck-content-inline-image-style-spacing: calc(var(--ck-content-image-style-spacing) / 2);\n}\n\n.ck-content .image > figcaption {\n\tdisplay: table-caption;\n\tcaption-side: bottom;\n\tword-break: normal;\n\toverflow-wrap: anywhere;\n\t/*\n\t * `break-before: avoid` is not Baseline \"widely available\" because its support for print/paged-media\n\t * contexts specifically is reportedly unreliable in Firefox, even where nominally supported. There is\n\t * no alternative CSS mechanism to keep this caption attached to its image across a page break, so this\n\t * is an accepted, soft degradation (the caption may occasionally be orphaned onto the next printed page\n\t * in Firefox specifically), not a functional break introduced by this change.\n\t */\n\t/* eslint-disable-next-line css/use-baseline */\n\tbreak-before: avoid;\n\tcolor: var(--ck-content-color-image-caption-text);\n\tbackground-color: var(--ck-content-color-image-caption-background);\n\tpadding: .6em;\n\tfont-size: .75em;\n\toutline-offset: -1px;\n\n\t/* Improve placeholder rendering in high-constrast mode (https://github.com/ckeditor/ckeditor5/issues/14907). */\n\t@media (forced-colors: active) {\n\t\tbackground-color: unset;\n\t\tcolor: unset;\n\t}\n}\n\n/* Preserve aspect ratio of the resized image after introducing image height attribute. */\n\n.ck-content img.image_resized {\n\theight: auto;\n}\n\n.ck-content .image.image_resized {\n\tmax-width: 100%;\n\t/*\n\tThe `<figure>` element for resized images must not use `display:table` as browsers do not support `max-width` for it well.\n\tSee https://stackoverflow.com/questions/4019604/chrome-safari-ignoring-max-width-in-table/14420691#14420691 for more.\n\tFortunately, since we control the width, there is no risk that the image will look bad.\n\t*/\n\tdisplay: block;\n\tbox-sizing: border-box;\n\n\t& img {\n\t\t/* For resized images it is the `<figure>` element that determines the image width. */\n\t\twidth: 100%;\n\t}\n\n\t& > figcaption {\n\t\t/* The `<figure>` element uses `display:block`, so `<figcaption>` also has to. */\n\t\tdisplay: block;\n\t}\n}\n\n.ck-content {\n\t/* See: https://github.com/ckeditor/ckeditor5/issues/16317 */\n\t& .image {\n\t\t/* Provides a minimal side margin for the left and right aligned images, so that the user has a visual feedback\n\t\tconfirming successful application of the style if image width exceeds the editor's size.\n\t\tSee https://github.com/ckeditor/ckeditor5/issues/9342 */\n\t\t&.image-style-block-align-left,\n\t\t&.image-style-block-align-right {\n\t\t\tmax-width: calc(100% - var(--ck-content-image-style-spacing));\n\t\t}\n\n\t\t/* Allows displaying multiple floating images in the same line.\n\t\tSee https://github.com/ckeditor/ckeditor5/issues/9183#issuecomment-804988132 */\n\t\t&.image-style-align-left,\n\t\t&.image-style-align-right {\n\t\t\tclear: none;\n\t\t}\n\n\t\t&.image-style-side {\n\t\t\tfloat: right;\n\t\t\tmargin-left: var(--ck-content-image-style-spacing);\n\t\t\tmax-width: 50%;\n\t\t}\n\n\t\t&.image-style-align-left {\n\t\t\tfloat: left;\n\t\t\tmargin-right: var(--ck-content-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-right {\n\t\t\tfloat: right;\n\t\t\tmargin-left: var(--ck-content-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-block-align-right {\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: auto;\n\t\t}\n\n\t\t&.image-style-block-align-left {\n\t\t\tmargin-left: 0;\n\t\t\tmargin-right: auto;\n\t\t}\n\t}\n\n\t& .image-style-align-center {\n\t\tmargin-left: auto;\n\t\tmargin-right: auto;\n\t}\n\n\t& .image-style-align-left {\n\t\tfloat: left;\n\t\tmargin-right: var(--ck-content-image-style-spacing);\n\t}\n\n\t& .image-style-align-right {\n\t\tfloat: right;\n\t\tmargin-left: var(--ck-content-image-style-spacing);\n\t}\n\n\t/* Simulates margin collapsing with the preceding paragraph, which does not work for the floating elements. */\n\t& p + .image.image-style-align-left,\n\t& p + .image.image-style-align-right,\n\t& p + .image.image-style-side {\n\t\tmargin-top: 0;\n\t}\n\n\t& .image-inline {\n\t\t&.image-style-align-left,\n\t\t&.image-style-align-right {\n\t\t\tmargin-top: var(--ck-content-inline-image-style-spacing);\n\t\t\tmargin-bottom: var(--ck-content-inline-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-left {\n\t\t\tmargin-right: var(--ck-content-inline-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-right {\n\t\t\tmargin-left: var(--ck-content-inline-image-style-spacing);\n\t\t}\n\t}\n}\n\n.ck-content {\n\t& .image {\n\t\tdisplay: table;\n\t\tclear: both;\n\t\ttext-align: center;\n\n\t\t/* Make sure there is some space between the content and the image. Center image by default. */\n\t\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\t \tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\t\tmargin: 0.9em auto;\n\n\t\t/* Make sure the caption will be displayed properly (See: https://github.com/ckeditor/ckeditor5/issues/1870). */\n\t\tmin-width: 50px;\n\n\t\t& img {\n\t\t\t/* Prevent unnecessary margins caused by line-height (see https://github.com/ckeditor/ckeditor5/issues/44). */\n\t\t\tdisplay: block;\n\n\t\t\t/* Center the image if its width is smaller than the content's width. */\n\t\t\tmargin: 0 auto;\n\n\t\t\t/* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */\n\t\t\tmax-width: 100%;\n\n\t\t\t/* Make sure the image is never smaller than the parent container (See: https://github.com/ckeditor/ckeditor5/issues/9300). */\n\t\t\tmin-width: 100%;\n\n\t\t\t/* Keep proportions of the block image if the height is set and the image is wider than the editor width.\n\t\t\tSee https://github.com/ckeditor/ckeditor5/issues/14542. */\n\t\t\theight: auto;\n\t\t}\n\t}\n\n\t& .image-inline {\n\t\t/*\n\t\t * Normally, the .image-inline would have \"display: inline-block\" and \"img { width: 100% }\" (to follow the wrapper while resizing).\n\t\t * Unfortunately, together with \"srcset\", it gets automatically stretched up to the width of the editing root.\n\t\t * This strange behavior does not happen with inline-flex.\n\t\t */\n\t\tdisplay: inline-flex;\n\n\t\t/* While being resized, don't allow the image to exceed the width of the editing root. */\n\t\tmax-width: 100%;\n\n\t\t/* This is required by Safari to resize images in a sensible way. Without this, the browser breaks the ratio. */\n\t\talign-items: flex-start;\n\n\t\t/* When the picture is present it must act as a flex container to let the img resize properly */\n\t\t& picture {\n\t\t\tdisplay: flex;\n\t\t}\n\n\t\t/* When the picture is present, it must act like a resizable img. */\n\t\t& picture,\n\t\t& img {\n\t\t\t/* This is necessary for the img to span the entire .image-inline wrapper and to resize properly. */\n\t\t\tflex-grow: 1;\n\t\t\tflex-shrink: 1;\n\n\t\t\t/* Prevents overflowing the editing root boundaries when an inline image is very wide. */\n\t\t\tmax-width: 100%;\n\t\t}\n\t}\n}\n",":root, :host {\n --ck-content-color-image-caption-background: #f7f7f7;\n --ck-content-color-image-caption-text: #333;\n --ck-content-image-style-spacing: 1.5em;\n --ck-content-inline-image-style-spacing: calc(var(--ck-content-image-style-spacing) / 2);\n}\n\n.ck-content .image > figcaption {\n caption-side: bottom;\n word-break: normal;\n overflow-wrap: anywhere;\n break-before: avoid;\n color: var(--ck-content-color-image-caption-text);\n background-color: var(--ck-content-color-image-caption-background);\n outline-offset: -1px;\n padding: .6em;\n font-size: .75em;\n display: table-caption;\n\n @media (forced-colors: active) {\n background-color: unset;\n color: unset;\n }\n}\n\n.ck-content img.image_resized {\n height: auto;\n}\n\n.ck-content .image.image_resized {\n box-sizing: border-box;\n max-width: 100%;\n display: block;\n\n & img {\n width: 100%;\n }\n\n & > figcaption {\n display: block;\n }\n}\n\n.ck-content {\n & .image {\n &.image-style-block-align-left, &.image-style-block-align-right {\n max-width: calc(100% - var(--ck-content-image-style-spacing));\n }\n\n &.image-style-align-left, &.image-style-align-right {\n clear: none;\n }\n\n &.image-style-side {\n float: right;\n margin-left: var(--ck-content-image-style-spacing);\n max-width: 50%;\n }\n\n &.image-style-align-left {\n float: left;\n margin-right: var(--ck-content-image-style-spacing);\n }\n\n &.image-style-align-right {\n float: right;\n margin-left: var(--ck-content-image-style-spacing);\n }\n\n &.image-style-block-align-right {\n margin-left: auto;\n margin-right: 0;\n }\n\n &.image-style-block-align-left {\n margin-left: 0;\n margin-right: auto;\n }\n }\n\n & .image-style-align-center {\n margin-left: auto;\n margin-right: auto;\n }\n\n & .image-style-align-left {\n float: left;\n margin-right: var(--ck-content-image-style-spacing);\n }\n\n & .image-style-align-right {\n float: right;\n margin-left: var(--ck-content-image-style-spacing);\n }\n\n & p + .image.image-style-align-left, & p + .image.image-style-align-right, & p + .image.image-style-side {\n margin-top: 0;\n }\n\n & .image-inline {\n &.image-style-align-left, &.image-style-align-right {\n margin-top: var(--ck-content-inline-image-style-spacing);\n margin-bottom: var(--ck-content-inline-image-style-spacing);\n }\n\n &.image-style-align-left {\n margin-right: var(--ck-content-inline-image-style-spacing);\n }\n\n &.image-style-align-right {\n margin-left: var(--ck-content-inline-image-style-spacing);\n }\n }\n}\n\n.ck-content {\n & .image {\n clear: both;\n text-align: center;\n min-width: 50px;\n margin: .9em auto;\n display: table;\n\n & img {\n min-width: 100%;\n max-width: 100%;\n height: auto;\n margin: 0 auto;\n display: block;\n }\n }\n\n & .image-inline {\n align-items: flex-start;\n max-width: 100%;\n display: inline-flex;\n\n & picture {\n display: flex;\n }\n\n & picture, & img {\n flex-grow: 1;\n flex-shrink: 1;\n max-width: 100%;\n }\n }\n}\n\n/*# sourceMappingURL=index-content.css.map */"]}