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
@@ -33,6 +33,7 @@ import WindowErrorUtility from '../../window/WindowErrorUtility.js';
33
33
  import WindowBrowserSettingsReader from '../../window/WindowBrowserSettingsReader.js';
34
34
  import BrowserErrorCaptureEnum from '../../browser/enums/BrowserErrorCaptureEnum.js';
35
35
  import NodeFactory from '../NodeFactory.js';
36
+ import NodeTypeEnum from '../node/NodeTypeEnum.js';
36
37
 
37
38
  /**
38
39
  * Element.
@@ -42,17 +43,6 @@ export default class Element extends Node implements IElement {
42
43
  // CustomElementRegistry will therefore populate "[PropertySymbol.observedAttributes]" when CustomElementRegistry.define() is called
43
44
  public static [PropertySymbol.observedAttributes]: string[];
44
45
  public static observedAttributes: string[];
45
- public tagName: string = null;
46
- public nodeType = Node.ELEMENT_NODE;
47
- public shadowRoot: IShadowRoot | null = null;
48
- public prefix: string = null;
49
-
50
- public scrollHeight = 0;
51
- public scrollWidth = 0;
52
- public scrollTop = 0;
53
- public scrollLeft = 0;
54
- public readonly namespaceURI: string = null;
55
- public readonly attributes: INamedNodeMap = new ElementNamedNodeMap(this);
56
46
 
57
47
  // Events
58
48
  public oncancel: (event: Event) => void | null = null;
@@ -92,10 +82,119 @@ export default class Element extends Node implements IElement {
92
82
 
93
83
  // Internal properties
94
84
  public [PropertySymbol.children]: IHTMLCollection<IElement> = new HTMLCollection<IElement>();
95
- public [PropertySymbol.shadowRoot]: IShadowRoot = null;
96
85
  public [PropertySymbol.classList]: DOMTokenList = null;
97
86
  public [PropertySymbol.isValue]: string | null = null;
98
87
  public [PropertySymbol.computedStyle]: CSSStyleDeclaration | null = null;
88
+ public [PropertySymbol.nodeType] = NodeTypeEnum.elementNode;
89
+ public [PropertySymbol.tagName]: string | null = null;
90
+ public [PropertySymbol.prefix]: string | null = null;
91
+ public [PropertySymbol.shadowRoot]: IShadowRoot | null = null;
92
+ public [PropertySymbol.scrollHeight] = 0;
93
+ public [PropertySymbol.scrollWidth] = 0;
94
+ public [PropertySymbol.scrollTop] = 0;
95
+ public [PropertySymbol.scrollLeft] = 0;
96
+ public [PropertySymbol.attributes]: INamedNodeMap = new ElementNamedNodeMap(this);
97
+ public [PropertySymbol.namespaceURI]: string | null = null;
98
+
99
+ /**
100
+ * Returns tag name.
101
+ *
102
+ * @returns Tag name.
103
+ */
104
+ public get tagName(): string {
105
+ return <string>this[PropertySymbol.tagName];
106
+ }
107
+
108
+ /**
109
+ * Returns prefix.
110
+ *
111
+ * @returns Prefix.
112
+ */
113
+ public get prefix(): string | null {
114
+ return <string>this[PropertySymbol.prefix];
115
+ }
116
+
117
+ /**
118
+ * Returns shadow root.
119
+ *
120
+ * @returns Shadow root.
121
+ */
122
+ public get shadowRoot(): IShadowRoot | null {
123
+ const shadowRoot = this[PropertySymbol.shadowRoot];
124
+ return shadowRoot && shadowRoot[PropertySymbol.mode] === 'open' ? shadowRoot : null;
125
+ }
126
+
127
+ /**
128
+ * Returns scroll height.
129
+ *
130
+ * @returns Scroll height.
131
+ */
132
+ public get scrollHeight(): number {
133
+ return this[PropertySymbol.scrollHeight];
134
+ }
135
+
136
+ /**
137
+ * Returns scroll width.
138
+ *
139
+ * @returns Scroll width.
140
+ */
141
+ public get scrollWidth(): number {
142
+ return this[PropertySymbol.scrollWidth];
143
+ }
144
+
145
+ /**
146
+ * Returns scroll top.
147
+ *
148
+ * @returns Scroll top.
149
+ */
150
+ public get scrollTop(): number {
151
+ return this[PropertySymbol.scrollTop];
152
+ }
153
+
154
+ /**
155
+ * Sets scroll top.
156
+ *
157
+ * @param value Scroll top.
158
+ */
159
+ public set scrollTop(value: number) {
160
+ this[PropertySymbol.scrollTop] = value;
161
+ }
162
+
163
+ /**
164
+ * Returns scroll left.
165
+ *
166
+ * @returns Scroll left.
167
+ */
168
+ public get scrollLeft(): number {
169
+ return this[PropertySymbol.scrollLeft];
170
+ }
171
+
172
+ /**
173
+ * Sets scroll left.
174
+ *
175
+ * @param value Scroll left.
176
+ */
177
+ public set scrollLeft(value: number) {
178
+ this[PropertySymbol.scrollLeft] = value;
179
+ }
180
+
181
+ /**
182
+ * Returns attributes.
183
+ *
184
+ * @returns Attributes.
185
+ */
186
+ public get attributes(): INamedNodeMap {
187
+ return this[PropertySymbol.attributes];
188
+ }
189
+
190
+ /**
191
+ * Returns namespace URI.
192
+ *
193
+ * @returns Namespace URI.
194
+ */
195
+ public get namespaceURI(): string | null {
196
+ return this[PropertySymbol.namespaceURI];
197
+ }
99
198
 
