@ckeditor/ckeditor5-link 45.0.0-alpha.1 → 45.0.0-alpha.10

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 (158) hide show
  1. package/build/link.js +1 -1
  2. package/build/translations/ar.js +1 -1
  3. package/build/translations/bg.js +1 -1
  4. package/build/translations/bn.js +1 -1
  5. package/build/translations/ca.js +1 -1
  6. package/build/translations/cs.js +1 -1
  7. package/build/translations/da.js +1 -1
  8. package/build/translations/de.js +1 -1
  9. package/build/translations/el.js +1 -1
  10. package/build/translations/es.js +1 -1
  11. package/build/translations/et.js +1 -1
  12. package/build/translations/fi.js +1 -1
  13. package/build/translations/fr.js +1 -1
  14. package/build/translations/he.js +1 -1
  15. package/build/translations/hi.js +1 -1
  16. package/build/translations/hu.js +1 -1
  17. package/build/translations/id.js +1 -1
  18. package/build/translations/it.js +1 -1
  19. package/build/translations/ja.js +1 -1
  20. package/build/translations/ko.js +1 -1
  21. package/build/translations/lt.js +1 -1
  22. package/build/translations/lv.js +1 -1
  23. package/build/translations/ms.js +1 -1
  24. package/build/translations/nl.js +1 -1
  25. package/build/translations/no.js +1 -1
  26. package/build/translations/pl.js +1 -1
  27. package/build/translations/pt-br.js +1 -1
  28. package/build/translations/pt.js +1 -1
  29. package/build/translations/ro.js +1 -1
  30. package/build/translations/ru.js +1 -1
  31. package/build/translations/sk.js +1 -1
  32. package/build/translations/sr.js +1 -1
  33. package/build/translations/sv.js +1 -1
  34. package/build/translations/th.js +1 -1
  35. package/build/translations/tr.js +1 -1
  36. package/build/translations/uk.js +1 -1
  37. package/build/translations/vi.js +1 -1
  38. package/build/translations/zh-cn.js +1 -1
  39. package/build/translations/zh.js +1 -1
  40. package/dist/index.js +28 -4
  41. package/dist/index.js.map +1 -1
  42. package/dist/translations/ar.js +1 -1
  43. package/dist/translations/ar.umd.js +1 -1
  44. package/dist/translations/bg.js +1 -1
  45. package/dist/translations/bg.umd.js +1 -1
  46. package/dist/translations/bn.js +1 -1
  47. package/dist/translations/bn.umd.js +1 -1
  48. package/dist/translations/ca.js +1 -1
  49. package/dist/translations/ca.umd.js +1 -1
  50. package/dist/translations/cs.js +1 -1
  51. package/dist/translations/cs.umd.js +1 -1
  52. package/dist/translations/da.js +1 -1
  53. package/dist/translations/da.umd.js +1 -1
  54. package/dist/translations/de.js +1 -1
  55. package/dist/translations/de.umd.js +1 -1
  56. package/dist/translations/el.js +1 -1
  57. package/dist/translations/el.umd.js +1 -1
  58. package/dist/translations/es.js +1 -1
  59. package/dist/translations/es.umd.js +1 -1
  60. package/dist/translations/et.js +1 -1
  61. package/dist/translations/et.umd.js +1 -1
  62. package/dist/translations/fi.js +1 -1
  63. package/dist/translations/fi.umd.js +1 -1
  64. package/dist/translations/fr.js +1 -1
  65. package/dist/translations/fr.umd.js +1 -1
  66. package/dist/translations/he.js +1 -1
  67. package/dist/translations/he.umd.js +1 -1
  68. package/dist/translations/hi.js +1 -1
  69. package/dist/translations/hi.umd.js +1 -1
  70. package/dist/translations/hu.js +1 -1
  71. package/dist/translations/hu.umd.js +1 -1
  72. package/dist/translations/id.js +1 -1
  73. package/dist/translations/id.umd.js +1 -1
  74. package/dist/translations/it.js +1 -1
  75. package/dist/translations/it.umd.js +1 -1
  76. package/dist/translations/ja.js +1 -1
  77. package/dist/translations/ja.umd.js +1 -1
  78. package/dist/translations/ko.js +1 -1
  79. package/dist/translations/ko.umd.js +1 -1
  80. package/dist/translations/lt.js +1 -1
  81. package/dist/translations/lt.umd.js +1 -1
  82. package/dist/translations/lv.js +1 -1
  83. package/dist/translations/lv.umd.js +1 -1
  84. package/dist/translations/ms.js +1 -1
  85. package/dist/translations/ms.umd.js +1 -1
  86. package/dist/translations/nl.js +1 -1
  87. package/dist/translations/nl.umd.js +1 -1
  88. package/dist/translations/no.js +1 -1
  89. package/dist/translations/no.umd.js +1 -1
  90. package/dist/translations/pl.js +1 -1
  91. package/dist/translations/pl.umd.js +1 -1
  92. package/dist/translations/pt-br.js +1 -1
  93. package/dist/translations/pt-br.umd.js +1 -1
  94. package/dist/translations/pt.js +1 -1
  95. package/dist/translations/pt.umd.js +1 -1
  96. package/dist/translations/ro.js +1 -1
  97. package/dist/translations/ro.umd.js +1 -1
  98. package/dist/translations/ru.js +1 -1
  99. package/dist/translations/ru.umd.js +1 -1
  100. package/dist/translations/sk.js +1 -1
  101. package/dist/translations/sk.umd.js +1 -1
  102. package/dist/translations/sr.js +1 -1
  103. package/dist/translations/sr.umd.js +1 -1
  104. package/dist/translations/sv.js +1 -1
  105. package/dist/translations/sv.umd.js +1 -1
  106. package/dist/translations/th.js +1 -1
  107. package/dist/translations/th.umd.js +1 -1
  108. package/dist/translations/tr.js +1 -1
  109. package/dist/translations/tr.umd.js +1 -1
  110. package/dist/translations/uk.js +1 -1
  111. package/dist/translations/uk.umd.js +1 -1
  112. package/dist/translations/vi.js +1 -1
  113. package/dist/translations/vi.umd.js +1 -1
  114. package/dist/translations/zh-cn.js +1 -1
  115. package/dist/translations/zh-cn.umd.js +1 -1
  116. package/dist/translations/zh.js +1 -1
  117. package/dist/translations/zh.umd.js +1 -1
  118. package/lang/translations/ar.po +3 -3
  119. package/lang/translations/bg.po +3 -3
  120. package/lang/translations/bn.po +3 -3
  121. package/lang/translations/ca.po +3 -3
  122. package/lang/translations/cs.po +3 -3
  123. package/lang/translations/da.po +3 -3
  124. package/lang/translations/de.po +3 -3
  125. package/lang/translations/el.po +3 -3
  126. package/lang/translations/es.po +3 -3
  127. package/lang/translations/et.po +3 -3
  128. package/lang/translations/fi.po +3 -3
  129. package/lang/translations/fr.po +3 -3
  130. package/lang/translations/he.po +3 -3
  131. package/lang/translations/hi.po +3 -3
  132. package/lang/translations/hu.po +3 -3
  133. package/lang/translations/id.po +3 -3
  134. package/lang/translations/it.po +3 -3
  135. package/lang/translations/ja.po +3 -3
  136. package/lang/translations/ko.po +3 -3
  137. package/lang/translations/lt.po +3 -3
  138. package/lang/translations/lv.po +3 -3
  139. package/lang/translations/ms.po +3 -3
  140. package/lang/translations/nl.po +3 -3
  141. package/lang/translations/no.po +3 -3
  142. package/lang/translations/pl.po +3 -3
  143. package/lang/translations/pt-br.po +3 -3
  144. package/lang/translations/pt.po +3 -3
  145. package/lang/translations/ro.po +3 -3
  146. package/lang/translations/ru.po +3 -3
  147. package/lang/translations/sk.po +3 -3
  148. package/lang/translations/sr.po +3 -3
  149. package/lang/translations/sv.po +3 -3
  150. package/lang/translations/th.po +3 -3
  151. package/lang/translations/tr.po +3 -3
  152. package/lang/translations/uk.po +3 -3
  153. package/lang/translations/vi.po +3 -3
  154. package/lang/translations/zh-cn.po +3 -3
  155. package/lang/translations/zh.po +3 -3
  156. package/package.json +11 -11
  157. package/src/linkimageediting.js +14 -0
  158. package/src/linkui.js +14 -4
