happy-dom 15.11.6 → 16.0.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.
Files changed (489) hide show
  1. package/cjs/PropertySymbol.cjs +12 -9
  2. package/cjs/PropertySymbol.cjs.map +1 -1
  3. package/cjs/PropertySymbol.d.ts +4 -1
  4. package/cjs/PropertySymbol.d.ts.map +1 -1
  5. package/cjs/browser/utilities/BrowserFrameURL.cjs +1 -1
  6. package/cjs/browser/utilities/BrowserFrameURL.cjs.map +1 -1
  7. package/cjs/browser/utilities/BrowserFrameURL.d.ts +1 -1
  8. package/cjs/browser/utilities/BrowserFrameURL.d.ts.map +1 -1
  9. package/cjs/config/HTMLElementConfig.cjs +42 -16
  10. package/cjs/config/HTMLElementConfig.cjs.map +1 -1
  11. package/cjs/config/HTMLElementConfig.d.ts +7 -0
  12. package/cjs/config/HTMLElementConfig.d.ts.map +1 -1
  13. package/cjs/config/HTMLElementConfigContentModelEnum.cjs +3 -0
  14. package/cjs/config/HTMLElementConfigContentModelEnum.cjs.map +1 -1
  15. package/cjs/config/HTMLElementConfigContentModelEnum.d.ts +3 -0
  16. package/cjs/config/HTMLElementConfigContentModelEnum.d.ts.map +1 -1
  17. package/cjs/config/NamespaceURI.cjs +2 -0
  18. package/cjs/config/NamespaceURI.cjs.map +1 -1
  19. package/cjs/config/NamespaceURI.d.ts +2 -0
  20. package/cjs/config/NamespaceURI.d.ts.map +1 -1
  21. package/cjs/css/declaration/CSSStyleDeclaration.cjs +1 -1
  22. package/cjs/css/declaration/CSSStyleDeclaration.cjs.map +1 -1
  23. package/cjs/css/declaration/CSSStyleDeclaration.d.ts.map +1 -1
  24. package/cjs/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.cjs +2 -2
  25. package/cjs/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.cjs.map +1 -1
  26. package/cjs/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.d.ts.map +1 -1
  27. package/cjs/custom-element/CustomElementReactionStack.cjs +100 -0
  28. package/cjs/custom-element/CustomElementReactionStack.cjs.map +1 -0
  29. package/cjs/custom-element/CustomElementReactionStack.d.ts +27 -0
  30. package/cjs/custom-element/CustomElementReactionStack.d.ts.map +1 -0
  31. package/cjs/custom-element/CustomElementRegistry.cjs +32 -45
  32. package/cjs/custom-element/CustomElementRegistry.cjs.map +1 -1
  33. package/cjs/custom-element/CustomElementRegistry.d.ts +2 -6
  34. package/cjs/custom-element/CustomElementRegistry.d.ts.map +1 -1
  35. package/cjs/custom-element/CustomElementUtility.cjs +35 -0
  36. package/cjs/custom-element/CustomElementUtility.cjs.map +1 -0
  37. package/cjs/custom-element/CustomElementUtility.d.ts +14 -0
  38. package/cjs/custom-element/CustomElementUtility.d.ts.map +1 -0
  39. package/cjs/custom-element/ICustomElementDefinition.cjs +3 -0
  40. package/cjs/custom-element/ICustomElementDefinition.cjs.map +1 -0
  41. package/cjs/custom-element/ICustomElementDefinition.d.ts +12 -0
  42. package/cjs/custom-element/ICustomElementDefinition.d.ts.map +1 -0
  43. package/cjs/dom/DOMStringMap.cjs +8 -8
  44. package/cjs/dom/DOMStringMap.cjs.map +1 -1
  45. package/cjs/dom/DOMStringMap.d.ts.map +1 -1
  46. package/cjs/dom/DOMTokenList.cjs +1 -1
  47. package/cjs/dom/DOMTokenList.cjs.map +1 -1
  48. package/cjs/dom-parser/DOMParser.cjs +5 -67
  49. package/cjs/dom-parser/DOMParser.cjs.map +1 -1
  50. package/cjs/dom-parser/DOMParser.d.ts +0 -1
  51. package/cjs/dom-parser/DOMParser.d.ts.map +1 -1
  52. package/cjs/exception/DOMExceptionNameEnum.cjs +1 -0
  53. package/cjs/exception/DOMExceptionNameEnum.cjs.map +1 -1
  54. package/cjs/exception/DOMExceptionNameEnum.d.ts +2 -1
  55. package/cjs/exception/DOMExceptionNameEnum.d.ts.map +1 -1
  56. package/cjs/history/History.cjs +8 -8
  57. package/cjs/history/History.cjs.map +1 -1
  58. package/cjs/history/History.d.ts +2 -2
  59. package/cjs/history/History.d.ts.map +1 -1
  60. package/cjs/html-parser/HTMLParser.cjs +726 -0
  61. package/cjs/html-parser/HTMLParser.cjs.map +1 -0
  62. package/cjs/html-parser/HTMLParser.d.ts +91 -0
  63. package/cjs/html-parser/HTMLParser.d.ts.map +1 -0
  64. package/cjs/html-serializer/HTMLSerializer.cjs +152 -0
  65. package/cjs/html-serializer/HTMLSerializer.cjs.map +1 -0
  66. package/cjs/html-serializer/HTMLSerializer.d.ts +36 -0
  67. package/cjs/html-serializer/HTMLSerializer.d.ts.map +1 -0
  68. package/cjs/nodes/document/Document.cjs +105 -121
  69. package/cjs/nodes/document/Document.cjs.map +1 -1
  70. package/cjs/nodes/document/Document.d.ts +8 -0
  71. package/cjs/nodes/document/Document.d.ts.map +1 -1
  72. package/cjs/nodes/element/Element.cjs +35 -53
  73. package/cjs/nodes/element/Element.cjs.map +1 -1
  74. package/cjs/nodes/element/Element.d.ts +2 -12
  75. package/cjs/nodes/element/Element.d.ts.map +1 -1
  76. package/cjs/nodes/element/HTMLCollection.cjs +5 -9
  77. package/cjs/nodes/element/HTMLCollection.cjs.map +1 -1
  78. package/cjs/nodes/element/HTMLCollection.d.ts.map +1 -1
  79. package/cjs/nodes/element/NamedNodeMap.cjs +39 -52
  80. package/cjs/nodes/element/NamedNodeMap.cjs.map +1 -1
  81. package/cjs/nodes/element/NamedNodeMap.d.ts +1 -16
  82. package/cjs/nodes/element/NamedNodeMap.d.ts.map +1 -1
  83. package/cjs/nodes/element/NamedNodeMapProxyFactory.cjs +12 -14
  84. package/cjs/nodes/element/NamedNodeMapProxyFactory.cjs.map +1 -1
  85. package/cjs/nodes/element/NamedNodeMapProxyFactory.d.ts.map +1 -1
  86. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs +1 -1
  87. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs.map +1 -1
  88. package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  89. package/cjs/nodes/html-document/HTMLDocument.cjs +33 -2
  90. package/cjs/nodes/html-document/HTMLDocument.cjs.map +1 -1
  91. package/cjs/nodes/html-document/HTMLDocument.d.ts +10 -0
  92. package/cjs/nodes/html-document/HTMLDocument.d.ts.map +1 -1
  93. package/cjs/nodes/html-element/HTMLElement.cjs +52 -22
  94. package/cjs/nodes/html-element/HTMLElement.cjs.map +1 -1
  95. package/cjs/nodes/html-element/HTMLElement.d.ts +34 -0
  96. package/cjs/nodes/html-element/HTMLElement.d.ts.map +1 -1
  97. package/cjs/nodes/html-field-set-element/HTMLFieldSetElement.cjs +1 -1
  98. package/cjs/nodes/html-field-set-element/HTMLFieldSetElement.cjs.map +1 -1
  99. package/cjs/nodes/html-field-set-element/HTMLFieldSetElement.d.ts.map +1 -1
  100. package/cjs/nodes/html-form-element/HTMLFormElement.cjs +5 -8
  101. package/cjs/nodes/html-form-element/HTMLFormElement.cjs.map +1 -1
  102. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  103. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs +1 -1
  104. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs.map +1 -1
  105. package/cjs/nodes/html-input-element/HTMLInputElement.cjs +1 -1
  106. package/cjs/nodes/html-input-element/HTMLInputElement.cjs.map +1 -1
  107. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  108. package/cjs/nodes/html-media-element/TextTrackList.cjs +1 -1
  109. package/cjs/nodes/html-media-element/TextTrackList.cjs.map +1 -1
  110. package/cjs/nodes/html-object-element/HTMLObjectElement.cjs +1 -1
  111. package/cjs/nodes/html-object-element/HTMLObjectElement.cjs.map +1 -1
  112. package/cjs/nodes/html-object-element/HTMLObjectElement.d.ts.map +1 -1
  113. package/cjs/nodes/html-output-element/HTMLOutputElement.cjs +1 -1
  114. package/cjs/nodes/html-output-element/HTMLOutputElement.cjs.map +1 -1
  115. package/cjs/nodes/html-output-element/HTMLOutputElement.d.ts.map +1 -1
  116. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs +3 -1
  117. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs.map +1 -1
  118. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  119. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs +2 -2
  120. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs.map +1 -1
  121. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  122. package/cjs/nodes/html-table-element/HTMLTableElement.cjs +9 -1
  123. package/cjs/nodes/html-table-element/HTMLTableElement.cjs.map +1 -1
  124. package/cjs/nodes/html-table-element/HTMLTableElement.d.ts.map +1 -1
  125. package/cjs/nodes/html-table-row-element/HTMLTableRowElement.cjs +1 -1
  126. package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs +15 -17
  127. package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs.map +1 -1
  128. package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts +2 -2
  129. package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
  130. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs +1 -1
  131. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs.map +1 -1
  132. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  133. package/cjs/nodes/node/Node.cjs +44 -48
  134. package/cjs/nodes/node/Node.cjs.map +1 -1
  135. package/cjs/nodes/node/Node.d.ts +2 -10
  136. package/cjs/nodes/node/Node.d.ts.map +1 -1
  137. package/cjs/nodes/node/NodeList.cjs +1 -1
  138. package/cjs/nodes/node/NodeList.cjs.map +1 -1
  139. package/cjs/nodes/node/NodeUtility.cjs +4 -3
  140. package/cjs/nodes/node/NodeUtility.cjs.map +1 -1
  141. package/cjs/nodes/node/NodeUtility.d.ts.map +1 -1
  142. package/cjs/nodes/parent-node/ParentNodeUtility.cjs +5 -2
  143. package/cjs/nodes/parent-node/ParentNodeUtility.cjs.map +1 -1
  144. package/cjs/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
  145. package/cjs/nodes/shadow-root/ShadowRoot.cjs +8 -8
  146. package/cjs/nodes/shadow-root/ShadowRoot.cjs.map +1 -1
  147. package/cjs/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
  148. package/cjs/nodes/xml-document/XMLDocument.cjs +26 -0
  149. package/cjs/nodes/xml-document/XMLDocument.cjs.map +1 -1
  150. package/cjs/nodes/xml-document/XMLDocument.d.ts +2 -0
  151. package/cjs/nodes/xml-document/XMLDocument.d.ts.map +1 -1
  152. package/cjs/query-selector/SelectorItem.cjs +1 -2
  153. package/cjs/query-selector/SelectorItem.cjs.map +1 -1
  154. package/cjs/query-selector/SelectorItem.d.ts.map +1 -1
  155. package/cjs/range/Range.cjs +3 -3
  156. package/cjs/range/Range.cjs.map +1 -1
  157. package/cjs/range/Range.d.ts.map +1 -1
  158. package/cjs/storage/Storage.cjs +1 -1
  159. package/cjs/storage/Storage.cjs.map +1 -1
  160. package/cjs/svg/SVGLengthList.cjs +1 -1
  161. package/cjs/svg/SVGLengthList.cjs.map +1 -1
  162. package/cjs/svg/SVGNumberList.cjs +1 -1
  163. package/cjs/svg/SVGNumberList.cjs.map +1 -1
  164. package/cjs/svg/SVGPointList.cjs +1 -1
  165. package/cjs/svg/SVGPointList.cjs.map +1 -1
  166. package/cjs/svg/SVGStringList.cjs +1 -1
  167. package/cjs/svg/SVGStringList.cjs.map +1 -1
  168. package/cjs/svg/SVGTransformList.cjs +1 -1
  169. package/cjs/svg/SVGTransformList.cjs.map +1 -1
  170. package/cjs/tree-walker/NodeIterator.cjs +63 -6
  171. package/cjs/tree-walker/NodeIterator.cjs.map +1 -1
  172. package/cjs/tree-walker/NodeIterator.d.ts +18 -3
  173. package/cjs/tree-walker/NodeIterator.d.ts.map +1 -1
  174. package/cjs/tree-walker/TreeWalker.cjs +6 -6
  175. package/cjs/tree-walker/TreeWalker.cjs.map +1 -1
  176. package/cjs/tree-walker/TreeWalker.d.ts +2 -1
  177. package/cjs/tree-walker/TreeWalker.d.ts.map +1 -1
  178. package/cjs/utilities/ClassMethodBinder.cjs.map +1 -0
  179. package/cjs/utilities/ClassMethodBinder.d.ts.map +1 -0
  180. package/cjs/utilities/StringUtility.cjs.map +1 -0
  181. package/cjs/utilities/StringUtility.d.ts.map +1 -0
  182. package/cjs/utilities/XMLEncodeUtility.cjs +119 -0
  183. package/cjs/utilities/XMLEncodeUtility.cjs.map +1 -0
  184. package/cjs/utilities/XMLEncodeUtility.d.ts +48 -0
  185. package/cjs/utilities/XMLEncodeUtility.d.ts.map +1 -0
  186. package/cjs/window/BrowserWindow.cjs +9 -3
  187. package/cjs/window/BrowserWindow.cjs.map +1 -1
  188. package/cjs/window/BrowserWindow.d.ts +2 -0
  189. package/cjs/window/BrowserWindow.d.ts.map +1 -1
  190. package/cjs/window/WindowErrorUtility.cjs +1 -1
  191. package/cjs/window/WindowErrorUtility.cjs.map +1 -1
  192. package/cjs/xml-http-request/XMLHttpRequest.cjs +2 -1
  193. package/cjs/xml-http-request/XMLHttpRequest.cjs.map +1 -1
  194. package/cjs/xml-http-request/XMLHttpRequest.d.ts.map +1 -1
  195. package/cjs/xml-http-request/XMLHttpRequestResponseDataParser.cjs +1 -1
  196. package/cjs/xml-http-request/XMLHttpRequestResponseDataParser.cjs.map +1 -1
  197. package/cjs/xml-parser/XMLParser.cjs +531 -242
  198. package/cjs/xml-parser/XMLParser.cjs.map +1 -1
  199. package/cjs/xml-parser/XMLParser.d.ts +89 -19
  200. package/cjs/xml-parser/XMLParser.d.ts.map +1 -1
  201. package/cjs/xml-serializer/XMLSerializer.cjs +136 -40
  202. package/cjs/xml-serializer/XMLSerializer.cjs.map +1 -1
  203. package/cjs/xml-serializer/XMLSerializer.d.ts +6 -17
  204. package/cjs/xml-serializer/XMLSerializer.d.ts.map +1 -1
  205. package/lib/PropertySymbol.d.ts +4 -1
  206. package/lib/PropertySymbol.d.ts.map +1 -1
  207. package/lib/PropertySymbol.js +4 -1
  208. package/lib/PropertySymbol.js.map +1 -1
  209. package/lib/browser/utilities/BrowserFrameURL.d.ts +1 -1
  210. package/lib/browser/utilities/BrowserFrameURL.d.ts.map +1 -1
  211. package/lib/browser/utilities/BrowserFrameURL.js +1 -1
  212. package/lib/browser/utilities/BrowserFrameURL.js.map +1 -1
  213. package/lib/config/HTMLElementConfig.d.ts +7 -0
  214. package/lib/config/HTMLElementConfig.d.ts.map +1 -1
  215. package/lib/config/HTMLElementConfig.js +42 -16
  216. package/lib/config/HTMLElementConfig.js.map +1 -1
  217. package/lib/config/HTMLElementConfigContentModelEnum.d.ts +3 -0
  218. package/lib/config/HTMLElementConfigContentModelEnum.d.ts.map +1 -1
  219. package/lib/config/HTMLElementConfigContentModelEnum.js +3 -0
  220. package/lib/config/HTMLElementConfigContentModelEnum.js.map +1 -1
  221. package/lib/config/NamespaceURI.d.ts +2 -0
  222. package/lib/config/NamespaceURI.d.ts.map +1 -1
  223. package/lib/config/NamespaceURI.js +2 -0
  224. package/lib/config/NamespaceURI.js.map +1 -1
  225. package/lib/css/declaration/CSSStyleDeclaration.d.ts.map +1 -1
  226. package/lib/css/declaration/CSSStyleDeclaration.js +1 -1
  227. package/lib/css/declaration/CSSStyleDeclaration.js.map +1 -1
  228. package/lib/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.d.ts.map +1 -1
  229. package/lib/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.js +2 -2
  230. package/lib/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.js.map +1 -1
  231. package/lib/custom-element/CustomElementReactionStack.d.ts +27 -0
  232. package/lib/custom-element/CustomElementReactionStack.d.ts.map +1 -0
  233. package/lib/custom-element/CustomElementReactionStack.js +71 -0
  234. package/lib/custom-element/CustomElementReactionStack.js.map +1 -0
  235. package/lib/custom-element/CustomElementRegistry.d.ts +2 -6
  236. package/lib/custom-element/CustomElementRegistry.d.ts.map +1 -1
  237. package/lib/custom-element/CustomElementRegistry.js +32 -45
  238. package/lib/custom-element/CustomElementRegistry.js.map +1 -1
  239. package/lib/custom-element/CustomElementUtility.d.ts +14 -0
  240. package/lib/custom-element/CustomElementUtility.d.ts.map +1 -0
  241. package/lib/custom-element/CustomElementUtility.js +32 -0
  242. package/lib/custom-element/CustomElementUtility.js.map +1 -0
  243. package/lib/custom-element/ICustomElementDefinition.d.ts +12 -0
  244. package/lib/custom-element/ICustomElementDefinition.d.ts.map +1 -0
  245. package/lib/custom-element/ICustomElementDefinition.js +2 -0
  246. package/lib/custom-element/ICustomElementDefinition.js.map +1 -0
  247. package/lib/dom/DOMStringMap.d.ts.map +1 -1
  248. package/lib/dom/DOMStringMap.js +8 -8
  249. package/lib/dom/DOMStringMap.js.map +1 -1
  250. package/lib/dom/DOMTokenList.js +1 -1
  251. package/lib/dom/DOMTokenList.js.map +1 -1
  252. package/lib/dom-parser/DOMParser.d.ts +0 -1
  253. package/lib/dom-parser/DOMParser.d.ts.map +1 -1
  254. package/lib/dom-parser/DOMParser.js +5 -67
  255. package/lib/dom-parser/DOMParser.js.map +1 -1
  256. package/lib/exception/DOMExceptionNameEnum.d.ts +2 -1
  257. package/lib/exception/DOMExceptionNameEnum.d.ts.map +1 -1
  258. package/lib/exception/DOMExceptionNameEnum.js +1 -0
  259. package/lib/exception/DOMExceptionNameEnum.js.map +1 -1
  260. package/lib/history/History.d.ts +2 -2
  261. package/lib/history/History.d.ts.map +1 -1
  262. package/lib/history/History.js +8 -8
  263. package/lib/history/History.js.map +1 -1
  264. package/lib/html-parser/HTMLParser.d.ts +91 -0
  265. package/lib/html-parser/HTMLParser.d.ts.map +1 -0
  266. package/lib/html-parser/HTMLParser.js +697 -0
  267. package/lib/html-parser/HTMLParser.js.map +1 -0
  268. package/lib/html-serializer/HTMLSerializer.d.ts +36 -0
  269. package/lib/html-serializer/HTMLSerializer.d.ts.map +1 -0
  270. package/lib/html-serializer/HTMLSerializer.js +123 -0
  271. package/lib/html-serializer/HTMLSerializer.js.map +1 -0
  272. package/lib/nodes/document/Document.d.ts +8 -0
  273. package/lib/nodes/document/Document.d.ts.map +1 -1
  274. package/lib/nodes/document/Document.js +106 -122
  275. package/lib/nodes/document/Document.js.map +1 -1
  276. package/lib/nodes/element/Element.d.ts +2 -12
  277. package/lib/nodes/element/Element.d.ts.map +1 -1
  278. package/lib/nodes/element/Element.js +35 -53
  279. package/lib/nodes/element/Element.js.map +1 -1
  280. package/lib/nodes/element/HTMLCollection.d.ts.map +1 -1
  281. package/lib/nodes/element/HTMLCollection.js +5 -9
  282. package/lib/nodes/element/HTMLCollection.js.map +1 -1
  283. package/lib/nodes/element/NamedNodeMap.d.ts +1 -16
  284. package/lib/nodes/element/NamedNodeMap.d.ts.map +1 -1
  285. package/lib/nodes/element/NamedNodeMap.js +39 -52
  286. package/lib/nodes/element/NamedNodeMap.js.map +1 -1
  287. package/lib/nodes/element/NamedNodeMapProxyFactory.d.ts.map +1 -1
  288. package/lib/nodes/element/NamedNodeMapProxyFactory.js +12 -14
  289. package/lib/nodes/element/NamedNodeMapProxyFactory.js.map +1 -1
  290. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  291. package/lib/nodes/html-button-element/HTMLButtonElement.js +1 -1
  292. package/lib/nodes/html-button-element/HTMLButtonElement.js.map +1 -1
  293. package/lib/nodes/html-document/HTMLDocument.d.ts +10 -0
  294. package/lib/nodes/html-document/HTMLDocument.d.ts.map +1 -1
  295. package/lib/nodes/html-document/HTMLDocument.js +33 -2
  296. package/lib/nodes/html-document/HTMLDocument.js.map +1 -1
  297. package/lib/nodes/html-element/HTMLElement.d.ts +34 -0
  298. package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
  299. package/lib/nodes/html-element/HTMLElement.js +52 -22
  300. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  301. package/lib/nodes/html-field-set-element/HTMLFieldSetElement.d.ts.map +1 -1
  302. package/lib/nodes/html-field-set-element/HTMLFieldSetElement.js +1 -1
  303. package/lib/nodes/html-field-set-element/HTMLFieldSetElement.js.map +1 -1
  304. package/lib/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  305. package/lib/nodes/html-form-element/HTMLFormElement.js +5 -8
  306. package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
  307. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js +1 -1
  308. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
  309. package/lib/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  310. package/lib/nodes/html-input-element/HTMLInputElement.js +1 -1
  311. package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
  312. package/lib/nodes/html-media-element/TextTrackList.js +1 -1
  313. package/lib/nodes/html-media-element/TextTrackList.js.map +1 -1
  314. package/lib/nodes/html-object-element/HTMLObjectElement.d.ts.map +1 -1
  315. package/lib/nodes/html-object-element/HTMLObjectElement.js +1 -1
  316. package/lib/nodes/html-object-element/HTMLObjectElement.js.map +1 -1
  317. package/lib/nodes/html-output-element/HTMLOutputElement.d.ts.map +1 -1
  318. package/lib/nodes/html-output-element/HTMLOutputElement.js +1 -1
  319. package/lib/nodes/html-output-element/HTMLOutputElement.js.map +1 -1
  320. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  321. package/lib/nodes/html-script-element/HTMLScriptElement.js +3 -1
  322. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  323. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  324. package/lib/nodes/html-select-element/HTMLSelectElement.js +2 -2
  325. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  326. package/lib/nodes/html-table-element/HTMLTableElement.d.ts.map +1 -1
  327. package/lib/nodes/html-table-element/HTMLTableElement.js +9 -1
  328. package/lib/nodes/html-table-element/HTMLTableElement.js.map +1 -1
  329. package/lib/nodes/html-table-row-element/HTMLTableRowElement.js +1 -1
  330. package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts +2 -2
  331. package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
  332. package/lib/nodes/html-template-element/HTMLTemplateElement.js +15 -17
  333. package/lib/nodes/html-template-element/HTMLTemplateElement.js.map +1 -1
  334. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  335. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +1 -1
  336. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
  337. package/lib/nodes/node/Node.d.ts +2 -10
  338. package/lib/nodes/node/Node.d.ts.map +1 -1
  339. package/lib/nodes/node/Node.js +44 -48
  340. package/lib/nodes/node/Node.js.map +1 -1
  341. package/lib/nodes/node/NodeList.js +1 -1
  342. package/lib/nodes/node/NodeList.js.map +1 -1
  343. package/lib/nodes/node/NodeUtility.d.ts.map +1 -1
  344. package/lib/nodes/node/NodeUtility.js +4 -3
  345. package/lib/nodes/node/NodeUtility.js.map +1 -1
  346. package/lib/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
  347. package/lib/nodes/parent-node/ParentNodeUtility.js +5 -2
  348. package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
  349. package/lib/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
  350. package/lib/nodes/shadow-root/ShadowRoot.js +8 -8
  351. package/lib/nodes/shadow-root/ShadowRoot.js.map +1 -1
  352. package/lib/nodes/xml-document/XMLDocument.d.ts +2 -0
  353. package/lib/nodes/xml-document/XMLDocument.d.ts.map +1 -1
  354. package/lib/nodes/xml-document/XMLDocument.js +3 -0
  355. package/lib/nodes/xml-document/XMLDocument.js.map +1 -1
  356. package/lib/query-selector/SelectorItem.d.ts.map +1 -1
  357. package/lib/query-selector/SelectorItem.js +1 -2
  358. package/lib/query-selector/SelectorItem.js.map +1 -1
  359. package/lib/range/Range.d.ts.map +1 -1
  360. package/lib/range/Range.js +3 -3
  361. package/lib/range/Range.js.map +1 -1
  362. package/lib/storage/Storage.js +1 -1
  363. package/lib/storage/Storage.js.map +1 -1
  364. package/lib/svg/SVGLengthList.js +1 -1
  365. package/lib/svg/SVGLengthList.js.map +1 -1
  366. package/lib/svg/SVGNumberList.js +1 -1
  367. package/lib/svg/SVGNumberList.js.map +1 -1
  368. package/lib/svg/SVGPointList.js +1 -1
  369. package/lib/svg/SVGPointList.js.map +1 -1
  370. package/lib/svg/SVGStringList.js +1 -1
  371. package/lib/svg/SVGStringList.js.map +1 -1
  372. package/lib/svg/SVGTransformList.js +1 -1
  373. package/lib/svg/SVGTransformList.js.map +1 -1
  374. package/lib/tree-walker/NodeIterator.d.ts +18 -3
  375. package/lib/tree-walker/NodeIterator.d.ts.map +1 -1
  376. package/lib/tree-walker/NodeIterator.js +40 -6
  377. package/lib/tree-walker/NodeIterator.js.map +1 -1
  378. package/lib/tree-walker/TreeWalker.d.ts +2 -1
  379. package/lib/tree-walker/TreeWalker.d.ts.map +1 -1
  380. package/lib/tree-walker/TreeWalker.js +6 -6
  381. package/lib/tree-walker/TreeWalker.js.map +1 -1
  382. package/lib/utilities/ClassMethodBinder.d.ts.map +1 -0
  383. package/lib/utilities/ClassMethodBinder.js.map +1 -0
  384. package/lib/utilities/StringUtility.d.ts.map +1 -0
  385. package/lib/utilities/StringUtility.js.map +1 -0
  386. package/lib/utilities/XMLEncodeUtility.d.ts +48 -0
  387. package/lib/utilities/XMLEncodeUtility.d.ts.map +1 -0
  388. package/lib/utilities/XMLEncodeUtility.js +116 -0
  389. package/lib/utilities/XMLEncodeUtility.js.map +1 -0
  390. package/lib/window/BrowserWindow.d.ts +2 -0
  391. package/lib/window/BrowserWindow.d.ts.map +1 -1
  392. package/lib/window/BrowserWindow.js +9 -3
  393. package/lib/window/BrowserWindow.js.map +1 -1
  394. package/lib/window/WindowErrorUtility.js +1 -1
  395. package/lib/window/WindowErrorUtility.js.map +1 -1
  396. package/lib/xml-http-request/XMLHttpRequest.d.ts.map +1 -1
  397. package/lib/xml-http-request/XMLHttpRequest.js +2 -1
  398. package/lib/xml-http-request/XMLHttpRequest.js.map +1 -1
  399. package/lib/xml-http-request/XMLHttpRequestResponseDataParser.js +1 -1
  400. package/lib/xml-http-request/XMLHttpRequestResponseDataParser.js.map +1 -1
  401. package/lib/xml-parser/XMLParser.d.ts +89 -19
  402. package/lib/xml-parser/XMLParser.d.ts.map +1 -1
  403. package/lib/xml-parser/XMLParser.js +531 -242
  404. package/lib/xml-parser/XMLParser.js.map +1 -1
  405. package/lib/xml-serializer/XMLSerializer.d.ts +6 -17
  406. package/lib/xml-serializer/XMLSerializer.d.ts.map +1 -1
  407. package/lib/xml-serializer/XMLSerializer.js +136 -40
  408. package/lib/xml-serializer/XMLSerializer.js.map +1 -1
  409. package/package.json +1 -2
  410. package/src/PropertySymbol.ts +4 -1
  411. package/src/browser/utilities/BrowserFrameURL.ts +2 -2
  412. package/src/config/HTMLElementConfig.ts +53 -17
  413. package/src/config/HTMLElementConfigContentModelEnum.ts +3 -0
  414. package/src/config/NamespaceURI.ts +2 -0
  415. package/src/css/declaration/CSSStyleDeclaration.ts +1 -4
  416. package/src/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.ts +2 -4
  417. package/src/custom-element/CustomElementReactionStack.ts +81 -0
  418. package/src/custom-element/CustomElementRegistry.ts +35 -54
  419. package/src/custom-element/CustomElementUtility.ts +34 -0
  420. package/src/custom-element/ICustomElementDefinition.ts +16 -0
  421. package/src/dom/DOMStringMap.ts +12 -10
  422. package/src/dom/DOMTokenList.ts +1 -1
  423. package/src/dom-parser/DOMParser.ts +5 -75
  424. package/src/exception/DOMExceptionNameEnum.ts +2 -1
  425. package/src/history/History.ts +10 -10
  426. package/src/html-parser/HTMLParser.ts +864 -0
  427. package/src/html-serializer/HTMLSerializer.ts +162 -0
  428. package/src/nodes/document/Document.ts +118 -137
  429. package/src/nodes/element/Element.ts +48 -95
  430. package/src/nodes/element/HTMLCollection.ts +5 -30
  431. package/src/nodes/element/NamedNodeMap.ts +58 -72
  432. package/src/nodes/element/NamedNodeMapProxyFactory.ts +12 -15
  433. package/src/nodes/html-button-element/HTMLButtonElement.ts +1 -4
  434. package/src/nodes/html-document/HTMLDocument.ts +58 -2
  435. package/src/nodes/html-element/HTMLElement.ts +107 -25
  436. package/src/nodes/html-field-set-element/HTMLFieldSetElement.ts +1 -4
  437. package/src/nodes/html-form-element/HTMLFormElement.ts +5 -27
  438. package/src/nodes/html-iframe-element/HTMLIFrameElement.ts +1 -1
  439. package/src/nodes/html-input-element/HTMLInputElement.ts +1 -4
  440. package/src/nodes/html-media-element/TextTrackList.ts +1 -1
  441. package/src/nodes/html-object-element/HTMLObjectElement.ts +1 -4
  442. package/src/nodes/html-output-element/HTMLOutputElement.ts +1 -4
  443. package/src/nodes/html-script-element/HTMLScriptElement.ts +4 -1
  444. package/src/nodes/html-select-element/HTMLSelectElement.ts +2 -5
  445. package/src/nodes/html-table-element/HTMLTableElement.ts +8 -1
  446. package/src/nodes/html-table-row-element/HTMLTableRowElement.ts +1 -1
  447. package/src/nodes/html-template-element/HTMLTemplateElement.ts +23 -17
  448. package/src/nodes/html-text-area-element/HTMLTextAreaElement.ts +1 -4
  449. package/src/nodes/node/Node.ts +57 -70
  450. package/src/nodes/node/NodeList.ts +1 -1
  451. package/src/nodes/node/NodeUtility.ts +4 -3
  452. package/src/nodes/parent-node/ParentNodeUtility.ts +6 -6
  453. package/src/nodes/shadow-root/ShadowRoot.ts +8 -8
  454. package/src/nodes/xml-document/XMLDocument.ts +5 -1
  455. package/src/query-selector/SelectorItem.ts +1 -2
  456. package/src/range/Range.ts +3 -3
  457. package/src/storage/Storage.ts +1 -1
  458. package/src/svg/SVGLengthList.ts +1 -1
  459. package/src/svg/SVGNumberList.ts +1 -1
  460. package/src/svg/SVGPointList.ts +1 -1
  461. package/src/svg/SVGStringList.ts +1 -1
  462. package/src/svg/SVGTransformList.ts +1 -1
  463. package/src/tree-walker/NodeIterator.ts +44 -8
  464. package/src/tree-walker/TreeWalker.ts +6 -6
  465. package/src/utilities/XMLEncodeUtility.ts +127 -0
  466. package/src/window/BrowserWindow.ts +18 -5
  467. package/src/window/WindowErrorUtility.ts +1 -1
  468. package/src/xml-http-request/XMLHttpRequest.ts +3 -1
  469. package/src/xml-http-request/XMLHttpRequestResponseDataParser.ts +1 -1
  470. package/src/xml-parser/XMLParser.ts +627 -313
  471. package/src/xml-serializer/XMLSerializer.ts +204 -58
  472. package/cjs/ClassMethodBinder.cjs.map +0 -1
  473. package/cjs/ClassMethodBinder.d.ts.map +0 -1
  474. package/cjs/StringUtility.cjs.map +0 -1
  475. package/cjs/StringUtility.d.ts.map +0 -1
  476. package/lib/ClassMethodBinder.d.ts.map +0 -1
  477. package/lib/ClassMethodBinder.js.map +0 -1
  478. package/lib/StringUtility.d.ts.map +0 -1
  479. package/lib/StringUtility.js.map +0 -1
  480. /package/cjs/{ClassMethodBinder.cjs → utilities/ClassMethodBinder.cjs} +0 -0
  481. /package/cjs/{ClassMethodBinder.d.ts → utilities/ClassMethodBinder.d.ts} +0 -0
  482. /package/cjs/{StringUtility.cjs → utilities/StringUtility.cjs} +0 -0
  483. /package/cjs/{StringUtility.d.ts → utilities/StringUtility.d.ts} +0 -0
  484. /package/lib/{ClassMethodBinder.d.ts → utilities/ClassMethodBinder.d.ts} +0 -0
  485. /package/lib/{ClassMethodBinder.js → utilities/ClassMethodBinder.js} +0 -0
  486. /package/lib/{StringUtility.d.ts → utilities/StringUtility.d.ts} +0 -0
  487. /package/lib/{StringUtility.js → utilities/StringUtility.js} +0 -0
  488. /package/src/{ClassMethodBinder.ts → utilities/ClassMethodBinder.ts} +0 -0
  489. /package/src/{StringUtility.ts → utilities/StringUtility.ts} +0 -0
