@ckeditor/ckeditor5-clipboard 44.1.0 → 44.2.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/index-content.css +2 -2
  3. package/dist/index-editor.css +2 -2
  4. package/dist/index.css +3 -3
  5. package/dist/index.css.map +1 -1
  6. package/dist/index.js +36 -9
  7. package/dist/index.js.map +1 -1
  8. package/dist/translations/af.d.ts +2 -2
  9. package/dist/translations/af.js +2 -2
  10. package/dist/translations/af.umd.js +2 -2
  11. package/dist/translations/ar.d.ts +2 -2
  12. package/dist/translations/ar.js +2 -2
  13. package/dist/translations/ar.umd.js +2 -2
  14. package/dist/translations/ast.d.ts +2 -2
  15. package/dist/translations/ast.js +2 -2
  16. package/dist/translations/ast.umd.js +2 -2
  17. package/dist/translations/az.d.ts +2 -2
  18. package/dist/translations/az.js +2 -2
  19. package/dist/translations/az.umd.js +2 -2
  20. package/dist/translations/bg.d.ts +2 -2
  21. package/dist/translations/bg.js +2 -2
  22. package/dist/translations/bg.umd.js +2 -2
  23. package/dist/translations/bn.d.ts +2 -2
  24. package/dist/translations/bn.js +2 -2
  25. package/dist/translations/bn.umd.js +2 -2
  26. package/dist/translations/bs.d.ts +2 -2
  27. package/dist/translations/bs.js +2 -2
  28. package/dist/translations/bs.umd.js +2 -2
  29. package/dist/translations/ca.d.ts +2 -2
  30. package/dist/translations/ca.js +2 -2
  31. package/dist/translations/ca.umd.js +2 -2
  32. package/dist/translations/cs.d.ts +2 -2
  33. package/dist/translations/cs.js +2 -2
  34. package/dist/translations/cs.umd.js +2 -2
  35. package/dist/translations/da.d.ts +2 -2
  36. package/dist/translations/da.js +2 -2
  37. package/dist/translations/da.umd.js +2 -2
  38. package/dist/translations/de-ch.d.ts +2 -2
  39. package/dist/translations/de-ch.js +2 -2
  40. package/dist/translations/de-ch.umd.js +2 -2
  41. package/dist/translations/de.d.ts +2 -2
  42. package/dist/translations/de.js +2 -2
  43. package/dist/translations/de.umd.js +2 -2
  44. package/dist/translations/el.d.ts +2 -2
  45. package/dist/translations/el.js +2 -2
  46. package/dist/translations/el.umd.js +2 -2
  47. package/dist/translations/en-au.d.ts +2 -2
  48. package/dist/translations/en-au.js +2 -2
  49. package/dist/translations/en-au.umd.js +2 -2
  50. package/dist/translations/en-gb.d.ts +2 -2
  51. package/dist/translations/en-gb.js +2 -2
  52. package/dist/translations/en-gb.umd.js +2 -2
  53. package/dist/translations/en.d.ts +2 -2
  54. package/dist/translations/en.js +2 -2
  55. package/dist/translations/en.umd.js +2 -2
  56. package/dist/translations/eo.d.ts +2 -2
  57. package/dist/translations/eo.js +2 -2
  58. package/dist/translations/eo.umd.js +2 -2
  59. package/dist/translations/es-co.d.ts +2 -2
  60. package/dist/translations/es-co.js +2 -2
  61. package/dist/translations/es-co.umd.js +2 -2
  62. package/dist/translations/es.d.ts +2 -2
  63. package/dist/translations/es.js +2 -2
  64. package/dist/translations/es.umd.js +2 -2
  65. package/dist/translations/et.d.ts +2 -2
  66. package/dist/translations/et.js +2 -2
  67. package/dist/translations/et.umd.js +2 -2
  68. package/dist/translations/eu.d.ts +2 -2
  69. package/dist/translations/eu.js +2 -2
  70. package/dist/translations/eu.umd.js +2 -2
  71. package/dist/translations/fa.d.ts +2 -2
  72. package/dist/translations/fa.js +2 -2
  73. package/dist/translations/fa.umd.js +2 -2
  74. package/dist/translations/fi.d.ts +2 -2
  75. package/dist/translations/fi.js +2 -2
  76. package/dist/translations/fi.umd.js +2 -2
  77. package/dist/translations/fr.d.ts +2 -2
  78. package/dist/translations/fr.js +2 -2
  79. package/dist/translations/fr.umd.js +2 -2
  80. package/dist/translations/gl.d.ts +2 -2
  81. package/dist/translations/gl.js +2 -2
  82. package/dist/translations/gl.umd.js +2 -2
  83. package/dist/translations/gu.d.ts +2 -2
  84. package/dist/translations/gu.js +2 -2
  85. package/dist/translations/gu.umd.js +2 -2
  86. package/dist/translations/he.d.ts +2 -2
  87. package/dist/translations/he.js +2 -2
  88. package/dist/translations/he.umd.js +2 -2
  89. package/dist/translations/hi.d.ts +2 -2
  90. package/dist/translations/hi.js +2 -2
  91. package/dist/translations/hi.umd.js +2 -2
  92. package/dist/translations/hr.d.ts +2 -2
  93. package/dist/translations/hr.js +2 -2
  94. package/dist/translations/hr.umd.js +2 -2
  95. package/dist/translations/hu.d.ts +2 -2
  96. package/dist/translations/hu.js +2 -2
  97. package/dist/translations/hu.umd.js +2 -2
  98. package/dist/translations/hy.d.ts +2 -2
  99. package/dist/translations/hy.js +2 -2
  100. package/dist/translations/hy.umd.js +2 -2
  101. package/dist/translations/id.d.ts +2 -2
  102. package/dist/translations/id.js +2 -2
  103. package/dist/translations/id.umd.js +2 -2
  104. package/dist/translations/it.d.ts +2 -2
  105. package/dist/translations/it.js +2 -2
  106. package/dist/translations/it.umd.js +2 -2
  107. package/dist/translations/ja.d.ts +2 -2
  108. package/dist/translations/ja.js +2 -2
  109. package/dist/translations/ja.umd.js +2 -2
  110. package/dist/translations/jv.d.ts +2 -2
  111. package/dist/translations/jv.js +2 -2
  112. package/dist/translations/jv.umd.js +2 -2
  113. package/dist/translations/kk.d.ts +2 -2
  114. package/dist/translations/kk.js +2 -2
  115. package/dist/translations/kk.umd.js +2 -2
  116. package/dist/translations/km.d.ts +2 -2
  117. package/dist/translations/km.js +2 -2
  118. package/dist/translations/km.umd.js +2 -2
  119. package/dist/translations/kn.d.ts +2 -2
  120. package/dist/translations/kn.js +2 -2
  121. package/dist/translations/kn.umd.js +2 -2
  122. package/dist/translations/ko.d.ts +2 -2
  123. package/dist/translations/ko.js +2 -2
  124. package/dist/translations/ko.umd.js +2 -2
  125. package/dist/translations/ku.d.ts +2 -2
  126. package/dist/translations/ku.js +2 -2
  127. package/dist/translations/ku.umd.js +2 -2
  128. package/dist/translations/lt.d.ts +2 -2
  129. package/dist/translations/lt.js +2 -2
  130. package/dist/translations/lt.umd.js +2 -2
  131. package/dist/translations/lv.d.ts +2 -2
  132. package/dist/translations/lv.js +2 -2
  133. package/dist/translations/lv.umd.js +2 -2
  134. package/dist/translations/ms.d.ts +2 -2
  135. package/dist/translations/ms.js +2 -2
  136. package/dist/translations/ms.umd.js +2 -2
  137. package/dist/translations/nb.d.ts +2 -2
  138. package/dist/translations/nb.js +2 -2
  139. package/dist/translations/nb.umd.js +2 -2
  140. package/dist/translations/ne.d.ts +2 -2
  141. package/dist/translations/ne.js +2 -2
  142. package/dist/translations/ne.umd.js +2 -2
  143. package/dist/translations/nl.d.ts +2 -2
  144. package/dist/translations/nl.js +2 -2
  145. package/dist/translations/nl.umd.js +2 -2
  146. package/dist/translations/no.d.ts +2 -2
  147. package/dist/translations/no.js +2 -2
  148. package/dist/translations/no.umd.js +2 -2
  149. package/dist/translations/oc.d.ts +2 -2
  150. package/dist/translations/oc.js +2 -2
  151. package/dist/translations/oc.umd.js +2 -2
  152. package/dist/translations/pl.d.ts +2 -2
  153. package/dist/translations/pl.js +2 -2
  154. package/dist/translations/pl.umd.js +2 -2
  155. package/dist/translations/pt-br.d.ts +2 -2
  156. package/dist/translations/pt-br.js +2 -2
  157. package/dist/translations/pt-br.umd.js +2 -2
  158. package/dist/translations/pt.d.ts +2 -2
  159. package/dist/translations/pt.js +2 -2
  160. package/dist/translations/pt.umd.js +2 -2
  161. package/dist/translations/ro.d.ts +2 -2
  162. package/dist/translations/ro.js +2 -2
  163. package/dist/translations/ro.umd.js +2 -2
  164. package/dist/translations/ru.d.ts +2 -2
  165. package/dist/translations/ru.js +2 -2
  166. package/dist/translations/ru.umd.js +2 -2
  167. package/dist/translations/si.d.ts +2 -2
  168. package/dist/translations/si.js +2 -2
  169. package/dist/translations/si.umd.js +2 -2
  170. package/dist/translations/sk.d.ts +2 -2
  171. package/dist/translations/sk.js +2 -2
  172. package/dist/translations/sk.umd.js +2 -2
  173. package/dist/translations/sl.d.ts +2 -2
  174. package/dist/translations/sl.js +2 -2
  175. package/dist/translations/sl.umd.js +2 -2
  176. package/dist/translations/sq.d.ts +2 -2
  177. package/dist/translations/sq.js +2 -2
  178. package/dist/translations/sq.umd.js +2 -2
  179. package/dist/translations/sr-latn.d.ts +2 -2
  180. package/dist/translations/sr-latn.js +2 -2
  181. package/dist/translations/sr-latn.umd.js +2 -2
  182. package/dist/translations/sr.d.ts +2 -2
  183. package/dist/translations/sr.js +2 -2
  184. package/dist/translations/sr.umd.js +2 -2
  185. package/dist/translations/sv.d.ts +2 -2
  186. package/dist/translations/sv.js +2 -2
  187. package/dist/translations/sv.umd.js +2 -2
  188. package/dist/translations/th.d.ts +2 -2
  189. package/dist/translations/th.js +2 -2
  190. package/dist/translations/th.umd.js +2 -2
  191. package/dist/translations/ti.d.ts +2 -2
  192. package/dist/translations/ti.js +2 -2
  193. package/dist/translations/ti.umd.js +2 -2
  194. package/dist/translations/tk.d.ts +2 -2
  195. package/dist/translations/tk.js +2 -2
  196. package/dist/translations/tk.umd.js +2 -2
  197. package/dist/translations/tr.d.ts +2 -2
  198. package/dist/translations/tr.js +2 -2
  199. package/dist/translations/tr.umd.js +2 -2
  200. package/dist/translations/tt.d.ts +2 -2
  201. package/dist/translations/tt.js +2 -2
  202. package/dist/translations/tt.umd.js +2 -2
  203. package/dist/translations/ug.d.ts +2 -2
  204. package/dist/translations/ug.js +2 -2
  205. package/dist/translations/ug.umd.js +2 -2
  206. package/dist/translations/uk.d.ts +2 -2
  207. package/dist/translations/uk.js +2 -2
  208. package/dist/translations/uk.umd.js +2 -2
  209. package/dist/translations/ur.d.ts +2 -2
  210. package/dist/translations/ur.js +2 -2
  211. package/dist/translations/ur.umd.js +2 -2
  212. package/dist/translations/uz.d.ts +2 -2
  213. package/dist/translations/uz.js +2 -2
  214. package/dist/translations/uz.umd.js +2 -2
  215. package/dist/translations/vi.d.ts +2 -2
  216. package/dist/translations/vi.js +2 -2
  217. package/dist/translations/vi.umd.js +2 -2
  218. package/dist/translations/zh-cn.d.ts +2 -2
  219. package/dist/translations/zh-cn.js +2 -2
  220. package/dist/translations/zh-cn.umd.js +2 -2
  221. package/dist/translations/zh.d.ts +2 -2
  222. package/dist/translations/zh.js +2 -2
  223. package/dist/translations/zh.umd.js +2 -2
  224. package/lang/translations/af.po +1 -1
  225. package/lang/translations/ar.po +1 -1
  226. package/lang/translations/ast.po +1 -1
  227. package/lang/translations/az.po +1 -1
  228. package/lang/translations/bg.po +1 -1
  229. package/lang/translations/bn.po +1 -1
  230. package/lang/translations/bs.po +1 -1
  231. package/lang/translations/ca.po +1 -1
  232. package/lang/translations/cs.po +1 -1
  233. package/lang/translations/da.po +1 -1
  234. package/lang/translations/de-ch.po +1 -1
  235. package/lang/translations/de.po +1 -1
  236. package/lang/translations/el.po +1 -1
  237. package/lang/translations/en-au.po +1 -1
  238. package/lang/translations/en-gb.po +1 -1
  239. package/lang/translations/en.po +1 -1
  240. package/lang/translations/eo.po +1 -1
  241. package/lang/translations/es-co.po +1 -1
  242. package/lang/translations/es.po +1 -1
  243. package/lang/translations/et.po +1 -1
  244. package/lang/translations/eu.po +1 -1
  245. package/lang/translations/fa.po +1 -1
  246. package/lang/translations/fi.po +1 -1
  247. package/lang/translations/fr.po +1 -1
  248. package/lang/translations/gl.po +1 -1
  249. package/lang/translations/gu.po +1 -1
  250. package/lang/translations/he.po +1 -1
  251. package/lang/translations/hi.po +1 -1
  252. package/lang/translations/hr.po +1 -1
  253. package/lang/translations/hu.po +1 -1
  254. package/lang/translations/hy.po +1 -1
  255. package/lang/translations/id.po +1 -1
  256. package/lang/translations/it.po +1 -1
  257. package/lang/translations/ja.po +1 -1
  258. package/lang/translations/jv.po +1 -1
  259. package/lang/translations/kk.po +1 -1
  260. package/lang/translations/km.po +1 -1
  261. package/lang/translations/kn.po +1 -1
  262. package/lang/translations/ko.po +1 -1
  263. package/lang/translations/ku.po +1 -1
  264. package/lang/translations/lt.po +1 -1
  265. package/lang/translations/lv.po +1 -1
  266. package/lang/translations/ms.po +1 -1
  267. package/lang/translations/nb.po +1 -1
  268. package/lang/translations/ne.po +1 -1
  269. package/lang/translations/nl.po +1 -1
  270. package/lang/translations/no.po +1 -1
  271. package/lang/translations/oc.po +1 -1
  272. package/lang/translations/pl.po +1 -1
  273. package/lang/translations/pt-br.po +1 -1
  274. package/lang/translations/pt.po +1 -1
  275. package/lang/translations/ro.po +1 -1
  276. package/lang/translations/ru.po +1 -1
  277. package/lang/translations/si.po +1 -1
  278. package/lang/translations/sk.po +1 -1
  279. package/lang/translations/sl.po +1 -1
  280. package/lang/translations/sq.po +1 -1
  281. package/lang/translations/sr-latn.po +1 -1
  282. package/lang/translations/sr.po +1 -1
  283. package/lang/translations/sv.po +1 -1
  284. package/lang/translations/th.po +1 -1
  285. package/lang/translations/ti.po +1 -1
  286. package/lang/translations/tk.po +1 -1
  287. package/lang/translations/tr.po +1 -1
  288. package/lang/translations/tt.po +1 -1
  289. package/lang/translations/ug.po +1 -1
  290. package/lang/translations/uk.po +1 -1
  291. package/lang/translations/ur.po +1 -1
  292. package/lang/translations/uz.po +1 -1
  293. package/lang/translations/vi.po +1 -1
  294. package/lang/translations/zh-cn.po +1 -1
  295. package/lang/translations/zh.po +1 -1
  296. package/package.json +28 -7
  297. package/src/augmentation.d.ts +1 -1
  298. package/src/augmentation.js +1 -1
  299. package/src/clipboard.d.ts +1 -1
  300. package/src/clipboard.js +1 -1
  301. package/src/clipboardmarkersutils.d.ts +1 -1
  302. package/src/clipboardmarkersutils.js +1 -1
  303. package/src/clipboardobserver.d.ts +1 -1
  304. package/src/clipboardobserver.js +1 -1
  305. package/src/clipboardpipeline.d.ts +9 -1
  306. package/src/clipboardpipeline.js +7 -3
  307. package/src/dragdrop.d.ts +1 -1
  308. package/src/dragdrop.js +1 -1
  309. package/src/dragdropblocktoolbar.d.ts +1 -1
  310. package/src/dragdropblocktoolbar.js +1 -1
  311. package/src/dragdroptarget.d.ts +1 -1
  312. package/src/dragdroptarget.js +1 -1
  313. package/src/index.d.ts +2 -2
  314. package/src/index.js +1 -1
  315. package/src/lineview.d.ts +1 -1
  316. package/src/lineview.js +1 -1
  317. package/src/pasteplaintext.d.ts +1 -1
  318. package/src/pasteplaintext.js +1 -1
  319. package/src/utils/normalizeclipboarddata.d.ts +1 -1
  320. package/src/utils/normalizeclipboarddata.js +1 -1
  321. package/src/utils/plaintexttohtml.d.ts +1 -1
  322. package/src/utils/plaintexttohtml.js +1 -1
  323. package/src/utils/viewtoplaintext.d.ts +4 -3
  324. package/src/utils/viewtoplaintext.js +26 -3
  325. package/theme/clipboard.css +1 -1
  326. package/dist/augmentation.d.ts +0 -20
  327. package/dist/clipboard.d.ts +0 -44
  328. package/dist/clipboardmarkersutils.d.ts +0 -208
  329. package/dist/clipboardobserver.d.ts +0 -316
  330. package/dist/clipboardpipeline.d.ts +0 -273
  331. package/dist/dragdrop.d.ts +0 -110
  332. package/dist/dragdropblocktoolbar.d.ts +0 -55
  333. package/dist/dragdroptarget.d.ts +0 -102
  334. package/dist/index.d.ts +0 -22
  335. package/dist/lineview.d.ts +0 -49
  336. package/dist/pasteplaintext.d.ts +0 -36
  337. package/dist/utils/normalizeclipboarddata.d.ts +0 -19
  338. package/dist/utils/plaintexttohtml.d.ts +0 -18
  339. package/dist/utils/viewtoplaintext.d.ts +0 -19
