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
@@ -45,39 +45,51 @@ export default class ElementNamedNodeMap extends NamedNodeMap {
45
45
  * @override
46
46
  */
47
47
  public override setNamedItem(item: IAttr): IAttr | null {
48
- if (!item.name) {
48
+ if (!item[PropertySymbol.name]) {
49
49
  return null;
50
50
  }
51
51
 
52
- item.name = this[PropertySymbol.getAttributeName](item.name);
53
- (<IElement>item.ownerElement) = this[PropertySymbol.ownerElement];
52
+ item[PropertySymbol.name] = this[PropertySymbol.getAttributeName](item[PropertySymbol.name]);
53
+ (<IElement>item[PropertySymbol.ownerElement]) = this[PropertySymbol.ownerElement];
54
54
 
55
55
  const replacedItem = super.setNamedItem(item);
56
- const oldValue = replacedItem ? replacedItem.value : null;
56
+ const oldValue = replacedItem ? replacedItem[PropertySymbol.value] : null;
57
57
 
58
- if (this[PropertySymbol.ownerElement].isConnected) {
58
+ if (this[PropertySymbol.ownerElement][PropertySymbol.isConnected]) {
59
59
  this[PropertySymbol.ownerElement].ownerDocument[PropertySymbol.cacheID]++;
60
60
  }
61
61
 
62
- if (item.name === 'class' && this[PropertySymbol.ownerElement][PropertySymbol.classList]) {
62
+ if (
63
+ item[PropertySymbol.name] === 'class' &&
64
+ this[PropertySymbol.ownerElement][PropertySymbol.classList]
65
+ ) {
63
66
  this[PropertySymbol.ownerElement][PropertySymbol.classList][PropertySymbol.updateIndices]();
64
67
  }
65
68
 
66
- if (item.name === 'id' || item.name === 'name') {
69
+ if (item[PropertySymbol.name] === 'id' || item[PropertySymbol.name] === 'name') {
67
70
  if (
68
- this[PropertySymbol.ownerElement].parentNode &&
69
- (<Element>this[PropertySymbol.ownerElement].parentNode)[PropertySymbol.children] &&
70
- item.value !== oldValue
71
+ this[PropertySymbol.ownerElement][PropertySymbol.parentNode] &&
72
+ (<Element>this[PropertySymbol.ownerElement][PropertySymbol.parentNode])[
73
+ PropertySymbol.children
74
+ ] &&
75
+ item[PropertySymbol.value] !== oldValue
71
76
  ) {
72
77
  if (oldValue) {
73
78
  (<HTMLCollection<IElement>>(
74
- (<Element>this[PropertySymbol.ownerElement].parentNode)[PropertySymbol.children]
79
+ (<Element>this[PropertySymbol.ownerElement][PropertySymbol.parentNode])[
80
+ PropertySymbol.children
81
+ ]
75
82
  ))[PropertySymbol.removeNamedItem](this[PropertySymbol.ownerElement], oldValue);
76
83
  }
77
- if (item.value) {
84
+ if (item[PropertySymbol.value]) {
78
85
  (<HTMLCollection<IElement>>(
79
- (<Element>this[PropertySymbol.ownerElement].parentNode)[PropertySymbol.children]
80
- ))[PropertySymbol.appendNamedItem](this[PropertySymbol.ownerElement], item.value);
86
+ (<Element>this[PropertySymbol.ownerElement][PropertySymbol.parentNode])[
87
+ PropertySymbol.children
88
+ ]
89
+ ))[PropertySymbol.appendNamedItem](
90
+ this[PropertySymbol.ownerElement],
91
+ item[PropertySymbol.value]
92
+ );
81
93
  }
82
94
  }
83
95
  }
@@ -89,9 +101,13 @@ export default class ElementNamedNodeMap extends NamedNodeMap {
89
101
  ] &&
90
102
  (<typeof Element>this[PropertySymbol.ownerElement].constructor)[
91
103
  PropertySymbol.observedAttributes
92
- ].includes(item.name)
104
+ ].includes(item[PropertySymbol.name])
93
105
  ) {
94
- this[PropertySymbol.ownerElement].attributeChangedCallback(item.name, oldValue, item.value);
106
+ this[PropertySymbol.ownerElement].attributeChangedCallback(
107
+ item[PropertySymbol.name],
108
+ oldValue,
109
+ item[PropertySymbol.value]
110
+ );
95
111
  }
96
112
 
97
113
  // MutationObserver
@@ -102,13 +118,13 @@ export default class ElementNamedNodeMap extends NamedNodeMap {
102
118
  if (
103
119
  observer.options.attributes &&
104
120
  (!observer.options.attributeFilter ||
105
- observer.options.attributeFilter.includes(item.name))
121
+ observer.options.attributeFilter.includes(item[PropertySymbol.name]))
106
122
  ) {
107
123
  observer.report(
108
124
  new MutationRecord({
109
125
  target: this[PropertySymbol.ownerElement],
110
126
  type: MutationTypeEnum.attributes,
111
- attributeName: item.name,
127
+ attributeName: item[PropertySymbol.name],
112
128
  oldValue: observer.options.attributeOldValue ? oldValue : null
113
129
  })
114
130
  );
@@ -131,26 +147,33 @@ export default class ElementNamedNodeMap extends NamedNodeMap {
131
147
  return null;
132
148
  }
133
149
 
134
- if (this[PropertySymbol.ownerElement].isConnected) {
150
+ if (this[PropertySymbol.ownerElement][PropertySymbol.isConnected]) {
135
151
  this[PropertySymbol.ownerElement].ownerDocument[PropertySymbol.cacheID]++;
136
152
  }
137
153
 
138
154
  if (
139
- removedItem.name === 'class' &&
155
+ removedItem[PropertySymbol.name] === 'class' &&
140
156
  this[PropertySymbol.ownerElement][PropertySymbol.classList]
141
157
  ) {
142
158
  this[PropertySymbol.ownerElement][PropertySymbol.classList][PropertySymbol.updateIndices]();
143
159
  }
144
160
 
145
- if (removedItem.name === 'id' || removedItem.name === 'name') {
161
+ if (removedItem[PropertySymbol.name] === 'id' || removedItem[PropertySymbol.name] === 'name') {
146
162
  if (
147
- this[PropertySymbol.ownerElement].parentNode &&
148
- (<Element>this[PropertySymbol.ownerElement].parentNode)[PropertySymbol.children] &&
149
- removedItem.value
163
+ this[PropertySymbol.ownerElement][PropertySymbol.parentNode] &&
164
+ (<Element>this[PropertySymbol.ownerElement][PropertySymbol.parentNode])[
165
+ PropertySymbol.children
166
+ ] &&
167
+ removedItem[PropertySymbol.value]
150
168
  ) {
151
169
  (<HTMLCollection<IElement>>(
152
- (<Element>this[PropertySymbol.ownerElement].parentNode)[PropertySymbol.children]
153
- ))[PropertySymbol.removeNamedItem](this[PropertySymbol.ownerElement], removedItem.value);
170
+ (<Element>this[PropertySymbol.ownerElement][PropertySymbol.parentNode])[
171
+ PropertySymbol.children
172
+ ]
173
+ ))[PropertySymbol.removeNamedItem](
174
+ this[PropertySymbol.ownerElement],
175
+ removedItem[PropertySymbol.value]
176
+ );
154
177
  }
155
178
  }
156
179
 
@@ -161,11 +184,11 @@ export default class ElementNamedNodeMap extends NamedNodeMap {
161
184
  ] &&
162
185
  (<typeof Element>this[PropertySymbol.ownerElement].constructor)[
163
186
  PropertySymbol.observedAttributes
164
- ].includes(removedItem.name)
187
+ ].includes(removedItem[PropertySymbol.name])
165
188
  ) {
166
189
  this[PropertySymbol.ownerElement].attributeChangedCallback(
167
- removedItem.name,
168
- removedItem.value,
190
+ removedItem[PropertySymbol.name],
191
+ removedItem[PropertySymbol.value],
169
192
  null
170
193
  );
171
194
  }
@@ -178,14 +201,16 @@ export default class ElementNamedNodeMap extends NamedNodeMap {
178
201
  if (
179
202
  observer.options.attributes &&
180
203
  (!observer.options.attributeFilter ||
181
- observer.options.attributeFilter.includes(removedItem.name))
204
+ observer.options.attributeFilter.includes(removedItem[PropertySymbol.name]))
182
205
  ) {
183
206
  observer.report(
184
207
  new MutationRecord({
185
208
  target: this[PropertySymbol.ownerElement],
186
209
  type: MutationTypeEnum.attributes,
187
- attributeName: removedItem.name,
188
- oldValue: observer.options.attributeOldValue ? removedItem.value : null
210
+ attributeName: removedItem[PropertySymbol.name],
211
+ oldValue: observer.options.attributeOldValue
212
+ ? removedItem[PropertySymbol.value]
213
+ : null
189
214
  })
190
215
  );
191
216
  }
@@ -209,7 +234,7 @@ export default class ElementNamedNodeMap extends NamedNodeMap {
209
234
  * @returns Attribute name based on namespace.
210
235
  */
211
236
  protected [PropertySymbol.getAttributeName](name): string {
212
- if (this[PropertySymbol.ownerElement].namespaceURI === NamespaceURI.svg) {
237
+ if (this[PropertySymbol.ownerElement][PropertySymbol.namespaceURI] === NamespaceURI.svg) {
213
238
  return name;
214
239
  }
215
240
  return name.toLowerCase();
@@ -31,7 +31,7 @@ export default class ElementUtility {
31
31
  node: INode,
32
32
  options?: { disableAncestorValidation?: boolean }
33
33
  ): INode {
34
- if (node.nodeType === NodeTypeEnum.elementNode && node !== ancestorNode) {
34
+ if (node[PropertySymbol.nodeType] === NodeTypeEnum.elementNode && node !== ancestorNode) {
35
35
  if (
36
36
  !options?.disableAncestorValidation &&
37
37
  NodeUtility.isInclusiveAncestor(node, ancestorNode)
@@ -41,20 +41,22 @@ export default class ElementUtility {
41
41
  DOMExceptionNameEnum.domException
42
42
  );
43
43
  }
44
- if (node.parentNode) {
44
+ if (node[PropertySymbol.parentNode]) {
45
45
  const parentNodeChildren = <HTMLCollection<IHTMLElement>>(
46
- (<Element>node.parentNode)[PropertySymbol.children]
46
+ (<Element>node[PropertySymbol.parentNode])[PropertySymbol.children]
47
47
  );
48
48
 
49
49
  if (parentNodeChildren) {
50
50
  const index = parentNodeChildren.indexOf(<IHTMLElement>node);
51
51
  if (index !== -1) {
52
52
  for (const attributeName of NAMED_ITEM_ATTRIBUTES) {
53
- const attribute = (<Element>node).attributes.getNamedItem(attributeName);
53
+ const attribute = (<Element>node)[PropertySymbol.attributes].getNamedItem(
54
+ attributeName
55
+ );
54
56
  if (attribute) {
55
57
  parentNodeChildren[PropertySymbol.removeNamedItem](
56
58
  <IHTMLElement>node,
57
- attribute.value
59
+ attribute[PropertySymbol.value]
58
60
  );
59
61
  }
60
62
  }
@@ -68,9 +70,12 @@ export default class ElementUtility {
68
70
  );
69
71
 
70
72
  for (const attributeName of NAMED_ITEM_ATTRIBUTES) {
71
- const attribute = (<Element>node).attributes.getNamedItem(attributeName);
73
+ const attribute = (<Element>node)[PropertySymbol.attributes].getNamedItem(attributeName);
72
74
  if (attribute) {
73
- ancestorNodeChildren[PropertySymbol.appendNamedItem](<IHTMLElement>node, attribute.value);
75
+ ancestorNodeChildren[PropertySymbol.appendNamedItem](
76
+ <IHTMLElement>node,
77
+ attribute[PropertySymbol.value]
78
+ );
74
79
  }
75
80
  }
76
81
 
@@ -95,18 +100,18 @@ export default class ElementUtility {
95
100
  ancestorNode: IElement | IDocument | IDocumentFragment,
96
101
  node: INode
97
102
  ): INode {
98
- if (node.nodeType === NodeTypeEnum.elementNode) {
103
+ if (node[PropertySymbol.nodeType] === NodeTypeEnum.elementNode) {
99
104
  const ancestorNodeChildren = <HTMLCollection<IHTMLElement>>(
100
105
  (<Element>ancestorNode)[PropertySymbol.children]
101
106
  );
102
107
  const index = ancestorNodeChildren.indexOf(<IElement>node);
103
108
  if (index !== -1) {
104
109
  for (const attributeName of NAMED_ITEM_ATTRIBUTES) {
105
- const attribute = (<Element>node).attributes.getNamedItem(attributeName);
110
+ const attribute = (<Element>node)[PropertySymbol.attributes].getNamedItem(attributeName);
106
111
  if (attribute) {
107
112
  ancestorNodeChildren[PropertySymbol.removeNamedItem](
108
113
  <IHTMLElement>node,
109
- attribute.value
114
+ attribute[PropertySymbol.value]
110
115
  );
111
116
  }
112
117
  }
@@ -137,7 +142,7 @@ export default class ElementUtility {
137
142
  options?: { disableAncestorValidation?: boolean }
138
143
  ): INode {
139
144
  // NodeUtility.insertBefore() will call appendChild() for the scenario where "referenceNode" is "null" or "undefined"
140
- if (newNode.nodeType === NodeTypeEnum.elementNode && referenceNode) {
145
+ if (newNode[PropertySymbol.nodeType] === NodeTypeEnum.elementNode && referenceNode) {
141
146
  if (
142
147
  !options?.disableAncestorValidation &&
143
148
  NodeUtility.isInclusiveAncestor(newNode, ancestorNode)
@@ -147,20 +152,22 @@ export default class ElementUtility {
147
152
  DOMExceptionNameEnum.domException
148
153
  );
149
154
  }
150
- if (newNode.parentNode) {
155
+ if (newNode[PropertySymbol.parentNode]) {
151
156
  const parentNodeChildren = <HTMLCollection<IHTMLElement>>(
152
- (<Element>newNode.parentNode)[PropertySymbol.children]
157
+ (<Element>newNode[PropertySymbol.parentNode])[PropertySymbol.children]
153
158
  );
154
159
 
155
160
  if (parentNodeChildren) {
156
161
  const index = parentNodeChildren.indexOf(<IHTMLElement>newNode);
157
162
  if (index !== -1) {
158
163
  for (const attributeName of NAMED_ITEM_ATTRIBUTES) {
159
- const attribute = (<Element>newNode).attributes.getNamedItem(attributeName);
164
+ const attribute = (<Element>newNode)[PropertySymbol.attributes].getNamedItem(
165
+ attributeName
166
+ );
160
167
  if (attribute) {
161
168
  parentNodeChildren[PropertySymbol.removeNamedItem](
162
169
  <IHTMLElement>newNode,
163
- attribute.value
170
+ attribute[PropertySymbol.value]
164
171
  );
165
172
  }
166
173
  }
@@ -174,7 +181,7 @@ export default class ElementUtility {
174
181
  (<Element>ancestorNode)[PropertySymbol.children]
175
182
  );
176
183
 
177
- if (referenceNode.nodeType === NodeTypeEnum.elementNode) {
184
+ if (referenceNode[PropertySymbol.nodeType] === NodeTypeEnum.elementNode) {
178
185
  const index = ancestorNodeChildren.indexOf(<IElement>referenceNode);
179
186
  if (index !== -1) {
180
187
  ancestorNodeChildren.splice(index, 0, <IElement>newNode);
@@ -186,18 +193,18 @@ export default class ElementUtility {
186
193
  if (node === referenceNode) {
187
194
  ancestorNodeChildren.push(<IElement>newNode);
188
195
  }
189
- if (node.nodeType === NodeTypeEnum.elementNode) {
196
+ if (node[PropertySymbol.nodeType] === NodeTypeEnum.elementNode) {
190
197
  ancestorNodeChildren.push(<IElement>node);
191
198
  }
192
199
  }
193
200
  }
194
201
 
195
202
  for (const attributeName of NAMED_ITEM_ATTRIBUTES) {
196
- const attribute = (<Element>newNode).attributes.getNamedItem(attributeName);
203
+ const attribute = (<Element>newNode)[PropertySymbol.attributes].getNamedItem(attributeName);
197
204
  if (attribute) {
198
205
  ancestorNodeChildren[PropertySymbol.appendNamedItem](
199
206
  <IHTMLElement>newNode,
200
- attribute.value
207
+ attribute[PropertySymbol.value]
201
208
  );
202
209
  }
203
210
  }
@@ -20,11 +20,11 @@ export default interface IElement extends IChildNode, INonDocumentTypeChildNode,
20
20
  readonly shadowRoot: IShadowRoot;
21
21
  readonly classList: IDOMTokenList;
22
22
  readonly namespaceURI: string;
23
- prefix: string | null;
23
+ readonly prefix: string | null;
24
24
  scrollTop: number;
25
25
  scrollLeft: number;
26
- scrollWidth: number;
27
- scrollHeight: number;
26
+ readonly scrollWidth: number;
27
+ readonly scrollHeight: number;
28
28
  id: string;
29
29
  className: string;
30
30
  role: string;
@@ -17,7 +17,9 @@ import EventPhaseEnum from '../../event/EventPhaseEnum.js';
17
17
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement.
18
18
  */
19
19
  export default class HTMLAnchorElement extends HTMLElement implements IHTMLAnchorElement {
20
- public override readonly attributes: INamedNodeMap = new HTMLAnchorElementNamedNodeMap(this);
20
+ public override [PropertySymbol.attributes]: INamedNodeMap = new HTMLAnchorElementNamedNodeMap(
21
+ this
22
+ );
21
23
  public [PropertySymbol.relList]: DOMTokenList = null;
22
24
  public [PropertySymbol.url]: URL | null = null;
23
25
 
@@ -432,11 +434,11 @@ export default class HTMLAnchorElement extends HTMLElement implements IHTMLAncho
432
434
  !event.defaultPrevented &&
433
435
  this[PropertySymbol.url]
434
436
  ) {
435
- this.ownerDocument[PropertySymbol.defaultView].open(
437
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].open(
436
438
  this[PropertySymbol.url].toString(),
437
439
  this.target || '_self'
438
440
  );
439
- if (this.ownerDocument[PropertySymbol.defaultView].closed) {
441
+ if (this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].closed) {
440
442
  event.stopImmediatePropagation();
441
443
  }
442
444
  }
@@ -18,12 +18,15 @@ export default class HTMLAnchorElementNamedNodeMap extends HTMLElementNamedNodeM
18
18
  public override setNamedItem(item: IAttr): IAttr | null {
19
19
  const replacedItem = super.setNamedItem(item);
20
20
 
21
- if (item.name === 'rel' && this[PropertySymbol.ownerElement][PropertySymbol.relList]) {
21
+ if (
22
+ item[PropertySymbol.name] === 'rel' &&
23
+ this[PropertySymbol.ownerElement][PropertySymbol.relList]
24
+ ) {
22
25
  this[PropertySymbol.ownerElement][PropertySymbol.relList][PropertySymbol.updateIndices]();
23
- } else if (item.name === 'href') {
26
+ } else if (item[PropertySymbol.name] === 'href') {
24
27
  this[PropertySymbol.ownerElement][PropertySymbol.url] = HTMLAnchorElementUtility.getUrl(
25
28
  this[PropertySymbol.ownerElement].ownerDocument,
26
- item.value
29
+ item[PropertySymbol.value]
27
30
  );
28
31
  }
29
32
 
@@ -37,9 +40,12 @@ export default class HTMLAnchorElementNamedNodeMap extends HTMLElementNamedNodeM
37
40
  const removedItem = super[PropertySymbol.removeNamedItem](name);
38
41
 
39
42
  if (removedItem) {
40
- if (removedItem.name === 'rel' && this[PropertySymbol.ownerElement][PropertySymbol.relList]) {
43
+ if (
44
+ removedItem[PropertySymbol.name] === 'rel' &&
45
+ this[PropertySymbol.ownerElement][PropertySymbol.relList]
46
+ ) {
41
47
  this[PropertySymbol.ownerElement][PropertySymbol.relList][PropertySymbol.updateIndices]();
42
- } else if (removedItem.name === 'href') {
48
+ } else if (removedItem[PropertySymbol.name] === 'href') {
43
49
  this[PropertySymbol.ownerElement][PropertySymbol.url] = null;
44
50
  }
45
51
  }
@@ -1,5 +1,6 @@
1
1
  import HTMLElement from '../html-element/HTMLElement.js';
2
2
  import IHTMLBaseElement from './IHTMLBaseElement.js';
3
+ import * as PropertySymbol from '../../PropertySymbol.js';
3
4
 
4
5
  /**
5
6
  * HTML Base Element.
@@ -18,7 +19,7 @@ export default class HTMLBaseElement extends HTMLElement implements IHTMLBaseEle
18
19
  if (href !== null) {
19
20
  return href;
20
21
  }
21
- return this.ownerDocument.location.href;
22
+ return this[PropertySymbol.ownerDocument].location.href;
22
23
  }
23
24
 
24
25
  /**
@@ -22,9 +22,29 @@ const BUTTON_TYPES = ['submit', 'reset', 'button', 'menu'];
22
22
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement.
23
23
  */
24
24
  export default class HTMLButtonElement extends HTMLElement implements IHTMLButtonElement {
25
- public override readonly attributes: INamedNodeMap = new HTMLButtonElementNamedNodeMap(this);
26
- public readonly validationMessage = '';
27
- public readonly validity = new ValidityState(this);
25
+ public override [PropertySymbol.attributes]: INamedNodeMap = new HTMLButtonElementNamedNodeMap(
26
+ this
27
+ );
28
+ public [PropertySymbol.validationMessage] = '';
29
+ public [PropertySymbol.validity] = new ValidityState(this);
30
+
31
+ /**
32
+ * Returns validation message.
33
+ *
34
+ * @returns Validation message.
35
+ */
36
+ public get validationMessage(): string {
37
+ return this[PropertySymbol.validationMessage];
38
+ }
39
+
40
+ /**
41
+ * Returns validity.
42
+ *
43
+ * @returns Validity.
44
+ */
45
+ public get validity(): ValidityState {
46
+ return this[PropertySymbol.validity];
47
+ }
28
48
 
29
49
  /**
30
50
  * Returns name.
@@ -149,7 +169,10 @@ export default class HTMLButtonElement extends HTMLElement implements IHTMLButto
149
169
  */
150
170
  public checkValidity(): boolean {
151
171
  const valid =
152
- this.disabled || this.type === 'reset' || this.type === 'button' || this.validity.valid;
172
+ this.disabled ||
173
+ this.type === 'reset' ||
174
+ this.type === 'button' ||
175
+ this[PropertySymbol.validity].valid;
153
176
  if (!valid) {
154
177
  this.dispatchEvent(new Event('invalid', { bubbles: true, cancelable: true }));
155
178
  }
@@ -171,7 +194,7 @@ export default class HTMLButtonElement extends HTMLElement implements IHTMLButto
171
194
  * @param message Message.
172
195
  */
173
196
  public setCustomValidity(message: string): void {
174
- (<string>this.validationMessage) = String(message);
197
+ this[PropertySymbol.validationMessage] = String(message);
175
198
  }
176
199
 
177
200
  /**
@@ -189,7 +212,7 @@ export default class HTMLButtonElement extends HTMLElement implements IHTMLButto
189
212
  (event.eventPhase === EventPhaseEnum.atTarget ||
190
213
  event.eventPhase === EventPhaseEnum.bubbling) &&
191
214
  this[PropertySymbol.formNode] &&
192
- this.isConnected
215
+ this[PropertySymbol.isConnected]
193
216
  ) {
194
217
  const form = <IHTMLFormElement>this[PropertySymbol.formNode];
195
218
  switch (this.type) {
@@ -19,18 +19,18 @@ export default class HTMLButtonElementNamedNodeMap extends HTMLElementNamedNodeM
19
19
  const replacedItem = super.setNamedItem(item);
20
20
 
21
21
  if (
22
- (item.name === 'id' || item.name === 'name') &&
22
+ (item[PropertySymbol.name] === 'id' || item[PropertySymbol.name] === 'name') &&
23
23
  this[PropertySymbol.ownerElement][PropertySymbol.formNode]
24
24
  ) {
25
- if (replacedItem?.value) {
25
+ if (replacedItem?.[PropertySymbol.value]) {
26
26
  (<HTMLFormElement>this[PropertySymbol.ownerElement][PropertySymbol.formNode])[
27
27
  PropertySymbol.removeFormControlItem
28
- ](this[PropertySymbol.ownerElement], replacedItem.value);
28
+ ](this[PropertySymbol.ownerElement], replacedItem[PropertySymbol.value]);
29
29
  }
30
- if (item.value) {
30
+ if (item[PropertySymbol.value]) {
31
31
  (<HTMLFormElement>this[PropertySymbol.ownerElement][PropertySymbol.formNode])[
32
32
  PropertySymbol.appendFormControlItem
33
- ](this[PropertySymbol.ownerElement], item.value);
33
+ ](this[PropertySymbol.ownerElement], item[PropertySymbol.value]);
34
34
  }
35
35
  }
36
36
 
@@ -45,12 +45,12 @@ export default class HTMLButtonElementNamedNodeMap extends HTMLElementNamedNodeM
45
45
 
46
46
  if (
47
47
  removedItem &&
48
- (removedItem.name === 'id' || removedItem.name === 'name') &&
48
+ (removedItem[PropertySymbol.name] === 'id' || removedItem[PropertySymbol.name] === 'name') &&
49
49
  this[PropertySymbol.ownerElement][PropertySymbol.formNode]
50
50
  ) {
51
51
  (<HTMLFormElement>this[PropertySymbol.ownerElement][PropertySymbol.formNode])[
52
52
  PropertySymbol.removeFormControlItem
53
- ](this[PropertySymbol.ownerElement], removedItem.value);
53
+ ](this[PropertySymbol.ownerElement], removedItem[PropertySymbol.value]);
54
54
  }
55
55
 
56
56
  return removedItem;
@@ -1,6 +1,7 @@
1
1
  import Event from '../../event/Event.js';
2
2
  import HTMLElement from '../html-element/HTMLElement.js';
3
3
  import IHTMLDialogElement from './IHTMLDialogElement.js';
4
+ import * as PropertySymbol from '../../PropertySymbol.js';
4
5
 
5
6
  /**
6
7
  * HTML Dialog Element.
@@ -9,12 +10,31 @@ import IHTMLDialogElement from './IHTMLDialogElement.js';
9
10
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement.
10
11
  */
11
12
  export default class HTMLDialogElement extends HTMLElement implements IHTMLDialogElement {
12
- public returnValue = '';
13
+ // Internal properties
14
+ public [PropertySymbol.returnValue] = '';
13
15
 
14
16
  // Events
15
17
  public oncancel: (event: Event) => void | null = null;
16
18
  public onclose: (event: Event) => void | null = null;
17
19
 
20
+ /**
21
+ * Returns return value.
22
+ *
23
+ * @returns Return value.
24
+ */
25
+ public get returnValue(): string {
26
+ return this[PropertySymbol.returnValue];
27
+ }
28
+
29
+ /**
30
+ * Sets return value.
31
+ *
32
+ * @param value Return value.
33
+ */
34
+ public set returnValue(value: string) {
35
+ this[PropertySymbol.returnValue] = value;
36
+ }
37
+
18
38
  /**
19
39
  * Sets the "open" attribute.
20
40
  *
@@ -1,6 +1,7 @@
1
1
  import IBrowserFrame from '../../browser/types/IBrowserFrame.js';
2
2
  import IBrowserWindow from '../../window/IBrowserWindow.js';
3
3
  import Document from '../document/Document.js';
4
+ import * as PropertySymbol from '../../PropertySymbol.js';
4
5
 
5
6
  /**
6
7
  * Document.
@@ -17,7 +18,7 @@ export default class HTMLDocument extends Document {
17
18
  super(injected);
18
19
 
19
20
  // Default document elements
20
- const doctype = this.implementation.createDocumentType('html', '', '');
21
+ const doctype = this[PropertySymbol.implementation].createDocumentType('html', '', '');
21
22
  const documentElement = this.createElement('html');
22
23
  const bodyElement = this.createElement('body');
23
24
  const headElement = this.createElement('head');