happy-dom 10.5.2 → 10.6.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 (297) 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-label-element/HTMLLabelElement.cjs +1 -6
  70. package/cjs/nodes/html-label-element/HTMLLabelElement.cjs.map +1 -1
  71. package/cjs/nodes/html-label-element/HTMLLabelElement.d.ts.map +1 -1
  72. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs +2 -23
  73. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs.map +1 -1
  74. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts +4 -10
  75. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  76. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.cjs +39 -0
  77. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.cjs.map +1 -0
  78. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts +20 -0
  79. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts.map +1 -0
  80. package/cjs/nodes/html-option-element/HTMLOptionElement.cjs +2 -30
  81. package/cjs/nodes/html-option-element/HTMLOptionElement.cjs.map +1 -1
  82. package/cjs/nodes/html-option-element/HTMLOptionElement.d.ts +2 -9
  83. package/cjs/nodes/html-option-element/HTMLOptionElement.d.ts.map +1 -1
  84. package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.cjs +45 -0
  85. package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.cjs.map +1 -0
  86. package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.d.ts +20 -0
  87. package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.d.ts.map +1 -0
  88. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs +2 -14
  89. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs.map +1 -1
  90. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts +2 -9
  91. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  92. package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.cjs +26 -0
  93. package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.cjs.map +1 -0
  94. package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.d.ts +16 -0
  95. package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.d.ts.map +1 -0
  96. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs +2 -26
  97. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs.map +1 -1
  98. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts +2 -9
  99. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  100. package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.cjs +42 -0
  101. package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.cjs.map +1 -0
  102. package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.d.ts +20 -0
  103. package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.d.ts.map +1 -0
  104. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs +2 -26
  105. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs.map +1 -1
  106. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +2 -9
  107. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  108. package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.cjs +42 -0
  109. package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.cjs.map +1 -0
  110. package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.d.ts +20 -0
  111. package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.d.ts.map +1 -0
  112. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs +5 -2
  113. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs.map +1 -1
  114. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.d.ts.map +1 -1
  115. package/cjs/nodes/node/NodeUtility.cjs +4 -15
  116. package/cjs/nodes/node/NodeUtility.cjs.map +1 -1
  117. package/cjs/nodes/node/NodeUtility.d.ts.map +1 -1
  118. package/cjs/nodes/svg-element/SVGElement.cjs +2 -20
  119. package/cjs/nodes/svg-element/SVGElement.cjs.map +1 -1
  120. package/cjs/nodes/svg-element/SVGElement.d.ts +3 -10
  121. package/cjs/nodes/svg-element/SVGElement.d.ts.map +1 -1
  122. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.cjs +35 -0
  123. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.cjs.map +1 -0
  124. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.d.ts +20 -0
  125. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.d.ts.map +1 -0
  126. package/cjs/query-selector/SelectorItem.cjs +1 -1
  127. package/cjs/query-selector/SelectorItem.cjs.map +1 -1
  128. package/cjs/xml-serializer/XMLSerializer.cjs +3 -2
  129. package/cjs/xml-serializer/XMLSerializer.cjs.map +1 -1
  130. package/cjs/xml-serializer/XMLSerializer.d.ts.map +1 -1
  131. package/lib/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +1 -1
  132. package/lib/css/declaration/AbstractCSSStyleDeclaration.js +20 -18
  133. package/lib/css/declaration/AbstractCSSStyleDeclaration.js.map +1 -1
  134. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
  135. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js +4 -3
  136. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js.map +1 -1
  137. package/lib/named-node-map/INamedNodeMap.d.ts +26 -26
  138. package/lib/named-node-map/INamedNodeMap.d.ts.map +1 -1
  139. package/lib/named-node-map/NamedNodeMap.d.ts +57 -40
  140. package/lib/named-node-map/NamedNodeMap.d.ts.map +1 -1
  141. package/lib/named-node-map/NamedNodeMap.js +121 -81
  142. package/lib/named-node-map/NamedNodeMap.js.map +1 -1
  143. package/lib/nodes/element/Dataset.d.ts.map +1 -1
  144. package/lib/nodes/element/Dataset.js +16 -17
  145. package/lib/nodes/element/Dataset.js.map +1 -1
  146. package/lib/nodes/element/Element.d.ts +9 -16
  147. package/lib/nodes/element/Element.d.ts.map +1 -1
  148. package/lib/nodes/element/Element.js +22 -133
  149. package/lib/nodes/element/Element.js.map +1 -1
  150. package/lib/nodes/element/ElementNamedNodeMap.d.ts +45 -0
  151. package/lib/nodes/element/ElementNamedNodeMap.d.ts.map +1 -0
  152. package/lib/nodes/element/ElementNamedNodeMap.js +146 -0
  153. package/lib/nodes/element/ElementNamedNodeMap.js.map +1 -0
  154. package/lib/nodes/element/ElementUtility.d.ts.map +1 -1
  155. package/lib/nodes/element/ElementUtility.js +20 -15
  156. package/lib/nodes/element/ElementUtility.js.map +1 -1
  157. package/lib/nodes/element/IElement.d.ts +5 -5
  158. package/lib/nodes/element/IElement.d.ts.map +1 -1
  159. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts +7 -11
  160. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  161. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +2 -26
  162. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
  163. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts +20 -0
  164. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts.map +1 -0
  165. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.js +38 -0
  166. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.js.map +1 -0
  167. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts +2 -9
  168. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  169. package/lib/nodes/html-button-element/HTMLButtonElement.js +2 -26
  170. package/lib/nodes/html-button-element/HTMLButtonElement.js.map +1 -1
  171. package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.d.ts +20 -0
  172. package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.d.ts.map +1 -0
  173. package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.js +35 -0
  174. package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.js.map +1 -0
  175. package/lib/nodes/html-element/HTMLElement.d.ts +3 -10
  176. package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
  177. package/lib/nodes/html-element/HTMLElement.js +2 -20
  178. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  179. package/lib/nodes/html-element/HTMLElementNamedNodeMap.d.ts +20 -0
  180. package/lib/nodes/html-element/HTMLElementNamedNodeMap.d.ts.map +1 -0
  181. package/lib/nodes/html-element/HTMLElementNamedNodeMap.js +29 -0
  182. package/lib/nodes/html-element/HTMLElementNamedNodeMap.js.map +1 -0
  183. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts +2 -5
  184. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  185. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js +2 -12
  186. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
  187. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts +16 -0
  188. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts.map +1 -0
  189. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.js +20 -0
  190. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.js.map +1 -0
  191. package/lib/nodes/html-input-element/HTMLInputElement.d.ts +2 -9
  192. package/lib/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  193. package/lib/nodes/html-input-element/HTMLInputElement.js +2 -26
  194. package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
  195. package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.d.ts +20 -0
  196. package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.d.ts.map +1 -0
  197. package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.js +36 -0
  198. package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.js.map +1 -0
  199. package/lib/nodes/html-label-element/HTMLLabelElement.d.ts.map +1 -1
  200. package/lib/nodes/html-label-element/HTMLLabelElement.js +1 -6
  201. package/lib/nodes/html-label-element/HTMLLabelElement.js.map +1 -1
  202. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +4 -10
  203. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  204. package/lib/nodes/html-link-element/HTMLLinkElement.js +2 -23
  205. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  206. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts +20 -0
  207. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts.map +1 -0
  208. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.js +33 -0
  209. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.js.map +1 -0
  210. package/lib/nodes/html-option-element/HTMLOptionElement.d.ts +2 -9
  211. package/lib/nodes/html-option-element/HTMLOptionElement.d.ts.map +1 -1
  212. package/lib/nodes/html-option-element/HTMLOptionElement.js +2 -30
  213. package/lib/nodes/html-option-element/HTMLOptionElement.js.map +1 -1
  214. package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.d.ts +20 -0
  215. package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.d.ts.map +1 -0
  216. package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.js +39 -0
  217. package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.js.map +1 -0
  218. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +2 -9
  219. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  220. package/lib/nodes/html-script-element/HTMLScriptElement.js +2 -14
  221. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  222. package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.d.ts +16 -0
  223. package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.d.ts.map +1 -0
  224. package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.js +20 -0
  225. package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.js.map +1 -0
  226. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts +2 -9
  227. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  228. package/lib/nodes/html-select-element/HTMLSelectElement.js +2 -26
  229. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  230. package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.d.ts +20 -0
  231. package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.d.ts.map +1 -0
  232. package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.js +36 -0
  233. package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.js.map +1 -0
  234. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +2 -9
  235. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  236. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +2 -26
  237. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
  238. package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.d.ts +20 -0
  239. package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.d.ts.map +1 -0
  240. package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.js +36 -0
  241. package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.js.map +1 -0
  242. package/lib/nodes/html-unknown-element/HTMLUnknownElement.d.ts.map +1 -1
  243. package/lib/nodes/html-unknown-element/HTMLUnknownElement.js +5 -2
  244. package/lib/nodes/html-unknown-element/HTMLUnknownElement.js.map +1 -1
  245. package/lib/nodes/node/NodeUtility.d.ts.map +1 -1
  246. package/lib/nodes/node/NodeUtility.js +4 -15
  247. package/lib/nodes/node/NodeUtility.js.map +1 -1
  248. package/lib/nodes/svg-element/SVGElement.d.ts +3 -10
  249. package/lib/nodes/svg-element/SVGElement.d.ts.map +1 -1
  250. package/lib/nodes/svg-element/SVGElement.js +2 -20
  251. package/lib/nodes/svg-element/SVGElement.js.map +1 -1
  252. package/lib/nodes/svg-element/SVGElementNamedNodeMap.d.ts +20 -0
  253. package/lib/nodes/svg-element/SVGElementNamedNodeMap.d.ts.map +1 -0
  254. package/lib/nodes/svg-element/SVGElementNamedNodeMap.js +29 -0
  255. package/lib/nodes/svg-element/SVGElementNamedNodeMap.js.map +1 -0
  256. package/lib/query-selector/SelectorItem.js +1 -1
  257. package/lib/query-selector/SelectorItem.js.map +1 -1
  258. package/lib/xml-serializer/XMLSerializer.d.ts.map +1 -1
  259. package/lib/xml-serializer/XMLSerializer.js +3 -2
  260. package/lib/xml-serializer/XMLSerializer.js.map +1 -1
  261. package/package.json +1 -1
  262. package/src/css/declaration/AbstractCSSStyleDeclaration.ts +32 -20
  263. package/src/css/declaration/element-style/CSSStyleDeclarationElementStyle.ts +4 -3
  264. package/src/named-node-map/INamedNodeMap.ts +26 -26
  265. package/src/named-node-map/NamedNodeMap.ts +135 -73
  266. package/src/nodes/element/Dataset.ts +19 -17
  267. package/src/nodes/element/Element.ts +27 -176
  268. package/src/nodes/element/ElementNamedNodeMap.ts +194 -0
  269. package/src/nodes/element/ElementUtility.ts +20 -18
  270. package/src/nodes/element/IElement.ts +5 -5
  271. package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +5 -33
  272. package/src/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.ts +48 -0
  273. package/src/nodes/html-button-element/HTMLButtonElement.ts +3 -33
  274. package/src/nodes/html-button-element/HTMLButtonElementNamedNodeMap.ts +56 -0
  275. package/src/nodes/html-element/HTMLElement.ts +4 -28
  276. package/src/nodes/html-element/HTMLElementNamedNodeMap.ts +38 -0
  277. package/src/nodes/html-iframe-element/HTMLIFrameElement.ts +4 -18
  278. package/src/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.ts +26 -0
  279. package/src/nodes/html-input-element/HTMLInputElement.ts +4 -33
  280. package/src/nodes/html-input-element/HTMLInputElementNamedNodeMap.ts +57 -0
  281. package/src/nodes/html-label-element/HTMLLabelElement.ts +3 -6
  282. package/src/nodes/html-link-element/HTMLLinkElement.ts +4 -32
  283. package/src/nodes/html-link-element/HTMLLinkElementNamedNodeMap.ts +43 -0
  284. package/src/nodes/html-option-element/HTMLOptionElement.ts +3 -43
  285. package/src/nodes/html-option-element/HTMLOptionElementNamedNodeMap.ts +55 -0
  286. package/src/nodes/html-script-element/HTMLScriptElement.ts +3 -18
  287. package/src/nodes/html-script-element/HTMLScriptElementNamedNodeMap.ts +26 -0
  288. package/src/nodes/html-select-element/HTMLSelectElement.ts +4 -33
  289. package/src/nodes/html-select-element/HTMLSelectElementNamedNodeMap.ts +57 -0
  290. package/src/nodes/html-text-area-element/HTMLTextAreaElement.ts +3 -33
  291. package/src/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.ts +57 -0
  292. package/src/nodes/html-unknown-element/HTMLUnknownElement.ts +6 -2
  293. package/src/nodes/node/NodeUtility.ts +7 -24
  294. package/src/nodes/svg-element/SVGElement.ts +5 -28
  295. package/src/nodes/svg-element/SVGElementNamedNodeMap.ts +38 -0
  296. package/src/query-selector/SelectorItem.ts +1 -1
  297. package/src/xml-serializer/XMLSerializer.ts +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"CSSStyleDeclarationElementStyle.js","sourceRoot":"","sources":["../../../../src/css/declaration/element-style/CSSStyleDeclarationElementStyle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CSSStyleDeclarationElementStyle.js","sourceRoot":"","sources":["../../../../src/css/declaration/element-style/CSSStyleDeclarationElementStyle.ts"],"names":[],"mappings":"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"}
