happy-dom 10.5.1 → 10.5.3

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 (295) hide show
  1. package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs +20 -18
  2. package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs.map +1 -1
  3. package/cjs/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +1 -1
  4. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs +4 -3
  5. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs.map +1 -1
  6. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
  7. package/cjs/named-node-map/INamedNodeMap.d.ts +26 -26
  8. package/cjs/named-node-map/INamedNodeMap.d.ts.map +1 -1
  9. package/cjs/named-node-map/NamedNodeMap.cjs +121 -81
  10. package/cjs/named-node-map/NamedNodeMap.cjs.map +1 -1
  11. package/cjs/named-node-map/NamedNodeMap.d.ts +57 -40
  12. package/cjs/named-node-map/NamedNodeMap.d.ts.map +1 -1
  13. package/cjs/nodes/element/Dataset.cjs +16 -17
  14. package/cjs/nodes/element/Dataset.cjs.map +1 -1
  15. package/cjs/nodes/element/Dataset.d.ts.map +1 -1
  16. package/cjs/nodes/element/Element.cjs +22 -133
  17. package/cjs/nodes/element/Element.cjs.map +1 -1
  18. package/cjs/nodes/element/Element.d.ts +9 -16
  19. package/cjs/nodes/element/Element.d.ts.map +1 -1
  20. package/cjs/nodes/element/ElementNamedNodeMap.cjs +152 -0
  21. package/cjs/nodes/element/ElementNamedNodeMap.cjs.map +1 -0
  22. package/cjs/nodes/element/ElementNamedNodeMap.d.ts +45 -0
  23. package/cjs/nodes/element/ElementNamedNodeMap.d.ts.map +1 -0
  24. package/cjs/nodes/element/ElementUtility.cjs +20 -15
  25. package/cjs/nodes/element/ElementUtility.cjs.map +1 -1
  26. package/cjs/nodes/element/ElementUtility.d.ts.map +1 -1
  27. package/cjs/nodes/element/IElement.d.ts +5 -5
  28. package/cjs/nodes/element/IElement.d.ts.map +1 -1
  29. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs +2 -26
  30. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs.map +1 -1
  31. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts +7 -11
  32. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  33. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.cjs +44 -0
  34. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.cjs.map +1 -0
  35. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts +20 -0
  36. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts.map +1 -0
  37. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs +2 -26
  38. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs.map +1 -1
  39. package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts +2 -9
  40. package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  41. package/cjs/nodes/html-button-element/HTMLButtonElementNamedNodeMap.cjs +41 -0
  42. package/cjs/nodes/html-button-element/HTMLButtonElementNamedNodeMap.cjs.map +1 -0
  43. package/cjs/nodes/html-button-element/HTMLButtonElementNamedNodeMap.d.ts +20 -0
  44. package/cjs/nodes/html-button-element/HTMLButtonElementNamedNodeMap.d.ts.map +1 -0
  45. package/cjs/nodes/html-element/HTMLElement.cjs +2 -20
  46. package/cjs/nodes/html-element/HTMLElement.cjs.map +1 -1
  47. package/cjs/nodes/html-element/HTMLElement.d.ts +3 -10
  48. package/cjs/nodes/html-element/HTMLElement.d.ts.map +1 -1
  49. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.cjs +35 -0
  50. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.cjs.map +1 -0
  51. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.d.ts +20 -0
  52. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.d.ts.map +1 -0
  53. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs +2 -12
  54. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs.map +1 -1
  55. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts +2 -5
  56. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  57. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.cjs +26 -0
  58. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.cjs.map +1 -0
  59. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts +16 -0
  60. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts.map +1 -0
  61. package/cjs/nodes/html-input-element/HTMLInputElement.cjs +2 -26
  62. package/cjs/nodes/html-input-element/HTMLInputElement.cjs.map +1 -1
  63. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts +2 -9
  64. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  65. package/cjs/nodes/html-input-element/HTMLInputElementNamedNodeMap.cjs +42 -0
  66. package/cjs/nodes/html-input-element/HTMLInputElementNamedNodeMap.cjs.map +1 -0
  67. package/cjs/nodes/html-input-element/HTMLInputElementNamedNodeMap.d.ts +20 -0
  68. package/cjs/nodes/html-input-element/HTMLInputElementNamedNodeMap.d.ts.map +1 -0
  69. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs +2 -23
  70. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs.map +1 -1
  71. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts +4 -10
  72. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  73. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.cjs +39 -0
  74. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.cjs.map +1 -0
  75. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts +20 -0
  76. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts.map +1 -0
  77. package/cjs/nodes/html-option-element/HTMLOptionElement.cjs +2 -30
  78. package/cjs/nodes/html-option-element/HTMLOptionElement.cjs.map +1 -1
  79. package/cjs/nodes/html-option-element/HTMLOptionElement.d.ts +2 -9
  80. package/cjs/nodes/html-option-element/HTMLOptionElement.d.ts.map +1 -1
  81. package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.cjs +45 -0
  82. package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.cjs.map +1 -0
  83. package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.d.ts +20 -0
  84. package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.d.ts.map +1 -0
  85. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs +2 -14
  86. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs.map +1 -1
  87. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts +2 -9
  88. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  89. package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.cjs +26 -0
  90. package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.cjs.map +1 -0
  91. package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.d.ts +16 -0
  92. package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.d.ts.map +1 -0
  93. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs +2 -26
  94. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs.map +1 -1
  95. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts +2 -9
  96. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  97. package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.cjs +42 -0
  98. package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.cjs.map +1 -0
  99. package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.d.ts +20 -0
  100. package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.d.ts.map +1 -0
  101. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs +2 -26
  102. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs.map +1 -1
  103. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +2 -9
  104. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  105. package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.cjs +42 -0
  106. package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.cjs.map +1 -0
  107. package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.d.ts +20 -0
  108. package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.d.ts.map +1 -0
  109. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs +5 -2
  110. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs.map +1 -1
  111. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.d.ts.map +1 -1
  112. package/cjs/nodes/node/NodeUtility.cjs +4 -15
  113. package/cjs/nodes/node/NodeUtility.cjs.map +1 -1
  114. package/cjs/nodes/node/NodeUtility.d.ts.map +1 -1
  115. package/cjs/nodes/svg-element/SVGElement.cjs +2 -20
  116. package/cjs/nodes/svg-element/SVGElement.cjs.map +1 -1
  117. package/cjs/nodes/svg-element/SVGElement.d.ts +3 -10
  118. package/cjs/nodes/svg-element/SVGElement.d.ts.map +1 -1
  119. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.cjs +35 -0
  120. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.cjs.map +1 -0
  121. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.d.ts +20 -0
  122. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.d.ts.map +1 -0
  123. package/cjs/query-selector/SelectorItem.cjs +1 -1
  124. package/cjs/query-selector/SelectorItem.cjs.map +1 -1
  125. package/cjs/query-selector/SelectorParser.cjs +5 -5
  126. package/cjs/query-selector/SelectorParser.cjs.map +1 -1
  127. package/cjs/xml-serializer/XMLSerializer.cjs +3 -2
  128. package/cjs/xml-serializer/XMLSerializer.cjs.map +1 -1
  129. package/cjs/xml-serializer/XMLSerializer.d.ts.map +1 -1
  130. package/lib/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +1 -1
  131. package/lib/css/declaration/AbstractCSSStyleDeclaration.js +20 -18
  132. package/lib/css/declaration/AbstractCSSStyleDeclaration.js.map +1 -1
  133. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
  134. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js +4 -3
  135. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js.map +1 -1
  136. package/lib/named-node-map/INamedNodeMap.d.ts +26 -26
  137. package/lib/named-node-map/INamedNodeMap.d.ts.map +1 -1
  138. package/lib/named-node-map/NamedNodeMap.d.ts +57 -40
  139. package/lib/named-node-map/NamedNodeMap.d.ts.map +1 -1
  140. package/lib/named-node-map/NamedNodeMap.js +121 -81
  141. package/lib/named-node-map/NamedNodeMap.js.map +1 -1
  142. package/lib/nodes/element/Dataset.d.ts.map +1 -1
  143. package/lib/nodes/element/Dataset.js +16 -17
  144. package/lib/nodes/element/Dataset.js.map +1 -1
  145. package/lib/nodes/element/Element.d.ts +9 -16
  146. package/lib/nodes/element/Element.d.ts.map +1 -1
  147. package/lib/nodes/element/Element.js +22 -133
  148. package/lib/nodes/element/Element.js.map +1 -1
  149. package/lib/nodes/element/ElementNamedNodeMap.d.ts +45 -0
  150. package/lib/nodes/element/ElementNamedNodeMap.d.ts.map +1 -0
  151. package/lib/nodes/element/ElementNamedNodeMap.js +146 -0
  152. package/lib/nodes/element/ElementNamedNodeMap.js.map +1 -0
  153. package/lib/nodes/element/ElementUtility.d.ts.map +1 -1
  154. package/lib/nodes/element/ElementUtility.js +20 -15
  155. package/lib/nodes/element/ElementUtility.js.map +1 -1
  156. package/lib/nodes/element/IElement.d.ts +5 -5
  157. package/lib/nodes/element/IElement.d.ts.map +1 -1
  158. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts +7 -11
  159. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  160. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +2 -26
  161. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
  162. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts +20 -0
  163. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts.map +1 -0
  164. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.js +38 -0
  165. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.js.map +1 -0
  166. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts +2 -9
  167. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  168. package/lib/nodes/html-button-element/HTMLButtonElement.js +2 -26
  169. package/lib/nodes/html-button-element/HTMLButtonElement.js.map +1 -1
  170. package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.d.ts +20 -0
  171. package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.d.ts.map +1 -0
  172. package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.js +35 -0
  173. package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.js.map +1 -0
  174. package/lib/nodes/html-element/HTMLElement.d.ts +3 -10
  175. package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
  176. package/lib/nodes/html-element/HTMLElement.js +2 -20
  177. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  178. package/lib/nodes/html-element/HTMLElementNamedNodeMap.d.ts +20 -0
  179. package/lib/nodes/html-element/HTMLElementNamedNodeMap.d.ts.map +1 -0
  180. package/lib/nodes/html-element/HTMLElementNamedNodeMap.js +29 -0
  181. package/lib/nodes/html-element/HTMLElementNamedNodeMap.js.map +1 -0
  182. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts +2 -5
  183. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  184. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js +2 -12
  185. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
  186. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts +16 -0
  187. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts.map +1 -0
  188. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.js +20 -0
  189. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.js.map +1 -0
  190. package/lib/nodes/html-input-element/HTMLInputElement.d.ts +2 -9
  191. package/lib/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  192. package/lib/nodes/html-input-element/HTMLInputElement.js +2 -26
  193. package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
  194. package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.d.ts +20 -0
  195. package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.d.ts.map +1 -0
  196. package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.js +36 -0
  197. package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.js.map +1 -0
  198. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +4 -10
  199. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  200. package/lib/nodes/html-link-element/HTMLLinkElement.js +2 -23
  201. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  202. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts +20 -0
  203. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts.map +1 -0
  204. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.js +33 -0
  205. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.js.map +1 -0
  206. package/lib/nodes/html-option-element/HTMLOptionElement.d.ts +2 -9
  207. package/lib/nodes/html-option-element/HTMLOptionElement.d.ts.map +1 -1
  208. package/lib/nodes/html-option-element/HTMLOptionElement.js +2 -30
  209. package/lib/nodes/html-option-element/HTMLOptionElement.js.map +1 -1
  210. package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.d.ts +20 -0
  211. package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.d.ts.map +1 -0
  212. package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.js +39 -0
  213. package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.js.map +1 -0
  214. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +2 -9
  215. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  216. package/lib/nodes/html-script-element/HTMLScriptElement.js +2 -14
  217. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  218. package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.d.ts +16 -0
  219. package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.d.ts.map +1 -0
  220. package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.js +20 -0
  221. package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.js.map +1 -0
  222. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts +2 -9
  223. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  224. package/lib/nodes/html-select-element/HTMLSelectElement.js +2 -26
  225. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  226. package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.d.ts +20 -0
  227. package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.d.ts.map +1 -0
  228. package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.js +36 -0
  229. package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.js.map +1 -0
  230. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +2 -9
  231. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  232. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +2 -26
  233. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
  234. package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.d.ts +20 -0
  235. package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.d.ts.map +1 -0
  236. package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.js +36 -0
  237. package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.js.map +1 -0
  238. package/lib/nodes/html-unknown-element/HTMLUnknownElement.d.ts.map +1 -1
  239. package/lib/nodes/html-unknown-element/HTMLUnknownElement.js +5 -2
  240. package/lib/nodes/html-unknown-element/HTMLUnknownElement.js.map +1 -1
  241. package/lib/nodes/node/NodeUtility.d.ts.map +1 -1
  242. package/lib/nodes/node/NodeUtility.js +4 -15
  243. package/lib/nodes/node/NodeUtility.js.map +1 -1
  244. package/lib/nodes/svg-element/SVGElement.d.ts +3 -10
  245. package/lib/nodes/svg-element/SVGElement.d.ts.map +1 -1
  246. package/lib/nodes/svg-element/SVGElement.js +2 -20
  247. package/lib/nodes/svg-element/SVGElement.js.map +1 -1
  248. package/lib/nodes/svg-element/SVGElementNamedNodeMap.d.ts +20 -0
  249. package/lib/nodes/svg-element/SVGElementNamedNodeMap.d.ts.map +1 -0
  250. package/lib/nodes/svg-element/SVGElementNamedNodeMap.js +29 -0
  251. package/lib/nodes/svg-element/SVGElementNamedNodeMap.js.map +1 -0
  252. package/lib/query-selector/SelectorItem.js +1 -1
  253. package/lib/query-selector/SelectorItem.js.map +1 -1
  254. package/lib/query-selector/SelectorParser.js +5 -5
  255. package/lib/query-selector/SelectorParser.js.map +1 -1
  256. package/lib/xml-serializer/XMLSerializer.d.ts.map +1 -1
  257. package/lib/xml-serializer/XMLSerializer.js +3 -2
  258. package/lib/xml-serializer/XMLSerializer.js.map +1 -1
  259. package/package.json +1 -1
  260. package/src/css/declaration/AbstractCSSStyleDeclaration.ts +32 -20
  261. package/src/css/declaration/element-style/CSSStyleDeclarationElementStyle.ts +4 -3
  262. package/src/named-node-map/INamedNodeMap.ts +26 -26
  263. package/src/named-node-map/NamedNodeMap.ts +135 -73
  264. package/src/nodes/element/Dataset.ts +19 -17
  265. package/src/nodes/element/Element.ts +27 -176
  266. package/src/nodes/element/ElementNamedNodeMap.ts +194 -0
  267. package/src/nodes/element/ElementUtility.ts +20 -18
  268. package/src/nodes/element/IElement.ts +5 -5
  269. package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +5 -33
  270. package/src/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.ts +48 -0
  271. package/src/nodes/html-button-element/HTMLButtonElement.ts +3 -33
  272. package/src/nodes/html-button-element/HTMLButtonElementNamedNodeMap.ts +56 -0
  273. package/src/nodes/html-element/HTMLElement.ts +4 -28
  274. package/src/nodes/html-element/HTMLElementNamedNodeMap.ts +38 -0
  275. package/src/nodes/html-iframe-element/HTMLIFrameElement.ts +4 -18
  276. package/src/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.ts +26 -0
  277. package/src/nodes/html-input-element/HTMLInputElement.ts +4 -33
  278. package/src/nodes/html-input-element/HTMLInputElementNamedNodeMap.ts +57 -0
  279. package/src/nodes/html-link-element/HTMLLinkElement.ts +4 -32
  280. package/src/nodes/html-link-element/HTMLLinkElementNamedNodeMap.ts +43 -0
  281. package/src/nodes/html-option-element/HTMLOptionElement.ts +3 -43
  282. package/src/nodes/html-option-element/HTMLOptionElementNamedNodeMap.ts +55 -0
  283. package/src/nodes/html-script-element/HTMLScriptElement.ts +3 -18
  284. package/src/nodes/html-script-element/HTMLScriptElementNamedNodeMap.ts +26 -0
  285. package/src/nodes/html-select-element/HTMLSelectElement.ts +4 -33
  286. package/src/nodes/html-select-element/HTMLSelectElementNamedNodeMap.ts +57 -0
  287. package/src/nodes/html-text-area-element/HTMLTextAreaElement.ts +3 -33
  288. package/src/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.ts +57 -0
  289. package/src/nodes/html-unknown-element/HTMLUnknownElement.ts +6 -2
  290. package/src/nodes/node/NodeUtility.ts +7 -24
  291. package/src/nodes/svg-element/SVGElement.ts +5 -28
  292. package/src/nodes/svg-element/SVGElementNamedNodeMap.ts +38 -0
  293. package/src/query-selector/SelectorItem.ts +1 -1
  294. package/src/query-selector/SelectorParser.ts +5 -5
  295. package/src/xml-serializer/XMLSerializer.ts +4 -2
