@dooboostore/dom-parser 1.0.2 → 1.0.4

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 (727) hide show
  1. package/README.MD +369 -6
  2. package/dist/cjs/DomParser.js +11 -1
  3. package/dist/cjs/DomParser.js.map +2 -2
  4. package/dist/cjs/bundle-entry.js +36 -0
  5. package/dist/cjs/bundle-entry.js.map +7 -0
  6. package/dist/cjs/factory/ElementFactory.js +31 -7
  7. package/dist/cjs/factory/ElementFactory.js.map +2 -2
  8. package/dist/cjs/index.js +26 -0
  9. package/dist/cjs/index.js.map +2 -2
  10. package/dist/cjs/node/CharacterData.js.map +1 -1
  11. package/dist/cjs/node/ChildNode.js +0 -15
  12. package/dist/cjs/node/ChildNode.js.map +3 -3
  13. package/dist/cjs/node/ChildNodeBase.js +20 -0
  14. package/dist/cjs/node/ChildNodeBase.js.map +2 -2
  15. package/dist/cjs/node/Comment.js.map +2 -2
  16. package/dist/cjs/node/Document.js +0 -27
  17. package/dist/cjs/node/Document.js.map +4 -4
  18. package/dist/cjs/node/DocumentBase.js +168 -205
  19. package/dist/cjs/node/DocumentBase.js.map +2 -2
  20. package/dist/cjs/node/DocumentFragment.js +0 -15
  21. package/dist/cjs/node/DocumentFragment.js.map +3 -3
  22. package/dist/cjs/node/DocumentFragmentBase.js.map +2 -2
  23. package/dist/cjs/node/Node.js.map +1 -1
  24. package/dist/cjs/node/NodeBase.js +44 -2
  25. package/dist/cjs/node/NodeBase.js.map +2 -2
  26. package/dist/cjs/node/NodeFilter.js +43 -0
  27. package/dist/cjs/node/NodeFilter.js.map +7 -0
  28. package/dist/cjs/node/NodeIterator.js +1 -28
  29. package/dist/cjs/node/NodeIterator.js.map +2 -2
  30. package/dist/cjs/node/ParentNode.js +0 -15
  31. package/dist/cjs/node/ParentNode.js.map +3 -3
  32. package/dist/cjs/node/ParentNodeBase.js +10 -10
  33. package/dist/cjs/node/ParentNodeBase.js.map +3 -3
  34. package/dist/cjs/node/ShadowRootBase.js +79 -0
  35. package/dist/cjs/node/ShadowRootBase.js.map +7 -0
  36. package/dist/cjs/node/Text.js +0 -15
  37. package/dist/cjs/node/Text.js.map +3 -3
  38. package/dist/cjs/node/TextBase.js +0 -3
  39. package/dist/cjs/node/TextBase.js.map +2 -2
  40. package/dist/cjs/node/TreeWalker.js +272 -0
  41. package/dist/cjs/node/TreeWalker.js.map +7 -0
  42. package/dist/cjs/node/collection/{HTMLCollection.js → HTMLCollectionImp.js} +7 -6
  43. package/dist/cjs/node/collection/HTMLCollectionImp.js.map +7 -0
  44. package/dist/cjs/node/collection/HTMLCollectionOfImp.js +26 -0
  45. package/dist/cjs/node/collection/HTMLCollectionOfImp.js.map +7 -0
  46. package/dist/cjs/node/collection/NodeList.js.map +1 -1
  47. package/dist/cjs/node/collection/{NodeListOf.js → NodeListOfImp.js} +6 -6
  48. package/dist/cjs/node/collection/NodeListOfImp.js.map +7 -0
  49. package/dist/cjs/node/collection/StylePropertyMapImpl.js +65 -0
  50. package/dist/cjs/node/collection/StylePropertyMapImpl.js.map +7 -0
  51. package/dist/cjs/node/collection/index.js +6 -6
  52. package/dist/cjs/node/collection/index.js.map +2 -2
  53. package/dist/cjs/node/elements/Element.js +0 -15
  54. package/dist/cjs/node/elements/Element.js.map +3 -3
  55. package/dist/cjs/node/elements/ElementBase.js +163 -331
  56. package/dist/cjs/node/elements/ElementBase.js.map +3 -3
  57. package/dist/cjs/node/elements/HTMLAnchorElement.js +2 -2
  58. package/dist/cjs/node/elements/HTMLAnchorElement.js.map +2 -2
  59. package/dist/cjs/node/elements/HTMLAreaElement.js +2 -2
  60. package/dist/cjs/node/elements/HTMLAreaElement.js.map +2 -2
  61. package/dist/cjs/node/elements/{HTMLGenericElement.js → HTMLAudioElement.js} +8 -11
  62. package/dist/cjs/node/elements/HTMLAudioElement.js.map +7 -0
  63. package/dist/cjs/node/elements/HTMLBaseElement.js +2 -2
  64. package/dist/cjs/node/elements/HTMLBaseElement.js.map +2 -2
  65. package/dist/cjs/node/elements/HTMLBodyElement.js +2 -2
  66. package/dist/cjs/node/elements/HTMLBodyElement.js.map +2 -2
  67. package/dist/cjs/node/elements/HTMLButtonElement.js +3 -3
  68. package/dist/cjs/node/elements/HTMLButtonElement.js.map +2 -2
  69. package/dist/cjs/node/elements/HTMLCanvasElement.js +2 -2
  70. package/dist/cjs/node/elements/HTMLCanvasElement.js.map +2 -2
  71. package/dist/cjs/node/elements/HTMLCaptionElement.js +2 -2
  72. package/dist/cjs/node/elements/HTMLCaptionElement.js.map +2 -2
  73. package/dist/cjs/node/{collection/HTMLCollectionOf.js → elements/HTMLDListElement.js} +9 -16
  74. package/dist/cjs/node/elements/HTMLDListElement.js.map +7 -0
  75. package/dist/cjs/node/elements/HTMLDataElement.js +29 -0
  76. package/dist/cjs/node/elements/HTMLDataElement.js.map +7 -0
  77. package/dist/cjs/node/elements/HTMLDataListElement.js +29 -0
  78. package/dist/cjs/node/elements/HTMLDataListElement.js.map +7 -0
  79. package/dist/cjs/node/elements/HTMLDetailsElement.js +29 -0
  80. package/dist/cjs/node/elements/HTMLDetailsElement.js.map +7 -0
  81. package/dist/cjs/node/elements/HTMLDialogElement.js +29 -0
  82. package/dist/cjs/node/elements/HTMLDialogElement.js.map +7 -0
  83. package/dist/cjs/node/elements/HTMLDivElement.js +2 -2
  84. package/dist/cjs/node/elements/HTMLDivElement.js.map +2 -2
  85. package/dist/cjs/node/elements/HTMLElement.js +13 -0
  86. package/dist/cjs/node/elements/HTMLElement.js.map +2 -2
  87. package/dist/cjs/node/elements/HTMLElementBase.js +44 -44
  88. package/dist/cjs/node/elements/HTMLElementBase.js.map +2 -2
  89. package/dist/cjs/node/elements/HTMLEmbedElement.js +2 -2
  90. package/dist/cjs/node/elements/HTMLEmbedElement.js.map +2 -2
  91. package/dist/cjs/node/elements/HTMLFieldSetElement.js +29 -0
  92. package/dist/cjs/node/elements/HTMLFieldSetElement.js.map +7 -0
  93. package/dist/cjs/node/elements/HTMLFormElement.js +2 -2
  94. package/dist/cjs/node/elements/HTMLFormElement.js.map +2 -2
  95. package/dist/cjs/node/elements/HTMLH1Element.js +2 -2
  96. package/dist/cjs/node/elements/HTMLH1Element.js.map +2 -2
  97. package/dist/cjs/node/elements/HTMLHRElement.js +29 -0
  98. package/dist/cjs/node/elements/HTMLHRElement.js.map +7 -0
  99. package/dist/cjs/node/elements/HTMLHeadElement.js +2 -2
  100. package/dist/cjs/node/elements/HTMLHeadElement.js.map +2 -2
  101. package/dist/cjs/node/elements/HTMLHtmlElement.js +2 -2
  102. package/dist/cjs/node/elements/HTMLHtmlElement.js.map +2 -2
  103. package/dist/cjs/node/elements/HTMLIFrameElement.js +29 -0
  104. package/dist/cjs/node/elements/HTMLIFrameElement.js.map +7 -0
  105. package/dist/cjs/node/elements/HTMLImgElement.js +2 -2
  106. package/dist/cjs/node/elements/HTMLImgElement.js.map +2 -2
  107. package/dist/cjs/node/elements/HTMLInputElement.js +2 -2
  108. package/dist/cjs/node/elements/HTMLInputElement.js.map +2 -2
  109. package/dist/cjs/node/elements/HTMLLIElement.js +2 -2
  110. package/dist/cjs/node/elements/HTMLLIElement.js.map +2 -2
  111. package/dist/cjs/node/elements/HTMLLabelElement.js +29 -0
  112. package/dist/cjs/node/elements/HTMLLabelElement.js.map +7 -0
  113. package/dist/cjs/node/elements/HTMLLegendElement.js +29 -0
  114. package/dist/cjs/node/elements/HTMLLegendElement.js.map +7 -0
  115. package/dist/cjs/node/elements/HTMLLinkElement.js +2 -2
  116. package/dist/cjs/node/elements/HTMLLinkElement.js.map +2 -2
  117. package/dist/cjs/node/elements/HTMLMapElement.js +29 -0
  118. package/dist/cjs/node/elements/HTMLMapElement.js.map +7 -0
  119. package/dist/cjs/node/elements/HTMLMetaElement.js +2 -2
  120. package/dist/cjs/node/elements/HTMLMetaElement.js.map +2 -2
  121. package/dist/cjs/node/elements/HTMLMeterElement.js +29 -0
  122. package/dist/cjs/node/elements/HTMLMeterElement.js.map +7 -0
  123. package/dist/cjs/node/elements/HTMLModElement.js +29 -0
  124. package/dist/cjs/node/elements/HTMLModElement.js.map +7 -0
  125. package/dist/cjs/node/elements/HTMLOListElement.js +2 -2
  126. package/dist/cjs/node/elements/HTMLOListElement.js.map +2 -2
  127. package/dist/cjs/node/elements/HTMLObjectElement.js +29 -0
  128. package/dist/cjs/node/elements/HTMLObjectElement.js.map +7 -0
  129. package/dist/cjs/node/elements/HTMLOptGroupElement.js +29 -0
  130. package/dist/cjs/node/elements/HTMLOptGroupElement.js.map +7 -0
  131. package/dist/cjs/node/elements/HTMLOptionElement.js +29 -0
  132. package/dist/cjs/node/elements/HTMLOptionElement.js.map +7 -0
  133. package/dist/cjs/node/elements/HTMLOutputElement.js +29 -0
  134. package/dist/cjs/node/elements/HTMLOutputElement.js.map +7 -0
  135. package/dist/cjs/node/elements/HTMLPElement.js +2 -2
  136. package/dist/cjs/node/elements/HTMLPElement.js.map +2 -2
  137. package/dist/cjs/node/elements/HTMLParamElement.js +29 -0
  138. package/dist/cjs/node/elements/HTMLParamElement.js.map +7 -0
  139. package/dist/cjs/node/elements/HTMLPictureElement.js +29 -0
  140. package/dist/cjs/node/elements/HTMLPictureElement.js.map +7 -0
  141. package/dist/cjs/node/elements/HTMLPreElement.js +29 -0
  142. package/dist/cjs/node/elements/HTMLPreElement.js.map +7 -0
  143. package/dist/cjs/node/elements/HTMLProgressElement.js +29 -0
  144. package/dist/cjs/node/elements/HTMLProgressElement.js.map +7 -0
  145. package/dist/cjs/node/elements/HTMLQuoteElement.js +29 -0
  146. package/dist/cjs/node/elements/HTMLQuoteElement.js.map +7 -0
  147. package/dist/cjs/node/elements/HTMLScriptElement.js +2 -2
  148. package/dist/cjs/node/elements/HTMLScriptElement.js.map +2 -2
  149. package/dist/cjs/node/elements/HTMLSelectElement.js +29 -0
  150. package/dist/cjs/node/elements/HTMLSelectElement.js.map +7 -0
  151. package/dist/cjs/node/elements/HTMLSlotElement.js +29 -0
  152. package/dist/cjs/node/elements/HTMLSlotElement.js.map +7 -0
  153. package/dist/cjs/node/elements/HTMLSourceElement.js +29 -0
  154. package/dist/cjs/node/elements/HTMLSourceElement.js.map +7 -0
  155. package/dist/cjs/node/elements/HTMLSpanElement.js +2 -2
  156. package/dist/cjs/node/elements/HTMLSpanElement.js.map +2 -2
  157. package/dist/cjs/node/elements/HTMLStyleElement.js +2 -2
  158. package/dist/cjs/node/elements/HTMLStyleElement.js.map +2 -2
  159. package/dist/cjs/node/elements/HTMLTableElement.js +2 -2
  160. package/dist/cjs/node/elements/HTMLTableElement.js.map +2 -2
  161. package/dist/cjs/node/elements/HTMLTbodyElement.js +2 -2
  162. package/dist/cjs/node/elements/HTMLTbodyElement.js.map +2 -2
  163. package/dist/cjs/node/elements/HTMLTdElement.js +2 -2
  164. package/dist/cjs/node/elements/HTMLTdElement.js.map +2 -2
  165. package/dist/cjs/node/elements/HTMLTemplateElement.js +2 -2
  166. package/dist/cjs/node/elements/HTMLTemplateElement.js.map +2 -2
  167. package/dist/cjs/node/elements/HTMLTextAreaElement.js +29 -0
  168. package/dist/cjs/node/elements/HTMLTextAreaElement.js.map +7 -0
  169. package/dist/cjs/node/elements/HTMLTfootElement.js +2 -2
  170. package/dist/cjs/node/elements/HTMLTfootElement.js.map +2 -2
  171. package/dist/cjs/node/elements/HTMLThElement.js +2 -2
  172. package/dist/cjs/node/elements/HTMLThElement.js.map +2 -2
  173. package/dist/cjs/node/elements/HTMLTheadElement.js +2 -2
  174. package/dist/cjs/node/elements/HTMLTheadElement.js.map +2 -2
  175. package/dist/cjs/node/elements/HTMLTimeElement.js +29 -0
  176. package/dist/cjs/node/elements/HTMLTimeElement.js.map +7 -0
  177. package/dist/cjs/node/elements/HTMLTitleElement.js +2 -2
  178. package/dist/cjs/node/elements/HTMLTitleElement.js.map +2 -2
  179. package/dist/cjs/node/elements/HTMLTrElement.js +2 -2
  180. package/dist/cjs/node/elements/HTMLTrElement.js.map +2 -2
  181. package/dist/cjs/node/elements/HTMLTrackElement.js +29 -0
  182. package/dist/cjs/node/elements/HTMLTrackElement.js.map +7 -0
  183. package/dist/cjs/node/elements/HTMLUListElement.js +2 -2
  184. package/dist/cjs/node/elements/HTMLUListElement.js.map +2 -2
  185. package/dist/cjs/node/elements/HTMLVideoElement.js +29 -0
  186. package/dist/cjs/node/elements/HTMLVideoElement.js.map +7 -0
  187. package/dist/cjs/node/elements/MathMLElement.js +2 -2
  188. package/dist/cjs/node/elements/MathMLElement.js.map +2 -2
  189. package/dist/cjs/node/elements/SVGElement.js +2 -2
  190. package/dist/cjs/node/elements/SVGElement.js.map +2 -2
  191. package/dist/cjs/node/elements/index.js +181 -94
  192. package/dist/cjs/node/elements/index.js.map +2 -2
  193. package/dist/cjs/node/index.js +6 -16
  194. package/dist/cjs/node/index.js.map +2 -2
  195. package/dist/cjs/utils/CSSSelector.js.map +2 -2
  196. package/dist/cjs/window/CustomElementRegistryImp.js +113 -0
  197. package/dist/cjs/window/CustomElementRegistryImp.js.map +7 -0
  198. package/dist/cjs/window/Window.js +0 -15
  199. package/dist/cjs/window/Window.js.map +3 -3
  200. package/dist/cjs/window/WindowBase.js +210 -613
  201. package/dist/cjs/window/WindowBase.js.map +2 -2
  202. package/dist/cjs/window/index.js +0 -5
  203. package/dist/cjs/window/index.js.map +2 -2
  204. package/dist/esm/DomParser.js +11 -1
  205. package/dist/esm/DomParser.js.map +2 -2
  206. package/dist/esm/bundle-entry.js +6 -0
  207. package/dist/esm/bundle-entry.js.map +7 -0
  208. package/dist/esm/factory/ElementFactory.js +32 -8
  209. package/dist/esm/factory/ElementFactory.js.map +2 -2
  210. package/dist/esm/index.js +26 -0
  211. package/dist/esm/index.js.map +2 -2
  212. package/dist/esm/node/ChildNodeBase.js +20 -0
  213. package/dist/esm/node/ChildNodeBase.js.map +2 -2
  214. package/dist/esm/node/Comment.js.map +2 -2
  215. package/dist/esm/node/Document.js +0 -8
  216. package/dist/esm/node/Document.js.map +4 -4
  217. package/dist/esm/node/DocumentBase.js +165 -202
  218. package/dist/esm/node/DocumentBase.js.map +2 -2
  219. package/dist/esm/node/DocumentFragmentBase.js.map +2 -2
  220. package/dist/esm/node/Node.js.map +1 -1
  221. package/dist/esm/node/NodeBase.js +45 -22
  222. package/dist/esm/node/NodeBase.js.map +2 -2
  223. package/dist/esm/node/NodeFilter.js +24 -0
  224. package/dist/esm/node/NodeFilter.js.map +7 -0
  225. package/dist/esm/node/NodeIterator.js +1 -28
  226. package/dist/esm/node/NodeIterator.js.map +2 -2
  227. package/dist/esm/node/ParentNodeBase.js +4 -4
  228. package/dist/esm/node/ParentNodeBase.js.map +2 -2
  229. package/dist/esm/node/ShadowRootBase.js +60 -0
  230. package/dist/esm/node/ShadowRootBase.js.map +7 -0
  231. package/dist/esm/node/TextBase.js +0 -3
  232. package/dist/esm/node/TextBase.js.map +2 -2
  233. package/dist/esm/node/TreeWalker.js +253 -0
  234. package/dist/esm/node/TreeWalker.js.map +7 -0
  235. package/dist/esm/node/collection/{HTMLCollection.js → HTMLCollectionImp.js} +4 -3
  236. package/dist/esm/node/collection/HTMLCollectionImp.js.map +7 -0
  237. package/dist/esm/node/collection/HTMLCollectionOfImp.js +7 -0
  238. package/dist/esm/node/collection/HTMLCollectionOfImp.js.map +7 -0
  239. package/dist/esm/node/collection/NodeList.js.map +1 -1
  240. package/dist/esm/node/collection/{NodeListOf.js → NodeListOfImp.js} +3 -3
  241. package/dist/esm/node/collection/NodeListOfImp.js.map +7 -0
  242. package/dist/esm/node/collection/StylePropertyMapImpl.js +46 -0
  243. package/dist/esm/node/collection/StylePropertyMapImpl.js.map +7 -0
  244. package/dist/esm/node/collection/index.js +6 -6
  245. package/dist/esm/node/collection/index.js.map +2 -2
  246. package/dist/esm/node/elements/ElementBase.js +163 -331
  247. package/dist/esm/node/elements/ElementBase.js.map +3 -3
  248. package/dist/esm/node/elements/HTMLAnchorElement.js +2 -2
  249. package/dist/esm/node/elements/HTMLAnchorElement.js.map +2 -2
  250. package/dist/esm/node/elements/HTMLAreaElement.js +2 -2
  251. package/dist/esm/node/elements/HTMLAreaElement.js.map +2 -2
  252. package/dist/esm/node/elements/HTMLAudioElement.js +10 -0
  253. package/dist/esm/node/elements/HTMLAudioElement.js.map +7 -0
  254. package/dist/esm/node/elements/HTMLBaseElement.js +2 -2
  255. package/dist/esm/node/elements/HTMLBaseElement.js.map +2 -2
  256. package/dist/esm/node/elements/HTMLBodyElement.js +2 -2
  257. package/dist/esm/node/elements/HTMLBodyElement.js.map +2 -2
  258. package/dist/esm/node/elements/HTMLButtonElement.js +3 -3
  259. package/dist/esm/node/elements/HTMLButtonElement.js.map +2 -2
  260. package/dist/esm/node/elements/HTMLCanvasElement.js +2 -2
  261. package/dist/esm/node/elements/HTMLCanvasElement.js.map +2 -2
  262. package/dist/esm/node/elements/HTMLCaptionElement.js +2 -2
  263. package/dist/esm/node/elements/HTMLCaptionElement.js.map +2 -2
  264. package/dist/esm/node/elements/HTMLDListElement.js +10 -0
  265. package/dist/esm/node/elements/HTMLDListElement.js.map +7 -0
  266. package/dist/esm/node/elements/HTMLDataElement.js +10 -0
  267. package/dist/esm/node/elements/HTMLDataElement.js.map +7 -0
  268. package/dist/esm/node/elements/HTMLDataListElement.js +10 -0
  269. package/dist/esm/node/elements/HTMLDataListElement.js.map +7 -0
  270. package/dist/esm/node/elements/HTMLDetailsElement.js +10 -0
  271. package/dist/esm/node/elements/HTMLDetailsElement.js.map +7 -0
  272. package/dist/esm/node/elements/HTMLDialogElement.js +10 -0
  273. package/dist/esm/node/elements/HTMLDialogElement.js.map +7 -0
  274. package/dist/esm/node/elements/HTMLDivElement.js +2 -2
  275. package/dist/esm/node/elements/HTMLDivElement.js.map +2 -2
  276. package/dist/esm/node/elements/HTMLElement.js +9 -0
  277. package/dist/esm/node/elements/HTMLElement.js.map +3 -3
  278. package/dist/esm/node/elements/HTMLElementBase.js +43 -43
  279. package/dist/esm/node/elements/HTMLElementBase.js.map +2 -2
  280. package/dist/esm/node/elements/HTMLEmbedElement.js +2 -2
  281. package/dist/esm/node/elements/HTMLEmbedElement.js.map +2 -2
  282. package/dist/esm/node/elements/HTMLFieldSetElement.js +10 -0
  283. package/dist/esm/node/elements/HTMLFieldSetElement.js.map +7 -0
  284. package/dist/esm/node/elements/HTMLFormElement.js +2 -2
  285. package/dist/esm/node/elements/HTMLFormElement.js.map +2 -2
  286. package/dist/esm/node/elements/HTMLH1Element.js +2 -2
  287. package/dist/esm/node/elements/HTMLH1Element.js.map +2 -2
  288. package/dist/esm/node/elements/HTMLHRElement.js +10 -0
  289. package/dist/esm/node/elements/HTMLHRElement.js.map +7 -0
  290. package/dist/esm/node/elements/HTMLHeadElement.js +2 -2
  291. package/dist/esm/node/elements/HTMLHeadElement.js.map +2 -2
  292. package/dist/esm/node/elements/HTMLHtmlElement.js +2 -2
  293. package/dist/esm/node/elements/HTMLHtmlElement.js.map +2 -2
  294. package/dist/esm/node/elements/HTMLIFrameElement.js +10 -0
  295. package/dist/esm/node/elements/HTMLIFrameElement.js.map +7 -0
  296. package/dist/esm/node/elements/HTMLImgElement.js +2 -2
  297. package/dist/esm/node/elements/HTMLImgElement.js.map +2 -2
  298. package/dist/esm/node/elements/HTMLInputElement.js +2 -2
  299. package/dist/esm/node/elements/HTMLInputElement.js.map +2 -2
  300. package/dist/esm/node/elements/HTMLLIElement.js +2 -2
  301. package/dist/esm/node/elements/HTMLLIElement.js.map +2 -2
  302. package/dist/esm/node/elements/HTMLLabelElement.js +10 -0
  303. package/dist/esm/node/elements/HTMLLabelElement.js.map +7 -0
  304. package/dist/esm/node/elements/HTMLLegendElement.js +10 -0
  305. package/dist/esm/node/elements/HTMLLegendElement.js.map +7 -0
  306. package/dist/esm/node/elements/HTMLLinkElement.js +2 -2
  307. package/dist/esm/node/elements/HTMLLinkElement.js.map +2 -2
  308. package/dist/esm/node/elements/HTMLMapElement.js +10 -0
  309. package/dist/esm/node/elements/HTMLMapElement.js.map +7 -0
  310. package/dist/esm/node/elements/HTMLMetaElement.js +2 -2
  311. package/dist/esm/node/elements/HTMLMetaElement.js.map +2 -2
  312. package/dist/esm/node/elements/HTMLMeterElement.js +10 -0
  313. package/dist/esm/node/elements/HTMLMeterElement.js.map +7 -0
  314. package/dist/esm/node/elements/HTMLModElement.js +10 -0
  315. package/dist/esm/node/elements/HTMLModElement.js.map +7 -0
  316. package/dist/esm/node/elements/HTMLOListElement.js +2 -2
  317. package/dist/esm/node/elements/HTMLOListElement.js.map +2 -2
  318. package/dist/esm/node/elements/HTMLObjectElement.js +10 -0
  319. package/dist/esm/node/elements/HTMLObjectElement.js.map +7 -0
  320. package/dist/esm/node/elements/HTMLOptGroupElement.js +10 -0
  321. package/dist/esm/node/elements/HTMLOptGroupElement.js.map +7 -0
  322. package/dist/esm/node/elements/HTMLOptionElement.js +10 -0
  323. package/dist/esm/node/elements/HTMLOptionElement.js.map +7 -0
  324. package/dist/esm/node/elements/HTMLOutputElement.js +10 -0
  325. package/dist/esm/node/elements/HTMLOutputElement.js.map +7 -0
  326. package/dist/esm/node/elements/HTMLPElement.js +2 -2
  327. package/dist/esm/node/elements/HTMLPElement.js.map +2 -2
  328. package/dist/esm/node/elements/HTMLParamElement.js +10 -0
  329. package/dist/esm/node/elements/HTMLParamElement.js.map +7 -0
  330. package/dist/esm/node/elements/HTMLPictureElement.js +10 -0
  331. package/dist/esm/node/elements/HTMLPictureElement.js.map +7 -0
  332. package/dist/esm/node/elements/HTMLPreElement.js +10 -0
  333. package/dist/esm/node/elements/HTMLPreElement.js.map +7 -0
  334. package/dist/esm/node/elements/HTMLProgressElement.js +10 -0
  335. package/dist/esm/node/elements/HTMLProgressElement.js.map +7 -0
  336. package/dist/esm/node/elements/HTMLQuoteElement.js +10 -0
  337. package/dist/esm/node/elements/HTMLQuoteElement.js.map +7 -0
  338. package/dist/esm/node/elements/HTMLScriptElement.js +2 -2
  339. package/dist/esm/node/elements/HTMLScriptElement.js.map +2 -2
  340. package/dist/esm/node/elements/HTMLSelectElement.js +10 -0
  341. package/dist/esm/node/elements/HTMLSelectElement.js.map +7 -0
  342. package/dist/esm/node/elements/HTMLSlotElement.js +10 -0
  343. package/dist/esm/node/elements/HTMLSlotElement.js.map +7 -0
  344. package/dist/esm/node/elements/HTMLSourceElement.js +10 -0
  345. package/dist/esm/node/elements/HTMLSourceElement.js.map +7 -0
  346. package/dist/esm/node/elements/HTMLSpanElement.js +2 -2
  347. package/dist/esm/node/elements/HTMLSpanElement.js.map +2 -2
  348. package/dist/esm/node/elements/HTMLStyleElement.js +2 -2
  349. package/dist/esm/node/elements/HTMLStyleElement.js.map +2 -2
  350. package/dist/esm/node/elements/HTMLTableElement.js +2 -2
  351. package/dist/esm/node/elements/HTMLTableElement.js.map +2 -2
  352. package/dist/esm/node/elements/HTMLTbodyElement.js +2 -2
  353. package/dist/esm/node/elements/HTMLTbodyElement.js.map +2 -2
  354. package/dist/esm/node/elements/HTMLTdElement.js +2 -2
  355. package/dist/esm/node/elements/HTMLTdElement.js.map +2 -2
  356. package/dist/esm/node/elements/HTMLTemplateElement.js +2 -2
  357. package/dist/esm/node/elements/HTMLTemplateElement.js.map +2 -2
  358. package/dist/esm/node/elements/HTMLTextAreaElement.js +10 -0
  359. package/dist/esm/node/elements/HTMLTextAreaElement.js.map +7 -0
  360. package/dist/esm/node/elements/HTMLTfootElement.js +2 -2
  361. package/dist/esm/node/elements/HTMLTfootElement.js.map +2 -2
  362. package/dist/esm/node/elements/HTMLThElement.js +2 -2
  363. package/dist/esm/node/elements/HTMLThElement.js.map +2 -2
  364. package/dist/esm/node/elements/HTMLTheadElement.js +2 -2
  365. package/dist/esm/node/elements/HTMLTheadElement.js.map +2 -2
  366. package/dist/esm/node/elements/HTMLTimeElement.js +10 -0
  367. package/dist/esm/node/elements/HTMLTimeElement.js.map +7 -0
  368. package/dist/esm/node/elements/HTMLTitleElement.js +2 -2
  369. package/dist/esm/node/elements/HTMLTitleElement.js.map +2 -2
  370. package/dist/esm/node/elements/HTMLTrElement.js +2 -2
  371. package/dist/esm/node/elements/HTMLTrElement.js.map +2 -2
  372. package/dist/esm/node/elements/HTMLTrackElement.js +10 -0
  373. package/dist/esm/node/elements/HTMLTrackElement.js.map +7 -0
  374. package/dist/esm/node/elements/HTMLUListElement.js +2 -2
  375. package/dist/esm/node/elements/HTMLUListElement.js.map +2 -2
  376. package/dist/esm/node/elements/HTMLVideoElement.js +10 -0
  377. package/dist/esm/node/elements/HTMLVideoElement.js.map +7 -0
  378. package/dist/esm/node/elements/MathMLElement.js +2 -2
  379. package/dist/esm/node/elements/MathMLElement.js.map +2 -2
  380. package/dist/esm/node/elements/SVGElement.js +2 -2
  381. package/dist/esm/node/elements/SVGElement.js.map +2 -2
  382. package/dist/esm/node/elements/index.js +182 -95
  383. package/dist/esm/node/elements/index.js.map +2 -2
  384. package/dist/esm/node/index.js +7 -17
  385. package/dist/esm/node/index.js.map +2 -2
  386. package/dist/esm/utils/CSSSelector.js.map +2 -2
  387. package/dist/esm/window/CustomElementRegistryImp.js +94 -0
  388. package/dist/esm/window/CustomElementRegistryImp.js.map +7 -0
  389. package/dist/esm/window/WindowBase.js +259 -597
  390. package/dist/esm/window/WindowBase.js.map +2 -2
  391. package/dist/esm/window/index.js +0 -5
  392. package/dist/esm/window/index.js.map +2 -2
  393. package/dist/esm-bundle/dooboostore-dom-parser.esm.js +3477 -3558
  394. package/dist/esm-bundle/dooboostore-dom-parser.esm.js.map +4 -4
  395. package/dist/types/DomParser.d.ts.map +1 -1
  396. package/dist/types/bundle-entry.d.ts +3 -0
  397. package/dist/types/bundle-entry.d.ts.map +1 -0
  398. package/dist/types/factory/ElementFactory.d.ts +1 -1
  399. package/dist/types/factory/ElementFactory.d.ts.map +1 -1
  400. package/dist/types/index.d.ts +14 -1
  401. package/dist/types/index.d.ts.map +1 -1
  402. package/dist/types/node/CharacterData.d.ts +0 -2
  403. package/dist/types/node/CharacterData.d.ts.map +1 -1
  404. package/dist/types/node/ChildNode.d.ts +0 -38
  405. package/dist/types/node/ChildNode.d.ts.map +1 -1
  406. package/dist/types/node/ChildNodeBase.d.ts +6 -4
  407. package/dist/types/node/ChildNodeBase.d.ts.map +1 -1
  408. package/dist/types/node/Comment.d.ts +1 -1
  409. package/dist/types/node/Comment.d.ts.map +1 -1
  410. package/dist/types/node/Document.d.ts +0 -856
  411. package/dist/types/node/Document.d.ts.map +1 -1
  412. package/dist/types/node/DocumentBase.d.ts +68 -110
  413. package/dist/types/node/DocumentBase.d.ts.map +1 -1
  414. package/dist/types/node/DocumentFragment.d.ts +0 -38
  415. package/dist/types/node/DocumentFragment.d.ts.map +1 -1
  416. package/dist/types/node/DocumentFragmentBase.d.ts +1 -8
  417. package/dist/types/node/DocumentFragmentBase.d.ts.map +1 -1
  418. package/dist/types/node/Node.d.ts +0 -213
  419. package/dist/types/node/Node.d.ts.map +1 -1
  420. package/dist/types/node/NodeBase.d.ts +11 -8
  421. package/dist/types/node/NodeBase.d.ts.map +1 -1
  422. package/dist/types/node/NodeFilter.d.ts +25 -0
  423. package/dist/types/node/NodeFilter.d.ts.map +1 -0
  424. package/dist/types/node/NodeIterator.d.ts +0 -34
  425. package/dist/types/node/NodeIterator.d.ts.map +1 -1
  426. package/dist/types/node/ParentNode.d.ts +0 -84
  427. package/dist/types/node/ParentNode.d.ts.map +1 -1
  428. package/dist/types/node/ParentNodeBase.d.ts +0 -5
  429. package/dist/types/node/ParentNodeBase.d.ts.map +1 -1
  430. package/dist/types/node/ShadowRootBase.d.ts +36 -0
  431. package/dist/types/node/ShadowRootBase.d.ts.map +1 -0
  432. package/dist/types/node/Text.d.ts +0 -24
  433. package/dist/types/node/Text.d.ts.map +1 -1
  434. package/dist/types/node/TextBase.d.ts +2 -3
  435. package/dist/types/node/TextBase.d.ts.map +1 -1
  436. package/dist/types/node/TreeWalker.d.ts +48 -0
  437. package/dist/types/node/TreeWalker.d.ts.map +1 -0
  438. package/dist/types/node/collection/{HTMLCollection.d.ts → HTMLCollectionImp.d.ts} +2 -3
  439. package/dist/types/node/collection/HTMLCollectionImp.d.ts.map +1 -0
  440. package/dist/types/node/collection/HTMLCollectionOfImp.d.ts +9 -0
  441. package/dist/types/node/collection/HTMLCollectionOfImp.d.ts.map +1 -0
  442. package/dist/types/node/collection/NodeList.d.ts +0 -1
  443. package/dist/types/node/collection/NodeList.d.ts.map +1 -1
  444. package/dist/types/node/collection/{NodeListOf.d.ts → NodeListOfImp.d.ts} +3 -4
  445. package/dist/types/node/collection/NodeListOfImp.d.ts.map +1 -0
  446. package/dist/types/node/collection/StylePropertyMapImpl.d.ts +20 -0
  447. package/dist/types/node/collection/StylePropertyMapImpl.d.ts.map +1 -0
  448. package/dist/types/node/collection/index.d.ts +3 -3
  449. package/dist/types/node/collection/index.d.ts.map +1 -1
  450. package/dist/types/node/elements/Element.d.ts +0 -687
  451. package/dist/types/node/elements/Element.d.ts.map +1 -1
  452. package/dist/types/node/elements/ElementBase.d.ts +98 -74
  453. package/dist/types/node/elements/ElementBase.d.ts.map +1 -1
  454. package/dist/types/node/elements/HTMLAnchorElement.d.ts +2 -2
  455. package/dist/types/node/elements/HTMLAnchorElement.d.ts.map +1 -1
  456. package/dist/types/node/elements/HTMLAreaElement.d.ts +2 -3
  457. package/dist/types/node/elements/HTMLAreaElement.d.ts.map +1 -1
  458. package/dist/types/node/elements/HTMLAudioElement.d.ts +8 -0
  459. package/dist/types/node/elements/HTMLAudioElement.d.ts.map +1 -0
  460. package/dist/types/node/elements/HTMLBaseElement.d.ts +2 -2
  461. package/dist/types/node/elements/HTMLBaseElement.d.ts.map +1 -1
  462. package/dist/types/node/elements/HTMLBodyElement.d.ts +2 -2
  463. package/dist/types/node/elements/HTMLBodyElement.d.ts.map +1 -1
  464. package/dist/types/node/elements/HTMLButtonElement.d.ts +3 -3
  465. package/dist/types/node/elements/HTMLButtonElement.d.ts.map +1 -1
  466. package/dist/types/node/elements/HTMLCanvasElement.d.ts +2 -2
  467. package/dist/types/node/elements/HTMLCanvasElement.d.ts.map +1 -1
  468. package/dist/types/node/elements/HTMLCaptionElement.d.ts +2 -2
  469. package/dist/types/node/elements/HTMLCaptionElement.d.ts.map +1 -1
  470. package/dist/types/node/elements/HTMLDListElement.d.ts +5 -0
  471. package/dist/types/node/elements/HTMLDListElement.d.ts.map +1 -0
  472. package/dist/types/node/elements/HTMLDataElement.d.ts +5 -0
  473. package/dist/types/node/elements/HTMLDataElement.d.ts.map +1 -0
  474. package/dist/types/node/elements/HTMLDataListElement.d.ts +5 -0
  475. package/dist/types/node/elements/HTMLDataListElement.d.ts.map +1 -0
  476. package/dist/types/node/elements/HTMLDetailsElement.d.ts +5 -0
  477. package/dist/types/node/elements/HTMLDetailsElement.d.ts.map +1 -0
  478. package/dist/types/node/elements/HTMLDialogElement.d.ts +5 -0
  479. package/dist/types/node/elements/HTMLDialogElement.d.ts.map +1 -0
  480. package/dist/types/node/elements/HTMLDivElement.d.ts +2 -2
  481. package/dist/types/node/elements/HTMLDivElement.d.ts.map +1 -1
  482. package/dist/types/node/elements/HTMLElement.d.ts +3 -119
  483. package/dist/types/node/elements/HTMLElement.d.ts.map +1 -1
  484. package/dist/types/node/elements/HTMLElementBase.d.ts +126 -5
  485. package/dist/types/node/elements/HTMLElementBase.d.ts.map +1 -1
  486. package/dist/types/node/elements/HTMLEmbedElement.d.ts +2 -3
  487. package/dist/types/node/elements/HTMLEmbedElement.d.ts.map +1 -1
  488. package/dist/types/node/elements/HTMLFieldSetElement.d.ts +5 -0
  489. package/dist/types/node/elements/HTMLFieldSetElement.d.ts.map +1 -0
  490. package/dist/types/node/elements/HTMLFormElement.d.ts +2 -2
  491. package/dist/types/node/elements/HTMLFormElement.d.ts.map +1 -1
  492. package/dist/types/node/elements/HTMLH1Element.d.ts +2 -2
  493. package/dist/types/node/elements/HTMLH1Element.d.ts.map +1 -1
  494. package/dist/types/node/elements/HTMLHRElement.d.ts +5 -0
  495. package/dist/types/node/elements/HTMLHRElement.d.ts.map +1 -0
  496. package/dist/types/node/elements/HTMLHeadElement.d.ts +2 -2
  497. package/dist/types/node/elements/HTMLHeadElement.d.ts.map +1 -1
  498. package/dist/types/node/elements/HTMLHtmlElement.d.ts +2 -2
  499. package/dist/types/node/elements/HTMLHtmlElement.d.ts.map +1 -1
  500. package/dist/types/node/elements/HTMLIFrameElement.d.ts +5 -0
  501. package/dist/types/node/elements/HTMLIFrameElement.d.ts.map +1 -0
  502. package/dist/types/node/elements/HTMLImgElement.d.ts +2 -2
  503. package/dist/types/node/elements/HTMLImgElement.d.ts.map +1 -1
  504. package/dist/types/node/elements/HTMLInputElement.d.ts +2 -2
  505. package/dist/types/node/elements/HTMLInputElement.d.ts.map +1 -1
  506. package/dist/types/node/elements/HTMLLIElement.d.ts +2 -2
  507. package/dist/types/node/elements/HTMLLIElement.d.ts.map +1 -1
  508. package/dist/types/node/elements/HTMLLabelElement.d.ts +5 -0
  509. package/dist/types/node/elements/HTMLLabelElement.d.ts.map +1 -0
  510. package/dist/types/node/elements/HTMLLegendElement.d.ts +5 -0
  511. package/dist/types/node/elements/HTMLLegendElement.d.ts.map +1 -0
  512. package/dist/types/node/elements/HTMLLinkElement.d.ts +2 -2
  513. package/dist/types/node/elements/HTMLLinkElement.d.ts.map +1 -1
  514. package/dist/types/node/elements/HTMLMapElement.d.ts +5 -0
  515. package/dist/types/node/elements/HTMLMapElement.d.ts.map +1 -0
  516. package/dist/types/node/elements/HTMLMetaElement.d.ts +2 -2
  517. package/dist/types/node/elements/HTMLMetaElement.d.ts.map +1 -1
  518. package/dist/types/node/elements/HTMLMeterElement.d.ts +5 -0
  519. package/dist/types/node/elements/HTMLMeterElement.d.ts.map +1 -0
  520. package/dist/types/node/elements/HTMLModElement.d.ts +5 -0
  521. package/dist/types/node/elements/HTMLModElement.d.ts.map +1 -0
  522. package/dist/types/node/elements/HTMLOListElement.d.ts +2 -2
  523. package/dist/types/node/elements/HTMLOListElement.d.ts.map +1 -1
  524. package/dist/types/node/elements/HTMLObjectElement.d.ts +5 -0
  525. package/dist/types/node/elements/HTMLObjectElement.d.ts.map +1 -0
  526. package/dist/types/node/elements/HTMLOptGroupElement.d.ts +5 -0
  527. package/dist/types/node/elements/HTMLOptGroupElement.d.ts.map +1 -0
  528. package/dist/types/node/elements/HTMLOptionElement.d.ts +5 -0
  529. package/dist/types/node/elements/HTMLOptionElement.d.ts.map +1 -0
  530. package/dist/types/node/elements/HTMLOutputElement.d.ts +5 -0
  531. package/dist/types/node/elements/HTMLOutputElement.d.ts.map +1 -0
  532. package/dist/types/node/elements/HTMLPElement.d.ts +2 -2
  533. package/dist/types/node/elements/HTMLPElement.d.ts.map +1 -1
  534. package/dist/types/node/elements/HTMLParamElement.d.ts +5 -0
  535. package/dist/types/node/elements/HTMLParamElement.d.ts.map +1 -0
  536. package/dist/types/node/elements/HTMLPictureElement.d.ts +5 -0
  537. package/dist/types/node/elements/HTMLPictureElement.d.ts.map +1 -0
  538. package/dist/types/node/elements/HTMLPreElement.d.ts +5 -0
  539. package/dist/types/node/elements/HTMLPreElement.d.ts.map +1 -0
  540. package/dist/types/node/elements/HTMLProgressElement.d.ts +5 -0
  541. package/dist/types/node/elements/HTMLProgressElement.d.ts.map +1 -0
  542. package/dist/types/node/elements/HTMLQuoteElement.d.ts +5 -0
  543. package/dist/types/node/elements/HTMLQuoteElement.d.ts.map +1 -0
  544. package/dist/types/node/elements/HTMLScriptElement.d.ts +2 -2
  545. package/dist/types/node/elements/HTMLScriptElement.d.ts.map +1 -1
  546. package/dist/types/node/elements/HTMLSelectElement.d.ts +5 -0
  547. package/dist/types/node/elements/HTMLSelectElement.d.ts.map +1 -0
  548. package/dist/types/node/elements/HTMLSlotElement.d.ts +5 -0
  549. package/dist/types/node/elements/HTMLSlotElement.d.ts.map +1 -0
  550. package/dist/types/node/elements/HTMLSourceElement.d.ts +5 -0
  551. package/dist/types/node/elements/HTMLSourceElement.d.ts.map +1 -0
  552. package/dist/types/node/elements/HTMLSpanElement.d.ts +2 -2
  553. package/dist/types/node/elements/HTMLSpanElement.d.ts.map +1 -1
  554. package/dist/types/node/elements/HTMLStyleElement.d.ts +2 -2
  555. package/dist/types/node/elements/HTMLStyleElement.d.ts.map +1 -1
  556. package/dist/types/node/elements/HTMLTableElement.d.ts +5 -6
  557. package/dist/types/node/elements/HTMLTableElement.d.ts.map +1 -1
  558. package/dist/types/node/elements/HTMLTbodyElement.d.ts +3 -4
  559. package/dist/types/node/elements/HTMLTbodyElement.d.ts.map +1 -1
  560. package/dist/types/node/elements/HTMLTdElement.d.ts +2 -2
  561. package/dist/types/node/elements/HTMLTdElement.d.ts.map +1 -1
  562. package/dist/types/node/elements/HTMLTemplateElement.d.ts +2 -3
  563. package/dist/types/node/elements/HTMLTemplateElement.d.ts.map +1 -1
  564. package/dist/types/node/elements/HTMLTextAreaElement.d.ts +5 -0
  565. package/dist/types/node/elements/HTMLTextAreaElement.d.ts.map +1 -0
  566. package/dist/types/node/elements/HTMLTfootElement.d.ts +4 -5
  567. package/dist/types/node/elements/HTMLTfootElement.d.ts.map +1 -1
  568. package/dist/types/node/elements/HTMLThElement.d.ts +2 -2
  569. package/dist/types/node/elements/HTMLThElement.d.ts.map +1 -1
  570. package/dist/types/node/elements/HTMLTheadElement.d.ts +4 -5
  571. package/dist/types/node/elements/HTMLTheadElement.d.ts.map +1 -1
  572. package/dist/types/node/elements/HTMLTimeElement.d.ts +5 -0
  573. package/dist/types/node/elements/HTMLTimeElement.d.ts.map +1 -0
  574. package/dist/types/node/elements/HTMLTitleElement.d.ts +2 -2
  575. package/dist/types/node/elements/HTMLTitleElement.d.ts.map +1 -1
  576. package/dist/types/node/elements/HTMLTrElement.d.ts +4 -5
  577. package/dist/types/node/elements/HTMLTrElement.d.ts.map +1 -1
  578. package/dist/types/node/elements/HTMLTrackElement.d.ts +5 -0
  579. package/dist/types/node/elements/HTMLTrackElement.d.ts.map +1 -0
  580. package/dist/types/node/elements/HTMLUListElement.d.ts +2 -2
  581. package/dist/types/node/elements/HTMLUListElement.d.ts.map +1 -1
  582. package/dist/types/node/elements/HTMLVideoElement.d.ts +8 -0
  583. package/dist/types/node/elements/HTMLVideoElement.d.ts.map +1 -0
  584. package/dist/types/node/elements/MathMLElement.d.ts +2 -2
  585. package/dist/types/node/elements/MathMLElement.d.ts.map +1 -1
  586. package/dist/types/node/elements/SVGElement.d.ts +2 -2
  587. package/dist/types/node/elements/SVGElement.d.ts.map +1 -1
  588. package/dist/types/node/elements/index.d.ts +108 -55
  589. package/dist/types/node/elements/index.d.ts.map +1 -1
  590. package/dist/types/node/index.d.ts +4 -7
  591. package/dist/types/node/index.d.ts.map +1 -1
  592. package/dist/types/utils/CSSSelector.d.ts +0 -1
  593. package/dist/types/utils/CSSSelector.d.ts.map +1 -1
  594. package/dist/types/window/CustomElementRegistryImp.d.ts +19 -0
  595. package/dist/types/window/CustomElementRegistryImp.d.ts.map +1 -0
  596. package/dist/types/window/Window.d.ts +0 -619
  597. package/dist/types/window/Window.d.ts.map +1 -1
  598. package/dist/types/window/WindowBase.d.ts +253 -286
  599. package/dist/types/window/WindowBase.d.ts.map +1 -1
  600. package/dist/types/window/index.d.ts +0 -1
  601. package/dist/types/window/index.d.ts.map +1 -1
  602. package/dist/umd-bundle/dooboostore-dom-parser.umd.js +3482 -3563
  603. package/dist/umd-bundle/dooboostore-dom-parser.umd.js.map +4 -4
  604. package/package.json +6 -1
  605. package/src/DomParser.ts +29 -20
  606. package/src/bundle-entry.ts +2 -0
  607. package/src/factory/ElementFactory.ts +87 -54
  608. package/src/index.ts +22 -10
  609. package/src/node/CharacterData.ts +0 -2
  610. package/src/node/ChildNode.ts +42 -42
  611. package/src/node/ChildNodeBase.ts +60 -39
  612. package/src/node/Comment.ts +60 -60
  613. package/src/node/Document.ts +129 -882
  614. package/src/node/DocumentBase.ts +371 -467
  615. package/src/node/DocumentFragment.ts +38 -44
  616. package/src/node/DocumentFragmentBase.ts +4 -9
  617. package/src/node/Node.ts +231 -224
  618. package/src/node/NodeBase.ts +469 -443
  619. package/src/node/NodeFilter.ts +50 -0
  620. package/src/node/NodeIterator.ts +117 -172
  621. package/src/node/ParentNode.ts +93 -93
  622. package/src/node/ParentNodeBase.ts +7 -10
  623. package/src/node/ShadowRootBase.ts +87 -0
  624. package/src/node/Text.ts +30 -30
  625. package/src/node/TextBase.ts +92 -94
  626. package/src/node/TreeWalker.ts +280 -0
  627. package/src/node/collection/{HTMLCollection.ts → HTMLCollectionImp.ts} +3 -2
  628. package/src/node/collection/HTMLCollectionOfImp.ts +12 -0
  629. package/src/node/collection/NodeList.ts +1 -1
  630. package/src/node/collection/{NodeListOf.ts → NodeListOfImp.ts} +3 -3
  631. package/src/node/collection/StylePropertyMapImpl.ts +60 -0
  632. package/src/node/collection/index.ts +3 -3
  633. package/src/node/elements/Element.ts +212 -772
  634. package/src/node/elements/ElementBase.ts +840 -1204
  635. package/src/node/elements/HTMLAnchorElement.ts +2 -1
  636. package/src/node/elements/HTMLAreaElement.ts +2 -2
  637. package/src/node/elements/HTMLAudioElement.ts +11 -0
  638. package/src/node/elements/HTMLBaseElement.ts +2 -1
  639. package/src/node/elements/HTMLBodyElement.ts +2 -1
  640. package/src/node/elements/HTMLButtonElement.ts +65 -64
  641. package/src/node/elements/HTMLCanvasElement.ts +2 -1
  642. package/src/node/elements/HTMLCaptionElement.ts +2 -1
  643. package/src/node/elements/HTMLDListElement.ts +8 -0
  644. package/src/node/elements/HTMLDataElement.ts +7 -0
  645. package/src/node/elements/HTMLDataListElement.ts +8 -0
  646. package/src/node/elements/HTMLDetailsElement.ts +8 -0
  647. package/src/node/elements/HTMLDialogElement.ts +8 -0
  648. package/src/node/elements/HTMLDivElement.ts +2 -1
  649. package/src/node/elements/HTMLElement.ts +6 -137
  650. package/src/node/elements/HTMLElementBase.ts +472 -355
  651. package/src/node/elements/HTMLEmbedElement.ts +2 -2
  652. package/src/node/elements/HTMLFieldSetElement.ts +8 -0
  653. package/src/node/elements/HTMLFormElement.ts +2 -1
  654. package/src/node/elements/HTMLH1Element.ts +2 -1
  655. package/src/node/elements/HTMLHRElement.ts +8 -0
  656. package/src/node/elements/HTMLHeadElement.ts +2 -1
  657. package/src/node/elements/HTMLHtmlElement.ts +2 -1
  658. package/src/node/elements/HTMLIFrameElement.ts +8 -0
  659. package/src/node/elements/HTMLImgElement.ts +2 -1
  660. package/src/node/elements/HTMLInputElement.ts +2 -1
  661. package/src/node/elements/HTMLLIElement.ts +2 -1
  662. package/src/node/elements/HTMLLabelElement.ts +3 -0
  663. package/src/node/elements/HTMLLegendElement.ts +3 -0
  664. package/src/node/elements/HTMLLinkElement.ts +2 -1
  665. package/src/node/elements/HTMLMapElement.ts +3 -0
  666. package/src/node/elements/HTMLMetaElement.ts +2 -1
  667. package/src/node/elements/HTMLMeterElement.ts +3 -0
  668. package/src/node/elements/HTMLModElement.ts +3 -0
  669. package/src/node/elements/HTMLOListElement.ts +2 -1
  670. package/src/node/elements/HTMLObjectElement.ts +3 -0
  671. package/src/node/elements/HTMLOptGroupElement.ts +3 -0
  672. package/src/node/elements/HTMLOptionElement.ts +3 -0
  673. package/src/node/elements/HTMLOutputElement.ts +3 -0
  674. package/src/node/elements/HTMLPElement.ts +2 -1
  675. package/src/node/elements/HTMLParamElement.ts +3 -0
  676. package/src/node/elements/HTMLPictureElement.ts +3 -0
  677. package/src/node/elements/HTMLPreElement.ts +3 -0
  678. package/src/node/elements/HTMLProgressElement.ts +3 -0
  679. package/src/node/elements/HTMLQuoteElement.ts +3 -0
  680. package/src/node/elements/HTMLScriptElement.ts +2 -1
  681. package/src/node/elements/HTMLSelectElement.ts +3 -0
  682. package/src/node/elements/HTMLSlotElement.ts +3 -0
  683. package/src/node/elements/HTMLSourceElement.ts +3 -0
  684. package/src/node/elements/HTMLSpanElement.ts +2 -1
  685. package/src/node/elements/HTMLStyleElement.ts +2 -1
  686. package/src/node/elements/HTMLTableElement.ts +5 -8
  687. package/src/node/elements/HTMLTbodyElement.ts +4 -4
  688. package/src/node/elements/HTMLTdElement.ts +3 -2
  689. package/src/node/elements/HTMLTemplateElement.ts +5 -7
  690. package/src/node/elements/HTMLTextAreaElement.ts +3 -0
  691. package/src/node/elements/HTMLTfootElement.ts +4 -4
  692. package/src/node/elements/HTMLThElement.ts +2 -1
  693. package/src/node/elements/HTMLTheadElement.ts +5 -5
  694. package/src/node/elements/HTMLTimeElement.ts +3 -0
  695. package/src/node/elements/HTMLTitleElement.ts +2 -1
  696. package/src/node/elements/HTMLTrElement.ts +7 -5
  697. package/src/node/elements/HTMLTrackElement.ts +3 -0
  698. package/src/node/elements/HTMLUListElement.ts +2 -1
  699. package/src/node/elements/HTMLVideoElement.ts +11 -0
  700. package/src/node/elements/MathMLElement.ts +2 -1
  701. package/src/node/elements/SVGElement.ts +2 -1
  702. package/src/node/elements/index.ts +231 -153
  703. package/src/node/index.ts +8 -8
  704. package/src/utils/CSSSelector.ts +0 -1
  705. package/src/window/CustomElementRegistryImp.ts +138 -0
  706. package/src/window/Window.ts +716 -715
  707. package/src/window/WindowBase.ts +482 -847
  708. package/src/window/index.ts +0 -1
  709. package/tsconfig.json +1 -0
  710. package/dist/cjs/node/collection/HTMLCollection.js.map +0 -7
  711. package/dist/cjs/node/collection/HTMLCollectionOf.js.map +0 -7
  712. package/dist/cjs/node/collection/NodeListOf.js.map +0 -7
  713. package/dist/cjs/node/elements/HTMLGenericElement.js.map +0 -7
  714. package/dist/esm/node/collection/HTMLCollection.js.map +0 -7
  715. package/dist/esm/node/collection/HTMLCollectionOf.js +0 -17
  716. package/dist/esm/node/collection/HTMLCollectionOf.js.map +0 -7
  717. package/dist/esm/node/collection/NodeListOf.js.map +0 -7
  718. package/dist/esm/node/elements/HTMLGenericElement.js +0 -13
  719. package/dist/esm/node/elements/HTMLGenericElement.js.map +0 -7
  720. package/dist/types/node/collection/HTMLCollection.d.ts.map +0 -1
  721. package/dist/types/node/collection/HTMLCollectionOf.d.ts +0 -14
  722. package/dist/types/node/collection/HTMLCollectionOf.d.ts.map +0 -1
  723. package/dist/types/node/collection/NodeListOf.d.ts.map +0 -1
  724. package/dist/types/node/elements/HTMLGenericElement.d.ts +0 -6
  725. package/dist/types/node/elements/HTMLGenericElement.d.ts.map +0 -1
  726. package/src/node/collection/HTMLCollectionOf.ts +0 -26
  727. package/src/node/elements/HTMLGenericElement.ts +0 -13
