happy-dom 6.0.4 → 7.0.1

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 (179) hide show
  1. package/lib/css/CSSParser.js +12 -6
  2. package/lib/css/CSSParser.js.map +1 -1
  3. package/lib/css/CSSRule.d.ts +15 -13
  4. package/lib/css/CSSRule.js +18 -13
  5. package/lib/css/CSSRule.js.map +1 -1
  6. package/lib/css/CSSRuleTypeEnum.d.ts +17 -0
  7. package/lib/css/CSSRuleTypeEnum.js +21 -0
  8. package/lib/css/CSSRuleTypeEnum.js.map +1 -0
  9. package/lib/css/CSSStyleSheet.d.ts +6 -16
  10. package/lib/css/CSSStyleSheet.js +11 -19
  11. package/lib/css/CSSStyleSheet.js.map +1 -1
  12. package/lib/css/declaration/AbstractCSSStyleDeclaration.d.ts +76 -0
  13. package/lib/css/declaration/AbstractCSSStyleDeclaration.js +182 -0
  14. package/lib/css/declaration/AbstractCSSStyleDeclaration.js.map +1 -0
  15. package/lib/css/declaration/CSSStyleDeclaration.d.ts +1194 -0
  16. package/lib/css/declaration/CSSStyleDeclaration.js +3566 -0
  17. package/lib/css/declaration/CSSStyleDeclaration.js.map +1 -0
  18. package/lib/css/declaration/utilities/CSSStyleDeclarationCSSParser.d.ts +12 -0
  19. package/lib/css/declaration/utilities/CSSStyleDeclarationCSSParser.js +34 -0
  20. package/lib/css/declaration/utilities/CSSStyleDeclarationCSSParser.js.map +1 -0
  21. package/lib/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.d.ts +131 -0
  22. package/lib/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.js +133 -0
  23. package/lib/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.js.map +1 -0
  24. package/lib/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.d.ts +40 -0
  25. package/lib/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.js +42 -0
  26. package/lib/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.js.map +1 -0
  27. package/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.d.ts +49 -0
  28. package/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.js +244 -0
  29. package/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.js.map +1 -0
  30. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.d.ts +167 -0
  31. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.js +537 -0
  32. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.js.map +1 -0
  33. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyManager.d.ts +65 -0
  34. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyManager.js +565 -0
  35. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyManager.js.map +1 -0
  36. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.d.ts +809 -0
  37. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.js +2303 -0
  38. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.js.map +1 -0
  39. package/lib/css/declaration/utilities/CSSStyleDeclarationValueParser.d.ts +127 -0
  40. package/lib/css/declaration/utilities/CSSStyleDeclarationValueParser.js +411 -0
  41. package/lib/css/declaration/utilities/CSSStyleDeclarationValueParser.js.map +1 -0
  42. package/lib/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.d.ts +4 -0
  43. package/lib/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.js +3 -0
  44. package/lib/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.js.map +1 -0
  45. package/lib/css/rules/CSSContainerRule.d.ts +15 -0
  46. package/lib/css/rules/CSSContainerRule.js +31 -0
  47. package/lib/css/rules/CSSContainerRule.js.map +1 -0
  48. package/lib/css/rules/CSSFontFaceRule.d.ts +10 -3
  49. package/lib/css/rules/CSSFontFaceRule.js +16 -0
  50. package/lib/css/rules/CSSFontFaceRule.js.map +1 -1
  51. package/lib/css/rules/CSSKeyframeRule.d.ts +10 -3
  52. package/lib/css/rules/CSSKeyframeRule.js +16 -0
  53. package/lib/css/rules/CSSKeyframeRule.js.map +1 -1
  54. package/lib/css/rules/CSSKeyframesRule.d.ts +1 -1
  55. package/lib/css/rules/CSSKeyframesRule.js +1 -1
  56. package/lib/css/rules/CSSKeyframesRule.js.map +1 -1
  57. package/lib/css/rules/CSSMediaRule.d.ts +1 -1
  58. package/lib/css/rules/CSSStyleRule.d.ts +10 -3
  59. package/lib/css/rules/CSSStyleRule.js +16 -0
  60. package/lib/css/rules/CSSStyleRule.js.map +1 -1
  61. package/lib/event/Event.d.ts +2 -3
  62. package/lib/event/Event.js.map +1 -1
  63. package/lib/event/events/IMediaQueryListInit.d.ts +5 -0
  64. package/lib/event/events/IMediaQueryListInit.js +3 -0
  65. package/lib/event/events/IMediaQueryListInit.js.map +1 -0
  66. package/lib/event/events/MediaQueryListEvent.d.ts +16 -0
  67. package/lib/event/events/MediaQueryListEvent.js +28 -0
  68. package/lib/event/events/MediaQueryListEvent.js.map +1 -0
  69. package/lib/exception/DOMException.js +5 -3
  70. package/lib/exception/DOMException.js.map +1 -1
  71. package/lib/exception/DOMExceptionNameEnum.d.ts +2 -1
  72. package/lib/exception/DOMExceptionNameEnum.js +1 -0
  73. package/lib/exception/DOMExceptionNameEnum.js.map +1 -1
  74. package/lib/file/Blob.d.ts +9 -0
  75. package/lib/file/Blob.js +14 -0
  76. package/lib/file/Blob.js.map +1 -1
  77. package/lib/index.d.ts +9 -2
  78. package/lib/index.js +16 -2
  79. package/lib/index.js.map +1 -1
  80. package/lib/match-media/MediaQueryList.d.ts +19 -8
  81. package/lib/match-media/MediaQueryList.js +56 -13
  82. package/lib/match-media/MediaQueryList.js.map +1 -1
  83. package/lib/{attribute → nodes/attr}/Attr.d.ts +8 -7
  84. package/lib/{attribute → nodes/attr}/Attr.js +12 -5
  85. package/lib/nodes/attr/Attr.js.map +1 -0
  86. package/lib/nodes/attr/IAttr.d.ts +14 -0
  87. package/lib/nodes/attr/IAttr.js +3 -0
  88. package/lib/nodes/attr/IAttr.js.map +1 -0
  89. package/lib/nodes/child-node/ChildNodeUtility.js +2 -1
  90. package/lib/nodes/child-node/ChildNodeUtility.js.map +1 -1
  91. package/lib/nodes/document/Document.d.ts +4 -4
  92. package/lib/nodes/document/Document.js +5 -8
  93. package/lib/nodes/document/Document.js.map +1 -1
  94. package/lib/nodes/document/IDocument.d.ts +3 -3
  95. package/lib/nodes/element/Element.d.ts +11 -9
  96. package/lib/nodes/element/Element.js +2 -1
  97. package/lib/nodes/element/Element.js.map +1 -1
  98. package/lib/nodes/element/IElement.d.ts +10 -8
  99. package/lib/nodes/html-element/HTMLElement.d.ts +21 -5
  100. package/lib/nodes/html-element/HTMLElement.js +74 -11
  101. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  102. package/lib/nodes/html-element/IHTMLElement.d.ts +5 -1
  103. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +2 -2
  104. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  105. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +2 -2
  106. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  107. package/lib/nodes/html-select-element/HTMLSelectElement.js +1 -1
  108. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  109. package/lib/nodes/html-style-element/HTMLStyleElement.js +1 -1
  110. package/lib/nodes/html-style-element/HTMLStyleElement.js.map +1 -1
  111. package/lib/nodes/node/INode.d.ts +2 -0
  112. package/lib/nodes/node/Node.d.ts +5 -1
  113. package/lib/nodes/node/Node.js +7 -1
  114. package/lib/nodes/node/Node.js.map +1 -1
  115. package/lib/nodes/node/NodeTypeEnum.d.ts +2 -0
  116. package/lib/nodes/node/NodeTypeEnum.js +2 -0
  117. package/lib/nodes/node/NodeTypeEnum.js.map +1 -1
  118. package/lib/nodes/svg-element/ISVGElement.d.ts +1 -1
  119. package/lib/nodes/svg-element/SVGElement.d.ts +4 -4
  120. package/lib/nodes/svg-element/SVGElement.js +2 -2
  121. package/lib/nodes/svg-element/SVGElement.js.map +1 -1
  122. package/lib/window/IWindow.d.ts +23 -3
  123. package/lib/window/Window.d.ts +35 -6
  124. package/lib/window/Window.js +58 -23
  125. package/lib/window/Window.js.map +1 -1
  126. package/package.json +2 -2
  127. package/src/css/CSSParser.ts +14 -6
  128. package/src/css/CSSRule.ts +15 -13
  129. package/src/css/CSSRuleTypeEnum.ts +18 -0
  130. package/src/css/CSSStyleSheet.ts +12 -22
  131. package/src/css/declaration/AbstractCSSStyleDeclaration.ts +202 -0
  132. package/src/css/declaration/CSSStyleDeclaration.ts +4743 -0
  133. package/src/css/declaration/utilities/CSSStyleDeclarationCSSParser.ts +35 -0
  134. package/src/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.ts +130 -0
  135. package/src/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.ts +39 -0
  136. package/src/css/declaration/utilities/CSSStyleDeclarationElementStyle.ts +282 -0
  137. package/src/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.ts +743 -0
  138. package/src/css/declaration/utilities/CSSStyleDeclarationPropertyManager.ts +592 -0
  139. package/src/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.ts +3026 -0
  140. package/src/css/declaration/utilities/CSSStyleDeclarationValueParser.ts +437 -0
  141. package/src/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.ts +4 -0
  142. package/src/css/rules/CSSContainerRule.ts +23 -0
  143. package/src/css/rules/CSSFontFaceRule.ts +17 -2
  144. package/src/css/rules/CSSKeyframeRule.ts +17 -2
  145. package/src/css/rules/CSSKeyframesRule.ts +1 -1
  146. package/src/css/rules/CSSStyleRule.ts +17 -2
  147. package/src/event/Event.ts +2 -3
  148. package/src/event/events/IMediaQueryListInit.ts +6 -0
  149. package/src/event/events/MediaQueryListEvent.ts +25 -0
  150. package/src/exception/DOMException.ts +3 -3
  151. package/src/exception/DOMExceptionNameEnum.ts +2 -1
  152. package/src/file/Blob.ts +16 -0
  153. package/src/index.ts +15 -1
  154. package/src/match-media/MediaQueryList.ts +63 -10
  155. package/src/{attribute → nodes/attr}/Attr.ts +11 -8
  156. package/src/nodes/attr/IAttr.ts +15 -0
  157. package/src/nodes/child-node/ChildNodeUtility.ts +2 -1
  158. package/src/nodes/document/Document.ts +8 -10
  159. package/src/nodes/document/IDocument.ts +3 -3
  160. package/src/nodes/element/Element.ts +13 -10
  161. package/src/nodes/element/IElement.ts +8 -8
  162. package/src/nodes/html-element/HTMLElement.ts +94 -16
  163. package/src/nodes/html-element/IHTMLElement.ts +3 -1
  164. package/src/nodes/html-link-element/HTMLLinkElement.ts +2 -2
  165. package/src/nodes/html-script-element/HTMLScriptElement.ts +2 -2
  166. package/src/nodes/html-select-element/HTMLSelectElement.ts +1 -1
  167. package/src/nodes/html-style-element/HTMLStyleElement.ts +1 -1
  168. package/src/nodes/node/INode.ts +2 -0
  169. package/src/nodes/node/Node.ts +7 -1
  170. package/src/nodes/node/NodeTypeEnum.ts +2 -0
  171. package/src/nodes/svg-element/ISVGElement.ts +1 -1
  172. package/src/nodes/svg-element/SVGElement.ts +5 -5
  173. package/src/window/IWindow.ts +23 -3
  174. package/src/window/Window.ts +51 -11
  175. package/lib/attribute/Attr.js.map +0 -1
  176. package/lib/css/CSSStyleDeclaration.d.ts +0 -3017
  177. package/lib/css/CSSStyleDeclaration.js +0 -4643
  178. package/lib/css/CSSStyleDeclaration.js.map +0 -1
  179. package/src/css/CSSStyleDeclaration.ts +0 -5026
