@ckeditor/ckeditor5-link 40.1.0 → 41.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 (105) hide show
  1. package/CHANGELOG.md +29 -29
  2. package/LICENSE.md +1 -1
  3. package/build/link.js +2 -2
  4. package/build/translations/ug.js +1 -1
  5. package/lang/translations/ar.po +1 -1
  6. package/lang/translations/ast.po +1 -1
  7. package/lang/translations/az.po +1 -1
  8. package/lang/translations/bg.po +1 -1
  9. package/lang/translations/bn.po +1 -1
  10. package/lang/translations/ca.po +1 -1
  11. package/lang/translations/cs.po +1 -1
  12. package/lang/translations/da.po +1 -1
  13. package/lang/translations/de-ch.po +1 -1
  14. package/lang/translations/de.po +1 -1
  15. package/lang/translations/el.po +1 -1
  16. package/lang/translations/en-au.po +1 -1
  17. package/lang/translations/en-gb.po +1 -1
  18. package/lang/translations/en.po +1 -1
  19. package/lang/translations/eo.po +1 -1
  20. package/lang/translations/es.po +1 -1
  21. package/lang/translations/et.po +1 -1
  22. package/lang/translations/eu.po +1 -1
  23. package/lang/translations/fa.po +1 -1
  24. package/lang/translations/fi.po +1 -1
  25. package/lang/translations/fr.po +1 -1
  26. package/lang/translations/gl.po +1 -1
  27. package/lang/translations/he.po +1 -1
  28. package/lang/translations/hi.po +1 -1
  29. package/lang/translations/hr.po +1 -1
  30. package/lang/translations/hu.po +1 -1
  31. package/lang/translations/hy.po +1 -1
  32. package/lang/translations/id.po +1 -1
  33. package/lang/translations/it.po +1 -1
  34. package/lang/translations/ja.po +1 -1
  35. package/lang/translations/km.po +1 -1
  36. package/lang/translations/kn.po +1 -1
  37. package/lang/translations/ko.po +1 -1
  38. package/lang/translations/ku.po +1 -1
  39. package/lang/translations/lt.po +1 -1
  40. package/lang/translations/lv.po +1 -1
  41. package/lang/translations/ms.po +1 -1
  42. package/lang/translations/nb.po +1 -1
  43. package/lang/translations/ne.po +1 -1
  44. package/lang/translations/nl.po +1 -1
  45. package/lang/translations/no.po +1 -1
  46. package/lang/translations/pl.po +1 -1
  47. package/lang/translations/pt-br.po +1 -1
  48. package/lang/translations/pt.po +1 -1
  49. package/lang/translations/ro.po +1 -1
  50. package/lang/translations/ru.po +1 -1
  51. package/lang/translations/sk.po +1 -1
  52. package/lang/translations/sq.po +1 -1
  53. package/lang/translations/sr-latn.po +1 -1
  54. package/lang/translations/sr.po +1 -1
  55. package/lang/translations/sv.po +1 -1
  56. package/lang/translations/th.po +1 -1
  57. package/lang/translations/tk.po +1 -1
  58. package/lang/translations/tr.po +1 -1
  59. package/lang/translations/tt.po +1 -1
  60. package/lang/translations/ug.po +7 -7
  61. package/lang/translations/uk.po +1 -1
  62. package/lang/translations/ur.po +1 -1
  63. package/lang/translations/uz.po +1 -1
  64. package/lang/translations/vi.po +1 -1
  65. package/lang/translations/zh-cn.po +1 -1
  66. package/lang/translations/zh.po +1 -1
  67. package/package.json +4 -3
  68. package/src/augmentation.d.ts +2 -2
  69. package/src/augmentation.js +1 -1
  70. package/src/autolink.d.ts +19 -4
  71. package/src/autolink.js +73 -5
  72. package/src/index.d.ts +12 -12
  73. package/src/index.js +11 -11
  74. package/src/link.d.ts +5 -5
  75. package/src/link.js +5 -5
  76. package/src/linkcommand.d.ts +5 -5
  77. package/src/linkcommand.js +6 -6
  78. package/src/linkconfig.d.ts +21 -2
  79. package/src/linkconfig.js +1 -1
  80. package/src/linkediting.d.ts +7 -43
  81. package/src/linkediting.js +17 -285
  82. package/src/linkimage.d.ts +4 -4
  83. package/src/linkimage.js +4 -4
  84. package/src/linkimageediting.d.ts +4 -4
  85. package/src/linkimageediting.js +6 -6
  86. package/src/linkimageui.d.ts +4 -4
  87. package/src/linkimageui.js +6 -6
  88. package/src/linkui.d.ts +5 -5
  89. package/src/linkui.js +19 -15
  90. package/src/ui/linkactionsview.d.ts +4 -4
  91. package/src/ui/linkactionsview.js +5 -5
  92. package/src/ui/linkformview.d.ts +4 -4
  93. package/src/ui/linkformview.js +4 -4
  94. package/src/unlinkcommand.d.ts +2 -2
  95. package/src/unlinkcommand.js +4 -4
  96. package/src/utils/automaticdecorators.d.ts +4 -4
  97. package/src/utils/automaticdecorators.js +2 -2
  98. package/src/utils/manualdecorator.d.ts +6 -6
  99. package/src/utils/manualdecorator.js +2 -2
  100. package/src/utils.d.ts +4 -4
  101. package/src/utils.js +1 -1
  102. package/theme/link.css +1 -1
  103. package/theme/linkactions.css +1 -1
  104. package/theme/linkform.css +1 -1
  105. package/theme/linkimage.css +1 -1
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -31,24 +31,24 @@ msgstr "ئۇلاش ئادىرسى"
31
31
 