@@ -0,0 +1,71 @@
1
+ import * as PropertySymbol from '../PropertySymbol.js';
2
+ import WindowBrowserContext from '../window/WindowBrowserContext.js';
3
+ /**
4
+ * Custom element reaction stack.
5
+ *
6
+ * @see https://html.spec.whatwg.org/multipage/custom-elements.html#custom-element-reactions-stack
7
+ */
8
+ export default class CustomElementReactionStack {
9
+ window;
10
+ /**
11
+ * Constructor.
12
+ *
13
+ * @param window Window.
14
+ */
15
+ constructor(window) {
16
+ this.window = window;
17
+ }
18
+ /**
19
+ * Enqueues a custom element reaction.
20
+ *
21
+ * @see https://html.spec.whatwg.org/multipage/custom-elements.html#enqueue-a-custom-element-callback-reaction
22
+ * @see https://html.spec.whatwg.org/multipage/custom-elements.html#enqueue-an-element-on-the-appropriate-element-queue
23
+ * @param element Element.
24
+ * @param callbackName Callback name.
25
+ * @param [args] Arguments.
26
+ */
27
+ enqueueReaction(element, callbackName, args) {
28
+ // If a polyfill is used, [PropertySymbol.registry] may be undefined
29
+ const definition = this.window.customElements[PropertySymbol.registry]?.get(element.localName);
30
+ if (!definition) {
31
+ return;
32
+ }
33
+ // According to the spec, we should use a queue for each element and then invoke the reactions in the order they were enqueued asynchronously.
34
+ // However, the browser seem to always invoke the reactions synchronously.
35
+ // TODO: Can we find an example where the reactions are invoked asynchronously? In that case we should use a queue for those cases.
36
+ switch (callbackName) {
37
+ case 'connectedCallback':
38
+ if (definition.livecycleCallbacks.connectedCallback) {
39
+ const returnValue = definition.livecycleCallbacks.connectedCallback.call(element);
40
+ /**
41
+ * It is common to import dependencies in the connectedCallback() method of web components.
42
+ * As Happy DOM doesn't have support for dynamic imports yet, this is a temporary solution to wait for imports in connectedCallback().
43
+ *
44
+ * @see https://github.com/capricorn86/happy-dom/issues/1442
45
+ */
46
+ if (returnValue instanceof Promise) {
47
+ const asyncTaskManager = new WindowBrowserContext(this.window).getAsyncTaskManager();
48
+ if (asyncTaskManager) {
49
+ const taskID = asyncTaskManager.startTask();
50
+ returnValue
51
+ .then(() => asyncTaskManager.endTask(taskID))
52
+ .catch(() => asyncTaskManager.endTask(taskID));
53
+ }
54
+ }
55
+ }
56
+ break;
57
+ case 'disconnectedCallback':
58
+ if (definition.livecycleCallbacks.disconnectedCallback) {
59
+ definition.livecycleCallbacks.disconnectedCallback.call(element);
60
+ }
61
+ break;
62
+ case 'attributeChangedCallback':
63
+ if (definition.livecycleCallbacks.attributeChangedCallback &&
64
+ definition.observedAttributes.has(args[0])) {
65
+ definition.livecycleCallbacks.attributeChangedCallback.apply(element, args);
66
+ }
67
+ break;
68
+ }
69
+ }
70
+ }
71
+ //# sourceMappingURL=CustomElementReactionStack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomElementReactionStack.js","sourceRoot":"","sources":["../../src/custom-element/CustomElementReactionStack.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,oBAAoB,MAAM,mCAAmC,CAAC;AAErE;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,0BAA0B;IACtC,MAAM,CAAgB;IAE9B;;;;OAIG;IACH,YAAY,MAAqB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAED;;;;;;;;OAQG;IACI,eAAe,CAAC,OAAoB,EAAE,YAAoB,EAAE,IAAY;QAC9E,oEAAoE;QACpE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE/F,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,OAAO;QACR,CAAC;QAED,8IAA8I;QAC9I,0EAA0E;QAC1E,mIAAmI;QAEnI,QAAQ,YAAY,EAAE,CAAC;YACtB,KAAK,mBAAmB;gBACvB,IAAI,UAAU,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,CAAC;oBACrD,MAAM,WAAW,GAAG,UAAU,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAElF;;;;;uBAKG;oBACH,IAAI,WAAW,YAAY,OAAO,EAAE,CAAC;wBACpC,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,mBAAmB,EAAE,CAAC;wBACrF,IAAI,gBAAgB,EAAE,CAAC;4BACtB,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC;4BAC5C,WAAW;iCACT,IAAI,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;iCAC5C,KAAK,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;wBACjD,CAAC;oBACF,CAAC;gBACF,CAAC;gBACD,MAAM;YACP,KAAK,sBAAsB;gBAC1B,IAAI,UAAU,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,CAAC;oBACxD,UAAU,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClE,CAAC;gBACD,MAAM;YACP,KAAK,0BAA0B;gBAC9B,IACC,UAAU,CAAC,kBAAkB,CAAC,wBAAwB;oBACtD,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACzC,CAAC;oBACF,UAAU,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC7E,CAAC;gBACD,MAAM;QACR,CAAC;IACF,CAAC;CACD"}
@@ -2,17 +2,13 @@ import * as PropertySymbol from '../PropertySymbol.js';
2
2
  import HTMLElement from '../nodes/html-element/HTMLElement.js';
