@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
@@ -0,0 +1,50 @@
1
+ // import { Node } from './Node';
2
+
3
+ /**
4
+ * NodeFilter interface for filtering nodes in NodeIterator and TreeWalker
5
+ */
6
+ // export interface NodeFilter {
7
+ // acceptNode(node: Node): number;
8
+ // }
9
+
10
+ /**
11
+ * NodeFilter constants and static methods
12
+ */
13
+ export const NodeFilter: {
14
+ readonly FILTER_ACCEPT: number;
15
+ readonly FILTER_REJECT: number;
16
+ readonly FILTER_SKIP: number;
17
+ readonly SHOW_ALL: number;
18
+ readonly SHOW_ELEMENT: number;
19
+ readonly SHOW_ATTRIBUTE: number;
20
+ readonly SHOW_TEXT: number;
21
+ readonly SHOW_CDATA_SECTION: number;
22
+ readonly SHOW_ENTITY_REFERENCE: number;
23
+ readonly SHOW_ENTITY: number;
24
+ readonly SHOW_PROCESSING_INSTRUCTION: number;
25
+ readonly SHOW_COMMENT: number;
26
+ readonly SHOW_DOCUMENT: number;
27
+ readonly SHOW_DOCUMENT_TYPE: number;
28
+ readonly SHOW_DOCUMENT_FRAGMENT: number;
29
+ readonly SHOW_NOTATION: number;
30
+ } = {
31
+ // Constants for acceptNode return values
32
+ FILTER_ACCEPT: 1,
33
+ FILTER_REJECT: 2,
34
+ FILTER_SKIP: 3,
35
+
36
+ // Constants for whatToShow
37
+ SHOW_ALL: 0xffffffff,
38
+ SHOW_ELEMENT: 0x1,
39
+ SHOW_ATTRIBUTE: 0x2,
40
+ SHOW_TEXT: 0x4,
41
+ SHOW_CDATA_SECTION: 0x8,
42
+ SHOW_ENTITY_REFERENCE: 0x10,
43
+ SHOW_ENTITY: 0x20,
44
+ SHOW_PROCESSING_INSTRUCTION: 0x40,
45
+ SHOW_COMMENT: 0x80,
46
+ SHOW_DOCUMENT: 0x100,
47
+ SHOW_DOCUMENT_TYPE: 0x200,
48
+ SHOW_DOCUMENT_FRAGMENT: 0x400,
49
+ SHOW_NOTATION: 0x800
50
+ };
@@ -1,200 +1,145 @@
1
- import { Node } from './Node';
2
- import { NodeBase } from './NodeBase';
3
-
4
- /**
5
- * NodeFilter interface for filtering nodes in NodeIterator
6
- */
7
- export interface NodeFilter {
8
- acceptNode(node: Node): number;
9
- }
10
-
11
- /**
12
- * NodeFilter constants
13
- */
14
- export const NodeFilter = {
15
- // Constants for acceptNode return values
16
- FILTER_ACCEPT: 1,
17
- FILTER_REJECT: 2,
18
- FILTER_SKIP: 3,
19
-
20
- // Constants for whatToShow
21
- SHOW_ALL: 0xFFFFFFFF,
22
- SHOW_ELEMENT: 0x1,
23
- SHOW_ATTRIBUTE: 0x2,
24
- SHOW_TEXT: 0x4,
25
- SHOW_CDATA_SECTION: 0x8,
26
- SHOW_ENTITY_REFERENCE: 0x10,
27
- SHOW_ENTITY: 0x20,
28
- SHOW_PROCESSING_INSTRUCTION: 0x40,
29
- SHOW_COMMENT: 0x80,
30
- SHOW_DOCUMENT: 0x100,
31
- SHOW_DOCUMENT_TYPE: 0x200,
32
- SHOW_DOCUMENT_FRAGMENT: 0x400,
33
- SHOW_NOTATION: 0x800
34
- };
35
1
 
36
2
  /**
37
3
  * NodeIterator implementation for traversing DOM nodes
38
4
  */