100
199
  /**
101
200
  * Returns element children.
@@ -158,7 +257,7 @@ export default class Element extends Node implements IElement {
158
257
  * @returns Node name.
159
258
  */
160
259
  public get nodeName(): string {
161
- return this.tagName;
260
+ return this[PropertySymbol.tagName];
162
261
  }
163
262
 
164
263
  /**
@@ -167,7 +266,7 @@ export default class Element extends Node implements IElement {
167
266
  * @returns Local name.
168
267
  */
169
268
  public get localName(): string {
170
- return this.tagName ? this.tagName.toLowerCase() : 'unknown';
269
+ return this[PropertySymbol.tagName] ? this[PropertySymbol.tagName].toLowerCase() : 'unknown';
171
270
  }
172
271
 
173
272
  /**
@@ -214,7 +313,10 @@ export default class Element extends Node implements IElement {
214
313
  public get textContent(): string {
215
314
  let result = '';
216
315
  for (const childNode of this[PropertySymbol.childNodes]) {
217
- if (childNode.nodeType === Node.ELEMENT_NODE || childNode.nodeType === Node.TEXT_NODE) {
316
+ if (
317
+ childNode[PropertySymbol.nodeType] === NodeTypeEnum.elementNode ||
318
+ childNode[PropertySymbol.nodeType] === NodeTypeEnum.textNode
319
+ ) {
218
320
  result += childNode.textContent;
219
321
  }
220
322
  }
@@ -231,7 +333,7 @@ export default class Element extends Node implements IElement {
231
333
  this.removeChild(child);
232
334
  }
233
335
  if (textContent) {
234
- this.appendChild(this.ownerDocument.createTextNode(textContent));
336
+ this.appendChild(this[PropertySymbol.ownerDocument].createTextNode(textContent));
235
337
  }
236
338
  }
237
339
 
@@ -254,7 +356,7 @@ export default class Element extends Node implements IElement {
254
356
  this.removeChild(child);
255
357
  }
256
358
 
257
- XMLParser.parse(this.ownerDocument, html, { rootNode: this });
359
+ XMLParser.parse(this[PropertySymbol.ownerDocument], html, { rootNode: this });
258
360
  }
259
361
 
260
362
  /**
@@ -362,11 +464,14 @@ export default class Element extends Node implements IElement {
362
464
  public cloneNode(deep = false): IElement {
363
465
  const clone = <Element>super.cloneNode(deep);
364
466
 
365
- for (let i = 0, max = this.attributes.length; i < max; i++) {
366
- const attribute = this.attributes[i];
367
- clone.attributes.setNamedItem(
467
+ for (let i = 0, max = this[PropertySymbol.attributes].length; i < max; i++) {
468
+ const attribute = this[PropertySymbol.attributes][i];
469
+ clone[PropertySymbol.attributes].setNamedItem(
368
470
  Object.assign(
369
- this.ownerDocument.createAttributeNS(attribute.namespaceURI, attribute.name),
471
+ this[PropertySymbol.ownerDocument].createAttributeNS(
472
+ attribute[PropertySymbol.namespaceURI],
473
+ attribute[PropertySymbol.name]
474
+ ),
370
475
  attribute
371
476
  )
372
477
  );
@@ -374,14 +479,14 @@ export default class Element extends Node implements IElement {
374
479
 
375
480
  if (deep) {
376
481
  for (const node of clone[PropertySymbol.childNodes]) {
377
- if (node.nodeType === Node.ELEMENT_NODE) {
482
+ if (node[PropertySymbol.nodeType] === NodeTypeEnum.elementNode) {
378
483
  clone[PropertySymbol.children].push(<IElement>node);
379
484
  }
380
485
  }
381
486
  }
382
487
 
383
- (<string>clone.tagName) = this.tagName;
384
- (<string>clone.namespaceURI) = this.namespaceURI;
488
+ clone[PropertySymbol.tagName] = this[PropertySymbol.tagName];
489
+ clone[PropertySymbol.namespaceURI] = this[PropertySymbol.namespaceURI];
385
490
 
386
491
  return <IElement>clone;
387
492
  }
@@ -513,9 +618,9 @@ export default class Element extends Node implements IElement {
513
618
  * @param text HTML string to insert.
514
619
  */