@@ -1,5 +1,7 @@
1
1
  import EventTarget from '../event/EventTarget';
2
2
  import Event from '../event/Event';
3
+ import IWindow from '../window/IWindow';
4
+ import IEventListener from '../event/IEventListener';
3
5
  /**
4
6
  * Media Query List.
5
7
  *
@@ -7,21 +9,22 @@ import Event from '../event/Event';
7
9
  * https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList.
8
10
  */
9
11
  export default class MediaQueryList extends EventTarget {
10
- _matches: boolean;
11
- _media: string;
12
+ readonly media: string;
12
13
  onchange: (event: Event) => void;
14
+ private _ownerWindow;
13
15
  /**
14
- * Returns "true" if the document matches.
16
+ * Constructor.
15
17
  *
16
- * @returns Matches.
18
+ * @param ownerWindow Window.
19
+ * @param media Media.
17
20
  */
18
- get matches(): boolean;
21
+ constructor(ownerWindow: IWindow, media: string);
19
22
  /**
20
- * Returns the serialized media query.
23
+ * Returns "true" if the document matches.
21
24
  *
22
- * @returns Serialized media query.
25
+ * @returns Matches.
23
26
  */
24
- get media(): string;
27
+ get matches(): boolean;
25
28
  /**
26
29
  * Adds a listener.
27
30
  *
@@ -36,4 +39,12 @@ export default class MediaQueryList extends EventTarget {
36
39
  * @param callback Callback.
37
40
  */
38
41
  removeListener(callback: (event: Event) => void): void;
42
+ /**
43
+ * @override
44
+ */
45
+ addEventListener(type: string, listener: IEventListener | ((event: Event) => void)): void;
46
+ /**
47
+ * @override
48
+ */
49
+ removeEventListener(type: string, listener: IEventListener | ((event: Event) => void)): void;
39
50
  }
