@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
@@ -1,158 +1,245 @@
1
- import { Element, DOMTokenList } from "./Element.js";
2
- import { HTMLCollection, HTMLCollectionOf } from "../collection/index.js";
1
+ import { HTMLCollectionImp, HTMLCollectionOfImp } from "../collection/index.js";
2
+ import { HTMLElement } from "./HTMLElement.js";
3
3
  import { ElementBase } from "./ElementBase.js";
4
4
  import { HTMLElementBase } from "./HTMLElementBase.js";
5
- import { HTMLGenericElement } from "./HTMLGenericElement.js";
6
5
  import { HTMLAnchorElement } from "./HTMLAnchorElement.js";
6
+ import { HTMLAreaElement } from "./HTMLAreaElement.js";
7
+ import { HTMLAudioElement } from "./HTMLAudioElement.js";
8
+ import { HTMLBaseElement } from "./HTMLBaseElement.js";
7
9
  import { HTMLBodyElement } from "./HTMLBodyElement.js";
8
- import { HTMLDivElement } from "./HTMLDivElement.js";
9
- import { HTMLSpanElement } from "./HTMLSpanElement.js";
10
- import { HTMLPElement } from "./HTMLPElement.js";
11
- import { HTMLImgElement } from "./HTMLImgElement.js";
12
10
  import { HTMLButtonElement } from "./HTMLButtonElement.js";
13
11
  import { HTMLCanvasElement } from "./HTMLCanvasElement.js";
14
- import { HTMLInputElement } from "./HTMLInputElement.js";
12
+ import { HTMLCaptionElement } from "./HTMLCaptionElement.js";
13
+ import { HTMLDataElement } from "./HTMLDataElement.js";
14
+ import { HTMLDataListElement } from "./HTMLDataListElement.js";
15
+ import { HTMLDetailsElement } from "./HTMLDetailsElement.js";
16
+ import { HTMLDialogElement } from "./HTMLDialogElement.js";
17
+ import { HTMLDivElement } from "./HTMLDivElement.js";
18
+ import { HTMLDListElement } from "./HTMLDListElement.js";
19
+ import { HTMLEmbedElement } from "./HTMLEmbedElement.js";
20
+ import { HTMLFieldSetElement } from "./HTMLFieldSetElement.js";
21
+ import { HTMLFormElement } from "./HTMLFormElement.js";
15
22
  import { HTMLH1Element } from "./HTMLH1Element.js";
16
23
  import { HTMLHeadElement } from "./HTMLHeadElement.js";
24
+ import { HTMLHRElement } from "./HTMLHRElement.js";
17
25
  import { HTMLHtmlElement } from "./HTMLHtmlElement.js";
18
- import { HTMLTitleElement } from "./HTMLTitleElement.js";
26
+ import { HTMLIFrameElement } from "./HTMLIFrameElement.js";
27
+ import { HTMLImgElement } from "./HTMLImgElement.js";
28
+ import { HTMLInputElement } from "./HTMLInputElement.js";
29
+ import { HTMLLabelElement } from "./HTMLLabelElement.js";
30
+ import { HTMLLegendElement } from "./HTMLLegendElement.js";
31
+ import { HTMLLIElement } from "./HTMLLIElement.js";
19
32
  import { HTMLLinkElement } from "./HTMLLinkElement.js";
33
+ import { HTMLMapElement } from "./HTMLMapElement.js";
34
+ import { HTMLMetaElement } from "./HTMLMetaElement.js";
35
+ import { HTMLMeterElement } from "./HTMLMeterElement.js";
36
+ import { HTMLModElement } from "./HTMLModElement.js";
37
+ import { HTMLObjectElement } from "./HTMLObjectElement.js";
38
+ import { HTMLOListElement } from "./HTMLOListElement.js";
39
+ import { HTMLOptGroupElement } from "./HTMLOptGroupElement.js";
40
+ import { HTMLOptionElement } from "./HTMLOptionElement.js";
41
+ import { HTMLOutputElement } from "./HTMLOutputElement.js";
42
+ import { HTMLPElement } from "./HTMLPElement.js";
43
+ import { HTMLParamElement } from "./HTMLParamElement.js";
44
+ import { HTMLPictureElement } from "./HTMLPictureElement.js";
45
+ import { HTMLPreElement } from "./HTMLPreElement.js";
46
+ import { HTMLProgressElement } from "./HTMLProgressElement.js";
47
+ import { HTMLQuoteElement } from "./HTMLQuoteElement.js";
20
48
  import { HTMLScriptElement } from "./HTMLScriptElement.js";
49
+ import { HTMLSelectElement } from "./HTMLSelectElement.js";
50
+ import { HTMLSlotElement } from "./HTMLSlotElement.js";
51
+ import { HTMLSourceElement } from "./HTMLSourceElement.js";
52
+ import { HTMLSpanElement } from "./HTMLSpanElement.js";
21
53
  import { HTMLStyleElement } from "./HTMLStyleElement.js";
22
- import { HTMLFormElement } from "./HTMLFormElement.js";
23
54
  import { HTMLTableElement } from "./HTMLTableElement.js";
24
- import { HTMLUListElement } from "./HTMLUListElement.js";
25
- import { HTMLOListElement } from "./HTMLOListElement.js";
26
- import { HTMLLIElement } from "./HTMLLIElement.js";
27
- import { SVGElement } from "./SVGElement.js";
28
- import { SVGCircleElement } from "./SVGCircleElement.js";
29
- import { SVGRectElement } from "./SVGRectElement.js";
30
- import { HTMLMetaElement } from "./HTMLMetaElement.js";
55
+ import { HTMLTbodyElement } from "./HTMLTbodyElement.js";
56
+ import { HTMLTdElement } from "./HTMLTdElement.js";
31
57
  import { HTMLTemplateElement } from "./HTMLTemplateElement.js";
32
- import { HTMLTheadElement } from "./HTMLTheadElement.js";
58
+ import { HTMLTextAreaElement } from "./HTMLTextAreaElement.js";
33
59
  import { HTMLTfootElement } from "./HTMLTfootElement.js";
34
- import { HTMLTrElement } from "./HTMLTrElement.js";
35
- import { HTMLTdElement } from "./HTMLTdElement.js";
60
+ import { HTMLTheadElement } from "./HTMLTheadElement.js";
36
61
  import { HTMLThElement } from "./HTMLThElement.js";
37
- import { HTMLCaptionElement } from "./HTMLCaptionElement.js";
38
- import { HTMLTbodyElement } from "./HTMLTbodyElement.js";
39
- import { HTMLEmbedElement } from "./HTMLEmbedElement.js";
40
- import { HTMLAreaElement } from "./HTMLAreaElement.js";
41
- import { HTMLBaseElement } from "./HTMLBaseElement.js";
62
+ import { HTMLTimeElement } from "./HTMLTimeElement.js";
63
+ import { HTMLTitleElement } from "./HTMLTitleElement.js";
64
+ import { HTMLTrackElement } from "./HTMLTrackElement.js";
65
+ import { HTMLTrElement } from "./HTMLTrElement.js";
66
+ import { HTMLUListElement } from "./HTMLUListElement.js";
67
+ import { HTMLVideoElement } from "./HTMLVideoElement.js";
42
68
  import { MathMLElement } from "./MathMLElement.js";
