@ckeditor/ckeditor5-image 34.2.0 → 35.0.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 (139) hide show
  1. package/CHANGELOG.md +423 -0
  2. package/LICENSE.md +4 -0
  3. package/build/image.js +2 -2
  4. package/build/translations/ar.js +1 -1
  5. package/build/translations/ast.js +1 -1
  6. package/build/translations/az.js +1 -1
  7. package/build/translations/bg.js +1 -1
  8. package/build/translations/bn.js +1 -0
  9. package/build/translations/bs.js +1 -1
  10. package/build/translations/ca.js +1 -0
  11. package/build/translations/cs.js +1 -1
  12. package/build/translations/da.js +1 -1
  13. package/build/translations/de-ch.js +1 -1
  14. package/build/translations/de.js +1 -1
  15. package/build/translations/el.js +1 -1
  16. package/build/translations/en-au.js +1 -1
  17. package/build/translations/en-gb.js +1 -1
  18. package/build/translations/eo.js +1 -1
  19. package/build/translations/es.js +1 -1
  20. package/build/translations/et.js +1 -1
  21. package/build/translations/eu.js +1 -1
  22. package/build/translations/fa.js +1 -1
  23. package/build/translations/fi.js +1 -1
  24. package/build/translations/fr.js +1 -1
  25. package/build/translations/gl.js +1 -1
  26. package/build/translations/he.js +1 -1
  27. package/build/translations/hi.js +1 -1
  28. package/build/translations/hr.js +1 -1
  29. package/build/translations/hu.js +1 -1
  30. package/build/translations/id.js +1 -1
  31. package/build/translations/it.js +1 -1
  32. package/build/translations/ja.js +1 -1
  33. package/build/translations/jv.js +1 -1
  34. package/build/translations/km.js +1 -1
  35. package/build/translations/kn.js +1 -1
  36. package/build/translations/ko.js +1 -1
  37. package/build/translations/ku.js +1 -1
  38. package/build/translations/lt.js +1 -1
  39. package/build/translations/lv.js +1 -1
  40. package/build/translations/ms.js +1 -0
  41. package/build/translations/nb.js +1 -1
  42. package/build/translations/ne.js +1 -1
  43. package/build/translations/nl.js +1 -1
  44. package/build/translations/no.js +1 -1
  45. package/build/translations/pl.js +1 -1
  46. package/build/translations/pt-br.js +1 -1
  47. package/build/translations/pt.js +1 -1
  48. package/build/translations/ro.js +1 -1
  49. package/build/translations/ru.js +1 -1
  50. package/build/translations/si.js +1 -1
  51. package/build/translations/sk.js +1 -1
  52. package/build/translations/sq.js +1 -1
  53. package/build/translations/sr-latn.js +1 -1
  54. package/build/translations/sr.js +1 -1
  55. package/build/translations/sv.js +1 -1
  56. package/build/translations/th.js +1 -1
  57. package/build/translations/tk.js +1 -1
  58. package/build/translations/tr.js +1 -1
  59. package/build/translations/ug.js +1 -1
  60. package/build/translations/uk.js +1 -1
  61. package/build/translations/ur.js +1 -1
  62. package/build/translations/uz.js +1 -1
  63. package/build/translations/vi.js +1 -1
  64. package/build/translations/zh-cn.js +1 -1
  65. package/build/translations/zh.js +1 -1
  66. package/lang/contexts.json +3 -1
  67. package/lang/translations/ar.po +21 -13
  68. package/lang/translations/ast.po +8 -0
  69. package/lang/translations/az.po +8 -0
  70. package/lang/translations/bg.po +30 -22
  71. package/lang/translations/bn.po +121 -0
  72. package/lang/translations/bs.po +8 -0
  73. package/lang/translations/ca.po +121 -0
  74. package/lang/translations/cs.po +8 -0
  75. package/lang/translations/da.po +20 -12
  76. package/lang/translations/de-ch.po +8 -0
  77. package/lang/translations/de.po +8 -0
  78. package/lang/translations/el.po +8 -0
  79. package/lang/translations/en-au.po +8 -0
  80. package/lang/translations/en-gb.po +8 -0
  81. package/lang/translations/en.po +8 -0
  82. package/lang/translations/eo.po +8 -0
  83. package/lang/translations/es.po +8 -0
  84. package/lang/translations/et.po +20 -12
  85. package/lang/translations/eu.po +8 -0
  86. package/lang/translations/fa.po +8 -0
  87. package/lang/translations/fi.po +21 -13
  88. package/lang/translations/fr.po +11 -3
  89. package/lang/translations/gl.po +8 -0
  90. package/lang/translations/he.po +20 -12
  91. package/lang/translations/hi.po +11 -3
  92. package/lang/translations/hr.po +8 -0
  93. package/lang/translations/hu.po +8 -0
  94. package/lang/translations/id.po +8 -0
  95. package/lang/translations/it.po +8 -0
  96. package/lang/translations/ja.po +11 -3
  97. package/lang/translations/jv.po +8 -0
  98. package/lang/translations/km.po +8 -0
  99. package/lang/translations/kn.po +8 -0
  100. package/lang/translations/ko.po +15 -7
  101. package/lang/translations/ku.po +8 -0
  102. package/lang/translations/lt.po +21 -13
  103. package/lang/translations/lv.po +8 -0
  104. package/lang/translations/ms.po +121 -0
  105. package/lang/translations/nb.po +8 -0
  106. package/lang/translations/ne.po +8 -0
  107. package/lang/translations/nl.po +18 -10
  108. package/lang/translations/no.po +20 -12
  109. package/lang/translations/pl.po +12 -4
  110. package/lang/translations/pt-br.po +8 -0
  111. package/lang/translations/pt.po +24 -16
  112. package/lang/translations/ro.po +11 -3
  113. package/lang/translations/ru.po +8 -0
  114. package/lang/translations/si.po +8 -0
  115. package/lang/translations/sk.po +8 -0
  116. package/lang/translations/sq.po +8 -0
  117. package/lang/translations/sr-latn.po +8 -0
  118. package/lang/translations/sr.po +8 -0
  119. package/lang/translations/sv.po +21 -13
  120. package/lang/translations/th.po +20 -12
  121. package/lang/translations/tk.po +8 -0
  122. package/lang/translations/tr.po +15 -7
  123. package/lang/translations/ug.po +8 -0
  124. package/lang/translations/uk.po +11 -3
  125. package/lang/translations/ur.po +8 -0
  126. package/lang/translations/uz.po +8 -0
  127. package/lang/translations/vi.po +11 -3
  128. package/lang/translations/zh-cn.po +8 -0
  129. package/lang/translations/zh.po +11 -3
  130. package/package.json +33 -32
  131. package/src/image/ui/utils.js +1 -1
  132. package/src/imagecaption/imagecaptionediting.js +40 -1
  133. package/src/imageinsert/imageinsertui.js +45 -21
  134. package/src/imageinsert/ui/imageinsertpanelview.js +1 -37
  135. package/src/imageinsert.js +2 -1
  136. package/src/imageinsertviaurl.js +40 -0
  137. package/src/imageresize/imageresizehandles.js +1 -1
  138. package/src/imagestyle/imagestyleui.js +7 -1
  139. package/src/imageutils.js +7 -1
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+
6
+ /**
7
+ * @module image/imageinsertviaurl
8
+ */
9
+
10
+ import { Plugin } from 'ckeditor5/src/core';
11
+ import ImageInsertUI from './imageinsert/imageinsertui';
12
+
13
+ /**
14
+ * The image insert via URL plugin.
15
+ *
16
+ * For a detailed overview, check the {@glink features/images/image-upload/images-inserting#inserting-images-via-source-url
17
+ * Insert images via source URL} documentation.
18
+ *
19
+ * This plugin does not do anything directly, but it loads a set of specific plugins
20
+ * to enable image inserting via implemented integrations:
21
+ *
22
+ * * {@link module:image/imageinsert/imageinsertui~ImageInsertUI},
23
+ *
24
+ * @extends module:core/plugin~Plugin
25
+ */
26
+ export default class ImageInsertViaUrl extends Plugin {
27
+ /**
28
+ * @inheritDoc
29
+ */
30
+ static get pluginName() {
31
+ return 'ImageInsertViaUrl';
32
+ }
33
+
34
+ /**
35
+ * @inheritDoc
36
+ */
37
+ static get requires() {
38
+ return [ ImageInsertUI ];
39
+ }
40
+ }
@@ -104,7 +104,7 @@ export default class ImageResizeHandles extends Plugin {
104
104
  },