@@ -4,6 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const EventTarget_1 = __importDefault(require("../event/EventTarget"));
7
+ const MediaQueryListEvent_1 = __importDefault(require("../event/events/MediaQueryListEvent"));
8
+ const MEDIA_REGEXP = /min-width: *([0-9]+) *px|max-width: *([0-9]+) *px|min-height: *([0-9]+) *px|max-height: *([0-9]+) *px/;
7
9
  /**
8
10
  * Media Query List.
9
11
  *
@@ -11,11 +13,18 @@ const EventTarget_1 = __importDefault(require("../event/EventTarget"));
11
13
  * https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList.
12
14
  */
13
15
  class MediaQueryList extends EventTarget_1.default {
14
- constructor() {
15
- super(...arguments);
16
- this._matches = false;
17
- this._media = '';
16
+ /**
17
+ * Constructor.
18
+ *
19
+ * @param ownerWindow Window.
20
+ * @param media Media.
21
+ */
22
+ constructor(ownerWindow, media) {
23
+ super();
24
+ this.media = '';
18
25
  this.onchange = null;
26
+ this._ownerWindow = ownerWindow;
27
+ this.media = media;
19
28
  }
20
29
  /**
21
30
  * Returns "true" if the document matches.
@@ -23,15 +32,22 @@ class MediaQueryList extends EventTarget_1.default {
23
32
  * @returns Matches.
24
33
  */
25
34
  get matches() {
26
- return this._matches;
27
- }
28
- /**
29
- * Returns the serialized media query.
30
- *
31
- * @returns Serialized media query.
32
- */
33
- get media() {
34
- return this._media;
35
+ const match = MEDIA_REGEXP.exec(this.media);
36
+ if (match) {
37
+ if (match[1]) {
38
+ return this._ownerWindow.innerWidth >= parseInt(match[1]);
39
+ }
40
+ else if (match[2]) {
41
+ return this._ownerWindow.innerWidth <= parseInt(match[2]);
42
+ }
43
+ else if (match[3]) {
44
+ return this._ownerWindow.innerHeight >= parseInt(match[3]);
45
+ }
46
+ else if (match[4]) {
47
+ return this._ownerWindow.innerHeight <= parseInt(match[4]);
48
+ }
49
+ }
50
+ return false;
35
51
  }
36
52
  /**
37
53
  * Adds a listener.
@@ -51,6 +67,33 @@ class MediaQueryList extends EventTarget_1.default {
51
67
  removeListener(callback) {
52
68
  this.removeEventListener('change', callback);
53
69
  }
70
+ /**
71
+ * @override
72
+ */
73
+ addEventListener(type, listener) {
74
+ super.addEventListener(type, listener);
75
+ if (type === 'change') {
76
+ let matchesState = false;
77
+ const resizeListener = () => {
78
+ const matches = this.matches;
79
+ if (matches !== matchesState) {
80
+ matchesState = matches;
81
+ this.dispatchEvent(new MediaQueryListEvent_1.default('change', { matches, media: this.media }));
82
+ }
83
+ };
84
+ listener['_windowResizeListener'] = resizeListener;
85
+ this._ownerWindow.addEventListener('resize', resizeListener);
86
+ }
87
+ }
88
+ /**
89
+ * @override
90
+ */
91
+ removeEventListener(type, listener) {
92
+ super.removeEventListener(type, listener);
93
+ if (type === 'change' && listener['_windowResizeListener']) {
94
+ this._ownerWindow.removeEventListener('resize', listener['_windowResizeListener']);
95
+ }
96
+ }
54
97
  }
55
98
  exports.default = MediaQueryList;
56
99
  //# sourceMappingURL=MediaQueryList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MediaQueryList.js","sourceRoot":"","sources":["../../src/match-media/MediaQueryList.ts"],"names":[],"mappings":";;;;;AAAA,uEAA+C;AAG/C;;;;;GAKG;AACH,MAAqB,cAAe,SAAQ,qBAAW;IAAvD;;QACQ,aAAQ,GAAG,KAAK,CAAC;QACjB,WAAM,GAAG,EAAE,CAAC;QACZ,aAAQ,GAA2B,IAAI,CAAC;IAuChD,CAAC;IArCA;;;;OAIG;IACH,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,QAAgC;QAClD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,QAAgC;QACrD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACD;AA1CD,iCA0CC"}
1
+ {"version":3,"file":"MediaQueryList.js","sourceRoot":"","sources":["../../src/match-media/MediaQueryList.ts"],"names":[],"mappings":";;;;;AAAA,uEAA+C;AAI/C,8FAAsE;AAEtE,MAAM,YAAY,GACjB,uGAAuG,CAAC;AAEzG;;;;;GAKG;AACH,MAAqB,cAAe,SAAQ,qBAAW;IAKtD;;;;;OAKG;IACH,YAAY,WAAoB,EAAE,KAAa;QAC9C,KAAK,EAAE,CAAC;QAXO,UAAK,GAAW,EAAE,CAAC;QAC5B,aAAQ,GAA2B,IAAI,CAAC;QAW9C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,IAAW,OAAO;QACjB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,KAAK,EAAE;YACV,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;gBACb,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1D;iBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;gBACpB,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1D;iBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;gBACpB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3D;iBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;gBACpB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3D;SACD;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,QAAgC;QAClD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,QAAgC;QACrD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,IAAY,EAAE,QAAmD;QACxF,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvC,IAAI,IAAI,KAAK,QAAQ,EAAE;YACtB,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,MAAM,cAAc,GAAG,GAAS,EAAE;gBACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC7B,IAAI,OAAO,KAAK,YAAY,EAAE;oBAC7B,YAAY,GAAG,OAAO,CAAC;oBACvB,IAAI,CAAC,aAAa,CAAC,IAAI,6BAAmB,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACtF;YACF,CAAC,CAAC;YACF,QAAQ,CAAC,uBAAuB,CAAC,GAAG,cAAc,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;SAC7D;IACF,CAAC;IAED;;OAEG;IACI,mBAAmB,CACzB,IAAY,EACZ,QAAmD;QAEnD,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,IAAI,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,uBAAuB,CAAC,EAAE;YAC3D,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;SACnF;IACF,CAAC;CACD;AAzFD,iCAyFC"}
@@ -1,11 +1,12 @@
1
- import IDocument from '../nodes/document/IDocument';
2
- import IElement from '../nodes/element/IElement';
1
+ import IElement from '../element/IElement';
2
+ import Node from '../node/Node';
3
+ import IAttr from './IAttr';
3
4
  /**
4
5
  * Attribute node interface.
5
6
  *
6
7
  * Reference: https://developer.mozilla.org/en-US/docs/Web/API/Attr.
7
8
  */
8
- export default class Attr {
9
+ export default class Attr extends Node implements IAttr {
9
10
  value: string;
10
11
  name: string;
11
12
  namespaceURI: string;
@@ -13,10 +14,6 @@ export default class Attr {
13
14
  * @deprecated
14
15
  */
15
16
  readonly ownerElement: IElement;
16
- /**
17
- * @deprecated
18
- */
19
- readonly ownerDocument: IDocument;
20
17
  /**
21
18
  * @deprecated
22
19
  */
@@ -33,4 +30,8 @@ export default class Attr {
33
30
  * @returns Prefix.
34
31
  */
35
32
  get prefix(): string;
33
+ /**
34
+ * @override
35
+ */
36
+ get textContent(): string;
36
37
  }
@@ -1,12 +1,17 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Node_1 = __importDefault(require("../node/Node"));
3
7
  /**
4
8
  * Attribute node interface.
5
9
  *
6
10
  * Reference: https://developer.mozilla.org/en-US/docs/Web/API/Attr.
7
11
  */
8
- class Attr {
12
+ class Attr extends Node_1.default {
9
13
  constructor() {
14
+ super(...arguments);
10
15
  this.value = null;
11
16
  this.name = null;
12
17
  this.namespaceURI = null;
@@ -14,10 +19,6 @@ class Attr {
14
19
  * @deprecated
15
20
  */
16
21
  this.ownerElement = null;
17
- /**
18
- * @deprecated
19
- */
20
- this.ownerDocument = null;
21
22
  /**
22
23
  * @deprecated
23
24
  */
@@ -39,6 +40,12 @@ class Attr {
39
40
  get prefix() {
40
41
  return this.name ? this.name.split(':')[0] : null;
41
42
  }
43
+ /**
44
+ * @override
45
+ */
46
+ get textContent() {
47
+ return this.value;
48
+ }
42
49
  }
43
50
  exports.default = Attr;
44
51
  //# sourceMappingURL=Attr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Attr.js","sourceRoot":"","sources":["../../../src/nodes/attr/Attr.ts"],"names":[],"mappings":";;;;;AACA,wDAAgC;AAGhC;;;;GAIG;AACH,MAAqB,IAAK,SAAQ,cAAI;IAAtC;;QACQ,UAAK,GAAW,IAAI,CAAC;QACrB,SAAI,GAAW,IAAI,CAAC;QACpB,iBAAY,GAAW,IAAI,CAAC;QAEnC;;WAEG;QACa,iBAAY,GAAa,IAAI,CAAC;QAE9C;;WAEG;QACa,cAAS,GAAG,IAAI,CAAC;IA0BlC,CAAC;IAxBA;;;;OAIG;IACH,IAAW,SAAS;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,IAAW,WAAW;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;CACD;AAvCD,uBAuCC"}
@@ -0,0 +1,14 @@
1
+ import IElement from '../element/IElement';
2
+ import INode from './../node/INode';
3
+ /**
4
+ * Attr.
5
+ */
6
+ export default interface IAttr extends INode {
7
+ value: string;
8
+ name: string;
9
+ namespaceURI: string;
10
+ readonly ownerElement: IElement;
11
+ readonly specified: boolean;
12
+ readonly localName: string;
13
+ readonly prefix: string;
14
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IAttr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAttr.js","sourceRoot":"","sources":["../../../src/nodes/attr/IAttr.ts"],"names":[],"mappings":""}
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const DOMException_1 = __importDefault(require("../../exception/DOMException"));
6
7
  const XMLParser_1 = __importDefault(require("../../xml-parser/XMLParser"));
7
8
  /**
8
9
  * Child node utility.
@@ -27,7 +28,7 @@ class ChildNodeUtility {
27
28
  static replaceWith(childNode, ...nodes) {
28
29
  const parent = childNode.parentNode;
29
30
  if (!parent) {
30
- return;
31
+ throw new DOMException_1.default('This element has no parent node.');
31
32
  }
32
33
  for (const node of nodes) {
33
34
  if (typeof node === 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"ChildNodeUtility.js","sourceRoot":"","sources":["../../../src/nodes/child-node/ChildNodeUtility.ts"],"names":[],"mappings":";;;;;AAAA,2EAAmD;AAMnD;;GAEG;AACH,MAAqB,gBAAgB;IACpC;;;;OAIG;IACI,MAAM,CAAC,MAAM,CAAC,SAAqB;QACzC,IAAI,SAAS,CAAC,UAAU,EAAE;YACzB,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC5C;IACF,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,WAAW,CAAC,SAAqB,EAAE,GAAG,KAAyB;QAC5E,MAAM,MAAM,GAAgB,SAAS,CAAC,UAAU,CAAC;QAEjD,IAAI,CAAC,MAAM,EAAE;YACZ,OAAO;SACP;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC7B,MAAM,aAAa,GAAG,mBAAS,CAAC,KAAK,CAC1B,SAAS,CAAC,aAAa,EACjC,IAAI,CACJ,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;oBACzC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;iBAC7C;aACD;iBAAM;gBACN,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;aACrC;SACD;QAED,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,MAAM,CAAC,SAAqB,EAAE,GAAG,KAAyB;QACvE,MAAM,MAAM,GAAgB,SAAS,CAAC,UAAU,CAAC;QAEjD,IAAI,CAAC,MAAM,EAAE;YACZ,OAAO;SACP;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC7B,MAAM,aAAa,GAAG,mBAAS,CAAC,KAAK,CAC1B,SAAS,CAAC,aAAa,EACjC,IAAI,CACJ,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;oBACzC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;iBAC7C;aACD;iBAAM;gBACN,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;aACrC;SACD;IACF,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,SAAqB,EAAE,GAAG,KAAyB;QACtE,MAAM,MAAM,GAAgB,SAAS,CAAC,UAAU,CAAC;QAEjD,IAAI,CAAC,MAAM,EAAE;YACZ,OAAO;SACP;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC7B,MAAM,aAAa,GAAG,mBAAS,CAAC,KAAK,CAC1B,SAAS,CAAC,aAAa,EACjC,IAAI,CACJ,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;oBACzC,IAAI,CAAC,WAAW,EAAE;wBACjB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;qBACjC;yBAAM;wBACN,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;qBAC/C;iBACD;aACD;iBAAM,IAAI,CAAC,WAAW,EAAE;gBACxB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aACzB;iBAAM;gBACN,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;aACvC;SACD;IACF,CAAC;CACD;AAzGD,mCAyGC"}
1
+ {"version":3,"file":"ChildNodeUtility.js","sourceRoot":"","sources":["../../../src/nodes/child-node/ChildNodeUtility.ts"],"names":[],"mappings":";;;;;AAAA,gFAAwD;AACxD,2EAAmD;AAMnD;;GAEG;AACH,MAAqB,gBAAgB;IACpC;;;;OAIG;IACI,MAAM,CAAC,MAAM,CAAC,SAAqB;QACzC,IAAI,SAAS,CAAC,UAAU,EAAE;YACzB,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC5C;IACF,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,WAAW,CAAC,SAAqB,EAAE,GAAG,KAAyB;QAC5E,MAAM,MAAM,GAAgB,SAAS,CAAC,UAAU,CAAC;QAEjD,IAAI,CAAC,MAAM,EAAE;YACZ,MAAM,IAAI,sBAAY,CAAC,kCAAkC,CAAC,CAAC;SAC3D;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC7B,MAAM,aAAa,GAAG,mBAAS,CAAC,KAAK,CAC1B,SAAS,CAAC,aAAa,EACjC,IAAI,CACJ,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;oBACzC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;iBAC7C;aACD;iBAAM;gBACN,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;aACrC;SACD;QAED,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,MAAM,CAAC,SAAqB,EAAE,GAAG,KAAyB;QACvE,MAAM,MAAM,GAAgB,SAAS,CAAC,UAAU,CAAC;QAEjD,IAAI,CAAC,MAAM,EAAE;YACZ,OAAO;SACP;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC7B,MAAM,aAAa,GAAG,mBAAS,CAAC,KAAK,CAC1B,SAAS,CAAC,aAAa,EACjC,IAAI,CACJ,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;oBACzC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;iBAC7C;aACD;iBAAM;gBACN,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;aACrC;SACD;IACF,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,SAAqB,EAAE,GAAG,KAAyB;QACtE,MAAM,MAAM,GAAgB,SAAS,CAAC,UAAU,CAAC;QAEjD,IAAI,CAAC,MAAM,EAAE;YACZ,OAAO;SACP;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC7B,MAAM,aAAa,GAAG,mBAAS,CAAC,KAAK,CAC1B,SAAS,CAAC,aAAa,EACjC,IAAI,CACJ,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;oBACzC,IAAI,CAAC,WAAW,EAAE;wBACjB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;qBACjC;yBAAM;wBACN,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;qBAC/C;iBACD;aACD;iBAAM,IAAI,CAAC,WAAW,EAAE;gBACxB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aACzB;iBAAM;gBACN,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;aACvC;SACD;IACF,CAAC;CACD;AAzGD,mCAyGC"}
@@ -4,7 +4,6 @@ import TreeWalker from '../../tree-walker/TreeWalker';
4
4
  import Event from '../../event/Event';
5
5
  import DOMImplementation from '../../dom-implementation/DOMImplementation';
6
6
  import INodeFilter from '../../tree-walker/INodeFilter';
7
- import Attr from '../../attribute/Attr';
8
7
  import IDocument from './IDocument';
9
8
  import CSSStyleSheet from '../../css/CSSStyleSheet';
10
9
  import IElement from '../element/IElement';
@@ -22,6 +21,7 @@ import DocumentReadyStateManager from './DocumentReadyStateManager';
22
21
  import Location from '../../location/Location';
23
22
  import Selection from '../../selection/Selection';
24
23
  import Range from '../../range/Range';
24
+ import IAttr from '../attr/IAttr';
25
25
  /**
26
26
  * Document.
27
27
  */
@@ -335,10 +335,10 @@ export default class Document extends Node implements IDocument {
335
335
  /**
336
336
  * Creates an Attr node.
337
337
  *
338
- * @param name Name.
338
+ * @param qualifiedName Name.
339
339
  * @returns Attribute.
340
340
  */
341
- createAttribute(name: string): Attr;
341
+ createAttribute(qualifiedName: string): IAttr;
342
342
  /**
343
343
  * Creates a namespaced Attr node.
344
344
  *
@@ -346,7 +346,7 @@ export default class Document extends Node implements IDocument {
346
346
  * @param qualifiedName Qualified name.
347
347
  * @returns Element.
348
348
  */
349
- createAttributeNS(namespaceURI: string, qualifiedName: string): Attr;
349
+ createAttributeNS(namespaceURI: string, qualifiedName: string): IAttr;
350
350
  /**
351
351
  * Imports a node.
352
352
  *
@@ -14,7 +14,7 @@ const XMLParser_1 = __importDefault(require("../../xml-parser/XMLParser"));
14
14
  const Event_1 = __importDefault(require("../../event/Event"));
15
15
  const DOMImplementation_1 = __importDefault(require("../../dom-implementation/DOMImplementation"));
16
16
  const ElementTag_1 = __importDefault(require("../../config/ElementTag"));
17
- const Attr_1 = __importDefault(require("../../attribute/Attr"));
17
+ const Attr_1 = __importDefault(require("../attr/Attr"));
18
18
  const NamespaceURI_1 = __importDefault(require("../../config/NamespaceURI"));
19
19
  const DocumentType_1 = __importDefault(require("../document-type/DocumentType"));
20
20
  const ParentNodeUtility_1 = __importDefault(require("../parent-node/ParentNodeUtility"));
@@ -610,14 +610,11 @@ class Document extends Node_1.default {
610
610
  /**
611
611
  * Creates an Attr node.
612
612
  *
613
- * @param name Name.
613
+ * @param qualifiedName Name.
614
614
  * @returns Attribute.
615
615
  */
616
- createAttribute(name) {
617
- const attribute = new Attr_1.default();
618
- attribute.name = name.toLowerCase();
619
- attribute.ownerDocument = this;
620
- return attribute;
616
+ createAttribute(qualifiedName) {
617
+ return this.createAttributeNS(null, qualifiedName.toLowerCase());
621
618
  }
622
619
  /**
623
620
  * Creates a namespaced Attr node.
@@ -627,10 +624,10 @@ class Document extends Node_1.default {
627
624
  * @returns Element.
628
625
  */
629
626
  createAttributeNS(namespaceURI, qualifiedName) {
627
+ Attr_1.default._ownerDocument = this;
630
628
  const attribute = new Attr_1.default();
631
629
  attribute.namespaceURI = namespaceURI;
632
630
  attribute.name = qualifiedName;
633
- attribute.ownerDocument = this;
634
631
  return attribute;
635
632
  }
636
633
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Document.js","sourceRoot":"","sources":["../../../src/nodes/document/Document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Document.js","sourceRoot":"","sources":["../../../src/nodes/document/Document.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import TreeWalker from '../../tree-walker/TreeWalker';
5
5
  import Event from '../../event/Event';
6
6
  import DOMImplementation from '../../dom-implementation/DOMImplementation';
7
7
  import INodeFilter from '../../tree-walker/INodeFilter';
8
- import Attr from '../../attribute/Attr';
8
+ import IAttr from '../attr/IAttr';
9
9
  import IDocumentType from '../document-type/IDocumentType';
10
10
  import IParentNode from '../parent-node/IParentNode';
11
11
  import INode from '../node/INode';
@@ -117,7 +117,7 @@ export default interface IDocument extends IParentNode {
117
117
  * @param name Name.
118
118
  * @returns Attribute.
119
119
  */
120
- createAttribute(name: string): Attr;
120
+ createAttribute(name: string): IAttr;
121
121
  /**
122
122
  * Creates a namespaced Attr node.
123
123
  *
@@ -125,7 +125,7 @@ export default interface IDocument extends IParentNode {
125
125
  * @param qualifiedName Qualified name.
126
126
  * @returns Element.
127
127
  */
128
- createAttributeNS(namespaceURI: string, qualifiedName: string): Attr;
128
+ createAttributeNS(namespaceURI: string, qualifiedName: string): IAttr;
129
129
  /**
130
130
  * Imports a node.
131
131
  *
@@ -1,5 +1,4 @@
1
1
  import Node from '../node/Node';
2
- import Attr from '../../attribute/Attr';
3
2
  import DOMRect from './DOMRect';
4
3
  import IDOMTokenList from '../../dom-token-list/IDOMTokenList';
5
4
  import IElement from './IElement';
@@ -9,6 +8,7 @@ import IHTMLCollection from './IHTMLCollection';
9
8
  import INodeList from '../node/INodeList';
10
9
  import { TInsertAdjacentPositions } from './IElement';
11
10
  import IDOMRectList from './IDOMRectList';
11
+ import IAttr from '../attr/IAttr';
12
12
  /**
13
13
  * Element.
14
14
  */
@@ -24,7 +24,7 @@ export default class Element extends Node implements IElement {
24
24
  readonly namespaceURI: string;
25
25
  _shadowRoot: IShadowRoot;
26
26
  _attributes: {
27
- [k: string]: Attr;
27
+ [k: string]: IAttr;
28
28
  };
29
29
  private _classList;
30
30
  _isValue?: string;
@@ -124,7 +124,9 @@ export default class Element extends Node implements IElement {
124
124
  * @returns Attributes.
125
125
  */
126
126
  get attributes(): {
127
- [k: string]: Attr | number;
127
+ [k: string | number]: IAttr;
128
+ } & {
129
+ length: number;
128
130
  };
129
131
  /**
130
132
  * First element child.
@@ -426,21 +428,21 @@ export default class Element extends Node implements IElement {
426
428
  * @param attribute Attribute.
427
429
  * @returns Replaced attribute.
428
430
  */
429
- setAttributeNode(attribute: Attr): Attr;
431
+ setAttributeNode(attribute: IAttr): IAttr;
430
432
  /**
431
433
  * The setAttributeNodeNS() method adds a new Attr node to the specified element.
432
434
  *
433
435
  * @param attribute Attribute.
434
436
  * @returns Replaced attribute.
435
437
  */
436
- setAttributeNodeNS(attribute: Attr): Attr;
438
+ setAttributeNodeNS(attribute: IAttr): IAttr;
437
439
  /**
438
440
  * Returns an Attr node.
439
441
  *
440
442
  * @param name Name.
441
443
  * @returns Replaced attribute.
442
444
  */
443
- getAttributeNode(name: string): Attr;
445
+ getAttributeNode(name: string): IAttr;
444
446
  /**
445
447
  * Returns a namespaced Attr node.
446
448
  *
@@ -448,19 +450,19 @@ export default class Element extends Node implements IElement {
448
450
  * @param name Name.
449
451
  * @returns Replaced attribute.
450
452
  */
451
- getAttributeNodeNS(namespace: string, name: string): Attr;
453
+ getAttributeNodeNS(namespace: string, name: string): IAttr;
452
454
  /**
453
455
  * Removes an Attr node.
454
456
  *
455
457
  * @param attribute Attribute.
456
458
  */
457
- removeAttributeNode(attribute: Attr): void;
459
+ removeAttributeNode(attribute: IAttr): void;
458
460
  /**
459
461
  * Removes an Attr node.
460
462
  *
461
463
  * @param attribute Attribute.
462
464
  */
463
- removeAttributeNodeNS(attribute: Attr): void;
465
+ removeAttributeNodeNS(attribute: IAttr): void;
464
466
  /**
465
467
  * Scrolls to a particular set of coordinates.
466
468
  *
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Node_1 = __importDefault(require("../node/Node"));
7
7
  const ShadowRoot_1 = __importDefault(require("../shadow-root/ShadowRoot"));
8
- const Attr_1 = __importDefault(require("../../attribute/Attr"));
8
+ const Attr_1 = __importDefault(require("../attr/Attr"));
9
9
  const DOMRect_1 = __importDefault(require("./DOMRect"));
10
10
  const DOMTokenList_1 = __importDefault(require("../../dom-token-list/DOMTokenList"));
11
11
  const QuerySelector_1 = __importDefault(require("../../query-selector/QuerySelector"));
@@ -257,6 +257,7 @@ class Element extends Node_1.default {
257
257
  */
258
258
  cloneNode(deep = false) {
259
259
  const clone = super.cloneNode(deep);
260
+ Attr_1.default._ownerDocument = this.ownerDocument;
260
261
  for (const key of Object.keys(this._attributes)) {
261
262
  const attr = Object.assign(new Attr_1.default(), this._attributes[key]);
262
263
  attr.ownerElement = clone;