happy-dom 15.11.7 → 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 (476) 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/config/HTMLElementConfig.cjs +42 -16
  6. package/cjs/config/HTMLElementConfig.cjs.map +1 -1
  7. package/cjs/config/HTMLElementConfig.d.ts +7 -0
  8. package/cjs/config/HTMLElementConfig.d.ts.map +1 -1
  9. package/cjs/config/HTMLElementConfigContentModelEnum.cjs +3 -0
  10. package/cjs/config/HTMLElementConfigContentModelEnum.cjs.map +1 -1
  11. package/cjs/config/HTMLElementConfigContentModelEnum.d.ts +3 -0
  12. package/cjs/config/HTMLElementConfigContentModelEnum.d.ts.map +1 -1
  13. package/cjs/config/NamespaceURI.cjs +2 -0
  14. package/cjs/config/NamespaceURI.cjs.map +1 -1
  15. package/cjs/config/NamespaceURI.d.ts +2 -0
  16. package/cjs/config/NamespaceURI.d.ts.map +1 -1
  17. package/cjs/css/declaration/CSSStyleDeclaration.cjs +1 -1
  18. package/cjs/css/declaration/CSSStyleDeclaration.cjs.map +1 -1
  19. package/cjs/css/declaration/CSSStyleDeclaration.d.ts.map +1 -1
  20. package/cjs/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.cjs +2 -2
  21. package/cjs/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.cjs.map +1 -1
  22. package/cjs/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.d.ts.map +1 -1
  23. package/cjs/custom-element/CustomElementReactionStack.cjs +100 -0
  24. package/cjs/custom-element/CustomElementReactionStack.cjs.map +1 -0
  25. package/cjs/custom-element/CustomElementReactionStack.d.ts +27 -0
  26. package/cjs/custom-element/CustomElementReactionStack.d.ts.map +1 -0
  27. package/cjs/custom-element/CustomElementRegistry.cjs +32 -45
  28. package/cjs/custom-element/CustomElementRegistry.cjs.map +1 -1
  29. package/cjs/custom-element/CustomElementRegistry.d.ts +2 -6
  30. package/cjs/custom-element/CustomElementRegistry.d.ts.map +1 -1
  31. package/cjs/custom-element/CustomElementUtility.cjs +35 -0
  32. package/cjs/custom-element/CustomElementUtility.cjs.map +1 -0
  33. package/cjs/custom-element/CustomElementUtility.d.ts +14 -0
  34. package/cjs/custom-element/CustomElementUtility.d.ts.map +1 -0
  35. package/cjs/custom-element/ICustomElementDefinition.cjs +3 -0
  36. package/cjs/custom-element/ICustomElementDefinition.cjs.map +1 -0
  37. package/cjs/custom-element/ICustomElementDefinition.d.ts +12 -0
  38. package/cjs/custom-element/ICustomElementDefinition.d.ts.map +1 -0
  39. package/cjs/dom/DOMStringMap.cjs +8 -8
  40. package/cjs/dom/DOMStringMap.cjs.map +1 -1
  41. package/cjs/dom/DOMStringMap.d.ts.map +1 -1
  42. package/cjs/dom/DOMTokenList.cjs +1 -1
  43. package/cjs/dom/DOMTokenList.cjs.map +1 -1
  44. package/cjs/dom-parser/DOMParser.cjs +5 -67
  45. package/cjs/dom-parser/DOMParser.cjs.map +1 -1
  46. package/cjs/dom-parser/DOMParser.d.ts +0 -1
  47. package/cjs/dom-parser/DOMParser.d.ts.map +1 -1
  48. package/cjs/exception/DOMExceptionNameEnum.cjs +1 -0
  49. package/cjs/exception/DOMExceptionNameEnum.cjs.map +1 -1
  50. package/cjs/exception/DOMExceptionNameEnum.d.ts +2 -1
  51. package/cjs/exception/DOMExceptionNameEnum.d.ts.map +1 -1
  52. package/cjs/history/History.cjs +6 -6
  53. package/cjs/history/History.cjs.map +1 -1
  54. package/cjs/html-parser/HTMLParser.cjs +726 -0
  55. package/cjs/html-parser/HTMLParser.cjs.map +1 -0
  56. package/cjs/html-parser/HTMLParser.d.ts +91 -0
  57. package/cjs/html-parser/HTMLParser.d.ts.map +1 -0
  58. package/cjs/html-serializer/HTMLSerializer.cjs +152 -0
  59. package/cjs/html-serializer/HTMLSerializer.cjs.map +1 -0
  60. package/cjs/html-serializer/HTMLSerializer.d.ts +36 -0
  61. package/cjs/html-serializer/HTMLSerializer.d.ts.map +1 -0
  62. package/cjs/nodes/document/Document.cjs +105 -121
  63. package/cjs/nodes/document/Document.cjs.map +1 -1
  64. package/cjs/nodes/document/Document.d.ts +8 -0
  65. package/cjs/nodes/document/Document.d.ts.map +1 -1
  66. package/cjs/nodes/element/Element.cjs +35 -53
  67. package/cjs/nodes/element/Element.cjs.map +1 -1
  68. package/cjs/nodes/element/Element.d.ts +2 -12
  69. package/cjs/nodes/element/Element.d.ts.map +1 -1
  70. package/cjs/nodes/element/HTMLCollection.cjs +5 -9
  71. package/cjs/nodes/element/HTMLCollection.cjs.map +1 -1
  72. package/cjs/nodes/element/HTMLCollection.d.ts.map +1 -1
  73. package/cjs/nodes/element/NamedNodeMap.cjs +39 -52
  74. package/cjs/nodes/element/NamedNodeMap.cjs.map +1 -1
  75. package/cjs/nodes/element/NamedNodeMap.d.ts +1 -16
  76. package/cjs/nodes/element/NamedNodeMap.d.ts.map +1 -1
  77. package/cjs/nodes/element/NamedNodeMapProxyFactory.cjs +12 -14
  78. package/cjs/nodes/element/NamedNodeMapProxyFactory.cjs.map +1 -1
  79. package/cjs/nodes/element/NamedNodeMapProxyFactory.d.ts.map +1 -1
  80. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs +1 -1
  81. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs.map +1 -1
  82. package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  83. package/cjs/nodes/html-document/HTMLDocument.cjs +33 -2
  84. package/cjs/nodes/html-document/HTMLDocument.cjs.map +1 -1
  85. package/cjs/nodes/html-document/HTMLDocument.d.ts +10 -0
  86. package/cjs/nodes/html-document/HTMLDocument.d.ts.map +1 -1
  87. package/cjs/nodes/html-element/HTMLElement.cjs +52 -22
  88. package/cjs/nodes/html-element/HTMLElement.cjs.map +1 -1
  89. package/cjs/nodes/html-element/HTMLElement.d.ts +34 -0
  90. package/cjs/nodes/html-element/HTMLElement.d.ts.map +1 -1
  91. package/cjs/nodes/html-field-set-element/HTMLFieldSetElement.cjs +1 -1
  92. package/cjs/nodes/html-field-set-element/HTMLFieldSetElement.cjs.map +1 -1
  93. package/cjs/nodes/html-field-set-element/HTMLFieldSetElement.d.ts.map +1 -1
  94. package/cjs/nodes/html-form-element/HTMLFormElement.cjs +5 -8
  95. package/cjs/nodes/html-form-element/HTMLFormElement.cjs.map +1 -1
  96. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  97. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs +1 -1
  98. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs.map +1 -1
  99. package/cjs/nodes/html-input-element/HTMLInputElement.cjs +1 -1
  100. package/cjs/nodes/html-input-element/HTMLInputElement.cjs.map +1 -1
  101. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  102. package/cjs/nodes/html-media-element/TextTrackList.cjs +1 -1
  103. package/cjs/nodes/html-media-element/TextTrackList.cjs.map +1 -1
  104. package/cjs/nodes/html-object-element/HTMLObjectElement.cjs +1 -1
  105. package/cjs/nodes/html-object-element/HTMLObjectElement.cjs.map +1 -1
  106. package/cjs/nodes/html-object-element/HTMLObjectElement.d.ts.map +1 -1
  107. package/cjs/nodes/html-output-element/HTMLOutputElement.cjs +1 -1
  108. package/cjs/nodes/html-output-element/HTMLOutputElement.cjs.map +1 -1
  109. package/cjs/nodes/html-output-element/HTMLOutputElement.d.ts.map +1 -1
  110. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs +3 -1
  111. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs.map +1 -1
  112. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  113. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs +2 -2
  114. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs.map +1 -1
  115. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  116. package/cjs/nodes/html-table-element/HTMLTableElement.cjs +9 -1
  117. package/cjs/nodes/html-table-element/HTMLTableElement.cjs.map +1 -1
  118. package/cjs/nodes/html-table-element/HTMLTableElement.d.ts.map +1 -1
  119. package/cjs/nodes/html-table-row-element/HTMLTableRowElement.cjs +1 -1
  120. package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs +15 -17
  121. package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs.map +1 -1
  122. package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts +2 -2
  123. package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
  124. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs +1 -1
  125. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs.map +1 -1
  126. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  127. package/cjs/nodes/node/Node.cjs +44 -48
  128. package/cjs/nodes/node/Node.cjs.map +1 -1
  129. package/cjs/nodes/node/Node.d.ts +2 -10
  130. package/cjs/nodes/node/Node.d.ts.map +1 -1
  131. package/cjs/nodes/node/NodeList.cjs +1 -1
  132. package/cjs/nodes/node/NodeList.cjs.map +1 -1
  133. package/cjs/nodes/node/NodeUtility.cjs +4 -3
  134. package/cjs/nodes/node/NodeUtility.cjs.map +1 -1
  135. package/cjs/nodes/node/NodeUtility.d.ts.map +1 -1
  136. package/cjs/nodes/parent-node/ParentNodeUtility.cjs +5 -2
  137. package/cjs/nodes/parent-node/ParentNodeUtility.cjs.map +1 -1
  138. package/cjs/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
  139. package/cjs/nodes/shadow-root/ShadowRoot.cjs +8 -8
  140. package/cjs/nodes/shadow-root/ShadowRoot.cjs.map +1 -1
  141. package/cjs/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
  142. package/cjs/nodes/xml-document/XMLDocument.cjs +26 -0
  143. package/cjs/nodes/xml-document/XMLDocument.cjs.map +1 -1
  144. package/cjs/nodes/xml-document/XMLDocument.d.ts +2 -0
  145. package/cjs/nodes/xml-document/XMLDocument.d.ts.map +1 -1
  146. package/cjs/query-selector/SelectorItem.cjs +1 -2
  147. package/cjs/query-selector/SelectorItem.cjs.map +1 -1
  148. package/cjs/query-selector/SelectorItem.d.ts.map +1 -1
  149. package/cjs/range/Range.cjs +3 -3
  150. package/cjs/range/Range.cjs.map +1 -1
  151. package/cjs/range/Range.d.ts.map +1 -1
  152. package/cjs/storage/Storage.cjs +1 -1
  153. package/cjs/storage/Storage.cjs.map +1 -1
  154. package/cjs/svg/SVGLengthList.cjs +1 -1
  155. package/cjs/svg/SVGLengthList.cjs.map +1 -1
  156. package/cjs/svg/SVGNumberList.cjs +1 -1
  157. package/cjs/svg/SVGNumberList.cjs.map +1 -1
  158. package/cjs/svg/SVGPointList.cjs +1 -1
  159. package/cjs/svg/SVGPointList.cjs.map +1 -1
  160. package/cjs/svg/SVGStringList.cjs +1 -1
  161. package/cjs/svg/SVGStringList.cjs.map +1 -1
  162. package/cjs/svg/SVGTransformList.cjs +1 -1
  163. package/cjs/svg/SVGTransformList.cjs.map +1 -1
  164. package/cjs/tree-walker/NodeIterator.cjs +63 -6
  165. package/cjs/tree-walker/NodeIterator.cjs.map +1 -1
  166. package/cjs/tree-walker/NodeIterator.d.ts +18 -3
  167. package/cjs/tree-walker/NodeIterator.d.ts.map +1 -1
  168. package/cjs/tree-walker/TreeWalker.cjs +6 -6
  169. package/cjs/tree-walker/TreeWalker.cjs.map +1 -1
  170. package/cjs/tree-walker/TreeWalker.d.ts +2 -1
  171. package/cjs/tree-walker/TreeWalker.d.ts.map +1 -1
  172. package/cjs/utilities/ClassMethodBinder.cjs.map +1 -0
  173. package/cjs/utilities/ClassMethodBinder.d.ts.map +1 -0
  174. package/cjs/utilities/StringUtility.cjs.map +1 -0
  175. package/cjs/utilities/StringUtility.d.ts.map +1 -0
  176. package/cjs/utilities/XMLEncodeUtility.cjs +119 -0
  177. package/cjs/utilities/XMLEncodeUtility.cjs.map +1 -0
  178. package/cjs/utilities/XMLEncodeUtility.d.ts +48 -0
  179. package/cjs/utilities/XMLEncodeUtility.d.ts.map +1 -0
  180. package/cjs/window/BrowserWindow.cjs +9 -3
  181. package/cjs/window/BrowserWindow.cjs.map +1 -1
  182. package/cjs/window/BrowserWindow.d.ts +2 -0
  183. package/cjs/window/BrowserWindow.d.ts.map +1 -1
  184. package/cjs/window/WindowErrorUtility.cjs +1 -1
  185. package/cjs/window/WindowErrorUtility.cjs.map +1 -1
  186. package/cjs/xml-http-request/XMLHttpRequest.cjs +2 -1
  187. package/cjs/xml-http-request/XMLHttpRequest.cjs.map +1 -1
  188. package/cjs/xml-http-request/XMLHttpRequest.d.ts.map +1 -1
  189. package/cjs/xml-http-request/XMLHttpRequestResponseDataParser.cjs +1 -1
  190. package/cjs/xml-http-request/XMLHttpRequestResponseDataParser.cjs.map +1 -1
  191. package/cjs/xml-parser/XMLParser.cjs +531 -242
  192. package/cjs/xml-parser/XMLParser.cjs.map +1 -1
  193. package/cjs/xml-parser/XMLParser.d.ts +89 -19
  194. package/cjs/xml-parser/XMLParser.d.ts.map +1 -1
  195. package/cjs/xml-serializer/XMLSerializer.cjs +136 -40
  196. package/cjs/xml-serializer/XMLSerializer.cjs.map +1 -1
  197. package/cjs/xml-serializer/XMLSerializer.d.ts +6 -17
  198. package/cjs/xml-serializer/XMLSerializer.d.ts.map +1 -1
  199. package/lib/PropertySymbol.d.ts +4 -1
  200. package/lib/PropertySymbol.d.ts.map +1 -1
  201. package/lib/PropertySymbol.js +4 -1
  202. package/lib/PropertySymbol.js.map +1 -1
  203. package/lib/config/HTMLElementConfig.d.ts +7 -0
  204. package/lib/config/HTMLElementConfig.d.ts.map +1 -1
  205. package/lib/config/HTMLElementConfig.js +42 -16
  206. package/lib/config/HTMLElementConfig.js.map +1 -1
  207. package/lib/config/HTMLElementConfigContentModelEnum.d.ts +3 -0
  208. package/lib/config/HTMLElementConfigContentModelEnum.d.ts.map +1 -1
  209. package/lib/config/HTMLElementConfigContentModelEnum.js +3 -0
  210. package/lib/config/HTMLElementConfigContentModelEnum.js.map +1 -1
  211. package/lib/config/NamespaceURI.d.ts +2 -0
  212. package/lib/config/NamespaceURI.d.ts.map +1 -1
  213. package/lib/config/NamespaceURI.js +2 -0
  214. package/lib/config/NamespaceURI.js.map +1 -1
  215. package/lib/css/declaration/CSSStyleDeclaration.d.ts.map +1 -1
  216. package/lib/css/declaration/CSSStyleDeclaration.js +1 -1
  217. package/lib/css/declaration/CSSStyleDeclaration.js.map +1 -1
  218. package/lib/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.d.ts.map +1 -1
  219. package/lib/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.js +2 -2
  220. package/lib/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.js.map +1 -1
  221. package/lib/custom-element/CustomElementReactionStack.d.ts +27 -0
  222. package/lib/custom-element/CustomElementReactionStack.d.ts.map +1 -0
  223. package/lib/custom-element/CustomElementReactionStack.js +71 -0
  224. package/lib/custom-element/CustomElementReactionStack.js.map +1 -0
  225. package/lib/custom-element/CustomElementRegistry.d.ts +2 -6
  226. package/lib/custom-element/CustomElementRegistry.d.ts.map +1 -1
  227. package/lib/custom-element/CustomElementRegistry.js +32 -45
  228. package/lib/custom-element/CustomElementRegistry.js.map +1 -1
  229. package/lib/custom-element/CustomElementUtility.d.ts +14 -0
  230. package/lib/custom-element/CustomElementUtility.d.ts.map +1 -0
  231. package/lib/custom-element/CustomElementUtility.js +32 -0
  232. package/lib/custom-element/CustomElementUtility.js.map +1 -0
  233. package/lib/custom-element/ICustomElementDefinition.d.ts +12 -0
  234. package/lib/custom-element/ICustomElementDefinition.d.ts.map +1 -0
  235. package/lib/custom-element/ICustomElementDefinition.js +2 -0
  236. package/lib/custom-element/ICustomElementDefinition.js.map +1 -0
  237. package/lib/dom/DOMStringMap.d.ts.map +1 -1
  238. package/lib/dom/DOMStringMap.js +8 -8
  239. package/lib/dom/DOMStringMap.js.map +1 -1
  240. package/lib/dom/DOMTokenList.js +1 -1
  241. package/lib/dom/DOMTokenList.js.map +1 -1
  242. package/lib/dom-parser/DOMParser.d.ts +0 -1
  243. package/lib/dom-parser/DOMParser.d.ts.map +1 -1
  244. package/lib/dom-parser/DOMParser.js +5 -67
  245. package/lib/dom-parser/DOMParser.js.map +1 -1
  246. package/lib/exception/DOMExceptionNameEnum.d.ts +2 -1
  247. package/lib/exception/DOMExceptionNameEnum.d.ts.map +1 -1
  248. package/lib/exception/DOMExceptionNameEnum.js +1 -0
  249. package/lib/exception/DOMExceptionNameEnum.js.map +1 -1
  250. package/lib/history/History.js +6 -6
  251. package/lib/history/History.js.map +1 -1
  252. package/lib/html-parser/HTMLParser.d.ts +91 -0
  253. package/lib/html-parser/HTMLParser.d.ts.map +1 -0
  254. package/lib/html-parser/HTMLParser.js +697 -0
  255. package/lib/html-parser/HTMLParser.js.map +1 -0
  256. package/lib/html-serializer/HTMLSerializer.d.ts +36 -0
  257. package/lib/html-serializer/HTMLSerializer.d.ts.map +1 -0
  258. package/lib/html-serializer/HTMLSerializer.js +123 -0
  259. package/lib/html-serializer/HTMLSerializer.js.map +1 -0
  260. package/lib/nodes/document/Document.d.ts +8 -0
  261. package/lib/nodes/document/Document.d.ts.map +1 -1
  262. package/lib/nodes/document/Document.js +106 -122
  263. package/lib/nodes/document/Document.js.map +1 -1
  264. package/lib/nodes/element/Element.d.ts +2 -12
  265. package/lib/nodes/element/Element.d.ts.map +1 -1
  266. package/lib/nodes/element/Element.js +35 -53
  267. package/lib/nodes/element/Element.js.map +1 -1
  268. package/lib/nodes/element/HTMLCollection.d.ts.map +1 -1
  269. package/lib/nodes/element/HTMLCollection.js +5 -9
  270. package/lib/nodes/element/HTMLCollection.js.map +1 -1
  271. package/lib/nodes/element/NamedNodeMap.d.ts +1 -16
  272. package/lib/nodes/element/NamedNodeMap.d.ts.map +1 -1
  273. package/lib/nodes/element/NamedNodeMap.js +39 -52
  274. package/lib/nodes/element/NamedNodeMap.js.map +1 -1
  275. package/lib/nodes/element/NamedNodeMapProxyFactory.d.ts.map +1 -1
  276. package/lib/nodes/element/NamedNodeMapProxyFactory.js +12 -14
  277. package/lib/nodes/element/NamedNodeMapProxyFactory.js.map +1 -1
  278. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  279. package/lib/nodes/html-button-element/HTMLButtonElement.js +1 -1
  280. package/lib/nodes/html-button-element/HTMLButtonElement.js.map +1 -1
  281. package/lib/nodes/html-document/HTMLDocument.d.ts +10 -0
  282. package/lib/nodes/html-document/HTMLDocument.d.ts.map +1 -1
  283. package/lib/nodes/html-document/HTMLDocument.js +33 -2
  284. package/lib/nodes/html-document/HTMLDocument.js.map +1 -1
  285. package/lib/nodes/html-element/HTMLElement.d.ts +34 -0
  286. package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
  287. package/lib/nodes/html-element/HTMLElement.js +52 -22
  288. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  289. package/lib/nodes/html-field-set-element/HTMLFieldSetElement.d.ts.map +1 -1
  290. package/lib/nodes/html-field-set-element/HTMLFieldSetElement.js +1 -1
  291. package/lib/nodes/html-field-set-element/HTMLFieldSetElement.js.map +1 -1
  292. package/lib/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  293. package/lib/nodes/html-form-element/HTMLFormElement.js +5 -8
  294. package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
  295. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js +1 -1
  296. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
  297. package/lib/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  298. package/lib/nodes/html-input-element/HTMLInputElement.js +1 -1
  299. package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
  300. package/lib/nodes/html-media-element/TextTrackList.js +1 -1
  301. package/lib/nodes/html-media-element/TextTrackList.js.map +1 -1
  302. package/lib/nodes/html-object-element/HTMLObjectElement.d.ts.map +1 -1
  303. package/lib/nodes/html-object-element/HTMLObjectElement.js +1 -1
  304. package/lib/nodes/html-object-element/HTMLObjectElement.js.map +1 -1
  305. package/lib/nodes/html-output-element/HTMLOutputElement.d.ts.map +1 -1
  306. package/lib/nodes/html-output-element/HTMLOutputElement.js +1 -1
  307. package/lib/nodes/html-output-element/HTMLOutputElement.js.map +1 -1
  308. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  309. package/lib/nodes/html-script-element/HTMLScriptElement.js +3 -1
  310. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  311. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  312. package/lib/nodes/html-select-element/HTMLSelectElement.js +2 -2
  313. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  314. package/lib/nodes/html-table-element/HTMLTableElement.d.ts.map +1 -1
  315. package/lib/nodes/html-table-element/HTMLTableElement.js +9 -1
  316. package/lib/nodes/html-table-element/HTMLTableElement.js.map +1 -1
  317. package/lib/nodes/html-table-row-element/HTMLTableRowElement.js +1 -1
  318. package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts +2 -2
  319. package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
  320. package/lib/nodes/html-template-element/HTMLTemplateElement.js +15 -17
  321. package/lib/nodes/html-template-element/HTMLTemplateElement.js.map +1 -1
  322. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  323. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +1 -1
  324. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
  325. package/lib/nodes/node/Node.d.ts +2 -10
  326. package/lib/nodes/node/Node.d.ts.map +1 -1
  327. package/lib/nodes/node/Node.js +44 -48
  328. package/lib/nodes/node/Node.js.map +1 -1
  329. package/lib/nodes/node/NodeList.js +1 -1
  330. package/lib/nodes/node/NodeList.js.map +1 -1
  331. package/lib/nodes/node/NodeUtility.d.ts.map +1 -1
  332. package/lib/nodes/node/NodeUtility.js +4 -3
  333. package/lib/nodes/node/NodeUtility.js.map +1 -1
  334. package/lib/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
  335. package/lib/nodes/parent-node/ParentNodeUtility.js +5 -2
  336. package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
  337. package/lib/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
  338. package/lib/nodes/shadow-root/ShadowRoot.js +8 -8
  339. package/lib/nodes/shadow-root/ShadowRoot.js.map +1 -1
  340. package/lib/nodes/xml-document/XMLDocument.d.ts +2 -0
  341. package/lib/nodes/xml-document/XMLDocument.d.ts.map +1 -1
  342. package/lib/nodes/xml-document/XMLDocument.js +3 -0
  343. package/lib/nodes/xml-document/XMLDocument.js.map +1 -1
  344. package/lib/query-selector/SelectorItem.d.ts.map +1 -1
  345. package/lib/query-selector/SelectorItem.js +1 -2
  346. package/lib/query-selector/SelectorItem.js.map +1 -1
  347. package/lib/range/Range.d.ts.map +1 -1
  348. package/lib/range/Range.js +3 -3
  349. package/lib/range/Range.js.map +1 -1
  350. package/lib/storage/Storage.js +1 -1
  351. package/lib/storage/Storage.js.map +1 -1
  352. package/lib/svg/SVGLengthList.js +1 -1
  353. package/lib/svg/SVGLengthList.js.map +1 -1
  354. package/lib/svg/SVGNumberList.js +1 -1
  355. package/lib/svg/SVGNumberList.js.map +1 -1
  356. package/lib/svg/SVGPointList.js +1 -1
  357. package/lib/svg/SVGPointList.js.map +1 -1
  358. package/lib/svg/SVGStringList.js +1 -1
  359. package/lib/svg/SVGStringList.js.map +1 -1
  360. package/lib/svg/SVGTransformList.js +1 -1
  361. package/lib/svg/SVGTransformList.js.map +1 -1
  362. package/lib/tree-walker/NodeIterator.d.ts +18 -3
  363. package/lib/tree-walker/NodeIterator.d.ts.map +1 -1
  364. package/lib/tree-walker/NodeIterator.js +40 -6
  365. package/lib/tree-walker/NodeIterator.js.map +1 -1
  366. package/lib/tree-walker/TreeWalker.d.ts +2 -1
  367. package/lib/tree-walker/TreeWalker.d.ts.map +1 -1
  368. package/lib/tree-walker/TreeWalker.js +6 -6
  369. package/lib/tree-walker/TreeWalker.js.map +1 -1
  370. package/lib/utilities/ClassMethodBinder.d.ts.map +1 -0
  371. package/lib/utilities/ClassMethodBinder.js.map +1 -0
  372. package/lib/utilities/StringUtility.d.ts.map +1 -0
  373. package/lib/utilities/StringUtility.js.map +1 -0
  374. package/lib/utilities/XMLEncodeUtility.d.ts +48 -0
  375. package/lib/utilities/XMLEncodeUtility.d.ts.map +1 -0
  376. package/lib/utilities/XMLEncodeUtility.js +116 -0
  377. package/lib/utilities/XMLEncodeUtility.js.map +1 -0
  378. package/lib/window/BrowserWindow.d.ts +2 -0
  379. package/lib/window/BrowserWindow.d.ts.map +1 -1
  380. package/lib/window/BrowserWindow.js +9 -3
  381. package/lib/window/BrowserWindow.js.map +1 -1
  382. package/lib/window/WindowErrorUtility.js +1 -1
  383. package/lib/window/WindowErrorUtility.js.map +1 -1
  384. package/lib/xml-http-request/XMLHttpRequest.d.ts.map +1 -1
  385. package/lib/xml-http-request/XMLHttpRequest.js +2 -1
  386. package/lib/xml-http-request/XMLHttpRequest.js.map +1 -1
  387. package/lib/xml-http-request/XMLHttpRequestResponseDataParser.js +1 -1
  388. package/lib/xml-http-request/XMLHttpRequestResponseDataParser.js.map +1 -1
  389. package/lib/xml-parser/XMLParser.d.ts +89 -19
  390. package/lib/xml-parser/XMLParser.d.ts.map +1 -1
  391. package/lib/xml-parser/XMLParser.js +531 -242
  392. package/lib/xml-parser/XMLParser.js.map +1 -1
  393. package/lib/xml-serializer/XMLSerializer.d.ts +6 -17
  394. package/lib/xml-serializer/XMLSerializer.d.ts.map +1 -1
  395. package/lib/xml-serializer/XMLSerializer.js +136 -40
  396. package/lib/xml-serializer/XMLSerializer.js.map +1 -1
  397. package/package.json +1 -2
  398. package/src/PropertySymbol.ts +4 -1
  399. package/src/config/HTMLElementConfig.ts +53 -17
  400. package/src/config/HTMLElementConfigContentModelEnum.ts +3 -0
  401. package/src/config/NamespaceURI.ts +2 -0
  402. package/src/css/declaration/CSSStyleDeclaration.ts +1 -4
  403. package/src/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.ts +2 -4
  404. package/src/custom-element/CustomElementReactionStack.ts +81 -0
  405. package/src/custom-element/CustomElementRegistry.ts +35 -54
  406. package/src/custom-element/CustomElementUtility.ts +34 -0
  407. package/src/custom-element/ICustomElementDefinition.ts +16 -0
  408. package/src/dom/DOMStringMap.ts +12 -10
  409. package/src/dom/DOMTokenList.ts +1 -1
  410. package/src/dom-parser/DOMParser.ts +5 -75
  411. package/src/exception/DOMExceptionNameEnum.ts +2 -1
  412. package/src/history/History.ts +6 -6
  413. package/src/html-parser/HTMLParser.ts +864 -0
  414. package/src/html-serializer/HTMLSerializer.ts +162 -0
  415. package/src/nodes/document/Document.ts +118 -137
  416. package/src/nodes/element/Element.ts +48 -95
  417. package/src/nodes/element/HTMLCollection.ts +5 -30
  418. package/src/nodes/element/NamedNodeMap.ts +58 -72
  419. package/src/nodes/element/NamedNodeMapProxyFactory.ts +12 -15
  420. package/src/nodes/html-button-element/HTMLButtonElement.ts +1 -4
  421. package/src/nodes/html-document/HTMLDocument.ts +58 -2
  422. package/src/nodes/html-element/HTMLElement.ts +107 -25
  423. package/src/nodes/html-field-set-element/HTMLFieldSetElement.ts +1 -4
  424. package/src/nodes/html-form-element/HTMLFormElement.ts +5 -27
  425. package/src/nodes/html-iframe-element/HTMLIFrameElement.ts +1 -1
  426. package/src/nodes/html-input-element/HTMLInputElement.ts +1 -4
  427. package/src/nodes/html-media-element/TextTrackList.ts +1 -1
  428. package/src/nodes/html-object-element/HTMLObjectElement.ts +1 -4
  429. package/src/nodes/html-output-element/HTMLOutputElement.ts +1 -4
  430. package/src/nodes/html-script-element/HTMLScriptElement.ts +4 -1
  431. package/src/nodes/html-select-element/HTMLSelectElement.ts +2 -5
  432. package/src/nodes/html-table-element/HTMLTableElement.ts +8 -1
  433. package/src/nodes/html-table-row-element/HTMLTableRowElement.ts +1 -1
  434. package/src/nodes/html-template-element/HTMLTemplateElement.ts +23 -17
  435. package/src/nodes/html-text-area-element/HTMLTextAreaElement.ts +1 -4
  436. package/src/nodes/node/Node.ts +57 -70
  437. package/src/nodes/node/NodeList.ts +1 -1
  438. package/src/nodes/node/NodeUtility.ts +4 -3
  439. package/src/nodes/parent-node/ParentNodeUtility.ts +6 -6
  440. package/src/nodes/shadow-root/ShadowRoot.ts +8 -8
  441. package/src/nodes/xml-document/XMLDocument.ts +5 -1
  442. package/src/query-selector/SelectorItem.ts +1 -2
  443. package/src/range/Range.ts +3 -3
  444. package/src/storage/Storage.ts +1 -1
  445. package/src/svg/SVGLengthList.ts +1 -1
  446. package/src/svg/SVGNumberList.ts +1 -1
  447. package/src/svg/SVGPointList.ts +1 -1
  448. package/src/svg/SVGStringList.ts +1 -1
  449. package/src/svg/SVGTransformList.ts +1 -1
  450. package/src/tree-walker/NodeIterator.ts +44 -8
  451. package/src/tree-walker/TreeWalker.ts +6 -6
  452. package/src/utilities/XMLEncodeUtility.ts +127 -0
  453. package/src/window/BrowserWindow.ts +18 -5
  454. package/src/window/WindowErrorUtility.ts +1 -1
  455. package/src/xml-http-request/XMLHttpRequest.ts +3 -1
  456. package/src/xml-http-request/XMLHttpRequestResponseDataParser.ts +1 -1
  457. package/src/xml-parser/XMLParser.ts +627 -313
  458. package/src/xml-serializer/XMLSerializer.ts +204 -58
  459. package/cjs/ClassMethodBinder.cjs.map +0 -1
  460. package/cjs/ClassMethodBinder.d.ts.map +0 -1
  461. package/cjs/StringUtility.cjs.map +0 -1
  462. package/cjs/StringUtility.d.ts.map +0 -1
  463. package/lib/ClassMethodBinder.d.ts.map +0 -1
  464. package/lib/ClassMethodBinder.js.map +0 -1
  465. package/lib/StringUtility.d.ts.map +0 -1
  466. package/lib/StringUtility.js.map +0 -1
  467. /package/cjs/{ClassMethodBinder.cjs → utilities/ClassMethodBinder.cjs} +0 -0
  468. /package/cjs/{ClassMethodBinder.d.ts → utilities/ClassMethodBinder.d.ts} +0 -0
  469. /package/cjs/{StringUtility.cjs → utilities/StringUtility.cjs} +0 -0
  470. /package/cjs/{StringUtility.d.ts → utilities/StringUtility.d.ts} +0 -0
  471. /package/lib/{ClassMethodBinder.d.ts → utilities/ClassMethodBinder.d.ts} +0 -0
  472. /package/lib/{ClassMethodBinder.js → utilities/ClassMethodBinder.js} +0 -0
  473. /package/lib/{StringUtility.d.ts → utilities/StringUtility.d.ts} +0 -0
  474. /package/lib/{StringUtility.js → utilities/StringUtility.js} +0 -0
  475. /package/src/{ClassMethodBinder.ts → utilities/ClassMethodBinder.ts} +0 -0
  476. /package/src/{StringUtility.ts → utilities/StringUtility.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTMLParser.cjs","sourceRoot":"","sources":["../../src/html-parser/HTMLParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import Document from '../nodes/document/Document.cjs';
2
+ import Element from '../nodes/element/Element.cjs';
3
+ import DocumentFragment from '../nodes/document-fragment/DocumentFragment.cjs';
4
+ import BrowserWindow from '../window/BrowserWindow.cjs';
5
+ /**
6
+ * HTML parser.
7
+ */
8
+ export default class HTMLParser {
9
+ private window;
10
+ private evaluateScripts;
11
+ private rootNode;
12
+ private rootDocument;
13
+ private nodeStack;
14
+ private tagNameStack;
15
+ private documentStructure;
16
+ private startTagIndex;
17
+ private markupRegExp;
18
+ private nextElement;
19
+ private currentNode;
20
+ private readState;
21
+ /**
22
+ * Constructor.
23
+ *
24
+ * @param window Window.
25
+ * @param [options] Options.
26
+ * @param [options.evaluateScripts] Set to "true" to enable script execution
27
+ */
28
+ constructor(window: BrowserWindow, options?: {
29
+ evaluateScripts?: boolean;
30
+ });
31
+ /**
32
+ * Parses HTML a root element containing nodes found.
33
+ *
34
+ * @param html HTML string.
35
+ * @param [rootNode] Root node.
36
+ * @returns Root node.
37
+ */
38
+ parse(html: string, rootNode?: Element | DocumentFragment | Document): Element | DocumentFragment | Document;
39
+ /**
40
+ * Parses plain text.
41
+ *
42
+ * @param text Text.
43
+ */
44
+ private parsePlainText;
45
+ /**
46
+ * Parses end of start tag.
47
+ *
48
+ * @param attributeString Attribute string.
49
+ * @param isSelfClosed Is self closed.
50
+ */
51
+ private parseEndOfStartTag;
52
+ /**
53
+ * Parses end tag.
54
+ *
55
+ * @param tagName Tag name.
56
+ */
57
+ private parseEndTag;
58
+ /**
59
+ * Parses comment.
60
+ *
61
+ * @param comment Comment.
62
+ */
63
+ private parseComment;
64
+ /**
65
+ * Parses document type.
66
+ *
67
+ * @param text Text.
68
+ */
69
+ private parseDocumentType;
70
+ /**
71
+ * Parses raw text content for elements such as <script> and <style>.
72
+ *
73
+ * @param tagName End tag name.
74
+ * @param text Text.
75
+ */
76
+ private parseRawTextElementContent;
77
+ /**
78
+ * Creates an element or returns a reference to it.
79
+ *
80
+ * @param tagName Tag name.
81
+ */
82
+ private getStartTagElement;
83
+ /**
84
+ * Returns document type.
85
+ *
86
+ * @param value Value.
87
+ * @returns Document type.
88
+ */
89
+ private getDocumentType;
90
+ }
91
+ //# sourceMappingURL=HTMLParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTMLParser.d.ts","sourceRoot":"","sources":["../../src/html-parser/HTMLParser.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,+BAA+B,CAAC;AAIrD,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAGlD,OAAO,gBAAgB,MAAM,gDAAgD,CAAC;AAK9E,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAmGvD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAC9B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAsD;IACtE,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,SAAS,CAAgD;IAEjE;;;;;;OAMG;gBAEF,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE;QACT,eAAe,CAAC,EAAE,OAAO,CAAC;KAC1B;IAQF;;;;;;OAMG;IACI,KAAK,CACX,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,OAAO,GAAG,gBAAgB,GAAG,QAAQ,GAC9C,OAAO,GAAG,gBAAgB,GAAG,QAAQ;IA+IxC;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA+CtB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA2P1B;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAgBnB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAiCpB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA2CzB;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAiDlC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAmD1B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;CA8BvB"}
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const PropertySymbol = __importStar(require("../PropertySymbol.cjs"));
30
+ const Node_js_1 = __importDefault(require("../nodes/node/Node.cjs"));
31
+ const NodeTypeEnum_js_1 = __importDefault(require("../nodes/node/NodeTypeEnum.cjs"));
32
+ const HTMLElementConfig_js_1 = __importDefault(require("../config/HTMLElementConfig.cjs"));
33
+ const HTMLElementConfigContentModelEnum_js_1 = __importDefault(require("../config/HTMLElementConfigContentModelEnum.cjs"));
34
+ const XMLEncodeUtility_js_1 = __importDefault(require("../utilities/XMLEncodeUtility.cjs"));
35
+ /**
36
+ * Serializes a node into HTML.
37
+ */
38
+ class HTMLSerializer {
39
+ options = {
40
+ serializableShadowRoots: false,
41
+ shadowRoots: null,
42
+ allShadowRoots: false
43
+ };
44
+ /**
45
+ * Constructor.
46
+ *
47
+ * @param [options] Options.
48
+ * @param [options.serializableShadowRoots] If shadow roots should be serialized.
49
+ * @param [options.shadowRoots] Shadow roots to serialize.
50
+ * @param [options.allShadowRoots] If all shadow roots should be serialized.
51
+ */
52
+ constructor(options) {
53
+ if (options) {
54
+ if (options.serializableShadowRoots) {
55
+ this.options.serializableShadowRoots = options.serializableShadowRoots;
56
+ }
57
+ if (options.shadowRoots) {
58
+ this.options.shadowRoots = options.shadowRoots;
59
+ }
60
+ if (options.allShadowRoots) {
61
+ this.options.allShadowRoots = options.allShadowRoots;
62
+ }
63
+ }
64
+ }
65
+ /**
66
+ * Renders an element as HTML.
67
+ *
68
+ * @param root Root element.
69
+ * @returns Result.
70
+ */
71
+ serializeToString(root) {
72
+ switch (root[PropertySymbol.nodeType]) {
73
+ case NodeTypeEnum_js_1.default.elementNode:
74
+ const element = root;
75
+ const prefix = element[PropertySymbol.prefix];
76
+ const localName = element[PropertySymbol.localName];
77
+ const config = HTMLElementConfig_js_1.default[element[PropertySymbol.localName]];
78
+ const tagName = prefix ? `${prefix}:${localName}` : localName;
79
+ if (config?.contentModel === HTMLElementConfigContentModelEnum_js_1.default.noDescendants) {
80
+ return `<${tagName}${this.getAttributes(element)}>`;
81
+ }
82
+ let innerHTML = '';
83
+ // TODO: Should we include closed shadow roots? We are currently only including open shadow roots.
84
+ if (element.shadowRoot &&
85
+ (this.options.allShadowRoots ||
86
+ (this.options.serializableShadowRoots &&
87
+ element.shadowRoot[PropertySymbol.serializable]) ||
88
+ this.options.shadowRoots?.includes(element.shadowRoot))) {
89
+ innerHTML += `<template shadowrootmode="${element.shadowRoot[PropertySymbol.mode]}"${element.shadowRoot[PropertySymbol.serializable] ? ' shadowrootserializable=""' : ''}>`;
90
+ for (const node of element.shadowRoot[PropertySymbol.nodeArray]) {
91
+ innerHTML += this.serializeToString(node);
92
+ }
93
+ innerHTML += '</template>';
94
+ }
95
+ const childNodes = tagName === 'template'
96
+ ? root.content[PropertySymbol.nodeArray]
97
+ : root[PropertySymbol.nodeArray];
98
+ for (const node of childNodes) {
99
+ innerHTML += this.serializeToString(node);
100
+ }
101
+ return `<${tagName}${this.getAttributes(element)}>${innerHTML}</${tagName}>`;
102
+ case Node_js_1.default.DOCUMENT_FRAGMENT_NODE:
103
+ case Node_js_1.default.DOCUMENT_NODE:
104
+ let html = '';
105
+ for (const node of root[PropertySymbol.nodeArray]) {
106
+ html += this.serializeToString(node);
107
+ }
108
+ return html;
109
+ case NodeTypeEnum_js_1.default.commentNode:
110
+ return `<!--${root.textContent}-->`;
111
+ case NodeTypeEnum_js_1.default.processingInstructionNode:
112
+ return `<!--?${root.target} ${root.textContent}?-->`;
113
+ case NodeTypeEnum_js_1.default.textNode:
114
+ const parentElement = root.parentElement;
115
+ if (parentElement) {
116
+ const parentConfig = HTMLElementConfig_js_1.default[parentElement[PropertySymbol.localName]];
117
+ if (parentConfig?.contentModel === HTMLElementConfigContentModelEnum_js_1.default.rawText) {
118
+ return root.textContent;
119
+ }
120
+ }
121
+ return XMLEncodeUtility_js_1.default.encodeTextContent(root.textContent);
122
+ case NodeTypeEnum_js_1.default.documentTypeNode:
123
+ const doctype = root;
124
+ const identifier = doctype.publicId ? ' PUBLIC' : doctype.systemId ? ' SYSTEM' : '';
125
+ const publicId = doctype.publicId ? ` "${doctype.publicId}"` : '';
126
+ const systemId = doctype.systemId ? ` "${doctype.systemId}"` : '';
127
+ return `<!DOCTYPE ${doctype.name}${identifier}${publicId}${systemId}>`;
128
+ }
129
+ return '';
130
+ }
131
+ /**
132
+ * Returns attributes as a string.
133
+ *
134
+ * @param element Element.
135
+ * @returns Attributes.
136
+ */
137
+ getAttributes(element) {
138
+ let attributeString = '';
139
+ const namedItems = element[PropertySymbol.attributes][PropertySymbol.namedItems];
140
+ if (!namedItems.has('is') && element[PropertySymbol.isValue]) {
141
+ attributeString +=
142
+ ' is="' + XMLEncodeUtility_js_1.default.encodeAttributeValue(element[PropertySymbol.isValue]) + '"';
143
+ }
144
+ for (const attributes of namedItems.values()) {
145
+ const escapedValue = XMLEncodeUtility_js_1.default.encodeAttributeValue(attributes[0][PropertySymbol.value]);
146
+ attributeString += ' ' + attributes[0][PropertySymbol.name] + '="' + escapedValue + '"';
147
+ }
148
+ return attributeString;
149
+ }
150
+ }
151
+ exports.default = HTMLSerializer;
152
+ //# sourceMappingURL=HTMLSerializer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTMLSerializer.cjs","sourceRoot":"","sources":["../../src/html-serializer/HTMLSerializer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import Node from '../nodes/node/Node.cjs';
2
+ import ShadowRoot from '../nodes/shadow-root/ShadowRoot.cjs';
3
+ /**
4
+ * Serializes a node into HTML.
5
+ */
6
+ export default class HTMLSerializer {
7
+ private options;
8
+ /**
9
+ * Constructor.
10
+ *
11
+ * @param [options] Options.
12
+ * @param [options.serializableShadowRoots] If shadow roots should be serialized.
13
+ * @param [options.shadowRoots] Shadow roots to serialize.
14
+ * @param [options.allShadowRoots] If all shadow roots should be serialized.
15
+ */
16
+ constructor(options?: {
17
+ serializableShadowRoots?: boolean;
18
+ shadowRoots?: ShadowRoot[] | null;
19
+ allShadowRoots?: boolean;
20
+ });
21
+ /**
22
+ * Renders an element as HTML.
23
+ *
24
+ * @param root Root element.
25
+ * @returns Result.
26
+ */
27
+ serializeToString(root: Node): string;
28
+ /**
29
+ * Returns attributes as a string.
30
+ *
31
+ * @param element Element.
32
+ * @returns Attributes.
33
+ */
34
+ private getAttributes;
35
+ }
36
+ //# sourceMappingURL=HTMLSerializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTMLSerializer.d.ts","sourceRoot":"","sources":["../../src/html-serializer/HTMLSerializer.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,uBAAuB,CAAC;AAMzC,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAK5D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC,OAAO,CAAC,OAAO,CAQb;IAEF;;;;;;;OAOG;gBACS,OAAO,CAAC,EAAE;QACrB,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAClC,cAAc,CAAC,EAAE,OAAO,CAAC;KACzB;IAgBD;;;;;OAKG;IACI,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IA2E5C;;;;;OAKG;IACH,OAAO,CAAC,aAAa;CAmBrB"}