@@ -1,21 +1,16 @@
1
- import type Element from '../nodes/element/Element.cjs';
2
- import IAttr from '../nodes/attr/IAttr.cjs';
3
1
  import INamedNodeMap from './INamedNodeMap.cjs';
2
+ import IAttr from '../nodes/attr/IAttr.cjs';
4
3
  /**
5
- * NamedNodeMap.
4
+ * Named Node Map.
6
5
  *
7
- * Reference:
8
- * https://developer.mozilla.org/en-US/docs/Web/API/NamedNodeMap.
6
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/NamedNodeMap
9
7
  */
10
8
  export default class NamedNodeMap implements INamedNodeMap {
11
- #private;
12
9
  [index: number]: IAttr;
13
- /**
14
- * Constructor.
15
- *
16
- * @param element Associated element.
17
- */
18
- constructor(element: Element);
10
+ length: number;
11
+ protected _namedItems: {
12
+ [k: string]: IAttr;
13
+ };
19
14
  /**
20
15
  * Returns string.
21
16
  *
@@ -23,66 +18,88 @@ export default class NamedNodeMap implements INamedNodeMap {
23
18
  */
24
19
  get [Symbol.toStringTag](): string;
25
20
  /**
26
- * Length.
21
+ * Iterator.
27
22
  *
28
- * @returns Length.
23
+ * @returns Iterator.
29
24
  */
30
- get length(): number;
25
+ [Symbol.iterator](): IterableIterator<IAttr>;
31
26
  /**
32
- * Returns attribute by index.
27
+ * Returns item by index.
33
28
  *
34
29
  * @param index Index.
35
30
  */
36
31
  item(index: number): IAttr | null;
37
32
  /**
38
- * Returns attribute by name.
33
+ * Returns named item.
39
34
  *
40
- * @param qualifiedName Name.
41
- * @returns Attribute.
35
+ * @param name Name.
36
+ * @returns Itme.
42
37
  */
43
- getNamedItem(qualifiedName: string): IAttr | null;
38
+ getNamedItem(name: string): IAttr | null;
44
39
  /**
45
- * Returns attribute by name and namespace.
40
+ * Returns item by name and namespace.
46
41
  *
47
42
  * @param namespace Namespace.
48
43
  * @param localName Local name of the attribute.
49
- * @returns Attribute.
44
+ * @returns Item.
50
45
  */
51
46
  getNamedItemNS(namespace: string, localName: string): IAttr | null;
52
47
  /**
53
- * Adds a new attribute node.
48
+ * Sets named item.
54
49
  *
55
- * @param attr Attribute.
56
- * @returns Replaced attribute.
50
+ * @param item Item.
51
+ * @returns Replaced item.
57
52
  */
58
- setNamedItem(attr: IAttr): IAttr;
53
+ setNamedItem(item: IAttr): IAttr | null;
59
54
  /**
60
- * Adds a new namespaced attribute node.
55
+ * Adds a new namespaced item.
61
56
  *
62
- * @param attr Attribute.
63
- * @returns Replaced attribute.
57
+ * @alias setNamedItem()
58
+ * @param item Item.
59
+ * @returns Replaced item.
64
60
  */
65
- setNamedItemNS(attr: IAttr): IAttr;
61
+ setNamedItemNS(item: IAttr): IAttr | null;
66
62
  /**
67
- * Removes an attribute.
63
+ * Removes an item.
68
64
  *
69
- * @param qualifiedName Name of the attribute.
70
- * @returns Removed attribute.
65
+ * @param name Name of item.
66
+ * @returns Removed item.
71
67
  */
72
- removeNamedItem(qualifiedName: string): IAttr | null;
68
+ removeNamedItem(name: string): IAttr | null;
73
69
  /**
74
- * Removes a namespaced attribute.
70
+ * Removes a namespaced item.
75
71
  *
76
72
  * @param namespace Namespace.
77
- * @param localName Local name of the attribute.
78
- * @returns Removed attribute.
73
+ * @param localName Local name of the item.
74
+ * @returns Removed item.
79
75
  */
80
76
  removeNamedItemNS(namespace: string, localName: string): IAttr | null;
81
77
  /**
82
- * Iterator.
78
+ * Sets named item without calling listeners for certain attributes.
83
79
  *
84
- * @returns Iterator.
80
+ * @param item Item.
81
+ * @returns Replaced item.
82
+ */
83
+ _setNamedItemWithoutConsequences(item: IAttr): IAttr | null;
84
+ /**
85
+ * Removes an item without calling listeners for certain attributes.
86
+ *
87
+ * @param name Name of item.
88
+ * @returns Removed item.
89
+ */
90
+ _removeNamedItemWithoutConsequences(name: string): IAttr | null;
91
+ /**
92
+ * Removes an item from index.
93
+ *
94
+ * @param item Item.
95
+ */
96
+ protected _removeNamedItemIndex(item: IAttr): void;
97
+ /**
98
+ * Returns "true" if the property name is valid.
99
+ *
100
+ * @param name Name.
101
+ * @returns True if the property name is valid.
85
102
  */
86
- [Symbol.iterator](): Iterator<IAttr>;
103
+ protected _isValidPropertyName(name: string): boolean;
87
104
  }