@@ -1 +1 @@
1
- !function(n){const i=n.tr=n.tr||{};i.dictionary=Object.assign(i.dictionary||{},{"Create link":"Bağlantı oluştur","Displayed text":"",Downloadable:"İndirilebilir","Edit link":"Bağlantıyı değiştir",Link:"Bağlantı","Link image":"Resim bağlantısı","Link properties":"","Link URL":"Bağlantı Adresi","Link URL must not be empty.":"Bağlantı URL'si boş olmamalıdır.","Move out of a link":"Bir bağlantıdan çık","No links available":"","Open in a new tab":"Yeni sekmede aç","Open link in new tab":"Yeni sekmede aç",Unlink:"Bağlantıyı kaldır"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
1
+ !function(n){const a=n.tr=n.tr||{};a.dictionary=Object.assign(a.dictionary||{},{"Create link":"Bağlantı oluştur","Displayed text":"Görüntülenen metin",Downloadable:"İndirilebilir","Edit link":"Bağlantıyı değiştir",Link:"Bağlantı","Link image":"Resim bağlantısı","Link properties":"Bağlantı özellikleri","Link URL":"Bağlantı Adresi","Link URL must not be empty.":"Bağlantı URL'si boş olmamalıdır.","Move out of a link":"Bir bağlantıdan çık","No links available":"Kullanılabilir bağlantı yok","Open in a new tab":"Yeni sekmede aç","Open link in new tab":"Yeni sekmede aç",Unlink:"Bağlantıyı kaldır"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +1 @@
1
- !function(n){const i=n.uk=n.uk||{};i.dictionary=Object.assign(i.dictionary||{},{"Create link":"Створити посилання","Displayed text":"",Downloadable:"Завантажувальне","Edit link":"Редагувати посилання",Link:"Посилання","Link image":"Посилання зображення","Link properties":"","Link URL":"URL посилання","Link URL must not be empty.":"URL-адреса посилання не може бути порожньою.","Move out of a link":"Вийти з посилання","No links available":"","Open in a new tab":"Вікрити у новій вкладці","Open link in new tab":"Відкрити посилання у новій вкладці",Unlink:"Видалити посилання"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
1
+ !function(n){const i=n.uk=n.uk||{};i.dictionary=Object.assign(i.dictionary||{},{"Create link":"Створити посилання","Displayed text":"Відображений текст",Downloadable:"Завантажувальне","Edit link":"Редагувати посилання",Link:"Посилання","Link image":"Посилання зображення","Link properties":"Властивості посилання","Link URL":"URL посилання","Link URL must not be empty.":"URL-адреса посилання не може бути порожньою.","Move out of a link":"Вийти з посилання","No links available":"Немає доступних посилань","Open in a new tab":"Вікрити у новій вкладці","Open link in new tab":"Відкрити посилання у новій вкладці",Unlink:"Видалити посилання"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +1 @@
1
- !function(n){const i=n.vi=n.vi||{};i.dictionary=Object.assign(i.dictionary||{},{"Create link":"Tạo liên kết","Displayed text":"",Downloadable:"Có thể tải về","Edit link":"Sửa liên kết",Link:"Chèn liên kết","Link image":"Liên kết của ảnh","Link properties":"","Link URL":"Đường dẫn liên kết","Link URL must not be empty.":"Không được để trống URL đường liên kết.","Move out of a link":"Di chuyển ra khỏi một liên kết","No links available":"","Open in a new tab":"Mở trên tab mới","Open link in new tab":"Mở liên kết",Unlink:"Bỏ liên kết"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
1
+ !function(n){const i=n.vi=n.vi||{};i.dictionary=Object.assign(i.dictionary||{},{"Create link":"Tạo liên kết","Displayed text":"Văn bản đã hiển thị",Downloadable:"Có thể tải về","Edit link":"Sửa liên kết",Link:"Chèn liên kết","Link image":"Liên kết của ảnh","Link properties":"Thuộc tính đường liên kết","Link URL":"Đường dẫn liên kết","Link URL must not be empty.":"Không được để trống URL đường liên kết.","Move out of a link":"Di chuyển ra khỏi một liên kết","No links available":"Không có đường liên kết khả dụng","Open in a new tab":"Mở trên tab mới","Open link in new tab":"Mở liên kết",Unlink:"Bỏ liên kết"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +1 @@
1
- !function(n){const i=n["zh-cn"]=n["zh-cn"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Create link":"创建链接","Displayed text":"",Downloadable:"可下载","Edit link":"修改链接",Link:"超链接","Link image":"链接图片","Link properties":"","Link URL":"链接网址","Link URL must not be empty.":"链接 URL 不能为空。","Move out of a link":"移出链接","No links available":"","Open in a new tab":"在新标签页中打开","Open link in new tab":"在新标签页中打开链接",Unlink:"取消超链接"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
1
+ !function(n){const i=n["zh-cn"]=n["zh-cn"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Create link":"创建链接","Displayed text":"显示的文本",Downloadable:"可下载","Edit link":"修改链接",Link:"超链接","Link image":"链接图片","Link properties":"链接属性","Link URL":"链接网址","Link URL must not be empty.":"链接 URL 不能为空。","Move out of a link":"移出链接","No links available":"无可用链接","Open in a new tab":"在新标签页中打开","Open link in new tab":"在新标签页中打开链接",Unlink:"取消超链接"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +1 @@
1
- !function(n){const i=n.zh=n.zh||{};i.dictionary=Object.assign(i.dictionary||{},{"Create link":"建立連結","Displayed text":"",Downloadable:"可下載","Edit link":"編輯連結",Link:"連結","Link image":"圖片連結","Link properties":"","Link URL":"連結˙ URL","Link URL must not be empty.":"連結 URL 不得為空白。","Move out of a link":"移出連結","No links available":"","Open in a new tab":"在新視窗開啟","Open link in new tab":"在新視窗開啟連結",Unlink:"移除連結"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
1
+ !function(n){const i=n.zh=n.zh||{};i.dictionary=Object.assign(i.dictionary||{},{"Create link":"建立連結","Displayed text":"顯示的文字",Downloadable:"可下載","Edit link":"編輯連結",Link:"連結","Link image":"圖片連結","Link properties":"連結屬性","Link URL":"連結˙ URL","Link URL must not be empty.":"連結 URL 不得為空白。","Move out of a link":"移出連結","No links available":"無可用連結","Open in a new tab":"在新視窗開啟","Open link in new tab":"在新視窗開啟連結",Unlink:"移除連結"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
package/dist/index.js CHANGED
@@ -2201,6 +2201,7 @@ const VISUAL_SELECTION_MARKER_NAME = 'link-ui';
2201
2201
  view.bind('isOn').to(command, 'value', (value)=>!!value);
2202
2202
  // Show the panel on button click.
2203
2203
  this.listenTo(view, 'execute', ()=>{
2204
+ editor.editing.view.scrollToTheSelection();
2204
2205
  this._showUI(true);
2205
2206
  // Open the form view on-top of the toolbar view if it's already visible.
2206
2207
  // It should be visible every time the link is selected.
@@ -2230,6 +2231,7 @@ const VISUAL_SELECTION_MARKER_NAME = 'link-ui';
2230
2231
  // Prevent focusing the search bar in FF, Chrome and Edge. See https://github.com/ckeditor/ckeditor5/issues/4811.
2231
2232
  cancel();
2232
2233
  if (editor.commands.get('link').isEnabled) {
2234
+ editor.editing.view.scrollToTheSelection();
2233
2235
  this._showUI(true);
2234
2236
  }
2235
2237
  });
@@ -2264,7 +2266,13 @@ const VISUAL_SELECTION_MARKER_NAME = 'link-ui';
2264
2266
  contextElements: ()=>[
2265
2267
  this._balloon.view.element
2266
2268
  ],
2267
- callback: ()=>this._hideUI()
2269
+ callback: ()=>{
2270
+ // Focusing on the editable during a click outside the balloon panel might
2271
+ // cause the selection to move to the beginning of the editable, so we avoid
2272
+ // focusing on it during this action.
2273
+ // See: https://github.com/ckeditor/ckeditor5/issues/18253
2274
+ this._hideUI(false);
2275
+ }
2268
2276
  });
2269
2277
  }
2270
2278
  /**
@@ -2383,7 +2391,7 @@ const VISUAL_SELECTION_MARKER_NAME = 'link-ui';
2383
2391
  }
2384
2392
  /**
2385
2393
  * Removes the {@link #formView} from the {@link #_balloon}.
2386
- */ _removeFormView() {
2394
+ */ _removeFormView(updateFocus = true) {
2387
2395
  if (this._isFormInPanel) {
2388
2396
  // Blur the input element before removing it from DOM to prevent issues in some browsers.
2389
2397
  // See https://github.com/ckeditor/ckeditor5/issues/1501.
@@ -2394,7 +2402,9 @@ const VISUAL_SELECTION_MARKER_NAME = 'link-ui';
2394
2402
  this._balloon.remove(this.formView);
2395
2403
  // Because the form has an input which has focus, the focus must be brought back
2396
2404
  // to the editor. Otherwise, it would be lost.
2397
- this.editor.editing.view.focus();
2405
+ if (updateFocus) {
2406
+ this.editor.editing.view.focus();
2407
+ }
2398
2408
  this._hideFakeVisualSelection();
2399
2409
  }
2400
2410
  }
@@ -2453,7 +2463,7 @@ const VISUAL_SELECTION_MARKER_NAME = 'link-ui';
2453
2463
  // If the properties form view is visible, remove it because it can be on top of the stack.
2454
2464
  this._removePropertiesView();
2455
2465
  // Then remove the form view because it's beneath the properties form.
2456
- this._removeFormView();
2466
+ this._removeFormView(updateFocus);
2457
2467
  // Finally, remove the link toolbar view because it's last in the stack.
2458
2468
  if (this._isToolbarInPanel) {
2459
2469
  this._balloon.remove(this.toolbarView);
@@ -3197,6 +3207,20 @@ function linkIsAlreadySet(range) {
3197
3207
  if (!linkInImage) {
3198
3208
  return;
3199
3209
  }
3210
+ // Handle deactivated manual decorator.
3211
+ if (decorator.value === undefined) {
3212
+ for(const key in decorator.attributes){
3213
+ conversionApi.writer.removeAttribute(key, linkInImage);
3214
+ }
3215
+ if (decorator.classes) {
3216
+ conversionApi.writer.removeClass(decorator.classes, linkInImage);
3217
+ }
3218
+ for(const key in decorator.styles){
3219
+ conversionApi.writer.removeStyle(key, linkInImage);
3220
+ }
3221
+ return;
3222
+ }
3223
+ // Handle activated manual decorator.
3200
3224
  for (const [key, val] of toMap(decorator.attributes)){
3201
3225
  conversionApi.writer.setAttribute(key, val, linkInImage);
3202
3226
  }