39
5
  export class NodeIterator {
40
- private _root: Node;
41
- private _whatToShow: number;
42
- private _filter: NodeFilter | null;
43
- private _currentNode: Node;
44
- private _beforeReferenceNode: boolean = true;
45
-
46
- constructor(root: Node, whatToShow: number = NodeFilter.SHOW_ALL, filter: NodeFilter | null = null) {
47
- this._root = root;
48
- this._whatToShow = whatToShow;
49
- this._filter = filter;
50
- this._currentNode = root;
6
+ private _root: Node;
7
+ private _whatToShow: number;
8
+ private _filter: NodeFilter | null;
9
+ private _currentNode: Node;
10
+ private _beforeReferenceNode: boolean = true;
11
+
12
+ constructor(root: Node, whatToShow: number = NodeFilter.SHOW_ALL, filter: NodeFilter | null = null) {
13
+ this._root = root;
14
+ this._whatToShow = whatToShow;
15
+ this._filter = filter;
16
+ this._currentNode = root;
17
+ }
18
+
19
+ get root(): Node {
20
+ return this._root;
21
+ }
22
+
23
+ get whatToShow(): number {
24
+ return this._whatToShow;
25
+ }
26
+
27
+ get filter(): NodeFilter | null {
28
+ return this._filter;
29
+ }
30
+
31
+ get referenceNode(): Node {
32
+ return this._currentNode;
33
+ }
34
+
35
+ get pointerBeforeReferenceNode(): boolean {
36
+ return this._beforeReferenceNode;
37
+ }
38
+
39
+ /**
40
+ * Move to the next node in document order
41
+ */
42
+ nextNode(): Node | null {
43
+ let node = this._currentNode;
44
+
45
+ if (this._beforeReferenceNode) {
46
+ this._beforeReferenceNode = false;
47
+ if (this._acceptNode(node)) {
48
+ return node;
49
+ }
51
50
  }
52
51
 
53
- get root(): Node {
54
- return this._root;
55
- }
56
-
57
- get whatToShow(): number {
58
- return this._whatToShow;
59
- }
52
+ while (node) {
53
+ const firstChild = (node as any).firstChild;
54
+ if (firstChild) {
55
+ node = firstChild;
56
+ if (this._acceptNode(node)) {
57
+ this._currentNode = node;
58
+ return node;
59
+ }
60
+ continue;
61
+ }
60
62
 
61
- get filter(): NodeFilter | null {
62
- return this._filter;
63
- }
63
+ while (node && !(node as any).nextSibling) {
64
+ node = (node as any).parentNode;
65
+ if (!node || node === (this._root as any).parentNode) {
66
+ return null;
67
+ }
68
+ }
64
69
 
65
- get referenceNode(): Node {
66
- return this._currentNode;
67
- }
70
+ if (!node) {
71
+ return null;
72
+ }
68
73
 
69
- get pointerBeforeReferenceNode(): boolean {
70
- return this._beforeReferenceNode;
74
+ node = (node as any).nextSibling;
75
+ if (this._acceptNode(node)) {
76
+ this._currentNode = node;
77
+ return node;
78
+ }
71
79
  }
72
80
 
73
- /**
74
- * Move to the next node in document order
75
- */
76
- nextNode(): Node | null {
77
- let node = this._currentNode;
78
-
79
- // If we're before the reference node, start from the reference node
80
- if (this._beforeReferenceNode) {
81
- this._beforeReferenceNode = false;
82
- if (this._acceptNode(node)) {
83
- return node;
84
- }
85
- }
81
+ return null;
82
+ }
86
83
 
87
- // Traverse in document order
88
- while (node) {
89
- // First, try to go to first child
90
- const firstChild = (node as any).firstChild;
91
- if (firstChild) {
92
- node = firstChild;
93
- if (this._acceptNode(node)) {
94
- this._currentNode = node;
95
- return node;
96
- }
97
- continue;
98
- }
99
-
100
- // If no children, try next sibling
101
- while (node && !(node as any).nextSibling) {
102
- node = (node as any).parentNode;
103
- // Don't go beyond root
104
- if (!node || node === (this._root as any).parentNode) {
105
- return null;
106
- }
107
- }
108
-
109
- if (!node) {
110
- return null;
111
- }
112
-
113
- node = (node as any).nextSibling;
114
- if (this._acceptNode(node)) {
115
- this._currentNode = node;
116
- return node;
117
- }
118
- }
84
+ /**
85
+ * Move to the previous node in document order
86
+ */
87
+ previousNode(): Node | null {
88
+ let node = this._currentNode;
119
89
 
120
- return null;
90
+ if (!this._beforeReferenceNode) {
91
+ this._beforeReferenceNode = true;
92
+ if (this._acceptNode(node)) {
93
+ return node;
94
+ }
121
95
  }
122
96
 
123
- /**
124
- * Move to the previous node in document order
125
- */
126
- previousNode(): Node | null {
127
- let node = this._currentNode;
128
-
129
- // If we're after the reference node, start from the reference node
130
- if (!this._beforeReferenceNode) {
131
- this._beforeReferenceNode = true;
132
- if (this._acceptNode(node)) {
133
- return node;
134
- }
97
+ while (node && node !== this._root) {
98
+ const prevSibling = (node as any).previousSibling;
99
+ if (prevSibling) {
100
+ node = prevSibling;
101
+ while ((node as any).lastChild) {
102
+ node = (node as any).lastChild;
135
103
  }
136
104
 
137
- // Traverse in reverse document order
138
- while (node && node !== this._root) {
139
- // Try previous sibling
140
- const prevSibling = (node as any).previousSibling;
141
- if (prevSibling) {
142
- node = prevSibling;
143
-
144
- // Go to the deepest last child
145
- while ((node as any).lastChild) {
146
- node = (node as any).lastChild;
147
- }
148
-
149
- if (this._acceptNode(node)) {
150
- this._currentNode = node;
151
- return node;
152
- }
153
- continue;
154
- }
155
-
156
- // Go to parent
157
- node = (node as any).parentNode;
158
- if (!node || node === (this._root as any).parentNode) {
159
- return null;
160
- }
161
-
162
- if (this._acceptNode(node)) {
163
- this._currentNode = node;
164
- return node;
165
- }
105
+ if (this._acceptNode(node)) {
106
+ this._currentNode = node;
107
+ return node;
166
108
  }
109
+ continue;
110
+ }
167
111
 
112
+ node = (node as any).parentNode;
113
+ if (!node || node === (this._root as any).parentNode) {
168
114
  return null;
169
- }
115
+ }
170
116
 
171
- /**
172
- * Detach the iterator (no-op in this implementation)
173
- */
174
- detach(): void {
175
- // Modern browsers don't require this, but we implement for compatibility
117
+ if (this._acceptNode(node)) {
118
+ this._currentNode = node;
119
+ return node;
120
+ }
176
121
  }
177
122
 
178
- /**
179
- * Check if a node should be accepted based on whatToShow and filter
180
- */
181
- private _acceptNode(node: Node | null): boolean {
182
- if (!node) {
183
- return false;
184
- }
123
+ return null;
124
+ }
185
125
 
186
- // Check whatToShow filter
187
- const nodeTypeMask = 1 << (node.nodeType - 1);
188
- if (!(this._whatToShow & nodeTypeMask)) {
189
- return false;
190
- }
126
+ detach(): void {}
191
127
 
192
- // Check custom filter
193
- if (this._filter) {
194
- const result = this._filter.acceptNode(node);
195
- return result === NodeFilter.FILTER_ACCEPT;
196
- }
128
+ private _acceptNode(node: Node | null): boolean {
129
+ if (!node) {
130
+ return false;
131
+ }
132
+
133
+ const nodeTypeMask = 1 << (node.nodeType - 1);
134
+ if (!(this._whatToShow & nodeTypeMask)) {
135
+ return false;
136
+ }
197
137
 
198
- return true;
138
+ if (this._filter) {
139
+ const result = ('acceptNode' in this._filter) ? this._filter.acceptNode(node) : this._filter(node);
140
+ return result === NodeFilter.FILTER_ACCEPT;
199
141
  }
200
- }
142
+
143
+ return true;
144
+ }
145
+ }
@@ -1,93 +1,93 @@
1
- import { Node } from './Node';
2
- import { NodeListOf } from './collection/NodeListOf';
3
- import { HTMLCollection } from './collection/HTMLCollection';
4
- import { Element } from './elements/Element';
5
- import {HTMLElementDeprecatedTagNameMap, HTMLElementTagNameMap, MathMLElementTagNameMap, SVGElementTagNameMap} from "./elements";
6
-
7
- /**
8
- * The **`ParentNode`** interface contains methods and properties that are common to all types of Node objects that can have children.
9
- *
10
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ParentNode)
11
- */
12
- export interface ParentNode extends Node {
13
- /**
14
- * Returns the number of child elements of this ParentNode.
15
- *
16
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/childElementCount)
17
- */
18
- readonly childElementCount: number;
19
-
20
- /**
21
- * Returns the child elements.
22
- *
23
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/children)
24
- */
25
- readonly children: HTMLCollection;
26
-
27
- /**
28
- * Returns the first child that is an element, and null otherwise.
29
- *
30
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/firstElementChild)
31
- */
32
- readonly firstElementChild: Element | null;
33
-
34
- /**
35
- * Returns the last child that is an element, and null otherwise.
36
- *
37
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/lastElementChild)
38
- */
39
- readonly lastElementChild: Element | null;
40
-
41
- /**
42
- * Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes.
43
- *
44
- * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
45
- *
46
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/append)
47
- */
48
- append(...nodes: (Node | string)[]): void;
49
-
50
- /**
51
- * Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes.
52
- *
53
- * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
54
- *
55
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/prepend)
56
- */
57
- prepend(...nodes: (Node | string)[]): void;
58
-
59
- /**
60
- * Returns the first element that is a descendant of node that matches selectors.
61
- *
62
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/querySelector)
63
- */
64
- querySelector<K extends keyof HTMLElementTagNameMap>(selectors: K): HTMLElementTagNameMap[K] | null;
65
- querySelector<K extends keyof SVGElementTagNameMap>(selectors: K): SVGElementTagNameMap[K] | null;
66
- querySelector<K extends keyof MathMLElementTagNameMap>(selectors: K): MathMLElementTagNameMap[K] | null;
67
- /** @deprecated */
68
- querySelector<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): HTMLElementDeprecatedTagNameMap[K] | null;
69
- querySelector<E extends Element = Element>(selectors: string): E | null;
70
- querySelector(selectors: string): Element | null;
71
-
72
- /**
73
- * Returns all element descendants of node that match selectors.
74
- *
75
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/querySelectorAll)
76
- */
77
- querySelectorAll<K extends keyof HTMLElementTagNameMap>(selectors: K): NodeListOf<HTMLElementTagNameMap[K]>;
78
- querySelectorAll<K extends keyof SVGElementTagNameMap>(selectors: K): NodeListOf<SVGElementTagNameMap[K]>;
79
- querySelectorAll<K extends keyof MathMLElementTagNameMap>(selectors: K): NodeListOf<MathMLElementTagNameMap[K]>;
80
- /** @deprecated */
81
- querySelectorAll<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): NodeListOf<HTMLElementDeprecatedTagNameMap[K]>;
82
- querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E>;
83
- querySelectorAll(selectors: string): NodeListOf<Element>;
84
-
85
- /**
86
- * Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes.
87
- *
88
- * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
89
- *
90
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/replaceChildren)
91
- */
92
- replaceChildren(...nodes: (Node | string)[]): void;
93
- }
1
+ // import { Node } from './Node';
2
+ // import { NodeListOf } from './collection/NodeListOf';
3
+ // import { HTMLCollectionImp } from './collection/HTMLCollectionImp';
4
+ // import { Element } from './elements/Element';
5
+ // import {HTMLElementDeprecatedTagNameMap, HTMLElementTagNameMap, MathMLElementTagNameMap, SVGElementTagNameMap} from "./elements";
6
+ //
7
+ // /**
8
+ // * The **`ParentNode`** interface contains methods and properties that are common to all types of Node objects that can have children.
9
+ // *
10
+ // * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ParentNode)
11
+ // */
12
+ // export interface ParentNode extends Node {
13
+ // /**
14
+ // * Returns the number of child elements of this ParentNode.
15
+ // *
16
+ // * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/childElementCount)
17
+ // */
18
+ // readonly childElementCount: number;
19
+ //
20
+ // /**
21
+ // * Returns the child elements.
22
+ // *
23
+ // * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/children)
24
+ // */
25
+ // readonly children: HTMLCollectionImp;
26
+ //
27
+ // /**
28
+ // * Returns the first child that is an element, and null otherwise.
29
+ // *
30
+ // * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/firstElementChild)
31
+ // */
32
+ // readonly firstElementChild: Element | null;
33
+ //
34
+ // /**
35
+ // * Returns the last child that is an element, and null otherwise.
36
+ // *
37
+ // * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/lastElementChild)
38
+ // */
39
+ // readonly lastElementChild: Element | null;
40
+ //
41
+ // /**
42
+ // * Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes.
43
+ // *
44
+ // * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
45
+ // *
46
+ // * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/append)
47
+ // */
48
+ // append(...nodes: (Node | string)[]): void;
49
+ //
50
+ // /**
51
+ // * Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes.
52
+ // *
53
+ // * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
54
+ // *
55
+ // * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/prepend)
56
+ // */
57
+ // prepend(...nodes: (Node | string)[]): void;
58
+ //
59
+ // /**
60
+ // * Returns the first element that is a descendant of node that matches selectors.
61
+ // *
62
+ // * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/querySelector)
63
+ // */
64
+ // querySelector<K extends keyof HTMLElementTagNameMap>(selectors: K): HTMLElementTagNameMap[K] | null;
65
+ // querySelector<K extends keyof SVGElementTagNameMap>(selectors: K): SVGElementTagNameMap[K] | null;
66
+ // querySelector<K extends keyof MathMLElementTagNameMap>(selectors: K): MathMLElementTagNameMap[K] | null;
67
+ // /** @deprecated */
68
+ // querySelector<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): HTMLElementDeprecatedTagNameMap[K] | null;
69
+ // querySelector<E extends Element = Element>(selectors: string): E | null;
70
+ // querySelector(selectors: string): Element | null;
71
+ //
72
+ // /**
73
+ // * Returns all element descendants of node that match selectors.
74
+ // *
75
+ // * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/querySelectorAll)
76
+ // */
77
+ // querySelectorAll<K extends keyof HTMLElementTagNameMap>(selectors: K): NodeListOf<HTMLElementTagNameMap[K]>;
78
+ // querySelectorAll<K extends keyof SVGElementTagNameMap>(selectors: K): NodeListOf<SVGElementTagNameMap[K]>;
79
+ // querySelectorAll<K extends keyof MathMLElementTagNameMap>(selectors: K): NodeListOf<MathMLElementTagNameMap[K]>;
80
+ // /** @deprecated */
81
+ // querySelectorAll<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): NodeListOf<HTMLElementDeprecatedTagNameMap[K]>;
82
+ // querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E>;
83
+ // querySelectorAll(selectors: string): NodeListOf<Element>;
84
+ //
85
+ // /**
86
+ // * Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes.
87
+ // *
88
+ // * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
89
+ // *
90
+ // * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/replaceChildren)
91
+ // */
92
+ // replaceChildren(...nodes: (Node | string)[]): void;
93
+ // }
@@ -1,9 +1,6 @@
1
- import { Node } from './Node';
2
1
  import { ChildNodeBase } from './ChildNodeBase';
3
- import { ParentNode } from './ParentNode';
4
- import { Element } from './elements/Element';
5
- import { HTMLCollection } from './collection/HTMLCollection';
6
- import { NodeListOf } from './collection/NodeListOf';
2
+ import { HTMLCollectionImp } from './collection/HTMLCollectionImp';
3
+ import { NodeListOfImp } from './collection/NodeListOfImp';
7
4
  import { ELEMENT_NODE, TEXT_NODE } from './Node';
8
5
  import { TextBase } from './TextBase';
9
6
  import { CSSSelector } from '../utils/CSSSelector';
@@ -31,7 +28,7 @@ export abstract class ParentNodeBase extends ChildNodeBase implements ParentNode
31
28
  elements.push(child as unknown as Element);
32
29
  }
33
30
  }
34
- return new HTMLCollection(elements);
31
+ return new HTMLCollectionImp(elements) as unknown as HTMLCollection;
35
32
  }
36
33
 
37
34
  get firstElementChild(): Element | null {
@@ -57,7 +54,7 @@ export abstract class ParentNodeBase extends ChildNodeBase implements ParentNode
57
54
  for (const node of nodes) {
58
55
  if (typeof node === 'string') {
59
56
  const textNode = new TextBase(node, this._ownerDocument);
60
- this.appendChild(textNode);
57
+ this.appendChild(textNode as unknown as Node);
61
58
  } else {
62
59
  this.appendChild(node);
63
60
  }
@@ -69,7 +66,7 @@ export abstract class ParentNodeBase extends ChildNodeBase implements ParentNode
69
66
  for (const node of nodes) {
70
67
  if (typeof node === 'string') {
71
68
  const textNode = new TextBase(node, this._ownerDocument);
72
- this.insertBefore(textNode, firstChild);
69
+ this.insertBefore(textNode as unknown as Node, firstChild);
73
70
  } else {
74
71
  this.insertBefore(node, firstChild);
75
72
  }
@@ -81,7 +78,7 @@ export abstract class ParentNodeBase extends ChildNodeBase implements ParentNode
81
78
  while (this._childNodesInternal.length > 0) {
82
79
  const child = this._childNodesInternal[0];
83
80
  if (child) {
84
- this.removeChild(child);
81
+ this.removeChild(child as unknown as Node);
85
82
  }
86
83
  }
87
84
 
@@ -117,7 +114,7 @@ export abstract class ParentNodeBase extends ChildNodeBase implements ParentNode
117
114
  }
118
115
  }
119
116
 
120
- return new NodeListOf<E>(uniqueResults);
117
+ return new NodeListOfImp<E>(uniqueResults) as unknown as NodeListOf<E>;
121
118
  }
122
119
 
123
120
  // Private helper methods for querySelector