happy-dom 13.0.7 → 13.1.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 (615) hide show
  1. package/cjs/PropertySymbol.cjs +69 -2
  2. package/cjs/PropertySymbol.cjs.map +1 -1
  3. package/cjs/PropertySymbol.d.ts +67 -1
  4. package/cjs/PropertySymbol.d.ts.map +1 -1
  5. package/cjs/browser/utilities/BrowserFrameNavigator.cjs +1 -1
  6. package/cjs/browser/utilities/BrowserFrameNavigator.cjs.map +1 -1
  7. package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs +17 -16
  8. package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs.map +1 -1
  9. package/cjs/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +1 -1
  10. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs +43 -26
  11. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs.map +1 -1
  12. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
  13. package/cjs/dom-implementation/DOMImplementation.cjs +6 -6
  14. package/cjs/dom-implementation/DOMImplementation.cjs.map +1 -1
  15. package/cjs/dom-parser/DOMParser.cjs +2 -2
  16. package/cjs/dom-parser/DOMParser.cjs.map +1 -1
  17. package/cjs/dom-parser/DOMParser.d.ts.map +1 -1
  18. package/cjs/dom-token-list/DOMTokenList.cjs +38 -26
  19. package/cjs/dom-token-list/DOMTokenList.cjs.map +1 -1
  20. package/cjs/dom-token-list/DOMTokenList.d.ts +6 -1
  21. package/cjs/dom-token-list/DOMTokenList.d.ts.map +1 -1
  22. package/cjs/event/Event.cjs +3 -3
  23. package/cjs/event/Event.cjs.map +1 -1
  24. package/cjs/event/EventTarget.cjs +4 -4
  25. package/cjs/event/EventTarget.cjs.map +1 -1
  26. package/cjs/fetch/Request.cjs +2 -1
  27. package/cjs/fetch/Request.cjs.map +1 -1
  28. package/cjs/fetch/Request.d.ts +4 -4
  29. package/cjs/fetch/Request.d.ts.map +1 -1
  30. package/cjs/form-data/FormData.cjs +7 -7
  31. package/cjs/form-data/FormData.cjs.map +1 -1
  32. package/cjs/mutation-observer/MutationObserver.cjs +3 -3
  33. package/cjs/mutation-observer/MutationObserver.cjs.map +1 -1
  34. package/cjs/named-node-map/NamedNodeMap.cjs +10 -8
  35. package/cjs/named-node-map/NamedNodeMap.cjs.map +1 -1
  36. package/cjs/named-node-map/NamedNodeMap.d.ts.map +1 -1
  37. package/cjs/nodes/attr/Attr.cjs +84 -15
  38. package/cjs/nodes/attr/Attr.cjs.map +1 -1
  39. package/cjs/nodes/attr/Attr.d.ts +40 -8
  40. package/cjs/nodes/attr/Attr.d.ts.map +1 -1
  41. package/cjs/nodes/character-data/CharacterData.cjs +2 -2
  42. package/cjs/nodes/character-data/CharacterData.cjs.map +1 -1
  43. package/cjs/nodes/child-node/ChildNodeUtility.cjs +8 -8
  44. package/cjs/nodes/child-node/ChildNodeUtility.cjs.map +1 -1
  45. package/cjs/nodes/child-node/NonDocumentChildNodeUtility.cjs +27 -3
  46. package/cjs/nodes/child-node/NonDocumentChildNodeUtility.cjs.map +1 -1
  47. package/cjs/nodes/child-node/NonDocumentChildNodeUtility.d.ts.map +1 -1
  48. package/cjs/nodes/comment/Comment.cjs +28 -2
  49. package/cjs/nodes/comment/Comment.cjs.map +1 -1
  50. package/cjs/nodes/comment/Comment.d.ts +3 -1
  51. package/cjs/nodes/comment/Comment.d.ts.map +1 -1
  52. package/cjs/nodes/document/Document.cjs +95 -41
  53. package/cjs/nodes/document/Document.cjs.map +1 -1
  54. package/cjs/nodes/document/Document.d.ts +45 -10
  55. package/cjs/nodes/document/Document.d.ts.map +1 -1
  56. package/cjs/nodes/document/IDocument.d.ts +2 -1
  57. package/cjs/nodes/document/IDocument.d.ts.map +1 -1
  58. package/cjs/nodes/document-fragment/DocumentFragment.cjs +8 -6
  59. package/cjs/nodes/document-fragment/DocumentFragment.cjs.map +1 -1
  60. package/cjs/nodes/document-fragment/DocumentFragment.d.ts +2 -1
  61. package/cjs/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
  62. package/cjs/nodes/document-type/DocumentType.cjs +58 -7
  63. package/cjs/nodes/document-type/DocumentType.cjs.map +1 -1
  64. package/cjs/nodes/document-type/DocumentType.d.ts +24 -4
  65. package/cjs/nodes/document-type/DocumentType.d.ts.map +1 -1
  66. package/cjs/nodes/element/Dataset.cjs +14 -14
  67. package/cjs/nodes/element/Dataset.cjs.map +1 -1
  68. package/cjs/nodes/element/Dataset.d.ts +1 -1
  69. package/cjs/nodes/element/Dataset.d.ts.map +1 -1
  70. package/cjs/nodes/element/Element.cjs +142 -55
  71. package/cjs/nodes/element/Element.cjs.map +1 -1
  72. package/cjs/nodes/element/Element.d.ts +77 -11
  73. package/cjs/nodes/element/Element.d.ts.map +1 -1
  74. package/cjs/nodes/element/ElementNamedNodeMap.cjs +33 -30
  75. package/cjs/nodes/element/ElementNamedNodeMap.cjs.map +1 -1
  76. package/cjs/nodes/element/ElementNamedNodeMap.d.ts.map +1 -1
  77. package/cjs/nodes/element/ElementUtility.cjs +19 -19
  78. package/cjs/nodes/element/ElementUtility.cjs.map +1 -1
  79. package/cjs/nodes/element/ElementUtility.d.ts.map +1 -1
  80. package/cjs/nodes/element/IElement.d.ts +3 -3
  81. package/cjs/nodes/element/IElement.d.ts.map +1 -1
  82. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs +6 -6
  83. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs.map +1 -1
  84. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts +1 -1
  85. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  86. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.cjs +7 -5
  87. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.cjs.map +1 -1
  88. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts.map +1 -1
  89. package/cjs/nodes/html-base-element/HTMLBaseElement.cjs +25 -1
  90. package/cjs/nodes/html-base-element/HTMLBaseElement.cjs.map +1 -1
  91. package/cjs/nodes/html-base-element/HTMLBaseElement.d.ts.map +1 -1
  92. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs +27 -8
  93. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs.map +1 -1
  94. package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts +16 -3
  95. package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  96. package/cjs/nodes/html-button-element/HTMLButtonElementNamedNodeMap.cjs +7 -7
  97. package/cjs/nodes/html-button-element/HTMLButtonElementNamedNodeMap.cjs.map +1 -1
  98. package/cjs/nodes/html-dialog-element/HTMLDialogElement.cjs +44 -1
  99. package/cjs/nodes/html-dialog-element/HTMLDialogElement.cjs.map +1 -1
  100. package/cjs/nodes/html-dialog-element/HTMLDialogElement.d.ts +14 -1
  101. package/cjs/nodes/html-dialog-element/HTMLDialogElement.d.ts.map +1 -1
  102. package/cjs/nodes/html-document/HTMLDocument.cjs +25 -1
  103. package/cjs/nodes/html-document/HTMLDocument.cjs.map +1 -1
  104. package/cjs/nodes/html-document/HTMLDocument.d.ts.map +1 -1
  105. package/cjs/nodes/html-element/HTMLElement.cjs +137 -32
  106. package/cjs/nodes/html-element/HTMLElement.cjs.map +1 -1
  107. package/cjs/nodes/html-element/HTMLElement.d.ts +91 -14
  108. package/cjs/nodes/html-element/HTMLElement.d.ts.map +1 -1
  109. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.cjs +4 -3
  110. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.cjs.map +1 -1
  111. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.d.ts.map +1 -1
  112. package/cjs/nodes/html-element/HTMLElementUtility.cjs +12 -10
  113. package/cjs/nodes/html-element/HTMLElementUtility.cjs.map +1 -1
  114. package/cjs/nodes/html-element/HTMLElementUtility.d.ts.map +1 -1
  115. package/cjs/nodes/html-element/IHTMLElement.d.ts +3 -0
  116. package/cjs/nodes/html-element/IHTMLElement.d.ts.map +1 -1
  117. package/cjs/nodes/html-form-element/HTMLFormElement.cjs +62 -30
  118. package/cjs/nodes/html-form-element/HTMLFormElement.cjs.map +1 -1
  119. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts +22 -3
  120. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  121. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs +5 -5
  122. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs.map +1 -1
  123. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts +1 -1
  124. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  125. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.cjs +27 -1
  126. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.cjs.map +1 -1
  127. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts.map +1 -1
  128. package/cjs/nodes/html-iframe-element/HTMLIFrameElementPageLoader.cjs +2 -2
  129. package/cjs/nodes/html-iframe-element/HTMLIFrameElementPageLoader.cjs.map +1 -1
  130. package/cjs/nodes/html-image-element/HTMLImageElement.cjs +128 -26
  131. package/cjs/nodes/html-image-element/HTMLImageElement.cjs.map +1 -1
  132. package/cjs/nodes/html-image-element/HTMLImageElement.d.ts +76 -21
  133. package/cjs/nodes/html-image-element/HTMLImageElement.d.ts.map +1 -1
  134. package/cjs/nodes/html-input-element/HTMLInputElement.cjs +112 -27
  135. package/cjs/nodes/html-input-element/HTMLInputElement.cjs.map +1 -1
  136. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts +67 -10
  137. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  138. package/cjs/nodes/html-input-element/HTMLInputElementNamedNodeMap.cjs +7 -7
  139. package/cjs/nodes/html-input-element/HTMLInputElementNamedNodeMap.cjs.map +1 -1
  140. package/cjs/nodes/html-label-element/HTMLLabelElement.cjs +1 -1
  141. package/cjs/nodes/html-label-element/HTMLLabelElement.cjs.map +1 -1
  142. package/cjs/nodes/html-label-element/HTMLLabelElementUtility.cjs +26 -2
  143. package/cjs/nodes/html-label-element/HTMLLabelElementUtility.cjs.map +1 -1
  144. package/cjs/nodes/html-label-element/HTMLLabelElementUtility.d.ts.map +1 -1
  145. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs +15 -8
  146. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs.map +1 -1
  147. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts +6 -2
  148. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  149. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.cjs +7 -6
  150. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.cjs.map +1 -1
  151. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts.map +1 -1
  152. package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.cjs +8 -5
  153. package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.cjs.map +1 -1
  154. package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.d.ts.map +1 -1
  155. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs +154 -53
  156. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs.map +1 -1
  157. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts +86 -12
  158. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  159. package/cjs/nodes/html-option-element/HTMLOptionElement.cjs +4 -4
  160. package/cjs/nodes/html-option-element/HTMLOptionElement.cjs.map +1 -1
  161. package/cjs/nodes/html-option-element/HTMLOptionElement.d.ts +1 -1
  162. package/cjs/nodes/html-option-element/HTMLOptionElement.d.ts.map +1 -1
  163. package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.cjs +3 -3
  164. package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.cjs.map +1 -1
  165. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs +12 -11
  166. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs.map +1 -1
  167. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts +1 -1
  168. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  169. package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.cjs +4 -4
  170. package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.cjs.map +1 -1
  171. package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.cjs +8 -8
  172. package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.cjs.map +1 -1
  173. package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.d.ts.map +1 -1
  174. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs +63 -32
  175. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs.map +1 -1
  176. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts +30 -5
  177. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  178. package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.cjs +7 -7
  179. package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.cjs.map +1 -1
  180. package/cjs/nodes/html-style-element/HTMLStyleElement.cjs +6 -6
  181. package/cjs/nodes/html-style-element/HTMLStyleElement.cjs.map +1 -1
  182. package/cjs/nodes/html-style-element/HTMLStyleElement.d.ts +1 -1
  183. package/cjs/nodes/html-style-element/HTMLStyleElement.d.ts.map +1 -1
  184. package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs +27 -12
  185. package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs.map +1 -1
  186. package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts +8 -1
  187. package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
  188. package/cjs/nodes/html-template-element/IHTMLTemplateElement.d.ts +1 -1
  189. package/cjs/nodes/html-template-element/IHTMLTemplateElement.d.ts.map +1 -1
  190. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs +27 -9
  191. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs.map +1 -1
  192. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +16 -3
  193. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  194. package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.cjs +7 -7
  195. package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.cjs.map +1 -1
  196. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs +24 -17
  197. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs.map +1 -1
  198. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.d.ts.map +1 -1
  199. package/cjs/nodes/node/INode.d.ts +2 -2
  200. package/cjs/nodes/node/INode.d.ts.map +1 -1
  201. package/cjs/nodes/node/Node.cjs +95 -56
  202. package/cjs/nodes/node/Node.cjs.map +1 -1
  203. package/cjs/nodes/node/Node.d.ts +44 -20
  204. package/cjs/nodes/node/Node.d.ts.map +1 -1
  205. package/cjs/nodes/node/NodeUtility.cjs +37 -37
  206. package/cjs/nodes/node/NodeUtility.cjs.map +1 -1
  207. package/cjs/nodes/node/NodeUtility.d.ts.map +1 -1
  208. package/cjs/nodes/parent-node/ParentNodeUtility.cjs +8 -5
  209. package/cjs/nodes/parent-node/ParentNodeUtility.cjs.map +1 -1
  210. package/cjs/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
  211. package/cjs/nodes/processing-instruction/ProcessingInstruction.cjs +35 -1
  212. package/cjs/nodes/processing-instruction/ProcessingInstruction.cjs.map +1 -1
  213. package/cjs/nodes/processing-instruction/ProcessingInstruction.d.ts +9 -2
  214. package/cjs/nodes/processing-instruction/ProcessingInstruction.d.ts.map +1 -1
  215. package/cjs/nodes/shadow-root/IShadowRoot.d.ts +2 -0
  216. package/cjs/nodes/shadow-root/IShadowRoot.d.ts.map +1 -1
  217. package/cjs/nodes/shadow-root/ShadowRoot.cjs +44 -7
  218. package/cjs/nodes/shadow-root/ShadowRoot.cjs.map +1 -1
  219. package/cjs/nodes/shadow-root/ShadowRoot.d.ts +28 -3
  220. package/cjs/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
  221. package/cjs/nodes/svg-element/SVGElement.cjs +7 -6
  222. package/cjs/nodes/svg-element/SVGElement.cjs.map +1 -1
  223. package/cjs/nodes/svg-element/SVGElement.d.ts +2 -2
  224. package/cjs/nodes/svg-element/SVGElement.d.ts.map +1 -1
  225. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.cjs +4 -3
  226. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.cjs.map +1 -1
  227. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.d.ts.map +1 -1
  228. package/cjs/nodes/text/Text.cjs +7 -6
  229. package/cjs/nodes/text/Text.cjs.map +1 -1
  230. package/cjs/nodes/text/Text.d.ts +2 -1
  231. package/cjs/nodes/text/Text.d.ts.map +1 -1
  232. package/cjs/query-selector/QuerySelector.cjs +2 -2
  233. package/cjs/query-selector/QuerySelector.cjs.map +1 -1
  234. package/cjs/query-selector/SelectorItem.cjs +16 -16
  235. package/cjs/query-selector/SelectorItem.cjs.map +1 -1
  236. package/cjs/query-selector/SelectorItem.d.ts.map +1 -1
  237. package/cjs/range/Range.cjs +91 -79
  238. package/cjs/range/Range.cjs.map +1 -1
  239. package/cjs/range/Range.d.ts.map +1 -1
  240. package/cjs/range/RangeUtility.cjs +5 -4
  241. package/cjs/range/RangeUtility.cjs.map +1 -1
  242. package/cjs/range/RangeUtility.d.ts.map +1 -1
  243. package/cjs/selection/Selection.cjs +15 -15
  244. package/cjs/selection/Selection.cjs.map +1 -1
  245. package/cjs/tree-walker/TreeWalker.cjs +12 -6
  246. package/cjs/tree-walker/TreeWalker.cjs.map +1 -1
  247. package/cjs/tree-walker/TreeWalker.d.ts.map +1 -1
  248. package/cjs/validity-state/ValidityState.cjs +1 -1
  249. package/cjs/validity-state/ValidityState.cjs.map +1 -1
  250. package/cjs/version.cjs +1 -1
  251. package/cjs/window/BrowserWindow.cjs +2 -2
  252. package/cjs/window/BrowserWindow.cjs.map +1 -1
  253. package/cjs/window/WindowErrorUtility.cjs +1 -1
  254. package/cjs/window/WindowErrorUtility.cjs.map +1 -1
  255. package/cjs/window/WindowErrorUtility.d.ts.map +1 -1
  256. package/cjs/xml-http-request/XMLHttpRequest.cjs +1 -1
  257. package/cjs/xml-http-request/XMLHttpRequest.cjs.map +1 -1
  258. package/cjs/xml-parser/XMLParser.cjs +16 -12
  259. package/cjs/xml-parser/XMLParser.cjs.map +1 -1
  260. package/cjs/xml-parser/XMLParser.d.ts.map +1 -1
  261. package/cjs/xml-serializer/XMLSerializer.cjs +36 -35
  262. package/cjs/xml-serializer/XMLSerializer.cjs.map +1 -1
  263. package/cjs/xml-serializer/XMLSerializer.d.ts +8 -1
  264. package/cjs/xml-serializer/XMLSerializer.d.ts.map +1 -1
  265. package/lib/PropertySymbol.d.ts +67 -1
  266. package/lib/PropertySymbol.d.ts.map +1 -1
  267. package/lib/PropertySymbol.js +67 -1
  268. package/lib/PropertySymbol.js.map +1 -1
  269. package/lib/browser/utilities/BrowserFrameNavigator.js +1 -1
  270. package/lib/browser/utilities/BrowserFrameNavigator.js.map +1 -1
  271. package/lib/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +1 -1
  272. package/lib/css/declaration/AbstractCSSStyleDeclaration.js +17 -16
  273. package/lib/css/declaration/AbstractCSSStyleDeclaration.js.map +1 -1
  274. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
  275. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js +43 -26
  276. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js.map +1 -1
  277. package/lib/dom-implementation/DOMImplementation.js +6 -6
  278. package/lib/dom-implementation/DOMImplementation.js.map +1 -1
  279. package/lib/dom-parser/DOMParser.d.ts.map +1 -1
  280. package/lib/dom-parser/DOMParser.js +2 -2
  281. package/lib/dom-parser/DOMParser.js.map +1 -1
  282. package/lib/dom-token-list/DOMTokenList.d.ts +6 -1
  283. package/lib/dom-token-list/DOMTokenList.d.ts.map +1 -1
  284. package/lib/dom-token-list/DOMTokenList.js +40 -27
  285. package/lib/dom-token-list/DOMTokenList.js.map +1 -1
  286. package/lib/event/Event.js +3 -3
  287. package/lib/event/Event.js.map +1 -1
  288. package/lib/event/EventTarget.js +4 -4
  289. package/lib/event/EventTarget.js.map +1 -1
  290. package/lib/fetch/Request.d.ts +4 -4
  291. package/lib/fetch/Request.d.ts.map +1 -1
  292. package/lib/fetch/Request.js +2 -1
  293. package/lib/fetch/Request.js.map +1 -1
  294. package/lib/form-data/FormData.js +7 -7
  295. package/lib/form-data/FormData.js.map +1 -1
  296. package/lib/mutation-observer/MutationObserver.js +3 -3
  297. package/lib/mutation-observer/MutationObserver.js.map +1 -1
  298. package/lib/named-node-map/NamedNodeMap.d.ts.map +1 -1
  299. package/lib/named-node-map/NamedNodeMap.js +10 -8
  300. package/lib/named-node-map/NamedNodeMap.js.map +1 -1
  301. package/lib/nodes/attr/Attr.d.ts +40 -8
  302. package/lib/nodes/attr/Attr.d.ts.map +1 -1
  303. package/lib/nodes/attr/Attr.js +63 -16
  304. package/lib/nodes/attr/Attr.js.map +1 -1
  305. package/lib/nodes/character-data/CharacterData.js +2 -2
  306. package/lib/nodes/character-data/CharacterData.js.map +1 -1
  307. package/lib/nodes/child-node/ChildNodeUtility.js +8 -8
  308. package/lib/nodes/child-node/ChildNodeUtility.js.map +1 -1
  309. package/lib/nodes/child-node/NonDocumentChildNodeUtility.d.ts.map +1 -1
  310. package/lib/nodes/child-node/NonDocumentChildNodeUtility.js +4 -3
  311. package/lib/nodes/child-node/NonDocumentChildNodeUtility.js.map +1 -1
  312. package/lib/nodes/comment/Comment.d.ts +3 -1
  313. package/lib/nodes/comment/Comment.d.ts.map +1 -1
  314. package/lib/nodes/comment/Comment.js +7 -3
  315. package/lib/nodes/comment/Comment.js.map +1 -1
  316. package/lib/nodes/document/Document.d.ts +45 -10
  317. package/lib/nodes/document/Document.d.ts.map +1 -1
  318. package/lib/nodes/document/Document.js +95 -41
  319. package/lib/nodes/document/Document.js.map +1 -1
  320. package/lib/nodes/document/IDocument.d.ts +2 -1
  321. package/lib/nodes/document/IDocument.d.ts.map +1 -1
  322. package/lib/nodes/document-fragment/DocumentFragment.d.ts +2 -1
  323. package/lib/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
  324. package/lib/nodes/document-fragment/DocumentFragment.js +8 -6
  325. package/lib/nodes/document-fragment/DocumentFragment.js.map +1 -1
  326. package/lib/nodes/document-type/DocumentType.d.ts +24 -4
  327. package/lib/nodes/document-type/DocumentType.d.ts.map +1 -1
  328. package/lib/nodes/document-type/DocumentType.js +37 -8
  329. package/lib/nodes/document-type/DocumentType.js.map +1 -1
  330. package/lib/nodes/element/Dataset.d.ts +1 -1
  331. package/lib/nodes/element/Dataset.d.ts.map +1 -1
  332. package/lib/nodes/element/Dataset.js +14 -14
  333. package/lib/nodes/element/Dataset.js.map +1 -1
  334. package/lib/nodes/element/Element.d.ts +77 -11
  335. package/lib/nodes/element/Element.d.ts.map +1 -1
  336. package/lib/nodes/element/Element.js +142 -55
  337. package/lib/nodes/element/Element.js.map +1 -1
  338. package/lib/nodes/element/ElementNamedNodeMap.d.ts.map +1 -1
  339. package/lib/nodes/element/ElementNamedNodeMap.js +33 -30
  340. package/lib/nodes/element/ElementNamedNodeMap.js.map +1 -1
  341. package/lib/nodes/element/ElementUtility.d.ts.map +1 -1
  342. package/lib/nodes/element/ElementUtility.js +19 -19
  343. package/lib/nodes/element/ElementUtility.js.map +1 -1
  344. package/lib/nodes/element/IElement.d.ts +3 -3
  345. package/lib/nodes/element/IElement.d.ts.map +1 -1
  346. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts +1 -1
  347. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  348. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +6 -6
  349. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
  350. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts.map +1 -1
  351. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.js +7 -5
  352. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.js.map +1 -1
  353. package/lib/nodes/html-base-element/HTMLBaseElement.d.ts.map +1 -1
  354. package/lib/nodes/html-base-element/HTMLBaseElement.js +2 -1
  355. package/lib/nodes/html-base-element/HTMLBaseElement.js.map +1 -1
  356. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts +16 -3
  357. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  358. package/lib/nodes/html-button-element/HTMLButtonElement.js +27 -8
  359. package/lib/nodes/html-button-element/HTMLButtonElement.js.map +1 -1
  360. package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.js +7 -7
  361. package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.js.map +1 -1
  362. package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts +14 -1
  363. package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts.map +1 -1
  364. package/lib/nodes/html-dialog-element/HTMLDialogElement.js +23 -2
  365. package/lib/nodes/html-dialog-element/HTMLDialogElement.js.map +1 -1
  366. package/lib/nodes/html-document/HTMLDocument.d.ts.map +1 -1
  367. package/lib/nodes/html-document/HTMLDocument.js +2 -1
  368. package/lib/nodes/html-document/HTMLDocument.js.map +1 -1
  369. package/lib/nodes/html-element/HTMLElement.d.ts +91 -14
  370. package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
  371. package/lib/nodes/html-element/HTMLElement.js +137 -32
  372. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  373. package/lib/nodes/html-element/HTMLElementNamedNodeMap.d.ts.map +1 -1
  374. package/lib/nodes/html-element/HTMLElementNamedNodeMap.js +4 -3
  375. package/lib/nodes/html-element/HTMLElementNamedNodeMap.js.map +1 -1
  376. package/lib/nodes/html-element/HTMLElementUtility.d.ts.map +1 -1
  377. package/lib/nodes/html-element/HTMLElementUtility.js +12 -10
  378. package/lib/nodes/html-element/HTMLElementUtility.js.map +1 -1
  379. package/lib/nodes/html-element/IHTMLElement.d.ts +3 -0
  380. package/lib/nodes/html-element/IHTMLElement.d.ts.map +1 -1
  381. package/lib/nodes/html-form-element/HTMLFormElement.d.ts +22 -3
  382. package/lib/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  383. package/lib/nodes/html-form-element/HTMLFormElement.js +62 -30
  384. package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
  385. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts +1 -1
  386. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  387. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js +5 -5
  388. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
  389. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts.map +1 -1
  390. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.js +4 -1
  391. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.js.map +1 -1
  392. package/lib/nodes/html-iframe-element/HTMLIFrameElementPageLoader.js +2 -2
  393. package/lib/nodes/html-iframe-element/HTMLIFrameElementPageLoader.js.map +1 -1
  394. package/lib/nodes/html-image-element/HTMLImageElement.d.ts +76 -21
  395. package/lib/nodes/html-image-element/HTMLImageElement.d.ts.map +1 -1
  396. package/lib/nodes/html-image-element/HTMLImageElement.js +107 -27
  397. package/lib/nodes/html-image-element/HTMLImageElement.js.map +1 -1
  398. package/lib/nodes/html-input-element/HTMLInputElement.d.ts +67 -10
  399. package/lib/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  400. package/lib/nodes/html-input-element/HTMLInputElement.js +112 -27
  401. package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
  402. package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.js +7 -7
  403. package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.js.map +1 -1
  404. package/lib/nodes/html-label-element/HTMLLabelElement.js +1 -1
  405. package/lib/nodes/html-label-element/HTMLLabelElement.js.map +1 -1
  406. package/lib/nodes/html-label-element/HTMLLabelElementUtility.d.ts.map +1 -1
  407. package/lib/nodes/html-label-element/HTMLLabelElementUtility.js +3 -2
  408. package/lib/nodes/html-label-element/HTMLLabelElementUtility.js.map +1 -1
  409. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +6 -2
  410. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  411. package/lib/nodes/html-link-element/HTMLLinkElement.js +15 -8
  412. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  413. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts.map +1 -1
  414. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.js +7 -6
  415. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.js.map +1 -1
  416. package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.d.ts.map +1 -1
  417. package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.js +8 -5
  418. package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.js.map +1 -1
  419. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts +86 -12
  420. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  421. package/lib/nodes/html-media-element/HTMLMediaElement.js +132 -54
  422. package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -1
  423. package/lib/nodes/html-option-element/HTMLOptionElement.d.ts +1 -1
  424. package/lib/nodes/html-option-element/HTMLOptionElement.d.ts.map +1 -1
  425. package/lib/nodes/html-option-element/HTMLOptionElement.js +4 -4
  426. package/lib/nodes/html-option-element/HTMLOptionElement.js.map +1 -1
  427. package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.js +3 -3
  428. package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.js.map +1 -1
  429. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +1 -1
  430. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  431. package/lib/nodes/html-script-element/HTMLScriptElement.js +12 -11
  432. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  433. package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.js +4 -4
  434. package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.js.map +1 -1
  435. package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.d.ts.map +1 -1
  436. package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.js +8 -8
  437. package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.js.map +1 -1
  438. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts +30 -5
  439. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  440. package/lib/nodes/html-select-element/HTMLSelectElement.js +63 -32
  441. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  442. package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.js +7 -7
  443. package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.js.map +1 -1
  444. package/lib/nodes/html-style-element/HTMLStyleElement.d.ts +1 -1
  445. package/lib/nodes/html-style-element/HTMLStyleElement.d.ts.map +1 -1
  446. package/lib/nodes/html-style-element/HTMLStyleElement.js +6 -6
  447. package/lib/nodes/html-style-element/HTMLStyleElement.js.map +1 -1
  448. package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts +8 -1
  449. package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
  450. package/lib/nodes/html-template-element/HTMLTemplateElement.js +29 -13
  451. package/lib/nodes/html-template-element/HTMLTemplateElement.js.map +1 -1
  452. package/lib/nodes/html-template-element/IHTMLTemplateElement.d.ts +1 -1
  453. package/lib/nodes/html-template-element/IHTMLTemplateElement.d.ts.map +1 -1
  454. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +16 -3
  455. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  456. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +27 -9
  457. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
  458. package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.js +7 -7
  459. package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.js.map +1 -1
  460. package/lib/nodes/html-unknown-element/HTMLUnknownElement.d.ts.map +1 -1
  461. package/lib/nodes/html-unknown-element/HTMLUnknownElement.js +24 -17
  462. package/lib/nodes/html-unknown-element/HTMLUnknownElement.js.map +1 -1
  463. package/lib/nodes/node/INode.d.ts +2 -2
  464. package/lib/nodes/node/INode.d.ts.map +1 -1
  465. package/lib/nodes/node/Node.d.ts +44 -20
  466. package/lib/nodes/node/Node.d.ts.map +1 -1
  467. package/lib/nodes/node/Node.js +95 -56
  468. package/lib/nodes/node/Node.js.map +1 -1
  469. package/lib/nodes/node/NodeUtility.d.ts.map +1 -1
  470. package/lib/nodes/node/NodeUtility.js +37 -37
  471. package/lib/nodes/node/NodeUtility.js.map +1 -1
  472. package/lib/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
  473. package/lib/nodes/parent-node/ParentNodeUtility.js +8 -5
  474. package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
  475. package/lib/nodes/processing-instruction/ProcessingInstruction.d.ts +9 -2
  476. package/lib/nodes/processing-instruction/ProcessingInstruction.d.ts.map +1 -1
  477. package/lib/nodes/processing-instruction/ProcessingInstruction.js +14 -2
  478. package/lib/nodes/processing-instruction/ProcessingInstruction.js.map +1 -1
  479. package/lib/nodes/shadow-root/IShadowRoot.d.ts +2 -0
  480. package/lib/nodes/shadow-root/IShadowRoot.d.ts.map +1 -1
  481. package/lib/nodes/shadow-root/ShadowRoot.d.ts +28 -3
  482. package/lib/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
  483. package/lib/nodes/shadow-root/ShadowRoot.js +46 -8
  484. package/lib/nodes/shadow-root/ShadowRoot.js.map +1 -1
  485. package/lib/nodes/svg-element/SVGElement.d.ts +2 -2
  486. package/lib/nodes/svg-element/SVGElement.d.ts.map +1 -1
  487. package/lib/nodes/svg-element/SVGElement.js +7 -6
  488. package/lib/nodes/svg-element/SVGElement.js.map +1 -1
  489. package/lib/nodes/svg-element/SVGElementNamedNodeMap.d.ts.map +1 -1
  490. package/lib/nodes/svg-element/SVGElementNamedNodeMap.js +4 -3
  491. package/lib/nodes/svg-element/SVGElementNamedNodeMap.js.map +1 -1
  492. package/lib/nodes/text/Text.d.ts +2 -1
  493. package/lib/nodes/text/Text.d.ts.map +1 -1
  494. package/lib/nodes/text/Text.js +7 -6
  495. package/lib/nodes/text/Text.js.map +1 -1
  496. package/lib/query-selector/QuerySelector.js +2 -2
  497. package/lib/query-selector/QuerySelector.js.map +1 -1
  498. package/lib/query-selector/SelectorItem.d.ts.map +1 -1
  499. package/lib/query-selector/SelectorItem.js +16 -16
  500. package/lib/query-selector/SelectorItem.js.map +1 -1
  501. package/lib/range/Range.d.ts.map +1 -1
  502. package/lib/range/Range.js +91 -79
  503. package/lib/range/Range.js.map +1 -1
  504. package/lib/range/RangeUtility.d.ts.map +1 -1
  505. package/lib/range/RangeUtility.js +5 -4
  506. package/lib/range/RangeUtility.js.map +1 -1
  507. package/lib/selection/Selection.js +15 -15
  508. package/lib/selection/Selection.js.map +1 -1
  509. package/lib/tree-walker/TreeWalker.d.ts.map +1 -1
  510. package/lib/tree-walker/TreeWalker.js +12 -6
  511. package/lib/tree-walker/TreeWalker.js.map +1 -1
  512. package/lib/validity-state/ValidityState.js +1 -1
  513. package/lib/validity-state/ValidityState.js.map +1 -1
  514. package/lib/version.js +1 -1
  515. package/lib/window/BrowserWindow.js +2 -2
  516. package/lib/window/BrowserWindow.js.map +1 -1
  517. package/lib/window/WindowErrorUtility.d.ts.map +1 -1
  518. package/lib/window/WindowErrorUtility.js +1 -1
  519. package/lib/window/WindowErrorUtility.js.map +1 -1
  520. package/lib/xml-http-request/XMLHttpRequest.js +1 -1
  521. package/lib/xml-http-request/XMLHttpRequest.js.map +1 -1
  522. package/lib/xml-parser/XMLParser.d.ts.map +1 -1
  523. package/lib/xml-parser/XMLParser.js +16 -12
  524. package/lib/xml-parser/XMLParser.js.map +1 -1
  525. package/lib/xml-serializer/XMLSerializer.d.ts +8 -1
  526. package/lib/xml-serializer/XMLSerializer.d.ts.map +1 -1
  527. package/lib/xml-serializer/XMLSerializer.js +37 -37
  528. package/lib/xml-serializer/XMLSerializer.js.map +1 -1
  529. package/package.json +1 -1
  530. package/src/PropertySymbol.ts +67 -1
  531. package/src/browser/utilities/BrowserFrameNavigator.ts +1 -1
  532. package/src/css/declaration/AbstractCSSStyleDeclaration.ts +17 -16
  533. package/src/css/declaration/element-style/CSSStyleDeclarationElementStyle.ts +64 -28
  534. package/src/dom-implementation/DOMImplementation.ts +6 -6
  535. package/src/dom-parser/DOMParser.ts +2 -2
  536. package/src/dom-token-list/DOMTokenList.ts +43 -24
  537. package/src/event/Event.ts +3 -3
  538. package/src/event/EventTarget.ts +4 -4
  539. package/src/fetch/Request.ts +7 -5
  540. package/src/form-data/FormData.ts +9 -9
  541. package/src/mutation-observer/MutationObserver.ts +3 -3
  542. package/src/named-node-map/NamedNodeMap.ts +12 -8
  543. package/src/nodes/attr/Attr.ts +59 -11
  544. package/src/nodes/character-data/CharacterData.ts +2 -2
  545. package/src/nodes/child-node/ChildNodeUtility.ts +8 -8
  546. package/src/nodes/child-node/NonDocumentChildNodeUtility.ts +4 -3
  547. package/src/nodes/comment/Comment.ts +3 -2
  548. package/src/nodes/document/Document.ts +106 -46
  549. package/src/nodes/document/IDocument.ts +2 -1
  550. package/src/nodes/document-fragment/DocumentFragment.ts +8 -4
  551. package/src/nodes/document-type/DocumentType.ts +36 -7
  552. package/src/nodes/element/Dataset.ts +23 -17
  553. package/src/nodes/element/Element.ts +166 -61
  554. package/src/nodes/element/ElementNamedNodeMap.ts +58 -33
  555. package/src/nodes/element/ElementUtility.ts +26 -19
  556. package/src/nodes/element/IElement.ts +3 -3
  557. package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +5 -3
  558. package/src/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.ts +11 -5
  559. package/src/nodes/html-base-element/HTMLBaseElement.ts +2 -1
  560. package/src/nodes/html-button-element/HTMLButtonElement.ts +29 -6
  561. package/src/nodes/html-button-element/HTMLButtonElementNamedNodeMap.ts +7 -7
  562. package/src/nodes/html-dialog-element/HTMLDialogElement.ts +21 -1
  563. package/src/nodes/html-document/HTMLDocument.ts +2 -1
  564. package/src/nodes/html-element/HTMLElement.ts +161 -33
  565. package/src/nodes/html-element/HTMLElementNamedNodeMap.ts +6 -3
  566. package/src/nodes/html-element/HTMLElementUtility.ts +17 -10
  567. package/src/nodes/html-element/IHTMLElement.ts +3 -0
  568. package/src/nodes/html-form-element/HTMLFormElement.ts +67 -27
  569. package/src/nodes/html-iframe-element/HTMLIFrameElement.ts +6 -5
  570. package/src/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.ts +6 -1
  571. package/src/nodes/html-iframe-element/HTMLIFrameElementPageLoader.ts +2 -2
  572. package/src/nodes/html-image-element/HTMLImageElement.ts +115 -28
  573. package/src/nodes/html-input-element/HTMLInputElement.ts +125 -30
  574. package/src/nodes/html-input-element/HTMLInputElementNamedNodeMap.ts +7 -7
  575. package/src/nodes/html-label-element/HTMLLabelElement.ts +1 -1
  576. package/src/nodes/html-label-element/HTMLLabelElementUtility.ts +3 -2
  577. package/src/nodes/html-link-element/HTMLLinkElement.ts +15 -5
  578. package/src/nodes/html-link-element/HTMLLinkElementNamedNodeMap.ts +9 -6
  579. package/src/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.ts +13 -5
  580. package/src/nodes/html-media-element/HTMLMediaElement.ts +142 -42
  581. package/src/nodes/html-option-element/HTMLOptionElement.ts +3 -1
  582. package/src/nodes/html-option-element/HTMLOptionElementNamedNodeMap.ts +3 -3
  583. package/src/nodes/html-script-element/HTMLScriptElement.ts +19 -12
  584. package/src/nodes/html-script-element/HTMLScriptElementNamedNodeMap.ts +4 -4
  585. package/src/nodes/html-script-element/HTMLScriptElementScriptLoader.ts +13 -9
  586. package/src/nodes/html-select-element/HTMLSelectElement.ts +69 -31
  587. package/src/nodes/html-select-element/HTMLSelectElementNamedNodeMap.ts +7 -7
  588. package/src/nodes/html-style-element/HTMLStyleElement.ts +6 -6
  589. package/src/nodes/html-template-element/HTMLTemplateElement.ts +28 -12
  590. package/src/nodes/html-template-element/IHTMLTemplateElement.ts +1 -1
  591. package/src/nodes/html-text-area-element/HTMLTextAreaElement.ts +29 -6
  592. package/src/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.ts +7 -7
  593. package/src/nodes/html-unknown-element/HTMLUnknownElement.ts +38 -17
  594. package/src/nodes/node/INode.ts +2 -2
  595. package/src/nodes/node/Node.ts +129 -56
  596. package/src/nodes/node/NodeUtility.ts +44 -37
  597. package/src/nodes/parent-node/ParentNodeUtility.ts +10 -5
  598. package/src/nodes/processing-instruction/ProcessingInstruction.ts +12 -2
  599. package/src/nodes/shadow-root/IShadowRoot.ts +2 -0
  600. package/src/nodes/shadow-root/ShadowRoot.ts +50 -8
  601. package/src/nodes/svg-element/SVGElement.ts +6 -5
  602. package/src/nodes/svg-element/SVGElementNamedNodeMap.ts +6 -3
  603. package/src/nodes/text/Text.ts +5 -5
  604. package/src/query-selector/QuerySelector.ts +2 -2
  605. package/src/query-selector/SelectorItem.ts +20 -16
  606. package/src/range/Range.ts +109 -82
  607. package/src/range/RangeUtility.ts +7 -4
  608. package/src/selection/Selection.ts +15 -15
  609. package/src/tree-walker/TreeWalker.ts +22 -6
  610. package/src/validity-state/ValidityState.ts +1 -1
  611. package/src/window/BrowserWindow.ts +2 -2
  612. package/src/window/WindowErrorUtility.ts +3 -1
  613. package/src/xml-http-request/XMLHttpRequest.ts +1 -1
  614. package/src/xml-parser/XMLParser.ts +18 -12
  615. package/src/xml-serializer/XMLSerializer.ts +22 -20