105
105
  getResizeHost() {
106
106
  // Return the model image element parent to avoid setting an inline element (<a>/<span>) as a resize host.
107
- return domConverter.viewToDom( mapper.toViewElement( imageModel.parent ) );
107
+ return domConverter.mapViewToDom( mapper.toViewElement( imageModel.parent ) );
108
108
  },
109
109
  // TODO consider other positions.
110
110
  isCentered() {
@@ -131,7 +131,7 @@ export default class ImageStyleUI extends Plugin {
131
131
  const splitButtonView = dropdownView.buttonView;
132
132
  const splitButtonViewArrow = splitButtonView.arrowView;
133
133
 
134
- addToolbarToDropdown( dropdownView, buttonViews );
134
+ addToolbarToDropdown( dropdownView, buttonViews, { enableActiveItemFocusOnDropdownOpen: true } );
135
135
 
136
136
  splitButtonView.set( {
137
137
  label: getDropdownButtonTitle( title, defaultButton.label ),
@@ -172,6 +172,12 @@ export default class ImageStyleUI extends Plugin {
172
172
  dropdownView.bind( 'isEnabled' )
173
173
  .toMany( buttonViews, 'isEnabled', ( ...areEnabled ) => areEnabled.some( identity ) );
174
174
 
175
+ // Focus the editable after executing the command.
176
+ // Overrides a default behaviour where the focus is moved to the dropdown button (#12125).
177
+ this.listenTo( dropdownView, 'execute', () => {
178
+ this.editor.editing.view.focus();
179
+ } );
180
+
175
181
  return dropdownView;
176
182
  } );
177
183
  }
package/src/imageutils.js CHANGED
@@ -127,13 +127,19 @@ export default class ImageUtils extends Plugin {
127
127
  * @returns {module:engine/view/element~Element|null}
128
128
  */
129
129
  getClosestSelectedImageWidget( selection ) {
130
+ const selectionPosition = selection.getFirstPosition();
131
+
132
+ if ( !selectionPosition ) {
133
+ return null;
134
+ }
135
+
130
136
  const viewElement = selection.getSelectedElement();
131
137
 
132
138
  if ( viewElement && this.isImageWidget( viewElement ) ) {
133
139
  return viewElement;
134
140
  }
135
141
 
136
- let parent = selection.getFirstPosition().parent;
142
+ let parent = selectionPosition.parent;
137
143
 
138
144
  while ( parent ) {
139
145
  if ( parent.is( 'element' ) && this.isImageWidget( parent ) ) {