happy-dom 13.0.6 → 13.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of happy-dom might be problematic. Click here for more details.

Files changed (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/async-task-manager/AsyncTaskManager.cjs +11 -5
  6. package/cjs/async-task-manager/AsyncTaskManager.cjs.map +1 -1
  7. package/cjs/async-task-manager/AsyncTaskManager.d.ts.map +1 -1
  8. package/cjs/browser/utilities/BrowserFrameNavigator.cjs +1 -1
  9. package/cjs/browser/utilities/BrowserFrameNavigator.cjs.map +1 -1
  10. package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs +17 -16
  11. package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs.map +1 -1
  12. package/cjs/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +1 -1
  13. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs +43 -26
  14. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs.map +1 -1
  15. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
  16. package/cjs/dom-implementation/DOMImplementation.cjs +6 -6
  17. package/cjs/dom-implementation/DOMImplementation.cjs.map +1 -1
  18. package/cjs/dom-parser/DOMParser.cjs +2 -2
  19. package/cjs/dom-parser/DOMParser.cjs.map +1 -1
  20. package/cjs/dom-parser/DOMParser.d.ts.map +1 -1
  21. package/cjs/event/Event.cjs +3 -3
  22. package/cjs/event/Event.cjs.map +1 -1
  23. package/cjs/event/EventTarget.cjs +4 -4
  24. package/cjs/event/EventTarget.cjs.map +1 -1
  25. package/cjs/fetch/Request.cjs +2 -1
  26. package/cjs/fetch/Request.cjs.map +1 -1
  27. package/cjs/fetch/Request.d.ts +4 -4
  28. package/cjs/fetch/Request.d.ts.map +1 -1
  29. package/cjs/form-data/FormData.cjs +7 -7
  30. package/cjs/form-data/FormData.cjs.map +1 -1
  31. package/cjs/mutation-observer/MutationObserver.cjs +3 -3
  32. package/cjs/mutation-observer/MutationObserver.cjs.map +1 -1
  33. package/cjs/named-node-map/NamedNodeMap.cjs +10 -8
  34. package/cjs/named-node-map/NamedNodeMap.cjs.map +1 -1
  35. package/cjs/named-node-map/NamedNodeMap.d.ts.map +1 -1
  36. package/cjs/nodes/attr/Attr.cjs +84 -15
  37. package/cjs/nodes/attr/Attr.cjs.map +1 -1
  38. package/cjs/nodes/attr/Attr.d.ts +40 -8
  39. package/cjs/nodes/attr/Attr.d.ts.map +1 -1
  40. package/cjs/nodes/character-data/CharacterData.cjs +2 -2
  41. package/cjs/nodes/character-data/CharacterData.cjs.map +1 -1
  42. package/cjs/nodes/child-node/ChildNodeUtility.cjs +8 -8
  43. package/cjs/nodes/child-node/ChildNodeUtility.cjs.map +1 -1
  44. package/cjs/nodes/child-node/NonDocumentChildNodeUtility.cjs +27 -3
  45. package/cjs/nodes/child-node/NonDocumentChildNodeUtility.cjs.map +1 -1
  46. package/cjs/nodes/child-node/NonDocumentChildNodeUtility.d.ts.map +1 -1
  47. package/cjs/nodes/comment/Comment.cjs +28 -2
  48. package/cjs/nodes/comment/Comment.cjs.map +1 -1
  49. package/cjs/nodes/comment/Comment.d.ts +3 -1
  50. package/cjs/nodes/comment/Comment.d.ts.map +1 -1
  51. package/cjs/nodes/document/Document.cjs +95 -41
  52. package/cjs/nodes/document/Document.cjs.map +1 -1
  53. package/cjs/nodes/document/Document.d.ts +45 -10
  54. package/cjs/nodes/document/Document.d.ts.map +1 -1
  55. package/cjs/nodes/document/IDocument.d.ts +2 -1
  56. package/cjs/nodes/document/IDocument.d.ts.map +1 -1
  57. package/cjs/nodes/document-fragment/DocumentFragment.cjs +8 -6
  58. package/cjs/nodes/document-fragment/DocumentFragment.cjs.map +1 -1
  59. package/cjs/nodes/document-fragment/DocumentFragment.d.ts +2 -1
  60. package/cjs/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
  61. package/cjs/nodes/document-type/DocumentType.cjs +58 -7
  62. package/cjs/nodes/document-type/DocumentType.cjs.map +1 -1
  63. package/cjs/nodes/document-type/DocumentType.d.ts +24 -4
  64. package/cjs/nodes/document-type/DocumentType.d.ts.map +1 -1
  65. package/cjs/nodes/element/Dataset.cjs +14 -14
  66. package/cjs/nodes/element/Dataset.cjs.map +1 -1
  67. package/cjs/nodes/element/Dataset.d.ts +1 -1
  68. package/cjs/nodes/element/Dataset.d.ts.map +1 -1
  69. package/cjs/nodes/element/Element.cjs +142 -55
  70. package/cjs/nodes/element/Element.cjs.map +1 -1
  71. package/cjs/nodes/element/Element.d.ts +77 -11
  72. package/cjs/nodes/element/Element.d.ts.map +1 -1
  73. package/cjs/nodes/element/ElementNamedNodeMap.cjs +33 -30
  74. package/cjs/nodes/element/ElementNamedNodeMap.cjs.map +1 -1
  75. package/cjs/nodes/element/ElementNamedNodeMap.d.ts.map +1 -1
  76. package/cjs/nodes/element/ElementUtility.cjs +19 -19
  77. package/cjs/nodes/element/ElementUtility.cjs.map +1 -1
  78. package/cjs/nodes/element/ElementUtility.d.ts.map +1 -1
  79. package/cjs/nodes/element/IElement.d.ts +3 -3
  80. package/cjs/nodes/element/IElement.d.ts.map +1 -1
  81. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs +6 -6
  82. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs.map +1 -1
  83. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts +1 -1
  84. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  85. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.cjs +7 -5
  86. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.cjs.map +1 -1
  87. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts.map +1 -1
  88. package/cjs/nodes/html-base-element/HTMLBaseElement.cjs +25 -1
  89. package/cjs/nodes/html-base-element/HTMLBaseElement.cjs.map +1 -1
  90. package/cjs/nodes/html-base-element/HTMLBaseElement.d.ts.map +1 -1
  91. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs +27 -8
  92. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs.map +1 -1
  93. package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts +16 -3
  94. package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  95. package/cjs/nodes/html-button-element/HTMLButtonElementNamedNodeMap.cjs +7 -7
  96. package/cjs/nodes/html-button-element/HTMLButtonElementNamedNodeMap.cjs.map +1 -1
  97. package/cjs/nodes/html-dialog-element/HTMLDialogElement.cjs +44 -1
  98. package/cjs/nodes/html-dialog-element/HTMLDialogElement.cjs.map +1 -1
  99. package/cjs/nodes/html-dialog-element/HTMLDialogElement.d.ts +14 -1
  100. package/cjs/nodes/html-dialog-element/HTMLDialogElement.d.ts.map +1 -1
  101. package/cjs/nodes/html-document/HTMLDocument.cjs +25 -1
  102. package/cjs/nodes/html-document/HTMLDocument.cjs.map +1 -1
  103. package/cjs/nodes/html-document/HTMLDocument.d.ts.map +1 -1
  104. package/cjs/nodes/html-element/HTMLElement.cjs +137 -32
  105. package/cjs/nodes/html-element/HTMLElement.cjs.map +1 -1
  106. package/cjs/nodes/html-element/HTMLElement.d.ts +91 -14
  107. package/cjs/nodes/html-element/HTMLElement.d.ts.map +1 -1
  108. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.cjs +4 -3
  109. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.cjs.map +1 -1
  110. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.d.ts.map +1 -1
  111. package/cjs/nodes/html-element/HTMLElementUtility.cjs +12 -10
  112. package/cjs/nodes/html-element/HTMLElementUtility.cjs.map +1 -1
  113. package/cjs/nodes/html-element/HTMLElementUtility.d.ts.map +1 -1
  114. package/cjs/nodes/html-element/IHTMLElement.d.ts +3 -0
  115. package/cjs/nodes/html-element/IHTMLElement.d.ts.map +1 -1
  116. package/cjs/nodes/html-form-element/HTMLFormElement.cjs +62 -30
  117. package/cjs/nodes/html-form-element/HTMLFormElement.cjs.map +1 -1
  118. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts +22 -3
  119. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  120. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs +5 -5
  121. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs.map +1 -1
  122. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts +1 -1
  123. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  124. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.cjs +27 -1
  125. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.cjs.map +1 -1
  126. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts.map +1 -1
  127. package/cjs/nodes/html-iframe-element/HTMLIFrameElementPageLoader.cjs +2 -2
  128. package/cjs/nodes/html-iframe-element/HTMLIFrameElementPageLoader.cjs.map +1 -1
  129. package/cjs/nodes/html-image-element/HTMLImageElement.cjs +128 -26
  130. package/cjs/nodes/html-image-element/HTMLImageElement.cjs.map +1 -1
  131. package/cjs/nodes/html-image-element/HTMLImageElement.d.ts +76 -21
  132. package/cjs/nodes/html-image-element/HTMLImageElement.d.ts.map +1 -1
  133. package/cjs/nodes/html-input-element/HTMLInputElement.cjs +112 -27
  134. package/cjs/nodes/html-input-element/HTMLInputElement.cjs.map +1 -1
  135. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts +67 -10
  136. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  137. package/cjs/nodes/html-input-element/HTMLInputElementNamedNodeMap.cjs +7 -7
  138. package/cjs/nodes/html-input-element/HTMLInputElementNamedNodeMap.cjs.map +1 -1
  139. package/cjs/nodes/html-label-element/HTMLLabelElement.cjs +1 -1
  140. package/cjs/nodes/html-label-element/HTMLLabelElement.cjs.map +1 -1
  141. package/cjs/nodes/html-label-element/HTMLLabelElementUtility.cjs +26 -2
  142. package/cjs/nodes/html-label-element/HTMLLabelElementUtility.cjs.map +1 -1
  143. package/cjs/nodes/html-label-element/HTMLLabelElementUtility.d.ts.map +1 -1
  144. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs +15 -8
  145. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs.map +1 -1
  146. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts +6 -2
  147. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  148. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.cjs +7 -6
  149. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.cjs.map +1 -1
  150. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts.map +1 -1
  151. package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.cjs +8 -5
  152. package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.cjs.map +1 -1
  153. package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.d.ts.map +1 -1
  154. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs +154 -53
  155. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs.map +1 -1
  156. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts +86 -12
  157. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  158. package/cjs/nodes/html-option-element/HTMLOptionElement.cjs +4 -4
  159. package/cjs/nodes/html-option-element/HTMLOptionElement.cjs.map +1 -1
  160. package/cjs/nodes/html-option-element/HTMLOptionElement.d.ts +1 -1
  161. package/cjs/nodes/html-option-element/HTMLOptionElement.d.ts.map +1 -1
  162. package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.cjs +3 -3
  163. package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.cjs.map +1 -1
  164. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs +12 -11
  165. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs.map +1 -1
  166. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts +1 -1
  167. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  168. package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.cjs +4 -4
  169. package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.cjs.map +1 -1
  170. package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.cjs +8 -8
  171. package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.cjs.map +1 -1
  172. package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.d.ts.map +1 -1
  173. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs +63 -32
  174. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs.map +1 -1
  175. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts +30 -5
  176. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  177. package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.cjs +7 -7
  178. package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.cjs.map +1 -1
  179. package/cjs/nodes/html-style-element/HTMLStyleElement.cjs +6 -6
  180. package/cjs/nodes/html-style-element/HTMLStyleElement.cjs.map +1 -1
  181. package/cjs/nodes/html-style-element/HTMLStyleElement.d.ts +1 -1
  182. package/cjs/nodes/html-style-element/HTMLStyleElement.d.ts.map +1 -1
  183. package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs +27 -12
  184. package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs.map +1 -1
  185. package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts +8 -1
  186. package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
  187. package/cjs/nodes/html-template-element/IHTMLTemplateElement.d.ts +1 -1
  188. package/cjs/nodes/html-template-element/IHTMLTemplateElement.d.ts.map +1 -1
  189. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs +27 -9
  190. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs.map +1 -1
  191. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +16 -3
  192. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  193. package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.cjs +7 -7
  194. package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.cjs.map +1 -1
  195. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs +24 -17
  196. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs.map +1 -1
  197. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.d.ts.map +1 -1
  198. package/cjs/nodes/node/INode.d.ts +2 -2
  199. package/cjs/nodes/node/INode.d.ts.map +1 -1
  200. package/cjs/nodes/node/Node.cjs +95 -56
  201. package/cjs/nodes/node/Node.cjs.map +1 -1
  202. package/cjs/nodes/node/Node.d.ts +44 -20
  203. package/cjs/nodes/node/Node.d.ts.map +1 -1
  204. package/cjs/nodes/node/NodeUtility.cjs +37 -37
  205. package/cjs/nodes/node/NodeUtility.cjs.map +1 -1
  206. package/cjs/nodes/node/NodeUtility.d.ts.map +1 -1
  207. package/cjs/nodes/parent-node/ParentNodeUtility.cjs +8 -5
  208. package/cjs/nodes/parent-node/ParentNodeUtility.cjs.map +1 -1
  209. package/cjs/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
  210. package/cjs/nodes/processing-instruction/ProcessingInstruction.cjs +35 -1
  211. package/cjs/nodes/processing-instruction/ProcessingInstruction.cjs.map +1 -1
  212. package/cjs/nodes/processing-instruction/ProcessingInstruction.d.ts +9 -2
  213. package/cjs/nodes/processing-instruction/ProcessingInstruction.d.ts.map +1 -1
  214. package/cjs/nodes/shadow-root/IShadowRoot.d.ts +2 -0
  215. package/cjs/nodes/shadow-root/IShadowRoot.d.ts.map +1 -1
  216. package/cjs/nodes/shadow-root/ShadowRoot.cjs +44 -7
  217. package/cjs/nodes/shadow-root/ShadowRoot.cjs.map +1 -1
  218. package/cjs/nodes/shadow-root/ShadowRoot.d.ts +28 -3
  219. package/cjs/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
  220. package/cjs/nodes/svg-element/SVGElement.cjs +7 -6
  221. package/cjs/nodes/svg-element/SVGElement.cjs.map +1 -1
  222. package/cjs/nodes/svg-element/SVGElement.d.ts +2 -2
  223. package/cjs/nodes/svg-element/SVGElement.d.ts.map +1 -1
  224. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.cjs +4 -3
  225. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.cjs.map +1 -1
  226. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.d.ts.map +1 -1
  227. package/cjs/nodes/text/Text.cjs +7 -6
  228. package/cjs/nodes/text/Text.cjs.map +1 -1
  229. package/cjs/nodes/text/Text.d.ts +2 -1
  230. package/cjs/nodes/text/Text.d.ts.map +1 -1
  231. package/cjs/query-selector/QuerySelector.cjs +2 -2
  232. package/cjs/query-selector/QuerySelector.cjs.map +1 -1
  233. package/cjs/query-selector/SelectorItem.cjs +16 -16
  234. package/cjs/query-selector/SelectorItem.cjs.map +1 -1
  235. package/cjs/query-selector/SelectorItem.d.ts.map +1 -1
  236. package/cjs/range/Range.cjs +91 -79
  237. package/cjs/range/Range.cjs.map +1 -1
  238. package/cjs/range/Range.d.ts.map +1 -1
  239. package/cjs/range/RangeUtility.cjs +5 -4
  240. package/cjs/range/RangeUtility.cjs.map +1 -1
  241. package/cjs/range/RangeUtility.d.ts.map +1 -1
  242. package/cjs/selection/Selection.cjs +15 -15
  243. package/cjs/selection/Selection.cjs.map +1 -1
  244. package/cjs/tree-walker/TreeWalker.cjs +12 -6
  245. package/cjs/tree-walker/TreeWalker.cjs.map +1 -1
  246. package/cjs/tree-walker/TreeWalker.d.ts.map +1 -1
  247. package/cjs/validity-state/ValidityState.cjs +1 -1
  248. package/cjs/validity-state/ValidityState.cjs.map +1 -1
  249. package/cjs/version.cjs +1 -1
  250. package/cjs/window/BrowserWindow.cjs +20 -26
  251. package/cjs/window/BrowserWindow.cjs.map +1 -1
  252. package/cjs/window/BrowserWindow.d.ts.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/async-task-manager/AsyncTaskManager.d.ts.map +1 -1
  270. package/lib/async-task-manager/AsyncTaskManager.js +11 -5
  271. package/lib/async-task-manager/AsyncTaskManager.js.map +1 -1
  272. package/lib/browser/utilities/BrowserFrameNavigator.js +1 -1
  273. package/lib/browser/utilities/BrowserFrameNavigator.js.map +1 -1
  274. package/lib/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +1 -1
  275. package/lib/css/declaration/AbstractCSSStyleDeclaration.js +17 -16
  276. package/lib/css/declaration/AbstractCSSStyleDeclaration.js.map +1 -1
  277. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
  278. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js +43 -26
  279. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js.map +1 -1
  280. package/lib/dom-implementation/DOMImplementation.js +6 -6
  281. package/lib/dom-implementation/DOMImplementation.js.map +1 -1
  282. package/lib/dom-parser/DOMParser.d.ts.map +1 -1
  283. package/lib/dom-parser/DOMParser.js +2 -2
  284. package/lib/dom-parser/DOMParser.js.map +1 -1
  285. package/lib/event/Event.js +3 -3
  286. package/lib/event/Event.js.map +1 -1
  287. package/lib/event/EventTarget.js +4 -4
  288. package/lib/event/EventTarget.js.map +1 -1
  289. package/lib/fetch/Request.d.ts +4 -4
  290. package/lib/fetch/Request.d.ts.map +1 -1
  291. package/lib/fetch/Request.js +2 -1
  292. package/lib/fetch/Request.js.map +1 -1
  293. package/lib/form-data/FormData.js +7 -7
  294. package/lib/form-data/FormData.js.map +1 -1
  295. package/lib/mutation-observer/MutationObserver.js +3 -3
  296. package/lib/mutation-observer/MutationObserver.js.map +1 -1
  297. package/lib/named-node-map/NamedNodeMap.d.ts.map +1 -1
  298. package/lib/named-node-map/NamedNodeMap.js +10 -8
  299. package/lib/named-node-map/NamedNodeMap.js.map +1 -1
  300. package/lib/nodes/attr/Attr.d.ts +40 -8
  301. package/lib/nodes/attr/Attr.d.ts.map +1 -1
  302. package/lib/nodes/attr/Attr.js +63 -16
  303. package/lib/nodes/attr/Attr.js.map +1 -1
  304. package/lib/nodes/character-data/CharacterData.js +2 -2
  305. package/lib/nodes/character-data/CharacterData.js.map +1 -1
  306. package/lib/nodes/child-node/ChildNodeUtility.js +8 -8
  307. package/lib/nodes/child-node/ChildNodeUtility.js.map +1 -1
  308. package/lib/nodes/child-node/NonDocumentChildNodeUtility.d.ts.map +1 -1
  309. package/lib/nodes/child-node/NonDocumentChildNodeUtility.js +4 -3
  310. package/lib/nodes/child-node/NonDocumentChildNodeUtility.js.map +1 -1
  311. package/lib/nodes/comment/Comment.d.ts +3 -1
  312. package/lib/nodes/comment/Comment.d.ts.map +1 -1
  313. package/lib/nodes/comment/Comment.js +7 -3
  314. package/lib/nodes/comment/Comment.js.map +1 -1
  315. package/lib/nodes/document/Document.d.ts +45 -10
  316. package/lib/nodes/document/Document.d.ts.map +1 -1
  317. package/lib/nodes/document/Document.js +95 -41
  318. package/lib/nodes/document/Document.js.map +1 -1
  319. package/lib/nodes/document/IDocument.d.ts +2 -1
  320. package/lib/nodes/document/IDocument.d.ts.map +1 -1
  321. package/lib/nodes/document-fragment/DocumentFragment.d.ts +2 -1
  322. package/lib/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
  323. package/lib/nodes/document-fragment/DocumentFragment.js +8 -6
  324. package/lib/nodes/document-fragment/DocumentFragment.js.map +1 -1
  325. package/lib/nodes/document-type/DocumentType.d.ts +24 -4
  326. package/lib/nodes/document-type/DocumentType.d.ts.map +1 -1
  327. package/lib/nodes/document-type/DocumentType.js +37 -8
  328. package/lib/nodes/document-type/DocumentType.js.map +1 -1
  329. package/lib/nodes/element/Dataset.d.ts +1 -1
  330. package/lib/nodes/element/Dataset.d.ts.map +1 -1
  331. package/lib/nodes/element/Dataset.js +14 -14
  332. package/lib/nodes/element/Dataset.js.map +1 -1
  333. package/lib/nodes/element/Element.d.ts +77 -11
  334. package/lib/nodes/element/Element.d.ts.map +1 -1
  335. package/lib/nodes/element/Element.js +142 -55
  336. package/lib/nodes/element/Element.js.map +1 -1
  337. package/lib/nodes/element/ElementNamedNodeMap.d.ts.map +1 -1
  338. package/lib/nodes/element/ElementNamedNodeMap.js +33 -30
  339. package/lib/nodes/element/ElementNamedNodeMap.js.map +1 -1
  340. package/lib/nodes/element/ElementUtility.d.ts.map +1 -1
  341. package/lib/nodes/element/ElementUtility.js +19 -19
  342. package/lib/nodes/element/ElementUtility.js.map +1 -1
  343. package/lib/nodes/element/IElement.d.ts +3 -3
  344. package/lib/nodes/element/IElement.d.ts.map +1 -1
  345. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts +1 -1
  346. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  347. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +6 -6
  348. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
  349. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts.map +1 -1
  350. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.js +7 -5
  351. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.js.map +1 -1
  352. package/lib/nodes/html-base-element/HTMLBaseElement.d.ts.map +1 -1
  353. package/lib/nodes/html-base-element/HTMLBaseElement.js +2 -1
  354. package/lib/nodes/html-base-element/HTMLBaseElement.js.map +1 -1
  355. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts +16 -3
  356. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  357. package/lib/nodes/html-button-element/HTMLButtonElement.js +27 -8
  358. package/lib/nodes/html-button-element/HTMLButtonElement.js.map +1 -1
  359. package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.js +7 -7
  360. package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.js.map +1 -1
  361. package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts +14 -1
  362. package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts.map +1 -1
  363. package/lib/nodes/html-dialog-element/HTMLDialogElement.js +23 -2
  364. package/lib/nodes/html-dialog-element/HTMLDialogElement.js.map +1 -1
  365. package/lib/nodes/html-document/HTMLDocument.d.ts.map +1 -1
  366. package/lib/nodes/html-document/HTMLDocument.js +2 -1
  367. package/lib/nodes/html-document/HTMLDocument.js.map +1 -1
  368. package/lib/nodes/html-element/HTMLElement.d.ts +91 -14
  369. package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
  370. package/lib/nodes/html-element/HTMLElement.js +137 -32
  371. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  372. package/lib/nodes/html-element/HTMLElementNamedNodeMap.d.ts.map +1 -1
  373. package/lib/nodes/html-element/HTMLElementNamedNodeMap.js +4 -3
  374. package/lib/nodes/html-element/HTMLElementNamedNodeMap.js.map +1 -1
  375. package/lib/nodes/html-element/HTMLElementUtility.d.ts.map +1 -1
  376. package/lib/nodes/html-element/HTMLElementUtility.js +12 -10
  377. package/lib/nodes/html-element/HTMLElementUtility.js.map +1 -1
  378. package/lib/nodes/html-element/IHTMLElement.d.ts +3 -0
  379. package/lib/nodes/html-element/IHTMLElement.d.ts.map +1 -1
  380. package/lib/nodes/html-form-element/HTMLFormElement.d.ts +22 -3
  381. package/lib/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  382. package/lib/nodes/html-form-element/HTMLFormElement.js +62 -30
  383. package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
  384. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts +1 -1
  385. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  386. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js +5 -5
  387. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
  388. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts.map +1 -1
  389. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.js +4 -1
  390. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.js.map +1 -1
  391. package/lib/nodes/html-iframe-element/HTMLIFrameElementPageLoader.js +2 -2
  392. package/lib/nodes/html-iframe-element/HTMLIFrameElementPageLoader.js.map +1 -1
  393. package/lib/nodes/html-image-element/HTMLImageElement.d.ts +76 -21
  394. package/lib/nodes/html-image-element/HTMLImageElement.d.ts.map +1 -1
  395. package/lib/nodes/html-image-element/HTMLImageElement.js +107 -27
  396. package/lib/nodes/html-image-element/HTMLImageElement.js.map +1 -1
  397. package/lib/nodes/html-input-element/HTMLInputElement.d.ts +67 -10
  398. package/lib/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  399. package/lib/nodes/html-input-element/HTMLInputElement.js +112 -27
  400. package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
  401. package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.js +7 -7
  402. package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.js.map +1 -1
  403. package/lib/nodes/html-label-element/HTMLLabelElement.js +1 -1
  404. package/lib/nodes/html-label-element/HTMLLabelElement.js.map +1 -1
  405. package/lib/nodes/html-label-element/HTMLLabelElementUtility.d.ts.map +1 -1
  406. package/lib/nodes/html-label-element/HTMLLabelElementUtility.js +3 -2
  407. package/lib/nodes/html-label-element/HTMLLabelElementUtility.js.map +1 -1
  408. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +6 -2
  409. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  410. package/lib/nodes/html-link-element/HTMLLinkElement.js +15 -8
  411. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  412. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts.map +1 -1
  413. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.js +7 -6
  414. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.js.map +1 -1
  415. package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.d.ts.map +1 -1
  416. package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.js +8 -5
  417. package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.js.map +1 -1
  418. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts +86 -12
  419. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  420. package/lib/nodes/html-media-element/HTMLMediaElement.js +132 -54
  421. package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -1
  422. package/lib/nodes/html-option-element/HTMLOptionElement.d.ts +1 -1
  423. package/lib/nodes/html-option-element/HTMLOptionElement.d.ts.map +1 -1
  424. package/lib/nodes/html-option-element/HTMLOptionElement.js +4 -4
  425. package/lib/nodes/html-option-element/HTMLOptionElement.js.map +1 -1
  426. package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.js +3 -3
  427. package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.js.map +1 -1
  428. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +1 -1
  429. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  430. package/lib/nodes/html-script-element/HTMLScriptElement.js +12 -11
  431. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  432. package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.js +4 -4
  433. package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.js.map +1 -1
  434. package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.d.ts.map +1 -1
  435. package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.js +8 -8
  436. package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.js.map +1 -1
  437. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts +30 -5
  438. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  439. package/lib/nodes/html-select-element/HTMLSelectElement.js +63 -32
  440. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  441. package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.js +7 -7
  442. package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.js.map +1 -1
  443. package/lib/nodes/html-style-element/HTMLStyleElement.d.ts +1 -1
  444. package/lib/nodes/html-style-element/HTMLStyleElement.d.ts.map +1 -1
  445. package/lib/nodes/html-style-element/HTMLStyleElement.js +6 -6
  446. package/lib/nodes/html-style-element/HTMLStyleElement.js.map +1 -1
  447. package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts +8 -1
  448. package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
  449. package/lib/nodes/html-template-element/HTMLTemplateElement.js +29 -13
  450. package/lib/nodes/html-template-element/HTMLTemplateElement.js.map +1 -1
  451. package/lib/nodes/html-template-element/IHTMLTemplateElement.d.ts +1 -1
  452. package/lib/nodes/html-template-element/IHTMLTemplateElement.d.ts.map +1 -1
  453. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +16 -3
  454. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  455. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +27 -9
  456. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
  457. package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.js +7 -7
  458. package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.js.map +1 -1
  459. package/lib/nodes/html-unknown-element/HTMLUnknownElement.d.ts.map +1 -1
  460. package/lib/nodes/html-unknown-element/HTMLUnknownElement.js +24 -17
  461. package/lib/nodes/html-unknown-element/HTMLUnknownElement.js.map +1 -1
  462. package/lib/nodes/node/INode.d.ts +2 -2
  463. package/lib/nodes/node/INode.d.ts.map +1 -1
  464. package/lib/nodes/node/Node.d.ts +44 -20
  465. package/lib/nodes/node/Node.d.ts.map +1 -1
  466. package/lib/nodes/node/Node.js +95 -56
  467. package/lib/nodes/node/Node.js.map +1 -1
  468. package/lib/nodes/node/NodeUtility.d.ts.map +1 -1
  469. package/lib/nodes/node/NodeUtility.js +37 -37
  470. package/lib/nodes/node/NodeUtility.js.map +1 -1
  471. package/lib/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
  472. package/lib/nodes/parent-node/ParentNodeUtility.js +8 -5
  473. package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
  474. package/lib/nodes/processing-instruction/ProcessingInstruction.d.ts +9 -2
  475. package/lib/nodes/processing-instruction/ProcessingInstruction.d.ts.map +1 -1
  476. package/lib/nodes/processing-instruction/ProcessingInstruction.js +14 -2
  477. package/lib/nodes/processing-instruction/ProcessingInstruction.js.map +1 -1
  478. package/lib/nodes/shadow-root/IShadowRoot.d.ts +2 -0
  479. package/lib/nodes/shadow-root/IShadowRoot.d.ts.map +1 -1
  480. package/lib/nodes/shadow-root/ShadowRoot.d.ts +28 -3
  481. package/lib/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
  482. package/lib/nodes/shadow-root/ShadowRoot.js +46 -8
  483. package/lib/nodes/shadow-root/ShadowRoot.js.map +1 -1
  484. package/lib/nodes/svg-element/SVGElement.d.ts +2 -2
  485. package/lib/nodes/svg-element/SVGElement.d.ts.map +1 -1
  486. package/lib/nodes/svg-element/SVGElement.js +7 -6
  487. package/lib/nodes/svg-element/SVGElement.js.map +1 -1
  488. package/lib/nodes/svg-element/SVGElementNamedNodeMap.d.ts.map +1 -1
  489. package/lib/nodes/svg-element/SVGElementNamedNodeMap.js +4 -3
  490. package/lib/nodes/svg-element/SVGElementNamedNodeMap.js.map +1 -1
  491. package/lib/nodes/text/Text.d.ts +2 -1
  492. package/lib/nodes/text/Text.d.ts.map +1 -1
  493. package/lib/nodes/text/Text.js +7 -6
  494. package/lib/nodes/text/Text.js.map +1 -1
  495. package/lib/query-selector/QuerySelector.js +2 -2
  496. package/lib/query-selector/QuerySelector.js.map +1 -1
  497. package/lib/query-selector/SelectorItem.d.ts.map +1 -1
  498. package/lib/query-selector/SelectorItem.js +16 -16
  499. package/lib/query-selector/SelectorItem.js.map +1 -1
  500. package/lib/range/Range.d.ts.map +1 -1
  501. package/lib/range/Range.js +91 -79
  502. package/lib/range/Range.js.map +1 -1
  503. package/lib/range/RangeUtility.d.ts.map +1 -1
  504. package/lib/range/RangeUtility.js +5 -4
  505. package/lib/range/RangeUtility.js.map +1 -1
  506. package/lib/selection/Selection.js +15 -15
  507. package/lib/selection/Selection.js.map +1 -1
  508. package/lib/tree-walker/TreeWalker.d.ts.map +1 -1
  509. package/lib/tree-walker/TreeWalker.js +12 -6
  510. package/lib/tree-walker/TreeWalker.js.map +1 -1
  511. package/lib/validity-state/ValidityState.js +1 -1
  512. package/lib/validity-state/ValidityState.js.map +1 -1
  513. package/lib/version.js +1 -1
  514. package/lib/window/BrowserWindow.d.ts.map +1 -1
  515. package/lib/window/BrowserWindow.js +20 -26
  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/async-task-manager/AsyncTaskManager.ts +12 -5
  532. package/src/browser/utilities/BrowserFrameNavigator.ts +1 -1
  533. package/src/css/declaration/AbstractCSSStyleDeclaration.ts +17 -16
  534. package/src/css/declaration/element-style/CSSStyleDeclarationElementStyle.ts +64 -28
  535. package/src/dom-implementation/DOMImplementation.ts +6 -6
  536. package/src/dom-parser/DOMParser.ts +2 -2
  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 +18 -24
  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
@@ -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');
@@ -18,23 +18,6 @@ import HTMLElementNamedNodeMap from './HTMLElementNamedNodeMap.js';
18
18
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.
19
19
  */
20
20
  export default class HTMLElement extends Element implements IHTMLElement {
21
- public override readonly attributes: INamedNodeMap = new HTMLElementNamedNodeMap(this);
22
- public readonly accessKey = '';
23
- public readonly accessKeyLabel = '';
24
- public readonly contentEditable = 'inherit';
25
- public readonly isContentEditable = false;
26
- public readonly offsetHeight = 0;
27
- public readonly offsetWidth = 0;
28
- public readonly offsetLeft = 0;
29
- public readonly offsetTop = 0;
30
- public readonly clientHeight = 0;
31
- public readonly clientWidth = 0;
32
- public readonly clientLeft = 0;
33
- public readonly clientTop = 0;
34
-
35
- public [PropertySymbol.style]: CSSStyleDeclaration = null;
36
- #dataset: Dataset = null;
37
-
38
21
  // Events
39
22
  public oncopy: (event: Event) => void | null = null;
40
23
  public oncut: (event: Event) => void | null = null;
@@ -62,6 +45,141 @@ export default class HTMLElement extends Element implements IHTMLElement {
62
45
  public ontransitionrun: (event: Event) => void | null = null;
63
46
  public ontransitionstart: (event: Event) => void | null = null;
64
47
 
48
+ // Internal properties
49
+ public override [PropertySymbol.attributes]: INamedNodeMap = new HTMLElementNamedNodeMap(this);
50
+ public [PropertySymbol.accessKey] = '';
51
+ public [PropertySymbol.contentEditable] = 'inherit';
52
+ public [PropertySymbol.isContentEditable] = false;
53
+ public [PropertySymbol.offsetHeight] = 0;
54
+ public [PropertySymbol.offsetWidth] = 0;
55
+ public [PropertySymbol.offsetLeft] = 0;
56
+ public [PropertySymbol.offsetTop] = 0;
57
+ public [PropertySymbol.clientHeight] = 0;
58
+ public [PropertySymbol.clientWidth] = 0;
59
+ public [PropertySymbol.clientLeft] = 0;
60
+ public [PropertySymbol.clientTop] = 0;
61
+ public [PropertySymbol.style]: CSSStyleDeclaration = null;
62
+
63
+ // Private properties
64
+ #dataset: Dataset = null;
65
+
66
+ /**
67
+ * Returns access key.
68
+ *
69
+ * @returns Access key.
70
+ */
71
+ public get accessKey(): string {
72
+ return this[PropertySymbol.accessKey];
73
+ }
74
+
75
+ /**
76
+ * Sets access key.
77
+ *
78
+ * @param accessKey Access key.
79
+ */
80
+ public set accessKey(accessKey: string) {
81
+ this[PropertySymbol.accessKey] = accessKey;
82
+ }
83
+
84
+ /**
85
+ * Returns content editable.
86
+ *
87
+ * @returns Content editable.
88
+ */
89
+ public get contentEditable(): string {
90
+ return this[PropertySymbol.contentEditable];
91
+ }
92
+
93
+ /**
94
+ * Sets content editable.
95
+ *
96
+ * @param contentEditable Content editable.
97
+ */
98
+ public set contentEditable(contentEditable: string) {
99
+ this[PropertySymbol.contentEditable] = contentEditable;
100
+ }
101
+
102
+ /**
103
+ * Returns is content editable.
104
+ *
105
+ * @returns Is content editable.
106
+ */
107
+ public get isContentEditable(): boolean {
108
+ return this[PropertySymbol.isContentEditable];
109
+ }
110
+
111
+ /**
112
+ * Returns offset height.
113
+ *
114
+ * @returns Offset height.
115
+ */
116
+ public get offsetHeight(): number {
117
+ return this[PropertySymbol.offsetHeight];
118
+ }
119
+
120
+ /**
121
+ * Returns offset width.
122
+ *
123
+ * @returns Offset width.
124
+ */
125
+ public get offsetWidth(): number {
126
+ return this[PropertySymbol.offsetWidth];
127
+ }
128
+
129
+ /**
130
+ * Returns offset left.
131
+ *
132
+ * @returns Offset left.
133
+ */
134
+ public get offsetLeft(): number {
135
+ return this[PropertySymbol.offsetLeft];
136
+ }
137
+
138
+ /**
139
+ * Returns offset top.
140
+ *
141
+ * @returns Offset top.
142
+ */
143
+ public get offsetTop(): number {
144
+ return this[PropertySymbol.offsetTop];
145
+ }
146
+
147
+ /**
148
+ * Returns client height.
149
+ *
150
+ * @returns Client height.
151
+ */
152
+ public get clientHeight(): number {
153
+ return this[PropertySymbol.clientHeight];
154
+ }
155
+
156
+ /**
157
+ * Returns client width.
158
+ *
159
+ * @returns Client width.
160
+ */
161
+ public get clientWidth(): number {
162
+ return this[PropertySymbol.clientWidth];
163
+ }
164
+
165
+ /**
166
+ * Returns client left.
167
+ *
168
+ * @returns Client left.
169
+ */
170
+ public get clientLeft(): number {
171
+ return this[PropertySymbol.clientLeft];
172
+ }
173
+
174
+ /**
175
+ * Returns client top.
176
+ *
177
+ * @returns Client top.
178
+ */
179
+ public get clientTop(): number {
180
+ return this[PropertySymbol.clientTop];
181
+ }
182
+
65
183
  /**
66
184
  * Returns tab index.
67
185
  *
@@ -92,19 +210,24 @@ export default class HTMLElement extends Element implements IHTMLElement {
92
210
  * @returns Inner text.
93
211
  */
94
212
  public get innerText(): string {
95
- if (!this.isConnected) {
213
+ if (!this[PropertySymbol.isConnected]) {
96
214
  return this.textContent;
97
215
  }
98
216
 
99
217
  let result = '';
100
218
 
101
219
  for (const childNode of this[PropertySymbol.childNodes]) {
102
- if (childNode.nodeType === NodeTypeEnum.elementNode) {
220
+ if (childNode[PropertySymbol.nodeType] === NodeTypeEnum.elementNode) {
103
221
  const childElement = <IHTMLElement>childNode;
104
222
  const computedStyle =
105
- this.ownerDocument[PropertySymbol.defaultView].getComputedStyle(childElement);
106
-
107
- if (childElement.tagName !== 'SCRIPT' && childElement.tagName !== 'STYLE') {
223
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].getComputedStyle(
224
+ childElement
225
+ );
226
+
227
+ if (
228
+ childElement[PropertySymbol.tagName] !== 'SCRIPT' &&
229
+ childElement[PropertySymbol.tagName] !== 'STYLE'
230
+ ) {
108
231
  const display = computedStyle.display;
109
232
  if (display !== 'none') {
110
233
  const textTransform = computedStyle.textTransform;
@@ -130,7 +253,7 @@ export default class HTMLElement extends Element implements IHTMLElement {
130
253
  result += text;
131
254
  }
132
255
  }
133
- } else if (childNode.nodeType === NodeTypeEnum.textNode) {
256
+ } else if (childNode[PropertySymbol.nodeType] === NodeTypeEnum.textNode) {
134
257
  result += childNode.textContent.replace(/[\n\r]/, '');
135
258
  }
136
259
  }
@@ -153,9 +276,9 @@ export default class HTMLElement extends Element implements IHTMLElement {
153
276
 
154
277
  for (let i = 0, max = texts.length; i < max; i++) {
155
278
  if (i !== 0) {
156
- this.appendChild(this.ownerDocument.createElement('br'));
279
+ this.appendChild(this[PropertySymbol.ownerDocument].createElement('br'));
157
280
  }
158
- this.appendChild(this.ownerDocument.createTextNode(texts[i]));
281
+ this.appendChild(this[PropertySymbol.ownerDocument].createTextNode(texts[i]));
159
282
  }
160
283
  }
161
284
 
@@ -176,7 +299,7 @@ export default class HTMLElement extends Element implements IHTMLElement {
176
299
  * @param text Text.
177
300
  */
178
301
  public set outerText(text: string) {
179
- if (!this.parentNode) {
302
+ if (!this[PropertySymbol.parentNode]) {
180
303
  throw new DOMException(
181
304
  "Failed to set the 'outerHTML' property on 'Element': This element has no parent node."
182
305
  );
@@ -186,12 +309,18 @@ export default class HTMLElement extends Element implements IHTMLElement {
186
309
 
187
310
  for (let i = 0, max = texts.length; i < max; i++) {
188
311
  if (i !== 0) {
189
- this.parentNode.insertBefore(this.ownerDocument.createElement('br'), this);
312
+ this[PropertySymbol.parentNode].insertBefore(
313
+ this[PropertySymbol.ownerDocument].createElement('br'),
314
+ this
315
+ );
190
316
  }
191
- this.parentNode.insertBefore(this.ownerDocument.createTextNode(texts[i]), this);
317
+ this[PropertySymbol.parentNode].insertBefore(
318
+ this[PropertySymbol.ownerDocument].createTextNode(texts[i]),
319
+ this
320
+ );
192
321
  }
193
322
 
194
- this.parentNode.removeChild(this);
323
+ this[PropertySymbol.parentNode].removeChild(this);
195
324
  }
196
325
 
197
326
  /**
@@ -334,10 +463,9 @@ export default class HTMLElement extends Element implements IHTMLElement {
334
463
  public cloneNode(deep = false): IHTMLElement {
335
464
  const clone = <HTMLElement>super.cloneNode(deep);
336
465
 
337
- (<string>clone.accessKey) = this.accessKey;
338
- (<string>clone.accessKeyLabel) = this.accessKeyLabel;
339
- (<string>clone.contentEditable) = this.contentEditable;
340
- (<boolean>clone.isContentEditable) = this.isContentEditable;
466
+ clone[PropertySymbol.accessKey] = this[PropertySymbol.accessKey];
467
+ clone[PropertySymbol.contentEditable] = this[PropertySymbol.contentEditable];
468
+ clone[PropertySymbol.isContentEditable] = this[PropertySymbol.isContentEditable];
341
469
 
342
470
  if (this[PropertySymbol.style]) {
343
471
  clone.style.cssText = this[PropertySymbol.style].cssText;
@@ -17,8 +17,11 @@ export default class HTMLElementNamedNodeMap extends ElementNamedNodeMap {
17
17
  public override setNamedItem(item: IAttr): IAttr | null {
18
18
  const replacedItem = super.setNamedItem(item);
19
19
 
20
- if (item.name === 'style' && this[PropertySymbol.ownerElement][PropertySymbol.style]) {
21
- this[PropertySymbol.ownerElement][PropertySymbol.style].cssText = item.value;
20
+ if (
21
+ item[PropertySymbol.name] === 'style' &&
22
+ this[PropertySymbol.ownerElement][PropertySymbol.style]
23
+ ) {
24
+ this[PropertySymbol.ownerElement][PropertySymbol.style].cssText = item[PropertySymbol.value];
22
25
  }
23
26
 
24
27
  return replacedItem || null;
@@ -32,7 +35,7 @@ export default class HTMLElementNamedNodeMap extends ElementNamedNodeMap {
32
35
 
33
36
  if (
34
37
  removedItem &&
35
- removedItem.name === 'style' &&
38
+ removedItem[PropertySymbol.name] === 'style' &&
36
39
  this[PropertySymbol.ownerElement][PropertySymbol.style]
37
40
  ) {
38
41
  this[PropertySymbol.ownerElement][PropertySymbol.style].cssText = '';