happy-dom 2.28.0 → 2.31.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 (54) hide show
  1. package/lib/config/ElementTag.d.ts +2 -0
  2. package/lib/config/ElementTag.js +2 -0
  3. package/lib/config/ElementTag.js.map +1 -1
  4. package/lib/event/NonImplementedEventTypes.js +0 -1
  5. package/lib/event/NonImplementedEventTypes.js.map +1 -1
  6. package/lib/event/events/CustomEvent.d.ts +10 -0
  7. package/lib/event/events/CustomEvent.js +18 -0
  8. package/lib/event/events/CustomEvent.js.map +1 -1
  9. package/lib/event/events/IStorageEventInit.d.ts +8 -0
  10. package/lib/event/events/IStorageEventInit.js +3 -0
  11. package/lib/event/events/IStorageEventInit.js.map +1 -0
  12. package/lib/event/events/StorageEvent.d.ts +19 -0
  13. package/lib/event/events/StorageEvent.js +51 -0
  14. package/lib/event/events/StorageEvent.js.map +1 -0
  15. package/lib/nodes/document/Document.d.ts +6 -2
  16. package/lib/nodes/document/Document.js +15 -2
  17. package/lib/nodes/document/Document.js.map +1 -1
  18. package/lib/nodes/element/Element.d.ts +12 -0
  19. package/lib/nodes/element/Element.js +20 -0
  20. package/lib/nodes/element/Element.js.map +1 -1
  21. package/lib/nodes/element/HTMLCollection.d.ts +13 -0
  22. package/lib/nodes/element/HTMLCollection.js +37 -0
  23. package/lib/nodes/element/HTMLCollection.js.map +1 -0
  24. package/lib/nodes/element/IElement.d.ts +1 -0
  25. package/lib/nodes/html-slot-element/HTMLSlotElement.d.ts +59 -0
  26. package/lib/nodes/html-slot-element/HTMLSlotElement.js +126 -0
  27. package/lib/nodes/html-slot-element/HTMLSlotElement.js.map +1 -0
  28. package/lib/nodes/html-slot-element/IHTMLSlotElement.d.ts +46 -0
  29. package/lib/nodes/html-slot-element/IHTMLSlotElement.js +3 -0
  30. package/lib/nodes/html-slot-element/IHTMLSlotElement.js.map +1 -0
  31. package/lib/nodes/node/INode.d.ts +2 -1
  32. package/lib/nodes/node/NodeList.d.ts +13 -0
  33. package/lib/nodes/node/NodeList.js +37 -0
  34. package/lib/nodes/node/NodeList.js.map +1 -0
  35. package/lib/window/IWindow.d.ts +12 -0
  36. package/lib/window/Window.d.ts +6 -0
  37. package/lib/window/Window.js +6 -0
  38. package/lib/window/Window.js.map +1 -1
  39. package/package.json +2 -2
  40. package/src/config/ElementTag.ts +2 -0
  41. package/src/event/NonImplementedEventTypes.ts +0 -1
  42. package/src/event/events/CustomEvent.ts +21 -0
  43. package/src/event/events/IStorageEventInit.ts +9 -0
  44. package/src/event/events/StorageEvent.ts +30 -0
  45. package/src/nodes/document/Document.ts +18 -2
  46. package/src/nodes/element/Element.ts +18 -0
  47. package/src/nodes/element/HTMLCollection.ts +16 -0
  48. package/src/nodes/element/IElement.ts +1 -0
  49. package/src/nodes/html-slot-element/HTMLSlotElement.ts +110 -0
  50. package/src/nodes/html-slot-element/IHTMLSlotElement.ts +47 -0
  51. package/src/nodes/node/INode.ts +2 -1
  52. package/src/nodes/node/NodeList.ts +16 -0
  53. package/src/window/IWindow.ts +12 -0
  54. package/src/window/Window.ts +6 -0
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ var HTMLElement_1 = __importDefault(require("../html-element/HTMLElement"));
22
+ /**
23
+ * HTML Slot Element.
24
+ *
25
+ * Reference:
26
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement.
27
+ */
28
+ var HTMLSlotElement = /** @class */ (function (_super) {
29
+ __extends(HTMLSlotElement, _super);
30
+ function HTMLSlotElement() {
31
+ return _super !== null && _super.apply(this, arguments) || this;
32
+ }
33
+ Object.defineProperty(HTMLSlotElement.prototype, "name", {
34
+ /**
35
+ * Returns name.
36
+ *
37
+ * @returns Name.
38
+ */
39
+ get: function () {
40
+ return this.getAttributeNS(null, 'name') || '';
41
+ },
42
+ /**
43
+ * Sets name.
44
+ *
45
+ * @param name Name.
46
+ */
47
+ set: function (name) {
48
+ this.setAttributeNS(null, 'name', name);
49
+ },
50
+ enumerable: false,
51
+ configurable: true
52
+ });
53
+ /**
54
+ * Sets the slot's manually assigned nodes to an ordered set of slottables.
55
+ *
56
+ * @param _nodes Nodes.
57
+ */
58
+ HTMLSlotElement.prototype.assign = function () {
59
+ var _nodes = [];
60
+ for (var _i = 0; _i < arguments.length; _i++) {
61
+ _nodes[_i] = arguments[_i];
62
+ }
63
+ // TODO: Do nothing for now. We need to find an example of how it is expected to work before it can be implemented.
64
+ };
65
+ /**
66
+ * Returns assigned nodes.
67
+ *
68
+ * @param [options] Options.
69
+ * @param [options.flatten] A boolean value indicating whether to return the assigned nodes of any available child <slot> elements (true) or not (false). Defaults to false.
70
+ * @returns Nodes.
71
+ */
72
+ HTMLSlotElement.prototype.assignedNodes = function (options) {
73
+ var _a;
74
+ var host = (_a = this.getRootNode()) === null || _a === void 0 ? void 0 : _a.host;
75
+ // TODO: Add support for options.flatten. We need to find an example of how it is expected to work before it can be implemented.
76
+ if (host) {
77
+ var name = this.name;
78
+ if (name) {
79
+ return this.assignedElements(options);
80
+ }
81
+ return host.childNodes.slice();
82
+ }
83
+ return [];
84
+ };
85
+ /**
86
+ * Returns assigned elements.
87
+ *
88
+ * @param [_options] Options.
89
+ * @param [_options.flatten] A boolean value indicating whether to return the assigned elements of any available child <slot> elements (true) or not (false). Defaults to false.
90
+ * @returns Nodes.
91
+ */
92
+ HTMLSlotElement.prototype.assignedElements = function (_options) {
93
+ var _a;
94
+ var host = (_a = this.getRootNode()) === null || _a === void 0 ? void 0 : _a.host;
95
+ // TODO: Add support for options.flatten. We need to find an example of how it expected to work before it can be implemented.
96
+ if (host) {
97
+ var name = this.name;
98
+ if (name) {
99
+ var assignedElements = [];
100
+ for (var _i = 0, _b = host.children; _i < _b.length; _i++) {
101
+ var child = _b[_i];
102
+ if (child.slot === name) {
103
+ assignedElements.push(child);
104
+ }
105
+ }
106
+ return assignedElements;
107
+ }
108
+ return host.children.slice();
109
+ }
110
+ return [];
111
+ };
112
+ /**
113
+ * Clones a node.
114
+ *
115
+ * @override
116
+ * @param [deep=false] "true" to clone deep.
117
+ * @returns Cloned node.
118
+ */
119
+ HTMLSlotElement.prototype.cloneNode = function (deep) {
120
+ if (deep === void 0) { deep = false; }
121
+ return _super.prototype.cloneNode.call(this, deep);
122
+ };
123
+ return HTMLSlotElement;
124
+ }(HTMLElement_1.default));
125
+ exports.default = HTMLSlotElement;
126
+ //# sourceMappingURL=HTMLSlotElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTMLSlotElement.js","sourceRoot":"","sources":["../../../src/nodes/html-slot-element/HTMLSlotElement.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,4EAAsD;AAOtD;;;;;GAKG;AACH;IAA6C,mCAAW;IAAxD;;IAgGA,CAAC;IA1FA,sBAAW,iCAAI;QALf;;;;WAIG;aACH;YACC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAChD,CAAC;QAED;;;;WAIG;aACH,UAAgB,IAAY;YAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;;;OATA;IAWD;;;;OAIG;IACI,gCAAM,GAAb;QAAc,gBAAkC;aAAlC,UAAkC,EAAlC,qBAAkC,EAAlC,IAAkC;YAAlC,2BAAkC;;QAC/C,mHAAmH;IACpH,CAAC;IAED;;;;;;OAMG;IACI,uCAAa,GAApB,UAAqB,OAA+B;;QACnD,IAAM,IAAI,GAAG,MAAc,IAAI,CAAC,WAAW,EAAG,0CAAE,IAAI,CAAC;QAErD,gIAAgI;QAEhI,IAAI,IAAI,EAAE;YACT,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAEvB,IAAI,IAAI,EAAE;gBACT,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;aACtC;YAED,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;SAC/B;QAED,OAAO,EAAE,CAAC;IACX,CAAC;IAED;;;;;;OAMG;IACI,0CAAgB,GAAvB,UAAwB,QAAgC;;QACvD,IAAM,IAAI,GAAG,MAAc,IAAI,CAAC,WAAW,EAAG,0CAAE,IAAI,CAAC;QAErD,6HAA6H;QAE7H,IAAI,IAAI,EAAE;YACT,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAEvB,IAAI,IAAI,EAAE;gBACT,IAAM,gBAAgB,GAAG,EAAE,CAAC;gBAE5B,KAAoB,UAAa,EAAb,KAAA,IAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;oBAA9B,IAAM,KAAK,SAAA;oBACf,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;wBACxB,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBAC7B;iBACD;gBAED,OAAO,gBAAgB,CAAC;aACxB;YAED,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;SAC7B;QAED,OAAO,EAAE,CAAC;IACX,CAAC;IAED;;;;;;OAMG;IACI,mCAAS,GAAhB,UAAiB,IAAY;QAAZ,qBAAA,EAAA,YAAY;QAC5B,OAAwB,iBAAM,SAAS,YAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IACF,sBAAC;AAAD,CAAC,AAhGD,CAA6C,qBAAW,GAgGvD"}
@@ -0,0 +1,46 @@
1
+ import IHTMLElement from '../html-element/IHTMLElement';
2
+ import IText from '../text/IText';
3
+ import IElement from '../element/IElement';
4
+ import INode from '../node/INode';
5
+ /**
6
+ * HTML Slot Element.
7
+ *
8
+ * Reference:
9
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement.
10
+ */
11
+ export default interface IHTMLSlotElement extends IHTMLElement {
12
+ name: string;
13
+ /**
14
+ * Sets the slot's manually assigned nodes to an ordered set of slottables.
15
+ *
16
+ * @param nodes Nodes.
17
+ */
18
+ assign(...nodes: Array<IText | IElement>): void;
19
+ /**
20
+ * Returns assigned nodes.
21
+ *
22
+ * @param [options] Options.
23
+ * @param [options.flatten] A boolean value indicating whether to return the assigned nodes of any available child <slot> elements (true) or not (false). Defaults to false.
24
+ * @returns Nodes.
25
+ */
26
+ assignedNodes(options?: {
27
+ flatten?: boolean;
28
+ }): INode[];
29
+ /**
30
+ * Returns assigned nodes.
31
+ *
32
+ * @param [options.flatten] A boolean value indicating whether to return the assigned elements of any available child <slot> elements (true) or not (false). Defaults to false.
33
+ * @returns Nodes.
34
+ */
35
+ assignedElements(options?: {
36
+ flatten?: boolean;
37
+ }): IElement[];
38
+ /**
39
+ * Clones a node.
40
+ *
41
+ * @override
42
+ * @param [deep=false] "true" to clone deep.
43
+ * @returns Cloned node.
44
+ */
45
+ cloneNode(deep: boolean): IHTMLSlotElement;
46
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IHTMLSlotElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHTMLSlotElement.js","sourceRoot":"","sources":["../../../src/nodes/html-slot-element/IHTMLSlotElement.ts"],"names":[],"mappings":""}
@@ -1,12 +1,13 @@
1
1
  import IEventTarget from '../../event/IEventTarget';
2
2
  import IDocument from '../document/IDocument';
3
3
  import IElement from '../element/IElement';
4
+ import INodeList from './INodeList';
4
5
  export default interface INode extends IEventTarget {
5
6
  readonly ownerDocument: IDocument;
6
7
  readonly parentNode: INode;
7
8
  readonly parentElement: IElement;
8
9
  readonly nodeType: number;
9
- readonly childNodes: INode[];
10
+ readonly childNodes: INodeList<INode>;
10
11
  readonly isConnected: boolean;
11
12
  readonly nodeName: string;
12
13
  readonly previousSibling: INode;
@@ -0,0 +1,13 @@
1
+ import INodeList from './INodeList';
2
+ import INode from './INode';
3
+ /**
4
+ * Class list.
5
+ */
6
+ export default class NodeList extends Array implements INodeList<INode> {
7
+ /**
8
+ * Returns item by index.
9
+ *
10
+ * @param index Index.
11
+ */
12
+ item(index: number): INode;
13
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ /**
19
+ * Class list.
20
+ */
21
+ var NodeList = /** @class */ (function (_super) {
22
+ __extends(NodeList, _super);
23
+ function NodeList() {
24
+ return _super !== null && _super.apply(this, arguments) || this;
25
+ }
26
+ /**
27
+ * Returns item by index.
28
+ *
29
+ * @param index Index.
30
+ */
31
+ NodeList.prototype.item = function (index) {
32
+ return index >= 0 && this[index] ? this[index] : null;
33
+ };
34
+ return NodeList;
35
+ }(Array));
36
+ exports.default = NodeList;
37
+ //# sourceMappingURL=NodeList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeList.js","sourceRoot":"","sources":["../../../src/nodes/node/NodeList.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA;;GAEG;AACH;IAAsC,4BAAK;IAA3C;;IASA,CAAC;IARA;;;;OAIG;IACI,uBAAI,GAAX,UAAY,KAAa;QACxB,OAAO,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC;IACF,eAAC;AAAD,CAAC,AATD,CAAsC,KAAK,GAS1C"}
@@ -19,6 +19,7 @@ import SVGElement from '../nodes/svg-element/SVGElement';
19
19
  import HTMLScriptElement from '../nodes/html-script-element/HTMLScriptElement';
20
20
  import HTMLImageElement from '../nodes/html-image-element/HTMLImageElement';
21
21
  import DocumentFragment from '../nodes/document-fragment/DocumentFragment';
22
+ import CharacterData from '../nodes/character-data/CharacterData';
22
23
  import TreeWalker from '../tree-walker/TreeWalker';
23
24
  import Event from '../event/Event';
24
25
  import CustomEvent from '../event/events/CustomEvent';
@@ -39,6 +40,7 @@ import DOMException from '../exception/DOMException';
39
40
  import FileReader from '../file/FileReader';
40
41
  import History from '../history/History';
41
42
  import CSSStyleDeclaration from '../css/CSSStyleDeclaration';
43
+ import PointerEvent from '../event/events/PointerEvent';
42
44
  import MouseEvent from '../event/events/MouseEvent';
43
45
  import FocusEvent from '../event/events/FocusEvent';
44
46
  import WheelEvent from '../event/events/WheelEvent';
@@ -48,6 +50,7 @@ import DataTransferItemList from '../event/DataTransferItemList';
48
50
  import InputEvent from '../event/events/InputEvent';
49
51
  import UIEvent from '../event/UIEvent';
50
52
  import ErrorEvent from '../event/events/ErrorEvent';
53
+ import StorageEvent from '../event/events/StorageEvent';
51
54
  import Screen from '../screen/Screen';
52
55
  import AsyncTaskManager from './AsyncTaskManager';
53
56
  import IResponse from './IResponse';
@@ -57,6 +60,9 @@ import HTMLStyleElement from '../nodes/html-style-element/HTMLStyleElement';
57
60
  import IFetchOptions from './IFetchOptions';
58
61
  import NodeFilter from '../tree-walker/NodeFilter';
59
62
  import Window from './Window';
63
+ import URLSearchParams from '../url-search-params/URLSearchParams';
64
+ import HTMLCollection from '../nodes/element/HTMLCollection';
65
+ import NodeList from '../nodes/node/NodeList';
60
66
  /**
61
67
  * Window.
62
68
  */
@@ -83,6 +89,7 @@ export default interface IWindow {
83
89
  readonly ShadowRoot: typeof ShadowRoot;
84
90
  readonly Element: typeof Element;
85
91
  readonly DocumentFragment: typeof DocumentFragment;
92
+ readonly CharacterData: typeof CharacterData;
86
93
  readonly NodeFilter: typeof NodeFilter;
87
94
  readonly TreeWalker: typeof TreeWalker;
88
95
  readonly DOMParser: typeof DOMParser;
@@ -96,11 +103,13 @@ export default interface IWindow {
96
103
  readonly CustomEvent: typeof CustomEvent;
97
104
  readonly AnimationEvent: typeof AnimationEvent;
98
105
  readonly KeyboardEvent: typeof KeyboardEvent;
106
+ readonly PointerEvent: typeof PointerEvent;
99
107
  readonly MouseEvent: typeof MouseEvent;
100
108
  readonly FocusEvent: typeof FocusEvent;
101
109
  readonly WheelEvent: typeof WheelEvent;
102
110
  readonly InputEvent: typeof InputEvent;
103
111
  readonly ErrorEvent: typeof ErrorEvent;
112
+ readonly StorageEvent: typeof StorageEvent;
104
113
  readonly ProgressEvent: typeof ProgressEvent;
105
114
  readonly EventTarget: typeof EventTarget;
106
115
  readonly DataTransfer: typeof DataTransfer;
@@ -121,6 +130,9 @@ export default interface IWindow {
121
130
  readonly History: typeof History;
122
131
  readonly Screen: typeof Screen;
123
132
  readonly Storage: typeof Storage;
133
+ readonly URLSearchParams: typeof URLSearchParams;
134
+ readonly HTMLCollection: typeof HTMLCollection;
135
+ readonly NodeList: typeof NodeList;
124
136
  onload: (event: Event) => void;
125
137
  onerror: (event: ErrorEvent) => void;
126
138
  readonly document: Document;
@@ -50,6 +50,7 @@ import DataTransferItemList from '../event/DataTransferItemList';
50
50
  import InputEvent from '../event/events/InputEvent';
51
51
  import UIEvent from '../event/UIEvent';
52
52
  import ErrorEvent from '../event/events/ErrorEvent';
53
+ import StorageEvent from '../event/events/StorageEvent';
53
54
  import Screen from '../screen/Screen';
54
55
  import AsyncTaskManager from './AsyncTaskManager';
55
56
  import IResponse from './IResponse';
@@ -59,6 +60,8 @@ import HTMLStyleElement from '../nodes/html-style-element/HTMLStyleElement';
59
60
  import IFetchOptions from './IFetchOptions';
60
61
  import IWindow from './IWindow';
61
62
  import URLSearchParams from '../url-search-params/URLSearchParams';
63
+ import HTMLCollection from '../nodes/element/HTMLCollection';
64
+ import NodeList from '../nodes/node/NodeList';
62
65
  /**
63
66
  * Handles the Window.
64
67
  */
@@ -122,6 +125,7 @@ export default class Window extends EventTarget implements IWindow, NodeJS.Globa
122
125
  readonly WheelEvent: typeof WheelEvent;
123
126
  readonly InputEvent: typeof InputEvent;
124
127
  readonly ErrorEvent: typeof ErrorEvent;
128
+ readonly StorageEvent: typeof StorageEvent;
125
129
  readonly ProgressEvent: typeof ProgressEvent;
126
130
  readonly EventTarget: typeof EventTarget;
127
131
  readonly DataTransfer: typeof DataTransfer;
@@ -143,6 +147,8 @@ export default class Window extends EventTarget implements IWindow, NodeJS.Globa
143
147
  readonly Screen: typeof Screen;
144
148
  readonly Storage: typeof Storage;
145
149
  readonly URLSearchParams: typeof URLSearchParams;
150
+ readonly HTMLCollection: typeof HTMLCollection;
151
+ readonly NodeList: typeof NodeList;
146
152
  onload: (event: Event) => void;
147
153
  onerror: (event: ErrorEvent) => void;
148
154
  readonly document: Document;
@@ -108,6 +108,7 @@ var DataTransferItemList_1 = __importDefault(require("../event/DataTransferItemL
108
108
  var InputEvent_1 = __importDefault(require("../event/events/InputEvent"));
109
109
  var UIEvent_1 = __importDefault(require("../event/UIEvent"));
110
110
  var ErrorEvent_1 = __importDefault(require("../event/events/ErrorEvent"));
111
+ var StorageEvent_1 = __importDefault(require("../event/events/StorageEvent"));
111
112
  var Screen_1 = __importDefault(require("../screen/Screen"));
112
113
  var AsyncTaskManager_1 = __importDefault(require("./AsyncTaskManager"));
113
114
  var AsyncTaskTypeEnum_1 = __importDefault(require("./AsyncTaskTypeEnum"));
@@ -116,6 +117,8 @@ var Storage_1 = __importDefault(require("../storage/Storage"));
116
117
  var HTMLLinkElement_1 = __importDefault(require("../nodes/html-link-element/HTMLLinkElement"));
117
118
  var HTMLStyleElement_1 = __importDefault(require("../nodes/html-style-element/HTMLStyleElement"));
118
119
  var URLSearchParams_1 = __importDefault(require("../url-search-params/URLSearchParams"));
120
+ var HTMLCollection_1 = __importDefault(require("../nodes/element/HTMLCollection"));
121
+ var NodeList_1 = __importDefault(require("../nodes/node/NodeList"));
119
122
  var FETCH_RESPONSE_TYPE_METHODS = ['blob', 'json', 'text'];
120
123
  /**
121
124
  * Handles the Window.
@@ -180,6 +183,7 @@ var Window = /** @class */ (function (_super) {
180
183
  _this.WheelEvent = WheelEvent_1.default;
181
184
  _this.InputEvent = InputEvent_1.default;
182
185
  _this.ErrorEvent = ErrorEvent_1.default;
186
+ _this.StorageEvent = StorageEvent_1.default;
183
187
  _this.ProgressEvent = ProgressEvent_1.default;
184
188
  _this.EventTarget = EventTarget_1.default;
185
189
  _this.DataTransfer = DataTransfer_1.default;
@@ -201,6 +205,8 @@ var Window = /** @class */ (function (_super) {
201
205
  _this.Screen = Screen_1.default;
202
206
  _this.Storage = Storage_1.default;
203
207
  _this.URLSearchParams = URLSearchParams_1.default;
208
+ _this.HTMLCollection = HTMLCollection_1.default;
209
+ _this.NodeList = NodeList_1.default;
204
210
  // Events
205
211
  _this.onload = null;
206
212
  _this.onerror = null;
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kGAA4E;AAC5E,wEAAkD;AAClD,qFAA+D;AAC/D,kFAA4D;AAC5D,kFAA4D;AAC5D,4DAAsC;AACtC,yEAAmD;AACnD,4DAAsC;AACtC,qEAA+C;AAC/C,+EAAyD;AACzD,qEAA+C;AAC/C,2GAAqF;AACrF,+FAAyE;AACzE,kFAA4D;AAC5D,kGAA4E;AAC5E,4GAAsF;AACtF,qFAA+D;AAC/D,+EAAyD;AACzD,qGAA+E;AAC/E,kGAA4E;AAC5E,iGAA2E;AAC3E,wFAAkE;AAClE,yEAAmD;AACnD,yDAAmC;AACnC,4EAAsD;AACtD,kFAA4D;AAC5D,gFAA0D;AAC1D,gFAA0D;AAC1D,qEAA+C;AAC/C,wDAAkC;AAClC,kEAA4C;AAC5C,+FAAyE;AACzE,2FAAqE;AACrE,wEAAkD;AAClD,sEAAgD;AAChD,kFAA4D;AAC5D,qFAA+D;AAC/D,uEAAiD;AACjD,sDAAgC;AAChC,sDAAgC;AAChC,2EAAqD;AACrD,kEAA4C;AAC5C,+DAAyC;AACzC,mFAA6D;AAC7D,0EAAoD;AACpD,8EAAwD;AACxD,0EAAoD;AACpD,0EAAoD;AACpD,uEAAiD;AACjD,+EAAyD;AACzD,uFAAiE;AACjE,0EAAoD;AACpD,6DAAuC;AACvC,0EAAoD;AACpD,8EAAwD;AACxD,4DAAsC;AACtC,wEAAkD;AAElD,0EAAoD;AACpD,wEAAkD;AAClD,+DAAyC;AACzC,+FAAyE;AACzE,kGAA4E;AAG5E,yFAAmE;AACnE,mFAA6D;AAC7D,oEAA8C;AAE9C,IAAM,2BAA2B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7D;;GAEG;AACH;IAAoC,0BAAW;IA+J9C;;OAEG;IACH;QAAA,YACC,iBAAO,SA6BP;QA/LD,oBAAoB;QACJ,cAAQ,GAAG;YAC1B,iBAAiB,EAAE;;;gCACX,qBAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,EAAA;gCAA1D,sBAAO,SAAmD,EAAC;;;iBAC3D;YACD,WAAW,EAAE;gBACZ,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACjD,CAAC;YACD,gBAAgB,EAAE,IAAI,0BAAgB,EAAE;SACxC,CAAC;QAEF,iBAAiB;QACD,UAAI,GAAG,cAAI,CAAC;QACZ,iBAAW,GAAG,qBAAW,CAAC;QAC1B,yBAAmB,GAAG,6BAAmB,CAAC;QAC1C,qBAAe,GAAG,yBAAe,CAAC;QAClC,sBAAgB,GAAG,0BAAgB,CAAC;QACpC,yBAAmB,GAAG,6BAAmB,CAAC;QAC1C,sBAAgB,GAAG,0BAAgB,CAAC;QACpC,uBAAiB,GAAG,2BAAiB,CAAC;QACtC,qBAAe,GAAG,yBAAe,CAAC;QAClC,sBAAgB,GAAG,0BAAgB,CAAC;QACpC,mBAAa,GAAG,uBAAa,CAAC;QAC9B,gBAAU,GAAG,oBAAU,CAAC;QACxB,UAAI,GAAG,cAAI,CAAC;QACZ,aAAO,GAAG,iBAAO,CAAC;QAClB,gBAAU,GAAG,oBAAU,CAAC;QACxB,aAAO,GAAG,iBAAO,CAAC;QAClB,sBAAgB,GAAG,0BAAgB,CAAC;QACpC,mBAAa,GAAG,uBAAa,CAAC;QAC9B,gBAAU,GAAG,oBAAU,CAAC;QACxB,gBAAU,GAAG,oBAAU,CAAC;QACxB,eAAS,GAAG,mBAAS,CAAC;QACtB,sBAAgB,GAAG,0BAAgB,CAAC;QACpC,cAAQ,GAAG,kBAAQ,CAAC;QACpB,kBAAY,GAAG,sBAAY,CAAC;QAC5B,iBAAW,GAAG,qBAAW,CAAC;QAC1B,iBAAW,GAAG,qBAAW,CAAC;QAC1B,WAAK,GAAG,eAAK,CAAC;QACd,aAAO,GAAG,iBAAO,CAAC;QAClB,iBAAW,GAAG,qBAAW,CAAC;QAC1B,oBAAc,GAAG,wBAAc,CAAC;QAChC,mBAAa,GAAG,uBAAa,CAAC;QAC9B,gBAAU,GAAG,oBAAU,CAAC;QACxB,kBAAY,GAAG,sBAAY,CAAC;QAC5B,gBAAU,GAAG,oBAAU,CAAC;QACxB,gBAAU,GAAG,oBAAU,CAAC;QACxB,gBAAU,GAAG,oBAAU,CAAC;QACxB,gBAAU,GAAG,oBAAU,CAAC;QACxB,kBAAY,GAAG,sBAAY,CAAC;QAC5B,mBAAa,GAAG,uBAAa,CAAC;QAC9B,iBAAW,GAAG,qBAAW,CAAC;QAC1B,kBAAY,GAAG,sBAAY,CAAC;QAC5B,sBAAgB,GAAG,0BAAgB,CAAC;QACpC,0BAAoB,GAAG,8BAAoB,CAAC;QAC5C,SAAG,GAAG,aAAG,CAAC;QACV,cAAQ,GAAG,kBAAQ,CAAC;QACpB,2BAAqB,GAAG,+BAAqB,CAAC;QAC9C,YAAM,GAAG,MAAM,CAAC;QAChB,aAAO,GAAG,GAAG,CAAC;QACd,mBAAa,GAAG,uBAAa,CAAC;QAC9B,oBAAc,GAAG,wBAAc,CAAC;QAChC,mBAAa,GAAG,uBAAa,CAAC;QAC9B,UAAI,GAAG,cAAI,CAAC;QACZ,UAAI,GAAG,cAAI,CAAC;QACZ,gBAAU,GAAG,oBAAU,CAAC;QACxB,kBAAY,GAAG,sBAAY,CAAC;QAC5B,aAAO,GAAG,iBAAO,CAAC;QAClB,YAAM,GAAG,gBAAM,CAAC;QAChB,aAAO,GAAG,iBAAO,CAAC;QAClB,qBAAe,GAAG,yBAAe,CAAC;QAClC,oBAAc,GAAG,wBAAc,CAAC;QAChC,cAAQ,GAAG,kBAAQ,CAAC;QAEpC,SAAS;QACF,YAAM,GAA2B,IAAI,CAAC;QACtC,aAAO,GAAgC,IAAI,CAAC;QAInC,oBAAc,GAA0B,IAAI,+BAAqB,EAAE,CAAC;QACpE,cAAQ,GAAG,IAAI,kBAAQ,EAAE,CAAC;QAC1B,aAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;QACxB,eAAS,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QACvC,aAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,UAAI,GAAG,KAAI,CAAC;QACZ,SAAG,GAAG,KAAI,CAAC;QACX,YAAM,GAAG,KAAI,CAAC;QACd,YAAM,GAAG,KAAI,CAAC;QACd,YAAM,GAAG,IAAI,gBAAM,EAAE,CAAC;QACtB,gBAAU,GAAG,IAAI,CAAC;QAClB,iBAAW,GAAG,GAAG,CAAC;QAClB,oBAAc,GAAG,IAAI,iBAAO,EAAE,CAAC;QAC/B,kBAAY,GAAG,IAAI,iBAAO,EAAE,CAAC;QAE7C,kBAAkB;QACX,WAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,iBAAW,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,aAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,YAAM,GAAG,IAAI,CAAC;QACd,cAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,UAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACnC,WAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,eAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,kBAAY,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,kBAAY,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,cAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,YAAM,GAAG,IAAI,CAAC;QACd,cAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,gBAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,gBAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,eAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,UAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACnC,UAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACnC,SAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACjC,UAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACnC,SAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACjC,YAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,YAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,aAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,gBAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,oBAAc,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;QACvD,YAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,aAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,SAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACjC,YAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,iBAAW,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,YAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,eAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,cAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,iBAAW,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,iBAAW,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,gBAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,uBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7D,aAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,aAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,oBAAc,GAAG,IAAI,CAAC;QACtB,eAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,wBAAkB,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,eAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,wBAAkB,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,YAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,YAAM,GAAG,IAAI,CAAC;QACd,cAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,WAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,gBAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,cAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,aAAO,GAAG,IAAI,CAAC;QACf,UAAI,GAAG,IAAI,CAAC;QACZ,kBAAY,GAAG,IAAI,CAAC;QACpB,oBAAc,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;QACvD,eAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,cAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,QAAE,GAAG,IAAI,CAAC;QACV,aAAO,GAAG,IAAI,CAAC;QACf,qBAAe,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;QACzD,iBAAW,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QAQvD,KAAI,CAAC,QAAQ,GAAG,IAAI,sBAAY,EAAE,CAAC;QACnC,KAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC;QACjC,KAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC;YACpD,KAAI,CAAC,aAAa,CAAC,IAAI,eAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,mBAAS,CAAC,cAAc,GAAG,mBAAS,CAAC,cAAc,IAAI,KAAI,CAAC,QAAQ,CAAC;QACrE,oBAAU,CAAC,cAAc,GAAG,oBAAU,CAAC,cAAc,IAAI,KAAI,CAAC,QAAQ,CAAC;QAEvE,KAAwB,UAAwB,EAAxB,6BAAA,kCAAwB,EAAxB,sCAAwB,EAAxB,IAAwB,EAAE;YAA7C,IAAM,SAAS,iCAAA;YACnB,IAAI,CAAC,KAAI,CAAC,SAAS,CAAC,EAAE;gBACrB,KAAI,CAAC,SAAS,CAAC,GAAG,eAAK,CAAC;aACxB;SACD;QAED,KAAwB,UAAyB,EAAzB,KAAA,MAAM,CAAC,IAAI,CAAC,sBAAY,CAAC,EAAzB,cAAyB,EAAzB,IAAyB,EAAE;YAA9C,IAAM,SAAS,SAAA;YACnB,IAAI,CAAC,KAAI,CAAC,SAAS,CAAC,EAAE;gBACrB,KAAI,CAAC,SAAS,CAAC,GAAG,sBAAY,CAAC,SAAS,CAAC,CAAC;aAC1C;SACD;QAED,6FAA6F;QAC7F,KAAkB,UAA6B,EAA7B,KAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAA7B,cAA6B,EAA7B,IAA6B,EAAE;YAA5C,IAAM,GAAG,SAAA;YACb,IAAI,OAAO,KAAI,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE;gBACpC,KAAI,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;aACjC;SACD;;IACF,CAAC;IAED;;;;OAIG;IACI,qBAAI,GAAX,UAAY,IAAY;QACvB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,EAAE,GAAG,IAAI,CAAC;QAEd,IAAI;YACH,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACnC;QAAC,OAAO,KAAK,EAAE;YACf,gBAAgB;SAChB;QAED,IAAI,QAAQ,EAAE;YACb,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SACnB;QAED,IAAI,MAAM,IAAI,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACvC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC5B;aAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClB;IACF,CAAC;IAED;;;;;OAKG;IACI,iCAAgB,GAAvB,UAAwB,OAAoB;QAC3C,OAAO,IAAI,6BAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACI,uBAAM,GAAb,UAAc,CAA8D,EAAE,CAAU;QAAxF,iBAuBC;QAtBA,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;YAC1B,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC5B,IAAI,CAAC,UAAU,CAAC;oBACf,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE;wBACf,KAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAU,GAAG,CAAC,CAAC,GAAG,CAAC;qBAC1D;oBACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;wBAChB,KAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAW,GAAG,CAAC,CAAC,IAAI,CAAC;qBAC5D;gBACF,CAAC,CAAC,CAAC;aACH;iBAAM;gBACN,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE;oBACf,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAU,GAAG,CAAC,CAAC,GAAG,CAAC;iBAC1D;gBACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;oBAChB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAW,GAAG,CAAC,CAAC,IAAI,CAAC;iBAC5D;aACD;SACD;aAAM,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAW,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAU,GAAG,CAAC,CAAC;SACtD;IACF,CAAC;IAED;;;;;OAKG;IACI,yBAAQ,GAAf,UACC,CAA8D,EAC9D,CAAU;QAEV,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACI,2BAAU,GAAjB,UAAkB,QAAoB,EAAE,KAAS;QAAjD,iBAOC;QAPuC,sBAAA,EAAA,SAAS;QAChD,IAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;YAC5B,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5C,QAAQ,EAAE,CAAC;QACZ,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,EAAE,CAAC;IACX,CAAC;IAED;;;;;OAKG;IACI,6BAAY,GAAnB,UAAoB,EAAkB;QACrC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACI,4BAAW,GAAlB,UAAmB,QAAoB,EAAE,KAAS;QAAT,sBAAA,EAAA,SAAS;QACjD,IAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,EAAE,CAAC;IACX,CAAC;IAED;;;;;OAKG;IACI,8BAAa,GAApB,UAAqB,EAAkB;QACtC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACI,sCAAqB,GAA5B,UAA6B,QAAqC;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC;YACtB,QAAQ,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,qCAAoB,GAA3B,UAA4B,EAAkB;QAC7C,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED;;;;;;;OAOG;IACU,sBAAK,GAAlB,UAAmB,GAAW,EAAE,OAAuB;;;;gBACtD,sBAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;wBAClC,IAAI,KAAK,GAAG,IAAI,CAAC;wBAEjB,IAAI;4BACH,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;yBAC9B;wBAAC,OAAO,KAAK,EAAE;4BACf,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;yBAC9E;wBAED,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,2BAAiB,CAAC,KAAK,CAAC,CAAC;wBAElE,KAAK,CAAC,qBAAW,CAAC,cAAc,CAAC,KAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC;6BAC5D,IAAI,CAAC,UAAA,QAAQ;4BACb,IAAI,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,2BAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gCAClF,MAAM,CAAC,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAC;6BAC1E;iCAAM;wDACK,UAAU;oCACpB,IAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;oCACzC,QAAQ,CAAC,UAAU,CAAC,GAAG;wCACtB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;4CAClC,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,2BAAiB,CAAC,KAAK,CAAC,CAAC;4CAElE,WAAW;iDACT,IAAI,CAAC,QAAQ,CAAC;iDACd,IAAI,CAAC,UAAA,QAAQ;gDACb,IACC,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,2BAAiB,CAAC,KAAK,CAAC;oDACvE,CAAC,EACA;oDACD,MAAM,CAAC,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAC;iDAC1E;qDAAM;oDACN,OAAO,CAAC,QAAQ,CAAC,CAAC;oDAClB,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,2BAAiB,CAAC,KAAK,CAAC,CAAC;iDAChE;4CACF,CAAC,CAAC;iDACD,KAAK,CAAC,UAAA,KAAK;gDACX,MAAM,CAAC,KAAK,CAAC,CAAC;gDACd,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,2BAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;4CACxE,CAAC,CAAC,CAAC;wCACL,CAAC,CAAC,CAAC;oCACJ,CAAC,CAAC;;gCAxBH,KAAyB,UAA2B,EAA3B,2DAA2B,EAA3B,yCAA2B,EAA3B,IAA2B;oCAA/C,IAAM,UAAU,oCAAA;4CAAV,UAAU;iCAyBpB;gCAED,OAAO,CAAC,QAAQ,CAAC,CAAC;gCAClB,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,2BAAiB,CAAC,KAAK,CAAC,CAAC;6BAChE;wBACF,CAAC,CAAC;6BACD,KAAK,CAAC,UAAA,KAAK;4BACX,MAAM,CAAC,KAAK,CAAC,CAAC;4BACd,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,2BAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;wBACxE,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,EAAC;;;KACH;IACF,aAAC;AAAD,CAAC,AA5ZD,CAAoC,qBAAW,GA4Z9C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "2.28.0",
3
+ "version": "2.31.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -74,5 +74,5 @@
74
74
  "ts-jest": "^26.5.6",
75
75
  "typescript": "^4.2.4"
76
76
  },
77
- "gitHead": "1089b8c4ced46e381f9acee9e99af9fc954d3cdf"
77
+ "gitHead": "6ea03e07533639760d730ddc16b974b627ed4e5f"
78
78
  }
@@ -8,6 +8,7 @@ import HTMLScriptElement from '../nodes/html-script-element/HTMLScriptElement';
8
8
  import HTMLImageElement from '../nodes/html-image-element/HTMLImageElement';
9
9
  import HTMLLinkElement from '../nodes/html-link-element/HTMLLinkElement';
10
10
  import HTMLStyleElement from '../nodes/html-style-element/HTMLStyleElement';
11
+ import HTMLSlotElement from '../nodes/html-slot-element/HTMLSlotElement';
11
12
 
12
13
  export default {
13
14
  template: HTMLTemplateElement,
@@ -18,6 +19,7 @@ export default {
18
19
  img: HTMLImageElement,
19
20
  link: HTMLLinkElement,
20
21
  style: HTMLStyleElement,
22
+ slot: HTMLSlotElement,
21
23
  svg: SVGSVGElement,
22
24
  circle: SVGElement,
23
25
  ellipse: SVGElement,
@@ -33,7 +33,6 @@ export default [
33
33
  'RTCIdentityEvent',
34
34
  'RTCPeerConnectionIceEvent',
35
35
  'SensorEvent',
36
- 'StorageEvent',
37
36
  'SVGEvent',
38
37
  'SVGZoomEvent',
39
38
  'TimeEvent',
@@ -20,4 +20,25 @@ export default class CustomEvent extends Event {
20
20
  this.detail = eventInit.detail || null;
21
21
  }
22
22
  }
23
+
24
+ /**
25
+ * Init event.
26
+ *
27
+ * @deprecated
28
+ * @param type Type.
29
+ * @param [bubbles=false] "true" if it bubbles.
30
+ * @param [cancelable=false] "true" if it cancelable.
31
+ * @param [detail=null] Custom event detail.
32
+ */
33
+ public initCustomEvent(
34
+ type: string,
35
+ bubbles = false,
36
+ cancelable = false,
37
+ detail: object = null
38
+ ): void {
39
+ this.type = type;
40
+ this.bubbles = bubbles;
41
+ this.cancelable = cancelable;
42
+ this.detail = detail;
43
+ }
23
44
  }
@@ -0,0 +1,9 @@
1
+ import IEventInit from '../IEventInit';
2
+ import Storage from '../../storage/Storage';
3
+
4
+ export default interface IStorageEventInit extends IEventInit {
5
+ key?: string;
6
+ newValue?: string;
7
+ oldValue?: string;
8
+ storageArea?: Storage;
9
+ }
@@ -0,0 +1,30 @@
1
+ import Event from '../Event';
2
+ import IStorageEventInit from './IStorageEventInit';
3
+ import Storage from '../../storage/Storage';
4
+
5
+ /**
6
+ *
7
+ */
8
+ export default class StorageEvent extends Event {
9
+ public readonly key: string = null;
10
+ public readonly newValue: string = null;
11
+ public readonly oldValue: string = null;
12
+ public readonly storageArea: Storage = null;
13
+
14
+ /**
15
+ * Constructor.
16
+ *
17
+ * @param type Event type.
18
+ * @param [eventInit] Event init.
19
+ */
20
+ constructor(type: string, eventInit: IStorageEventInit = null) {
21
+ super(type);
22
+
23
+ if (eventInit) {
24
+ this.key = eventInit.key !== undefined ? eventInit.key : null;
25
+ this.newValue = eventInit.newValue !== undefined ? eventInit.newValue : null;
26
+ this.oldValue = eventInit.oldValue !== undefined ? eventInit.oldValue : null;
27
+ this.storageArea = eventInit.storageArea !== undefined ? eventInit.storageArea : null;
28
+ }
29
+ }
30
+ }
@@ -620,10 +620,13 @@ export default class Document extends Node implements IDocument {
620
620
  * Creates an event.
621
621
  *
622
622
  * @deprecated
623
- * @param _type Type.
623
+ * @param type Type.
624
624
  * @returns Event.
625
625
  */
626
- public createEvent(_type: string): Event {
626
+ public createEvent(type: string): Event {
627
+ if (this.defaultView[type]) {
628
+ return new this.defaultView[type]('init');
629
+ }
627
630
  return new Event('init');
628
631
  }
629
632
 
@@ -686,4 +689,17 @@ export default class Document extends Node implements IDocument {
686
689
  (<Document>adopted.ownerDocument) = this;
687
690
  return adopted;
688
691
  }
692
+
693
+ /**
694
+ * @override
695
+ */
696
+ public dispatchEvent(event: Event): boolean {
697
+ const returnValue = super.dispatchEvent(event);
698
+
699
+ if (event.bubbles && !event._propagationStopped) {
700
+ return this.defaultView.dispatchEvent(event);
701
+ }
702
+
703
+ return returnValue;
704
+ }
689
705
  }
@@ -230,6 +230,24 @@ export default class Element extends Node implements IElement {
230
230
  return this.children.length;
231
231
  }
232
232
 
233
+ /**
234
+ * Returns slot.
235
+ *
236
+ * @returns Slot.
237
+ */
238
+ public get slot(): string {
239
+ return this.getAttributeNS(null, 'slot') || '';
240
+ }
241
+
242
+ /**
243
+ * Returns slot.
244
+ *
245
+ * @param slot Slot.
246
+ */
247
+ public set slot(title: string) {
248
+ this.setAttributeNS(null, 'slot', title);
249
+ }
250
+
233
251
  /**
234
252
  * Attribute changed callback.
235
253
  *
@@ -0,0 +1,16 @@
1
+ import IHTMLCollection from './IHTMLCollection';
2
+ import INode from '../node/INode';
3
+
4
+ /**
5
+ * Class list.
6
+ */
7
+ export default class HTMLCollection extends Array implements IHTMLCollection<INode> {
8
+ /**
9
+ * Returns item by index.
10
+ *
11
+ * @param index Index.
12
+ */
13
+ public item(index: number): INode {
14
+ return index >= 0 && this[index] ? this[index] : null;
15
+ }
16
+ }
@@ -24,6 +24,7 @@ export default interface IElement extends IChildNode, INonDocumentTypeChildNode,
24
24
  className: string;
25
25
  innerHTML: string;
26
26
  outerHTML: string;
27
+ slot: string;
27
28
  readonly attributes: { [k: string]: Attr | number };
28
29
 
29
30
  /**