3
3
  import Node from '../nodes/node/Node.js';
4
4
  import BrowserWindow from '../window/BrowserWindow.js';
5
+ import ICustomElementDefinition from './ICustomElementDefinition.js';
5
6
  /**
6
7
  * Custom elements registry.
7
8
  */
8
9
  export default class CustomElementRegistry {
9
10
  #private;
10
- [PropertySymbol.registry]: {
11
- [k: string]: {
12
- elementClass: typeof HTMLElement;
13
- extends: string;
14
- };
15
- };
11
+ [PropertySymbol.registry]: Map<string, ICustomElementDefinition>;
16
12
  [PropertySymbol.classRegistry]: Map<typeof HTMLElement, string>;
17
13
  [PropertySymbol.callbacks]: Map<string, Array<() => void>>;
18
14
  [PropertySymbol.destroyed]: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"CustomElementRegistry.d.ts","sourceRoot":"","sources":["../../src/custom-element/CustomElementRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,IAAI,MAAM,uBAAuB,CAAC;AACzC,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAGvD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;;IAClC,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;QACjC,CAAC,CAAC,EAAE,MAAM,GAAG;YAAE,YAAY,EAAE,OAAO,WAAW,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KACnE,CAAM;IACA,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,OAAO,WAAW,EAAE,MAAM,CAAC,CAAa;IAC5E,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAa;IACvE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,CAAS;IAGnD;;;;OAIG;gBACS,MAAM,EAAE,aAAa;IAOjC;;;;;;;OAOG;IACI,MAAM,CACZ,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,OAAO,WAAW,EAChC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5B,IAAI;IAmDP;;;;;OAKG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,WAAW,GAAG,SAAS;IAIxD;;;;;;OAMG;IACI,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAIjC;;;;OAIG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B/C;;;;;OAKG;IACI,OAAO,CAAC,YAAY,EAAE,OAAO,WAAW,GAAG,MAAM,GAAG,IAAI;IAI/D;;OAEG;IACI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,IAAI;CA4CvC"}
1
+ {"version":3,"file":"CustomElementRegistry.d.ts","sourceRoot":"","sources":["../../src/custom-element/CustomElementRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,IAAI,MAAM,uBAAuB,CAAC;AACzC,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAIvD,OAAO,wBAAwB,MAAM,+BAA+B,CAAC;AAErE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;;IAClC,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAa;IAC7E,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,OAAO,WAAW,EAAE,MAAM,CAAC,CAAa;IAC5E,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAa;IACvE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,CAAS;IAGnD;;;;OAIG;gBACS,MAAM,EAAE,aAAa;IAOjC;;;;;;;OAOG;IACI,MAAM,CACZ,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,OAAO,WAAW,EAChC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5B,IAAI;IA8DP;;;;;OAKG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,WAAW,GAAG,SAAS;IAIxD;;;;;;OAMG;IACI,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAIjC;;;;OAIG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B/C;;;;;OAKG;IACI,OAAO,CAAC,YAAY,EAAE,OAAO,WAAW,GAAG,MAAM,GAAG,IAAI;IAI/D;;OAEG;IACI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,IAAI;CAavC"}
@@ -1,10 +1,12 @@
1
1
  import * as PropertySymbol from '../PropertySymbol.js';
2
2
  import NamespaceURI from '../config/NamespaceURI.js';
3
+ import StringUtility from '../utilities/StringUtility.js';
4
+ import CustomElementUtility from './CustomElementUtility.js';
3
5
  /**
4
6
  * Custom elements registry.
5
7
  */
6
8
  export default class CustomElementRegistry {
7
- [PropertySymbol.registry] = {};
9
+ [PropertySymbol.registry] = new Map();
8
10
  [PropertySymbol.classRegistry] = new Map();
9
11
  [PropertySymbol.callbacks] = new Map();
10
12
  [PropertySymbol.destroyed] = false;
@@ -32,28 +34,40 @@ export default class CustomElementRegistry {
32
34
  if (this[PropertySymbol.destroyed]) {
33
35
  return;
34
36
  }
35
- if (!this.#isValidCustomElementName(name)) {
37
+ if (!CustomElementUtility.isValidCustomElementName(name)) {
36
38
  throw new this.#window.DOMException(`Failed to execute 'define' on 'CustomElementRegistry': "${name}" is not a valid custom element name`);
37
39
  }
38
- if (this[PropertySymbol.registry][name]) {
40
+ if (this[PropertySymbol.registry].has(name)) {
39
41
  throw new this.#window.DOMException(`Failed to execute 'define' on 'CustomElementRegistry': the name "${name}" has already been used with this registry`);
40
42
  }
41
43
  if (this[PropertySymbol.classRegistry].has(elementClass)) {
42
44
  throw new this.#window.DOMException("Failed to execute 'define' on 'CustomElementRegistry': this constructor has already been used with this registry");
43
45
  }
44
- const tagName = name.toUpperCase();
46
+ const tagName = StringUtility.asciiUpperCase(name);
45
47
  elementClass.prototype[PropertySymbol.window] = this.#window;
46
48
  elementClass.prototype[PropertySymbol.ownerDocument] = this.#window.document;
47
49
  elementClass.prototype[PropertySymbol.tagName] = tagName;
48
50
  elementClass.prototype[PropertySymbol.localName] = name;
49
51
  elementClass.prototype[PropertySymbol.namespaceURI] = NamespaceURI.html;
50
- this[PropertySymbol.registry][name] = {
52
+ // ObservedAttributes should only be called once by CustomElementRegistry (see #117)
53
+ const observedAttributes = new Set();
54
+ const elementObservervedAttributes = elementClass.observedAttributes;
55
+ if (Array.isArray(elementObservervedAttributes)) {
56
+ for (const attribute of elementObservervedAttributes) {
57
+ observedAttributes.add(String(attribute).toLowerCase());
58
+ }
59
+ }
60
+ this[PropertySymbol.registry].set(name, {
51
61
  elementClass,
52
- extends: options && options.extends ? options.extends.toLowerCase() : null
53
- };
62
+ extends: options && options.extends ? options.extends.toLowerCase() : null,
63
+ observedAttributes,
64
+ livecycleCallbacks: {
65
+ connectedCallback: elementClass.prototype.connectedCallback,
66
+ disconnectedCallback: elementClass.prototype.disconnectedCallback,
67
+ attributeChangedCallback: elementClass.prototype.attributeChangedCallback
68
+ }
69
+ });
54
70
  this[PropertySymbol.classRegistry].set(elementClass, name);
55
- // ObservedAttributes should only be called once by CustomElementRegistry (see #117)
56
- elementClass[PropertySymbol.observedAttributes] = (elementClass.observedAttributes || []).map((name) => String(name).toLowerCase());
57
71
  const callbacks = this[PropertySymbol.callbacks].get(name);
58
72
  if (callbacks) {
59
73
  this[PropertySymbol.callbacks].delete(name);
@@ -69,7 +83,7 @@ export default class CustomElementRegistry {
69
83
  * @returns HTMLElement Class defined or undefined.
70
84
  */
71
85
  get(name) {
72
- return this[PropertySymbol.registry][name]?.elementClass;
86
+ return this[PropertySymbol.registry].get(name)?.elementClass;
73
87
  }
74
88
  /**
75
89
  * Upgrades a custom element directly, even before it is connected to its shadow root.
@@ -90,7 +104,7 @@ export default class CustomElementRegistry {
90
104
  if (this[PropertySymbol.destroyed]) {
91
105
  return Promise.reject(new this.#window.DOMException(`Failed to execute 'whenDefined' on 'CustomElementRegistry': The custom element registry has been destroyed.`));
92
106
  }
93
- if (!this.#isValidCustomElementName(name)) {
107
+ if (!CustomElementUtility.isValidCustomElementName(name)) {
94
108
  return Promise.reject(new this.#window.DOMException(`Failed to execute 'whenDefined' on 'CustomElementRegistry': Invalid custom element name: "${name}"`));
95
109
  }
96
110
  if (this.get(name)) {
@@ -120,43 +134,16 @@ export default class CustomElementRegistry {
120
134
  */
121
135
  [PropertySymbol.destroy]() {
122
136
  this[PropertySymbol.destroyed] = true;
123
- for (const entity of Object.values(this[PropertySymbol.registry])) {
124
- entity.elementClass.prototype[PropertySymbol.window] = null;
125
- entity.elementClass.prototype[PropertySymbol.ownerDocument] = null;
126
- entity.elementClass.prototype[PropertySymbol.tagName] = null;
127
- entity.elementClass.prototype[PropertySymbol.localName] = null;
128
- entity.elementClass.prototype[PropertySymbol.namespaceURI] = null;
137
+ for (const definition of this[PropertySymbol.registry].values()) {
138
+ definition.elementClass.prototype[PropertySymbol.window] = null;
139
+ definition.elementClass.prototype[PropertySymbol.ownerDocument] = null;
140
+ definition.elementClass.prototype[PropertySymbol.tagName] = null;
141
+ definition.elementClass.prototype[PropertySymbol.localName] = null;
142
+ definition.elementClass.prototype[PropertySymbol.namespaceURI] = null;
129
143
  }
130
- this[PropertySymbol.registry] = {};
144
+ this[PropertySymbol.registry] = new Map();
131
145
  this[PropertySymbol.classRegistry] = new Map();
132
146
  this[PropertySymbol.callbacks] = new Map();
133
147
  }
134
- /**
135
- * Validates the correctness of custom element tag names.
136
- *
137
- * @param name Custom element tag name.
138
- * @returns True, if tag name is standard compliant.
139
- */
140
- #isValidCustomElementName(name) {
141
- // Validation criteria based on:
142
- // https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name
143
- const PCENChar = '[-_.]|[0-9]|[a-z]|\u{B7}|[\u{C0}-\u{D6}]|[\u{D8}-\u{F6}]' +
144
- '|[\u{F8}-\u{37D}]|[\u{37F}-\u{1FFF}]' +
145
- '|[\u{200C}-\u{200D}]|[\u{203F}-\u{2040}]|[\u{2070}-\u{218F}]' +
146
- '|[\u{2C00}-\u{2FEF}]|[\u{3001}-\u{D7FF}]' +
147
- '|[\u{F900}-\u{FDCF}]|[\u{FDF0}-\u{FFFD}]|[\u{10000}-\u{EFFFF}]';
148
- const PCEN = new RegExp(`^[a-z](${PCENChar})*-(${PCENChar})*$`, 'u');
149
- const reservedNames = [
150
- 'annotation-xml',
151
- 'color-profile',
152
- 'font-face',
153
- 'font-face-src',
154
- 'font-face-uri',
155
- 'font-face-format',
156
- 'font-face-name',
157
- 'missing-glyph'
158
- ];
159
- return PCEN.test(name) && !reservedNames.includes(name);
160
- }
161
148
  }
162
149
  //# sourceMappingURL=CustomElementRegistry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomElementRegistry.js","sourceRoot":"","sources":["../../src/custom-element/CustomElementRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CustomElementRegistry.js","sourceRoot":"","sources":["../../src/custom-element/CustomElementRegistry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Custom element utility.
3
+ */
4
+ export default class CustomElementUtility {
5
+ /**
6
+ * Returns true if the tag name is a valid custom element name.
7
+ *
8
+ * @see https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name
9
+ * @param name Tag name.
10
+ * @returns True if valid.
11
+ */
12
+ static isValidCustomElementName(name: string): boolean;
13
+ }
14
+ //# sourceMappingURL=CustomElementUtility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomElementUtility.d.ts","sourceRoot":"","sources":["../../src/custom-element/CustomElementUtility.ts"],"names":[],"mappings":"AAmBA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACxC;;;;;;OAMG;WACW,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAG7D"}
@@ -0,0 +1,32 @@
1
+ const PCEN_CHAR = '[-_.]|[0-9]|[a-z]|\u{B7}|[\u{C0}-\u{D6}]|[\u{D8}-\u{F6}]' +
2
+ '|[\u{F8}-\u{37D}]|[\u{37F}-\u{1FFF}]' +
3
+ '|[\u{200C}-\u{200D}]|[\u{203F}-\u{2040}]|[\u{2070}-\u{218F}]' +
4
+ '|[\u{2C00}-\u{2FEF}]|[\u{3001}-\u{D7FF}]' +
5
+ '|[\u{F900}-\u{FDCF}]|[\u{FDF0}-\u{FFFD}]|[\u{10000}-\u{EFFFF}]';
6
+ const PCEN_REGEXP = new RegExp(`^[a-z](${PCEN_CHAR})*-(${PCEN_CHAR})*$`, 'u');
7
+ const RESERVED_NAMES = [
8
+ 'annotation-xml',
9
+ 'color-profile',
10
+ 'font-face',
11
+ 'font-face-src',
12
+ 'font-face-uri',
13
+ 'font-face-format',
14
+ 'font-face-name',
15
+ 'missing-glyph'
16
+ ];
17
+ /**
18
+ * Custom element utility.
19
+ */
20
+ export default class CustomElementUtility {
21
+ /**
22
+ * Returns true if the tag name is a valid custom element name.
23
+ *
24
+ * @see https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name
25
+ * @param name Tag name.
26
+ * @returns True if valid.
27
+ */
28
+ static isValidCustomElementName(name) {
29
+ return PCEN_REGEXP.test(name) && !RESERVED_NAMES.includes(name);
30
+ }
31
+ }
32
+ //# sourceMappingURL=CustomElementUtility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomElementUtility.js","sourceRoot":"","sources":["../../src/custom-element/CustomElementUtility.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GACd,0DAA0D;IAC1D,sCAAsC;IACtC,8DAA8D;IAC9D,0CAA0C;IAC1C,gEAAgE,CAAC;AAElE,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,UAAU,SAAS,OAAO,SAAS,KAAK,EAAE,GAAG,CAAC,CAAC;AAC9E,MAAM,cAAc,GAAG;IACtB,gBAAgB;IAChB,eAAe;IACf,WAAW;IACX,eAAe;IACf,eAAe;IACf,kBAAkB;IAClB,gBAAgB;IAChB,eAAe;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACxC;;;;;;OAMG;IACI,MAAM,CAAC,wBAAwB,CAAC,IAAY;QAClD,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;CACD"}
@@ -0,0 +1,12 @@
1
+ import HTMLElement from '../nodes/html-element/HTMLElement.js';
2
+ export default interface ICustomElementDefinition {
3
+ elementClass: typeof HTMLElement;
4
+ extends: string;
5
+ observedAttributes: Set<string>;
6
+ livecycleCallbacks: {
7
+ connectedCallback: () => void;
8
+ disconnectedCallback: () => void;
9
+ attributeChangedCallback: (name: string, oldValue: string | null, newValue: string | null) => void;
10
+ };
11
+ }
12
+ //# sourceMappingURL=ICustomElementDefinition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICustomElementDefinition.d.ts","sourceRoot":"","sources":["../../src/custom-element/ICustomElementDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAE/D,MAAM,CAAC,OAAO,WAAW,wBAAwB;IAChD,YAAY,EAAE,OAAO,WAAW,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,kBAAkB,EAAE;QACnB,iBAAiB,EAAE,MAAM,IAAI,CAAC;QAC9B,oBAAoB,EAAE,MAAM,IAAI,CAAC;QACjC,wBAAwB,EAAE,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,KACnB,IAAI,CAAC;KACV,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ICustomElementDefinition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICustomElementDefinition.js","sourceRoot":"","sources":["../../src/custom-element/ICustomElementDefinition.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"DOMStringMap.d.ts","sourceRoot":"","sources":["../../src/dom/DOMStringMap.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAIlD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtB;;;;;OAKG;gBACS,wBAAwB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAuE9D"}
1
+ {"version":3,"file":"DOMStringMap.d.ts","sourceRoot":"","sources":["../../src/dom/DOMStringMap.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAIlD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtB;;;;;OAKG;gBACS,wBAAwB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAyE9D"}
@@ -21,9 +21,9 @@ export default class DOMStringMap {
21
21
  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy
22
22
  return new Proxy(this, {
23
23
  get(_target, property) {
24
- const attribute = element[PropertySymbol.attributes][PropertySymbol.namedItems].get('data-' + DOMStringMapUtility.camelCaseToKebab(property));
24
+ const attribute = element.getAttribute('data-' + DOMStringMapUtility.camelCaseToKebab(property));
25
25
  if (attribute) {
26
- return attribute[PropertySymbol.value];
26
+ return attribute;
27
27
  }
28
28
  },
29
29
  set(_target, property, value) {
@@ -39,15 +39,15 @@ export default class DOMStringMap {
39
39
  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/ownKeys
40
40
  // "The result List must contain the keys of all non-configurable own properties of the target object."
41
41
  const keys = [];
42
- for (const item of element[PropertySymbol.attributes][PropertySymbol.namedItems].values()) {
43
- if (item[PropertySymbol.name].startsWith('data-')) {
44
- keys.push(DOMStringMapUtility.kebabToCamelCase(item[PropertySymbol.name].replace('data-', '')));
42
+ for (const items of element[PropertySymbol.attributes][PropertySymbol.namedItems].values()) {
43
+ if (items[0][PropertySymbol.name].startsWith('data-')) {
44
+ keys.push(DOMStringMapUtility.kebabToCamelCase(items[0][PropertySymbol.name].replace('data-', '')));
45
45
  }
46
46
  }
47
47
  return keys;
48
48
  },
49
49
  has(_target, property) {
50
- return element[PropertySymbol.attributes][PropertySymbol.namedItems].has('data-' + DOMStringMapUtility.camelCaseToKebab(property));
50
+ return element.hasAttribute('data-' + DOMStringMapUtility.camelCaseToKebab(property));
51
51
  },
52
52
  defineProperty(_target, property, descriptor) {
53
53
  if (descriptor.value === undefined) {
@@ -57,12 +57,12 @@ export default class DOMStringMap {
57
57
  return true;
58
58
  },
59
59
  getOwnPropertyDescriptor(_target, property) {
60
- const attribute = element[PropertySymbol.attributes][PropertySymbol.namedItems].get('data-' + DOMStringMapUtility.camelCaseToKebab(property));
60
+ const attribute = element.getAttribute('data-' + DOMStringMapUtility.camelCaseToKebab(property));
61
61
  if (!attribute) {
62
62
  return;
63
63
  }
64
64
  return {
65
- value: attribute[PropertySymbol.value],
65
+ value: attribute,
66
66
  writable: true,
67
67
  enumerable: true,
68
68
  configurable: true
@@ -1 +1 @@
1
- {"version":3,"file":"DOMStringMap.js","sourceRoot":"","sources":["../../src/dom/DOMStringMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DOMStringMap.js","sourceRoot":"","sources":["../../src/dom/DOMStringMap.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import ClassMethodBinder from '../ClassMethodBinder.js';
1
+ import ClassMethodBinder from '../utilities/ClassMethodBinder.js';
2
2
  import * as PropertySymbol from '../PropertySymbol.js';
3
3
  const ATTRIBUTE_SPLIT_REGEXP = /[\t\f\n\r ]+/;
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DOMTokenList.js","sourceRoot":"","sources":["../../src/dom/DOMTokenList.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AAExD,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAEvD,MAAM,sBAAsB,GAAG,cAAc,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAGxB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAU;IACvC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAS;IACvC,CAAC,cAAc,CAAC,KAAK,CAAC,GAAgD;QAC7E,KAAK,EAAE,EAAE;QACT,cAAc,EAAE,EAAE;KAClB,CAAC;IAEF;;;;;;OAMG;IACH,YAAY,wBAAgC,EAAE,YAAqB,EAAE,aAAqB;QACzF,IAAI,wBAAwB,KAAK,cAAc,CAAC,kBAAkB,EAAE,CAAC;YACpE,MAAM,IAAI,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;QAEnD,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAEjE,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;YACtB,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBACzB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAC3B,OAAO,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC;gBACrD,CAAC;gBACD,IAAI,QAAQ,IAAI,MAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACxD,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzB,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnB,OAAO,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;gBACrD,CAAC;YACF,CAAC;YACD,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;gBAC7B,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAClC,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;oBAC5B,OAAO,IAAI,CAAC;gBACb,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/B,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClB,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;gBAC7B,CAAC;gBACD,OAAO,IAAI,CAAC;YACb,CAAC;YACD,cAAc,CAAC,MAAM,EAAE,QAAQ;gBAC9B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAClC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACxB,OAAO,IAAI,CAAC;gBACb,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/B,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzB,CAAC;gBACD,OAAO,IAAI,CAAC;YACb,CAAC;YACD,OAAO,CAAC,MAAM;gBACb,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,GAAG,CAAC,MAAM,EAAE,QAAQ;gBACnB,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;oBACxB,OAAO,IAAI,CAAC;gBACb,CAAC;gBAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAClC,OAAO,KAAK,CAAC;gBACd,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC;YAC5F,CAAC;YACD,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU;gBAC1C,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAEtC,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;oBACxB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;oBACpD,OAAO,IAAI,CAAC;gBACb,CAAC;gBAED,OAAO,KAAK,CAAC;YACd,CAAC;YACD,wBAAwB,CAAC,MAAM,EAAE,QAAQ;gBACxC,IAAI,QAAQ,IAAI,MAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACxD,OAAO;gBACR,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;gBAEpD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnC,OAAO;wBACN,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;wBACnB,QAAQ,EAAE,KAAK;wBACf,UAAU,EAAE,IAAI;wBAChB,YAAY,EAAE,IAAI;qBAClB,CAAC;gBACH,CAAC;YACF,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK,CAAC,KAAa;QAC7B,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3F,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED;;OAEG;IACI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;IAED;;;;SAIK;IACE,IAAI,CAAC,KAAsB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;QAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,CAAC;QACD,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACtB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACjC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACI,OAAO,CAAC,KAAa,EAAE,QAAgB;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,YAAY,CAC7C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,MAAc;QAC7B,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;OAEG;IACI,MAAM;QACZ,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACI,OAAO;QACb,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACI,OAAO,CAAC,QAAuD,EAAE,OAAc;QACrF,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAED;;;OAGG;IACI,IAAI;QACV,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,GAAG,MAAgB;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;QAEjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;YACrB,CAAC;QACF,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,YAAY,CAC7C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,GAAG,MAAgB;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;QAEjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACvB,CAAC;QACF,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,YAAY,CAC7C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,SAAiB;QAChC,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,KAAa,EAAE,KAAe;QAC3C,IAAI,SAAkB,CAAC;QAEvB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,SAAS,GAAG,KAAK,CAAC;QACnB,CAAC;aAAM,CAAC;YACP,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChB,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEnB,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,CAAC,cAAc,CAAC,YAAY,CAAC;QACnC,MAAM,cAAc,GACnB,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;QAE1F,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAEzC,IAAI,KAAK,CAAC,cAAc,KAAK,cAAc,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAC,KAAK,CAAC;QACpB,CAAC;QAED,qIAAqI;QACrI,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;QAEtC,IAAI,OAAO,EAAE,CAAC;YACb,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;YACF,CAAC;QACF,CAAC;QAED,KAAK,CAAC,cAAc,GAAG,cAAc,CAAC;QACtC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAEpB,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;OAEG;IACI,QAAQ;QACd,OAAO,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IACzB,CAAC;CACD"}
1
+ {"version":3,"file":"DOMTokenList.js","sourceRoot":"","sources":["../../src/dom/DOMTokenList.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,6 @@ import BrowserWindow from '../window/BrowserWindow.js';
8
8
  * https://developer.mozilla.org/en-US/docs/Web/API/DOMParser.
9
9
  */
10
10
  export default class DOMParser {
11
- #private;
12
11
  protected [PropertySymbol.window]: BrowserWindow;
13
12
  /**
14
13
  * Parses HTML and returns a root element.
@@ -1 +1 @@
1
- {"version":3,"file":"DOMParser.d.ts","sourceRoot":"","sources":["../../src/dom-parser/DOMParser.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,+BAA+B,CAAC;AACrD,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAGvD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAGvD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;;IAE7B,UAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAEzD;;;;;;OAMG;IACI,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ;CA4FlE"}
1
+ {"version":3,"file":"DOMParser.d.ts","sourceRoot":"","sources":["../../src/dom-parser/DOMParser.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,+BAA+B,CAAC;AACrD,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAEvD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAGvD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAE7B,UAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAEzD;;;;;;OAMG;IACI,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ;CAuBlE"}
@@ -1,6 +1,6 @@
1
1
  import * as PropertySymbol from '../PropertySymbol.js';
2
2
  import XMLParser from '../xml-parser/XMLParser.js';
3
- import NodeTypeEnum from '../nodes/node/NodeTypeEnum.js';
3
+ import HTMLParser from '../html-parser/HTMLParser.js';
4
4
  /**
5
5
  * DOM parser.
6
6
  *
@@ -19,79 +19,17 @@ export default class DOMParser {
19
19
  if (!mimeType) {
20
20
  throw new this[PropertySymbol.window].DOMException('Second parameter "mimeType" is mandatory.');
21
21
  }
22
- const newDocument = this.#createDocument(mimeType);
23
- const documentChildNodes = newDocument[PropertySymbol.nodeArray];
24
- while (documentChildNodes.length) {
25
- newDocument.removeChild(documentChildNodes[0]);
26
- }
27
- const root = XMLParser.parse(newDocument, string, { evaluateScripts: true });
28
- let documentElement = null;
29
- let documentTypeNode = null;
30
- for (const node of root[PropertySymbol.nodeArray]) {
31
- if (node['tagName'] === 'HTML') {
32
- documentElement = node;
33
- }
34
- else if (node[PropertySymbol.nodeType] === NodeTypeEnum.documentTypeNode) {
35
- documentTypeNode = node;
36
- }
37
- if (documentElement && documentTypeNode) {
38
- break;
39
- }
40
- }
41
- if (documentElement) {
42
- if (documentTypeNode) {
43
- newDocument.appendChild(documentTypeNode);
44
- }
45
- newDocument.appendChild(documentElement);
46
- const body = newDocument.body;
47
- if (body) {
48
- while (root[PropertySymbol.nodeArray].length) {
49
- body.appendChild(root[PropertySymbol.nodeArray][0]);
50
- }
51
- }
52
- }
53
- else {
54
- switch (mimeType) {
55
- case 'image/svg+xml':
56
- {
57
- while (root[PropertySymbol.nodeArray].length) {
58
- newDocument.appendChild(root[PropertySymbol.nodeArray][0]);
59
- }
60
- }
61
- break;
62
- case 'text/html':
63
- default:
64
- {
65
- const documentElement = newDocument.createElement('html');
66
- const bodyElement = newDocument.createElement('body');
67
- const headElement = newDocument.createElement('head');
68
- documentElement.appendChild(headElement);
69
- documentElement.appendChild(bodyElement);
70
- newDocument.appendChild(documentElement);
71
- while (root[PropertySymbol.nodeArray].length) {
72
- bodyElement.appendChild(root[PropertySymbol.nodeArray][0]);
73
- }
74
- }
75
- break;
76
- }
77
- }
78
- return newDocument;
79
- }
80
- /**
81
- *
82
- * @param mimeType Mime type.
83
- * @returns Document.
84
- */
85
- #createDocument(mimeType) {
86
22
  const window = this[PropertySymbol.window];
87
23
  switch (mimeType) {
88
24
  case 'text/html':
89
- return new window.HTMLDocument();
25
+ const newDocument = new window.HTMLDocument();
26
+ newDocument[PropertySymbol.defaultView] = window;
27
+ return new HTMLParser(this[PropertySymbol.window]).parse(string, newDocument);
90
28
  case 'image/svg+xml':
91
29
  case 'text/xml':
92
30
  case 'application/xml':
93
31
  case 'application/xhtml+xml':
94
- return new window.XMLDocument();
32
+ return new XMLParser(this[PropertySymbol.window]).parse(string);
95
33
  default:
96
34
  throw new window.DOMException(`Unknown mime type "${mimeType}".`);
97
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DOMParser.js","sourceRoot":"","sources":["../../src/dom-parser/DOMParser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,SAAS,MAAM,4BAA4B,CAAC;AAGnD,OAAO,YAAY,MAAM,+BAA+B,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAI7B;;;;;;OAMG;IACI,eAAe,CAAC,MAAc,EAAE,QAAgB;QACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,YAAY,CACjD,2CAA2C,CAC3C,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAa,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,kBAAkB,GAAG,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAEjE,OAAO,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAClC,WAAW,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,IAAI,GAAqB,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/F,IAAI,eAAe,GAAG,IAAI,CAAC;QAC3B,IAAI,gBAAgB,GAAG,IAAI,CAAC;QAE5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,MAAM,EAAE,CAAC;gBAChC,eAAe,GAAG,IAAI,CAAC;YACxB,CAAC;iBAAM,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,YAAY,CAAC,gBAAgB,EAAE,CAAC;gBAC5E,gBAAgB,GAAG,IAAI,CAAC;YACzB,CAAC;YAED,IAAI,eAAe,IAAI,gBAAgB,EAAE,CAAC;gBACzC,MAAM;YACP,CAAC;QACF,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACrB,IAAI,gBAAgB,EAAE,CAAC;gBACtB,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;YAC3C,CAAC;YACD,WAAW,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;YAC9B,IAAI,IAAI,EAAE,CAAC;gBACV,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;oBAC9C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,CAAC;YACF,CAAC;QACF,CAAC;aAAM,CAAC;YACP,QAAQ,QAAQ,EAAE,CAAC;gBAClB,KAAK,eAAe;oBACnB,CAAC;wBACA,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;4BAC9C,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC5D,CAAC;oBACF,CAAC;oBACD,MAAM;gBACP,KAAK,WAAW,CAAC;gBACjB;oBACC,CAAC;wBACA,MAAM,eAAe,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;wBAC1D,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;wBACtD,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;wBAEtD,eAAe,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;wBACzC,eAAe,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;wBACzC,WAAW,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;wBAEzC,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;4BAC9C,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC5D,CAAC;oBACF,CAAC;oBACD,MAAM;YACR,CAAC;QACF,CAAC;QAED,OAAO,WAAW,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,QAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE3C,QAAQ,QAAQ,EAAE,CAAC;YAClB,KAAK,WAAW;gBACf,OAAO,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YAClC,KAAK,eAAe,CAAC;YACrB,KAAK,UAAU,CAAC;YAChB,KAAK,iBAAiB,CAAC;YACvB,KAAK,uBAAuB;gBAC3B,OAAO,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACjC;gBACC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,sBAAsB,QAAQ,IAAI,CAAC,CAAC;QACpE,CAAC;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"DOMParser.js","sourceRoot":"","sources":["../../src/dom-parser/DOMParser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,SAAS,MAAM,4BAA4B,CAAC;AAEnD,OAAO,UAAU,MAAM,8BAA8B,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAI7B;;;;;;OAMG;IACI,eAAe,CAAC,MAAc,EAAE,QAAgB;QACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,YAAY,CACjD,2CAA2C,CAC3C,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE3C,QAAQ,QAAQ,EAAE,CAAC;YAClB,KAAK,WAAW;gBACf,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC9C,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;gBACjD,OAAiB,IAAI,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACzF,KAAK,eAAe,CAAC;YACrB,KAAK,UAAU,CAAC;YAChB,KAAK,iBAAiB,CAAC;YACvB,KAAK,uBAAuB;gBAC3B,OAAiB,IAAI,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3E;gBACC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,sBAAsB,QAAQ,IAAI,CAAC,CAAC;QACpE,CAAC;IACF,CAAC;CACD"}
@@ -16,7 +16,8 @@ declare enum DOMExceptionNameEnum {
16
16
  abortError = "AbortError",
17
17
  timeoutError = "TimeoutError",
18
18
  encodingError = "EncodingError",
19
- uriMismatchError = "URIMismatchError"
19
+ uriMismatchError = "URIMismatchError",
20
+ inUseAttributeError = "InUseAttributeError"
20
21
  }
21
22
  export default DOMExceptionNameEnum;
22
23
  //# sourceMappingURL=DOMExceptionNameEnum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DOMExceptionNameEnum.d.ts","sourceRoot":"","sources":["../../src/exception/DOMExceptionNameEnum.ts"],"names":[],"mappings":"AAAA,aAAK,oBAAoB;IACxB,iBAAiB,sBAAsB;IACvC,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,qBAAqB,0BAA0B;IAC/C,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,qBAAqB,0BAA0B;IAC/C,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,kBAAkB,uBAAuB;IACzC,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;CACrC;AACD,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"DOMExceptionNameEnum.d.ts","sourceRoot":"","sources":["../../src/exception/DOMExceptionNameEnum.ts"],"names":[],"mappings":"AAAA,aAAK,oBAAoB;IACxB,iBAAiB,sBAAsB;IACvC,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,qBAAqB,0BAA0B;IAC/C,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,qBAAqB,0BAA0B;IAC/C,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,kBAAkB,uBAAuB;IACzC,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,mBAAmB,wBAAwB;CAC3C;AACD,eAAe,oBAAoB,CAAC"}
@@ -18,6 +18,7 @@ var DOMExceptionNameEnum;
18
18
  DOMExceptionNameEnum["timeoutError"] = "TimeoutError";
19
19
  DOMExceptionNameEnum["encodingError"] = "EncodingError";
20
20
  DOMExceptionNameEnum["uriMismatchError"] = "URIMismatchError";
21
+ DOMExceptionNameEnum["inUseAttributeError"] = "InUseAttributeError";
21
22
  })(DOMExceptionNameEnum || (DOMExceptionNameEnum = {}));
22
23
  export default DOMExceptionNameEnum;
23
24
  //# sourceMappingURL=DOMExceptionNameEnum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DOMExceptionNameEnum.js","sourceRoot":"","sources":["../../src/exception/DOMExceptionNameEnum.ts"],"names":[],"mappings":"AAAA,IAAK,oBAmBJ;AAnBD,WAAK,oBAAoB;IACxB,+DAAuC,CAAA;IACvC,yDAAiC,CAAA;IACjC,mDAA2B,CAAA;IAC3B,uEAA+C,CAAA;IAC/C,+DAAuC,CAAA;IACvC,iEAAyC,CAAA;IACzC,qEAA6C,CAAA;IAC7C,uEAA+C,CAAA;IAC/C,uDAA+B,CAAA;IAC/B,uDAA+B,CAAA;IAC/B,qDAA6B,CAAA;IAC7B,qDAA6B,CAAA;IAC7B,iEAAyC,CAAA;IACzC,qDAA6B,CAAA;IAC7B,iDAAyB,CAAA;IACzB,qDAA6B,CAAA;IAC7B,uDAA+B,CAAA;IAC/B,6DAAqC,CAAA;AACtC,CAAC,EAnBI,oBAAoB,KAApB,oBAAoB,QAmBxB;AACD,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"DOMExceptionNameEnum.js","sourceRoot":"","sources":["../../src/exception/DOMExceptionNameEnum.ts"],"names":[],"mappings":"AAAA,IAAK,oBAoBJ;AApBD,WAAK,oBAAoB;IACxB,+DAAuC,CAAA;IACvC,yDAAiC,CAAA;IACjC,mDAA2B,CAAA;IAC3B,uEAA+C,CAAA;IAC/C,+DAAuC,CAAA;IACvC,iEAAyC,CAAA;IACzC,qEAA6C,CAAA;IAC7C,uEAA+C,CAAA;IAC/C,uDAA+B,CAAA;IAC/B,uDAA+B,CAAA;IAC/B,qDAA6B,CAAA;IAC7B,qDAA6B,CAAA;IAC7B,iEAAyC,CAAA;IACzC,qDAA6B,CAAA;IAC7B,iDAAyB,CAAA;IACzB,qDAA6B,CAAA;IAC7B,uDAA+B,CAAA;IAC/B,6DAAqC,CAAA;IACrC,mEAA2C,CAAA;AAC5C,CAAC,EApBI,oBAAoB,KAApB,oBAAoB,QAoBxB;AACD,eAAe,oBAAoB,CAAC"}