69
+ import { SVGElement } from "./SVGElement.js";
70
+ import { SVGCircleElement } from "./SVGCircleElement.js";
71
+ import { SVGRectElement } from "./SVGRectElement.js";
43
72
  const htmlElements = {
44
- "a": HTMLAnchorElement,
45
- "body": HTMLBodyElement,
46
- "button": HTMLButtonElement,
47
- "canvas": HTMLCanvasElement,
48
- "div": HTMLDivElement,
49
- "h1": HTMLH1Element,
50
- "head": HTMLHeadElement,
51
- "html": HTMLHtmlElement,
52
- "img": HTMLImgElement,
53
- "input": HTMLInputElement,
54
- "p": HTMLPElement,
55
- "meta": HTMLMetaElement,
56
- "span": HTMLSpanElement,
57
- "title": HTMLTitleElement,
58
- "link": HTMLLinkElement,
59
- "script": HTMLScriptElement,
60
- "style": HTMLStyleElement,
61
- "form": HTMLFormElement,
62
- "table": HTMLTableElement,
63
- "ul": HTMLUListElement,
64
- "ol": HTMLOListElement,
65
- "li": HTMLLIElement,
66
- "template": HTMLTemplateElement,
67
- "thead": HTMLTheadElement,
68
- "tfoot": HTMLTfootElement,
69
- "tr": HTMLTrElement,
70
- "td": HTMLTdElement,
71
- "th": HTMLThElement,
72
- "caption": HTMLCaptionElement,
73
- "tbody": HTMLTbodyElement,
74
- "embed": HTMLEmbedElement,
75
- "area": HTMLAreaElement,
76
- "base": HTMLBaseElement
73
+ a: HTMLAnchorElement,
74
+ area: HTMLAreaElement,
75
+ audio: HTMLAudioElement,
76
+ base: HTMLBaseElement,
77
+ body: HTMLBodyElement,
78
+ button: HTMLButtonElement,
79
+ canvas: HTMLCanvasElement,
80
+ caption: HTMLCaptionElement,
81
+ data: HTMLDataElement,
82
+ datalist: HTMLDataListElement,
83
+ details: HTMLDetailsElement,
84
+ dialog: HTMLDialogElement,
85
+ div: HTMLDivElement,
86
+ dl: HTMLDListElement,
87
+ embed: HTMLEmbedElement,
88
+ fieldset: HTMLFieldSetElement,
89
+ form: HTMLFormElement,
90
+ h1: HTMLH1Element,
91
+ head: HTMLHeadElement,
92
+ hr: HTMLHRElement,
93
+ html: HTMLHtmlElement,
94
+ iframe: HTMLIFrameElement,
95
+ img: HTMLImgElement,
96
+ input: HTMLInputElement,
97
+ label: HTMLLabelElement,
98
+ legend: HTMLLegendElement,
99
+ li: HTMLLIElement,
100
+ link: HTMLLinkElement,
101
+ map: HTMLMapElement,
102
+ meta: HTMLMetaElement,
103
+ meter: HTMLMeterElement,
104
+ del: HTMLModElement,
105
+ object: HTMLObjectElement,
106
+ ol: HTMLOListElement,
107
+ optgroup: HTMLOptGroupElement,
108
+ option: HTMLOptionElement,
109
+ output: HTMLOutputElement,
110
+ p: HTMLPElement,
111
+ param: HTMLParamElement,
112
+ picture: HTMLPictureElement,
113
+ pre: HTMLPreElement,
114
+ progress: HTMLProgressElement,
115
+ blockquote: HTMLQuoteElement,
116
+ script: HTMLScriptElement,
117
+ select: HTMLSelectElement,
118
+ slot: HTMLSlotElement,
119
+ source: HTMLSourceElement,
120
+ span: HTMLSpanElement,
121
+ style: HTMLStyleElement,
122
+ table: HTMLTableElement,
123
+ tbody: HTMLTbodyElement,
124
+ td: HTMLTdElement,
125
+ template: HTMLTemplateElement,
126
+ textarea: HTMLTextAreaElement,
127
+ tfoot: HTMLTfootElement,
128
+ thead: HTMLTheadElement,
129
+ th: HTMLThElement,
130
+ time: HTMLTimeElement,
131
+ title: HTMLTitleElement,
132
+ track: HTMLTrackElement,
133
+ tr: HTMLTrElement,
134
+ ul: HTMLUListElement,
135
+ video: HTMLVideoElement
77
136
  };
78
137
  const svgElements = {
79
- "svg": SVGElement,
80
- "circle": SVGCircleElement,
81
- "rect": SVGRectElement
138
+ svg: SVGElement,
139
+ circle: SVGCircleElement,
140
+ rect: SVGRectElement
82
141
  };
83
142
  const mathmlElements = {
84
- "annotation": MathMLElement,
143
+ annotation: MathMLElement,
85
144
  "annotation-xml": MathMLElement,
86
- "maction": MathMLElement,
87
- "math": MathMLElement,
88
- "merror": MathMLElement,
89
- "mfrac": MathMLElement,
90
- "mi": MathMLElement,
91
- "mmultiscripts": MathMLElement,
92
- "mn": MathMLElement,
93
- "mo": MathMLElement,
94
- "mover": MathMLElement,
95
- "mpadded": MathMLElement,
96
- "mphantom": MathMLElement,
97
- "mprescripts": MathMLElement,
98
- "mroot": MathMLElement,
99
- "mrow": MathMLElement,
100
- "ms": MathMLElement,
101
- "mspace": MathMLElement,
102
- "msqrt": MathMLElement,
103
- "mstyle": MathMLElement,
104
- "msub": MathMLElement,
105
- "msubsup": MathMLElement,
106
- "msup": MathMLElement,
107
- "mtable": MathMLElement,
108
- "mtd": MathMLElement,
109
- "mtext": MathMLElement,
110
- "mtr": MathMLElement,
111
- "munder": MathMLElement,
112
- "munderover": MathMLElement,
113
- "semantics": MathMLElement
145
+ maction: MathMLElement,
146
+ math: MathMLElement,
147
+ merror: MathMLElement,
148
+ mfrac: MathMLElement,
149
+ mi: MathMLElement,
150
+ mmultiscripts: MathMLElement,
151
+ mn: MathMLElement,
152
+ mo: MathMLElement,
153
+ mover: MathMLElement,
154
+ mpadded: MathMLElement,
155
+ mphantom: MathMLElement,
156
+ mprescripts: MathMLElement,
157
+ mroot: MathMLElement,
158
+ mrow: MathMLElement,
159
+ ms: MathMLElement,
160
+ mspace: MathMLElement,
161
+ msqrt: MathMLElement,
162
+ mstyle: MathMLElement,
163
+ msub: MathMLElement,
164
+ msubsup: MathMLElement,
165
+ msup: MathMLElement,
166
+ mtable: MathMLElement,
167
+ mtd: MathMLElement,
168
+ mtext: MathMLElement,
169
+ mtr: MathMLElement,
170
+ munder: MathMLElement,
171
+ munderover: MathMLElement,
172
+ semantics: MathMLElement
114
173
  };