515
620
  public insertAdjacentHTML(position: TInsertAdjacentPositions, text: string): void {
516
- for (const node of (<DocumentFragment>XMLParser.parse(this.ownerDocument, text))[
517
- PropertySymbol.childNodes
518
- ].slice()) {
621
+ for (const node of (<DocumentFragment>(
622
+ XMLParser.parse(this[PropertySymbol.ownerDocument], text)
623
+ ))[PropertySymbol.childNodes].slice()) {
519
624
  this.insertAdjacentElement(position, node);
520
625
  }
521
626
  }
@@ -530,7 +635,7 @@ export default class Element extends Node implements IElement {
530
635
  if (!text) {
531
636
  return;
532
637
  }
533
- const textNode = <IText>this.ownerDocument.createTextNode(text);
638
+ const textNode = <IText>this[PropertySymbol.ownerDocument].createTextNode(text);
534
639
  this.insertAdjacentElement(position, textNode);
535
640
  }
536
641
 
@@ -541,8 +646,8 @@ export default class Element extends Node implements IElement {
541
646
  * @param value Value.
542
647
  */
543
648
  public setAttribute(name: string, value: string): void {
544
- const attribute = this.ownerDocument.createAttributeNS(null, name);
545
- attribute.value = String(value);
649
+ const attribute = this[PropertySymbol.ownerDocument].createAttributeNS(null, name);
650
+ attribute[PropertySymbol.value] = String(value);
546
651
  this.setAttributeNode(attribute);
547
652
  }
548
653
 
@@ -554,8 +659,8 @@ export default class Element extends Node implements IElement {
554
659
  * @param value Value.
555
660
  */
556
661
  public setAttributeNS(namespaceURI: string, name: string, value: string): void {
557
- const attribute = this.ownerDocument.createAttributeNS(namespaceURI, name);
558
- attribute.value = String(value);
662
+ const attribute = this[PropertySymbol.ownerDocument].createAttributeNS(namespaceURI, name);
663
+ attribute[PropertySymbol.value] = String(value);
559
664
  this.setAttributeNode(attribute);
560
665
  }
561
666
 
@@ -566,8 +671,8 @@ export default class Element extends Node implements IElement {
566
671
  */
567
672
  public getAttributeNames(): string[] {
568
673
  const attributeNames = [];
569
- for (let i = 0, max = this.attributes.length; i < max; i++) {
570
- attributeNames.push(this.attributes[i].name);
674
+ for (let i = 0, max = this[PropertySymbol.attributes].length; i < max; i++) {
675
+ attributeNames.push(this[PropertySymbol.attributes][i][PropertySymbol.name]);
571
676
  }
572
677
  return attributeNames;
573
678
  }
@@ -580,7 +685,7 @@ export default class Element extends Node implements IElement {
580
685
  public getAttribute(name: string): string {
581
686
  const attribute = this.getAttributeNode(name);
582
687
  if (attribute) {
583
- return attribute.value;
688
+ return attribute[PropertySymbol.value];
584
689
  }
585
690
  return null;
586
691
  }
@@ -618,7 +723,7 @@ export default class Element extends Node implements IElement {
618
723
  public getAttributeNS(namespace: string | null, localName: string): string {
619
724
  const attribute = this.getAttributeNodeNS(namespace, localName);
620
725
  if (attribute) {
621
- return attribute.value;
726
+ return attribute[PropertySymbol.value];
622
727
  }
623
728
  return null;
624
729
  }
@@ -641,7 +746,7 @@ export default class Element extends Node implements IElement {
641
746
  * @returns True if attribute exists, false otherwise.
642
747
  */
643
748
  public hasAttributeNS(namespace: string | null, localName: string): boolean {
644
- return this.attributes.getNamedItemNS(namespace, localName) !== null;
749
+ return this[PropertySymbol.attributes].getNamedItemNS(namespace, localName) !== null;
645
750
  }
646
751
 
647
752
  /**
@@ -650,7 +755,7 @@ export default class Element extends Node implements IElement {
650
755
  * @returns "true" if the element has attributes.
651
756
  */
652
757
  public hasAttributes(): boolean {
653
- return this.attributes.length > 0;
758
+ return this[PropertySymbol.attributes].length > 0;
654
759
  }
655
760
 
656
761
  /**
@@ -660,7 +765,7 @@ export default class Element extends Node implements IElement {
660
765
  */
661
766
  public removeAttribute(name: string): void {
662
767
  try {
663
- this.attributes.removeNamedItem(name);
768
+ this[PropertySymbol.attributes].removeNamedItem(name);
664
769
  } catch (error) {
665
770
  // Ignore DOMException when the attribute does not exist.
666
771
  }
@@ -673,7 +778,7 @@ export default class Element extends Node implements IElement {
673
778
  * @param localName Local name.
674
779
  */
675
780
  public removeAttributeNS(namespace: string | null, localName: string): void {
676
- this.attributes.removeNamedItemNS(namespace, localName);
781
+ this[PropertySymbol.attributes].removeNamedItemNS(namespace, localName);
677
782
  }
678
783
 
679
784
  /**
@@ -689,20 +794,16 @@ export default class Element extends Node implements IElement {
689
794
  }
690
795
 
691
796
  const shadowRoot = NodeFactory.createNode<IShadowRoot>(
692
- this.ownerDocument,
693
- this.ownerDocument[PropertySymbol.defaultView].ShadowRoot
797
+ this[PropertySymbol.ownerDocument],
798
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].ShadowRoot
694
799
  );
695
800
 
696
- (<IShadowRoot>this[PropertySymbol.shadowRoot]) = shadowRoot;
801
+ this[PropertySymbol.shadowRoot] = shadowRoot;
697
802
 
698
- (<Element>shadowRoot.host) = this;
699
- (<string>shadowRoot.mode) = init.mode;
803
+ shadowRoot[PropertySymbol.host] = this;
804
+ shadowRoot[PropertySymbol.mode] = init.mode;
700
805
  (<ShadowRoot>shadowRoot)[PropertySymbol.connectToNode](this);
701
806
 
702
- if (shadowRoot.mode === 'open') {
703
- (<IShadowRoot>this.shadowRoot) = shadowRoot;
704
- }
705
-
706
807
  return this[PropertySymbol.shadowRoot];
707
808
  }
708
809
 
@@ -824,7 +925,7 @@ export default class Element extends Node implements IElement {
824
925
  * @returns Replaced attribute.
825
926
  */
826
927
  public setAttributeNode(attribute: IAttr): IAttr | null {
827
- return this.attributes.setNamedItem(attribute);
928
+ return this[PropertySymbol.attributes].setNamedItem(attribute);
828
929
  }
829
930
 
830
931
  /**
@@ -834,7 +935,7 @@ export default class Element extends Node implements IElement {
834
935
  * @returns Replaced attribute.
835
936
  */
836
937
  public setAttributeNodeNS(attribute: IAttr): IAttr | null {
837
- return this.attributes.setNamedItemNS(attribute);
938
+ return this[PropertySymbol.attributes].setNamedItemNS(attribute);
838
939
  }
839
940
 
840
941
  /**
@@ -844,7 +945,7 @@ export default class Element extends Node implements IElement {
844
945
  * @returns Replaced attribute.
845
946
  */
846
947
  public getAttributeNode(name: string): IAttr | null {
847
- return this.attributes.getNamedItem(name);
948
+ return this[PropertySymbol.attributes].getNamedItem(name);
848
949
  }
849
950
 
850
951
  /**
@@ -855,7 +956,7 @@ export default class Element extends Node implements IElement {
855
956
  * @returns Replaced attribute.
856
957
  */
857
958
  public getAttributeNodeNS(namespace: string | null, localName: string): IAttr | null {
858
- return this.attributes.getNamedItemNS(namespace, localName);
959
+ return this[PropertySymbol.attributes].getNamedItemNS(namespace, localName);
859
960
  }
860
961
 
861
962
  /**
@@ -865,7 +966,7 @@ export default class Element extends Node implements IElement {
865
966
  * @returns Removed attribute.
866
967
  */
867
968
  public removeAttributeNode(attribute: IAttr): IAttr | null {
868
- return this.attributes.removeNamedItem(attribute.name);
969
+ return this[PropertySymbol.attributes].removeNamedItem(attribute[PropertySymbol.name]);
869
970
  }
870
971
 
871
972
  /**
@@ -875,7 +976,10 @@ export default class Element extends Node implements IElement {
875
976
  * @returns Removed attribute.
876
977
  */
877
978
  public removeAttributeNodeNS(attribute: IAttr): IAttr | null {
878
- return this.attributes.removeNamedItemNS(attribute.namespaceURI, attribute.localName);
979
+ return this[PropertySymbol.attributes].removeNamedItemNS(
980
+ attribute[PropertySymbol.namespaceURI],
981
+ attribute.localName
982
+ );
879
983
  }
880
984
 
881
985
  /**
@@ -887,7 +991,7 @@ export default class Element extends Node implements IElement {
887
991
  public scroll(x: { top?: number; left?: number; behavior?: string } | number, y?: number): void {
888
992
  if (typeof x === 'object') {
889
993
  if (x.behavior === 'smooth') {
890
- this.ownerDocument[PropertySymbol.defaultView].setTimeout(() => {
994
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].setTimeout(() => {
891
995
  if (x.top !== undefined) {
892
996
  (<number>this.scrollTop) = x.top;
893
997
  }
@@ -928,7 +1032,7 @@ export default class Element extends Node implements IElement {
928
1032
  public override dispatchEvent(event: Event): boolean {
929
1033
  const returnValue = super.dispatchEvent(event);
930
1034
  const browserSettings = WindowBrowserSettingsReader.getSettings(
931
- this.ownerDocument[PropertySymbol.defaultView]
1035
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow]
932
1036
  );
933
1037
 
934
1038
  if (
@@ -942,17 +1046,18 @@ export default class Element extends Node implements IElement {
942
1046
 
943
1047
  if (attribute && !event[PropertySymbol.immediatePropagationStopped]) {
944
1048
  const code = `//# sourceURL=${
945
- this.ownerDocument[PropertySymbol.defaultView].location.href
1049
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].location.href
946
1050
  }\n${attribute}`;
947
1051
 
948
1052
  if (
949
1053
  browserSettings.disableErrorCapturing ||
950
1054
  browserSettings.errorCapture !== BrowserErrorCaptureEnum.tryAndCatch
951
1055
  ) {
952
- this.ownerDocument[PropertySymbol.defaultView].eval(code);
1056
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].eval(code);
953
1057
  } else {
954
- WindowErrorUtility.captureError(this.ownerDocument[PropertySymbol.defaultView], () =>
955
- this.ownerDocument[PropertySymbol.defaultView].eval(code)
1058
+ WindowErrorUtility.captureError(
1059
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow],
1060
+ () => this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].eval(code)
956
1061
  );
957
1062
  }
958
1063
  }
@@ -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();