32
32
  msgctxt "Label for the image link button."
33
33
  msgid "Link image"
34
- msgstr ""
34
+ msgstr "ئۇلانما سۈرەت"
35
35
 
36
36
  msgctxt "Button opening the Link URL editing balloon."
37
37
  msgid "Edit link"
38
- msgstr ""
38
+ msgstr "ئۇلانما تەھرىر"
39
39
 
40
40
  msgctxt "Button opening the link in new browser tab."
41
41
  msgid "Open link in new tab"
42
- msgstr ""
42
+ msgstr "ئۇلانمىنى يېڭى بەتكۈچتە ئاچ"
43
43
 
44
44
  msgctxt "Label explaining that a link has no URL set (the URL is empty)."
45
45
  msgid "This link has no URL"
46
- msgstr ""
46
+ msgstr "بۇ ئۇلانمىنىڭ تور ئادرېسى يوق"
47
47
 
48
48
  msgctxt "The label of the switch button that controls whether the edited link will open in a new tab."
49
49
  msgid "Open in a new tab"
50
- msgstr ""
50
+ msgstr "يېڭى بەتكۈچتە ئاچ"
51
51
 
52
52
  msgctxt "The label of the switch button that controls whether the edited link refers to downloadable resource."
53
53
  msgid "Downloadable"
54
- msgstr ""
54
+ msgstr "چۈشۈرۈشچان"
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-link",
3
- "version": "40.1.0",
3
+ "version": "41.0.0",
4
4
  "description": "Link feature for CKEditor 5.",
5
5
  "keywords": [
6
6
  "ckeditor",
@@ -10,10 +10,11 @@
10
10
  "ckeditor5-plugin",
11
11
  "ckeditor5-dll"
12
12
  ],
13
+ "type": "module",
13
14
  "main": "src/index.js",
14
15
  "dependencies": {
15
- "@ckeditor/ckeditor5-ui": "40.1.0",
16
- "ckeditor5": "40.1.0",
16
+ "@ckeditor/ckeditor5-ui": "41.0.0",
17
+ "ckeditor5": "41.0.0",
17
18
  "lodash-es": "4.17.21"
18
19
  },
19
20
  "author": "CKSource (http://cksource.com/)",