@@ -1,4 +1,4 @@
1
- import Element from '../element/Element.js';
1
+ import Element from './Element.js';
2
2
  import * as PropertySymbol from '../../PropertySymbol.js';
3
3
  import HTMLElementNamedNodeMap from '../html-element/HTMLElementNamedNodeMap.js';
4
4
 
@@ -23,11 +23,11 @@ export default class Dataset {
23
23
  // Build the initial dataset record from all data attributes.
24
24
  const dataset: DatasetRecord = {};
25
25
 
26
- for (let i = 0, max = element.attributes.length; i < max; i++) {
27
- const attribute = element.attributes[i];
28
- if (attribute.name.startsWith('data-')) {
29
- const key = Dataset.kebabToCamelCase(attribute.name.replace('data-', ''));
30
- dataset[key] = attribute.value;
26
+ for (let i = 0, max = element[PropertySymbol.attributes].length; i < max; i++) {
27
+ const attribute = element[PropertySymbol.attributes][i];
28
+ if (attribute[PropertySymbol.name].startsWith('data-')) {
29
+ const key = Dataset.kebabToCamelCase(attribute[PropertySymbol.name].replace('data-', ''));
30
+ dataset[key] = attribute[PropertySymbol.value];
31
31
  }
32
32
  }
33
33
 
@@ -35,9 +35,11 @@ export default class Dataset {
35
35
  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy
36
36
  this.proxy = new Proxy(dataset, {
37
37
  get(dataset: DatasetRecord, key: string): string {
38
- const attribute = element.attributes.getNamedItem('data-' + Dataset.camelCaseToKebab(key));
38
+ const attribute = element[PropertySymbol.attributes].getNamedItem(
39
+ 'data-' + Dataset.camelCaseToKebab(key)
40
+ );
39
41
  if (attribute) {
40
- return (dataset[key] = attribute.value);
42
+ return (dataset[key] = attribute[PropertySymbol.value]);
41
43
  }
42
44
  delete dataset[key];
43
45
  return undefined;
@@ -48,9 +50,9 @@ export default class Dataset {
48
50
  return true;
49
51
  },
50
52
  deleteProperty(dataset: DatasetRecord, key: string): boolean {
51
- (<HTMLElementNamedNodeMap>element.attributes)[PropertySymbol.removeNamedItem](
52
- 'data-' + Dataset.camelCaseToKebab(key)
53
- );
53
+ (<HTMLElementNamedNodeMap>element[PropertySymbol.attributes])[
54
+ PropertySymbol.removeNamedItem
55
+ ]('data-' + Dataset.camelCaseToKebab(key));
54
56
  return delete dataset[key];
55
57
  },
56
58
  ownKeys(dataset: DatasetRecord): string[] {
@@ -59,12 +61,14 @@ export default class Dataset {
59
61
  // "The result List must contain the keys of all non-configurable own properties of the target object."
60
62
  const keys = [];
61
63
  const deleteKeys = [];
62
- for (let i = 0, max = element.attributes.length; i < max; i++) {
63
- const attribute = element.attributes[i];
64
- if (attribute.name.startsWith('data-')) {
65
- const key = Dataset.kebabToCamelCase(attribute.name.replace('data-', ''));
64
+ for (let i = 0, max = element[PropertySymbol.attributes].length; i < max; i++) {
65
+ const attribute = element[PropertySymbol.attributes][i];
66
+ if (attribute[PropertySymbol.name].startsWith('data-')) {
67
+ const key = Dataset.kebabToCamelCase(
68
+ attribute[PropertySymbol.name].replace('data-', '')
69
+ );
66
70
  keys.push(key);
67
- dataset[key] = attribute.value;
71
+ dataset[key] = attribute[PropertySymbol.value];
68
72
  if (!dataset[key]) {
69
73
  deleteKeys.push(key);
70
74
  }
@@ -76,7 +80,9 @@ export default class Dataset {
76
80
  return keys;
77
81
  },
78
82
  has(_dataset: DatasetRecord, key: string): boolean {
79
- return !!element.attributes.getNamedItem('data-' + Dataset.camelCaseToKebab(key));
83
+ return !!element[PropertySymbol.attributes].getNamedItem(
84
+ 'data-' + Dataset.camelCaseToKebab(key)
85
+ );
80
86
  }
81
87
  });
82
88
  }
@@ -33,6 +33,7 @@ import WindowErrorUtility from '../../window/WindowErrorUtility.js';
33
33
  import WindowBrowserSettingsReader from '../../window/WindowBrowserSettingsReader.js';
34
34
  import BrowserErrorCaptureEnum from '../../browser/enums/BrowserErrorCaptureEnum.js';
35
35
  import NodeFactory from '../NodeFactory.js';
36
+ import NodeTypeEnum from '../node/NodeTypeEnum.js';
36
37
 
37
38
  /**
38
39
  * Element.
@@ -42,17 +43,6 @@ export default class Element extends Node implements IElement {
42
43
  // CustomElementRegistry will therefore populate "[PropertySymbol.observedAttributes]" when CustomElementRegistry.define() is called
43
44
  public static [PropertySymbol.observedAttributes]: string[];
44
45
  public static observedAttributes: string[];
45
- public tagName: string = null;
46
- public nodeType = Node.ELEMENT_NODE;
47
- public shadowRoot: IShadowRoot | null = null;
48
- public prefix: string = null;
49
-
50
- public scrollHeight = 0;
51
- public scrollWidth = 0;
52
- public scrollTop = 0;
53
- public scrollLeft = 0;
54
- public readonly namespaceURI: string = null;
55
- public readonly attributes: INamedNodeMap = new ElementNamedNodeMap(this);
56
46
 
57
47
  // Events
58
48
  public oncancel: (event: Event) => void | null = null;
@@ -92,10 +82,119 @@ export default class Element extends Node implements IElement {
92
82
 
93
83
  // Internal properties
94
84
  public [PropertySymbol.children]: IHTMLCollection<IElement> = new HTMLCollection<IElement>();
95
- public [PropertySymbol.shadowRoot]: IShadowRoot = null;
96
85
  public [PropertySymbol.classList]: DOMTokenList = null;
97
86
  public [PropertySymbol.isValue]: string | null = null;
98
87
  public [PropertySymbol.computedStyle]: CSSStyleDeclaration | null = null;
88
+ public [PropertySymbol.nodeType] = NodeTypeEnum.elementNode;
89
+ public [PropertySymbol.tagName]: string | null = null;
90
+ public [PropertySymbol.prefix]: string | null = null;
91
+ public [PropertySymbol.shadowRoot]: IShadowRoot | null = null;
92
+ public [PropertySymbol.scrollHeight] = 0;
93
+ public [PropertySymbol.scrollWidth] = 0;
94
+ public [PropertySymbol.scrollTop] = 0;
95
+ public [PropertySymbol.scrollLeft] = 0;
96
+ public [PropertySymbol.attributes]: INamedNodeMap = new ElementNamedNodeMap(this);
97
+ public [PropertySymbol.namespaceURI]: string | null = null;
98
+
99
+ /**
100
+ * Returns tag name.
101
+ *
102
+ * @returns Tag name.
103
+ */
104
+ public get tagName(): string {
105
+ return <string>this[PropertySymbol.tagName];
106
+ }
107
+
108
+ /**
109
+ * Returns prefix.
110
+ *
111
+ * @returns Prefix.
112
+ */
113
+ public get prefix(): string | null {
114
+ return <string>this[PropertySymbol.prefix];
115
+ }
116
+
117
+ /**
118
+ * Returns shadow root.
119
+ *
120
+ * @returns Shadow root.
121
+ */
122
+ public get shadowRoot(): IShadowRoot | null {
123
+ const shadowRoot = this[PropertySymbol.shadowRoot];
124
+ return shadowRoot && shadowRoot[PropertySymbol.mode] === 'open' ? shadowRoot : null;
125
+ }
126
+
127
+ /**
128
+ * Returns scroll height.
129
+ *
130
+ * @returns Scroll height.
131
+ */
132
+ public get scrollHeight(): number {
133
+ return this[PropertySymbol.scrollHeight];
134
+ }
135
+
136
+ /**
137
+ * Returns scroll width.
138
+ *
139
+ * @returns Scroll width.
140
+ */
141
+ public get scrollWidth(): number {
142
+ return this[PropertySymbol.scrollWidth];
143
+ }
144
+
145
+ /**
146
+ * Returns scroll top.
147
+ *
148
+ * @returns Scroll top.
149
+ */
150
+ public get scrollTop(): number {
151
+ return this[PropertySymbol.scrollTop];
152
+ }
153
+
154
+ /**
155
+ * Sets scroll top.
156
+ *
157
+ * @param value Scroll top.
158
+ */
159
+ public set scrollTop(value: number) {
160
+ this[PropertySymbol.scrollTop] = value;
161
+ }
162
+
163
+ /**
164
+ * Returns scroll left.
165
+ *
166
+ * @returns Scroll left.
167
+ */
168
+ public get scrollLeft(): number {
169
+ return this[PropertySymbol.scrollLeft];
170
+ }
171
+
172
+ /**
173
+ * Sets scroll left.
174
+ *
175
+ * @param value Scroll left.
176
+ */
177
+ public set scrollLeft(value: number) {
178
+ this[PropertySymbol.scrollLeft] = value;
179
+ }
180
+
181
+ /**
182
+ * Returns attributes.
183
+ *
184
+ * @returns Attributes.
185
+ */
186
+ public get attributes(): INamedNodeMap {
187
+ return this[PropertySymbol.attributes];
188
+ }
189
+
190
+ /**
191
+ * Returns namespace URI.
192
+ *
193
+ * @returns Namespace URI.
194
+ */
195
+ public get namespaceURI(): string | null {
196
+ return this[PropertySymbol.namespaceURI];
197
+ }
99
198
 
100
199
  /**
101
200
  * Returns element children.
@@ -158,7 +257,7 @@ export default class Element extends Node implements IElement {
158
257
  * @returns Node name.
159
258
  */
160
259
  public get nodeName(): string {
161
- return this.tagName;
260
+ return this[PropertySymbol.tagName];
162
261
  }
163
262
 
164
263
  /**
@@ -167,7 +266,7 @@ export default class Element extends Node implements IElement {
167
266
  * @returns Local name.
168
267
  */
169
268
  public get localName(): string {
170
- return this.tagName ? this.tagName.toLowerCase() : 'unknown';
269
+ return this[PropertySymbol.tagName] ? this[PropertySymbol.tagName].toLowerCase() : 'unknown';
171
270
  }
172
271
 
173
272
  /**
@@ -214,7 +313,10 @@ export default class Element extends Node implements IElement {
214
313
  public get textContent(): string {
215
314
  let result = '';
216
315
  for (const childNode of this[PropertySymbol.childNodes]) {
217
- if (childNode.nodeType === Node.ELEMENT_NODE || childNode.nodeType === Node.TEXT_NODE) {
316
+ if (
317
+ childNode[PropertySymbol.nodeType] === NodeTypeEnum.elementNode ||
318
+ childNode[PropertySymbol.nodeType] === NodeTypeEnum.textNode
319
+ ) {
218
320
  result += childNode.textContent;
219
321
  }
220
322
  }
@@ -231,7 +333,7 @@ export default class Element extends Node implements IElement {
231
333
  this.removeChild(child);
232
334
  }
233
335
  if (textContent) {
234
- this.appendChild(this.ownerDocument.createTextNode(textContent));
336
+ this.appendChild(this[PropertySymbol.ownerDocument].createTextNode(textContent));
235
337
  }
236
338
  }
237
339
 
@@ -254,7 +356,7 @@ export default class Element extends Node implements IElement {
254
356
  this.removeChild(child);
255
357
  }
256
358
 
257
- XMLParser.parse(this.ownerDocument, html, { rootNode: this });
359
+ XMLParser.parse(this[PropertySymbol.ownerDocument], html, { rootNode: this });
258
360
  }
259
361
 
260
362
  /**
@@ -362,11 +464,14 @@ export default class Element extends Node implements IElement {
362
464
  public cloneNode(deep = false): IElement {
363
465
  const clone = <Element>super.cloneNode(deep);
364
466
 
365
- for (let i = 0, max = this.attributes.length; i < max; i++) {
366
- const attribute = this.attributes[i];
367
- clone.attributes.setNamedItem(
467
+ for (let i = 0, max = this[PropertySymbol.attributes].length; i < max; i++) {
468
+ const attribute = this[PropertySymbol.attributes][i];
469
+ clone[PropertySymbol.attributes].setNamedItem(
368
470
  Object.assign(
369
- this.ownerDocument.createAttributeNS(attribute.namespaceURI, attribute.name),
471
+ this[PropertySymbol.ownerDocument].createAttributeNS(
472
+ attribute[PropertySymbol.namespaceURI],
473
+ attribute[PropertySymbol.name]
474
+ ),
370
475
  attribute
371
476
  )
372
477
  );
@@ -374,14 +479,14 @@ export default class Element extends Node implements IElement {
374
479
 
375
480
  if (deep) {
376
481
  for (const node of clone[PropertySymbol.childNodes]) {
377
- if (node.nodeType === Node.ELEMENT_NODE) {
482
+ if (node[PropertySymbol.nodeType] === NodeTypeEnum.elementNode) {
378
483
  clone[PropertySymbol.children].push(<IElement>node);
379
484
  }
380
485
  }
381
486
  }
382
487
 
383
- (<string>clone.tagName) = this.tagName;
384
- (<string>clone.namespaceURI) = this.namespaceURI;
488
+ clone[PropertySymbol.tagName] = this[PropertySymbol.tagName];
489
+ clone[PropertySymbol.namespaceURI] = this[PropertySymbol.namespaceURI];
385
490
 
386
491
  return <IElement>clone;
387
492
  }
@@ -513,9 +618,9 @@ export default class Element extends Node implements IElement {
513
618
  * @param text HTML string to insert.
514
619
  */
515
620
  public insertAdjacentHTML(position: TInsertAdjacentPositions, text: string): void {
516
- for (const node of (<DocumentFragment>XMLParser.parse(this.ownerDocument, text))[
517
- PropertySymbol.childNodes
518
- ].slice()) {
621
+ for (const node of (<DocumentFragment>(
622
+ XMLParser.parse(this[PropertySymbol.ownerDocument], text)
623
+ ))[PropertySymbol.childNodes].slice()) {
519
624
  this.insertAdjacentElement(position, node);
520
625
  }
521
626
  }
@@ -530,7 +635,7 @@ export default class Element extends Node implements IElement {
530
635
  if (!text) {
531
636
  return;
532
637
  }
533
- const textNode = <IText>this.ownerDocument.createTextNode(text);
638
+ const textNode = <IText>this[PropertySymbol.ownerDocument].createTextNode(text);
534
639
  this.insertAdjacentElement(position, textNode);
535
640
  }
536
641
 
@@ -541,8 +646,8 @@ export default class Element extends Node implements IElement {
541
646
  * @param value Value.
542
647
  */
543
648
  public setAttribute(name: string, value: string): void {
544
- const attribute = this.ownerDocument.createAttributeNS(null, name);
545
- attribute.value = String(value);
649
+ const attribute = this[PropertySymbol.ownerDocument].createAttributeNS(null, name);
650
+ attribute[PropertySymbol.value] = String(value);
546
651
  this.setAttributeNode(attribute);
547
652
  }
548
653
 
@@ -554,8 +659,8 @@ export default class Element extends Node implements IElement {
554
659
  * @param value Value.
555
660
  */
556
661
  public setAttributeNS(namespaceURI: string, name: string, value: string): void {
557
- const attribute = this.ownerDocument.createAttributeNS(namespaceURI, name);
558
- attribute.value = String(value);
662
+ const attribute = this[PropertySymbol.ownerDocument].createAttributeNS(namespaceURI, name);
663
+ attribute[PropertySymbol.value] = String(value);
559
664
  this.setAttributeNode(attribute);
560
665
  }
561
666
 
@@ -566,8 +671,8 @@ export default class Element extends Node implements IElement {
566
671
  */
567
672
  public getAttributeNames(): string[] {
568
673
  const attributeNames = [];
569
- for (let i = 0, max = this.attributes.length; i < max; i++) {
570
- attributeNames.push(this.attributes[i].name);
674
+ for (let i = 0, max = this[PropertySymbol.attributes].length; i < max; i++) {
675
+ attributeNames.push(this[PropertySymbol.attributes][i][PropertySymbol.name]);
571
676
  }
572
677
  return attributeNames;
573
678
  }
@@ -580,7 +685,7 @@ export default class Element extends Node implements IElement {
580
685
  public getAttribute(name: string): string {
581
686
  const attribute = this.getAttributeNode(name);
582
687
  if (attribute) {
583
- return attribute.value;
688
+ return attribute[PropertySymbol.value];
584
689
  }
585
690
  return null;
586
691
  }
@@ -618,7 +723,7 @@ export default class Element extends Node implements IElement {
618
723
  public getAttributeNS(namespace: string | null, localName: string): string {
619
724
  const attribute = this.getAttributeNodeNS(namespace, localName);
620
725
  if (attribute) {
621
- return attribute.value;
726
+ return attribute[PropertySymbol.value];
622
727
  }
623
728
  return null;
624
729
  }
@@ -641,7 +746,7 @@ export default class Element extends Node implements IElement {
641
746
  * @returns True if attribute exists, false otherwise.
642
747
  */
643
748
  public hasAttributeNS(namespace: string | null, localName: string): boolean {
644
- return this.attributes.getNamedItemNS(namespace, localName) !== null;
749
+ return this[PropertySymbol.attributes].getNamedItemNS(namespace, localName) !== null;
645
750
  }
646
751
 
647
752
  /**
@@ -650,7 +755,7 @@ export default class Element extends Node implements IElement {
650
755
  * @returns "true" if the element has attributes.
651
756
  */
652
757
  public hasAttributes(): boolean {
653
- return this.attributes.length > 0;
758
+ return this[PropertySymbol.attributes].length > 0;
654
759
  }
655
760
 
656
761
  /**
@@ -660,7 +765,7 @@ export default class Element extends Node implements IElement {
660
765
  */
661
766
  public removeAttribute(name: string): void {
662
767
  try {
663
- this.attributes.removeNamedItem(name);
768
+ this[PropertySymbol.attributes].removeNamedItem(name);
664
769
  } catch (error) {
665
770
  // Ignore DOMException when the attribute does not exist.
666
771
  }
@@ -673,7 +778,7 @@ export default class Element extends Node implements IElement {
673
778
  * @param localName Local name.
674
779
  */
675
780
  public removeAttributeNS(namespace: string | null, localName: string): void {
676
- this.attributes.removeNamedItemNS(namespace, localName);
781
+ this[PropertySymbol.attributes].removeNamedItemNS(namespace, localName);
677
782
  }
678
783
 
679
784
  /**
@@ -689,20 +794,16 @@ export default class Element extends Node implements IElement {
689
794
  }
690
795
 
691
796
  const shadowRoot = NodeFactory.createNode<IShadowRoot>(
692
- this.ownerDocument,
693
- this.ownerDocument[PropertySymbol.defaultView].ShadowRoot
797
+ this[PropertySymbol.ownerDocument],
798
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].ShadowRoot
694
799
  );
695
800
 
696
- (<IShadowRoot>this[PropertySymbol.shadowRoot]) = shadowRoot;
801
+ this[PropertySymbol.shadowRoot] = shadowRoot;
697
802
 
698
- (<Element>shadowRoot.host) = this;
699
- (<string>shadowRoot.mode) = init.mode;
803
+ shadowRoot[PropertySymbol.host] = this;
804
+ shadowRoot[PropertySymbol.mode] = init.mode;
700
805
  (<ShadowRoot>shadowRoot)[PropertySymbol.connectToNode](this);
701
806
 
702
- if (shadowRoot.mode === 'open') {
703
- (<IShadowRoot>this.shadowRoot) = shadowRoot;
704
- }
705
-
706
807
  return this[PropertySymbol.shadowRoot];
707
808
  }
708
809
 
@@ -824,7 +925,7 @@ export default class Element extends Node implements IElement {
824
925
  * @returns Replaced attribute.
825
926
  */
826
927
  public setAttributeNode(attribute: IAttr): IAttr | null {
827
- return this.attributes.setNamedItem(attribute);
928
+ return this[PropertySymbol.attributes].setNamedItem(attribute);
828
929
  }
829
930
 
830
931
  /**
@@ -834,7 +935,7 @@ export default class Element extends Node implements IElement {
834
935
  * @returns Replaced attribute.
835
936
  */
836
937
  public setAttributeNodeNS(attribute: IAttr): IAttr | null {
837
- return this.attributes.setNamedItemNS(attribute);
938
+ return this[PropertySymbol.attributes].setNamedItemNS(attribute);
838
939
  }
839
940
 
840
941
  /**
@@ -844,7 +945,7 @@ export default class Element extends Node implements IElement {
844
945
  * @returns Replaced attribute.
845
946
  */
846
947
  public getAttributeNode(name: string): IAttr | null {
847
- return this.attributes.getNamedItem(name);
948
+ return this[PropertySymbol.attributes].getNamedItem(name);
848
949
  }
849
950
 
850
951
  /**
@@ -855,7 +956,7 @@ export default class Element extends Node implements IElement {
855
956
  * @returns Replaced attribute.
856
957
  */
857
958
  public getAttributeNodeNS(namespace: string | null, localName: string): IAttr | null {
858
- return this.attributes.getNamedItemNS(namespace, localName);
959
+ return this[PropertySymbol.attributes].getNamedItemNS(namespace, localName);
859
960
  }
860
961
 
861
962
  /**
@@ -865,7 +966,7 @@ export default class Element extends Node implements IElement {
865
966
  * @returns Removed attribute.
866
967
  */
867
968
  public removeAttributeNode(attribute: IAttr): IAttr | null {
868
- return this.attributes.removeNamedItem(attribute.name);
969
+ return this[PropertySymbol.attributes].removeNamedItem(attribute[PropertySymbol.name]);
869
970
  }
870
971
 
871
972
  /**
@@ -875,7 +976,10 @@ export default class Element extends Node implements IElement {
875
976
  * @returns Removed attribute.
876
977
  */
877
978
  public removeAttributeNodeNS(attribute: IAttr): IAttr | null {
878
- return this.attributes.removeNamedItemNS(attribute.namespaceURI, attribute.localName);
979
+ return this[PropertySymbol.attributes].removeNamedItemNS(
980
+ attribute[PropertySymbol.namespaceURI],
981
+ attribute.localName
982
+ );
879
983
  }
880
984
 
881
985
  /**
@@ -887,7 +991,7 @@ export default class Element extends Node implements IElement {
887
991
  public scroll(x: { top?: number; left?: number; behavior?: string } | number, y?: number): void {
888
992
  if (typeof x === 'object') {
889
993
  if (x.behavior === 'smooth') {
890
- this.ownerDocument[PropertySymbol.defaultView].setTimeout(() => {
994
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].setTimeout(() => {
891
995
  if (x.top !== undefined) {
892
996
  (<number>this.scrollTop) = x.top;
893
997
  }
@@ -928,7 +1032,7 @@ export default class Element extends Node implements IElement {
928
1032
  public override dispatchEvent(event: Event): boolean {
929
1033
  const returnValue = super.dispatchEvent(event);
930
1034
  const browserSettings = WindowBrowserSettingsReader.getSettings(
931
- this.ownerDocument[PropertySymbol.defaultView]
1035
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow]
932
1036
  );
933
1037
 
934
1038
  if (
@@ -942,17 +1046,18 @@ export default class Element extends Node implements IElement {
942
1046
 
943
1047
  if (attribute && !event[PropertySymbol.immediatePropagationStopped]) {
944
1048
  const code = `//# sourceURL=${
945
- this.ownerDocument[PropertySymbol.defaultView].location.href
1049
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].location.href
946
1050
  }\n${attribute}`;
947
1051
 
948
1052
  if (
949
1053
  browserSettings.disableErrorCapturing ||
950
1054
  browserSettings.errorCapture !== BrowserErrorCaptureEnum.tryAndCatch
951
1055
  ) {
952
- this.ownerDocument[PropertySymbol.defaultView].eval(code);
1056
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].eval(code);
953
1057
  } else {
954
- WindowErrorUtility.captureError(this.ownerDocument[PropertySymbol.defaultView], () =>
955
- this.ownerDocument[PropertySymbol.defaultView].eval(code)
1058
+ WindowErrorUtility.captureError(
1059
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow],
1060
+ () => this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].eval(code)
956
1061
  );
957
1062
  }
958
1063
  }