@@ -1,316 +0,0 @@
1
- /**
2
- * @license Copyright (c) 2003-2024, 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
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
8
- */
9
- import { DataTransfer, DomEventObserver, type DomEventData, type EditingView, type ViewDocumentFragment, type ViewElement, type ViewRange } from '@ckeditor/ckeditor5-engine';
10
- /**
11
- * Clipboard events observer.
12
- *
13
- * Fires the following events:
14
- *
15
- * * {@link module:engine/view/document~Document#event:clipboardInput},
16
- * * {@link module:engine/view/document~Document#event:paste},
17
- * * {@link module:engine/view/document~Document#event:copy},
18
- * * {@link module:engine/view/document~Document#event:cut},
19
- * * {@link module:engine/view/document~Document#event:drop},
20
- * * {@link module:engine/view/document~Document#event:dragover},
21
- * * {@link module:engine/view/document~Document#event:dragging},
22
- * * {@link module:engine/view/document~Document#event:dragstart},
23
- * * {@link module:engine/view/document~Document#event:dragend},
24
- * * {@link module:engine/view/document~Document#event:dragenter},
25
- * * {@link module:engine/view/document~Document#event:dragleave}.
26
- *
27
- * **Note**: This observer is not available by default (ckeditor5-engine does not add it on its own).
28
- * To make it available, it needs to be added to {@link module:engine/view/document~Document} by using
29
- * the {@link module:engine/view/view~View#addObserver `View#addObserver()`} method. Alternatively, you can load the
30
- * {@link module:clipboard/clipboard~Clipboard} plugin which adds this observer automatically (because it uses it).
31
- */
32
- export default class ClipboardObserver extends DomEventObserver<'paste' | 'copy' | 'cut' | 'drop' | 'dragover' | 'dragstart' | 'dragend' | 'dragenter' | 'dragleave', ClipboardEventData> {
33
- readonly domEventType: readonly ["paste", "copy", "cut", "drop", "dragover", "dragstart", "dragend", "dragenter", "dragleave"];
34
- constructor(view: EditingView);
35
- onDomEvent(domEvent: ClipboardEvent | DragEvent): void;
36
- }
37
- /**
38
- * The data of 'paste', 'copy', 'cut', 'drop', 'dragover', 'dragstart', 'dragend', 'dragenter' and 'dragleave' events.
39
- */
40
- export interface ClipboardEventData {
41
- /**
42
- * The data transfer instance.
43
- */
44
- dataTransfer: DataTransfer;
45
- /**
46
- * The position into which the content is dropped.
47
- */
48
- dropRange?: ViewRange | null;
49
- }
50
- /**
51
- * Fired as a continuation of the {@link module:engine/view/document~Document#event:paste} and
52
- * {@link module:engine/view/document~Document#event:drop} events.
53
- *
54
- * It is a part of the {@glink framework/deep-dive/clipboard#input-pipeline clipboard input pipeline}.
55
- *
56
- * This event carries a `dataTransfer` object which comes from the clipboard and whose content should be processed
57
- * and inserted into the editor.
58
- *
59
- * **Note**: This event is not available by default. To make it available, {@link module:clipboard/clipboardobserver~ClipboardObserver}
60
- * needs to be added to the {@link module:engine/view/document~Document} by using the {@link module:engine/view/view~View#addObserver}
61
- * method. This is usually done by the {@link module:clipboard/clipboard~Clipboard} plugin, but if for some reason it is not loaded,
62
- * the observer must be added manually.
63
- *
64
- * @see module:clipboard/clipboardobserver~ClipboardObserver
65
- * @see module:clipboard/clipboard~Clipboard
66
- *
67
- * @eventName module:engine/view/document~Document#clipboardInput
68
- * @param data The event data.
69
- */
70
- export type ViewDocumentClipboardInputEvent = {
71
- name: 'clipboardInput';
72
- args: [data: DomEventData<ClipboardEvent | DragEvent> & ClipboardInputEventData];
73
- };
74
- /**
75
- * The value of the {@link module:engine/view/document~Document#event:paste},
76
- * {@link module:engine/view/document~Document#event:copy} and {@link module:engine/view/document~Document#event:cut} events.
77
- *
78
- * In order to access the clipboard data, use the `dataTransfer` property.
79
- */
80
- export interface ClipboardInputEventData {
81
- /**
82
- * Data transfer instance.
83
- */
84
- dataTransfer: DataTransfer;
85
- /**
86
- * Whether the event was triggered by a paste or a drop operation.
87
- */
88
- method: 'paste' | 'drop';
89
- /**
90
- * The tree view element representing the target.
91
- */
92
- target: ViewElement;
93
- /**
94
- * The ranges which are the target of the operation (usually – into which the content should be inserted).
95
- * If the clipboard input was triggered by a paste operation, this property is not set. If by a drop operation,
96
- * then it is the drop position (which can be different than the selection at the moment of the drop).
97
- */
98
- targetRanges: Array<ViewRange> | null;
99
- /**
100
- * The content of clipboard input.
101
- */
102
- content?: ViewDocumentFragment;
103
- }
104
- /**
105
- * Fired when the user drags the content over one of the editing roots of the editor.
106
- *
107
- * Introduced by {@link module:clipboard/clipboardobserver~ClipboardObserver}.
108
- *
109
- * **Note**: This event is not available by default. To make it available, {@link module:clipboard/clipboardobserver~ClipboardObserver}
110
- * needs to be added to the {@link module:engine/view/document~Document} by using the {@link module:engine/view/view~View#addObserver}
111
- * method. This is usually done by the {@link module:clipboard/clipboard~Clipboard} plugin, but if for some reason it is not loaded,
112
- * the observer must be added manually.
113
- *
114
- * @see module:engine/view/document~Document#event:clipboardInput
115
- *
116
- * @eventName module:engine/view/document~Document#dragover
117
- * @param data The event data.
118
- */
119
- export type ViewDocumentDragOverEvent = {
120
- name: 'dragover';
121
- args: [data: DomEventData<DragEvent> & ClipboardEventData];
122
- };
123
- /**
124
- * Fired when the user dropped the content into one of the editing roots of the editor.
125
- *
126
- * Introduced by {@link module:clipboard/clipboardobserver~ClipboardObserver}.
127
- *
128
- * **Note**: This event is not available by default. To make it available, {@link module:clipboard/clipboardobserver~ClipboardObserver}
129
- * needs to be added to the {@link module:engine/view/document~Document} by using the {@link module:engine/view/view~View#addObserver}
130
- * method. This is usually done by the {@link module:clipboard/clipboard~Clipboard} plugin, but if for some reason it is not loaded,
131
- * the observer must be added manually.
132
- *
133
- * @see module:engine/view/document~Document#event:clipboardInput
134
- *
135
- * @eventName module:engine/view/document~Document#drop
136
- * @param data The event data.
137
- */
138
- export type ViewDocumentDropEvent = {
139
- name: 'drop';
140
- args: [data: DomEventData<DragEvent> & ClipboardEventData];
141
- };
142
- /**
143
- * Fired when the user pasted the content into one of the editing roots of the editor.
144
- *
145
- * Introduced by {@link module:clipboard/clipboardobserver~ClipboardObserver}.
146
- *
147
- * **Note**: This event is not available by default. To make it available, {@link module:clipboard/clipboardobserver~ClipboardObserver}
148
- * needs to be added to the {@link module:engine/view/document~Document} by using the {@link module:engine/view/view~View#addObserver}
149
- * method. This is usually done by the {@link module:clipboard/clipboard~Clipboard} plugin, but if for some reason it is not loaded,
150
- * the observer must be added manually.
151
- *
152
- * @see module:engine/view/document~Document#event:clipboardInput
153
- *
154
- * @eventName module:engine/view/document~Document#paste
155
- * @param {module:clipboard/clipboardobserver~ClipboardEventData} data The event data.
156
- */
157
- export type ViewDocumentPasteEvent = {
158
- name: 'paste';
159
- args: [data: DomEventData<ClipboardEvent> & ClipboardEventData];
160
- };
161
- /**
162
- * Fired when the user copied the content from one of the editing roots of the editor.
163
- *
164
- * Introduced by {@link module:clipboard/clipboardobserver~ClipboardObserver}.
165
- *
166
- * **Note**: This event is not available by default. To make it available, {@link module:clipboard/clipboardobserver~ClipboardObserver}
167
- * needs to be added to the {@link module:engine/view/document~Document} by using the {@link module:engine/view/view~View#addObserver}
168
- * method. This is usually done by the {@link module:clipboard/clipboard~Clipboard} plugin, but if for some reason it is not loaded,
169
- * the observer must be added manually.
170
- *
171
- * @see module:clipboard/clipboardobserver~ClipboardObserver
172
- *
173
- * @eventName module:engine/view/document~Document#copy
174
- * @param data The event data.
175
- */
176
- export type ViewDocumentCopyEvent = {
177
- name: 'copy';
178
- args: [data: DomEventData<ClipboardEvent> & ClipboardEventData];
179
- };
180
- /**
181
- * Fired when the user cut the content from one of the editing roots of the editor.
182
- *
183
- * Introduced by {@link module:clipboard/clipboardobserver~ClipboardObserver}.
184
- *
185
- * **Note**: This event is not available by default. To make it available, {@link module:clipboard/clipboardobserver~ClipboardObserver}
186
- * needs to be added to the {@link module:engine/view/document~Document} by using the {@link module:engine/view/view~View#addObserver}
187
- * method. This is usually done by the {@link module:clipboard/clipboard~Clipboard} plugin, but if for some reason it is not loaded,
188
- * the observer must be added manually.
189
- *
190
- * @see module:clipboard/clipboardobserver~ClipboardObserver
191
- *
192
- * @eventName module:engine/view/document~Document#cut
193
- * @param data The event data.
194
- */
195
- export type ViewDocumentCutEvent = {
196
- name: 'cut';
197
- args: [data: DomEventData<ClipboardEvent> & ClipboardEventData];
198
- };
199
- /**
200
- * Fired as a continuation of the {@link module:engine/view/document~Document#event:dragover} event.
201
- *
202
- * It is a part of the {@glink framework/deep-dive/clipboard#input-pipeline clipboard input pipeline}.
203
- *
204
- * This event carries a `dataTransfer` object which comes from the clipboard and whose content should be processed
205
- * and inserted into the editor.
206
- *
207
- * **Note**: This event is not available by default. To make it available, {@link module:clipboard/clipboardobserver~ClipboardObserver}
208
- * needs to be added to the {@link module:engine/view/document~Document} by using the {@link module:engine/view/view~View#addObserver}
209
- * method. This is usually done by the {@link module:clipboard/clipboard~Clipboard} plugin, but if for some reason it is not loaded,
210
- * the observer must be added manually.
211
- *
212
- * @see module:clipboard/clipboardobserver~ClipboardObserver
213
- * @see module:clipboard/clipboard~Clipboard
214
- *
215
- * @eventName module:engine/view/document~Document#dragging
216
- * @param data The event data.
217
- */
218
- export type ViewDocumentDraggingEvent = {
219
- name: 'dragging';
220
- args: [data: DomEventData<DragEvent> & DraggingEventData];
221
- };
222
- export interface DraggingEventData {
223
- /**
224
- * The data transfer instance.
225
- */
226
- dataTransfer: DataTransfer;
227
- /**
228
- * Whether the event was triggered by a paste or a drop operation.
229
- */
230
- method: 'dragover';
231
- /**
232
- * The tree view element representing the target.
233
- */
234
- target: Element;
235
- /**
236
- * Ranges which are the target of the operation (usually – into which the content should be inserted).
237
- * It is the drop position (which can be different than the selection at the moment of drop).
238
- */
239
- targetRanges: Array<ViewRange> | null;
240
- }
241
- /**
242
- * Fired when the user starts dragging the content in one of the editing roots of the editor.
243
- *
244
- * Introduced by {@link module:clipboard/clipboardobserver~ClipboardObserver}.
245
- *
246
- * **Note**: This event is not available by default. To make it available, {@link module:clipboard/clipboardobserver~ClipboardObserver}
247
- * needs to be added to the {@link module:engine/view/document~Document} by using the {@link module:engine/view/view~View#addObserver}
248
- * method. This is usually done by the {@link module:clipboard/clipboard~Clipboard} plugin, but if for some reason it is not loaded,
249
- * the observer must be added manually.
250
- *
251
- * @see module:engine/view/document~Document#event:clipboardInput
252
- *
253
- * @eventName module:engine/view/document~Document#dragstart
254
- * @param data The event data.
255
- */
256
- export type ViewDocumentDragStartEvent = {
257
- name: 'dragstart';
258
- args: [data: DomEventData<DragEvent> & ClipboardEventData];
259
- };
260
- /**
261
- * Fired when the user ended dragging the content.
262
- *
263
- * Introduced by {@link module:clipboard/clipboardobserver~ClipboardObserver}.
264
- *
265
- * **Note**: This event is not available by default. To make it available, {@link module:clipboard/clipboardobserver~ClipboardObserver}
266
- * needs to be added to the {@link module:engine/view/document~Document} by using the {@link module:engine/view/view~View#addObserver}
267
- * method. This is usually done by the {@link module:clipboard/clipboard~Clipboard} plugin, but if for some reason it is not loaded,
268
- * the observer must be added manually.
269
- *
270
- * @see module:engine/view/document~Document#event:clipboardInput
271
- *
272
- * @eventName module:engine/view/document~Document#dragend
273
- * @param data The event data.
274
- */
275
- export type ViewDocumentDragEndEvent = {
276
- name: 'dragend';
277
- args: [data: DomEventData<DragEvent> & ClipboardEventData];
278
- };
279
- /**
280
- * Fired when the user drags the content into one of the editing roots of the editor.
281
- *
282
- * Introduced by {@link module:clipboard/clipboardobserver~ClipboardObserver}.
283
- *
284
- * **Note**: This event is not available by default. To make it available, {@link module:clipboard/clipboardobserver~ClipboardObserver}
285
- * needs to be added to the {@link module:engine/view/document~Document} by using the {@link module:engine/view/view~View#addObserver}
286
- * method. This is usually done by the {@link module:clipboard/clipboard~Clipboard} plugin, but if for some reason it is not loaded,
287
- * the observer must be added manually.
288
- *
289
- * @see module:engine/view/document~Document#event:clipboardInput
290
- *
291
- * @eventName module:engine/view/document~Document#dragenter
292
- * @param data The event data.
293
- */
294
- export type ViewDocumentDragEnterEvent = {
295
- name: 'dragenter';
296
- args: [data: DomEventData<DragEvent> & ClipboardEventData];
297
- };
298
- /**
299
- * Fired when the user drags the content out of one of the editing roots of the editor.
300
- *
301
- * Introduced by {@link module:clipboard/clipboardobserver~ClipboardObserver}.
302
- *
303
- * **Note**: This event is not available by default. To make it available, {@link module:clipboard/clipboardobserver~ClipboardObserver}
304
- * needs to be added to the {@link module:engine/view/document~Document} by using the {@link module:engine/view/view~View#addObserver}
305
- * method. This is usually done by the {@link module:clipboard/clipboard~Clipboard} plugin, but if for some reason it is not loaded,
306
- * the observer must be added manually.
307
- *
308
- * @see module:engine/view/document~Document#event:clipboardInput
309
- *
310
- * @eventName module:engine/view/document~Document#dragleave
311
- * @param data The event data.
312
- */
313
- export type ViewDocumentDragLeaveEvent = {
314
- name: 'dragleave';
315
- args: [data: DomEventData<DragEvent> & ClipboardEventData];
316
- };
@@ -1,273 +0,0 @@
1
- /**
2
- * @license Copyright (c) 2003-2024, 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
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
8
- */
9
- /**
10
- * @module clipboard/clipboardpipeline
11
- */
12
- import { Plugin } from '@ckeditor/ckeditor5-core';
13
- import type { DataTransfer, DocumentFragment, Range, ViewDocumentFragment, ViewRange, Selection, DocumentSelection } from '@ckeditor/ckeditor5-engine';
14
- import ClipboardMarkersUtils from './clipboardmarkersutils.js';
15
- /**
16
- * The clipboard pipeline feature. It is responsible for intercepting the `paste` and `drop` events and
17
- * passing the pasted content through a series of events in order to insert it into the editor's content.
18
- * It also handles the `cut` and `copy` events to fill the native clipboard with the serialized editor's data.
19
- *
20
- * # Input pipeline
21
- *
22
- * The behavior of the default handlers (all at a `low` priority):
23
- *
24
- * ## Event: `paste` or `drop`
25
- *
26
- * 1. Translates the event data.
27
- * 2. Fires the {@link module:engine/view/document~Document#event:clipboardInput `view.Document#clipboardInput`} event.
28
- *
29
- * ## Event: `view.Document#clipboardInput`
30
- *
31
- * 1. If the `data.content` event field is already set (by some listener on a higher priority), it takes this content and fires the event
32
- * from the last point.
33
- * 2. Otherwise, it retrieves `text/html` or `text/plain` from `data.dataTransfer`.
34
- * 3. Normalizes the raw data by applying simple filters on string data.
35
- * 4. Processes the raw data to {@link module:engine/view/documentfragment~DocumentFragment `view.DocumentFragment`} with the
36
- * {@link module:engine/controller/datacontroller~DataController#htmlProcessor `DataController#htmlProcessor`}.
37
- * 5. Fires the {@link module:clipboard/clipboardpipeline~ClipboardPipeline#event:inputTransformation
38
- * `ClipboardPipeline#inputTransformation`} event with the view document fragment in the `data.content` event field.
39
- *
40
- * ## Event: `ClipboardPipeline#inputTransformation`
41
- *
42
- * 1. Converts {@link module:engine/view/documentfragment~DocumentFragment `view.DocumentFragment`} from the `data.content` field to
43
- * {@link module:engine/model/documentfragment~DocumentFragment `model.DocumentFragment`}.
44
- * 2. Fires the {@link module:clipboard/clipboardpipeline~ClipboardPipeline#event:contentInsertion `ClipboardPipeline#contentInsertion`}
45
- * event with the model document fragment in the `data.content` event field.
46
- * **Note**: The `ClipboardPipeline#contentInsertion` event is fired within a model change block to allow other handlers
47
- * to run in the same block without post-fixers called in between (i.e., the selection post-fixer).
48
- *
49
- * ## Event: `ClipboardPipeline#contentInsertion`
50
- *
51
- * 1. Calls {@link module:engine/model/model~Model#insertContent `model.insertContent()`} to insert `data.content`
52
- * at the current selection position.
53
- *
54
- * # Output pipeline
55
- *
56
- * The behavior of the default handlers (all at a `low` priority):
57
- *
58
- * ## Event: `copy`, `cut` or `dragstart`
59
- *
60
- * 1. Retrieves the selected {@link module:engine/model/documentfragment~DocumentFragment `model.DocumentFragment`} by calling
61
- * {@link module:engine/model/model~Model#getSelectedContent `model#getSelectedContent()`}.
62
- * 2. Converts the model document fragment to {@link module:engine/view/documentfragment~DocumentFragment `view.DocumentFragment`}.
63
- * 3. Fires the {@link module:engine/view/document~Document#event:clipboardOutput `view.Document#clipboardOutput`} event
64
- * with the view document fragment in the `data.content` event field.
65
- *
66
- * ## Event: `view.Document#clipboardOutput`
67
- *
68
- * 1. Processes `data.content` to HTML and plain text with the
69
- * {@link module:engine/controller/datacontroller~DataController#htmlProcessor `DataController#htmlProcessor`}.
70
- * 2. Updates the `data.dataTransfer` data for `text/html` and `text/plain` with the processed data.
71
- * 3. For the `cut` method, calls {@link module:engine/model/model~Model#deleteContent `model.deleteContent()`}
72
- * on the current selection.
73
- *
74
- * Read more about the clipboard integration in the {@glink framework/deep-dive/clipboard clipboard deep-dive} guide.
75
- */
76
- export default class ClipboardPipeline extends Plugin {
77
- /**
78
- * @inheritDoc
79
- */
80
- static get pluginName(): "ClipboardPipeline";
81
- /**
82
- * @inheritDoc
83
- */
84
- static get isOfficialPlugin(): true;
85
- /**
86
- * @inheritDoc
87
- */
88
- static get requires(): readonly [typeof ClipboardMarkersUtils];
89
- /**
90
- * @inheritDoc
91
- */
92
- init(): void;
93
- /**
94
- * Fires Clipboard `'outputTransformation'` event for given parameters.
95
- *
96
- * @internal
97
- */
98
- _fireOutputTransformationEvent(dataTransfer: DataTransfer, selection: Selection | DocumentSelection, method: 'copy' | 'cut' | 'dragstart'): void;
99
- /**
100
- * The clipboard paste pipeline.
101
- */
102
- private _setupPasteDrop;
103
- /**
104
- * The clipboard copy/cut pipeline.
105
- */
106
- private _setupCopyCut;
107
- }
108
- /**
109
- * Fired with the `content`, `dataTransfer`, `method`, and `targetRanges` properties:
110
- *
111
- * * The `content` which comes from the clipboard (it was pasted or dropped) should be processed in order to be inserted into the editor.
112
- * * The `dataTransfer` object is available in case the transformation functions need access to the raw clipboard data.
113
- * * The `method` indicates the original DOM event (for example `'drop'` or `'paste'`).
114
- * * The `targetRanges` property is an array of view ranges (it is available only for `'drop'`).
115
- *
116
- * It is a part of the {@glink framework/deep-dive/clipboard#input-pipeline clipboard input pipeline}.
117
- *
118
- * **Note**: You should not stop this event if you want to change the input data. You should modify the `content` property instead.
119
- *
120
- * @see module:clipboard/clipboardobserver~ClipboardObserver
121
- * @see module:clipboard/clipboardpipeline~ClipboardPipeline
122
- *
123
- * @eventName ~ClipboardPipeline#inputTransformation
124
- * @param data The event data.
125
- */
126
- export type ClipboardInputTransformationEvent = {
127
- name: 'inputTransformation';
128
- args: [data: ClipboardInputTransformationData];
129
- };
130
- /**
131
- * The data of 'inputTransformation' event.
132
- */
133
- export interface ClipboardInputTransformationData {
134
- /**
135
- * The event data.
136
- * The content to be inserted into the editor. It can be modified by event listeners. Read more about the clipboard pipelines in
137
- * the {@glink framework/deep-dive/clipboard clipboard deep-dive} guide.
138
- */
139
- content: ViewDocumentFragment;
140
- /**
141
- * The data transfer instance.
142
- */
143
- dataTransfer: DataTransfer;
144
- /**
145
- * The target drop ranges.
146
- */
147
- targetRanges: Array<ViewRange> | null;
148
- /**
149
- * Whether the event was triggered by a paste or a drop operation.
150
- */
151
- method: 'paste' | 'drop';
152
- }
153
- /**
154
- * Fired with the `content`, `dataTransfer`, `method`, and `targetRanges` properties:
155
- *
156
- * * The `content` which comes from the clipboard (was pasted or dropped) should be processed in order to be inserted into the editor.
157
- * * The `dataTransfer` object is available in case the transformation functions need access to the raw clipboard data.
158
- * * The `method` indicates the original DOM event (for example `'drop'` or `'paste'`).
159
- * * The `targetRanges` property is an array of view ranges (it is available only for `'drop'`).
160
- *
161
- * Event handlers can modify the content according to the final insertion position.
162
- *
163
- * It is a part of the {@glink framework/deep-dive/clipboard#input-pipeline clipboard input pipeline}.
164
- *
165
- * **Note**: You should not stop this event if you want to change the input data. You should modify the `content` property instead.
166
- *
167
- * @see module:clipboard/clipboardobserver~ClipboardObserver
168
- * @see module:clipboard/clipboardpipeline~ClipboardPipeline
169
- * @see module:clipboard/clipboardpipeline~ClipboardPipeline#event:inputTransformation
170
- *
171
- * @eventName ~ClipboardPipeline#contentInsertion
172
- * @param data The event data.
173
- */
174
- export type ClipboardContentInsertionEvent = {
175
- name: 'contentInsertion';
176
- args: [data: ClipboardContentInsertionData];
177
- };
178
- /**
179
- * The data of 'contentInsertion' event.
180
- */
181
- export interface ClipboardContentInsertionData {
182
- /**
183
- * The content to be inserted into the editor.
184
- * Read more about the clipboard pipelines in the {@glink framework/deep-dive/clipboard clipboard deep-dive} guide.
185
- */
186
- content: DocumentFragment;
187
- /**
188
- * Whether the event was triggered by a paste or a drop operation.
189
- */
190
- method: 'paste' | 'drop';
191
- /**
192
- * The data transfer instance.
193
- */
194
- dataTransfer: DataTransfer;
195
- /**
196
- * The target drop ranges.
197
- */
198
- targetRanges: Array<ViewRange> | null;
199
- /**
200
- * The result of the `model.insertContent()` call
201
- * (inserted by the event handler at a low priority).
202
- */
203
- resultRange?: Range;
204
- }
205
- /**
206
- * Fired on {@link module:engine/view/document~Document#event:copy} and {@link module:engine/view/document~Document#event:cut}
207
- * with a copy of the selected content. The content can be processed before it ends up in the clipboard.
208
- *
209
- * It is a part of the {@glink framework/deep-dive/clipboard#output-pipeline clipboard output pipeline}.
210
- *
211
- * @see module:clipboard/clipboardobserver~ClipboardObserver
212
- * @see module:clipboard/clipboardpipeline~ClipboardPipeline
213
- *
214
- * @eventName module:engine/view/document~Document#clipboardOutput
215
- * @param data The event data.
216
- */
217
- export type ViewDocumentClipboardOutputEvent = {
218
- name: 'clipboardOutput';
219
- args: [data: ViewDocumentClipboardOutputEventData];
220
- };
221
- /**
222
- * The value of the 'clipboardOutput' event.
223
- */
224
- export interface ViewDocumentClipboardOutputEventData {
225
- /**
226
- * The data transfer instance.
227
- *
228
- * @readonly
229
- */
230
- dataTransfer: DataTransfer;
231
- /**
232
- * Content to be put into the clipboard. It can be modified by the event listeners.
233
- * Read more about the clipboard pipelines in the {@glink framework/deep-dive/clipboard clipboard deep-dive} guide.
234
- */
235
- content: ViewDocumentFragment;
236
- /**
237
- * Whether the event was triggered by a copy or cut operation.
238
- */
239
- method: 'copy' | 'cut' | 'dragstart';
240
- }
241
- /**
242
- * Fired on {@link module:engine/view/document~Document#event:copy}, {@link module:engine/view/document~Document#event:cut}
243
- * and {@link module:engine/view/document~Document#event:dragstart}. The content can be processed before it ends up in the clipboard.
244
- *
245
- * It is a part of the {@glink framework/deep-dive/clipboard#output-pipeline clipboard output pipeline}.
246
- *
247
- * @eventName ~ClipboardPipeline#outputTransformation
248
- * @param data The event data.
249
- */
250
- export type ClipboardOutputTransformationEvent = {
251
- name: 'outputTransformation';
252
- args: [data: ClipboardOutputTransformationData];
253
- };
254
- /**
255
- * The value of the 'outputTransformation' event.
256
- */
257
- export interface ClipboardOutputTransformationData {
258
- /**
259
- * The data transfer instance.
260
- *
261
- * @readonly
262
- */
263
- dataTransfer: DataTransfer;
264
- /**
265
- * Content to be put into the clipboard. It can be modified by the event listeners.
266
- * Read more about the clipboard pipelines in the {@glink framework/deep-dive/clipboard clipboard deep-dive} guide.
267
- */
268
- content: DocumentFragment;
269
- /**
270
- * Whether the event was triggered by a copy or cut operation.
271
- */
272
- method: 'copy' | 'cut' | 'dragstart';
273
- }