@@ -5,59 +5,59 @@ import IAttr from '../nodes/attr/IAttr.js';
5
5
  * Reference:
6
6
  * https://developer.mozilla.org/en-US/docs/Web/API/NamedNodeMap.
7
7
  */
8
- export default interface INamedNodeMap extends Iterable<IAttr> {
8
+ export default interface INamedNodeMap {
9
9
  [index: number]: IAttr;
10
10
  [Symbol.toStringTag]: string;
11
11
  readonly length: number;
12
12
  /**
13
- * Returns attribute by index.
13
+ * Returns item by index.
14
14
  *
15
15
  * @param index Index.
16
16
  */
17
- item: (index: number) => IAttr;
17
+ item: (index: number) => IAttr | null;
18
18
  /**
19
- * Returns attribute by name.
19
+ * Returns named item.
20
20
  *
21
- * @param qualifiedName Name.
22
- * @returns Attribute.
21
+ * @param name Name.
22
+ * @returns Itme.
23
23
  */
24
- getNamedItem: (qualifiedName: string) => IAttr;
24
+ getNamedItem(name: string): IAttr | null;
25
25
  /**
26
- * Returns attribute by name and namespace.
26
+ * Returns item by name and namespace.
27
27
  *
28
28
  * @param namespace Namespace.
29
29
  * @param localName Local name of the attribute.
30
- * @returns Attribute.
30
+ * @returns Item.
31
31
  */
32
- getNamedItemNS: (namespace: string, localName: string) => IAttr;
32
+ getNamedItemNS(namespace: string, localName: string): IAttr | null;
33
33
  /**
34
- * Adds a new attribute node.
34
+ * Sets named item.
35
35
  *
36
- * @param attr Attribute.
37
- * @returns Replaced attribute.
36
+ * @param item Item.
37
+ * @returns Replaced item.
38
38
  */
39
- setNamedItem: (attr: IAttr) => IAttr;
39
+ setNamedItem(item: IAttr): IAttr | null;
40
40
  /**
41
- * Adds a new namespaced attribute node.
41
+ * Adds a new namespaced item.
42
42
  *
43
- * @param attr Attribute.
44
- * @returns Replaced attribute.
43
+ * @param item Item.
44
+ * @returns Replaced item.
45
45
  */
46
- setNamedItemNS: (attr: IAttr) => IAttr;
46
+ setNamedItemNS(item: IAttr): IAttr | null;
47
47
  /**
48
- * Removes an attribute.
48
+ * Removes an item.
49
49
  *
50
- * @param qualifiedName Name of the attribute.
51
- * @returns Removed attribute.
50
+ * @param name Name of item.
51
+ * @returns Removed item.
52
52
  */
53
- removeNamedItem: (qualifiedName: string) => IAttr;
53
+ removeNamedItem(name: string): IAttr | null;
54
54
  /**
55
- * Removes a namespaced attribute.
55
+ * Removes a namespaced item.
56
56
  *
57
57
  * @param namespace Namespace.
58
- * @param localName Local name of the attribute.
59
- * @returns Removed attribute.
58
+ * @param localName Local name of the item.
59
+ * @returns Removed item.
60
60
  */
61
- removeNamedItemNS: (namespace: string, localName: string) => IAttr;
61
+ removeNamedItemNS(namespace: string, localName: string): IAttr | null;
62
62
  }
63
63
  //# sourceMappingURL=INamedNodeMap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"INamedNodeMap.d.ts","sourceRoot":"","sources":["../../src/named-node-map/INamedNodeMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,wBAAwB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,OAAO,WAAW,aAAc,SAAQ,QAAQ,CAAC,KAAK,CAAC;IAC7D,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IACvB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC;IAE/B;;;;;OAKG;IACH,YAAY,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,KAAK,CAAC;IAE/C;;;;;;OAMG;IACH,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,KAAK,CAAC;IAEhE;;;;;OAKG;IACH,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,CAAC;IAErC;;;;;OAKG;IACH,cAAc,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,CAAC;IAEvC;;;;;OAKG;IACH,eAAe,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,KAAK,CAAC;IAElD;;;;;;OAMG;IACH,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,KAAK,CAAC;CACnE"}
1
+ {"version":3,"file":"INamedNodeMap.d.ts","sourceRoot":"","sources":["../../src/named-node-map/INamedNodeMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,wBAAwB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,OAAO,WAAW,aAAa;IACrC,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IACvB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,GAAG,IAAI,CAAC;IAEtC;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IAEzC;;;;;;OAMG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IAEnE;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;IAExC;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;IAE1C;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IAE5C;;;;;;OAMG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;CACtE"}
@@ -1,21 +1,16 @@
1
- import type Element from '../nodes/element/Element.js';
2
- import IAttr from '../nodes/attr/IAttr.js';
3
1
  import INamedNodeMap from './INamedNodeMap.js';
2
+ import IAttr from '../nodes/attr/IAttr.js';
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"}
@@ -1,139 +1,179 @@
1
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
- if (kind === "m") throw new TypeError("Private method is not writable");
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
- };
7
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
- };
12
- var _NamedNodeMap_ownerElement;
13
1
  /**
14
- * NamedNodeMap.
2
+ * Named Node Map.
15
3
  *
16
- * Reference:
17
- * https://developer.mozilla.org/en-US/docs/Web/API/NamedNodeMap.
4
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/NamedNodeMap
18
5
  */
