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
@@ -133,7 +133,7 @@ export default class Range {
133
133
  if (NodeUtility.isInclusiveAncestor(container, this[PropertySymbol.end].node)) {
134
134
  return container;
135
135
  }
136
- container = container.parentNode;
136
+ container = container[PropertySymbol.parentNode];
137
137
  }
138
138
 
139
139
  return null;
@@ -229,7 +229,7 @@ export default class Range {
229
229
  * @returns -1,0, or 1.
230
230
  */
231
231
  public comparePoint(node: INode, offset): number {
232
- if (node.ownerDocument !== this[PropertySymbol.ownerDocument]) {
232
+ if (node[PropertySymbol.ownerDocument] !== this[PropertySymbol.ownerDocument]) {
233
233
  throw new DOMException(
234
234
  `The two Ranges are not in the same tree.`,
235
235
  DOMExceptionNameEnum.wrongDocumentError
@@ -276,9 +276,10 @@ export default class Range {
276
276
 
277
277
  if (
278
278
  this[PropertySymbol.start].node === this[PropertySymbol.end].node &&
279
- (this[PropertySymbol.start].node.nodeType === NodeTypeEnum.textNode ||
280
- this[PropertySymbol.start].node.nodeType === NodeTypeEnum.processingInstructionNode ||
281
- this[PropertySymbol.start].node.nodeType === NodeTypeEnum.commentNode)
279
+ (this[PropertySymbol.start].node[PropertySymbol.nodeType] === NodeTypeEnum.textNode ||
280
+ this[PropertySymbol.start].node[PropertySymbol.nodeType] ===
281
+ NodeTypeEnum.processingInstructionNode ||
282
+ this[PropertySymbol.start].node[PropertySymbol.nodeType] === NodeTypeEnum.commentNode)
282
283
  ) {
283
284
  const clone = (<IText | IComment>this[PropertySymbol.start].node).cloneNode(false);
284
285
  clone[PropertySymbol.data] = clone.substringData(startOffset, endOffset - startOffset);
@@ -288,7 +289,7 @@ export default class Range {
288
289
 
289
290
  let commonAncestor = this[PropertySymbol.start].node;
290
291
  while (!NodeUtility.isInclusiveAncestor(commonAncestor, this[PropertySymbol.end].node)) {
291
- commonAncestor = commonAncestor.parentNode;
292
+ commonAncestor = commonAncestor[PropertySymbol.parentNode];
292
293
  }
293
294
 
294
295
  let firstPartialContainedChild = null;
@@ -329,7 +330,7 @@ export default class Range {
329
330
 
330
331
  for (const node of (<Node>commonAncestor)[PropertySymbol.childNodes]) {
331
332
  if (RangeUtility.isContained(node, this)) {
332
- if (node.nodeType === NodeTypeEnum.documentTypeNode) {
333
+ if (node[PropertySymbol.nodeType] === NodeTypeEnum.documentTypeNode) {
333
334
  throw new DOMException(
334
335
  'Invalid document type element.',
335
336
  DOMExceptionNameEnum.hierarchyRequestError
@@ -341,9 +342,10 @@ export default class Range {
341
342
 
342
343
  if (
343
344
  firstPartialContainedChild !== null &&
344
- (firstPartialContainedChild.nodeType === NodeTypeEnum.textNode ||
345
- firstPartialContainedChild.nodeType === NodeTypeEnum.processingInstructionNode ||
346
- firstPartialContainedChild.nodeType === NodeTypeEnum.commentNode)
345
+ (firstPartialContainedChild[PropertySymbol.nodeType] === NodeTypeEnum.textNode ||
346
+ firstPartialContainedChild[PropertySymbol.nodeType] ===
347
+ NodeTypeEnum.processingInstructionNode ||
348
+ firstPartialContainedChild[PropertySymbol.nodeType] === NodeTypeEnum.commentNode)
347
349
  ) {
348
350
  const clone = (<IText | IComment>this[PropertySymbol.start].node).cloneNode(false);
349
351
  clone[PropertySymbol.data] = clone.substringData(
@@ -373,9 +375,10 @@ export default class Range {
373
375
 
374
376
  if (
375
377
  lastPartiallyContainedChild !== null &&
376
- (lastPartiallyContainedChild.nodeType === NodeTypeEnum.textNode ||
377
- lastPartiallyContainedChild.nodeType === NodeTypeEnum.processingInstructionNode ||
378
- lastPartiallyContainedChild.nodeType === NodeTypeEnum.commentNode)
378
+ (lastPartiallyContainedChild[PropertySymbol.nodeType] === NodeTypeEnum.textNode ||
379
+ lastPartiallyContainedChild[PropertySymbol.nodeType] ===
380
+ NodeTypeEnum.processingInstructionNode ||
381
+ lastPartiallyContainedChild[PropertySymbol.nodeType] === NodeTypeEnum.commentNode)
379
382
  ) {
380
383
  const clone = (<IText | IComment>this[PropertySymbol.end].node).cloneNode(false);
381
384
  clone[PropertySymbol.data] = clone.substringData(0, endOffset);
@@ -442,9 +445,10 @@ export default class Range {
442
445
 
443
446
  if (
444
447
  this[PropertySymbol.start].node === this[PropertySymbol.end].node &&
445
- (this[PropertySymbol.start].node.nodeType === NodeTypeEnum.textNode ||
446
- this[PropertySymbol.start].node.nodeType === NodeTypeEnum.processingInstructionNode ||
447
- this[PropertySymbol.start].node.nodeType === NodeTypeEnum.commentNode)
448
+ (this[PropertySymbol.start].node[PropertySymbol.nodeType] === NodeTypeEnum.textNode ||
449
+ this[PropertySymbol.start].node[PropertySymbol.nodeType] ===
450
+ NodeTypeEnum.processingInstructionNode ||
451
+ this[PropertySymbol.start].node[PropertySymbol.nodeType] === NodeTypeEnum.commentNode)
448
452
  ) {
449
453
  (<IText | IComment>this[PropertySymbol.start].node).replaceData(
450
454
  startOffset,
@@ -460,7 +464,7 @@ export default class Range {
460
464
  while (currentNode && currentNode !== endNode) {
461
465
  if (
462
466
  RangeUtility.isContained(currentNode, this) &&
463
- !RangeUtility.isContained(currentNode.parentNode, this)
467
+ !RangeUtility.isContained(currentNode[PropertySymbol.parentNode], this)
464
468
  ) {
465
469
  nodesToRemove.push(currentNode);
466
470
  }
@@ -483,20 +487,26 @@ export default class Range {
483
487
 
484
488
  while (
485
489
  referenceNode &&
486
- !NodeUtility.isInclusiveAncestor(referenceNode.parentNode, this[PropertySymbol.end].node)
490
+ !NodeUtility.isInclusiveAncestor(
491
+ referenceNode[PropertySymbol.parentNode],
492
+ this[PropertySymbol.end].node
493
+ )
487
494
  ) {
488
- referenceNode = referenceNode.parentNode;
495
+ referenceNode = referenceNode[PropertySymbol.parentNode];
489
496
  }
490
497
 
491
- newNode = referenceNode.parentNode;
498
+ newNode = referenceNode[PropertySymbol.parentNode];
492
499
  newOffset =
493
- (<Node>referenceNode.parentNode)[PropertySymbol.childNodes].indexOf(referenceNode) + 1;
500
+ (<Node>referenceNode[PropertySymbol.parentNode])[PropertySymbol.childNodes].indexOf(
501
+ referenceNode
502
+ ) + 1;
494
503
  }
495
504
 
496
505
  if (
497
- this[PropertySymbol.start].node.nodeType === NodeTypeEnum.textNode ||
498
- this[PropertySymbol.start].node.nodeType === NodeTypeEnum.processingInstructionNode ||
499
- this[PropertySymbol.start].node.nodeType === NodeTypeEnum.commentNode
506
+ this[PropertySymbol.start].node[PropertySymbol.nodeType] === NodeTypeEnum.textNode ||
507
+ this[PropertySymbol.start].node[PropertySymbol.nodeType] ===
508
+ NodeTypeEnum.processingInstructionNode ||
509
+ this[PropertySymbol.start].node[PropertySymbol.nodeType] === NodeTypeEnum.commentNode
500
510
  ) {
501
511
  (<IText | IComment>this[PropertySymbol.start].node).replaceData(
502
512
  this.startOffset,
@@ -506,14 +516,15 @@ export default class Range {
506
516
  }
507
517
 
508
518
  for (const node of nodesToRemove) {
509
- const parent = node.parentNode;
519
+ const parent = node[PropertySymbol.parentNode];
510
520
  parent.removeChild(node);
511
521
  }
512
522
 
513
523
  if (
514
- this[PropertySymbol.end].node.nodeType === NodeTypeEnum.textNode ||
515
- this[PropertySymbol.end].node.nodeType === NodeTypeEnum.processingInstructionNode ||
516
- this[PropertySymbol.end].node.nodeType === NodeTypeEnum.commentNode
524
+ this[PropertySymbol.end].node[PropertySymbol.nodeType] === NodeTypeEnum.textNode ||
525
+ this[PropertySymbol.end].node[PropertySymbol.nodeType] ===
526
+ NodeTypeEnum.processingInstructionNode ||
527
+ this[PropertySymbol.end].node[PropertySymbol.nodeType] === NodeTypeEnum.commentNode
517
528
  ) {
518
529
  (<IText | IComment>this[PropertySymbol.end].node).replaceData(0, endOffset, '');
519
530
  }
@@ -550,9 +561,10 @@ export default class Range {
550
561
 
551
562
  if (
552
563
  this[PropertySymbol.start].node === this[PropertySymbol.end].node &&
553
- (this[PropertySymbol.start].node.nodeType === NodeTypeEnum.textNode ||
554
- this[PropertySymbol.start].node.nodeType === NodeTypeEnum.processingInstructionNode ||
555
- this[PropertySymbol.start].node.nodeType === NodeTypeEnum.commentNode)
564
+ (this[PropertySymbol.start].node[PropertySymbol.nodeType] === NodeTypeEnum.textNode ||
565
+ this[PropertySymbol.start].node[PropertySymbol.nodeType] ===
566
+ NodeTypeEnum.processingInstructionNode ||
567
+ this[PropertySymbol.start].node[PropertySymbol.nodeType] === NodeTypeEnum.commentNode)
556
568
  ) {
557
569
  const clone = <IText | IComment>this[PropertySymbol.start].node.cloneNode(false);
558
570
  clone[PropertySymbol.data] = clone.substringData(startOffset, endOffset - startOffset);
@@ -570,7 +582,7 @@ export default class Range {
570
582
 
571
583
  let commonAncestor = this[PropertySymbol.start].node;
572
584
  while (!NodeUtility.isInclusiveAncestor(commonAncestor, this[PropertySymbol.end].node)) {
573
- commonAncestor = commonAncestor.parentNode;
585
+ commonAncestor = commonAncestor[PropertySymbol.parentNode];
574
586
  }
575
587
 
576
588
  let firstPartialContainedChild = null;
@@ -611,7 +623,7 @@ export default class Range {
611
623
 
612
624
  for (const node of (<Node>commonAncestor)[PropertySymbol.childNodes]) {
613
625
  if (RangeUtility.isContained(node, this)) {
614
- if (node.nodeType === NodeTypeEnum.documentTypeNode) {
626
+ if (node[PropertySymbol.nodeType] === NodeTypeEnum.documentTypeNode) {
615
627
  throw new DOMException(
616
628
  'Invalid document type element.',
617
629
  DOMExceptionNameEnum.hierarchyRequestError
@@ -636,21 +648,27 @@ export default class Range {
636
648
 
637
649
  while (
638
650
  referenceNode &&
639
- !NodeUtility.isInclusiveAncestor(referenceNode.parentNode, this[PropertySymbol.end].node)
651
+ !NodeUtility.isInclusiveAncestor(
652
+ referenceNode[PropertySymbol.parentNode],
653
+ this[PropertySymbol.end].node
654
+ )
640
655
  ) {
641
- referenceNode = referenceNode.parentNode;
656
+ referenceNode = referenceNode[PropertySymbol.parentNode];
642
657
  }
643
658
 
644
- newNode = referenceNode.parentNode;
659
+ newNode = referenceNode[PropertySymbol.parentNode];
645
660
  newOffset =
646
- (<Node>referenceNode.parentNode)[PropertySymbol.childNodes].indexOf(referenceNode) + 1;
661
+ (<Node>referenceNode[PropertySymbol.parentNode])[PropertySymbol.childNodes].indexOf(
662
+ referenceNode
663
+ ) + 1;
647
664
  }
648
665
 
649
666
  if (
650
667
  firstPartialContainedChild !== null &&
651
- (firstPartialContainedChild.nodeType === NodeTypeEnum.textNode ||
652
- firstPartialContainedChild.nodeType === NodeTypeEnum.processingInstructionNode ||
653
- firstPartialContainedChild.nodeType === NodeTypeEnum.commentNode)
668
+ (firstPartialContainedChild[PropertySymbol.nodeType] === NodeTypeEnum.textNode ||
669
+ firstPartialContainedChild[PropertySymbol.nodeType] ===
670
+ NodeTypeEnum.processingInstructionNode ||
671
+ firstPartialContainedChild[PropertySymbol.nodeType] === NodeTypeEnum.commentNode)
654
672
  ) {
655
673
  const clone = <IText | IComment>this[PropertySymbol.start].node.cloneNode(false);
656
674
  clone[PropertySymbol.data] = clone.substringData(
@@ -685,9 +703,10 @@ export default class Range {
685
703
 
686
704
  if (
687
705
  lastPartiallyContainedChild !== null &&
688
- (lastPartiallyContainedChild.nodeType === NodeTypeEnum.textNode ||
689
- lastPartiallyContainedChild.nodeType === NodeTypeEnum.processingInstructionNode ||
690
- lastPartiallyContainedChild.nodeType === NodeTypeEnum.commentNode)
706
+ (lastPartiallyContainedChild[PropertySymbol.nodeType] === NodeTypeEnum.textNode ||
707
+ lastPartiallyContainedChild[PropertySymbol.nodeType] ===
708
+ NodeTypeEnum.processingInstructionNode ||
709
+ lastPartiallyContainedChild[PropertySymbol.nodeType] === NodeTypeEnum.commentNode)
691
710
  ) {
692
711
  const clone = <IText | IComment>this[PropertySymbol.end].node.cloneNode(false);
693
712
  clone[PropertySymbol.data] = clone.substringData(0, endOffset);
@@ -746,7 +765,7 @@ export default class Range {
746
765
  * @returns "true" if in range.
747
766
  */
748
767
  public isPointInRange(node: INode, offset = 0): boolean {
749
- if (node.ownerDocument !== this[PropertySymbol.ownerDocument]) {
768
+ if (node[PropertySymbol.ownerDocument] !== this[PropertySymbol.ownerDocument]) {
750
769
  return false;
751
770
  }
752
771
 
@@ -778,23 +797,26 @@ export default class Range {
778
797
  */
779
798
  public insertNode(newNode: INode): void {
780
799
  if (
781
- this[PropertySymbol.start].node.nodeType === NodeTypeEnum.processingInstructionNode ||
782
- this[PropertySymbol.start].node.nodeType === NodeTypeEnum.commentNode ||
783
- (this[PropertySymbol.start].node.nodeType === NodeTypeEnum.textNode &&
784
- !this[PropertySymbol.start].node.parentNode) ||
800
+ this[PropertySymbol.start].node[PropertySymbol.nodeType] ===
801
+ NodeTypeEnum.processingInstructionNode ||
802
+ this[PropertySymbol.start].node[PropertySymbol.nodeType] === NodeTypeEnum.commentNode ||
803
+ (this[PropertySymbol.start].node[PropertySymbol.nodeType] === NodeTypeEnum.textNode &&
804
+ !this[PropertySymbol.start].node[PropertySymbol.parentNode]) ||
785
805
  newNode === this[PropertySymbol.start].node
786
806
  ) {
787
807
  throw new DOMException('Invalid start node.', DOMExceptionNameEnum.hierarchyRequestError);
788
808
  }
789
809
 
790
810
  let referenceNode =
791
- this[PropertySymbol.start].node.nodeType === NodeTypeEnum.textNode
811
+ this[PropertySymbol.start].node[PropertySymbol.nodeType] === NodeTypeEnum.textNode
792
812
  ? this[PropertySymbol.start].node
793
813
  : (<Node>this[PropertySymbol.start].node)[PropertySymbol.childNodes][this.startOffset] ||
794
814
  null;
795
- const parent = !referenceNode ? this[PropertySymbol.start].node : referenceNode.parentNode;
815
+ const parent = !referenceNode
816
+ ? this[PropertySymbol.start].node
817
+ : referenceNode[PropertySymbol.parentNode];
796
818
 
797
- if (this[PropertySymbol.start].node.nodeType === NodeTypeEnum.textNode) {
819
+ if (this[PropertySymbol.start].node[PropertySymbol.nodeType] === NodeTypeEnum.textNode) {
798
820
  referenceNode = (<IText>this[PropertySymbol.start].node).splitText(this.startOffset);
799
821
  }
800
822
 
@@ -802,16 +824,18 @@ export default class Range {
802
824
  referenceNode = referenceNode.nextSibling;
803
825
  }
804
826
 
805
- const nodeParent = newNode.parentNode;
827
+ const nodeParent = newNode[PropertySymbol.parentNode];
806
828
  if (nodeParent) {
807
829
  nodeParent.removeChild(newNode);
808
830
  }
809
831
 
810
832
  let newOffset = !referenceNode
811
833
  ? NodeUtility.getNodeLength(parent)
812
- : (<Node>referenceNode.parentNode)[PropertySymbol.childNodes].indexOf(referenceNode);
834
+ : (<Node>referenceNode[PropertySymbol.parentNode])[PropertySymbol.childNodes].indexOf(
835
+ referenceNode
836
+ );
813
837
  newOffset +=
814
- newNode.nodeType === NodeTypeEnum.documentFragmentNode
838
+ newNode[PropertySymbol.nodeType] === NodeTypeEnum.documentFragmentNode
815
839
  ? NodeUtility.getNodeLength(newNode)
816
840
  : 1;
817
841
 
@@ -831,11 +855,11 @@ export default class Range {
831
855
  * @returns "true" if it intersects.
832
856
  */
833
857
  public intersectsNode(node: INode): boolean {
834
- if (node.ownerDocument !== this[PropertySymbol.ownerDocument]) {
858
+ if (node[PropertySymbol.ownerDocument] !== this[PropertySymbol.ownerDocument]) {
835
859
  return false;
836
860
  }
837
861
 
838
- const parent = node.parentNode;
862
+ const parent = node[PropertySymbol.parentNode];
839
863
 
840
864
  if (!parent) {
841
865
  return true;
@@ -862,18 +886,18 @@ export default class Range {
862
886
  * @param node Reference node.
863
887
  */
864
888
  public selectNode(node: INode): void {
865
- if (!node.parentNode) {
889
+ if (!node[PropertySymbol.parentNode]) {
866
890
  throw new DOMException(
867
891
  `The given Node has no parent.`,
868
892
  DOMExceptionNameEnum.invalidNodeTypeError
869
893
  );
870
894
  }
871
895
 
872
- const index = (<Node>node.parentNode)[PropertySymbol.childNodes].indexOf(node);
896
+ const index = (<Node>node[PropertySymbol.parentNode])[PropertySymbol.childNodes].indexOf(node);
873
897
 
874
- this[PropertySymbol.start].node = node.parentNode;
898
+ this[PropertySymbol.start].node = node[PropertySymbol.parentNode];
875
899
  this[PropertySymbol.start].offset = index;
876
- this[PropertySymbol.end].node = node.parentNode;
900
+ this[PropertySymbol.end].node = node[PropertySymbol.parentNode];
877
901
  this[PropertySymbol.end].offset = index + 1;
878
902
  }
879
903
 
@@ -884,7 +908,7 @@ export default class Range {
884
908
  * @param node Reference node.
885
909
  */
886
910
  public selectNodeContents(node: INode): void {
887
- if (node.nodeType === NodeTypeEnum.documentTypeNode) {
911
+ if (node[PropertySymbol.nodeType] === NodeTypeEnum.documentTypeNode) {
888
912
  throw new DOMException(
889
913
  "DocumentType Node can't be used as boundary point.",
890
914
  DOMExceptionNameEnum.invalidNodeTypeError
@@ -910,7 +934,7 @@ export default class Range {
910
934
  const boundaryPoint = { node, offset };
911
935
 
912
936
  if (
913
- node.ownerDocument !== this[PropertySymbol.ownerDocument] ||
937
+ node[PropertySymbol.ownerDocument] !== this[PropertySymbol.ownerDocument] ||
914
938
  RangeUtility.compareBoundaryPointsPosition(boundaryPoint, {
915
939
  node: this[PropertySymbol.start].node,
916
940
  offset: this.startOffset
@@ -937,7 +961,7 @@ export default class Range {
937
961
  const boundaryPoint = { node, offset };
938
962
 
939
963
  if (
940
- node.ownerDocument !== this[PropertySymbol.ownerDocument] ||
964
+ node[PropertySymbol.ownerDocument] !== this[PropertySymbol.ownerDocument] ||
941
965
  RangeUtility.compareBoundaryPointsPosition(boundaryPoint, {
942
966
  node: this[PropertySymbol.end].node,
943
967
  offset: this.endOffset
@@ -958,15 +982,15 @@ export default class Range {
958
982
  * @param node Reference node.
959
983
  */
960
984
  public setEndAfter(node: INode): void {
961
- if (!node.parentNode) {
985
+ if (!node[PropertySymbol.parentNode]) {
962
986
  throw new DOMException(
963
987
  'The given Node has no parent.',
964
988
  DOMExceptionNameEnum.invalidNodeTypeError
965
989
  );
966
990
  }
967
991
  this.setEnd(
968
- node.parentNode,
969
- (<Node>node.parentNode)[PropertySymbol.childNodes].indexOf(node) + 1
992
+ node[PropertySymbol.parentNode],
993
+ (<Node>node[PropertySymbol.parentNode])[PropertySymbol.childNodes].indexOf(node) + 1
970
994
  );
971
995
  }
972
996
 
@@ -977,13 +1001,16 @@ export default class Range {
977
1001
  * @param node Reference node.
978
1002
  */
979
1003
  public setEndBefore(node: INode): void {
980
- if (!node.parentNode) {
1004
+ if (!node[PropertySymbol.parentNode]) {
981
1005
  throw new DOMException(
982
1006
  'The given Node has no parent.',
983
1007
  DOMExceptionNameEnum.invalidNodeTypeError
984
1008
  );
985
1009
  }
986
- this.setEnd(node.parentNode, (<Node>node.parentNode)[PropertySymbol.childNodes].indexOf(node));
1010
+ this.setEnd(
1011
+ node[PropertySymbol.parentNode],
1012
+ (<Node>node[PropertySymbol.parentNode])[PropertySymbol.childNodes].indexOf(node)
1013
+ );
987
1014
  }
988
1015
 
989
1016
  /**
@@ -993,15 +1020,15 @@ export default class Range {
993
1020
  * @param node Reference node.
994
1021
  */
995
1022
  public setStartAfter(node: INode): void {
996
- if (!node.parentNode) {
1023
+ if (!node[PropertySymbol.parentNode]) {
997
1024
  throw new DOMException(
998
1025
  'The given Node has no parent.',
999
1026
  DOMExceptionNameEnum.invalidNodeTypeError
1000
1027
  );
1001
1028
  }
1002
1029
  this.setStart(
1003
- node.parentNode,
1004
- (<Node>node.parentNode)[PropertySymbol.childNodes].indexOf(node) + 1
1030
+ node[PropertySymbol.parentNode],
1031
+ (<Node>node[PropertySymbol.parentNode])[PropertySymbol.childNodes].indexOf(node) + 1
1005
1032
  );
1006
1033
  }
1007
1034
 
@@ -1012,15 +1039,15 @@ export default class Range {
1012
1039
  * @param node Reference node.
1013
1040
  */
1014
1041
  public setStartBefore(node: INode): void {
1015
- if (!node.parentNode) {
1042
+ if (!node[PropertySymbol.parentNode]) {
1016
1043
  throw new DOMException(
1017
1044
  'The given Node has no parent.',
1018
1045
  DOMExceptionNameEnum.invalidNodeTypeError
1019
1046
  );
1020
1047
  }
1021
1048
  this.setStart(
1022
- node.parentNode,
1023
- (<Node>node.parentNode)[PropertySymbol.childNodes].indexOf(node)
1049
+ node[PropertySymbol.parentNode],
1050
+ (<Node>node[PropertySymbol.parentNode])[PropertySymbol.childNodes].indexOf(node)
1024
1051
  );
1025
1052
  }
1026
1053
 
@@ -1035,7 +1062,7 @@ export default class Range {
1035
1062
  const endNode = NodeUtility.nextDescendantNode(node);
1036
1063
  while (node !== endNode) {
1037
1064
  if (
1038
- node.nodeType !== NodeTypeEnum.textNode &&
1065
+ node[PropertySymbol.nodeType] !== NodeTypeEnum.textNode &&
1039
1066
  RangeUtility.isPartiallyContained(node, this)
1040
1067
  ) {
1041
1068
  throw new DOMException(
@@ -1048,9 +1075,9 @@ export default class Range {
1048
1075
  }
1049
1076
 
1050
1077
  if (
1051
- newParent.nodeType === NodeTypeEnum.documentNode ||
1052
- newParent.nodeType === NodeTypeEnum.documentTypeNode ||
1053
- newParent.nodeType === NodeTypeEnum.documentFragmentNode
1078
+ newParent[PropertySymbol.nodeType] === NodeTypeEnum.documentNode ||
1079
+ newParent[PropertySymbol.nodeType] === NodeTypeEnum.documentTypeNode ||
1080
+ newParent[PropertySymbol.nodeType] === NodeTypeEnum.documentFragmentNode
1054
1081
  ) {
1055
1082
  throw new DOMException('Invalid element type.', DOMExceptionNameEnum.invalidNodeTypeError);
1056
1083
  }
@@ -1080,12 +1107,12 @@ export default class Range {
1080
1107
 
1081
1108
  if (
1082
1109
  this[PropertySymbol.start].node === this[PropertySymbol.end].node &&
1083
- this[PropertySymbol.start].node.nodeType === NodeTypeEnum.textNode
1110
+ this[PropertySymbol.start].node[PropertySymbol.nodeType] === NodeTypeEnum.textNode
1084
1111
  ) {
1085
1112
  return (<IText>this[PropertySymbol.start].node).data.slice(startOffset, endOffset);
1086
1113
  }
1087
1114
 
1088
- if (this[PropertySymbol.start].node.nodeType === NodeTypeEnum.textNode) {
1115
+ if (this[PropertySymbol.start].node[PropertySymbol.nodeType] === NodeTypeEnum.textNode) {
1089
1116
  string += (<IText>this[PropertySymbol.start].node).data.slice(startOffset);
1090
1117
  }
1091
1118
 
@@ -1094,7 +1121,7 @@ export default class Range {
1094
1121
 
1095
1122
  while (currentNode && currentNode !== endNode) {
1096
1123
  if (
1097
- currentNode.nodeType === NodeTypeEnum.textNode &&
1124
+ currentNode[PropertySymbol.nodeType] === NodeTypeEnum.textNode &&
1098
1125
  RangeUtility.isContained(currentNode, this)
1099
1126
  ) {
1100
1127
  string += (<IText>currentNode).data;
@@ -1103,7 +1130,7 @@ export default class Range {
1103
1130
  currentNode = NodeUtility.following(currentNode);
1104
1131
  }
1105
1132
 
1106
- if (this[PropertySymbol.end].node.nodeType === NodeTypeEnum.textNode) {
1133
+ if (this[PropertySymbol.end].node[PropertySymbol.nodeType] === NodeTypeEnum.textNode) {
1107
1134
  string += (<IText>this[PropertySymbol.end].node).data.slice(0, endOffset);
1108
1135
  }
1109
1136
 
@@ -47,11 +47,14 @@ export default class RangeUtility {
47
47
  if (NodeUtility.isInclusiveAncestor(pointA.node, pointB.node)) {
48
48
  let child = pointB.node;
49
49
 
50
- while (child.parentNode !== pointA.node) {
51
- child = child.parentNode;
50
+ while (child[PropertySymbol.parentNode] !== pointA.node) {
51
+ child = child[PropertySymbol.parentNode];
52
52
  }
53
53
 
54
- if ((<Node>child.parentNode)[PropertySymbol.childNodes].indexOf(child) < pointA.offset) {
54
+ if (
55
+ (<Node>child[PropertySymbol.parentNode])[PropertySymbol.childNodes].indexOf(child) <
56
+ pointA.offset
57
+ ) {
55
58
  return 1;
56
59
  }
57
60
  }
@@ -66,7 +69,7 @@ export default class RangeUtility {
66
69
  * @param point Boundary point.
67
70
  */
68
71
  public static validateBoundaryPoint(point: IRangeBoundaryPoint): void {
69
- if (point.node.nodeType === NodeTypeEnum.documentTypeNode) {
72
+ if (point.node[PropertySymbol.nodeType] === NodeTypeEnum.documentTypeNode) {
70
73
  throw new DOMException(
71
74
  `DocumentType Node can't be used as boundary point.`,
72
75
  DOMExceptionNameEnum.invalidNodeTypeError
@@ -235,7 +235,7 @@ export default class Selection {
235
235
  return;
236
236
  }
237
237
 
238
- if (node.nodeType === NodeTypeEnum.documentTypeNode) {
238
+ if (node[PropertySymbol.nodeType] === NodeTypeEnum.documentTypeNode) {
239
239
  throw new DOMException(
240
240
  "DocumentType Node can't be used as boundary point.",
241
241
  DOMExceptionNameEnum.invalidNodeTypeError
@@ -246,11 +246,11 @@ export default class Selection {
246
246
  throw new DOMException('Invalid range index.', DOMExceptionNameEnum.indexSizeError);
247
247
  }
248
248
 
249
- if (node.ownerDocument !== this.#ownerDocument) {
249
+ if (node[PropertySymbol.ownerDocument] !== this.#ownerDocument) {
250
250
  return;
251
251
  }
252
252
 
253
- const newRange = new this.#ownerDocument[PropertySymbol.defaultView].Range();
253
+ const newRange = new this.#ownerDocument[PropertySymbol.ownerWindow].Range();
254
254
 
255
255
  newRange[PropertySymbol.start].node = node;
256
256
  newRange[PropertySymbol.start].offset = offset;
@@ -286,7 +286,7 @@ export default class Selection {
286
286
  }
287
287
 
288
288
  const { node, offset } = this.#range[PropertySymbol.end];
289
- const newRange = new this.#ownerDocument[PropertySymbol.defaultView].Range();
289
+ const newRange = new this.#ownerDocument[PropertySymbol.ownerWindow].Range();
290
290
 
291
291
  newRange[PropertySymbol.start].node = node;
292
292
  newRange[PropertySymbol.start].offset = offset;
@@ -310,7 +310,7 @@ export default class Selection {
310
310
  }
311
311
 
312
312
  const { node, offset } = this.#range[PropertySymbol.start];
313
- const newRange = new this.#ownerDocument[PropertySymbol.defaultView].Range();
313
+ const newRange = new this.#ownerDocument[PropertySymbol.ownerWindow].Range();
314
314
 
315
315
  newRange[PropertySymbol.start].node = node;
316
316
  newRange[PropertySymbol.start].offset = offset;
@@ -329,7 +329,7 @@ export default class Selection {
329
329
  * @returns Always returns "true" for now.
330
330
  */
331
331
  public containsNode(node: INode, allowPartialContainment = false): boolean {
332
- if (!this.#range || node.ownerDocument !== this.#ownerDocument) {
332
+ if (!this.#range || node[PropertySymbol.ownerDocument] !== this.#ownerDocument) {
333
333
  return false;
334
334
  }
335
335
 
@@ -368,7 +368,7 @@ export default class Selection {
368
368
  * @param offset Offset.
369
369
  */
370
370
  public extend(node: INode, offset: number): void {
371
- if (node.ownerDocument !== this.#ownerDocument) {
371
+ if (node[PropertySymbol.ownerDocument] !== this.#ownerDocument) {
372
372
  return;
373
373
  }
374
374
 
@@ -381,13 +381,13 @@ export default class Selection {
381
381
 
382
382
  const anchorNode = this.anchorNode;
383
383
  const anchorOffset = this.anchorOffset;
384
- const newRange = new this.#ownerDocument[PropertySymbol.defaultView].Range();
384
+ const newRange = new this.#ownerDocument[PropertySymbol.ownerWindow].Range();
385
385
  newRange[PropertySymbol.start].node = node;
386
386
  newRange[PropertySymbol.start].offset = 0;
387
387
  newRange[PropertySymbol.end].node = node;
388
388
  newRange[PropertySymbol.end].offset = 0;
389
389
 
390
- if (node.ownerDocument !== this.#range[PropertySymbol.ownerDocument]) {
390
+ if (node[PropertySymbol.ownerDocument] !== this.#range[PropertySymbol.ownerDocument]) {
391
391
  newRange[PropertySymbol.start].offset = offset;
392
392
  newRange[PropertySymbol.end].offset = offset;
393
393
  } else if (
@@ -424,19 +424,19 @@ export default class Selection {
424
424
  * @param node Node.
425
425
  */
426
426
  public selectAllChildren(node: INode): void {
427
- if (node.nodeType === NodeTypeEnum.documentTypeNode) {
427
+ if (node[PropertySymbol.nodeType] === NodeTypeEnum.documentTypeNode) {
428
428
  throw new DOMException(
429
429
  "DocumentType Node can't be used as boundary point.",
430
430
  DOMExceptionNameEnum.invalidNodeTypeError
431
431
  );
432
432
  }
433
433
 
434
- if (node.ownerDocument !== this.#ownerDocument) {
434
+ if (node[PropertySymbol.ownerDocument] !== this.#ownerDocument) {
435
435
  return;
436
436
  }
437
437
 
438
438
  const length = node.childNodes.length;
439
- const newRange = new this.#ownerDocument[PropertySymbol.defaultView].Range();
439
+ const newRange = new this.#ownerDocument[PropertySymbol.ownerWindow].Range();
440
440
 
441
441
  newRange[PropertySymbol.start].node = node;
442
442
  newRange[PropertySymbol.start].offset = 0;
@@ -472,15 +472,15 @@ export default class Selection {
472
472
  }
473
473
 
474
474
  if (
475
- anchorNode.ownerDocument !== this.#ownerDocument ||
476
- focusNode.ownerDocument !== this.#ownerDocument
475
+ anchorNode[PropertySymbol.ownerDocument] !== this.#ownerDocument ||
476
+ focusNode[PropertySymbol.ownerDocument] !== this.#ownerDocument
477
477
  ) {
478
478
  return;
479
479
  }
480
480
 
481
481
  const anchor = { node: anchorNode, offset: anchorOffset };
482
482
  const focus = { node: focusNode, offset: focusOffset };
483
- const newRange = new this.#ownerDocument[PropertySymbol.defaultView].Range();
483
+ const newRange = new this.#ownerDocument[PropertySymbol.ownerWindow].Range();
484
484
 
485
485
  if (RangeUtility.compareBoundaryPointsPosition(anchor, focus) === -1) {
486
486
  newRange[PropertySymbol.start] = anchor;
@@ -63,8 +63,12 @@ export default class TreeWalker {
63
63
  * @returns Current node.
64
64
  */
65
65
  public parentNode(): INode {
66
- if (this.currentNode !== this.root && this.currentNode && this.currentNode.parentNode) {
67
- this.currentNode = this.currentNode.parentNode;
66
+ if (
67
+ this.currentNode !== this.root &&
68
+ this.currentNode &&
69
+ this.currentNode[PropertySymbol.parentNode]
70
+ ) {
71
+ this.currentNode = this.currentNode[PropertySymbol.parentNode];
68
72
 
69
73
  if (this.filterNode(this.currentNode) === NodeFilter.FILTER_ACCEPT) {
70
74
  return this.currentNode;
@@ -126,8 +130,14 @@ export default class TreeWalker {
126
130
  * @returns Current node.
127
131
  */
128
132
  public previousSibling(): INode {
129
- if (this.currentNode !== this.root && this.currentNode && this.currentNode.parentNode) {
130
- const siblings = (<Node>this.currentNode.parentNode)[PropertySymbol.childNodes];
133
+ if (
134
+ this.currentNode !== this.root &&
135
+ this.currentNode &&
136
+ this.currentNode[PropertySymbol.parentNode]
137
+ ) {
138
+ const siblings = (<Node>this.currentNode[PropertySymbol.parentNode])[
139
+ PropertySymbol.childNodes
140
+ ];
131
141
  const index = siblings.indexOf(this.currentNode);
132
142
 
133
143
  if (index > 0) {
@@ -150,8 +160,14 @@ export default class TreeWalker {
150
160
  * @returns Current node.
151
161
  */
152
162
  public nextSibling(): INode {
153
- if (this.currentNode !== this.root && this.currentNode && this.currentNode.parentNode) {
154
- const siblings = (<Node>this.currentNode.parentNode)[PropertySymbol.childNodes];
163
+ if (
164
+ this.currentNode !== this.root &&
165
+ this.currentNode &&
166
+ this.currentNode[PropertySymbol.parentNode]
167
+ ) {
168
+ const siblings = (<Node>this.currentNode[PropertySymbol.parentNode])[
169
+ PropertySymbol.childNodes
170
+ ];
155
171
  const index = siblings.indexOf(this.currentNode);
156
172
 
157
173
  if (index + 1 < siblings.length) {