88
105
  //# sourceMappingURL=NamedNodeMap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NamedNodeMap.d.ts","sourceRoot":"","sources":["../../src/named-node-map/NamedNodeMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAC;AACvD,OAAO,KAAK,MAAM,wBAAwB,CAAC;AAC3C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,aAAa;;IACzD,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IAOvB;;;;OAIG;gBACS,OAAO,EAAE,OAAO;IAI5B;;;;OAIG;IACH,IAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAExC;IAED;;;;OAIG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;;;OAIG;IACI,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAQxC;;;;;OAKG;IACI,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAIxD;;;;;;OAMG;IACI,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAIzE;;;;;OAKG;IACI,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK;IAIvC;;;;;OAKG;IACI,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK;IAIzC;;;;;OAKG;IACI,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAS3D;;;;;;OAMG;IACI,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAS5E;;;;OAIG;IACI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC;CAS3C"}
1
+ {"version":3,"file":"NamedNodeMap.d.ts","sourceRoot":"","sources":["../../src/named-node-map/NamedNodeMap.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,MAAM,wBAAwB,CAAC;AAE3C;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,aAAa;IACzD,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IAChB,MAAM,SAAK;IAClB,SAAS,CAAC,WAAW,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;KAAE,CAAM;IAEnD;;;;OAIG;IACH,IAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAExC;IAED;;;;OAIG;IACK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC;IAMpD;;;;OAIG;IACI,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAIxC;;;;;OAKG;IACI,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAI/C;;;;;;OAMG;IACI,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAgBzE;;;;;OAKG;IACI,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI;IAI9C;;;;;;OAMG;IACI,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI;IAIhD;;;;;OAKG;IACI,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAIlD;;;;;;OAMG;IACI,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAQ5E;;;;;OAKG;IACI,gCAAgC,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI;IAsBlE;;;;;OAKG;IACI,mCAAmC,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAkBtE;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAgBlD;;;;;OAKG;IACH,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAMrD"}
@@ -13,20 +13,20 @@ class Dataset {
13
13
  constructor(element) {
14
14
  // Build the initial dataset record from all data attributes.
15
15
  const dataset = {};
16
- const attributes = element._attributes;
17
- for (const name of Object.keys(attributes)) {
18
- if (name.startsWith('data-')) {
19
- const key = Dataset.kebabToCamelCase(name.replace('data-', ''));
20
- dataset[key] = attributes[name].value;
16
+ for (let i = 0, max = element.attributes.length; i < max; i++) {
17
+ const attribute = element.attributes[i];
18
+ if (attribute.name.startsWith('data-')) {
19
+ const key = Dataset.kebabToCamelCase(attribute.name.replace('data-', ''));
20
+ dataset[key] = attribute.value;
21
21
  }
22
22
  }
23
23
  // Documentation for Proxy:
24
24
  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy
25
25
  this.proxy = new Proxy(dataset, {
26
26
  get(dataset, key) {
27
- const name = 'data-' + Dataset.camelCaseToKebab(key);
28
- if (name in attributes) {
29
- return (dataset[key] = attributes[name].value);
27
+ const attribute = element.attributes.getNamedItem('data-' + Dataset.camelCaseToKebab(key));
28
+ if (attribute) {
29
+ return (dataset[key] = attribute.value);
30
30
  }
31
31
  delete dataset[key];
32
32
  return undefined;
@@ -37,10 +37,8 @@ class Dataset {
37
37
  return true;
38
38
  },
39
39
  deleteProperty(dataset, key) {
40
- const name = 'data-' + Dataset.camelCaseToKebab(key);
41
- const result1 = delete attributes[name];
42
- const result2 = delete dataset[key];
43
- return result1 && result2;
40
+ return (!!element.attributes.removeNamedItem('data-' + Dataset.camelCaseToKebab(key)) &&
41
+ delete dataset[key]);
44
42
  },
45
43
  ownKeys(dataset) {
46
44
  // According to Mozilla we have to update the dataset object (target) to contain the same keys as what we return:
@@ -48,11 +46,12 @@ class Dataset {
48
46
  // "The result List must contain the keys of all non-configurable own properties of the target object."
49
47
  const keys = [];
50
48
  const deleteKeys = [];
51
- for (const name of Object.keys(attributes)) {
52
- if (name.startsWith('data-')) {
53
- const key = Dataset.kebabToCamelCase(name.replace('data-', ''));
49
+ for (let i = 0, max = element.attributes.length; i < max; i++) {
50
+ const attribute = element.attributes[i];
51
+ if (attribute.name.startsWith('data-')) {
52
+ const key = Dataset.kebabToCamelCase(attribute.name.replace('data-', ''));
54
53
  keys.push(key);
55
- dataset[key] = attributes[name].value;
54
+ dataset[key] = attribute.value;
56
55
  if (!dataset[key]) {
57
56
  deleteKeys.push(key);
58
57
  }
@@ -64,7 +63,7 @@ class Dataset {
64
63
  return keys;
65
64
  },
66
65
  has(_dataset, key) {
67
- return !!attributes['data-' + Dataset.camelCaseToKebab(key)];
66
+ return !!element.attributes.getNamedItem('data-' + Dataset.camelCaseToKebab(key));
68
67
  }
69
68
  });
70
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Dataset.cjs","sourceRoot":"","sources":["../../../src/nodes/element/Dataset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Dataset.cjs","sourceRoot":"","sources":["../../../src/nodes/element/Dataset.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Dataset.d.ts","sourceRoot":"","sources":["../../../src/nodes/element/Dataset.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAE5C;;GAEG;AACH,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;IAC3B,SAAgB,KAAK,EAAE,aAAa,CAAC;IAErC;;OAEG;gBACS,OAAO,EAAE,OAAO;IA4D5B;;;;;OAKG;WACW,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQpD;;;;;OAKG;WACW,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAKpD"}
1
+ {"version":3,"file":"Dataset.d.ts","sourceRoot":"","sources":["../../../src/nodes/element/Dataset.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAE5C;;GAEG;AACH,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;IAC3B,SAAgB,KAAK,EAAE,aAAa,CAAC;IAErC;;OAEG;gBACS,OAAO,EAAE,OAAO;IA8D5B;;;;;OAKG;WACW,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQpD;;;;;OAKG;WACW,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAKpD"}
@@ -6,12 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Node_js_1 = __importDefault(require("../node/Node.cjs"));
7
7
  const ShadowRoot_js_1 = __importDefault(require("../shadow-root/ShadowRoot.cjs"));
8
8
  const Attr_js_1 = __importDefault(require("../attr/Attr.cjs"));
9
- const NamedNodeMap_js_1 = __importDefault(require("../../named-node-map/NamedNodeMap.cjs"));
10
9
  const DOMRect_js_1 = __importDefault(require("./DOMRect.cjs"));
11
10
  const DOMTokenList_js_1 = __importDefault(require("../../dom-token-list/DOMTokenList.cjs"));
12
11
  const QuerySelector_js_1 = __importDefault(require("../../query-selector/QuerySelector.cjs"));
13
- const MutationRecord_js_1 = __importDefault(require("../../mutation-observer/MutationRecord.cjs"));
14
- const MutationTypeEnum_js_1 = __importDefault(require("../../mutation-observer/MutationTypeEnum.cjs"));
15
12
  const NamespaceURI_js_1 = __importDefault(require("../../config/NamespaceURI.cjs"));
16
13
  const XMLParser_js_1 = __importDefault(require("../../xml-parser/XMLParser.cjs"));
17
14
  const XMLSerializer_js_1 = __importDefault(require("../../xml-serializer/XMLSerializer.cjs"));
@@ -23,6 +20,7 @@ const DOMRectListFactory_js_1 = __importDefault(require("./DOMRectListFactory.cj
23
20
  const ElementUtility_js_1 = __importDefault(require("./ElementUtility.cjs"));
24
21
  const HTMLCollection_js_1 = __importDefault(require("./HTMLCollection.cjs"));
25
22
  const EventPhaseEnum_js_1 = __importDefault(require("../../event/EventPhaseEnum.cjs"));
23
+ const ElementNamedNodeMap_js_1 = __importDefault(require("./ElementNamedNodeMap.cjs"));
26
24
  /**
27
25
  * Element.
28
26
  */
@@ -74,7 +72,7 @@ class Element extends Node_js_1.default {
74
72
  this.ontouchstart = null;
75
73
  // Used for being able to access closed shadow roots
76
74
  this._shadowRoot = null;
77
- this._attributes = {};
75
+ this.attributes = new ElementNamedNodeMap_js_1.default(this);
78
76
  this._classList = null;
79
77
  this._isValue = null;
80
78
  this._computedStyle = null;
@@ -232,14 +230,6 @@ class Element extends Node_js_1.default {
232
230
  set outerHTML(html) {
233
231
  this.replaceWith(html);
234
232
  }
235
- /**
236
- * Returns attributes.
237
- *
238
- * @returns Attributes.
239
- */
240
- get attributes() {
241
- return Object.assign(new NamedNodeMap_js_1.default(this), Object.values(this._attributes), this._attributes);
242
- }
243
233
  /**
244
234
  * First element child.
245
235
  *
@@ -312,10 +302,9 @@ class Element extends Node_js_1.default {
312
302
  cloneNode(deep = false) {
313
303
  const clone = super.cloneNode(deep);
314
304
  Attr_js_1.default._ownerDocument = this.ownerDocument;
315
- for (const key of Object.keys(this._attributes)) {
316
- const attr = Object.assign(new Attr_js_1.default(), this._attributes[key]);
317
- attr.ownerElement = clone;
318
- clone._attributes[key] = attr;
305
+ for (let i = 0, max = this.attributes.length; i < max; i++) {
306
+ const attribute = this.attributes[i];
307
+ clone.attributes.setNamedItem(Object.assign(new Attr_js_1.default(), attribute));
319
308
  }
320
309
  if (deep) {
321
310
  for (const node of clone.childNodes) {
@@ -489,7 +478,11 @@ class Element extends Node_js_1.default {
489
478
  * @returns Attribute names.
490
479
  */
491
480
  getAttributeNames() {
492
- return Object.keys(this._attributes);
481
+ const attributeNames = [];
482
+ for (let i = 0, max = this.attributes.length; i < max; i++) {
483
+ attributeNames.push(this.attributes[i].name);
484
+ }
485
+ return attributeNames;
493
486
  }
494
487
  /**
495
488
  * Returns attribute value.
@@ -556,13 +549,7 @@ class Element extends Node_js_1.default {
556
549
  * @returns True if attribute exists, false otherwise.
557
550
  */
558
551
  hasAttributeNS(namespace, localName) {
559
- for (const name of Object.keys(this._attributes)) {
560
- const attribute = this._attributes[name];
561
- if (attribute.namespaceURI === namespace && attribute.localName === localName) {
562
- return true;
563
- }
564
- }
565
- return false;
552
+ return this.attributes.getNamedItemNS(namespace, localName) !== null;
566
553
  }
567
554
  /**
568
555
  * Returns "true" if the element has attributes.
@@ -570,7 +557,7 @@ class Element extends Node_js_1.default {
570
557
  * @returns "true" if the element has attributes.
571
558
  */
572
559
  hasAttributes() {
573
- return Object.keys(this._attributes).length > 0;
560
+ return this.attributes.length > 0;
574
561
  }
575
562
  /**
576
563
  * Removes an attribute.
@@ -578,10 +565,7 @@ class Element extends Node_js_1.default {
578
565
  * @param name Name.
579
566
  */
580
567
  removeAttribute(name) {
581
- const attribute = this._attributes[this._getAttributeName(name)];
582
- if (attribute) {
583
- this.removeAttributeNode(attribute);
584
- }
568
+ this.attributes.removeNamedItem(name);
585
569
  }
586
570
  /**
587
571
  * Removes a namespace attribute.
@@ -590,12 +574,7 @@ class Element extends Node_js_1.default {
590
574
  * @param localName Local name.
591
575
  */
592
576
  removeAttributeNS(namespace, localName) {
593
- for (const name of Object.keys(this._attributes)) {
594
- const attribute = this._attributes[name];
595
- if (attribute.namespaceURI === namespace && attribute.localName === localName) {
596
- this.removeAttribute(attribute.name);
597
- }
598
- }
577
+ this.attributes.removeNamedItemNS(namespace, localName);
599
578
  }
600
579
  /**
601
580
  * Attaches a shadow root.
@@ -725,49 +704,7 @@ class Element extends Node_js_1.default {
725
704
  * @returns Replaced attribute.
726
705
  */
727
706
  setAttributeNode(attribute) {
728
- const name = this._getAttributeName(attribute.name);
729
- const replacedAttribute = this._attributes[name];
730
- const oldValue = replacedAttribute ? replacedAttribute.value : null;
731
- attribute.name = name;
732
- attribute.ownerElement = this;
733
- attribute.ownerDocument = this.ownerDocument;
734
- if (this.isConnected) {
735
- this.ownerDocument['_cacheID']++;
736
- }
737
- this._attributes[name] = attribute;
738
- if (attribute.name === 'class' && this._classList) {
739
- this._classList._updateIndices();
740
- }
741
- if (attribute.name === 'id' || attribute.name === 'name') {
742
- if (this.parentNode && this.parentNode.children && attribute.value !== oldValue) {
743
- if (oldValue) {
744
- this.parentNode.children._removeNamedItem(this, oldValue);
745
- }
746
- if (attribute.value) {
747
- this.parentNode.children._appendNamedItem(this, attribute.value);
748
- }
749
- }
750
- }
751
- if (this.attributeChangedCallback &&
752
- this.constructor._observedAttributes &&
753
- this.constructor._observedAttributes.includes(name)) {
754
- this.attributeChangedCallback(name, oldValue, attribute.value);
755
- }
756
- // MutationObserver
757
- if (this._observers.length > 0) {
758
- for (const observer of this._observers) {
759
- if (observer.options.attributes &&
760
- (!observer.options.attributeFilter || observer.options.attributeFilter.includes(name))) {
761
- const record = new MutationRecord_js_1.default();
762
- record.target = this;
763
- record.type = MutationTypeEnum_js_1.default.attributes;
764
- record.attributeName = name;
765
- record.oldValue = observer.options.attributeOldValue ? oldValue : null;
766
- observer.callback([record]);
767
- }
768
- }
769
- }
770
- return replacedAttribute || null;
707
+ return this.attributes.setNamedItem(attribute);
771
708
  }
772
709
  /**
773
710
  * The setAttributeNodeNS() method adds a new Attr node to the specified element.
@@ -776,7 +713,7 @@ class Element extends Node_js_1.default {
776
713
  * @returns Replaced attribute.
777
714
  */
778
715
  setAttributeNodeNS(attribute) {
779
- return this.setAttributeNode(attribute);
716
+ return this.attributes.setNamedItemNS(attribute);
780
717
  }
781
718
  /**
782
719
  * Returns an Attr node.
@@ -785,29 +722,17 @@ class Element extends Node_js_1.default {
785
722
  * @returns Replaced attribute.
786
723
  */
787
724
  getAttributeNode(name) {
788
- return this._attributes[this._getAttributeName(name)] || null;
725
+ return this.attributes.getNamedItem(name);
789
726
  }
790
727
  /**
791
728
  * Returns a namespaced Attr node.
792
729
  *
793
730
  * @param namespace Namespace.
794
- * @param name Name.
731
+ * @param localName Name.
795
732
  * @returns Replaced attribute.
796
733
  */
797
- getAttributeNodeNS(namespace, name) {
798
- const attributeName = this._getAttributeName(name);
799
- if (this._attributes[attributeName] &&
800
- this._attributes[attributeName].namespaceURI === namespace &&
801
- this._attributes[attributeName].localName === attributeName) {
802
- return this._attributes[attributeName];
803
- }
804
- for (const name of Object.keys(this._attributes)) {
805
- const attribute = this._attributes[name];
806
- if (attribute.namespaceURI === namespace && attribute.localName === attributeName) {
807
- return attribute;
808
- }
809
- }
810
- return null;
734
+ getAttributeNodeNS(namespace, localName) {
735
+ return this.attributes.getNamedItemNS(namespace, localName);
811
736
  }
812
737
  /**
813
738
  * Removes an Attr node.
@@ -816,43 +741,7 @@ class Element extends Node_js_1.default {
816
741
  * @returns Removed attribute.
817
742
  */
818
743
  removeAttributeNode(attribute) {
819
- const removedAttribute = this._attributes[attribute.name];
820
- if (removedAttribute !== attribute) {
821
- throw new DOMException_js_1.default(`Failed to execute 'removeAttributeNode' on 'Element': The node provided is owned by another element.`);
822
- }
823
- delete this._attributes[attribute.name];
824
- if (this.isConnected) {
825
- this.ownerDocument['_cacheID']++;
826
- }
827
- if (attribute.name === 'class' && this._classList) {
828
- this._classList._updateIndices();
829
- }
830
- if (attribute.name === 'id' || attribute.name === 'name') {
831
- if (this.parentNode && this.parentNode.children && attribute.value) {
832
- this.parentNode.children._removeNamedItem(this, attribute.value);
833
- }
834
- }
835
- if (this.attributeChangedCallback &&
836
- this.constructor._observedAttributes &&
837
- this.constructor._observedAttributes.includes(attribute.name)) {
838
- this.attributeChangedCallback(attribute.name, attribute.value, null);
839
- }
840
- // MutationObserver
841
- if (this._observers.length > 0) {
842
- for (const observer of this._observers) {
843
- if (observer.options.attributes &&
844
- (!observer.options.attributeFilter ||
845
- observer.options.attributeFilter.includes(attribute.name))) {
846
- const record = new MutationRecord_js_1.default();
847
- record.target = this;
848
- record.type = MutationTypeEnum_js_1.default.attributes;
849
- record.attributeName = attribute.name;
850
- record.oldValue = observer.options.attributeOldValue ? attribute.value : null;
851
- observer.callback([record]);
852
- }
853
- }
854
- }
855
- return attribute;
744
+ return this.attributes.removeNamedItem(attribute.name);
856
745
  }
857
746
  /**
858
747
  * Removes an Attr node.
@@ -861,7 +750,7 @@ class Element extends Node_js_1.default {
861
750
  * @returns Removed attribute.
862
751
  */
863
752
  removeAttributeNodeNS(attribute) {
864
- return this.removeAttributeNode(attribute);
753
+ return this.attributes.removeNamedItemNS(attribute.namespaceURI, attribute.localName);
865
754
  }
866
755
  /**
867
756
  * Scrolls to a particular set of coordinates.
@@ -1 +1 @@
1
- {"version":3,"file":"Element.cjs","sourceRoot":"","sources":["../../../src/nodes/element/Element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Element.cjs","sourceRoot":"","sources":["../../../src/nodes/element/Element.ts"],"names":[],"mappings":"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"}