@@ -23,36 +23,8 @@ module.exports = __toCommonJS(WindowBase_exports);
23
23
  var import_DocumentBase = require("../node/DocumentBase");
24
24
  var import_NodeBase = require("../node/NodeBase");
25
25
  var import_ElementBase = require("../node/elements/ElementBase");
26
- var import_HTMLAnchorElement = require("../node/elements/HTMLAnchorElement");
27
- var import_HTMLBodyElement = require("../node/elements/HTMLBodyElement");
28
- var import_HTMLButtonElement = require("../node/elements/HTMLButtonElement");
29
- var import_HTMLCanvasElement = require("../node/elements/HTMLCanvasElement");
30
- var import_HTMLDivElement = require("../node/elements/HTMLDivElement");
31
- var import_HTMLH1Element = require("../node/elements/HTMLH1Element");
32
- var import_HTMLHeadElement = require("../node/elements/HTMLHeadElement");
33
- var import_HTMLHtmlElement = require("../node/elements/HTMLHtmlElement");
34
- var import_HTMLImgElement = require("../node/elements/HTMLImgElement");
35
- var import_HTMLInputElement = require("../node/elements/HTMLInputElement");
36
- var import_HTMLPElement = require("../node/elements/HTMLPElement");
37
- var import_HTMLSpanElement = require("../node/elements/HTMLSpanElement");
38
- var import_HTMLTitleElement = require("../node/elements/HTMLTitleElement");
39
- var import_HTMLLinkElement = require("../node/elements/HTMLLinkElement");
40
- var import_HTMLScriptElement = require("../node/elements/HTMLScriptElement");
41
- var import_HTMLStyleElement = require("../node/elements/HTMLStyleElement");
42
- var import_HTMLFormElement = require("../node/elements/HTMLFormElement");
43
- var import_HTMLTableElement = require("../node/elements/HTMLTableElement");
44
- var import_HTMLUListElement = require("../node/elements/HTMLUListElement");
45
- var import_HTMLOListElement = require("../node/elements/HTMLOListElement");
46
- var import_HTMLLIElement = require("../node/elements/HTMLLIElement");
47
- var import_HTMLMetaElement = require("../node/elements/HTMLMetaElement");
48
- var import_HTMLTemplateElement = require("../node/elements/HTMLTemplateElement");
49
- var import_HTMLTheadElement = require("../node/elements/HTMLTheadElement");
50
- var import_HTMLTfootElement = require("../node/elements/HTMLTfootElement");
51
- var import_HTMLTrElement = require("../node/elements/HTMLTrElement");
52
- var import_HTMLTdElement = require("../node/elements/HTMLTdElement");
53
- var import_HTMLThElement = require("../node/elements/HTMLThElement");
54
- var import_HTMLCaptionElement = require("../node/elements/HTMLCaptionElement");
55
- var import_HTMLTbodyElement = require("../node/elements/HTMLTbodyElement");
26
+ var import_elements = require("../node/elements");
27
+ var import_CustomElementRegistryImp = require("./CustomElementRegistryImp");
56
28
  class LocationBase {
57
29
  constructor(initialUrl = "about:blank", urlChangeCallback) {
58
30
  this._href = "about:blank";
@@ -81,9 +53,7 @@ class LocationBase {
81
53
  return this._protocol;
82
54
  }
83
55
  set protocol(value) {
84
- if (!value.endsWith(":")) {
85
- value += ":";
86
- }
56
+ if (!value.endsWith(":")) value += ":";
87
57
  this._protocol = value;
88
58
  this.reconstructUrl();
89
59
  }
@@ -122,9 +92,7 @@ class LocationBase {
122
92
  return this._pathname;
123
93
  }
124
94
  set pathname(value) {
125
- if (!value.startsWith("/")) {
126
- value = "/" + value;
127
- }
95
+ if (!value.startsWith("/")) value = "/" + value;
128
96
  this._pathname = value;
129
97
  this.reconstructUrl();
130
98
  }
@@ -132,9 +100,7 @@ class LocationBase {
132
100
  return this._search;
133
101
  }
134
102
  set search(value) {
135
- if (value && !value.startsWith("?")) {
136
- value = "?" + value;
137
- }
103
+ if (value && !value.startsWith("?")) value = "?" + value;
138
104
  this._search = value;
139
105
  this.reconstructUrl();
140
106
  }
@@ -142,9 +108,7 @@ class LocationBase {
142
108
  return this._hash;
143
109
  }
144
110
  set hash(value) {
145
- if (value && !value.startsWith("#")) {
146
- value = "#" + value;
147
- }
111
+ if (value && !value.startsWith("#")) value = "#" + value;
148
112
  this._hash = value;
149
113
  this.reconstructUrl();
150
114
  }
@@ -159,13 +123,9 @@ class LocationBase {
159
123
  }
160
124
  }
161
125
  replace(url) {
162
- const oldHref = this._href;
163
- this.parseUrl(url);
164
- if (this._href !== oldHref && this.urlChangeCallback) {
165
- this.urlChangeCallback(this._href);
166
- }
126
+ this.assign(url);
167
127
  }
168
- reload(forcedReload) {
128
+ reload(_forcedReload) {
169
129
  }
170
130
  toString() {
171
131
  return this._href;
@@ -211,9 +171,7 @@ class LocationBase {
211
171
  let url = this._protocol;
212
172
  if (this._protocol !== "about:" && this._protocol !== "data:") {
213
173
  url += "//";
214
- if (this._host) {
215
- url += this._host;
216
- }
174
+ if (this._host) url += this._host;
217
175
  }
218
176
  url += this._pathname;
219
177
  url += this._search;
@@ -296,288 +254,150 @@ class NavigatorBase {
296
254
  this.cookieEnabled = false;
297
255
  this.onLine = true;
298
256
  }
257
+ canShare(data) {
258
+ throw new Error("Method not implemented.");
259
+ }
260
+ getGamepads() {
261
+ throw new Error("Method not implemented.");
262
+ }
263
+ requestMIDIAccess(options) {
264
+ throw new Error("Method not implemented.");
265
+ }
266
+ requestMediaKeySystemAccess(keySystem, supportedConfigurations) {
267
+ throw new Error("Method not implemented.");
268
+ }
269
+ sendBeacon(url, data) {
270
+ throw new Error("Method not implemented.");
271
+ }
272
+ share(data) {
273
+ throw new Error("Method not implemented.");
274
+ }
275
+ vibrate(pattern) {
276
+ throw new Error("Method not implemented.");
277
+ }
278
+ clearAppBadge() {
279
+ throw new Error("Method not implemented.");
280
+ }
281
+ setAppBadge(contents) {
282
+ throw new Error("Method not implemented.");
283
+ }
284
+ registerProtocolHandler(scheme, url) {
285
+ throw new Error("Method not implemented.");
286
+ }
287
+ javaEnabled() {
288
+ throw new Error("Method not implemented.");
289
+ }
299
290
  }
300
291
  class WindowBase {
301
292
  constructor(config) {
302
- // Event system
303
293
  this._eventListeners = [];
304
- // Timers and intervals tracking
305
294
  this._timers = /* @__PURE__ */ new Set();
306
295
  this._intervals = /* @__PURE__ */ new Set();
307
296
  this._animationFrames = /* @__PURE__ */ new Set();
308
297
  this._closed = false;
309
298
  this.cookieStore = {};
310
- this.customElements = {};
311
299
  this.devicePixelRatio = 1;
312
- this.event = void 0;
313
- this.external = {};
314
- this.frameElement = null;
315
- this.frames = {};
316
- this.innerHeight = 768;
317
- this.innerWidth = 1024;
318
- this.length = 0;
319
- this.locationbar = {};
320
- this.menubar = {};
321
- this.name = "";
322
- this.ondevicemotion = null;
323
- this.ondeviceorientation = null;
324
- this.ondeviceorientationabsolute = null;
325
- this.onorientationchange = null;
326
- this.opener = null;
327
- this.orientation = 0;
328
- this.originAgentCluster = false;
329
- this.outerHeight = 768;
330
- this.outerWidth = 1024;
331
- this.pageXOffset = 0;
332
- this.pageYOffset = 0;
333
- this.parent = {};
334
- this.personalbar = {};
335
- this.screen = {};
336
- this.screenLeft = 0;
337
- this.screenTop = 0;
338
- this.screenX = 0;
339
- this.screenY = 0;
340
- this.scrollX = 0;
341
- this.scrollY = 0;
342
- this.scrollbars = {};
343
300
  this.self = this;
344
- this.speechSynthesis = {};
345
- this.status = "";
346
- this.statusbar = {};
347
- this.toolbar = {};
348
- this.top = null;
349
- this.visualViewport = null;
350
301
  this.window = this;
351
302
  // Global constructors
352
- this.Node = import_NodeBase.NodeBase;
353
- this.Element = import_ElementBase.ElementBase;
354
- this.HTMLElement = import_ElementBase.ElementBase;
355
303
  this.Event = class Event {
304
+ constructor(type) {
305
+ this.type = type;
306
+ }
356
307
  };
357
- this.PopStateEvent = class PopStateEvent extends this.Event {
358
- };
359
- this.IntersectionObserver = class IntersectionObserver {
360
- };
361
- this.NodeFilter = class NodeFilter {
362
- };
363
- this.DocumentFragment = class DocumentFragment {
364
- };
365
- this.HTMLMetaElement = import_HTMLMetaElement.HTMLMetaElement;
366
- this.HTMLCanvasElement = import_HTMLCanvasElement.HTMLCanvasElement;
367
- this.CanvasRenderingContext2D = class CanvasRenderingContext2D {
368
- };
369
- this.CanvasPattern = class CanvasPattern {
370
- };
371
- this.CanvasGradient = class CanvasGradient {
372
- };
373
- this.Path2D = class Path2D {
374
- };
375
- this.ImageData = class ImageData {
308
+ this.CustomEvent = class CustomEvent extends this.Event {
309
+ constructor(type, detail) {
310
+ super(type);
311
+ this.detail = detail;
312
+ }
376
313
  };
377
- // HTML element constructors
378
- this.HTMLAnchorElement = import_HTMLAnchorElement.HTMLAnchorElement;
379
- this.HTMLBodyElement = import_HTMLBodyElement.HTMLBodyElement;
380
- this.HTMLButtonElement = import_HTMLButtonElement.HTMLButtonElement;
381
- this.HTMLDivElement = import_HTMLDivElement.HTMLDivElement;
382
- this.HTMLH1Element = import_HTMLH1Element.HTMLH1Element;
383
- this.HTMLHeadElement = import_HTMLHeadElement.HTMLHeadElement;
384
- this.HTMLHtmlElement = import_HTMLHtmlElement.HTMLHtmlElement;
385
- this.HTMLImgElement = import_HTMLImgElement.HTMLImgElement;
386
- this.HTMLInputElement = import_HTMLInputElement.HTMLInputElement;
387
- this.HTMLPElement = import_HTMLPElement.HTMLPElement;
388
- this.HTMLSpanElement = import_HTMLSpanElement.HTMLSpanElement;
389
- this.HTMLTitleElement = import_HTMLTitleElement.HTMLTitleElement;
390
- this.HTMLLinkElement = import_HTMLLinkElement.HTMLLinkElement;
391
- this.HTMLScriptElement = import_HTMLScriptElement.HTMLScriptElement;
392
- this.HTMLStyleElement = import_HTMLStyleElement.HTMLStyleElement;
393
- this.HTMLFormElement = import_HTMLFormElement.HTMLFormElement;
394
- this.HTMLTableElement = import_HTMLTableElement.HTMLTableElement;
395
- this.HTMLUListElement = import_HTMLUListElement.HTMLUListElement;
396
- this.HTMLOListElement = import_HTMLOListElement.HTMLOListElement;
397
- this.HTMLLIElement = import_HTMLLIElement.HTMLLIElement;
398
- this.HTMLTemplateElement = import_HTMLTemplateElement.HTMLTemplateElement;
399
- this.HTMLTheadElement = import_HTMLTheadElement.HTMLTheadElement;
400
- this.HTMLTfootElement = import_HTMLTfootElement.HTMLTfootElement;
401
- this.HTMLTrElement = import_HTMLTrElement.HTMLTrElement;
402
- this.HTMLTdElement = import_HTMLTdElement.HTMLTdElement;
403
- this.HTMLThElement = import_HTMLThElement.HTMLThElement;
404
- this.HTMLCaptionElement = import_HTMLCaptionElement.HTMLCaptionElement;
405
- this.HTMLTbodyElement = import_HTMLTbodyElement.HTMLTbodyElement;
406
- // EventTarget methods (inherited)
407
- // These are already covered by addEventListener/removeEventListener/dispatchEvent
408
- // GlobalEventHandlers - empty implementations
409
- this.onabort = null;
410
- this.onanimationcancel = null;
411
- this.onanimationend = null;
412
- this.onanimationiteration = null;
413
- this.onanimationstart = null;
414
- this.onauxclick = null;
415
- this.onbeforeinput = null;
416
- this.onblur = null;
417
- this.oncancel = null;
418
- this.oncanplay = null;
419
- this.oncanplaythrough = null;
420
- this.onchange = null;
421
- this.onclick = null;
422
- this.onclose = null;
423
- this.oncontextmenu = null;
424
- this.oncopy = null;
425
- this.oncuechange = null;
426
- this.oncut = null;
427
- this.ondblclick = null;
428
- this.ondrag = null;
429
- this.ondragend = null;
430
- this.ondragenter = null;
431
- this.ondragleave = null;
432
- this.ondragover = null;
433
- this.ondragstart = null;
434
- this.ondrop = null;
435
- this.ondurationchange = null;
436
- this.onemptied = null;
437
- this.onended = null;
438
- this.onerror = null;
439
- this.onfocus = null;
440
- this.onformdata = null;
441
- this.ongotpointercapture = null;
442
- this.oninput = null;
443
- this.oninvalid = null;
444
- this.onkeydown = null;
445
- this.onkeypress = null;
446
- this.onkeyup = null;
447
- this.onload = null;
448
- this.onloadeddata = null;
449
- this.onloadedmetadata = null;
450
- this.onloadstart = null;
451
- this.onlostpointercapture = null;
452
- this.onmousedown = null;
453
- this.onmouseenter = null;
454
- this.onmouseleave = null;
455
- this.onmousemove = null;
456
- this.onmouseout = null;
457
- this.onmouseover = null;
458
- this.onmouseup = null;
459
- this.onpaste = null;
460
- this.onpause = null;
461
- this.onplay = null;
462
- this.onplaying = null;
463
- this.onpointercancel = null;
464
- this.onpointerdown = null;
465
- this.onpointerenter = null;
466
- this.onpointerleave = null;
467
- this.onpointermove = null;
468
- this.onpointerout = null;
469
- this.onpointerover = null;
470
- this.onpointerup = null;
471
- this.onprogress = null;
472
- this.onratechange = null;
473
- this.onreset = null;
474
- this.onresize = null;
475
- this.onscroll = null;
476
- this.onscrollend = null;
477
- this.onsecuritypolicyviolation = null;
478
- this.onseeked = null;
479
- this.onseeking = null;
480
- this.onselect = null;
481
- this.onselectionchange = null;
482
- this.onselectstart = null;
483
- this.onslotchange = null;
484
- this.onstalled = null;
485
- this.onsubmit = null;
486
- this.onsuspend = null;
487
- this.ontimeupdate = null;
488
- this.ontoggle = null;
489
- this.ontouchcancel = null;
490
- this.ontouchend = null;
491
- this.ontouchmove = null;
492
- this.ontouchstart = null;
493
- this.ontransitioncancel = null;
494
- this.ontransitionend = null;
495
- this.ontransitionrun = null;
496
- this.ontransitionstart = null;
497
- this.onvolumechange = null;
498
- this.onwaiting = null;
499
- this.onwebkitanimationend = null;
500
- this.onwebkitanimationiteration = null;
501
- this.onwebkitanimationstart = null;
502
- this.onwebkittransitionend = null;
503
- this.onwheel = null;
504
- // WindowEventHandlers - empty implementations
505
- this.onafterprint = null;
506
- this.onbeforeprint = null;
507
- this.onbeforeunload = null;
508
- this.onhashchange = null;
509
- this.onlanguagechange = null;
510
- this.onmessage = null;
511
- this.onmessageerror = null;
512
- this.onoffline = null;
513
- this.ononline = null;
514
- this.onpagehide = null;
515
- this.onpageshow = null;
516
- this.onpopstate = null;
517
- this.onrejectionhandled = null;
518
- this.onstorage = null;
519
- this.onunhandledrejection = null;
520
- this.onunload = null;
521
- // WindowLocalStorage
522
- this.localStorage = {};
523
- // WindowOrWorkerGlobalScope - empty implementations
524
- this.caches = {};
525
- this.crossOriginIsolated = false;
526
- this.crypto = {};
527
- this.indexedDB = {};
528
- this.isSecureContext = false;
529
- this.origin = "null";
530
- this.performance = {};
531
- // WindowSessionStorage
532
- this.sessionStorage = {};
314
+ // All HTML element constructors
315
+ this.Node = import_NodeBase.NodeBase;
316
+ this.Element = import_ElementBase.ElementBase;
317
+ this.HTMLElement = import_elements.HTMLElement;
318
+ this.HTMLAnchorElement = import_elements.HTMLAnchorElement;
319
+ this.HTMLAreaElement = import_elements.HTMLAreaElement;
320
+ this.HTMLAudioElement = import_elements.HTMLAudioElement;
321
+ this.HTMLBaseElement = import_elements.HTMLBaseElement;
322
+ this.HTMLBodyElement = import_elements.HTMLBodyElement;
323
+ this.HTMLButtonElement = import_elements.HTMLButtonElement;
324
+ this.HTMLCanvasElement = import_elements.HTMLCanvasElement;
325
+ this.HTMLCaptionElement = import_elements.HTMLCaptionElement;
326
+ this.HTMLDataElement = import_elements.HTMLDataElement;
327
+ this.HTMLDataListElement = import_elements.HTMLDataListElement;
328
+ this.HTMLDetailsElement = import_elements.HTMLDetailsElement;
329
+ this.HTMLDialogElement = import_elements.HTMLDialogElement;
330
+ this.HTMLDivElement = import_elements.HTMLDivElement;
331
+ this.HTMLDListElement = import_elements.HTMLDListElement;
332
+ this.HTMLEmbedElement = import_elements.HTMLEmbedElement;
333
+ this.HTMLFieldSetElement = import_elements.HTMLFieldSetElement;
334
+ this.HTMLFormElement = import_elements.HTMLFormElement;
335
+ this.HTMLH1Element = import_elements.HTMLH1Element;
336
+ this.HTMLHeadElement = import_elements.HTMLHeadElement;
337
+ this.HTMLHRElement = import_elements.HTMLHRElement;
338
+ this.HTMLHtmlElement = import_elements.HTMLHtmlElement;
339
+ this.HTMLIFrameElement = import_elements.HTMLIFrameElement;
340
+ this.HTMLImgElement = import_elements.HTMLImgElement;
341
+ this.HTMLInputElement = import_elements.HTMLInputElement;
342
+ this.HTMLLabelElement = import_elements.HTMLLabelElement;
343
+ this.HTMLLegendElement = import_elements.HTMLLegendElement;
344
+ this.HTMLLIElement = import_elements.HTMLLIElement;
345
+ this.HTMLLinkElement = import_elements.HTMLLinkElement;
346
+ this.HTMLMapElement = import_elements.HTMLMapElement;
347
+ this.HTMLMetaElement = import_elements.HTMLMetaElement;
348
+ this.HTMLMeterElement = import_elements.HTMLMeterElement;
349
+ this.HTMLModElement = import_elements.HTMLModElement;
350
+ this.HTMLObjectElement = import_elements.HTMLObjectElement;
351
+ this.HTMLOListElement = import_elements.HTMLOListElement;
352
+ this.HTMLOptGroupElement = import_elements.HTMLOptGroupElement;
353
+ this.HTMLOptionElement = import_elements.HTMLOptionElement;
354
+ this.HTMLOutputElement = import_elements.HTMLOutputElement;
355
+ this.HTMLPElement = import_elements.HTMLPElement;
356
+ this.HTMLParamElement = import_elements.HTMLParamElement;
357
+ this.HTMLPictureElement = import_elements.HTMLPictureElement;
358
+ this.HTMLPreElement = import_elements.HTMLPreElement;
359
+ this.HTMLProgressElement = import_elements.HTMLProgressElement;
360
+ this.HTMLQuoteElement = import_elements.HTMLQuoteElement;
361
+ this.HTMLScriptElement = import_elements.HTMLScriptElement;
362
+ this.HTMLSelectElement = import_elements.HTMLSelectElement;
363
+ this.HTMLSlotElement = import_elements.HTMLSlotElement;
364
+ this.HTMLSourceElement = import_elements.HTMLSourceElement;
365
+ this.HTMLSpanElement = import_elements.HTMLSpanElement;
366
+ this.HTMLStyleElement = import_elements.HTMLStyleElement;
367
+ this.HTMLTableElement = import_elements.HTMLTableElement;
368
+ this.HTMLTbodyElement = import_elements.HTMLTbodyElement;
369
+ this.HTMLTdElement = import_elements.HTMLTdElement;
370
+ this.HTMLTemplateElement = import_elements.HTMLTemplateElement;
371
+ this.HTMLTextAreaElement = import_elements.HTMLTextAreaElement;
372
+ this.HTMLTfootElement = import_elements.HTMLTfootElement;
373
+ this.HTMLTheadElement = import_elements.HTMLTheadElement;
374
+ this.HTMLThElement = import_elements.HTMLThElement;
375
+ this.HTMLTimeElement = import_elements.HTMLTimeElement;
376
+ this.HTMLTitleElement = import_elements.HTMLTitleElement;
377
+ this.HTMLTrackElement = import_elements.HTMLTrackElement;
378
+ this.HTMLTrElement = import_elements.HTMLTrElement;
379
+ this.HTMLUListElement = import_elements.HTMLUListElement;
380
+ this.HTMLVideoElement = import_elements.HTMLVideoElement;
381
+ // Type Aliases
382
+ this.HTMLImageElement = import_elements.HTMLImgElement;
383
+ this.HTMLParagraphElement = import_elements.HTMLPElement;
384
+ this.HTMLHeadingElement = import_elements.HTMLH1Element;
385
+ this.HTMLTableSectionElement = import_elements.HTMLTbodyElement;
386
+ this.HTMLTableCellElement = import_elements.HTMLTdElement;
387
+ this.HTMLTableRowElement = import_elements.HTMLTrElement;
533
388
  const documentBase = new import_DocumentBase.DocumentBase();
534
- if (this.document && this.document.setWindow) {
535
- this.document.setWindow(this);
389
+ if (documentBase && documentBase.setWindow) {
390
+ documentBase.setWindow(this);
536
391
  }
537
392
  this._location = new LocationBase(config?.initialUrl);
538
393
  documentBase.setLocation(this._location);
539
394
  this.document = documentBase;
395
+ const customElementRegistryImp = new import_CustomElementRegistryImp.CustomElementRegistryImp();
396
+ customElementRegistryImp.setWindow(this);
397
+ this.customElements = customElementRegistryImp;
540
398
  this.history = new HistoryBase(this);
541
399
  this.navigator = new NavigatorBase();
542
400
  this.clientInformation = this.navigator;
543
- return new Proxy(this, {
544
- get(target, prop) {
545
- if (typeof prop === "string" && /^\d+$/.test(prop)) {
546
- return target;
547
- }
548
- return target[prop];
549
- },
550
- set(target, prop, value) {
551
- if (typeof prop === "string" && /^\d+$/.test(prop)) {
552
- return true;
553
- }
554
- target[prop] = value;
555
- return true;
556
- },
557
- has(target, prop) {
558
- if (typeof prop === "string" && /^\d+$/.test(prop)) {
559
- return true;
560
- }
561
- return prop in target;
562
- },
563
- ownKeys(target) {
564
- const keys = Object.getOwnPropertyNames(target);
565
- for (let i = 0; i < target.length; i++) {
566
- keys.push(i.toString());
567
- }
568
- return keys;
569
- },
570
- getOwnPropertyDescriptor(target, prop) {
571
- if (typeof prop === "string" && /^\d+$/.test(prop)) {
572
- return {
573
- enumerable: true,
574
- configurable: true,
575
- value: target
576
- };
577
- }
578
- return Object.getOwnPropertyDescriptor(target, prop);
579
- }
580
- });
581
401
  }
582
402
  get closed() {
583
403
  return this._closed;
@@ -586,168 +406,112 @@ class WindowBase {
586
406
  return this._location;
587
407
  }
588
408
  set location(href) {
589
- if (typeof href === "string") {
590
- this._location.href = href;
591
- } else {
592
- this._location.href = href.href;
593
- }
594
- }
595
- // Window methods - all with empty implementations for server-side
596
- alert(message) {
409
+ if (typeof href === "string") this._location.href = href;
410
+ else this._location.href = href.href;
597
411
  }
598
412
  blur() {
413
+ throw new Error("Method not implemented.");
599
414
  }
600
415
  cancelIdleCallback(handle) {
416
+ throw new Error("Method not implemented.");
601
417
  }
602
418
  captureEvents() {
603
- }
604
- close() {
605
- if (this._closed) return;
606
- this._closed = true;
607
- this._timers.forEach((id) => clearTimeout(id));
608
- this._timers.clear();
609
- this._intervals.forEach((id) => clearInterval(id));
610
- this._intervals.clear();
611
- this._animationFrames.forEach((id) => clearTimeout(id));
612
- this._animationFrames.clear();
613
- this._eventListeners.forEach((listener) => {
614
- listener.listener = null;
615
- });
616
- this._eventListeners.length = 0;
617
- this.onload = null;
618
- this.onunload = null;
619
- this.onbeforeunload = null;
620
- this.onpopstate = null;
621
- this.onerror = null;
622
- this.onmessage = null;
623
- this.onhashchange = null;
624
- if (this.document) {
625
- const doc = this.document;
626
- if (doc.body) {
627
- this.clearNodeRecursively(doc.body);
628
- }
629
- if (doc.head) {
630
- this.clearNodeRecursively(doc.head);
631
- }
632
- if (doc.documentElement) {
633
- this.clearNodeRecursively(doc.documentElement);
634
- }
635
- if (doc.setWindow) {
636
- doc.setWindow(null);
637
- }
638
- if (doc._eventListeners) {
639
- doc._eventListeners.forEach((listener) => {
640
- listener.listener = null;
641
- });
642
- doc._eventListeners.length = 0;
643
- }
644
- }
645
- if (this.history) {
646
- const hist = this.history;
647
- if (hist.historyStack) {
648
- hist.historyStack.forEach((entry) => {
649
- entry.state = null;
650
- });
651
- hist.historyStack.length = 0;
652
- }
653
- hist.state = null;
654
- hist.window = null;
655
- }
656
- if (this._location) {
657
- this._location.urlChangeCallback = null;
658
- }
659
- }
660
- /**
661
- * Recursively clear a node and its children to prevent memory leaks
662
- */
663
- clearNodeRecursively(node) {
664
- if (!node) return;
665
- while (node.firstChild) {
666
- const child = node.firstChild;
667
- node.removeChild(child);
668
- this.clearNodeRecursively(child);
669
- }
670
- if (node._eventListeners) {
671
- node._eventListeners.forEach((listener) => {
672
- listener.listener = null;
673
- });
674
- node._eventListeners.length = 0;
675
- }
676
- try {
677
- if (node.parentNode) {
678
- node.parentNode = null;
679
- }
680
- } catch (e) {
681
- }
682
- try {
683
- if (node.ownerDocument) {
684
- node.ownerDocument = null;
685
- }
686
- } catch (e) {
687
- }
688
- if (node._childNodes) {
689
- if (Array.isArray(node._childNodes)) {
690
- node._childNodes = [];
691
- } else if (node._childNodes instanceof Map) {
692
- node._childNodes.clear();
693
- }
694
- }
695
- if (node._attributes) {
696
- if (Array.isArray(node._attributes)) {
697
- node._attributes = [];
698
- } else if (node._attributes instanceof Map) {
699
- node._attributes.clear();
700
- }
701
- }
419
+ throw new Error("Method not implemented.");
702
420
  }
703
421
  confirm(message) {
704
- return false;
422
+ throw new Error("Method not implemented.");
705
423
  }
706
424
  focus() {
425
+ throw new Error("Method not implemented.");
707
426
  }
708
427
  getComputedStyle(elt, pseudoElt) {
709
- return {};
428
+ throw new Error("Method not implemented.");
710
429
  }
711
430
  getSelection() {
712
- return null;
431
+ throw new Error("Method not implemented.");
713
432
  }
714
433
  matchMedia(query) {
715
- return {};
434
+ throw new Error("Method not implemented.");
716
435
  }
717
436
  moveBy(x, y) {
437
+ throw new Error("Method not implemented.");
718
438
  }
719
439
  moveTo(x, y) {
440
+ throw new Error("Method not implemented.");
720
441
  }
721
442
  open(url, target, features) {
722
- return null;
443
+ throw new Error("Method not implemented.");
723
444
  }
724
- postMessage(message, targetOriginOrOptions, transfer) {
445
+ postMessage(message, targetOrigin, transfer) {
446
+ throw new Error("Method not implemented.");
725
447
  }
726
448
  print() {
449
+ throw new Error("Method not implemented.");
727
450
  }
728
451
  prompt(message, _default) {
729
- return null;
452
+ throw new Error("Method not implemented.");
730
453
  }
731
454
  releaseEvents() {
455
+ throw new Error("Method not implemented.");
732
456
  }
733
457
  requestIdleCallback(callback, options) {
734
- return 0;
458
+ throw new Error("Method not implemented.");
735
459
  }
736
460
  resizeBy(x, y) {
461
+ throw new Error("Method not implemented.");
737
462
  }
738
463
  resizeTo(width, height) {
464
+ throw new Error("Method not implemented.");
739
465
  }
740
- scroll(optionsOrX, y) {
466
+ scroll(x, y) {
467
+ throw new Error("Method not implemented.");
741
468
  }
742
- scrollBy(optionsOrX, y) {
469
+ scrollBy(x, y) {
470
+ throw new Error("Method not implemented.");
743
471
  }
744
- scrollTo(optionsOrX, y) {
472
+ scrollTo(x, y) {
473
+ throw new Error("Method not implemented.");
745
474
  }
746
475
  stop() {
476
+ throw new Error("Method not implemented.");
477
+ }
478
+ cancelAnimationFrame(handle) {
479
+ throw new Error("Method not implemented.");
480
+ }
481
+ requestAnimationFrame(callback) {
482
+ throw new Error("Method not implemented.");
483
+ }
484
+ atob(data) {
485
+ throw new Error("Method not implemented.");
486
+ }
487
+ btoa(data) {
488
+ throw new Error("Method not implemented.");
489
+ }
490
+ createImageBitmap(image, sx, sy, sw, sh, options) {
491
+ throw new Error("Method not implemented.");
492
+ }
493
+ fetch(input, init) {
494
+ throw new Error("Method not implemented.");
495
+ }
496
+ queueMicrotask(callback) {
497
+ throw new Error("Method not implemented.");
498
+ }
499
+ reportError(e) {
500
+ throw new Error("Method not implemented.");
501
+ }
502
+ structuredClone(value, options) {
503
+ throw new Error("Method not implemented.");
504
+ }
505
+ alert(_message) {
506
+ }
507
+ close() {
508
+ if (this._closed) return;
509
+ this._closed = true;
510
+ this._timers.forEach((id) => clearTimeout(id));
511
+ this._intervals.forEach((id) => clearInterval(id));
512
+ this._eventListeners.length = 0;
747
513
  }
748
- // Timer methods
749
514
  setTimeout(callback, delay, ...args) {
750
- if (this._closed) return 0;
751
515
  const id = setTimeout(() => {
752
516
  this._timers.delete(id);
753
517
  callback(...args);
@@ -760,7 +524,6 @@ class WindowBase {
760
524
  this._timers.delete(id);
761
525
  }
762
526
  setInterval(callback, delay, ...args) {
763
- if (this._closed) return 0;
764
527
  const id = setInterval(callback, delay, ...args);
765
528
  this._intervals.add(id);
766
529
  return id;
@@ -769,200 +532,34 @@ class WindowBase {
769
532
  clearInterval(id);
770
533
  this._intervals.delete(id);
771
534
  }
772
- // Animation methods
773
- requestAnimationFrame(callback) {
774
- if (this._closed) return 0;
775
- const id = this.setTimeout(callback, 16);
776
- this._animationFrames.add(id);
777
- return id;
778
- }
779
- cancelAnimationFrame(id) {
780
- this.clearTimeout(id);
781
- this._animationFrames.delete(id);
782
- }
783
535
  addEventListener(type, listener, options) {
784
- if (type === "popstate" || type === "load" || type === "unload" || type === "beforeunload") {
785
- this._eventListeners.push({
786
- type,
787
- listener: typeof listener === "function" ? listener : listener.handleEvent,
788
- options
789
- });
790
- }
536
+ this._eventListeners.push({
537
+ type,
538
+ listener: typeof listener === "function" ? listener : listener?.handleEvent,
539
+ options
540
+ });
791
541
  }
792
- removeEventListener(type, listener, options) {
793
- if (type === "popstate" || type === "load" || type === "unload" || type === "beforeunload") {
794
- const targetListener = typeof listener === "function" ? listener : listener.handleEvent;
795
- this._eventListeners = this._eventListeners.filter(
796
- (eventListener) => !(eventListener.type === type && eventListener.listener === targetListener)
797
- );
798
- }
542
+ removeEventListener(type, listener) {
543
+ const targetListener = typeof listener === "function" ? listener : listener?.handleEvent;
544
+ this._eventListeners = this._eventListeners.filter((l) => !(l.type === type && l.listener === targetListener));
799
545
  }
800
546
  dispatchEvent(event) {
801
- const eventListeners = this._eventListeners.filter((listener) => listener.type === event.type);
802
- for (const eventListener of eventListeners) {
547
+ const type = typeof event === "string" ? event : event.type;
548
+ const listeners = [...this._eventListeners.filter((l) => l.type === type)];
549
+ for (const l of listeners) {
803
550
  try {
804
- eventListener.listener.call(this, event);
805
- if (eventListener.options && typeof eventListener.options === "object" && eventListener.options.once) {
806
- this.removeEventListener(event.type, eventListener.listener);
551
+ l.listener.call(this, event);
552
+ if (l.options?.once) {
553
+ this.removeEventListener(type, l.listener);
807
554
  }
808
- } catch (error) {
809
- console.error("Error in event listener:", error);
555
+ } catch (e) {
556
+ console.error(`Error in Window event listener for ${type}:`, e);
810
557
  }
811
558
  }
812
559
  return true;
813
560
  }
814
- /**
815
- * Dispatch a popstate event to registered listeners
816
- */
817
561
  dispatchPopStateEvent(state, url) {
818
- const popStateEvent = {
819
- type: "popstate",
820
- state,
821
- url
822
- };
823
- this.dispatchEvent(popStateEvent);
824
- }
825
- atob(data) {
826
- return "";
827
- }
828
- btoa(data) {
829
- return "";
830
- }
831
- createImageBitmap(...args) {
832
- return Promise.resolve({});
833
- }
834
- fetch(input, init) {
835
- return Promise.resolve({});
836
- }
837
- queueMicrotask(callback) {
838
- }
839
- reportError(e) {
840
- }
841
- structuredClone(value, options) {
842
- return value;
843
- }
844
- /**
845
- * Recursive HTML parsing
846
- */
847
- parseHTMLRecursive(html, parent) {
848
- let position = 0;
849
- while (position < html.length) {
850
- const tagStart = html.indexOf("<", position);
851
- if (tagStart === -1) {
852
- const remainingText = html.substring(position).trim();
853
- if (remainingText) {
854
- const textNode = this.document.createTextNode(remainingText);
855
- parent.appendChild(textNode);
856
- }
857
- break;
858
- }
859
- if (tagStart > position) {
860
- const textContent = html.substring(position, tagStart).trim();
861
- if (textContent) {
862
- const textNode = this.document.createTextNode(textContent);
863
- parent.appendChild(textNode);
864
- }
865
- }
866
- const tagEnd = html.indexOf(">", tagStart);
867
- if (tagEnd === -1) break;
868
- const tagContent = html.substring(tagStart + 1, tagEnd);
869
- if (tagContent.startsWith("/")) {
870
- position = tagEnd + 1;
871
- break;
872
- }
873
- const isSelfClosing = tagContent.endsWith("/") || this.isSelfClosingTag(tagContent.split(/\s+/)[0]);
874
- const spaceIndex = tagContent.indexOf(" ");
875
- const tagName = spaceIndex === -1 ? tagContent.replace("/", "") : tagContent.substring(0, spaceIndex);
876
- const attributes = spaceIndex === -1 ? "" : tagContent.substring(spaceIndex + 1).replace("/", "");
877
- const element = this.document.createElement(tagName.toLowerCase());
878
- if (attributes.trim()) {
879
- this.parseAttributes(attributes, element);
880
- }
881
- if (tagName.toLowerCase() === "html") {
882
- this.document.documentElement = element;
883
- this.document.appendChild(element);
884
- } else if (tagName.toLowerCase() === "head") {
885
- this.document.head = element;
886
- if (this.document.documentElement) {
887
- this.document.documentElement.appendChild(element);
888
- } else {
889
- parent.appendChild(element);
890
- }
891
- } else if (tagName.toLowerCase() === "body") {
892
- this.document.body = element;
893
- if (this.document.documentElement) {
894
- this.document.documentElement.appendChild(element);
895
- } else {
896
- parent.appendChild(element);
897
- }
898
- } else {
899
- parent.appendChild(element);
900
- }
901
- if (isSelfClosing) {
902
- position = tagEnd + 1;
903
- } else {
904
- const closingTag = `</${tagName}>`;
905
- const closingTagIndex = this.findMatchingClosingTag(html, tagEnd + 1, tagName);
906
- if (closingTagIndex !== -1) {
907
- const innerContent = html.substring(tagEnd + 1, closingTagIndex);
908
- if (innerContent.trim()) {
909
- this.parseHTMLRecursive(innerContent, element);
910
- }
911
- position = closingTagIndex + closingTag.length;
912
- } else {
913
- position = tagEnd + 1;
914
- }
915
- }
916
- }
917
- }
918
- findMatchingClosingTag(html, startPos, tagName) {
919
- const openTag = `<${tagName}`;
920
- const closeTag = `</${tagName}>`;
921
- let depth = 1;
922
- let pos = startPos;
923
- while (pos < html.length && depth > 0) {
924
- const nextOpen = html.indexOf(openTag, pos);
925
- const nextClose = html.indexOf(closeTag, pos);
926
- if (nextClose === -1) return -1;
927
- if (nextOpen !== -1 && nextOpen < nextClose) {
928
- depth++;
929
- pos = nextOpen + openTag.length;
930
- } else {
931
- depth--;
932
- if (depth === 0) return nextClose;
933
- pos = nextClose + closeTag.length;
934
- }
935
- }
936
- return -1;
937
- }
938
- parseAttributes(attributeString, element) {
939
- const attrRegex = /([\w:-]+)(?:\s*=\s*(['"])(.*?)\2)?/g;
940
- let match;
941
- while ((match = attrRegex.exec(attributeString)) !== null) {
942
- const name = match[1];
943
- let value = match[3] || "";
944
- element.setAttribute(name, value);
945
- }
946
- }
947
- isSelfClosingTag(tagName) {
948
- const selfClosingTags = ["area", "base", "br", "col", "embed", "hr", "img", "input", "link", "meta", "param", "source", "track", "wbr"];
949
- return selfClosingTags.includes(tagName.toLowerCase());
950
- }
951
- /**
952
- * Clear current document content
953
- */
954
- clearDocumentContent() {
955
- const doc = this.document;
956
- if (doc.head) {
957
- while (doc.head.firstChild) {
958
- doc.head.removeChild(doc.head.firstChild);
959
- }
960
- }
961
- if (doc.body) {
962
- while (doc.body.firstChild) {
963
- doc.body.removeChild(doc.body.firstChild);
964
- }
965
- }
562
+ this.dispatchEvent({ type: "popstate", state, url });
966
563
  }
967
564
  }
968
565
  //# sourceMappingURL=WindowBase.js.map