@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
@@ -17,46 +17,74 @@ var __copyProps = (to, from, except, desc) => {
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
18
  var elements_exports = {};
19
19
  __export(elements_exports, {
20
- DOMTokenList: () => import_Element.DOMTokenList,
21
- Element: () => import_Element.Element,
22
20
  ElementBase: () => import_ElementBase.ElementBase,
23
21
  HTMLAnchorElement: () => import_HTMLAnchorElement.HTMLAnchorElement,
24
22
  HTMLAreaElement: () => import_HTMLAreaElement.HTMLAreaElement,
23
+ HTMLAudioElement: () => import_HTMLAudioElement.HTMLAudioElement,
25
24
  HTMLBaseElement: () => import_HTMLBaseElement.HTMLBaseElement,
26
25
  HTMLBodyElement: () => import_HTMLBodyElement.HTMLBodyElement,
27
26
  HTMLButtonElement: () => import_HTMLButtonElement.HTMLButtonElement,
28
27
  HTMLCanvasElement: () => import_HTMLCanvasElement.HTMLCanvasElement,
29
28
  HTMLCaptionElement: () => import_HTMLCaptionElement.HTMLCaptionElement,
30
- HTMLCollection: () => import_collection.HTMLCollection,
31
- HTMLCollectionOf: () => import_collection.HTMLCollectionOf,
29
+ HTMLCollectionImp: () => import_collection.HTMLCollectionImp,
30
+ HTMLCollectionOfImp: () => import_collection.HTMLCollectionOfImp,
31
+ HTMLDListElement: () => import_HTMLDListElement.HTMLDListElement,
32
+ HTMLDataElement: () => import_HTMLDataElement.HTMLDataElement,
33
+ HTMLDataListElement: () => import_HTMLDataListElement.HTMLDataListElement,
34
+ HTMLDetailsElement: () => import_HTMLDetailsElement.HTMLDetailsElement,
35
+ HTMLDialogElement: () => import_HTMLDialogElement.HTMLDialogElement,
32
36
  HTMLDivElement: () => import_HTMLDivElement.HTMLDivElement,
37
+ HTMLElement: () => import_HTMLElement.HTMLElement,
33
38
  HTMLElementBase: () => import_HTMLElementBase.HTMLElementBase,
34
39
  HTMLEmbedElement: () => import_HTMLEmbedElement.HTMLEmbedElement,
40
+ HTMLFieldSetElement: () => import_HTMLFieldSetElement.HTMLFieldSetElement,
35
41
  HTMLFormElement: () => import_HTMLFormElement.HTMLFormElement,
36
- HTMLGenericElement: () => import_HTMLGenericElement.HTMLGenericElement,
37
42
  HTMLH1Element: () => import_HTMLH1Element.HTMLH1Element,
43
+ HTMLHRElement: () => import_HTMLHRElement.HTMLHRElement,
38
44
  HTMLHeadElement: () => import_HTMLHeadElement.HTMLHeadElement,
39
45
  HTMLHtmlElement: () => import_HTMLHtmlElement.HTMLHtmlElement,
46
+ HTMLIFrameElement: () => import_HTMLIFrameElement.HTMLIFrameElement,
40
47
  HTMLImgElement: () => import_HTMLImgElement.HTMLImgElement,
41
48
  HTMLInputElement: () => import_HTMLInputElement.HTMLInputElement,
42
49
  HTMLLIElement: () => import_HTMLLIElement.HTMLLIElement,
50
+ HTMLLabelElement: () => import_HTMLLabelElement.HTMLLabelElement,
51
+ HTMLLegendElement: () => import_HTMLLegendElement.HTMLLegendElement,
43
52
  HTMLLinkElement: () => import_HTMLLinkElement.HTMLLinkElement,
53
+ HTMLMapElement: () => import_HTMLMapElement.HTMLMapElement,
44
54
  HTMLMetaElement: () => import_HTMLMetaElement.HTMLMetaElement,
55
+ HTMLMeterElement: () => import_HTMLMeterElement.HTMLMeterElement,
56
+ HTMLModElement: () => import_HTMLModElement.HTMLModElement,
45
57
  HTMLOListElement: () => import_HTMLOListElement.HTMLOListElement,
58
+ HTMLObjectElement: () => import_HTMLObjectElement.HTMLObjectElement,
59
+ HTMLOptGroupElement: () => import_HTMLOptGroupElement.HTMLOptGroupElement,
60
+ HTMLOptionElement: () => import_HTMLOptionElement.HTMLOptionElement,
61
+ HTMLOutputElement: () => import_HTMLOutputElement.HTMLOutputElement,
46
62
  HTMLPElement: () => import_HTMLPElement.HTMLPElement,
63
+ HTMLParamElement: () => import_HTMLParamElement.HTMLParamElement,
64
+ HTMLPictureElement: () => import_HTMLPictureElement.HTMLPictureElement,
65
+ HTMLPreElement: () => import_HTMLPreElement.HTMLPreElement,
66
+ HTMLProgressElement: () => import_HTMLProgressElement.HTMLProgressElement,
67
+ HTMLQuoteElement: () => import_HTMLQuoteElement.HTMLQuoteElement,
47
68
  HTMLScriptElement: () => import_HTMLScriptElement.HTMLScriptElement,
69
+ HTMLSelectElement: () => import_HTMLSelectElement.HTMLSelectElement,
70
+ HTMLSlotElement: () => import_HTMLSlotElement.HTMLSlotElement,
71
+ HTMLSourceElement: () => import_HTMLSourceElement.HTMLSourceElement,
48
72
  HTMLSpanElement: () => import_HTMLSpanElement.HTMLSpanElement,
49
73
  HTMLStyleElement: () => import_HTMLStyleElement.HTMLStyleElement,
50
74
  HTMLTableElement: () => import_HTMLTableElement.HTMLTableElement,
51
75
  HTMLTbodyElement: () => import_HTMLTbodyElement.HTMLTbodyElement,
52
76
  HTMLTdElement: () => import_HTMLTdElement.HTMLTdElement,
53
77
  HTMLTemplateElement: () => import_HTMLTemplateElement.HTMLTemplateElement,
78
+ HTMLTextAreaElement: () => import_HTMLTextAreaElement.HTMLTextAreaElement,
54
79
  HTMLTfootElement: () => import_HTMLTfootElement.HTMLTfootElement,
55
80
  HTMLThElement: () => import_HTMLThElement.HTMLThElement,
56
81
  HTMLTheadElement: () => import_HTMLTheadElement.HTMLTheadElement,
82
+ HTMLTimeElement: () => import_HTMLTimeElement.HTMLTimeElement,
57
83
  HTMLTitleElement: () => import_HTMLTitleElement.HTMLTitleElement,
58
84
  HTMLTrElement: () => import_HTMLTrElement.HTMLTrElement,
85
+ HTMLTrackElement: () => import_HTMLTrackElement.HTMLTrackElement,
59
86
  HTMLUListElement: () => import_HTMLUListElement.HTMLUListElement,
87
+ HTMLVideoElement: () => import_HTMLVideoElement.HTMLVideoElement,
60
88
  MathMLElement: () => import_MathMLElement.MathMLElement,
61
89
  SVGCircleElement: () => import_SVGCircleElement.SVGCircleElement,
62
90
  SVGElement: () => import_SVGElement.SVGElement,
@@ -66,118 +94,177 @@ __export(elements_exports, {
66
94
  svgElements: () => svgElements
67
95
  });
68
96
  module.exports = __toCommonJS(elements_exports);
69
- var import_Element = require("./Element");
70
97
  var import_collection = require("../collection");
98
+ var import_HTMLElement = require("./HTMLElement");
71
99
  var import_ElementBase = require("./ElementBase");
72
100
  var import_HTMLElementBase = require("./HTMLElementBase");
73
- var import_HTMLGenericElement = require("./HTMLGenericElement");
74
101
  var import_HTMLAnchorElement = require("./HTMLAnchorElement");
102
+ var import_HTMLAreaElement = require("./HTMLAreaElement");
103
+ var import_HTMLAudioElement = require("./HTMLAudioElement");
104
+ var import_HTMLBaseElement = require("./HTMLBaseElement");
75
105
  var import_HTMLBodyElement = require("./HTMLBodyElement");
76
- var import_HTMLDivElement = require("./HTMLDivElement");
77
- var import_HTMLSpanElement = require("./HTMLSpanElement");
78
- var import_HTMLPElement = require("./HTMLPElement");
79
- var import_HTMLImgElement = require("./HTMLImgElement");
80
106
  var import_HTMLButtonElement = require("./HTMLButtonElement");
81
107
  var import_HTMLCanvasElement = require("./HTMLCanvasElement");
82
- var import_HTMLInputElement = require("./HTMLInputElement");
108
+ var import_HTMLCaptionElement = require("./HTMLCaptionElement");
109
+ var import_HTMLDataElement = require("./HTMLDataElement");
110
+ var import_HTMLDataListElement = require("./HTMLDataListElement");
111
+ var import_HTMLDetailsElement = require("./HTMLDetailsElement");
112
+ var import_HTMLDialogElement = require("./HTMLDialogElement");
113
+ var import_HTMLDivElement = require("./HTMLDivElement");
114
+ var import_HTMLDListElement = require("./HTMLDListElement");
115
+ var import_HTMLEmbedElement = require("./HTMLEmbedElement");
116
+ var import_HTMLFieldSetElement = require("./HTMLFieldSetElement");
117
+ var import_HTMLFormElement = require("./HTMLFormElement");
83
118
  var import_HTMLH1Element = require("./HTMLH1Element");
84
119
  var import_HTMLHeadElement = require("./HTMLHeadElement");
120
+ var import_HTMLHRElement = require("./HTMLHRElement");
85
121
  var import_HTMLHtmlElement = require("./HTMLHtmlElement");
86
- var import_HTMLTitleElement = require("./HTMLTitleElement");
122
+ var import_HTMLIFrameElement = require("./HTMLIFrameElement");
123
+ var import_HTMLImgElement = require("./HTMLImgElement");
124
+ var import_HTMLInputElement = require("./HTMLInputElement");
125
+ var import_HTMLLabelElement = require("./HTMLLabelElement");
126
+ var import_HTMLLegendElement = require("./HTMLLegendElement");
127
+ var import_HTMLLIElement = require("./HTMLLIElement");
87
128
  var import_HTMLLinkElement = require("./HTMLLinkElement");
129
+ var import_HTMLMapElement = require("./HTMLMapElement");
130
+ var import_HTMLMetaElement = require("./HTMLMetaElement");
131
+ var import_HTMLMeterElement = require("./HTMLMeterElement");
132
+ var import_HTMLModElement = require("./HTMLModElement");
133
+ var import_HTMLObjectElement = require("./HTMLObjectElement");
134
+ var import_HTMLOListElement = require("./HTMLOListElement");
135
+ var import_HTMLOptGroupElement = require("./HTMLOptGroupElement");
136
+ var import_HTMLOptionElement = require("./HTMLOptionElement");
137
+ var import_HTMLOutputElement = require("./HTMLOutputElement");
138
+ var import_HTMLPElement = require("./HTMLPElement");
139
+ var import_HTMLParamElement = require("./HTMLParamElement");
140
+ var import_HTMLPictureElement = require("./HTMLPictureElement");
141
+ var import_HTMLPreElement = require("./HTMLPreElement");
142
+ var import_HTMLProgressElement = require("./HTMLProgressElement");
143
+ var import_HTMLQuoteElement = require("./HTMLQuoteElement");
88
144
  var import_HTMLScriptElement = require("./HTMLScriptElement");
145
+ var import_HTMLSelectElement = require("./HTMLSelectElement");
146
+ var import_HTMLSlotElement = require("./HTMLSlotElement");
147
+ var import_HTMLSourceElement = require("./HTMLSourceElement");
148
+ var import_HTMLSpanElement = require("./HTMLSpanElement");
89
149
  var import_HTMLStyleElement = require("./HTMLStyleElement");
90
- var import_HTMLFormElement = require("./HTMLFormElement");
91
150
  var import_HTMLTableElement = require("./HTMLTableElement");
92
- var import_HTMLUListElement = require("./HTMLUListElement");
93
- var import_HTMLOListElement = require("./HTMLOListElement");
94
- var import_HTMLLIElement = require("./HTMLLIElement");
95
- var import_SVGElement = require("./SVGElement");
96
- var import_SVGCircleElement = require("./SVGCircleElement");
97
- var import_SVGRectElement = require("./SVGRectElement");
98
- var import_HTMLMetaElement = require("./HTMLMetaElement");
151
+ var import_HTMLTbodyElement = require("./HTMLTbodyElement");
152
+ var import_HTMLTdElement = require("./HTMLTdElement");
99
153
  var import_HTMLTemplateElement = require("./HTMLTemplateElement");
100
- var import_HTMLTheadElement = require("./HTMLTheadElement");
154
+ var import_HTMLTextAreaElement = require("./HTMLTextAreaElement");
101
155
  var import_HTMLTfootElement = require("./HTMLTfootElement");
102
- var import_HTMLTrElement = require("./HTMLTrElement");
103
- var import_HTMLTdElement = require("./HTMLTdElement");
156
+ var import_HTMLTheadElement = require("./HTMLTheadElement");
104
157
  var import_HTMLThElement = require("./HTMLThElement");
105
- var import_HTMLCaptionElement = require("./HTMLCaptionElement");
106
- var import_HTMLTbodyElement = require("./HTMLTbodyElement");
107
- var import_HTMLEmbedElement = require("./HTMLEmbedElement");
108
- var import_HTMLAreaElement = require("./HTMLAreaElement");
109
- var import_HTMLBaseElement = require("./HTMLBaseElement");
158
+ var import_HTMLTimeElement = require("./HTMLTimeElement");
159
+ var import_HTMLTitleElement = require("./HTMLTitleElement");
160
+ var import_HTMLTrackElement = require("./HTMLTrackElement");
161
+ var import_HTMLTrElement = require("./HTMLTrElement");
162
+ var import_HTMLUListElement = require("./HTMLUListElement");
163
+ var import_HTMLVideoElement = require("./HTMLVideoElement");
110
164
  var import_MathMLElement = require("./MathMLElement");
165
+ var import_SVGElement = require("./SVGElement");
166
+ var import_SVGCircleElement = require("./SVGCircleElement");
167
+ var import_SVGRectElement = require("./SVGRectElement");
111
168
  const htmlElements = {
112
- "a": import_HTMLAnchorElement.HTMLAnchorElement,
113
- "body": import_HTMLBodyElement.HTMLBodyElement,
114
- "button": import_HTMLButtonElement.HTMLButtonElement,
115
- "canvas": import_HTMLCanvasElement.HTMLCanvasElement,
116
- "div": import_HTMLDivElement.HTMLDivElement,
117
- "h1": import_HTMLH1Element.HTMLH1Element,
118
- "head": import_HTMLHeadElement.HTMLHeadElement,
119
- "html": import_HTMLHtmlElement.HTMLHtmlElement,
120
- "img": import_HTMLImgElement.HTMLImgElement,
121
- "input": import_HTMLInputElement.HTMLInputElement,
122
- "p": import_HTMLPElement.HTMLPElement,
123
- "meta": import_HTMLMetaElement.HTMLMetaElement,
124
- "span": import_HTMLSpanElement.HTMLSpanElement,
125
- "title": import_HTMLTitleElement.HTMLTitleElement,
126
- "link": import_HTMLLinkElement.HTMLLinkElement,
127
- "script": import_HTMLScriptElement.HTMLScriptElement,
128
- "style": import_HTMLStyleElement.HTMLStyleElement,
129
- "form": import_HTMLFormElement.HTMLFormElement,
130
- "table": import_HTMLTableElement.HTMLTableElement,
131
- "ul": import_HTMLUListElement.HTMLUListElement,
132
- "ol": import_HTMLOListElement.HTMLOListElement,
133
- "li": import_HTMLLIElement.HTMLLIElement,
134
- "template": import_HTMLTemplateElement.HTMLTemplateElement,
135
- "thead": import_HTMLTheadElement.HTMLTheadElement,
136
- "tfoot": import_HTMLTfootElement.HTMLTfootElement,
137
- "tr": import_HTMLTrElement.HTMLTrElement,
138
- "td": import_HTMLTdElement.HTMLTdElement,
139
- "th": import_HTMLThElement.HTMLThElement,
140
- "caption": import_HTMLCaptionElement.HTMLCaptionElement,
141
- "tbody": import_HTMLTbodyElement.HTMLTbodyElement,
142
- "embed": import_HTMLEmbedElement.HTMLEmbedElement,
143
- "area": import_HTMLAreaElement.HTMLAreaElement,
144
- "base": import_HTMLBaseElement.HTMLBaseElement
169
+ a: import_HTMLAnchorElement.HTMLAnchorElement,
170
+ area: import_HTMLAreaElement.HTMLAreaElement,
171
+ audio: import_HTMLAudioElement.HTMLAudioElement,
172
+ base: import_HTMLBaseElement.HTMLBaseElement,
173
+ body: import_HTMLBodyElement.HTMLBodyElement,
174
+ button: import_HTMLButtonElement.HTMLButtonElement,
175
+ canvas: import_HTMLCanvasElement.HTMLCanvasElement,
176
+ caption: import_HTMLCaptionElement.HTMLCaptionElement,
177
+ data: import_HTMLDataElement.HTMLDataElement,
178
+ datalist: import_HTMLDataListElement.HTMLDataListElement,
179
+ details: import_HTMLDetailsElement.HTMLDetailsElement,
180
+ dialog: import_HTMLDialogElement.HTMLDialogElement,
181
+ div: import_HTMLDivElement.HTMLDivElement,
182
+ dl: import_HTMLDListElement.HTMLDListElement,
183
+ embed: import_HTMLEmbedElement.HTMLEmbedElement,
184
+ fieldset: import_HTMLFieldSetElement.HTMLFieldSetElement,
185
+ form: import_HTMLFormElement.HTMLFormElement,
186
+ h1: import_HTMLH1Element.HTMLH1Element,
187
+ head: import_HTMLHeadElement.HTMLHeadElement,
188
+ hr: import_HTMLHRElement.HTMLHRElement,
189
+ html: import_HTMLHtmlElement.HTMLHtmlElement,
190
+ iframe: import_HTMLIFrameElement.HTMLIFrameElement,
191
+ img: import_HTMLImgElement.HTMLImgElement,
192
+ input: import_HTMLInputElement.HTMLInputElement,
193
+ label: import_HTMLLabelElement.HTMLLabelElement,
194
+ legend: import_HTMLLegendElement.HTMLLegendElement,
195
+ li: import_HTMLLIElement.HTMLLIElement,
196
+ link: import_HTMLLinkElement.HTMLLinkElement,
197
+ map: import_HTMLMapElement.HTMLMapElement,
198
+ meta: import_HTMLMetaElement.HTMLMetaElement,
199
+ meter: import_HTMLMeterElement.HTMLMeterElement,
200
+ del: import_HTMLModElement.HTMLModElement,
201
+ object: import_HTMLObjectElement.HTMLObjectElement,
202
+ ol: import_HTMLOListElement.HTMLOListElement,
203
+ optgroup: import_HTMLOptGroupElement.HTMLOptGroupElement,
204
+ option: import_HTMLOptionElement.HTMLOptionElement,
205
+ output: import_HTMLOutputElement.HTMLOutputElement,
206
+ p: import_HTMLPElement.HTMLPElement,
207
+ param: import_HTMLParamElement.HTMLParamElement,
208
+ picture: import_HTMLPictureElement.HTMLPictureElement,
209
+ pre: import_HTMLPreElement.HTMLPreElement,
210
+ progress: import_HTMLProgressElement.HTMLProgressElement,
211
+ blockquote: import_HTMLQuoteElement.HTMLQuoteElement,
212
+ script: import_HTMLScriptElement.HTMLScriptElement,
213
+ select: import_HTMLSelectElement.HTMLSelectElement,
214
+ slot: import_HTMLSlotElement.HTMLSlotElement,
215
+ source: import_HTMLSourceElement.HTMLSourceElement,
216
+ span: import_HTMLSpanElement.HTMLSpanElement,
217
+ style: import_HTMLStyleElement.HTMLStyleElement,
218
+ table: import_HTMLTableElement.HTMLTableElement,
219
+ tbody: import_HTMLTbodyElement.HTMLTbodyElement,
220
+ td: import_HTMLTdElement.HTMLTdElement,
221
+ template: import_HTMLTemplateElement.HTMLTemplateElement,
222
+ textarea: import_HTMLTextAreaElement.HTMLTextAreaElement,
223
+ tfoot: import_HTMLTfootElement.HTMLTfootElement,
224
+ thead: import_HTMLTheadElement.HTMLTheadElement,
225
+ th: import_HTMLThElement.HTMLThElement,
226
+ time: import_HTMLTimeElement.HTMLTimeElement,
227
+ title: import_HTMLTitleElement.HTMLTitleElement,
228
+ track: import_HTMLTrackElement.HTMLTrackElement,
229
+ tr: import_HTMLTrElement.HTMLTrElement,
230
+ ul: import_HTMLUListElement.HTMLUListElement,
231
+ video: import_HTMLVideoElement.HTMLVideoElement
145
232
  };
146
233
  const svgElements = {
147
- "svg": import_SVGElement.SVGElement,
148
- "circle": import_SVGCircleElement.SVGCircleElement,
149
- "rect": import_SVGRectElement.SVGRectElement
234
+ svg: import_SVGElement.SVGElement,
235
+ circle: import_SVGCircleElement.SVGCircleElement,
236
+ rect: import_SVGRectElement.SVGRectElement
150
237
  };
151
238
  const mathmlElements = {
152
- "annotation": import_MathMLElement.MathMLElement,
239
+ annotation: import_MathMLElement.MathMLElement,
153
240
  "annotation-xml": import_MathMLElement.MathMLElement,
154
- "maction": import_MathMLElement.MathMLElement,
155
- "math": import_MathMLElement.MathMLElement,
156
- "merror": import_MathMLElement.MathMLElement,
157
- "mfrac": import_MathMLElement.MathMLElement,
158
- "mi": import_MathMLElement.MathMLElement,
159
- "mmultiscripts": import_MathMLElement.MathMLElement,
160
- "mn": import_MathMLElement.MathMLElement,
161
- "mo": import_MathMLElement.MathMLElement,
162
- "mover": import_MathMLElement.MathMLElement,
163
- "mpadded": import_MathMLElement.MathMLElement,
164
- "mphantom": import_MathMLElement.MathMLElement,
165
- "mprescripts": import_MathMLElement.MathMLElement,
166
- "mroot": import_MathMLElement.MathMLElement,
167
- "mrow": import_MathMLElement.MathMLElement,
168
- "ms": import_MathMLElement.MathMLElement,
169
- "mspace": import_MathMLElement.MathMLElement,
170
- "msqrt": import_MathMLElement.MathMLElement,
171
- "mstyle": import_MathMLElement.MathMLElement,
172
- "msub": import_MathMLElement.MathMLElement,
173
- "msubsup": import_MathMLElement.MathMLElement,
174
- "msup": import_MathMLElement.MathMLElement,
175
- "mtable": import_MathMLElement.MathMLElement,
176
- "mtd": import_MathMLElement.MathMLElement,
177
- "mtext": import_MathMLElement.MathMLElement,
178
- "mtr": import_MathMLElement.MathMLElement,
179
- "munder": import_MathMLElement.MathMLElement,
180
- "munderover": import_MathMLElement.MathMLElement,
181
- "semantics": import_MathMLElement.MathMLElement
241
+ maction: import_MathMLElement.MathMLElement,
242
+ math: import_MathMLElement.MathMLElement,
243
+ merror: import_MathMLElement.MathMLElement,
244
+ mfrac: import_MathMLElement.MathMLElement,
245
+ mi: import_MathMLElement.MathMLElement,
246
+ mmultiscripts: import_MathMLElement.MathMLElement,
247
+ mn: import_MathMLElement.MathMLElement,
248
+ mo: import_MathMLElement.MathMLElement,
249
+ mover: import_MathMLElement.MathMLElement,
250
+ mpadded: import_MathMLElement.MathMLElement,
251
+ mphantom: import_MathMLElement.MathMLElement,
252
+ mprescripts: import_MathMLElement.MathMLElement,
253
+ mroot: import_MathMLElement.MathMLElement,
254
+ mrow: import_MathMLElement.MathMLElement,
255
+ ms: import_MathMLElement.MathMLElement,
256
+ mspace: import_MathMLElement.MathMLElement,
257
+ msqrt: import_MathMLElement.MathMLElement,
258
+ mstyle: import_MathMLElement.MathMLElement,
259
+ msub: import_MathMLElement.MathMLElement,
260
+ msubsup: import_MathMLElement.MathMLElement,
261
+ msup: import_MathMLElement.MathMLElement,
262
+ mtable: import_MathMLElement.MathMLElement,
263
+ mtd: import_MathMLElement.MathMLElement,
264
+ mtext: import_MathMLElement.MathMLElement,
265
+ mtr: import_MathMLElement.MathMLElement,
266
+ munder: import_MathMLElement.MathMLElement,
267
+ munderover: import_MathMLElement.MathMLElement,
268
+ semantics: import_MathMLElement.MathMLElement
182
269
  };
183
270
  //# sourceMappingURL=index.js.map
@@ -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": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBAAsC;AACtC,wBAAiD;AAGjD,yBAA4B;AAC5B,6BAAgC;AAChC,gCAAmC;AAGnC,+BAAkC;AAClC,6BAAgC;AAChC,4BAA+B;AAC/B,6BAAgC;AAChC,0BAA6B;AAC7B,4BAA+B;AAC/B,+BAAkC;AAClC,+BAAkC;AAClC,8BAAiC;AACjC,2BAA8B;AAC9B,6BAAgC;AAChC,6BAAgC;AAChC,8BAAiC;AACjC,6BAAgC;AAChC,+BAAkC;AAClC,8BAAiC;AACjC,6BAAgC;AAChC,8BAAiC;AACjC,8BAAiC;AACjC,8BAAiC;AACjC,2BAA8B;AAC9B,wBAA2B;AAC3B,8BAAiC;AACjC,4BAA+B;AAC/B,6BAAgC;AAChC,iCAAoC;AACpC,8BAAiC;AACjC,8BAAiC;AACjC,2BAA8B;AAC9B,2BAA8B;AAC9B,2BAA8B;AAC9B,gCAAmC;AACnC,8BAAiC;AACjC,8BAAiC;AACjC,6BAAgC;AAChC,6BAAgC;AAChC,2BAA8B;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
  }
@@ -21,8 +21,6 @@ __export(node_exports, {
21
21
  ATTRIBUTE_NODE: () => import_Node.ATTRIBUTE_NODE,
22
22
  CDATA_SECTION_NODE: () => import_Node.CDATA_SECTION_NODE,
23
23
  COMMENT_NODE: () => import_Node.COMMENT_NODE,
24
- CharacterData: () => import_CharacterData.CharacterData,
25
- ChildNode: () => import_ChildNode.ChildNode,
26
24
  ChildNodeBase: () => import_ChildNodeBase.ChildNodeBase,
27
25
  Comment: () => import_Comment.Comment,
28
26
  DOCUMENT_FRAGMENT_NODE: () => import_Node.DOCUMENT_FRAGMENT_NODE,
@@ -34,40 +32,32 @@ __export(node_exports, {
34
32
  DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: () => import_Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC,
35
33
  DOCUMENT_POSITION_PRECEDING: () => import_Node.DOCUMENT_POSITION_PRECEDING,
36
34
  DOCUMENT_TYPE_NODE: () => import_Node.DOCUMENT_TYPE_NODE,
37
- Document: () => import_Document.Document,
38
- DocumentFragment: () => import_Document.DocumentFragment,
39
- DocumentReadyState: () => import_Document.DocumentReadyState,
40
35
  ELEMENT_NODE: () => import_Node.ELEMENT_NODE,
41
36
  ENTITY_NODE: () => import_Node.ENTITY_NODE,
42
37
  ENTITY_REFERENCE_NODE: () => import_Node.ENTITY_REFERENCE_NODE,
43
38
  ElementBase: () => import_ElementBase.ElementBase,
44
- ElementCreationOptions: () => import_Document.ElementCreationOptions,
45
39
  GetRootNodeOptions: () => import_GetRootNodeOptions.GetRootNodeOptions,
46
40
  NOTATION_NODE: () => import_Node.NOTATION_NODE,
47
- Node: () => import_Node.Node,
48
41
  NodeBase: () => import_NodeBase.NodeBase,
42
+ NodeIterator: () => import_NodeIterator.NodeIterator,
49
43
  NodeList: () => import_NodeList.NodeList,
50
- NodeListOf: () => import_NodeListOf.NodeListOf,
44
+ NodeListOfImp: () => import_NodeListOfImp.NodeListOfImp,
51
45
  PROCESSING_INSTRUCTION_NODE: () => import_Node.PROCESSING_INSTRUCTION_NODE,
52
- ParentNode: () => import_ParentNode.ParentNode,
53
46
  ParentNodeBase: () => import_ParentNodeBase.ParentNodeBase,
54
47
  TEXT_NODE: () => import_Node.TEXT_NODE,
55
- Text: () => import_Text.Text
48
+ TreeWalker: () => import_TreeWalker.TreeWalker
56
49
  });
57
50
  module.exports = __toCommonJS(node_exports);
58
51
  var import_Node = require("./Node");
59
- var import_ChildNode = require("./ChildNode");
60
- var import_ParentNode = require("./ParentNode");
61
52
  var import_NodeBase = require("./NodeBase");
62
53
  var import_ChildNodeBase = require("./ChildNodeBase");
63
54
  var import_ParentNodeBase = require("./ParentNodeBase");
64
55
  var import_ElementBase = require("./elements/ElementBase");
65
- var import_Text = require("./Text");
66
- var import_Document = require("./Document");
67
- var import_CharacterData = require("./CharacterData");
68
56
  var import_Comment = require("./Comment");
69
57
  var import_NodeList = require("./collection/NodeList");
70
- var import_NodeListOf = require("./collection/NodeListOf");
58
+ var import_NodeListOfImp = require("./collection/NodeListOfImp");
59
+ var import_NodeIterator = require("./NodeIterator");
60
+ var import_TreeWalker = require("./TreeWalker");
71
61
  __reExport(node_exports, require("./elements"), module.exports);
72
62
  var import_GetRootNodeOptions = require("./GetRootNodeOptions");
73
63
  //# 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": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAA4a;AAC5a,uBAA0B;AAC1B,wBAA2B;AAG3B,sBAAyB;AACzB,2BAA8B;AAC9B,4BAA+B;AAC/B,yBAA4B;AAC5B,kBAAqB;AAGrB,sBAAuF;AAGvF,2BAA8B;AAC9B,qBAAwB;AAGxB,sBAAyB;AACzB,wBAA2B;AAG3B,yBAAc,uBAxBd;AA2BA,gCAAmC;",
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": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAAsa;AAGta,sBAAyB;AACzB,2BAA8B;AAC9B,4BAA+B;AAC/B,yBAA4B;AAM5B,qBAAwB;AAGxB,sBAAyB;AACzB,2BAA8B;AAG9B,0BAA6B;AAC7B,wBAA2B;AAG3B,yBAAc,uBAxBd;AA2BA,gCAAmC;",
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
  }