@@ -1,8 +1,8 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
- import type { LinkConfig, AutoLink, Link, LinkEditing, LinkImage, LinkImageEditing, LinkImageUI, LinkUI, LinkCommand, UnlinkCommand } from './index';
5
+ import type { LinkConfig, AutoLink, Link, LinkEditing, LinkImage, LinkImageEditing, LinkImageUI, LinkUI, LinkCommand, UnlinkCommand } from './index.js';
6
6
  declare module '@ckeditor/ckeditor5-core' {
7
7
  interface EditorConfig {
8
8
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
5
  export {};
package/src/autolink.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
5
  /**
6
6
  * @module link/autolink
7
7
  */
8
- import { Plugin } from 'ckeditor5/src/core';
9
- import { Delete } from 'ckeditor5/src/typing';
8
+ import { Plugin } from 'ckeditor5/src/core.js';
9
+ import { Delete } from 'ckeditor5/src/typing.js';
10
+ import LinkEditing from './linkediting.js';
10
11
  /**
11
12
  * The autolink plugin.
12
13
  */
@@ -14,7 +15,7 @@ export default class AutoLink extends Plugin {
14
15
  /**
15
16
  * @inheritDoc
16
17
  */
17
- static get requires(): readonly [typeof Delete];
18
+ static get requires(): readonly [typeof Delete, typeof LinkEditing];
18
19
  /**
19
20
  * @inheritDoc
20
21
  */
@@ -27,6 +28,20 @@ export default class AutoLink extends Plugin {
27
28
  * @inheritDoc
28
29
  */
29
30
  afterInit(): void;
31
+ /**
32
+ * For given position, returns a range that includes the whole link that contains the position.
33
+ *
34
+ * If position is not inside a link, returns `null`.
35
+ */
36
+ private _expandLinkRange;
37
+ /**
38
+ * Extends the document selection to includes all links that intersects with given `selectedRange`.
39
+ */
40
+ private _selectEntireLinks;
41
+ /**
42
+ * Enables autolinking on pasting a URL when some content is selected.
43
+ */
44
+ private _enablePasteLinking;
30
45
  /**
31
46
  * Enables autolinking on typing.
32
47
  */
package/src/autolink.js CHANGED
@@ -1,13 +1,14 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
5
  /**
6
6
  * @module link/autolink
7
7
  */
8
- import { Plugin } from 'ckeditor5/src/core';
9
- import { Delete, TextWatcher, getLastTextLine } from 'ckeditor5/src/typing';
10
- import { addLinkProtocolIfApplicable, linkHasProtocol } from './utils';
8
+ import { Plugin } from 'ckeditor5/src/core.js';
9
+ import { Delete, TextWatcher, getLastTextLine, findAttributeRange } from 'ckeditor5/src/typing.js';
10
+ import { addLinkProtocolIfApplicable, linkHasProtocol } from './utils.js';
11
+ import LinkEditing from './linkediting.js';
11
12
  const MIN_LINK_LENGTH_WITH_SPACE_AT_END = 4; // Ie: "t.co " (length 5).
12
13
  // This was a tweak from https://gist.github.com/dperini/729294.
13
14
  const URL_REG_EXP = new RegExp(
@@ -64,7 +65,7 @@ export default class AutoLink extends Plugin {
64
65
  * @inheritDoc
65
66
  */
66
67
  static get requires() {
67
- return [Delete];
68
+ return [Delete, LinkEditing];
68
69
  }
69
70
  /**
70
71
  * @inheritDoc
@@ -90,6 +91,73 @@ export default class AutoLink extends Plugin {
90
91
  afterInit() {
91
92
  this._enableEnterHandling();
92
93
  this._enableShiftEnterHandling();
94
+ this._enablePasteLinking();
95
+ }
96
+ /**
97
+ * For given position, returns a range that includes the whole link that contains the position.
98
+ *
99
+ * If position is not inside a link, returns `null`.
100
+ */
101
+ _expandLinkRange(model, position) {
102
+ if (position.textNode && position.textNode.hasAttribute('linkHref')) {
103
+ return findAttributeRange(position, 'linkHref', position.textNode.getAttribute('linkHref'), model);
104
+ }
105
+ else {
106
+ return null;
107
+ }
108
+ }
109
+ /**
110
+ * Extends the document selection to includes all links that intersects with given `selectedRange`.
111
+ */
112
+ _selectEntireLinks(writer, selectedRange) {
113
+ const editor = this.editor;
114
+ const model = editor.model;
115
+ const selection = model.document.selection;
116
+ const selStart = selection.getFirstPosition();
117
+ const selEnd = selection.getLastPosition();
118
+ let updatedSelection = selectedRange.getJoined(this._expandLinkRange(model, selStart) || selectedRange);
119
+ if (updatedSelection) {
120
+ updatedSelection = updatedSelection.getJoined(this._expandLinkRange(model, selEnd) || selectedRange);
121
+ }
122
+ if (updatedSelection && (updatedSelection.start.isBefore(selStart) || updatedSelection.end.isAfter(selEnd))) {
123
+ // Only update the selection if it changed.
124
+ writer.setSelection(updatedSelection);
125
+ }
126
+ }
127
+ /**
128
+ * Enables autolinking on pasting a URL when some content is selected.
129
+ */
130
+ _enablePasteLinking() {
131
+ const editor = this.editor;
132
+ const model = editor.model;
133
+ const selection = model.document.selection;
134
+ const clipboardPipeline = editor.plugins.get('ClipboardPipeline');
135
+ const linkCommand = editor.commands.get('link');
136
+ clipboardPipeline.on('inputTransformation', (evt, data) => {
137
+ if (!this.isEnabled || !linkCommand.isEnabled || selection.isCollapsed) {
138
+ // Abort if we are disabled or the selection is collapsed.
139
+ return;
140
+ }
141
+ if (selection.rangeCount > 1) {
142
+ // Abort if there are multiple selection ranges.
143
+ return;
144
+ }
145
+ const selectedRange = selection.getFirstRange();
146
+ const newLink = data.dataTransfer.getData('text/plain');
147
+ if (!newLink) {
148
+ // Abort if there is no plain text on the clipboard.
149
+ return;
150
+ }
151
+ const matches = newLink.match(URL_REG_EXP);
152
+ // If the text in the clipboard has a URL, and that URL is the whole clipboard.
153
+ if (matches && matches[2] === newLink) {
154
+ model.change(writer => {
155
+ this._selectEntireLinks(writer, selectedRange);
156
+ linkCommand.execute(newLink);
157
+ });
158
+ evt.stop();
159
+ }
160
+ }, { priority: 'high' });
93
161
  }
94
162
  /**
95
163
  * Enables autolinking on typing.
package/src/index.d.ts CHANGED
@@ -1,18 +1,18 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
5
  /**
6
6
  * @module link
7
7
  */
8
- export { default as Link } from './link';
9
- export { default as LinkEditing } from './linkediting';
10
- export { default as LinkUI } from './linkui';
11
- export { default as LinkImage } from './linkimage';
12
- export { default as LinkImageEditing } from './linkimageediting';
13
- export { default as LinkImageUI } from './linkimageui';
14
- export { default as AutoLink } from './autolink';
15
- export { LinkConfig, type LinkDecoratorDefinition } from './linkconfig';
16
- export { default as LinkCommand } from './linkcommand';
17
- export { default as UnlinkCommand } from './unlinkcommand';
18
- import './augmentation';
8
+ export { default as Link } from './link.js';
9
+ export { default as LinkEditing } from './linkediting.js';
10
+ export { default as LinkUI } from './linkui.js';
11
+ export { default as LinkImage } from './linkimage.js';
12
+ export { default as LinkImageEditing } from './linkimageediting.js';
13
+ export { default as LinkImageUI } from './linkimageui.js';
14
+ export { default as AutoLink } from './autolink.js';
15
+ export { LinkConfig, type LinkDecoratorDefinition } from './linkconfig.js';
16
+ export { default as LinkCommand } from './linkcommand.js';
17
+ export { default as UnlinkCommand } from './unlinkcommand.js';
18
+ import './augmentation.js';
package/src/index.js CHANGED
@@ -1,17 +1,17 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
5
  /**
6
6
  * @module link
7
7
  */
8
- export { default as Link } from './link';
9
- export { default as LinkEditing } from './linkediting';
10
- export { default as LinkUI } from './linkui';
11
- export { default as LinkImage } from './linkimage';
12
- export { default as LinkImageEditing } from './linkimageediting';
13
- export { default as LinkImageUI } from './linkimageui';
14
- export { default as AutoLink } from './autolink';
15
- export { default as LinkCommand } from './linkcommand';
16
- export { default as UnlinkCommand } from './unlinkcommand';
17
- import './augmentation';
8
+ export { default as Link } from './link.js';
9
+ export { default as LinkEditing } from './linkediting.js';
10
+ export { default as LinkUI } from './linkui.js';
11
+ export { default as LinkImage } from './linkimage.js';
12
+ export { default as LinkImageEditing } from './linkimageediting.js';
13
+ export { default as LinkImageUI } from './linkimageui.js';
14
+ export { default as AutoLink } from './autolink.js';
15
+ export { default as LinkCommand } from './linkcommand.js';
16
+ export { default as UnlinkCommand } from './unlinkcommand.js';
17
+ import './augmentation.js';
package/src/link.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
5
  /**
6
6
  * @module link/link
7
7
  */
8
- import { Plugin } from 'ckeditor5/src/core';
9
- import LinkEditing from './linkediting';
10
- import LinkUI from './linkui';
11
- import AutoLink from './autolink';
8
+ import { Plugin } from 'ckeditor5/src/core.js';
9
+ import LinkEditing from './linkediting.js';
10
+ import LinkUI from './linkui.js';
11
+ import AutoLink from './autolink.js';
12
12
  /**
13
13
  * The link plugin.
14
14
  *