19
6
  export default class NamedNodeMap {
20
- /**
21
- * Constructor.
22
- *
23
- * @param element Associated element.
24
- */
25
- constructor(element) {
26
- /**
27
- * Reference to the element.
28
- */
29
- _NamedNodeMap_ownerElement.set(this, void 0);
30
- __classPrivateFieldSet(this, _NamedNodeMap_ownerElement, element, "f");
7
+ constructor() {
8
+ this.length = 0;
9
+ this._namedItems = {};
31
10
  }
32
11
  /**
33
12
  * Returns string.
34
13
  *
35
14
  * @returns string.
36
15
  */
37
- get [(_NamedNodeMap_ownerElement = new WeakMap(), Symbol.toStringTag)]() {
38
- return this.constructor.name;
16
+ get [Symbol.toStringTag]() {
17
+ return 'NamedNodeMap';
39
18
  }
40
19
  /**
41
- * Length.
20
+ * Iterator.
42
21
  *
43
- * @returns Length.
22
+ * @returns Iterator.
44
23
  */
45
- get length() {
46
- return Object.keys(__classPrivateFieldGet(this, _NamedNodeMap_ownerElement, "f")._attributes).length;
24
+ *[Symbol.iterator]() {
25
+ for (let i = 0, max = this.length; i < max; i++) {
26
+ yield this[i];
27
+ }
47
28
  }
48
29
  /**
49
- * Returns attribute by index.
30
+ * Returns item by index.
50
31
  *
51
32
  * @param index Index.
52
33
  */
53
34
  item(index) {
54
- if (index < 0) {
55
- return null;
56
- }
57
- const attr = Object.values(__classPrivateFieldGet(this, _NamedNodeMap_ownerElement, "f")._attributes)[index];
58
- return attr ? attr : null;
35
+ return index >= 0 && this[index] ? this[index] : null;
59
36
  }
60
37
  /**
61
- * Returns attribute by name.
38
+ * Returns named item.
62
39
  *
63
- * @param qualifiedName Name.
64
- * @returns Attribute.
40
+ * @param name Name.
41
+ * @returns Itme.
65
42
  */
66
- getNamedItem(qualifiedName) {
67
- return __classPrivateFieldGet(this, _NamedNodeMap_ownerElement, "f").getAttributeNode(qualifiedName);
43
+ getNamedItem(name) {
44
+ return this._namedItems[name] || null;
68
45
  }
69
46
  /**
70
- * Returns attribute by name and namespace.
47
+ * Returns item by name and namespace.
71
48
  *
72
49
  * @param namespace Namespace.
73
50
  * @param localName Local name of the attribute.
74
- * @returns Attribute.
51
+ * @returns Item.
75
52
  */
76
53
  getNamedItemNS(namespace, localName) {
77
- return __classPrivateFieldGet(this, _NamedNodeMap_ownerElement, "f").getAttributeNodeNS(namespace, localName);
54
+ const attribute = this.getNamedItem(localName);
55
+ if (attribute && attribute.namespaceURI === namespace && attribute.localName === localName) {
56
+ return attribute;
57
+ }
58
+ for (let i = 0, max = this.length; i < max; i++) {
59
+ if (this[i].namespaceURI === namespace && this[i].localName === localName) {
60
+ return this[i];
61
+ }
62
+ }
63
+ return null;
78
64
  }
79
65
  /**
80
- * Adds a new attribute node.
66
+ * Sets named item.
81
67
  *
82
- * @param attr Attribute.
83
- * @returns Replaced attribute.
68
+ * @param item Item.
69
+ * @returns Replaced item.
84
70
  */
85
- setNamedItem(attr) {
86
- return __classPrivateFieldGet(this, _NamedNodeMap_ownerElement, "f").setAttributeNode(attr);
71
+ setNamedItem(item) {
72
+ return this._setNamedItemWithoutConsequences(item);
87
73
  }
88
74
  /**
89
- * Adds a new namespaced attribute node.
75
+ * Adds a new namespaced item.
90
76
  *
91
- * @param attr Attribute.
92
- * @returns Replaced attribute.
77
+ * @alias setNamedItem()
78
+ * @param item Item.
79
+ * @returns Replaced item.
93
80
  */
94
- setNamedItemNS(attr) {
95
- return __classPrivateFieldGet(this, _NamedNodeMap_ownerElement, "f").setAttributeNodeNS(attr);
81
+ setNamedItemNS(item) {
82
+ return this.setNamedItem(item);
96
83
  }
97
84
  /**
98
- * Removes an attribute.
85
+ * Removes an item.
99
86
  *
100
- * @param qualifiedName Name of the attribute.
101
- * @returns Removed attribute.
87
+ * @param name Name of item.
88
+ * @returns Removed item.
102
89
  */
103
- removeNamedItem(qualifiedName) {
104
- const attr = this.getNamedItem(qualifiedName);
105
- if (attr) {
106
- __classPrivateFieldGet(this, _NamedNodeMap_ownerElement, "f").removeAttributeNode(attr);
107
- }
108
- return attr;
90
+ removeNamedItem(name) {
91
+ return this._removeNamedItemWithoutConsequences(name);
109
92
  }
110
93
  /**
111
- * Removes a namespaced attribute.
94
+ * Removes a namespaced item.
112
95
  *
113
96
  * @param namespace Namespace.
114
- * @param localName Local name of the attribute.
115
- * @returns Removed attribute.
97
+ * @param localName Local name of the item.
98
+ * @returns Removed item.
116
99
  */
117
100
  removeNamedItemNS(namespace, localName) {
118
- const attr = this.getNamedItemNS(namespace, localName);
119
- if (attr) {
120
- __classPrivateFieldGet(this, _NamedNodeMap_ownerElement, "f").removeAttributeNode(attr);
101
+ const attribute = this.getNamedItemNS(namespace, localName);
102
+ if (attribute) {
103
+ return this.removeNamedItem(attribute.name);
121
104
  }
122
- return attr;
105
+ return null;
123
106
  }
124
107
  /**
125
- * Iterator.
108
+ * Sets named item without calling listeners for certain attributes.
126
109
  *
127
- * @returns Iterator.
110
+ * @param item Item.
111
+ * @returns Replaced item.
112
+ */
113
+ _setNamedItemWithoutConsequences(item) {
114
+ if (item.name) {
115
+ const replacedItem = this._namedItems[item.name] || null;
116
+ this._namedItems[item.name] = item;
117
+ if (replacedItem) {
118
+ this._removeNamedItemIndex(replacedItem);
119
+ }
120
+ this[this.length] = item;
121
+ this.length++;
122
+ if (this._isValidPropertyName(item.name)) {
123
+ this[item.name] = item;
124
+ }
125
+ return replacedItem;
126
+ }
127
+ return null;
128
+ }
129
+ /**
130
+ * Removes an item without calling listeners for certain attributes.
131
+ *
132
+ * @param name Name of item.
133
+ * @returns Removed item.
128
134
  */
129
- [Symbol.iterator]() {
130
- let index = -1;
131
- return {
132
- next: () => {
133
- index++;
134
- return { value: this.item(index), done: index >= this.length };
135
+ _removeNamedItemWithoutConsequences(name) {
136
+ const removedItem = this._namedItems[name] || null;
137
+ if (!removedItem) {
138
+ return null;
139
+ }
140
+ this._removeNamedItemIndex(removedItem);
141
+ if (this[name] === removedItem) {
142
+ delete this[name];
143
+ }
144
+ delete this._namedItems[name];
145
+ return removedItem;
146
+ }
147
+ /**
148
+ * Removes an item from index.
149
+ *
150
+ * @param item Item.
151
+ */
152
+ _removeNamedItemIndex(item) {
153
+ for (let i = 0; i < this.length; i++) {
154
+ if (this[i] === item) {
155
+ for (let b = i; b < this.length; b++) {
156
+ if (b < this.length - 1) {
157
+ this[b] = this[b + 1];
158
+ }
159
+ else {
160
+ delete this[b];
161
+ }
162
+ }
163
+ this.length--;
164
+ break;
135
165
  }
136
- };
166
+ }
167
+ }
168
+ /**
169
+ * Returns "true" if the property name is valid.
170
+ *
171
+ * @param name Name.
172
+ * @returns True if the property name is valid.
173
+ */
174
+ _isValidPropertyName(name) {
175
+ return (!this.constructor.prototype.hasOwnProperty(name) &&
176
+ (isNaN(Number(name)) || name.includes('.')));
137
177
  }
138
178
  }
139
179
  //# sourceMappingURL=NamedNodeMap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NamedNodeMap.js","sourceRoot":"","sources":["../../src/named-node-map/NamedNodeMap.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAQhC;;;;OAIG;IACH,YAAY,OAAgB;QAV5B;;WAEG;QACH,6CAAuB;QAQtB,uBAAA,IAAI,8BAAiB,OAAO,MAAA,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,IAAW,8CAAC,MAAM,CAAC,WAAW,EAAC;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,IAAW,MAAM;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,uBAAA,IAAI,kCAAc,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,KAAa;QACxB,IAAI,KAAK,GAAG,CAAC,EAAE;YACd,OAAO,IAAI,CAAC;SACZ;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAA,IAAI,kCAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACI,YAAY,CAAC,aAAqB;QACxC,OAAO,uBAAA,IAAI,kCAAc,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;OAMG;IACI,cAAc,CAAC,SAAiB,EAAE,SAAiB;QACzD,OAAO,uBAAA,IAAI,kCAAc,CAAC,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACI,YAAY,CAAC,IAAW;QAC9B,OAAO,uBAAA,IAAI,kCAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,IAAW;QAChC,OAAO,uBAAA,IAAI,kCAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACI,eAAe,CAAC,aAAqB;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAE9C,IAAI,IAAI,EAAE;YACT,uBAAA,IAAI,kCAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACI,iBAAiB,CAAC,SAAiB,EAAE,SAAiB;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAEvD,IAAI,IAAI,EAAE;YACT,uBAAA,IAAI,kCAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACvB,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;QACf,OAAO;YACN,IAAI,EAAE,GAAG,EAAE;gBACV,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChE,CAAC;SACD,CAAC;IACH,CAAC;CACD"}
1
+ {"version":3,"file":"NamedNodeMap.js","sourceRoot":"","sources":["../../src/named-node-map/NamedNodeMap.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAAjC;QAEQ,WAAM,GAAG,CAAC,CAAC;QACR,gBAAW,GAA2B,EAAE,CAAC;IAmMpD,CAAC;IAjMA;;;;OAIG;IACH,IAAW,CAAC,MAAM,CAAC,WAAW,CAAC;QAC9B,OAAO,cAAc,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAChD,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;SACd;IACF,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,KAAa;QACxB,OAAO,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACI,YAAY,CAAC,IAAY;QAC/B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACI,cAAc,CAAC,SAAiB,EAAE,SAAiB;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAE/C,IAAI,SAAS,IAAI,SAAS,CAAC,YAAY,KAAK,SAAS,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,EAAE;YAC3F,OAAO,SAAS,CAAC;SACjB;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE;gBAC1E,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;aACf;SACD;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACI,YAAY,CAAC,IAAW;QAC9B,OAAO,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACI,cAAc,CAAC,IAAW;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACI,eAAe,CAAC,IAAY;QAClC,OAAO,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;OAMG;IACI,iBAAiB,CAAC,SAAiB,EAAE,SAAiB;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5D,IAAI,SAAS,EAAE;YACd,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACI,gCAAgC,CAAC,IAAW;QAClD,IAAI,IAAI,CAAC,IAAI,EAAE;YACd,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;YAEzD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAEnC,IAAI,YAAY,EAAE;gBACjB,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;aACzC;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,MAAM,EAAE,CAAC;YAEd,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;aACvB;YAED,OAAO,YAAY,CAAC;SACpB;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACI,mCAAmC,CAAC,IAAY;QACtD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAEnD,IAAI,CAAC,WAAW,EAAE;YACjB,OAAO,IAAI,CAAC;SACZ;QAED,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAExC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;YAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;SAClB;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE9B,OAAO,WAAW,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACO,qBAAqB,CAAC,IAAW;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;gBACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;wBACxB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;qBACtB;yBAAM;wBACN,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;qBACf;iBACD;gBACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,MAAM;aACN;SACD;IACF,CAAC;IAED;;;;;OAKG;IACO,oBAAoB,CAAC,IAAY;QAC1C,OAAO,CACN,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC;YAChD,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAC3C,CAAC;IACH,CAAC;CACD"}
@@ -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"}
@@ -11,20 +11,20 @@ export default class Dataset {
11
11
  constructor(element) {
12
12
  // Build the initial dataset record from all data attributes.
13
13
  const dataset = {};
14
- const attributes = element._attributes;
15
- for (const name of Object.keys(attributes)) {
16
- if (name.startsWith('data-')) {
17
- const key = Dataset.kebabToCamelCase(name.replace('data-', ''));
18
- dataset[key] = attributes[name].value;
14
+ for (let i = 0, max = element.attributes.length; i < max; i++) {
15
+ const attribute = element.attributes[i];
16
+ if (attribute.name.startsWith('data-')) {
17
+ const key = Dataset.kebabToCamelCase(attribute.name.replace('data-', ''));
18
+ dataset[key] = attribute.value;
19
19
  }
20
20
  }
21
21
  // Documentation for Proxy:
22
22
  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy
23
23
  this.proxy = new Proxy(dataset, {
24
24
  get(dataset, key) {
25
- const name = 'data-' + Dataset.camelCaseToKebab(key);
26
- if (name in attributes) {
27
- return (dataset[key] = attributes[name].value);
25
+ const attribute = element.attributes.getNamedItem('data-' + Dataset.camelCaseToKebab(key));
26
+ if (attribute) {
27
+ return (dataset[key] = attribute.value);
28
28
  }
29
29
  delete dataset[key];
30
30
  return undefined;
@@ -35,10 +35,8 @@ export default class Dataset {
35
35
  return true;
36
36
  },
37
37
  deleteProperty(dataset, key) {
38
- const name = 'data-' + Dataset.camelCaseToKebab(key);
39
- const result1 = delete attributes[name];
40
- const result2 = delete dataset[key];
41
- return result1 && result2;
38
+ return (!!element.attributes.removeNamedItem('data-' + Dataset.camelCaseToKebab(key)) &&
39
+ delete dataset[key]);
42
40
  },
43
41
  ownKeys(dataset) {
44
42
  // According to Mozilla we have to update the dataset object (target) to contain the same keys as what we return:
@@ -46,11 +44,12 @@ export default class Dataset {
46
44
  // "The result List must contain the keys of all non-configurable own properties of the target object."
47
45
  const keys = [];
48
46
  const deleteKeys = [];
49
- for (const name of Object.keys(attributes)) {
50
- if (name.startsWith('data-')) {
51
- const key = Dataset.kebabToCamelCase(name.replace('data-', ''));
47
+ for (let i = 0, max = element.attributes.length; i < max; i++) {
48
+ const attribute = element.attributes[i];
49
+ if (attribute.name.startsWith('data-')) {
50
+ const key = Dataset.kebabToCamelCase(attribute.name.replace('data-', ''));
52
51
  keys.push(key);
53
- dataset[key] = attributes[name].value;
52
+ dataset[key] = attribute.value;
54
53
  if (!dataset[key]) {
55
54
  deleteKeys.push(key);
56
55
  }
@@ -62,7 +61,7 @@ export default class Dataset {
62
61
  return keys;
63
62
  },
64
63
  has(_dataset, key) {
65
- return !!attributes['data-' + Dataset.camelCaseToKebab(key)];
64
+ return !!element.attributes.getNamedItem('data-' + Dataset.camelCaseToKebab(key));
66
65
  }
67
66
  });
68
67
  }