115
174
  export {
116
- DOMTokenList,
117
- Element,
118
175
  ElementBase,
119
176
  HTMLAnchorElement,
120
177
  HTMLAreaElement,
178
+ HTMLAudioElement,
121
179
  HTMLBaseElement,
122
180
  HTMLBodyElement,
123
181
  HTMLButtonElement,
124
182
  HTMLCanvasElement,
125
183
  HTMLCaptionElement,
126
- HTMLCollection,
127
- HTMLCollectionOf,
184
+ HTMLCollectionImp,
185
+ HTMLCollectionOfImp,
186
+ HTMLDListElement,
187
+ HTMLDataElement,
188
+ HTMLDataListElement,
189
+ HTMLDetailsElement,
190
+ HTMLDialogElement,
128
191
  HTMLDivElement,
192
+ HTMLElement,
129
193
  HTMLElementBase,
130
194
  HTMLEmbedElement,
195
+ HTMLFieldSetElement,
131
196
  HTMLFormElement,
132
- HTMLGenericElement,
133
197
  HTMLH1Element,
198
+ HTMLHRElement,
134
199
  HTMLHeadElement,
135
200
  HTMLHtmlElement,
201
+ HTMLIFrameElement,
136
202
  HTMLImgElement,
137
203
  HTMLInputElement,
138
204
  HTMLLIElement,
205
+ HTMLLabelElement,
206
+ HTMLLegendElement,
139
207
  HTMLLinkElement,
208
+ HTMLMapElement,
140
209
  HTMLMetaElement,
210
+ HTMLMeterElement,
211
+ HTMLModElement,
141
212
  HTMLOListElement,
213
+ HTMLObjectElement,
214
+ HTMLOptGroupElement,
215
+ HTMLOptionElement,
216
+ HTMLOutputElement,
142
217
  HTMLPElement,
218
+ HTMLParamElement,
219
+ HTMLPictureElement,
220
+ HTMLPreElement,
221
+ HTMLProgressElement,
222
+ HTMLQuoteElement,
143
223
  HTMLScriptElement,
224
+ HTMLSelectElement,
225
+ HTMLSlotElement,
226
+ HTMLSourceElement,
144
227
  HTMLSpanElement,
145
228
  HTMLStyleElement,
146
229
  HTMLTableElement,
147
230
  HTMLTbodyElement,
148
231
  HTMLTdElement,
149
232
  HTMLTemplateElement,
233
+ HTMLTextAreaElement,
150
234
  HTMLTfootElement,
151
235
  HTMLThElement,
152
236
  HTMLTheadElement,
237
+ HTMLTimeElement,
153
238
  HTMLTitleElement,
154
239
  HTMLTrElement,
240
+ HTMLTrackElement,
155
241
  HTMLUListElement,
242
+ HTMLVideoElement,
156
243
  MathMLElement,
157
244
  SVGCircleElement,
158
245
  SVGElement,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/node/elements/index.ts"],
4
- "sourcesContent": ["// Base Element interfaces and types\nexport { Element, DOMTokenList } from './Element';\nexport { HTMLCollection, HTMLCollectionOf } from '../collection';\n\n// Base Element implementations\nexport { ElementBase } from './ElementBase';\nexport { HTMLElementBase } from './HTMLElementBase';\nexport { HTMLGenericElement } from './HTMLGenericElement';\n\n// Import all element classes\nimport { HTMLAnchorElement } from './HTMLAnchorElement';\nimport { HTMLBodyElement } from './HTMLBodyElement';\nimport { HTMLDivElement } from './HTMLDivElement';\nimport { HTMLSpanElement } from './HTMLSpanElement';\nimport { HTMLPElement } from './HTMLPElement';\nimport { HTMLImgElement } from './HTMLImgElement';\nimport { HTMLButtonElement } from './HTMLButtonElement';\nimport { HTMLCanvasElement } from './HTMLCanvasElement';\nimport { HTMLInputElement } from './HTMLInputElement';\nimport { HTMLH1Element } from './HTMLH1Element';\nimport { HTMLHeadElement } from './HTMLHeadElement';\nimport { HTMLHtmlElement } from './HTMLHtmlElement';\nimport { HTMLTitleElement } from './HTMLTitleElement';\nimport { HTMLLinkElement } from './HTMLLinkElement';\nimport { HTMLScriptElement } from './HTMLScriptElement';\nimport { HTMLStyleElement } from './HTMLStyleElement';\nimport { HTMLFormElement } from './HTMLFormElement';\nimport { HTMLTableElement } from './HTMLTableElement';\nimport { HTMLUListElement } from './HTMLUListElement';\nimport { HTMLOListElement } from './HTMLOListElement';\nimport { HTMLLIElement } from './HTMLLIElement';\nimport { SVGElement } from './SVGElement';\nimport { SVGCircleElement } from './SVGCircleElement';\nimport { SVGRectElement } from './SVGRectElement';\nimport { HTMLMetaElement } from './HTMLMetaElement';\nimport { HTMLTemplateElement } from './HTMLTemplateElement';\nimport { HTMLTheadElement } from './HTMLTheadElement';\nimport { HTMLTfootElement } from './HTMLTfootElement';\nimport { HTMLTrElement } from './HTMLTrElement';\nimport { HTMLTdElement } from './HTMLTdElement';\nimport { HTMLThElement } from './HTMLThElement';\nimport { HTMLCaptionElement } from './HTMLCaptionElement';\nimport { HTMLTbodyElement } from './HTMLTbodyElement';\nimport { HTMLEmbedElement } from './HTMLEmbedElement';\nimport { HTMLAreaElement } from './HTMLAreaElement';\nimport { HTMLBaseElement } from './HTMLBaseElement';\nimport { MathMLElement } from './MathMLElement';\n\n// Export all element classes\nexport {\n HTMLAnchorElement,\n HTMLBodyElement,\n HTMLDivElement,\n HTMLHeadElement,\n HTMLHtmlElement,\n HTMLSpanElement,\n HTMLPElement,\n HTMLImgElement,\n HTMLButtonElement,\n HTMLCanvasElement,\n HTMLInputElement,\n HTMLH1Element,\n HTMLTitleElement,\n HTMLLinkElement,\n HTMLScriptElement,\n HTMLStyleElement,\n HTMLFormElement,\n HTMLTableElement,\n HTMLUListElement,\n HTMLOListElement,\n HTMLLIElement,\n SVGElement,\n SVGCircleElement,\n SVGRectElement,\n HTMLMetaElement,\n HTMLTemplateElement,\n HTMLTheadElement,\n HTMLTfootElement,\n HTMLTrElement,\n HTMLTdElement,\n HTMLThElement,\n HTMLCaptionElement,\n HTMLTbodyElement,\n HTMLEmbedElement,\n HTMLAreaElement,\n HTMLBaseElement,\n MathMLElement,\n};\n\n// HTML Elements mapping with explicit string keys for proper type inference\nexport const htmlElements = {\n 'a': HTMLAnchorElement,\n 'body': HTMLBodyElement,\n 'button': HTMLButtonElement,\n 'canvas': HTMLCanvasElement,\n 'div': HTMLDivElement,\n 'h1': HTMLH1Element,\n 'head': HTMLHeadElement,\n 'html': HTMLHtmlElement,\n 'img': HTMLImgElement,\n 'input': HTMLInputElement,\n 'p': HTMLPElement,\n 'meta': HTMLMetaElement,\n 'span': HTMLSpanElement,\n 'title': HTMLTitleElement,\n 'link': HTMLLinkElement,\n 'script': HTMLScriptElement,\n 'style': HTMLStyleElement,\n 'form': HTMLFormElement,\n 'table': HTMLTableElement,\n 'ul': HTMLUListElement,\n 'ol': HTMLOListElement,\n 'li': HTMLLIElement,\n 'template': HTMLTemplateElement,\n 'thead': HTMLTheadElement,\n 'tfoot': HTMLTfootElement,\n 'tr': HTMLTrElement,\n 'td': HTMLTdElement,\n 'th': HTMLThElement,\n 'caption': HTMLCaptionElement,\n 'tbody': HTMLTbodyElement,\n 'embed': HTMLEmbedElement,\n 'area': HTMLAreaElement,\n 'base': HTMLBaseElement,\n} as const;\n\n// SVG Elements mapping with explicit string keys\nexport const svgElements = {\n 'svg': SVGElement,\n 'circle': SVGCircleElement,\n 'rect': SVGRectElement,\n} as const;\n\n// MathML Elements mapping - all use MathMLElement\nexport const mathmlElements = {\n 'annotation': MathMLElement,\n 'annotation-xml': MathMLElement,\n 'maction': MathMLElement,\n 'math': MathMLElement,\n 'merror': MathMLElement,\n 'mfrac': MathMLElement,\n 'mi': MathMLElement,\n 'mmultiscripts': MathMLElement,\n 'mn': MathMLElement,\n 'mo': MathMLElement,\n 'mover': MathMLElement,\n 'mpadded': MathMLElement,\n 'mphantom': MathMLElement,\n 'mprescripts': MathMLElement,\n 'mroot': MathMLElement,\n 'mrow': MathMLElement,\n 'ms': MathMLElement,\n 'mspace': MathMLElement,\n 'msqrt': MathMLElement,\n 'mstyle': MathMLElement,\n 'msub': MathMLElement,\n 'msubsup': MathMLElement,\n 'msup': MathMLElement,\n 'mtable': MathMLElement,\n 'mtd': MathMLElement,\n 'mtext': MathMLElement,\n 'mtr': MathMLElement,\n 'munder': MathMLElement,\n 'munderover': MathMLElement,\n 'semantics': MathMLElement,\n} as const;\n\n// Type-safe tag name mappings - back to the working approach\nexport type HTMLElementTagNameMap = {\n [K in keyof typeof htmlElements]: InstanceType<typeof htmlElements[K]>;\n};\n\nexport type SVGElementTagNameMap = {\n [K in keyof typeof svgElements]: InstanceType<typeof svgElements[K]>;\n};\n\nexport type MathMLElementTagNameMap = {\n [K in keyof typeof mathmlElements]: InstanceType<typeof mathmlElements[K]>;\n};\n\nexport interface HTMLElementDeprecatedTagNameMap {\n // deprecated \uD0DC\uADF8\uB4E4\n}\n\n// Type aliases for Document interface compatibility\nexport type HTMLImageElement = HTMLImgElement;"],
5
- "mappings": "AACA,SAAS,SAAS,oBAAoB;AACtC,SAAS,gBAAgB,wBAAwB;AAGjD,SAAS,mBAAmB;AAC5B,SAAS,uBAAuB;AAChC,SAAS,0BAA0B;AAGnC,SAAS,yBAAyB;AAClC,SAAS,uBAAuB;AAChC,SAAS,sBAAsB;AAC/B,SAAS,uBAAuB;AAChC,SAAS,oBAAoB;AAC7B,SAAS,sBAAsB;AAC/B,SAAS,yBAAyB;AAClC,SAAS,yBAAyB;AAClC,SAAS,wBAAwB;AACjC,SAAS,qBAAqB;AAC9B,SAAS,uBAAuB;AAChC,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAChC,SAAS,yBAAyB;AAClC,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B,SAAS,uBAAuB;AAChC,SAAS,2BAA2B;AACpC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,0BAA0B;AACnC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAChC,SAAS,uBAAuB;AAChC,SAAS,qBAAqB;AA4CvB,MAAM,eAAe;AAAA,EACxB,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,UAAU;AAAA,EACV,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS;AAAA,EACT,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AACZ;AAGO,MAAM,cAAc;AAAA,EACvB,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AACZ;AAGO,MAAM,iBAAiB;AAAA,EAC1B,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,SAAS;AAAA,EACT,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS;AAAA,EACT,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,UAAU;AAAA,EACV,SAAS;AAAA,EACT,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,aAAa;AACjB;",
4
+ "sourcesContent": ["// Base Element interfaces and types\n// export type { Element, DOMTokenList } from './Element';\nexport { HTMLCollectionImp, HTMLCollectionOfImp } from '../collection';\n\n\n\n// Import all element classes\nimport { HTMLElement } from './HTMLElement';\nimport { ElementBase } from './ElementBase';\nimport { HTMLElementBase } from './HTMLElementBase';\nimport { HTMLAnchorElement } from './HTMLAnchorElement';\nimport { HTMLAreaElement } from './HTMLAreaElement';\nimport { HTMLAudioElement } from './HTMLAudioElement';\nimport { HTMLBaseElement } from './HTMLBaseElement';\nimport { HTMLBodyElement } from './HTMLBodyElement';\nimport { HTMLButtonElement } from './HTMLButtonElement';\nimport { HTMLCanvasElement } from './HTMLCanvasElement';\nimport { HTMLCaptionElement } from './HTMLCaptionElement';\nimport { HTMLDataElement } from './HTMLDataElement';\nimport { HTMLDataListElement } from './HTMLDataListElement';\nimport { HTMLDetailsElement } from './HTMLDetailsElement';\nimport { HTMLDialogElement } from './HTMLDialogElement';\nimport { HTMLDivElement } from './HTMLDivElement';\nimport { HTMLDListElement } from './HTMLDListElement';\nimport { HTMLEmbedElement } from './HTMLEmbedElement';\nimport { HTMLFieldSetElement } from './HTMLFieldSetElement';\nimport { HTMLFormElement } from './HTMLFormElement';\nimport { HTMLH1Element } from './HTMLH1Element';\nimport { HTMLHeadElement } from './HTMLHeadElement';\nimport { HTMLHRElement } from './HTMLHRElement';\nimport { HTMLHtmlElement } from './HTMLHtmlElement';\nimport { HTMLIFrameElement } from './HTMLIFrameElement';\nimport { HTMLImgElement } from './HTMLImgElement';\nimport { HTMLInputElement } from './HTMLInputElement';\nimport { HTMLLabelElement } from './HTMLLabelElement';\nimport { HTMLLegendElement } from './HTMLLegendElement';\nimport { HTMLLIElement } from './HTMLLIElement';\nimport { HTMLLinkElement } from './HTMLLinkElement';\nimport { HTMLMapElement } from './HTMLMapElement';\nimport { HTMLMetaElement } from './HTMLMetaElement';\nimport { HTMLMeterElement } from './HTMLMeterElement';\nimport { HTMLModElement } from './HTMLModElement';\nimport { HTMLObjectElement } from './HTMLObjectElement';\nimport { HTMLOListElement } from './HTMLOListElement';\nimport { HTMLOptGroupElement } from './HTMLOptGroupElement';\nimport { HTMLOptionElement } from './HTMLOptionElement';\nimport { HTMLOutputElement } from './HTMLOutputElement';\nimport { HTMLPElement } from './HTMLPElement';\nimport { HTMLParamElement } from './HTMLParamElement';\nimport { HTMLPictureElement } from './HTMLPictureElement';\nimport { HTMLPreElement } from './HTMLPreElement';\nimport { HTMLProgressElement } from './HTMLProgressElement';\nimport { HTMLQuoteElement } from './HTMLQuoteElement';\nimport { HTMLScriptElement } from './HTMLScriptElement';\nimport { HTMLSelectElement } from './HTMLSelectElement';\nimport { HTMLSlotElement } from './HTMLSlotElement';\nimport { HTMLSourceElement } from './HTMLSourceElement';\nimport { HTMLSpanElement } from './HTMLSpanElement';\nimport { HTMLStyleElement } from './HTMLStyleElement';\nimport { HTMLTableElement } from './HTMLTableElement';\nimport { HTMLTbodyElement } from './HTMLTbodyElement';\nimport { HTMLTdElement } from './HTMLTdElement';\nimport { HTMLTemplateElement } from './HTMLTemplateElement';\nimport { HTMLTextAreaElement } from './HTMLTextAreaElement';\nimport { HTMLTfootElement } from './HTMLTfootElement';\nimport { HTMLTheadElement } from './HTMLTheadElement';\nimport { HTMLThElement } from './HTMLThElement';\nimport { HTMLTimeElement } from './HTMLTimeElement';\nimport { HTMLTitleElement } from './HTMLTitleElement';\nimport { HTMLTrackElement } from './HTMLTrackElement';\nimport { HTMLTrElement } from './HTMLTrElement';\nimport { HTMLUListElement } from './HTMLUListElement';\nimport { HTMLVideoElement } from './HTMLVideoElement';\nimport { MathMLElement } from './MathMLElement';\nimport { SVGElement } from './SVGElement';\nimport { SVGCircleElement } from './SVGCircleElement';\nimport { SVGRectElement } from './SVGRectElement';\n\n// Export all element classes\nexport {\n ElementBase,\n HTMLElementBase,\n HTMLElement,\n HTMLAnchorElement,\n HTMLAreaElement,\n HTMLAudioElement,\n HTMLBaseElement,\n HTMLBodyElement,\n HTMLButtonElement,\n HTMLCanvasElement,\n HTMLCaptionElement,\n HTMLDataElement,\n HTMLDataListElement,\n HTMLDetailsElement,\n HTMLDialogElement,\n HTMLDivElement,\n HTMLDListElement,\n HTMLEmbedElement,\n HTMLFieldSetElement,\n HTMLFormElement,\n HTMLH1Element,\n HTMLHeadElement,\n HTMLHRElement,\n HTMLHtmlElement,\n HTMLIFrameElement,\n HTMLImgElement,\n HTMLInputElement,\n HTMLLabelElement,\n HTMLLegendElement,\n HTMLLIElement,\n HTMLLinkElement,\n HTMLMapElement,\n HTMLMetaElement,\n HTMLMeterElement,\n HTMLModElement,\n HTMLObjectElement,\n HTMLOListElement,\n HTMLOptGroupElement,\n HTMLOptionElement,\n HTMLOutputElement,\n HTMLPElement,\n HTMLParamElement,\n HTMLPictureElement,\n HTMLPreElement,\n HTMLProgressElement,\n HTMLQuoteElement,\n HTMLScriptElement,\n HTMLSelectElement,\n HTMLSlotElement,\n HTMLSourceElement,\n HTMLSpanElement,\n HTMLStyleElement,\n HTMLTableElement,\n HTMLTbodyElement,\n HTMLTdElement,\n HTMLTemplateElement,\n HTMLTextAreaElement,\n HTMLTfootElement,\n HTMLTheadElement,\n HTMLThElement,\n HTMLTimeElement,\n HTMLTitleElement,\n HTMLTrackElement,\n HTMLTrElement,\n HTMLUListElement,\n HTMLVideoElement,\n MathMLElement,\n SVGElement,\n SVGCircleElement,\n SVGRectElement\n};\n\n// HTML Elements mapping\nexport const htmlElements = {\n a: HTMLAnchorElement,\n area: HTMLAreaElement,\n audio: HTMLAudioElement,\n base: HTMLBaseElement,\n body: HTMLBodyElement,\n button: HTMLButtonElement,\n canvas: HTMLCanvasElement,\n caption: HTMLCaptionElement,\n data: HTMLDataElement,\n datalist: HTMLDataListElement,\n details: HTMLDetailsElement,\n dialog: HTMLDialogElement,\n div: HTMLDivElement,\n dl: HTMLDListElement,\n embed: HTMLEmbedElement,\n fieldset: HTMLFieldSetElement,\n form: HTMLFormElement,\n h1: HTMLH1Element,\n head: HTMLHeadElement,\n hr: HTMLHRElement,\n html: HTMLHtmlElement,\n iframe: HTMLIFrameElement,\n img: HTMLImgElement,\n input: HTMLInputElement,\n label: HTMLLabelElement,\n legend: HTMLLegendElement,\n li: HTMLLIElement,\n link: HTMLLinkElement,\n map: HTMLMapElement,\n meta: HTMLMetaElement,\n meter: HTMLMeterElement,\n del: HTMLModElement,\n object: HTMLObjectElement,\n ol: HTMLOListElement,\n optgroup: HTMLOptGroupElement,\n option: HTMLOptionElement,\n output: HTMLOutputElement,\n p: HTMLPElement,\n param: HTMLParamElement,\n picture: HTMLPictureElement,\n pre: HTMLPreElement,\n progress: HTMLProgressElement,\n blockquote: HTMLQuoteElement,\n script: HTMLScriptElement,\n select: HTMLSelectElement,\n slot: HTMLSlotElement,\n source: HTMLSourceElement,\n span: HTMLSpanElement,\n style: HTMLStyleElement,\n table: HTMLTableElement,\n tbody: HTMLTbodyElement,\n td: HTMLTdElement,\n template: HTMLTemplateElement,\n textarea: HTMLTextAreaElement,\n tfoot: HTMLTfootElement,\n thead: HTMLTheadElement,\n th: HTMLThElement,\n time: HTMLTimeElement,\n title: HTMLTitleElement,\n track: HTMLTrackElement,\n tr: HTMLTrElement,\n ul: HTMLUListElement,\n video: HTMLVideoElement\n} as const;\n\nexport const svgElements = {\n svg: SVGElement,\n circle: SVGCircleElement,\n rect: SVGRectElement\n} as const;\n\nexport const mathmlElements = {\n annotation: MathMLElement,\n 'annotation-xml': MathMLElement,\n maction: MathMLElement,\n math: MathMLElement,\n merror: MathMLElement,\n mfrac: MathMLElement,\n mi: MathMLElement,\n mmultiscripts: MathMLElement,\n mn: MathMLElement,\n mo: MathMLElement,\n mover: MathMLElement,\n mpadded: MathMLElement,\n mphantom: MathMLElement,\n mprescripts: MathMLElement,\n mroot: MathMLElement,\n mrow: MathMLElement,\n ms: MathMLElement,\n mspace: MathMLElement,\n msqrt: MathMLElement,\n mstyle: MathMLElement,\n msub: MathMLElement,\n msubsup: MathMLElement,\n msup: MathMLElement,\n mtable: MathMLElement,\n mtd: MathMLElement,\n mtext: MathMLElement,\n mtr: MathMLElement,\n munder: MathMLElement,\n munderover: MathMLElement,\n semantics: MathMLElement\n} as const;\n\nexport type HTMLImageElement = HTMLImgElement;\nexport type HTMLParagraphElement = HTMLPElement;\nexport type HTMLHeadingElement = HTMLH1Element;\nexport type HTMLTableSectionElement = HTMLTbodyElement;\nexport type HTMLTableCellElement = HTMLTdElement;\nexport type HTMLTableRowElement = HTMLTrElement;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,24 +1,19 @@
1
- import { Node, ELEMENT_NODE, ATTRIBUTE_NODE, TEXT_NODE, CDATA_SECTION_NODE, ENTITY_REFERENCE_NODE, ENTITY_NODE, PROCESSING_INSTRUCTION_NODE, COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, DOCUMENT_FRAGMENT_NODE, NOTATION_NODE, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_PRECEDING, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC } from "./Node.js";
2
- import { ChildNode } from "./ChildNode.js";
3
- import { ParentNode } from "./ParentNode.js";
1
+ import { ELEMENT_NODE, ATTRIBUTE_NODE, TEXT_NODE, CDATA_SECTION_NODE, ENTITY_REFERENCE_NODE, ENTITY_NODE, PROCESSING_INSTRUCTION_NODE, COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, DOCUMENT_FRAGMENT_NODE, NOTATION_NODE, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_PRECEDING, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC } from "./Node.js";
4
2
  import { NodeBase } from "./NodeBase.js";
5
3
  import { ChildNodeBase } from "./ChildNodeBase.js";
6
4
  import { ParentNodeBase } from "./ParentNodeBase.js";
7
5
  import { ElementBase } from "./elements/ElementBase.js";
8
- import { Text } from "./Text.js";
9
- import { Document, ElementCreationOptions, DocumentReadyState, DocumentFragment } from "./Document.js";
10
- import { CharacterData } from "./CharacterData.js";
11
6
  import { Comment } from "./Comment.js";
12
7
  import { NodeList } from "./collection/NodeList.js";
13
- import { NodeListOf } from "./collection/NodeListOf.js";
8
+ import { NodeListOfImp } from "./collection/NodeListOfImp.js";
9
+ import { NodeIterator } from "./NodeIterator.js";
10
+ import { TreeWalker } from "./TreeWalker.js";
14
11
  export * from "./elements/index.js";
15
12
  import { GetRootNodeOptions } from "./GetRootNodeOptions.js";
16
13
  export {
17
14
  ATTRIBUTE_NODE,
18
15
  CDATA_SECTION_NODE,
19
16
  COMMENT_NODE,
20
- CharacterData,
21
- ChildNode,
22
17
  ChildNodeBase,
23
18
  Comment,
24
19
  DOCUMENT_FRAGMENT_NODE,
@@ -30,24 +25,19 @@ export {
30
25
  DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC,
31
26
  DOCUMENT_POSITION_PRECEDING,
32
27
  DOCUMENT_TYPE_NODE,
33
- Document,
34
- DocumentFragment,
35
- DocumentReadyState,
36
28
  ELEMENT_NODE,
37
29
  ENTITY_NODE,
38
30
  ENTITY_REFERENCE_NODE,
39
31
  ElementBase,
40
- ElementCreationOptions,
41
32
  GetRootNodeOptions,
42
33
  NOTATION_NODE,
43
- Node,
44
34
  NodeBase,
35
+ NodeIterator,
45
36
  NodeList,
46
- NodeListOf,
37
+ NodeListOfImp,
47
38
  PROCESSING_INSTRUCTION_NODE,
48
- ParentNode,
49
39
  ParentNodeBase,
50
40
  TEXT_NODE,
51
- Text
41
+ TreeWalker
52
42
  };
53
43
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/node/index.ts"],
4
- "sourcesContent": ["// Core Node interfaces\nexport { Node, ELEMENT_NODE, ATTRIBUTE_NODE, TEXT_NODE, CDATA_SECTION_NODE, ENTITY_REFERENCE_NODE, ENTITY_NODE, PROCESSING_INSTRUCTION_NODE, COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, DOCUMENT_FRAGMENT_NODE, NOTATION_NODE, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_PRECEDING, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC } from './Node';\nexport { ChildNode } from './ChildNode';\nexport { ParentNode } from './ParentNode';\n\n// Base implementations\nexport { NodeBase } from './NodeBase';\nexport { ChildNodeBase } from './ChildNodeBase';\nexport { ParentNodeBase } from './ParentNodeBase';\nexport { ElementBase } from './elements/ElementBase';\nexport { Text } from './Text';\n\n// Document class (concrete implementation)\nexport { Document, ElementCreationOptions, DocumentReadyState, DocumentFragment } from './Document';\n\n// Character data interfaces\nexport { CharacterData } from './CharacterData';\nexport { Comment } from './Comment';\n\n// Collections\nexport { NodeList } from './collection/NodeList';\nexport { NodeListOf } from './collection/NodeListOf';\n\n// Element interfaces (from element directory)\nexport * from './elements';\n\n// Options and interfaces\nexport { GetRootNodeOptions } from './GetRootNodeOptions';"],
5
- "mappings": "AACA,SAAS,MAAM,cAAc,gBAAgB,WAAW,oBAAoB,uBAAuB,aAAa,6BAA6B,cAAc,eAAe,oBAAoB,wBAAwB,eAAe,gCAAgC,6BAA6B,6BAA6B,4BAA4B,gCAAgC,iDAAiD;AAC5a,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAG3B,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAC5B,SAAS,YAAY;AAGrB,SAAS,UAAU,wBAAwB,oBAAoB,wBAAwB;AAGvF,SAAS,qBAAqB;AAC9B,SAAS,eAAe;AAGxB,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAG3B,cAAc;AAGd,SAAS,0BAA0B;",
4
+ "sourcesContent": ["// Core Node interfaces\nexport { ELEMENT_NODE, ATTRIBUTE_NODE, TEXT_NODE, CDATA_SECTION_NODE, ENTITY_REFERENCE_NODE, ENTITY_NODE, PROCESSING_INSTRUCTION_NODE, COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, DOCUMENT_FRAGMENT_NODE, NOTATION_NODE, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_PRECEDING, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC } from './Node';\n\n// Base implementations\nexport { NodeBase } from './NodeBase';\nexport { ChildNodeBase } from './ChildNodeBase';\nexport { ParentNodeBase } from './ParentNodeBase';\nexport { ElementBase } from './elements/ElementBase';\n\n// Document class (concrete implementation)\n\n// Character data interfaces\n// export { CharacterData } from './CharacterData';\nexport { Comment } from './Comment';\n\n// Collections\nexport { NodeList } from './collection/NodeList';\nexport { NodeListOfImp } from './collection/NodeListOfImp';\n\n// Traversal\nexport { NodeIterator } from './NodeIterator';\nexport { TreeWalker } from './TreeWalker';\n\n// Element interfaces (from element directory)\nexport * from './elements';\n\n// Options and interfaces\nexport { GetRootNodeOptions } from './GetRootNodeOptions';\n"],
5
+ "mappings": "AACA,SAAS,cAAc,gBAAgB,WAAW,oBAAoB,uBAAuB,aAAa,6BAA6B,cAAc,eAAe,oBAAoB,wBAAwB,eAAe,gCAAgC,6BAA6B,6BAA6B,4BAA4B,gCAAgC,iDAAiD;AAGta,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAM5B,SAAS,eAAe;AAGxB,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAG9B,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAG3B,cAAc;AAGd,SAAS,0BAA0B;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/utils/CSSSelector.ts"],
4
- "sourcesContent": ["import { Element } from '../node/elements/Element';\n\n/**\n * CSS Selector Parser and Matcher\n * Supports various CSS selector types including complex selectors\n */\nexport class CSSSelector {\n /**\n * Main method to check if an element matches a CSS selector\n */\n static matches(element: Element, selector: string): boolean {\n selector = selector.trim();\n\n // Handle compound selectors (e.g., \"meta[charset]\", \"div.class\", \"input#id\")\n const components = this.parseSelector(selector);\n\n // All components must match for the selector to match\n for (const component of components) {\n if (!this.matchesSingleSelector(element, component)) {\n return false;\n }\n }\n\n return true;\n }\n\n /**\n * Parse a selector into individual components\n * e.g., \"div.user-panel[data-id='123']\" -> [\"div\", \".user-panel\", \"[data-id='123']\"]\n */\n private static parseSelector(selector: string): string[] {\n const components: string[] = [];\n let current = '';\n let inBrackets = false;\n let inQuotes = false;\n let quoteChar = '';\n\n for (let i = 0; i < selector.length; i++) {\n const char = selector[i];\n const prevChar = i > 0 ? selector[i - 1] : '';\n\n if (inQuotes) {\n current += char;\n if (char === quoteChar && prevChar !== '\\\\') {\n inQuotes = false;\n quoteChar = '';\n }\n continue;\n }\n\n if (char === '\"' || char === \"'\") {\n inQuotes = true;\n quoteChar = char;\n current += char;\n continue;\n }\n\n if (char === '[') {\n inBrackets = true;\n if (current) {\n components.push(current);\n current = '';\n }\n current += char;\n } else if (char === ']') {\n inBrackets = false;\n current += char;\n components.push(current);\n current = '';\n } else if (!inBrackets && (char === '.' || char === '#')) {\n if (current) {\n components.push(current);\n current = '';\n }\n current += char;\n } else if (!inBrackets && char === ':' && prevChar !== '\\\\') {\n // Only treat colon as pseudo-class separator if it's not escaped\n if (current) {\n components.push(current);\n current = '';\n }\n current += char;\n } else {\n current += char;\n }\n }\n\n if (current) {\n components.push(current);\n }\n\n return components;\n }\n\n /**\n * Match a single selector component against an element\n */\n private static matchesSingleSelector(element: Element, selector: string): boolean {\n selector = selector.trim();\n\n // Tag selector (e.g., \"div\", \"dr-wow\", \"wow\\\\:zz\")\n // Handle escaped colons in tag names\n const unescapedSelector = selector.replace(/\\\\:/g, ':');\n if (unescapedSelector.match(/^[a-zA-Z][a-zA-Z0-9:-]*$/)) {\n return element.tagName.toLowerCase() === unescapedSelector.toLowerCase();\n }\n\n // ID selector (e.g., \"#myId\")\n if (selector.startsWith('#')) {\n const id = selector.substring(1);\n return element.id === id;\n }\n\n // Class selector (e.g., \".myClass\")\n if (selector.startsWith('.')) {\n const className = selector.substring(1);\n return element.className.split(/\\s+/).includes(className);\n }\n\n // Pseudo-class selectors\n if (selector.startsWith(':')) {\n return this.matchesPseudoClass(element, selector);\n }\n\n // Attribute selector (e.g., \"[type='text']\", \"[disabled]\", \"[value*='test']\")\n if (selector.startsWith('[') && selector.endsWith(']')) {\n return this.matchesAttributeSelector(element, selector);\n }\n\n // Universal selector\n if (selector === '*') {\n return true;\n }\n\n // Unsupported selector\n return false;\n }\n\n /**\n * Match attribute selectors with various operators\n */\n private static matchesAttributeSelector(element: Element, selector: string): boolean {\n const attrContent = selector.slice(1, -1); // Remove [ and ]\n\n // Parse attribute selector: attr, attr=value, attr*=value, etc.\n const match = attrContent.match(/^([^=!*^$~|]+)(?:([=!*^$~|]+)(['\"]?)([^'\"]*)(['\"]?))?$/);\n\n if (!match) return false;\n\n let attrName = match[1].trim();\n const operator = match[2] || '';\n const attrValue = match[4] || '';\n\n // Handle escaped colons in attribute names\n attrName = attrName.replace(/\\\\:/g, ':');\n\n if (!operator) {\n // Just check if attribute exists: [disabled]\n return element.hasAttribute(attrName);\n }\n\n const elementValue = element.getAttribute(attrName);\n if (elementValue === null) return false;\n\n switch (operator) {\n case '=':\n // Exact match: [type=\"text\"]\n return elementValue === attrValue;\n\n case '!=':\n // Not equal: [value!=\"test\"]\n return elementValue !== attrValue;\n\n case '*=':\n // Contains: [value*=\"test\"]\n return elementValue.includes(attrValue);\n\n case '^=':\n // Starts with: [value^=\"test\"]\n return elementValue.startsWith(attrValue);\n\n case '$=':\n // Ends with: [value$=\"test\"]\n return elementValue.endsWith(attrValue);\n\n case '~=':\n // Word match: [class~=\"test\"]\n return elementValue.split(/\\s+/).includes(attrValue);\n\n case '|=':\n // Language match: [lang|=\"en\"]\n return elementValue === attrValue || elementValue.startsWith(attrValue + '-');\n\n default:\n return false;\n }\n }\n\n /**\n * Match pseudo-class selectors\n */\n private static matchesPseudoClass(element: Element, selector: string): boolean {\n const pseudoClass = selector.substring(1); // Remove :\n\n // Parse pseudo-class with parameters: nth-child(2), contains('text')\n const match = pseudoClass.match(/^([^(]+)(?:\\(([^)]*)\\))?$/);\n if (!match) return false;\n\n const pseudoName = match[1];\n const pseudoParam = match[2];\n\n switch (pseudoName) {\n case 'checked':\n // :checked - for input elements\n return this.isInputElement(element) &&\n (element.getAttribute('checked') !== null ||\n element.getAttribute('selected') !== null);\n\n case 'disabled':\n // :disabled\n return element.hasAttribute('disabled');\n\n case 'enabled':\n // :enabled\n return !element.hasAttribute('disabled');\n\n case 'focus':\n // :focus - check if element has focus (autofocus attribute or programmatically focused)\n return element.hasAttribute('autofocus') ||\n element.getAttribute('data-focused') === 'true';\n\n case 'first':\n case 'first-child':\n // :first or :first-child\n return this.isFirstChild(element);\n\n case 'last':\n case 'last-child':\n // :last or :last-child\n return this.isLastChild(element);\n\n case 'even':\n // :even (0-based indexing)\n return this.getChildIndex(element) % 2 === 0;\n\n case 'odd':\n // :odd (0-based indexing)\n return this.getChildIndex(element) % 2 === 1;\n\n case 'nth-child':\n // :nth-child(n)\n if (pseudoParam) {\n const n = parseInt(pseudoParam, 10);\n return this.getChildIndex(element) === n - 1; // Convert to 0-based\n }\n return false;\n\n case 'eq':\n // :eq(n) - jQuery-style\n if (pseudoParam) {\n const n = parseInt(pseudoParam, 10);\n return this.getChildIndex(element) === n;\n }\n return false;\n\n case 'gt':\n // :gt(n) - jQuery-style\n if (pseudoParam) {\n const n = parseInt(pseudoParam, 10);\n return this.getChildIndex(element) > n;\n }\n return false;\n\n case 'lt':\n // :lt(n) - jQuery-style\n if (pseudoParam) {\n const n = parseInt(pseudoParam, 10);\n return this.getChildIndex(element) < n;\n }\n return false;\n\n case 'contains':\n // :contains('text')\n if (pseudoParam) {\n const text = pseudoParam.replace(/^['\"]|['\"]$/g, ''); // Remove quotes\n return (element.textContent || '').includes(text);\n }\n return false;\n\n case 'visible':\n // :visible - simplified check\n return !element.hasAttribute('hidden') &&\n element.getAttribute('style')?.includes('display:none') !== true;\n\n case 'hidden':\n // :hidden\n return element.hasAttribute('hidden') ||\n element.getAttribute('style')?.includes('display:none') === true;\n\n case 'has':\n // :has(selector) - simplified implementation\n if (pseudoParam && 'querySelector' in element) {\n try {\n return (element as any).querySelector(pseudoParam) !== null;\n } catch {\n return false;\n }\n }\n return false;\n\n case 'not':\n // :not(selector) - simplified implementation\n if (pseudoParam) {\n return !CSSSelector.matches(element, pseudoParam);\n }\n return false;\n\n default:\n // Unsupported pseudo-class\n return false;\n }\n }\n\n /**\n * Helper methods for pseudo-class matching\n */\n private static isInputElement(element: Element): boolean {\n const tagName = element.tagName.toLowerCase();\n return tagName === 'input' || tagName === 'select' || tagName === 'textarea';\n }\n\n private static isFirstChild(element: Element): boolean {\n const parent = element.parentNode;\n if (!parent || !('children' in parent)) return false;\n\n const children = (parent as any).children;\n return children.length > 0 && children[0] === element;\n }\n\n private static isLastChild(element: Element): boolean {\n const parent = element.parentNode;\n if (!parent || !('children' in parent)) return false;\n\n const children = (parent as any).children;\n return children.length > 0 && children[children.length - 1] === element;\n }\n\n private static getChildIndex(element: Element): number {\n const parent = element.parentNode;\n if (!parent || !('children' in parent)) return -1;\n\n const children = (parent as any).children;\n for (let i = 0; i < children.length; i++) {\n if (children[i] === element) {\n return i;\n }\n }\n return -1;\n }\n}"],
5
- "mappings": "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",
4
+ "sourcesContent": ["\n/**\n * CSS Selector Parser and Matcher\n * Supports various CSS selector types including complex selectors\n */\nexport class CSSSelector {\n /**\n * Main method to check if an element matches a CSS selector\n */\n static matches(element: Element, selector: string): boolean {\n selector = selector.trim();\n\n // Handle compound selectors (e.g., \"meta[charset]\", \"div.class\", \"input#id\")\n const components = this.parseSelector(selector);\n\n // All components must match for the selector to match\n for (const component of components) {\n if (!this.matchesSingleSelector(element, component)) {\n return false;\n }\n }\n\n return true;\n }\n\n /**\n * Parse a selector into individual components\n * e.g., \"div.user-panel[data-id='123']\" -> [\"div\", \".user-panel\", \"[data-id='123']\"]\n */\n private static parseSelector(selector: string): string[] {\n const components: string[] = [];\n let current = '';\n let inBrackets = false;\n let inQuotes = false;\n let quoteChar = '';\n\n for (let i = 0; i < selector.length; i++) {\n const char = selector[i];\n const prevChar = i > 0 ? selector[i - 1] : '';\n\n if (inQuotes) {\n current += char;\n if (char === quoteChar && prevChar !== '\\\\') {\n inQuotes = false;\n quoteChar = '';\n }\n continue;\n }\n\n if (char === '\"' || char === \"'\") {\n inQuotes = true;\n quoteChar = char;\n current += char;\n continue;\n }\n\n if (char === '[') {\n inBrackets = true;\n if (current) {\n components.push(current);\n current = '';\n }\n current += char;\n } else if (char === ']') {\n inBrackets = false;\n current += char;\n components.push(current);\n current = '';\n } else if (!inBrackets && (char === '.' || char === '#')) {\n if (current) {\n components.push(current);\n current = '';\n }\n current += char;\n } else if (!inBrackets && char === ':' && prevChar !== '\\\\') {\n // Only treat colon as pseudo-class separator if it's not escaped\n if (current) {\n components.push(current);\n current = '';\n }\n current += char;\n } else {\n current += char;\n }\n }\n\n if (current) {\n components.push(current);\n }\n\n return components;\n }\n\n /**\n * Match a single selector component against an element\n */\n private static matchesSingleSelector(element: Element, selector: string): boolean {\n selector = selector.trim();\n\n // Tag selector (e.g., \"div\", \"dr-wow\", \"wow\\\\:zz\")\n // Handle escaped colons in tag names\n const unescapedSelector = selector.replace(/\\\\:/g, ':');\n if (unescapedSelector.match(/^[a-zA-Z][a-zA-Z0-9:-]*$/)) {\n return element.tagName.toLowerCase() === unescapedSelector.toLowerCase();\n }\n\n // ID selector (e.g., \"#myId\")\n if (selector.startsWith('#')) {\n const id = selector.substring(1);\n return element.id === id;\n }\n\n // Class selector (e.g., \".myClass\")\n if (selector.startsWith('.')) {\n const className = selector.substring(1);\n return element.className.split(/\\s+/).includes(className);\n }\n\n // Pseudo-class selectors\n if (selector.startsWith(':')) {\n return this.matchesPseudoClass(element, selector);\n }\n\n // Attribute selector (e.g., \"[type='text']\", \"[disabled]\", \"[value*='test']\")\n if (selector.startsWith('[') && selector.endsWith(']')) {\n return this.matchesAttributeSelector(element, selector);\n }\n\n // Universal selector\n if (selector === '*') {\n return true;\n }\n\n // Unsupported selector\n return false;\n }\n\n /**\n * Match attribute selectors with various operators\n */\n private static matchesAttributeSelector(element: Element, selector: string): boolean {\n const attrContent = selector.slice(1, -1); // Remove [ and ]\n\n // Parse attribute selector: attr, attr=value, attr*=value, etc.\n const match = attrContent.match(/^([^=!*^$~|]+)(?:([=!*^$~|]+)(['\"]?)([^'\"]*)(['\"]?))?$/);\n\n if (!match) return false;\n\n let attrName = match[1].trim();\n const operator = match[2] || '';\n const attrValue = match[4] || '';\n\n // Handle escaped colons in attribute names\n attrName = attrName.replace(/\\\\:/g, ':');\n\n if (!operator) {\n // Just check if attribute exists: [disabled]\n return element.hasAttribute(attrName);\n }\n\n const elementValue = element.getAttribute(attrName);\n if (elementValue === null) return false;\n\n switch (operator) {\n case '=':\n // Exact match: [type=\"text\"]\n return elementValue === attrValue;\n\n case '!=':\n // Not equal: [value!=\"test\"]\n return elementValue !== attrValue;\n\n case '*=':\n // Contains: [value*=\"test\"]\n return elementValue.includes(attrValue);\n\n case '^=':\n // Starts with: [value^=\"test\"]\n return elementValue.startsWith(attrValue);\n\n case '$=':\n // Ends with: [value$=\"test\"]\n return elementValue.endsWith(attrValue);\n\n case '~=':\n // Word match: [class~=\"test\"]\n return elementValue.split(/\\s+/).includes(attrValue);\n\n case '|=':\n // Language match: [lang|=\"en\"]\n return elementValue === attrValue || elementValue.startsWith(attrValue + '-');\n\n default:\n return false;\n }\n }\n\n /**\n * Match pseudo-class selectors\n */\n private static matchesPseudoClass(element: Element, selector: string): boolean {\n const pseudoClass = selector.substring(1); // Remove :\n\n // Parse pseudo-class with parameters: nth-child(2), contains('text')\n const match = pseudoClass.match(/^([^(]+)(?:\\(([^)]*)\\))?$/);\n if (!match) return false;\n\n const pseudoName = match[1];\n const pseudoParam = match[2];\n\n switch (pseudoName) {\n case 'checked':\n // :checked - for input elements\n return this.isInputElement(element) &&\n (element.getAttribute('checked') !== null ||\n element.getAttribute('selected') !== null);\n\n case 'disabled':\n // :disabled\n return element.hasAttribute('disabled');\n\n case 'enabled':\n // :enabled\n return !element.hasAttribute('disabled');\n\n case 'focus':\n // :focus - check if element has focus (autofocus attribute or programmatically focused)\n return element.hasAttribute('autofocus') ||\n element.getAttribute('data-focused') === 'true';\n\n case 'first':\n case 'first-child':\n // :first or :first-child\n return this.isFirstChild(element);\n\n case 'last':\n case 'last-child':\n // :last or :last-child\n return this.isLastChild(element);\n\n case 'even':\n // :even (0-based indexing)\n return this.getChildIndex(element) % 2 === 0;\n\n case 'odd':\n // :odd (0-based indexing)\n return this.getChildIndex(element) % 2 === 1;\n\n case 'nth-child':\n // :nth-child(n)\n if (pseudoParam) {\n const n = parseInt(pseudoParam, 10);\n return this.getChildIndex(element) === n - 1; // Convert to 0-based\n }\n return false;\n\n case 'eq':\n // :eq(n) - jQuery-style\n if (pseudoParam) {\n const n = parseInt(pseudoParam, 10);\n return this.getChildIndex(element) === n;\n }\n return false;\n\n case 'gt':\n // :gt(n) - jQuery-style\n if (pseudoParam) {\n const n = parseInt(pseudoParam, 10);\n return this.getChildIndex(element) > n;\n }\n return false;\n\n case 'lt':\n // :lt(n) - jQuery-style\n if (pseudoParam) {\n const n = parseInt(pseudoParam, 10);\n return this.getChildIndex(element) < n;\n }\n return false;\n\n case 'contains':\n // :contains('text')\n if (pseudoParam) {\n const text = pseudoParam.replace(/^['\"]|['\"]$/g, ''); // Remove quotes\n return (element.textContent || '').includes(text);\n }\n return false;\n\n case 'visible':\n // :visible - simplified check\n return !element.hasAttribute('hidden') &&\n element.getAttribute('style')?.includes('display:none') !== true;\n\n case 'hidden':\n // :hidden\n return element.hasAttribute('hidden') ||\n element.getAttribute('style')?.includes('display:none') === true;\n\n case 'has':\n // :has(selector) - simplified implementation\n if (pseudoParam && 'querySelector' in element) {\n try {\n return (element as any).querySelector(pseudoParam) !== null;\n } catch {\n return false;\n }\n }\n return false;\n\n case 'not':\n // :not(selector) - simplified implementation\n if (pseudoParam) {\n return !CSSSelector.matches(element, pseudoParam);\n }\n return false;\n\n default:\n // Unsupported pseudo-class\n return false;\n }\n }\n\n /**\n * Helper methods for pseudo-class matching\n */\n private static isInputElement(element: Element): boolean {\n const tagName = element.tagName.toLowerCase();\n return tagName === 'input' || tagName === 'select' || tagName === 'textarea';\n }\n\n private static isFirstChild(element: Element): boolean {\n const parent = element.parentNode;\n if (!parent || !('children' in parent)) return false;\n\n const children = (parent as any).children;\n return children.length > 0 && children[0] === element;\n }\n\n private static isLastChild(element: Element): boolean {\n const parent = element.parentNode;\n if (!parent || !('children' in parent)) return false;\n\n const children = (parent as any).children;\n return children.length > 0 && children[children.length - 1] === element;\n }\n\n private static getChildIndex(element: Element): number {\n const parent = element.parentNode;\n if (!parent || !('children' in parent)) return -1;\n\n const children = (parent as any).children;\n for (let i = 0; i < children.length; i++) {\n if (children[i] === element) {\n return i;\n }\n }\n return -1;\n }\n}"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }