happy-dom 12.7.0 → 12.8.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.

Potentially problematic release.


This version of happy-dom might be problematic. Click here for more details.

Files changed (150) hide show
  1. package/cjs/clipboard/Clipboard.cjs +103 -0
  2. package/cjs/clipboard/Clipboard.cjs.map +1 -0
  3. package/cjs/clipboard/Clipboard.d.ts +42 -0
  4. package/cjs/clipboard/Clipboard.d.ts.map +1 -0
  5. package/cjs/clipboard/ClipboardItem.cjs +69 -0
  6. package/cjs/clipboard/ClipboardItem.cjs.map +1 -0
  7. package/cjs/clipboard/ClipboardItem.d.ts +37 -0
  8. package/cjs/clipboard/ClipboardItem.d.ts.map +1 -0
  9. package/cjs/event/DataTransfer.cjs +71 -2
  10. package/cjs/event/DataTransfer.cjs.map +1 -1
  11. package/cjs/event/DataTransfer.d.ts +41 -4
  12. package/cjs/event/DataTransfer.d.ts.map +1 -1
  13. package/cjs/event/DataTransferItem.cjs +27 -9
  14. package/cjs/event/DataTransferItem.cjs.map +1 -1
  15. package/cjs/event/DataTransferItem.d.ts +10 -4
  16. package/cjs/event/DataTransferItem.d.ts.map +1 -1
  17. package/cjs/event/DataTransferItemList.cjs +16 -8
  18. package/cjs/event/DataTransferItemList.cjs.map +1 -1
  19. package/cjs/event/DataTransferItemList.d.ts +3 -3
  20. package/cjs/event/DataTransferItemList.d.ts.map +1 -1
  21. package/cjs/event/events/ClipboardEvent.cjs +23 -0
  22. package/cjs/event/events/ClipboardEvent.cjs.map +1 -0
  23. package/cjs/event/events/ClipboardEvent.d.ts +17 -0
  24. package/cjs/event/events/ClipboardEvent.d.ts.map +1 -0
  25. package/cjs/event/events/IClipboardEventInit.cjs +3 -0
  26. package/cjs/event/events/IClipboardEventInit.cjs.map +1 -0
  27. package/cjs/event/events/IClipboardEventInit.d.ts +6 -0
  28. package/cjs/event/events/IClipboardEventInit.d.ts.map +1 -0
  29. package/cjs/index.cjs +15 -2
  30. package/cjs/index.cjs.map +1 -1
  31. package/cjs/index.d.ts +8 -1
  32. package/cjs/index.d.ts.map +1 -1
  33. package/cjs/navigator/Navigator.cjs +38 -5
  34. package/cjs/navigator/Navigator.cjs.map +1 -1
  35. package/cjs/navigator/Navigator.d.ts +17 -4
  36. package/cjs/navigator/Navigator.d.ts.map +1 -1
  37. package/cjs/nodes/html-input-element/HTMLInputElement.cjs +48 -25
  38. package/cjs/nodes/html-input-element/HTMLInputElement.cjs.map +1 -1
  39. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  40. package/cjs/permissions/PermissionNameEnum.cjs +35 -0
  41. package/cjs/permissions/PermissionNameEnum.cjs.map +1 -0
  42. package/cjs/permissions/PermissionNameEnum.d.ts +32 -0
  43. package/cjs/permissions/PermissionNameEnum.d.ts.map +1 -0
  44. package/cjs/permissions/PermissionStatus.cjs +26 -0
  45. package/cjs/permissions/PermissionStatus.cjs.map +1 -0
  46. package/cjs/permissions/PermissionStatus.d.ts +19 -0
  47. package/cjs/permissions/PermissionStatus.d.ts.map +1 -0
  48. package/cjs/permissions/Permissions.cjs +46 -0
  49. package/cjs/permissions/Permissions.cjs.map +1 -0
  50. package/cjs/permissions/Permissions.d.ts +25 -0
  51. package/cjs/permissions/Permissions.d.ts.map +1 -0
  52. package/cjs/version.cjs +1 -1
  53. package/cjs/window/IWindow.d.ts +128 -21
  54. package/cjs/window/IWindow.d.ts.map +1 -1
  55. package/cjs/window/Window.cjs +127 -35
  56. package/cjs/window/Window.cjs.map +1 -1
  57. package/cjs/window/Window.d.ts +131 -30
  58. package/cjs/window/Window.d.ts.map +1 -1
  59. package/lib/clipboard/Clipboard.d.ts +42 -0
  60. package/lib/clipboard/Clipboard.d.ts.map +1 -0
  61. package/lib/clipboard/Clipboard.js +98 -0
  62. package/lib/clipboard/Clipboard.js.map +1 -0
  63. package/lib/clipboard/ClipboardItem.d.ts +37 -0
  64. package/lib/clipboard/ClipboardItem.d.ts.map +1 -0
  65. package/lib/clipboard/ClipboardItem.js +64 -0
  66. package/lib/clipboard/ClipboardItem.js.map +1 -0
  67. package/lib/event/DataTransfer.d.ts +41 -4
  68. package/lib/event/DataTransfer.d.ts.map +1 -1
  69. package/lib/event/DataTransfer.js +71 -2
  70. package/lib/event/DataTransfer.js.map +1 -1
  71. package/lib/event/DataTransferItem.d.ts +10 -4
  72. package/lib/event/DataTransferItem.d.ts.map +1 -1
  73. package/lib/event/DataTransferItem.js +29 -10
  74. package/lib/event/DataTransferItem.js.map +1 -1
  75. package/lib/event/DataTransferItemList.d.ts +3 -3
  76. package/lib/event/DataTransferItemList.d.ts.map +1 -1
  77. package/lib/event/DataTransferItemList.js +16 -8
  78. package/lib/event/DataTransferItemList.js.map +1 -1
  79. package/lib/event/events/ClipboardEvent.d.ts +17 -0
  80. package/lib/event/events/ClipboardEvent.d.ts.map +1 -0
  81. package/lib/event/events/ClipboardEvent.js +17 -0
  82. package/lib/event/events/ClipboardEvent.js.map +1 -0
  83. package/lib/event/events/IClipboardEventInit.d.ts +6 -0
  84. package/lib/event/events/IClipboardEventInit.d.ts.map +1 -0
  85. package/lib/event/events/IClipboardEventInit.js +2 -0
  86. package/lib/event/events/IClipboardEventInit.js.map +1 -0
  87. package/lib/index.d.ts +8 -1
  88. package/lib/index.d.ts.map +1 -1
  89. package/lib/index.js +7 -1
  90. package/lib/index.js.map +1 -1
  91. package/lib/navigator/Navigator.d.ts +17 -4
  92. package/lib/navigator/Navigator.d.ts.map +1 -1
  93. package/lib/navigator/Navigator.js +40 -6
  94. package/lib/navigator/Navigator.js.map +1 -1
  95. package/lib/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  96. package/lib/nodes/html-input-element/HTMLInputElement.js +48 -25
  97. package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
  98. package/lib/permissions/PermissionNameEnum.d.ts +32 -0
  99. package/lib/permissions/PermissionNameEnum.d.ts.map +1 -0
  100. package/lib/permissions/PermissionNameEnum.js +33 -0
  101. package/lib/permissions/PermissionNameEnum.js.map +1 -0
  102. package/lib/permissions/PermissionStatus.d.ts +19 -0
  103. package/lib/permissions/PermissionStatus.d.ts.map +1 -0
  104. package/lib/permissions/PermissionStatus.js +20 -0
  105. package/lib/permissions/PermissionStatus.js.map +1 -0
  106. package/lib/permissions/Permissions.d.ts +25 -0
  107. package/lib/permissions/Permissions.d.ts.map +1 -0
  108. package/lib/permissions/Permissions.js +41 -0
  109. package/lib/permissions/Permissions.js.map +1 -0
  110. package/lib/version.js +1 -1
  111. package/lib/window/IWindow.d.ts +128 -21
  112. package/lib/window/IWindow.d.ts.map +1 -1
  113. package/lib/window/Window.d.ts +131 -30
  114. package/lib/window/Window.d.ts.map +1 -1
  115. package/lib/window/Window.js +127 -35
  116. package/lib/window/Window.js.map +1 -1
  117. package/package.json +1 -1
  118. package/src/clipboard/Clipboard.ts +96 -0
  119. package/src/clipboard/ClipboardItem.ts +59 -0
  120. package/src/event/DataTransfer.ts +88 -4
  121. package/src/event/DataTransferItem.ts +16 -9
  122. package/src/event/DataTransferItemList.ts +17 -7
  123. package/src/event/events/ClipboardEvent.ts +22 -0
  124. package/src/event/events/IClipboardEventInit.ts +6 -0
  125. package/src/index.ts +15 -1
  126. package/src/navigator/Navigator.ts +27 -7
  127. package/src/nodes/html-input-element/HTMLInputElement.ts +49 -22
  128. package/src/permissions/PermissionNameEnum.ts +32 -0
  129. package/src/permissions/PermissionStatus.ts +23 -0
  130. package/src/permissions/Permissions.ts +45 -0
  131. package/src/window/IWindow.ts +139 -23
  132. package/src/window/Window.ts +133 -38
  133. package/cjs/config/NonImplemenetedElementClasses.cjs +0 -55
  134. package/cjs/config/NonImplemenetedElementClasses.cjs.map +0 -1
  135. package/cjs/config/NonImplemenetedElementClasses.d.ts +0 -3
  136. package/cjs/config/NonImplemenetedElementClasses.d.ts.map +0 -1
  137. package/cjs/event/NonImplementedEventTypes.cjs +0 -48
  138. package/cjs/event/NonImplementedEventTypes.cjs.map +0 -1
  139. package/cjs/event/NonImplementedEventTypes.d.ts +0 -3
  140. package/cjs/event/NonImplementedEventTypes.d.ts.map +0 -1
  141. package/lib/config/NonImplemenetedElementClasses.d.ts +0 -3
  142. package/lib/config/NonImplemenetedElementClasses.d.ts.map +0 -1
  143. package/lib/config/NonImplemenetedElementClasses.js +0 -53
  144. package/lib/config/NonImplemenetedElementClasses.js.map +0 -1
  145. package/lib/event/NonImplementedEventTypes.d.ts +0 -3
  146. package/lib/event/NonImplementedEventTypes.d.ts.map +0 -1
  147. package/lib/event/NonImplementedEventTypes.js +0 -46
  148. package/lib/event/NonImplementedEventTypes.js.map +0 -1
  149. package/src/config/NonImplemenetedElementClasses.ts +0 -52
  150. package/src/event/NonImplementedEventTypes.ts +0 -45
@@ -50,9 +50,8 @@ import MessagePort from '../event/MessagePort.js';
50
50
  import { URLSearchParams } from 'url';
51
51
  import URL from '../url/URL.js';
52
52
  import Location from '../location/Location.js';
53
- import NonImplementedEventTypes from '../event/NonImplementedEventTypes.js';
54
53
  import MutationObserver from '../mutation-observer/MutationObserver.js';
55
- import NonImplemenetedElementClasses from '../config/NonImplemenetedElementClasses.js';
54
+ import MutationRecord from '../mutation-observer/MutationRecord.js';
56
55
  import DOMParserImplementation from '../dom-parser/DOMParser.js';
57
56
  import XMLSerializer from '../xml-serializer/XMLSerializer.js';
58
57
  import ResizeObserver from '../resize-observer/ResizeObserver.js';
@@ -125,6 +124,11 @@ import WindowErrorUtility from './WindowErrorUtility.js';
125
124
  import VirtualConsole from '../console/VirtualConsole.js';
126
125
  import VirtualConsolePrinter from '../console/VirtualConsolePrinter.js';
127
126
  import PackageVersion from '../version.js';
127
+ import Permissions from '../permissions/Permissions.js';
128
+ import PermissionStatus from '../permissions/PermissionStatus.js';
129
+ import Clipboard from '../clipboard/Clipboard.js';
130
+ import ClipboardItem from '../clipboard/ClipboardItem.js';
131
+ import ClipboardEvent from '../event/events/ClipboardEvent.js';
128
132
  const ORIGINAL_SET_TIMEOUT = setTimeout;
129
133
  const ORIGINAL_CLEAR_TIMEOUT = clearTimeout;
130
134
  const ORIGINAL_SET_INTERVAL = setInterval;
@@ -150,7 +154,7 @@ export default class Window extends EventTarget {
150
154
  */
151
155
  constructor(options) {
152
156
  super();
153
- // The Happy DOM property
157
+ // Happy DOM property.
154
158
  this.happyDOM = {
155
159
  whenAsyncComplete: async () => {
156
160
  return await this.happyDOM.asyncTaskManager.whenComplete();
@@ -196,8 +200,23 @@ export default class Window extends EventTarget {
196
200
  setInnerWidth: (width) => this.happyDOM.setWindowSize({ width }),
197
201
  setInnerHeight: (height) => this.happyDOM.setWindowSize({ height })
198
202
  };
199
- // Global classes
203
+ // Nodes
200
204
  this.Node = Node;
205
+ this.Attr = Attr;
206
+ this.SVGSVGElement = SVGSVGElement;
207
+ this.SVGElement = SVGElement;
208
+ this.SVGGraphicsElement = SVGGraphicsElement;
209
+ this.Text = Text;
210
+ this.Comment = Comment;
211
+ this.ShadowRoot = ShadowRoot;
212
+ this.ProcessingInstruction = ProcessingInstruction;
213
+ this.Element = Element;
214
+ this.CharacterData = CharacterData;
215
+ this.Document = Document;
216
+ this.HTMLDocument = HTMLDocument;
217
+ this.XMLDocument = XMLDocument;
218
+ this.SVGDocument = SVGDocument;
219
+ // Element classes
201
220
  this.HTMLElement = HTMLElement;
202
221
  this.HTMLUnknownElement = HTMLUnknownElement;
203
222
  this.HTMLTemplateElement = HTMLTemplateElement;
@@ -218,25 +237,57 @@ export default class Window extends EventTarget {
218
237
  this.HTMLBaseElement = HTMLBaseElement;
219
238
  this.HTMLIFrameElement = HTMLIFrameElement;
220
239
  this.HTMLDialogElement = HTMLDialogElement;
221
- this.Attr = Attr;
222
- this.NamedNodeMap = NamedNodeMap;
223
- this.SVGSVGElement = SVGSVGElement;
224
- this.SVGElement = SVGElement;
225
- this.SVGGraphicsElement = SVGGraphicsElement;
226
- this.Text = Text;
227
- this.Comment = Comment;
228
- this.ShadowRoot = ShadowRoot;
229
- this.ProcessingInstruction = ProcessingInstruction;
230
- this.Element = Element;
231
- this.CharacterData = CharacterData;
232
- this.NodeFilter = NodeFilter;
233
- this.NodeIterator = NodeIterator;
234
- this.TreeWalker = TreeWalker;
235
- this.MutationObserver = MutationObserver;
236
- this.Document = Document;
237
- this.HTMLDocument = HTMLDocument;
238
- this.XMLDocument = XMLDocument;
239
- this.SVGDocument = SVGDocument;
240
+ // Non-implemented element classes
241
+ this.HTMLHeadElement = HTMLElement;
242
+ this.HTMLTitleElement = HTMLElement;
243
+ this.HTMLBodyElement = HTMLElement;
244
+ this.HTMLHeadingElement = HTMLElement;
245
+ this.HTMLParagraphElement = HTMLElement;
246
+ this.HTMLHRElement = HTMLElement;
247
+ this.HTMLPreElement = HTMLElement;
248
+ this.HTMLUListElement = HTMLElement;
249
+ this.HTMLOListElement = HTMLElement;
250
+ this.HTMLLIElement = HTMLElement;
251
+ this.HTMLMenuElement = HTMLElement;
252
+ this.HTMLDListElement = HTMLElement;
253
+ this.HTMLDivElement = HTMLElement;
254
+ this.HTMLAnchorElement = HTMLElement;
255
+ this.HTMLAreaElement = HTMLElement;
256
+ this.HTMLBRElement = HTMLElement;
257
+ this.HTMLButtonElement = HTMLElement;
258
+ this.HTMLCanvasElement = HTMLElement;
259
+ this.HTMLDataElement = HTMLElement;
260
+ this.HTMLDataListElement = HTMLElement;
261
+ this.HTMLDetailsElement = HTMLElement;
262
+ this.HTMLDirectoryElement = HTMLElement;
263
+ this.HTMLFieldSetElement = HTMLElement;
264
+ this.HTMLFontElement = HTMLElement;
265
+ this.HTMLHtmlElement = HTMLElement;
266
+ this.HTMLLegendElement = HTMLElement;
267
+ this.HTMLMapElement = HTMLElement;
268
+ this.HTMLMarqueeElement = HTMLElement;
269
+ this.HTMLMeterElement = HTMLElement;
270
+ this.HTMLModElement = HTMLElement;
271
+ this.HTMLOutputElement = HTMLElement;
272
+ this.HTMLPictureElement = HTMLElement;
273
+ this.HTMLProgressElement = HTMLElement;
274
+ this.HTMLQuoteElement = HTMLElement;
275
+ this.HTMLSourceElement = HTMLElement;
276
+ this.HTMLSpanElement = HTMLElement;
277
+ this.HTMLTableCaptionElement = HTMLElement;
278
+ this.HTMLTableCellElement = HTMLElement;
279
+ this.HTMLTableColElement = HTMLElement;
280
+ this.HTMLTableElement = HTMLElement;
281
+ this.HTMLTimeElement = HTMLElement;
282
+ this.HTMLTableRowElement = HTMLElement;
283
+ this.HTMLTableSectionElement = HTMLElement;
284
+ this.HTMLFrameElement = HTMLElement;
285
+ this.HTMLFrameSetElement = HTMLElement;
286
+ this.HTMLEmbedElement = HTMLElement;
287
+ this.HTMLObjectElement = HTMLElement;
288
+ this.HTMLParamElement = HTMLElement;
289
+ this.HTMLTrackElement = HTMLElement;
290
+ // Events classes
240
291
  this.Event = Event;
241
292
  this.UIEvent = UIEvent;
242
293
  this.CustomEvent = CustomEvent;
@@ -253,6 +304,55 @@ export default class Window extends EventTarget {
253
304
  this.SubmitEvent = SubmitEvent;
254
305
  this.ProgressEvent = ProgressEvent;
255
306
  this.MediaQueryListEvent = MediaQueryListEvent;
307
+ this.ClipboardEvent = ClipboardEvent;
308
+ // Non-implemented event classes
309
+ this.AudioProcessingEvent = Event;
310
+ this.BeforeInputEvent = Event;
311
+ this.BeforeUnloadEvent = Event;
312
+ this.BlobEvent = Event;
313
+ this.CloseEvent = Event;
314
+ this.CompositionEvent = Event;
315
+ this.CSSFontFaceLoadEvent = Event;
316
+ this.DeviceLightEvent = Event;
317
+ this.DeviceMotionEvent = Event;
318
+ this.DeviceOrientationEvent = Event;
319
+ this.DeviceProximityEvent = Event;
320
+ this.DOMTransactionEvent = Event;
321
+ this.DragEvent = Event;
322
+ this.EditingBeforeInputEvent = Event;
323
+ this.FetchEvent = Event;
324
+ this.GamepadEvent = Event;
325
+ this.HashChangeEvent = Event;
326
+ this.IDBVersionChangeEvent = Event;
327
+ this.MediaStreamEvent = Event;
328
+ this.MutationEvent = Event;
329
+ this.OfflineAudioCompletionEvent = Event;
330
+ this.OverconstrainedError = Event;
331
+ this.PageTransitionEvent = Event;
332
+ this.PaymentRequestUpdateEvent = Event;
333
+ this.PopStateEvent = Event;
334
+ this.RelatedEvent = Event;
335
+ this.RTCDataChannelEvent = Event;
336
+ this.RTCIdentityErrorEvent = Event;
337
+ this.RTCIdentityEvent = Event;
338
+ this.RTCPeerConnectionIceEvent = Event;
339
+ this.SensorEvent = Event;
340
+ this.SVGEvent = Event;
341
+ this.SVGZoomEvent = Event;
342
+ this.TimeEvent = Event;
343
+ this.TouchEvent = Event;
344
+ this.TrackEvent = Event;
345
+ this.TransitionEvent = Event;
346
+ this.UserProximityEvent = Event;
347
+ this.WebGLContextEvent = Event;
348
+ this.TextEvent = Event;
349
+ // Other classes
350
+ this.NamedNodeMap = NamedNodeMap;
351
+ this.NodeFilter = NodeFilter;
352
+ this.NodeIterator = NodeIterator;
353
+ this.TreeWalker = TreeWalker;
354
+ this.MutationObserver = MutationObserver;
355
+ this.MutationRecord = MutationRecord;
256
356
  this.EventTarget = EventTarget;
257
357
  this.MessagePort = MessagePort;
258
358
  this.DataTransfer = DataTransfer;
@@ -300,6 +400,10 @@ export default class Window extends EventTarget {
300
400
  this.AbortController = AbortController;
301
401
  this.AbortSignal = AbortSignal;
302
402
  this.FormData = FormData;
403
+ this.Permissions = Permissions;
404
+ this.PermissionStatus = PermissionStatus;
405
+ this.Clipboard = Clipboard;
406
+ this.ClipboardItem = ClipboardItem;
303
407
  // Events
304
408
  this.onload = null;
305
409
  this.onerror = null;
@@ -374,18 +478,6 @@ export default class Window extends EventTarget {
374
478
  this._setInterval = ORIGINAL_SET_INTERVAL;
375
479
  this._clearInterval = ORIGINAL_CLEAR_INTERVAL;
376
480
  this._queueMicrotask = ORIGINAL_QUEUE_MICROTASK;
377
- // Non-implemented event types
378
- for (const eventType of NonImplementedEventTypes) {
379
- if (!this[eventType]) {
380
- this[eventType] = Event;
381
- }
382
- }
383
- // Non implemented element classes
384
- for (const className of NonImplemenetedElementClasses) {
385
- if (!this[className]) {
386
- this[className] = HTMLElement;
387
- }
388
- }
389
481
  // Binds all methods to "this", so that it will use the correct context when called globally.
390
482
  for (const key of Object.getOwnPropertyNames(Window.prototype).concat(Object.getOwnPropertyNames(EventTarget.prototype))) {
391
483
  if (key !== 'constructor' &&
@@ -1 +1 @@
1
- {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "12.7.0",
3
+ "version": "12.8.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -0,0 +1,96 @@
1
+ import DOMException from '../exception/DOMException.js';
2
+ import IWindow from '../window/IWindow.js';
3
+ import ClipboardItem from './ClipboardItem.js';
4
+ import Blob from '../file/Blob.js';
5
+
6
+ /**
7
+ * Clipboard API.
8
+ *
9
+ * Reference:
10
+ * https://developer.mozilla.org/en-US/docs/Web/API/Clipboard.
11
+ */
12
+ export default class Clipboard {
13
+ #ownerWindow: IWindow;
14
+ #data: ClipboardItem[] = [];
15
+
16
+ /**
17
+ * Constructor.
18
+ *
19
+ * @param ownerWindow Owner window.
20
+ */
21
+ constructor(ownerWindow: IWindow) {
22
+ this.#ownerWindow = ownerWindow;
23
+ }
24
+
25
+ /**
26
+ * Returns data.
27
+ *
28
+ * @returns Data.
29
+ */
30
+ public async read(): Promise<ClipboardItem[]> {
31
+ const permissionStatus = await this.#ownerWindow.navigator.permissions.query({
32
+ name: 'clipboard-read'
33
+ });
34
+ if (permissionStatus.state === 'denied') {
35
+ throw new DOMException(`Failed to execute 'read' on 'Clipboard': The request is not allowed`);
36
+ }
37
+ return this.#data;
38
+ }
39
+
40
+ /**
41
+ * Returns text.
42
+ *
43
+ * @returns Text.
44
+ */
45
+ public async readText(): Promise<string> {
46
+ const permissionStatus = await this.#ownerWindow.navigator.permissions.query({
47
+ name: 'clipboard-read'
48
+ });
49
+ if (permissionStatus.state === 'denied') {
50
+ throw new DOMException(
51
+ `Failed to execute 'readText' on 'Clipboard': The request is not allowed`
52
+ );
53
+ }
54
+ let text = '';
55
+ for (const item of this.#data) {
56
+ if (item.types.includes('text/plain')) {
57
+ text += await (await item.getType('text/plain')).text();
58
+ }
59
+ }
60
+ return text;
61
+ }
62
+
63
+ /**
64
+ * Writes data.
65
+ *
66
+ * @param data Data.
67
+ */
68
+ public async write(data: ClipboardItem[]): Promise<void> {
69
+ const permissionStatus = await this.#ownerWindow.navigator.permissions.query({
70
+ name: 'clipboard-write'
71
+ });
72
+ if (permissionStatus.state === 'denied') {
73
+ throw new DOMException(
74
+ `Failed to execute 'write' on 'Clipboard': The request is not allowed`
75
+ );
76
+ }
77
+ this.#data = data;
78
+ }
79
+
80
+ /**
81
+ * Writes text.
82
+ *
83
+ * @param text Text.
84
+ */
85
+ public async writeText(text: string): Promise<void> {
86
+ const permissionStatus = await this.#ownerWindow.navigator.permissions.query({
87
+ name: 'clipboard-write'
88
+ });
89
+ if (permissionStatus.state === 'denied') {
90
+ throw new DOMException(
91
+ `Failed to execute 'writeText' on 'Clipboard': The request is not allowed`
92
+ );
93
+ }
94
+ this.#data = [new ClipboardItem({ 'text/plain': new Blob([text], { type: 'text/plain' }) })];
95
+ }
96
+ }
@@ -0,0 +1,59 @@
1
+ import DOMException from '../exception/DOMException.js';
2
+ import Blob from '../file/Blob.js';
3
+
4
+ /**
5
+ * Clipboard Item API.
6
+ *
7
+ * Reference:
8
+ * https://developer.mozilla.org/en-US/docs/Web/API/ClipboardItem.
9
+ */
10
+ export default class ClipboardItem {
11
+ public readonly presentationStyle: 'unspecified' | 'inline' | 'attachment' = 'unspecified';
12
+ #data: { [mimeType: string]: Blob };
13
+
14
+ /**
15
+ * Constructor.
16
+ *
17
+ * @param data Data.
18
+ * @param [options] Options.
19
+ * @param [options.presentationStyle] Presentation style.
20
+ */
21
+ constructor(
22
+ data: { [mimeType: string]: Blob },
23
+ options?: { presentationStyle?: 'unspecified' | 'inline' | 'attachment' }
24
+ ) {
25
+ for (const mimeType of Object.keys(data)) {
26
+ if (mimeType !== data[mimeType].type) {
27
+ throw new DOMException(`Type ${mimeType} does not match the blob's type`);
28
+ }
29
+ }
30
+ this.#data = data;
31
+ if (options?.presentationStyle) {
32
+ this.presentationStyle = options.presentationStyle;
33
+ }
34
+ }
35
+
36
+ /**
37
+ * Returns types.
38
+ *
39
+ * @returns Types.
40
+ */
41
+ public get types(): string[] {
42
+ return Object.keys(this.#data);
43
+ }
44
+
45
+ /**
46
+ * Returns data by type.
47
+ *
48
+ * @param type Type.
49
+ * @returns Data.
50
+ */
51
+ public async getType(type: string): Promise<Blob> {
52
+ if (!this.#data[type]) {
53
+ throw new DOMException(
54
+ `Failed to execute 'getType' on 'ClipboardItem': The type '${type}' was not found`
55
+ );
56
+ }
57
+ return this.#data[type];
58
+ }
59
+ }
@@ -1,13 +1,97 @@
1
1
  import File from '../file/File.js';
2
+ import DataTransferItem from './DataTransferItem.js';
2
3
  import DataTransferItemList from './DataTransferItemList.js';
3
4
 
4
5
  /**
6
+ * DataTransfer.
5
7
  *
8
+ * Reference:
9
+ * https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer
6
10
  */
7
11
  export default class DataTransfer {
8
- public dropEffect = 'none';
9
- public effectAllowed = 'none';
10
- public files: File[] = [];
12
+ public dropEffect: 'none' | 'copy' | 'link' | 'move' = 'none';
13
+ public effectAllowed:
14
+ | 'none'
15
+ | 'copy'
16
+ | 'copyLink'
17
+ | 'copyMove'
18
+ | 'link'
19
+ | 'linkMove'
20
+ | 'move'
21
+ | 'all'
22
+ | 'uninitialized' = 'none';
11
23
  public readonly items: DataTransferItemList = new DataTransferItemList();
12
- public readonly types: string[] = [];
24
+
25
+ /**
26
+ * Returns files.
27
+ *
28
+ * @returns Files.
29
+ */
30
+ public get files(): File[] {
31
+ const files = [];
32
+ for (const item of this.items) {
33
+ if (item.kind === 'file') {
34
+ files.push(item.getAsFile());
35
+ }
36
+ }
37
+ return files;
38
+ }
39
+
40
+ /**
41
+ * Returns types.
42
+ *
43
+ * @returns Types.
44
+ */
45
+ public get types(): string[] {
46
+ return this.items.map((item) => item.type);
47
+ }
48
+
49
+ /**
50
+ * Clears the data.
51
+ */
52
+ public clearData(): void {
53
+ this.items.clear();
54
+ }
55
+
56
+ /**
57
+ * Sets the data.
58
+ *
59
+ * @param format Format.
60
+ * @param data Data.
61
+ */
62
+ public setData(format: string, data: string): void {
63
+ for (let i = 0, max = this.items.length; i < max; i++) {
64
+ if (this.items[i].type === format) {
65
+ this.items[i] = new DataTransferItem(data, format);
66
+ return;
67
+ }
68
+ }
69
+ this.items.add(data, format);
70
+ }
71
+
72
+ /**
73
+ * Gets the data.
74
+ *
75
+ * @param format Format.
76
+ * @returns Data.
77
+ */
78
+ public getData(format: string): string {
79
+ for (let i = 0, max = this.items.length; i < max; i++) {
80
+ if (this.items[i].type === format) {
81
+ let data = '';
82
+ this.items[i].getAsString((s) => (data = s));
83
+ return data;
84
+ }
85
+ }
86
+ return '';
87
+ }
88
+
89
+ /**
90
+ * Sets drag image.
91
+ *
92
+ * TODO: Implement.
93
+ */
94
+ public setDragImage(): void {
95
+ throw new Error('Not implemented.');
96
+ }
13
97
  }
@@ -1,21 +1,26 @@
1
1
  import File from '../file/File.js';
2
2
 
3
3
  /**
4
+ * Data transfer item.
4
5
  *
6
+ * Reference:
7
+ * https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem.
5
8
  */
6
9
  export default class DataTransferItem {
7
- public readonly kind: string = '';
8
- public readonly type: string = '';
9
- private _item: string | File = null;
10
+ public readonly kind: 'string' | 'file';
11
+ public readonly type: string;
12
+ #item: string | File = null;
10
13
 
11
14
  /**
12
15
  * Constructor.
13
16
  *
14
17
  * @param item Item.
18
+ * @param type Type.
15
19
  */
16
- constructor(item: string | File) {
20
+ constructor(item: string | File, type = '') {
17
21
  this.kind = typeof item === 'string' ? 'string' : 'file';
18
- this._item = item;
22
+ this.type = this.kind === 'string' ? type : (<File>item).type;
23
+ this.#item = item;
19
24
  }
20
25
 
21
26
  /**
@@ -25,16 +30,18 @@ export default class DataTransferItem {
25
30
  if (this.kind === 'string') {
26
31
  return null;
27
32
  }
28
- return <File>this._item;
33
+ return <File>this.#item;
29
34
  }
30
35
 
31
36
  /**
32
37
  * Returns string.
38
+ *
39
+ * @param callback Callback.
33
40
  */
34
- public getAsString(): string {
41
+ public getAsString(callback: (text: string) => void): void {
35
42
  if (this.kind === 'file') {
36
- return null;
43
+ callback;
37
44
  }
38
- return <string>this._item;
45
+ callback(<string>this.#item);
39
46
  }
40
47
  }