@dooboostore/dom-parser 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (519) hide show
  1. package/README.MD +280 -0
  2. package/dist/cjs/DomParser.js +360 -0
  3. package/dist/cjs/DomParser.js.map +7 -0
  4. package/dist/cjs/factory/ElementFactory.js +76 -0
  5. package/dist/cjs/factory/ElementFactory.js.map +7 -0
  6. package/dist/cjs/factory/index.js +24 -0
  7. package/dist/cjs/factory/index.js.map +7 -0
  8. package/dist/cjs/index.js +34 -0
  9. package/dist/cjs/index.js.map +7 -0
  10. package/dist/cjs/node/CharacterData.js +16 -0
  11. package/dist/cjs/node/CharacterData.js.map +7 -0
  12. package/dist/cjs/node/ChildNode.js +16 -0
  13. package/dist/cjs/node/ChildNode.js.map +7 -0
  14. package/dist/cjs/node/ChildNodeBase.js +62 -0
  15. package/dist/cjs/node/ChildNodeBase.js.map +7 -0
  16. package/dist/cjs/node/Comment.js +86 -0
  17. package/dist/cjs/node/Comment.js.map +7 -0
  18. package/dist/cjs/node/Document.js +28 -0
  19. package/dist/cjs/node/Document.js.map +7 -0
  20. package/dist/cjs/node/DocumentBase.js +378 -0
  21. package/dist/cjs/node/DocumentBase.js.map +7 -0
  22. package/dist/cjs/node/DocumentFragment.js +16 -0
  23. package/dist/cjs/node/DocumentFragment.js.map +7 -0
  24. package/dist/cjs/node/DocumentFragmentBase.js +88 -0
  25. package/dist/cjs/node/DocumentFragmentBase.js.map +7 -0
  26. package/dist/cjs/node/GetRootNodeOptions.js +16 -0
  27. package/dist/cjs/node/GetRootNodeOptions.js.map +7 -0
  28. package/dist/cjs/node/Node.js +58 -0
  29. package/dist/cjs/node/Node.js.map +7 -0
  30. package/dist/cjs/node/NodeBase.js +380 -0
  31. package/dist/cjs/node/NodeBase.js.map +7 -0
  32. package/dist/cjs/node/NodeIterator.js +163 -0
  33. package/dist/cjs/node/NodeIterator.js.map +7 -0
  34. package/dist/cjs/node/ParentNode.js +16 -0
  35. package/dist/cjs/node/ParentNode.js.map +7 -0
  36. package/dist/cjs/node/ParentNodeBase.js +134 -0
  37. package/dist/cjs/node/ParentNodeBase.js.map +7 -0
  38. package/dist/cjs/node/Text.js +16 -0
  39. package/dist/cjs/node/Text.js.map +7 -0
  40. package/dist/cjs/node/TextBase.js +106 -0
  41. package/dist/cjs/node/TextBase.js.map +7 -0
  42. package/dist/cjs/node/collection/HTMLCollection.js +105 -0
  43. package/dist/cjs/node/collection/HTMLCollection.js.map +7 -0
  44. package/dist/cjs/node/collection/HTMLCollectionOf.js +36 -0
  45. package/dist/cjs/node/collection/HTMLCollectionOf.js.map +7 -0
  46. package/dist/cjs/node/collection/NodeList.js +135 -0
  47. package/dist/cjs/node/collection/NodeList.js.map +7 -0
  48. package/dist/cjs/node/collection/NodeListOf.js +38 -0
  49. package/dist/cjs/node/collection/NodeListOf.js.map +7 -0
  50. package/dist/cjs/node/collection/index.js +30 -0
  51. package/dist/cjs/node/collection/index.js.map +7 -0
  52. package/dist/cjs/node/elements/Element.js +16 -0
  53. package/dist/cjs/node/elements/Element.js.map +7 -0
  54. package/dist/cjs/node/elements/ElementBase.js +936 -0
  55. package/dist/cjs/node/elements/ElementBase.js.map +7 -0
  56. package/dist/cjs/node/elements/HTMLAnchorElement.js +71 -0
  57. package/dist/cjs/node/elements/HTMLAnchorElement.js.map +7 -0
  58. package/dist/cjs/node/elements/HTMLAreaElement.js +77 -0
  59. package/dist/cjs/node/elements/HTMLAreaElement.js.map +7 -0
  60. package/dist/cjs/node/elements/HTMLBaseElement.js +77 -0
  61. package/dist/cjs/node/elements/HTMLBaseElement.js.map +7 -0
  62. package/dist/cjs/node/elements/HTMLBodyElement.js +29 -0
  63. package/dist/cjs/node/elements/HTMLBodyElement.js.map +7 -0
  64. package/dist/cjs/node/elements/HTMLButtonElement.js +89 -0
  65. package/dist/cjs/node/elements/HTMLButtonElement.js.map +7 -0
  66. package/dist/cjs/node/elements/HTMLCanvasElement.js +79 -0
  67. package/dist/cjs/node/elements/HTMLCanvasElement.js.map +7 -0
  68. package/dist/cjs/node/elements/HTMLCaptionElement.js +41 -0
  69. package/dist/cjs/node/elements/HTMLCaptionElement.js.map +7 -0
  70. package/dist/cjs/node/elements/HTMLDivElement.js +29 -0
  71. package/dist/cjs/node/elements/HTMLDivElement.js.map +7 -0
  72. package/dist/cjs/node/elements/HTMLElement.js +16 -0
  73. package/dist/cjs/node/elements/HTMLElement.js.map +7 -0
  74. package/dist/cjs/node/elements/HTMLElementBase.js +182 -0
  75. package/dist/cjs/node/elements/HTMLElementBase.js.map +7 -0
  76. package/dist/cjs/node/elements/HTMLEmbedElement.js +45 -0
  77. package/dist/cjs/node/elements/HTMLEmbedElement.js.map +7 -0
  78. package/dist/cjs/node/elements/HTMLFormElement.js +127 -0
  79. package/dist/cjs/node/elements/HTMLFormElement.js.map +7 -0
  80. package/dist/cjs/node/elements/HTMLGenericElement.js +32 -0
  81. package/dist/cjs/node/elements/HTMLGenericElement.js.map +7 -0
  82. package/dist/cjs/node/elements/HTMLH1Element.js +29 -0
  83. package/dist/cjs/node/elements/HTMLH1Element.js.map +7 -0
  84. package/dist/cjs/node/elements/HTMLHeadElement.js +29 -0
  85. package/dist/cjs/node/elements/HTMLHeadElement.js.map +7 -0
  86. package/dist/cjs/node/elements/HTMLHtmlElement.js +92 -0
  87. package/dist/cjs/node/elements/HTMLHtmlElement.js.map +7 -0
  88. package/dist/cjs/node/elements/HTMLImgElement.js +99 -0
  89. package/dist/cjs/node/elements/HTMLImgElement.js.map +7 -0
  90. package/dist/cjs/node/elements/HTMLInputElement.js +157 -0
  91. package/dist/cjs/node/elements/HTMLInputElement.js.map +7 -0
  92. package/dist/cjs/node/elements/HTMLLIElement.js +57 -0
  93. package/dist/cjs/node/elements/HTMLLIElement.js.map +7 -0
  94. package/dist/cjs/node/elements/HTMLLinkElement.js +99 -0
  95. package/dist/cjs/node/elements/HTMLLinkElement.js.map +7 -0
  96. package/dist/cjs/node/elements/HTMLMetaElement.js +29 -0
  97. package/dist/cjs/node/elements/HTMLMetaElement.js.map +7 -0
  98. package/dist/cjs/node/elements/HTMLOListElement.js +89 -0
  99. package/dist/cjs/node/elements/HTMLOListElement.js.map +7 -0
  100. package/dist/cjs/node/elements/HTMLPElement.js +29 -0
  101. package/dist/cjs/node/elements/HTMLPElement.js.map +7 -0
  102. package/dist/cjs/node/elements/HTMLScriptElement.js +127 -0
  103. package/dist/cjs/node/elements/HTMLScriptElement.js.map +7 -0
  104. package/dist/cjs/node/elements/HTMLSpanElement.js +29 -0
  105. package/dist/cjs/node/elements/HTMLSpanElement.js.map +7 -0
  106. package/dist/cjs/node/elements/HTMLStyleElement.js +71 -0
  107. package/dist/cjs/node/elements/HTMLStyleElement.js.map +7 -0
  108. package/dist/cjs/node/elements/HTMLTableElement.js +112 -0
  109. package/dist/cjs/node/elements/HTMLTableElement.js.map +7 -0
  110. package/dist/cjs/node/elements/HTMLTbodyElement.js +54 -0
  111. package/dist/cjs/node/elements/HTMLTbodyElement.js.map +7 -0
  112. package/dist/cjs/node/elements/HTMLTdElement.js +72 -0
  113. package/dist/cjs/node/elements/HTMLTdElement.js.map +7 -0
  114. package/dist/cjs/node/elements/HTMLTemplateElement.js +97 -0
  115. package/dist/cjs/node/elements/HTMLTemplateElement.js.map +7 -0
  116. package/dist/cjs/node/elements/HTMLTfootElement.js +56 -0
  117. package/dist/cjs/node/elements/HTMLTfootElement.js.map +7 -0
  118. package/dist/cjs/node/elements/HTMLThElement.js +72 -0
  119. package/dist/cjs/node/elements/HTMLThElement.js.map +7 -0
  120. package/dist/cjs/node/elements/HTMLTheadElement.js +54 -0
  121. package/dist/cjs/node/elements/HTMLTheadElement.js.map +7 -0
  122. package/dist/cjs/node/elements/HTMLTitleElement.js +38 -0
  123. package/dist/cjs/node/elements/HTMLTitleElement.js.map +7 -0
  124. package/dist/cjs/node/elements/HTMLTrElement.js +77 -0
  125. package/dist/cjs/node/elements/HTMLTrElement.js.map +7 -0
  126. package/dist/cjs/node/elements/HTMLUListElement.js +29 -0
  127. package/dist/cjs/node/elements/HTMLUListElement.js.map +7 -0
  128. package/dist/cjs/node/elements/MathMLElement.js +32 -0
  129. package/dist/cjs/node/elements/MathMLElement.js.map +7 -0
  130. package/dist/cjs/node/elements/SVGCircleElement.js +69 -0
  131. package/dist/cjs/node/elements/SVGCircleElement.js.map +7 -0
  132. package/dist/cjs/node/elements/SVGElement.js +32 -0
  133. package/dist/cjs/node/elements/SVGElement.js.map +7 -0
  134. package/dist/cjs/node/elements/SVGRectElement.js +80 -0
  135. package/dist/cjs/node/elements/SVGRectElement.js.map +7 -0
  136. package/dist/cjs/node/elements/index.js +183 -0
  137. package/dist/cjs/node/elements/index.js.map +7 -0
  138. package/dist/cjs/node/index.js +73 -0
  139. package/dist/cjs/node/index.js.map +7 -0
  140. package/dist/cjs/package.json +5 -0
  141. package/dist/cjs/utils/CSSSelector.js +271 -0
  142. package/dist/cjs/utils/CSSSelector.js.map +7 -0
  143. package/dist/cjs/window/Window.js +16 -0
  144. package/dist/cjs/window/Window.js.map +7 -0
  145. package/dist/cjs/window/WindowBase.js +847 -0
  146. package/dist/cjs/window/WindowBase.js.map +7 -0
  147. package/dist/cjs/window/index.js +29 -0
  148. package/dist/cjs/window/index.js.map +7 -0
  149. package/dist/esm/DomParser.js +341 -0
  150. package/dist/esm/DomParser.js.map +7 -0
  151. package/dist/esm/factory/ElementFactory.js +57 -0
  152. package/dist/esm/factory/ElementFactory.js.map +7 -0
  153. package/dist/esm/factory/index.js +5 -0
  154. package/dist/esm/factory/index.js.map +7 -0
  155. package/dist/esm/index.js +15 -0
  156. package/dist/esm/index.js.map +7 -0
  157. package/dist/esm/node/CharacterData.js +1 -0
  158. package/dist/esm/node/CharacterData.js.map +7 -0
  159. package/dist/esm/node/ChildNode.js +1 -0
  160. package/dist/esm/node/ChildNode.js.map +7 -0
  161. package/dist/esm/node/ChildNodeBase.js +43 -0
  162. package/dist/esm/node/ChildNodeBase.js.map +7 -0
  163. package/dist/esm/node/Comment.js +67 -0
  164. package/dist/esm/node/Comment.js.map +7 -0
  165. package/dist/esm/node/Document.js +9 -0
  166. package/dist/esm/node/Document.js.map +7 -0
  167. package/dist/esm/node/DocumentBase.js +359 -0
  168. package/dist/esm/node/DocumentBase.js.map +7 -0
  169. package/dist/esm/node/DocumentFragment.js +1 -0
  170. package/dist/esm/node/DocumentFragment.js.map +7 -0
  171. package/dist/esm/node/DocumentFragmentBase.js +69 -0
  172. package/dist/esm/node/DocumentFragmentBase.js.map +7 -0
  173. package/dist/esm/node/GetRootNodeOptions.js +1 -0
  174. package/dist/esm/node/GetRootNodeOptions.js.map +7 -0
  175. package/dist/esm/node/Node.js +39 -0
  176. package/dist/esm/node/Node.js.map +7 -0
  177. package/dist/esm/node/NodeBase.js +380 -0
  178. package/dist/esm/node/NodeBase.js.map +7 -0
  179. package/dist/esm/node/NodeIterator.js +144 -0
  180. package/dist/esm/node/NodeIterator.js.map +7 -0
  181. package/dist/esm/node/ParentNode.js +1 -0
  182. package/dist/esm/node/ParentNode.js.map +7 -0
  183. package/dist/esm/node/ParentNodeBase.js +115 -0
  184. package/dist/esm/node/ParentNodeBase.js.map +7 -0
  185. package/dist/esm/node/Text.js +1 -0
  186. package/dist/esm/node/Text.js.map +7 -0
  187. package/dist/esm/node/TextBase.js +87 -0
  188. package/dist/esm/node/TextBase.js.map +7 -0
  189. package/dist/esm/node/collection/HTMLCollection.js +86 -0
  190. package/dist/esm/node/collection/HTMLCollection.js.map +7 -0
  191. package/dist/esm/node/collection/HTMLCollectionOf.js +17 -0
  192. package/dist/esm/node/collection/HTMLCollectionOf.js.map +7 -0
  193. package/dist/esm/node/collection/NodeList.js +116 -0
  194. package/dist/esm/node/collection/NodeList.js.map +7 -0
  195. package/dist/esm/node/collection/NodeListOf.js +19 -0
  196. package/dist/esm/node/collection/NodeListOf.js.map +7 -0
  197. package/dist/esm/node/collection/index.js +11 -0
  198. package/dist/esm/node/collection/index.js.map +7 -0
  199. package/dist/esm/node/elements/Element.js +1 -0
  200. package/dist/esm/node/elements/Element.js.map +7 -0
  201. package/dist/esm/node/elements/ElementBase.js +917 -0
  202. package/dist/esm/node/elements/ElementBase.js.map +7 -0
  203. package/dist/esm/node/elements/HTMLAnchorElement.js +52 -0
  204. package/dist/esm/node/elements/HTMLAnchorElement.js.map +7 -0
  205. package/dist/esm/node/elements/HTMLAreaElement.js +58 -0
  206. package/dist/esm/node/elements/HTMLAreaElement.js.map +7 -0
  207. package/dist/esm/node/elements/HTMLBaseElement.js +58 -0
  208. package/dist/esm/node/elements/HTMLBaseElement.js.map +7 -0
  209. package/dist/esm/node/elements/HTMLBodyElement.js +10 -0
  210. package/dist/esm/node/elements/HTMLBodyElement.js.map +7 -0
  211. package/dist/esm/node/elements/HTMLButtonElement.js +70 -0
  212. package/dist/esm/node/elements/HTMLButtonElement.js.map +7 -0
  213. package/dist/esm/node/elements/HTMLCanvasElement.js +60 -0
  214. package/dist/esm/node/elements/HTMLCanvasElement.js.map +7 -0
  215. package/dist/esm/node/elements/HTMLCaptionElement.js +22 -0
  216. package/dist/esm/node/elements/HTMLCaptionElement.js.map +7 -0
  217. package/dist/esm/node/elements/HTMLDivElement.js +10 -0
  218. package/dist/esm/node/elements/HTMLDivElement.js.map +7 -0
  219. package/dist/esm/node/elements/HTMLElement.js +1 -0
  220. package/dist/esm/node/elements/HTMLElement.js.map +7 -0
  221. package/dist/esm/node/elements/HTMLElementBase.js +163 -0
  222. package/dist/esm/node/elements/HTMLElementBase.js.map +7 -0
  223. package/dist/esm/node/elements/HTMLEmbedElement.js +26 -0
  224. package/dist/esm/node/elements/HTMLEmbedElement.js.map +7 -0
  225. package/dist/esm/node/elements/HTMLFormElement.js +108 -0
  226. package/dist/esm/node/elements/HTMLFormElement.js.map +7 -0
  227. package/dist/esm/node/elements/HTMLGenericElement.js +13 -0
  228. package/dist/esm/node/elements/HTMLGenericElement.js.map +7 -0
  229. package/dist/esm/node/elements/HTMLH1Element.js +10 -0
  230. package/dist/esm/node/elements/HTMLH1Element.js.map +7 -0
  231. package/dist/esm/node/elements/HTMLHeadElement.js +10 -0
  232. package/dist/esm/node/elements/HTMLHeadElement.js.map +7 -0
  233. package/dist/esm/node/elements/HTMLHtmlElement.js +73 -0
  234. package/dist/esm/node/elements/HTMLHtmlElement.js.map +7 -0
  235. package/dist/esm/node/elements/HTMLImgElement.js +80 -0
  236. package/dist/esm/node/elements/HTMLImgElement.js.map +7 -0
  237. package/dist/esm/node/elements/HTMLInputElement.js +138 -0
  238. package/dist/esm/node/elements/HTMLInputElement.js.map +7 -0
  239. package/dist/esm/node/elements/HTMLLIElement.js +38 -0
  240. package/dist/esm/node/elements/HTMLLIElement.js.map +7 -0
  241. package/dist/esm/node/elements/HTMLLinkElement.js +80 -0
  242. package/dist/esm/node/elements/HTMLLinkElement.js.map +7 -0
  243. package/dist/esm/node/elements/HTMLMetaElement.js +10 -0
  244. package/dist/esm/node/elements/HTMLMetaElement.js.map +7 -0
  245. package/dist/esm/node/elements/HTMLOListElement.js +70 -0
  246. package/dist/esm/node/elements/HTMLOListElement.js.map +7 -0
  247. package/dist/esm/node/elements/HTMLPElement.js +10 -0
  248. package/dist/esm/node/elements/HTMLPElement.js.map +7 -0
  249. package/dist/esm/node/elements/HTMLScriptElement.js +108 -0
  250. package/dist/esm/node/elements/HTMLScriptElement.js.map +7 -0
  251. package/dist/esm/node/elements/HTMLSpanElement.js +10 -0
  252. package/dist/esm/node/elements/HTMLSpanElement.js.map +7 -0
  253. package/dist/esm/node/elements/HTMLStyleElement.js +52 -0
  254. package/dist/esm/node/elements/HTMLStyleElement.js.map +7 -0
  255. package/dist/esm/node/elements/HTMLTableElement.js +93 -0
  256. package/dist/esm/node/elements/HTMLTableElement.js.map +7 -0
  257. package/dist/esm/node/elements/HTMLTbodyElement.js +35 -0
  258. package/dist/esm/node/elements/HTMLTbodyElement.js.map +7 -0
  259. package/dist/esm/node/elements/HTMLTdElement.js +53 -0
  260. package/dist/esm/node/elements/HTMLTdElement.js.map +7 -0
  261. package/dist/esm/node/elements/HTMLTemplateElement.js +78 -0
  262. package/dist/esm/node/elements/HTMLTemplateElement.js.map +7 -0
  263. package/dist/esm/node/elements/HTMLTfootElement.js +37 -0
  264. package/dist/esm/node/elements/HTMLTfootElement.js.map +7 -0
  265. package/dist/esm/node/elements/HTMLThElement.js +53 -0
  266. package/dist/esm/node/elements/HTMLThElement.js.map +7 -0
  267. package/dist/esm/node/elements/HTMLTheadElement.js +35 -0
  268. package/dist/esm/node/elements/HTMLTheadElement.js.map +7 -0
  269. package/dist/esm/node/elements/HTMLTitleElement.js +19 -0
  270. package/dist/esm/node/elements/HTMLTitleElement.js.map +7 -0
  271. package/dist/esm/node/elements/HTMLTrElement.js +58 -0
  272. package/dist/esm/node/elements/HTMLTrElement.js.map +7 -0
  273. package/dist/esm/node/elements/HTMLUListElement.js +10 -0
  274. package/dist/esm/node/elements/HTMLUListElement.js.map +7 -0
  275. package/dist/esm/node/elements/MathMLElement.js +13 -0
  276. package/dist/esm/node/elements/MathMLElement.js.map +7 -0
  277. package/dist/esm/node/elements/SVGCircleElement.js +50 -0
  278. package/dist/esm/node/elements/SVGCircleElement.js.map +7 -0
  279. package/dist/esm/node/elements/SVGElement.js +13 -0
  280. package/dist/esm/node/elements/SVGElement.js.map +7 -0
  281. package/dist/esm/node/elements/SVGRectElement.js +61 -0
  282. package/dist/esm/node/elements/SVGRectElement.js.map +7 -0
  283. package/dist/esm/node/elements/index.js +164 -0
  284. package/dist/esm/node/elements/index.js.map +7 -0
  285. package/dist/esm/node/index.js +53 -0
  286. package/dist/esm/node/index.js.map +7 -0
  287. package/dist/esm/utils/CSSSelector.js +252 -0
  288. package/dist/esm/utils/CSSSelector.js.map +7 -0
  289. package/dist/esm/window/Window.js +1 -0
  290. package/dist/esm/window/Window.js.map +7 -0
  291. package/dist/esm/window/WindowBase.js +828 -0
  292. package/dist/esm/window/WindowBase.js.map +7 -0
  293. package/dist/esm/window/index.js +10 -0
  294. package/dist/esm/window/index.js.map +7 -0
  295. package/dist/esm-bundle/dooboostore-dom-parser.esm.js +6176 -0
  296. package/dist/esm-bundle/dooboostore-dom-parser.esm.js.map +7 -0
  297. package/dist/types/DomParser.d.ts +30 -0
  298. package/dist/types/DomParser.d.ts.map +1 -0
  299. package/dist/types/factory/ElementFactory.d.ts +27 -0
  300. package/dist/types/factory/ElementFactory.d.ts.map +1 -0
  301. package/dist/types/factory/index.d.ts +2 -0
  302. package/dist/types/factory/index.d.ts.map +1 -0
  303. package/dist/types/index.d.ts +9 -0
  304. package/dist/types/index.d.ts.map +1 -0
  305. package/dist/types/node/CharacterData.d.ts +52 -0
  306. package/dist/types/node/CharacterData.d.ts.map +1 -0
  307. package/dist/types/node/ChildNode.d.ts +39 -0
  308. package/dist/types/node/ChildNode.d.ts.map +1 -0
  309. package/dist/types/node/ChildNodeBase.d.ts +12 -0
  310. package/dist/types/node/ChildNodeBase.d.ts.map +1 -0
  311. package/dist/types/node/Comment.d.ts +26 -0
  312. package/dist/types/node/Comment.d.ts.map +1 -0
  313. package/dist/types/node/Document.d.ts +857 -0
  314. package/dist/types/node/Document.d.ts.map +1 -0
  315. package/dist/types/node/DocumentBase.d.ts +153 -0
  316. package/dist/types/node/DocumentBase.d.ts.map +1 -0
  317. package/dist/types/node/DocumentFragment.d.ts +39 -0
  318. package/dist/types/node/DocumentFragment.d.ts.map +1 -0
  319. package/dist/types/node/DocumentFragmentBase.d.ts +51 -0
  320. package/dist/types/node/DocumentFragmentBase.d.ts.map +1 -0
  321. package/dist/types/node/GetRootNodeOptions.d.ts +14 -0
  322. package/dist/types/node/GetRootNodeOptions.d.ts.map +1 -0
  323. package/dist/types/node/Node.d.ts +232 -0
  324. package/dist/types/node/Node.d.ts.map +1 -0
  325. package/dist/types/node/NodeBase.d.ts +98 -0
  326. package/dist/types/node/NodeBase.d.ts.map +1 -0
  327. package/dist/types/node/NodeIterator.d.ts +61 -0
  328. package/dist/types/node/NodeIterator.d.ts.map +1 -0
  329. package/dist/types/node/ParentNode.d.ts +85 -0
  330. package/dist/types/node/ParentNode.d.ts.map +1 -0
  331. package/dist/types/node/ParentNodeBase.d.ts +22 -0
  332. package/dist/types/node/ParentNodeBase.d.ts.map +1 -0
  333. package/dist/types/node/Text.d.ts +25 -0
  334. package/dist/types/node/Text.d.ts.map +1 -0
  335. package/dist/types/node/TextBase.d.ts +26 -0
  336. package/dist/types/node/TextBase.d.ts.map +1 -0
  337. package/dist/types/node/collection/HTMLCollection.d.ts +37 -0
  338. package/dist/types/node/collection/HTMLCollection.d.ts.map +1 -0
  339. package/dist/types/node/collection/HTMLCollectionOf.d.ts +14 -0
  340. package/dist/types/node/collection/HTMLCollectionOf.d.ts.map +1 -0
  341. package/dist/types/node/collection/NodeList.d.ts +55 -0
  342. package/dist/types/node/collection/NodeList.d.ts.map +1 -0
  343. package/dist/types/node/collection/NodeListOf.d.ts +14 -0
  344. package/dist/types/node/collection/NodeListOf.d.ts.map +1 -0
  345. package/dist/types/node/collection/index.d.ts +5 -0
  346. package/dist/types/node/collection/index.d.ts.map +1 -0
  347. package/dist/types/node/elements/Element.d.ts +687 -0
  348. package/dist/types/node/elements/Element.d.ts.map +1 -0
  349. package/dist/types/node/elements/ElementBase.d.ts +143 -0
  350. package/dist/types/node/elements/ElementBase.d.ts.map +1 -0
  351. package/dist/types/node/elements/HTMLAnchorElement.d.ts +18 -0
  352. package/dist/types/node/elements/HTMLAnchorElement.d.ts.map +1 -0
  353. package/dist/types/node/elements/HTMLAreaElement.d.ts +59 -0
  354. package/dist/types/node/elements/HTMLAreaElement.d.ts.map +1 -0
  355. package/dist/types/node/elements/HTMLBaseElement.d.ts +25 -0
  356. package/dist/types/node/elements/HTMLBaseElement.d.ts.map +1 -0
  357. package/dist/types/node/elements/HTMLBodyElement.d.ts +10 -0
  358. package/dist/types/node/elements/HTMLBodyElement.d.ts.map +1 -0
  359. package/dist/types/node/elements/HTMLButtonElement.d.ts +21 -0
  360. package/dist/types/node/elements/HTMLButtonElement.d.ts.map +1 -0
  361. package/dist/types/node/elements/HTMLCanvasElement.d.ts +15 -0
  362. package/dist/types/node/elements/HTMLCanvasElement.d.ts.map +1 -0
  363. package/dist/types/node/elements/HTMLCaptionElement.d.ts +18 -0
  364. package/dist/types/node/elements/HTMLCaptionElement.d.ts.map +1 -0
  365. package/dist/types/node/elements/HTMLDivElement.d.ts +10 -0
  366. package/dist/types/node/elements/HTMLDivElement.d.ts.map +1 -0
  367. package/dist/types/node/elements/HTMLElement.d.ts +90 -0
  368. package/dist/types/node/elements/HTMLElement.d.ts.map +1 -0
  369. package/dist/types/node/elements/HTMLElementBase.d.ts +42 -0
  370. package/dist/types/node/elements/HTMLElementBase.d.ts.map +1 -0
  371. package/dist/types/node/elements/HTMLEmbedElement.d.ts +27 -0
  372. package/dist/types/node/elements/HTMLEmbedElement.d.ts.map +1 -0
  373. package/dist/types/node/elements/HTMLFormElement.d.ts +30 -0
  374. package/dist/types/node/elements/HTMLFormElement.d.ts.map +1 -0
  375. package/dist/types/node/elements/HTMLGenericElement.d.ts +6 -0
  376. package/dist/types/node/elements/HTMLGenericElement.d.ts.map +1 -0
  377. package/dist/types/node/elements/HTMLH1Element.d.ts +10 -0
  378. package/dist/types/node/elements/HTMLH1Element.d.ts.map +1 -0
  379. package/dist/types/node/elements/HTMLHeadElement.d.ts +10 -0
  380. package/dist/types/node/elements/HTMLHeadElement.d.ts.map +1 -0
  381. package/dist/types/node/elements/HTMLHtmlElement.d.ts +17 -0
  382. package/dist/types/node/elements/HTMLHtmlElement.d.ts.map +1 -0
  383. package/dist/types/node/elements/HTMLImgElement.d.ts +24 -0
  384. package/dist/types/node/elements/HTMLImgElement.d.ts.map +1 -0
  385. package/dist/types/node/elements/HTMLInputElement.d.ts +33 -0
  386. package/dist/types/node/elements/HTMLInputElement.d.ts.map +1 -0
  387. package/dist/types/node/elements/HTMLLIElement.d.ts +15 -0
  388. package/dist/types/node/elements/HTMLLIElement.d.ts.map +1 -0
  389. package/dist/types/node/elements/HTMLLinkElement.d.ts +24 -0
  390. package/dist/types/node/elements/HTMLLinkElement.d.ts.map +1 -0
  391. package/dist/types/node/elements/HTMLMetaElement.d.ts +10 -0
  392. package/dist/types/node/elements/HTMLMetaElement.d.ts.map +1 -0
  393. package/dist/types/node/elements/HTMLOListElement.d.ts +21 -0
  394. package/dist/types/node/elements/HTMLOListElement.d.ts.map +1 -0
  395. package/dist/types/node/elements/HTMLPElement.d.ts +10 -0
  396. package/dist/types/node/elements/HTMLPElement.d.ts.map +1 -0
  397. package/dist/types/node/elements/HTMLScriptElement.d.ts +29 -0
  398. package/dist/types/node/elements/HTMLScriptElement.d.ts.map +1 -0
  399. package/dist/types/node/elements/HTMLSpanElement.d.ts +10 -0
  400. package/dist/types/node/elements/HTMLSpanElement.d.ts.map +1 -0
  401. package/dist/types/node/elements/HTMLStyleElement.d.ts +18 -0
  402. package/dist/types/node/elements/HTMLStyleElement.d.ts.map +1 -0
  403. package/dist/types/node/elements/HTMLTableElement.d.ts +25 -0
  404. package/dist/types/node/elements/HTMLTableElement.d.ts.map +1 -0
  405. package/dist/types/node/elements/HTMLTbodyElement.d.ts +15 -0
  406. package/dist/types/node/elements/HTMLTbodyElement.d.ts.map +1 -0
  407. package/dist/types/node/elements/HTMLTdElement.d.ts +21 -0
  408. package/dist/types/node/elements/HTMLTdElement.d.ts.map +1 -0
  409. package/dist/types/node/elements/HTMLTemplateElement.d.ts +32 -0
  410. package/dist/types/node/elements/HTMLTemplateElement.d.ts.map +1 -0
  411. package/dist/types/node/elements/HTMLTfootElement.d.ts +16 -0
  412. package/dist/types/node/elements/HTMLTfootElement.d.ts.map +1 -0
  413. package/dist/types/node/elements/HTMLThElement.d.ts +21 -0
  414. package/dist/types/node/elements/HTMLThElement.d.ts.map +1 -0
  415. package/dist/types/node/elements/HTMLTheadElement.d.ts +15 -0
  416. package/dist/types/node/elements/HTMLTheadElement.d.ts.map +1 -0
  417. package/dist/types/node/elements/HTMLTitleElement.d.ts +15 -0
  418. package/dist/types/node/elements/HTMLTitleElement.d.ts.map +1 -0
  419. package/dist/types/node/elements/HTMLTrElement.d.ts +17 -0
  420. package/dist/types/node/elements/HTMLTrElement.d.ts.map +1 -0
  421. package/dist/types/node/elements/HTMLUListElement.d.ts +10 -0
  422. package/dist/types/node/elements/HTMLUListElement.d.ts.map +1 -0
  423. package/dist/types/node/elements/MathMLElement.d.ts +11 -0
  424. package/dist/types/node/elements/MathMLElement.d.ts.map +1 -0
  425. package/dist/types/node/elements/SVGCircleElement.d.ts +20 -0
  426. package/dist/types/node/elements/SVGCircleElement.d.ts.map +1 -0
  427. package/dist/types/node/elements/SVGElement.d.ts +11 -0
  428. package/dist/types/node/elements/SVGElement.d.ts.map +1 -0
  429. package/dist/types/node/elements/SVGRectElement.d.ts +23 -0
  430. package/dist/types/node/elements/SVGRectElement.d.ts.map +1 -0
  431. package/dist/types/node/elements/index.d.ts +128 -0
  432. package/dist/types/node/elements/index.d.ts.map +1 -0
  433. package/dist/types/node/index.d.ts +16 -0
  434. package/dist/types/node/index.d.ts.map +1 -0
  435. package/dist/types/utils/CSSSelector.d.ts +36 -0
  436. package/dist/types/utils/CSSSelector.d.ts.map +1 -0
  437. package/dist/types/window/Window.d.ts +620 -0
  438. package/dist/types/window/Window.d.ts.map +1 -0
  439. package/dist/types/window/WindowBase.d.ts +342 -0
  440. package/dist/types/window/WindowBase.d.ts.map +1 -0
  441. package/dist/types/window/index.d.ts +3 -0
  442. package/dist/types/window/index.d.ts.map +1 -0
  443. package/dist/umd-bundle/dooboostore-dom-parser.umd.js +6182 -0
  444. package/dist/umd-bundle/dooboostore-dom-parser.umd.js.map +7 -0
  445. package/package.json +120 -0
  446. package/src/DomParser.ts +491 -0
  447. package/src/factory/ElementFactory.ts +69 -0
  448. package/src/factory/index.ts +1 -0
  449. package/src/index.ts +28 -0
  450. package/src/node/CharacterData.ts +58 -0
  451. package/src/node/ChildNode.ts +42 -0
  452. package/src/node/ChildNodeBase.ts +54 -0
  453. package/src/node/Comment.ts +98 -0
  454. package/src/node/Document.ts +882 -0
  455. package/src/node/DocumentBase.ts +465 -0
  456. package/src/node/DocumentFragment.ts +44 -0
  457. package/src/node/DocumentFragmentBase.ts +109 -0
  458. package/src/node/GetRootNodeOptions.ts +13 -0
  459. package/src/node/Node.ts +245 -0
  460. package/src/node/NodeBase.ts +506 -0
  461. package/src/node/NodeIterator.ts +200 -0
  462. package/src/node/ParentNode.ts +93 -0
  463. package/src/node/ParentNodeBase.ts +145 -0
  464. package/src/node/Text.ts +30 -0
  465. package/src/node/TextBase.ts +113 -0
  466. package/src/node/collection/HTMLCollection.ts +107 -0
  467. package/src/node/collection/HTMLCollectionOf.ts +26 -0
  468. package/src/node/collection/NodeList.ts +140 -0
  469. package/src/node/collection/NodeListOf.ts +28 -0
  470. package/src/node/collection/index.ts +4 -0
  471. package/src/node/elements/Element.ts +771 -0
  472. package/src/node/elements/ElementBase.ts +1239 -0
  473. package/src/node/elements/HTMLAnchorElement.ts +63 -0
  474. package/src/node/elements/HTMLAreaElement.ts +73 -0
  475. package/src/node/elements/HTMLBaseElement.ts +70 -0
  476. package/src/node/elements/HTMLBodyElement.ts +12 -0
  477. package/src/node/elements/HTMLButtonElement.ts +83 -0
  478. package/src/node/elements/HTMLCanvasElement.ts +71 -0
  479. package/src/node/elements/HTMLCaptionElement.ts +26 -0
  480. package/src/node/elements/HTMLDivElement.ts +12 -0
  481. package/src/node/elements/HTMLElement.ts +105 -0
  482. package/src/node/elements/HTMLElementBase.ts +198 -0
  483. package/src/node/elements/HTMLEmbedElement.ts +33 -0
  484. package/src/node/elements/HTMLFormElement.ts +131 -0
  485. package/src/node/elements/HTMLGenericElement.ts +13 -0
  486. package/src/node/elements/HTMLH1Element.ts +12 -0
  487. package/src/node/elements/HTMLHeadElement.ts +12 -0
  488. package/src/node/elements/HTMLHtmlElement.ts +82 -0
  489. package/src/node/elements/HTMLImgElement.ts +96 -0
  490. package/src/node/elements/HTMLInputElement.ts +160 -0
  491. package/src/node/elements/HTMLLIElement.ts +47 -0
  492. package/src/node/elements/HTMLLinkElement.ts +95 -0
  493. package/src/node/elements/HTMLMetaElement.ts +12 -0
  494. package/src/node/elements/HTMLOListElement.ts +83 -0
  495. package/src/node/elements/HTMLPElement.ts +12 -0
  496. package/src/node/elements/HTMLScriptElement.ts +127 -0
  497. package/src/node/elements/HTMLSpanElement.ts +12 -0
  498. package/src/node/elements/HTMLStyleElement.ts +63 -0
  499. package/src/node/elements/HTMLTableElement.ts +117 -0
  500. package/src/node/elements/HTMLTbodyElement.ts +46 -0
  501. package/src/node/elements/HTMLTdElement.ts +67 -0
  502. package/src/node/elements/HTMLTemplateElement.ts +112 -0
  503. package/src/node/elements/HTMLTfootElement.ts +47 -0
  504. package/src/node/elements/HTMLThElement.ts +67 -0
  505. package/src/node/elements/HTMLTheadElement.ts +46 -0
  506. package/src/node/elements/HTMLTitleElement.ts +23 -0
  507. package/src/node/elements/HTMLTrElement.ts +72 -0
  508. package/src/node/elements/HTMLUListElement.ts +12 -0
  509. package/src/node/elements/MathMLElement.ts +16 -0
  510. package/src/node/elements/SVGCircleElement.ts +61 -0
  511. package/src/node/elements/SVGElement.ts +16 -0
  512. package/src/node/elements/SVGRectElement.ts +74 -0
  513. package/src/node/elements/index.ts +186 -0
  514. package/src/node/index.ts +28 -0
  515. package/src/utils/CSSSelector.ts +360 -0
  516. package/src/window/Window.ts +715 -0
  517. package/src/window/WindowBase.ts +1018 -0
  518. package/src/window/index.ts +2 -0
  519. package/tsconfig.json +24 -0
@@ -0,0 +1,936 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var ElementBase_exports = {};
19
+ __export(ElementBase_exports, {
20
+ ElementBase: () => ElementBase
21
+ });
22
+ module.exports = __toCommonJS(ElementBase_exports);
23
+ var import_ParentNodeBase = require("../ParentNodeBase");
24
+ var import_collection = require("../collection");
25
+ var import_ElementFactory = require("../../factory/ElementFactory");
26
+ var import_Node = require("../Node");
27
+ var import_CSSSelector = require("../../utils/CSSSelector");
28
+ var import_NodeBase = require("../NodeBase");
29
+ class DOMException extends Error {
30
+ constructor(message, name = "DOMException") {
31
+ super(message);
32
+ this.name = name;
33
+ this.name = name;
34
+ }
35
+ }
36
+ class ElementBase extends import_ParentNodeBase.ParentNodeBase {
37
+ constructor(_tagName, ownerDocument) {
38
+ super(import_Node.ELEMENT_NODE, _tagName.toUpperCase(), ownerDocument);
39
+ this._tagName = _tagName;
40
+ this._id = "";
41
+ this._className = "";
42
+ this._attributes = /* @__PURE__ */ new Map();
43
+ this.onfullscreenchange = null;
44
+ this.onfullscreenerror = null;
45
+ }
46
+ get tagName() {
47
+ return this._tagName.toUpperCase();
48
+ }
49
+ get localName() {
50
+ return this._tagName.toLowerCase();
51
+ }
52
+ // Element interface implementation
53
+ get id() {
54
+ return this._id;
55
+ }
56
+ set id(value) {
57
+ this._id = value;
58
+ this._attributes.set("id", value);
59
+ }
60
+ get className() {
61
+ return this._className;
62
+ }
63
+ set className(value) {
64
+ this._className = value;
65
+ this._attributes.set("class", value);
66
+ }
67
+ get classList() {
68
+ return new DOMTokenListImpl(this);
69
+ }
70
+ get innerHTML() {
71
+ let html = "";
72
+ for (const child of this._childNodesInternal) {
73
+ if (child.nodeType === import_Node.TEXT_NODE) {
74
+ html += child._nodeValue || "";
75
+ } else if (child.nodeType === import_Node.ELEMENT_NODE) {
76
+ html += this.generateChildElementHTML(child);
77
+ } else if (child.nodeType === 8) {
78
+ html += `<!--${child.textContent || ""}-->`;
79
+ }
80
+ }
81
+ return html;
82
+ }
83
+ get innerText() {
84
+ return this.textContent || "";
85
+ }
86
+ set innerText(value) {
87
+ this._childNodesInternal = [];
88
+ if (value !== null && value !== void 0) {
89
+ const stringValue = String(value);
90
+ const escapedValue = this.escapeHTMLEntities(stringValue);
91
+ const { TextBase } = require("../TextBase");
92
+ const textNode = new TextBase(escapedValue, this._ownerDocument);
93
+ this._childNodesInternal.push(textNode);
94
+ textNode._parentNodeInternal = this;
95
+ }
96
+ }
97
+ set innerHTML(value) {
98
+ while (this._childNodesInternal.length > 0) {
99
+ const child = this._childNodesInternal[0];
100
+ if (child) {
101
+ this.removeChild(child);
102
+ }
103
+ }
104
+ if (value.trim()) {
105
+ this.parseAndAppendHTML(value);
106
+ }
107
+ }
108
+ /**
109
+ * Generate HTML for a child element without using outerHTML to avoid circular dependency
110
+ */
111
+ generateChildElementHTML(element) {
112
+ const tagName = element.tagName.toLowerCase();
113
+ const attrs = Array.from(element._attributes?.entries() || []).map(([name, value]) => value === "" ? ` ${name}` : ` ${name}="${value.replace(/"/g, "&quot;")}"`).join("");
114
+ const selfClosingTags = ["img", "input", "br", "hr", "meta", "link", "area", "base", "col", "embed", "source", "track", "wbr"];
115
+ const isSelfClosing = selfClosingTags.includes(tagName);
116
+ if (isSelfClosing) {
117
+ return `<${tagName}${attrs} />`;
118
+ } else {
119
+ let childHTML = "";
120
+ for (const child of element._childNodesInternal || []) {
121
+ if (child.nodeType === import_Node.TEXT_NODE) {
122
+ childHTML += child._nodeValue || "";
123
+ } else if (child.nodeType === import_Node.ELEMENT_NODE) {
124
+ childHTML += this.generateChildElementHTML(child);
125
+ } else if (child.nodeType === 8) {
126
+ childHTML += `<!--${child.textContent || ""}-->`;
127
+ }
128
+ }
129
+ return `<${tagName}${attrs}>${childHTML}</${tagName}>`;
130
+ }
131
+ }
132
+ /**
133
+ * Improved HTML parser for innerHTML using a stack-based approach
134
+ */
135
+ parseAndAppendHTML(html) {
136
+ const ElementFactory2 = require("../../factory/ElementFactory").ElementFactory;
137
+ let i = 0;
138
+ const length = html.length;
139
+ while (i < length) {
140
+ const nextTagStart = html.indexOf("<", i);
141
+ if (nextTagStart === -1) {
142
+ let text = html.substring(i).trim();
143
+ if (text) {
144
+ text = this.fixBrokenClosingTags(text);
145
+ const { TextBase } = require("../TextBase");
146
+ const textNode = new TextBase(text, this._ownerDocument);
147
+ this.appendChild(textNode);
148
+ }
149
+ break;
150
+ } else if (nextTagStart > i) {
151
+ let text = html.substring(i, nextTagStart).trim();
152
+ if (text) {
153
+ text = this.fixBrokenClosingTags(text);
154
+ const { TextBase } = require("../TextBase");
155
+ const textNode = new TextBase(text, this._ownerDocument);
156
+ this.appendChild(textNode);
157
+ }
158
+ }
159
+ i = nextTagStart;
160
+ const tagEnd = this.findTagEnd(html, i);
161
+ if (tagEnd === -1) break;
162
+ const tagContent = html.substring(i + 1, tagEnd);
163
+ if (tagContent.startsWith("!--")) {
164
+ const commentEnd = html.indexOf("-->", i);
165
+ if (commentEnd !== -1) {
166
+ const commentContent = html.substring(i + 4, commentEnd);
167
+ const { Comment } = require("../Comment");
168
+ const commentNode = new Comment(commentContent, this._ownerDocument);
169
+ this.appendChild(commentNode);
170
+ i = commentEnd + 3;
171
+ continue;
172
+ }
173
+ }
174
+ if (tagContent.endsWith("/")) {
175
+ const parts2 = tagContent.slice(0, -1).trim().split(/\s+/);
176
+ const tagName2 = parts2[0];
177
+ const attributeString2 = tagContent.slice(tagName2.length, -1).trim();
178
+ const element = ElementFactory2.createElement(tagName2, this._ownerDocument);
179
+ this.parseAttributes(element, attributeString2);
180
+ this.appendChild(element);
181
+ i = tagEnd + 1;
182
+ continue;
183
+ }
184
+ if (tagContent.startsWith("/")) {
185
+ const closingTagText = `<${tagContent}>`;
186
+ const { TextBase } = require("../TextBase");
187
+ const textNode = new TextBase(closingTagText, this._ownerDocument);
188
+ this.appendChild(textNode);
189
+ i = tagEnd + 1;
190
+ continue;
191
+ }
192
+ const parts = tagContent.split(/\s+/);
193
+ const tagName = parts[0];
194
+ const attributeString = tagContent.slice(tagName.length).trim();
195
+ if (tagName === "style" || tagName === "script") {
196
+ const closingTag2 = `</${tagName}>`;
197
+ const closingTagIndex2 = html.indexOf(closingTag2, tagEnd + 1);
198
+ if (closingTagIndex2 !== -1) {
199
+ const element = ElementFactory2.createElement(tagName, this._ownerDocument);
200
+ this.parseAttributes(element, attributeString);
201
+ const content = html.substring(tagEnd + 1, closingTagIndex2);
202
+ if (content) {
203
+ const { TextBase } = require("../TextBase");
204
+ const textNode = new TextBase(content, this._ownerDocument);
205
+ element.appendChild(textNode);
206
+ }
207
+ this.appendChild(element);
208
+ i = closingTagIndex2 + closingTag2.length;
209
+ continue;
210
+ }
211
+ }
212
+ const closingTag = `</${tagName}>`;
213
+ const closingTagIndex = this.findMatchingClosingTag(html, tagName, tagEnd + 1);
214
+ if (closingTagIndex !== -1) {
215
+ const element = ElementFactory2.createElement(tagName, this._ownerDocument);
216
+ this.parseAttributes(element, attributeString);
217
+ const content = html.substring(tagEnd + 1, closingTagIndex);
218
+ if (content.trim()) {
219
+ element.innerHTML = content;
220
+ }
221
+ this.appendChild(element);
222
+ i = closingTagIndex + closingTag.length;
223
+ } else {
224
+ const element = ElementFactory2.createElement(tagName, this._ownerDocument);
225
+ this.parseAttributes(element, attributeString);
226
+ this.appendChild(element);
227
+ i = tagEnd + 1;
228
+ }
229
+ }
230
+ }
231
+ /**
232
+ * Find the real end of a tag, considering quoted attributes
233
+ */
234
+ findTagEnd(html, startIndex) {
235
+ let i = startIndex + 1;
236
+ let inQuotes = false;
237
+ let quoteChar = "";
238
+ while (i < html.length) {
239
+ const char = html[i];
240
+ if (!inQuotes) {
241
+ if (char === '"' || char === "'") {
242
+ inQuotes = true;
243
+ quoteChar = char;
244
+ } else if (char === ">") {
245
+ return i;
246
+ }
247
+ } else {
248
+ if (char === quoteChar) {
249
+ inQuotes = false;
250
+ quoteChar = "";
251
+ }
252
+ }
253
+ i++;
254
+ }
255
+ return -1;
256
+ }
257
+ /**
258
+ * Fix broken closing tags in text content
259
+ * Converts patterns like "/div>" to "</div>"
260
+ */
261
+ fixBrokenClosingTags(text) {
262
+ return text.replace(/\/(\w+)>/g, "</$1>");
263
+ }
264
+ /**
265
+ * Find the matching closing tag, accounting for nested tags of the same type
266
+ */
267
+ findMatchingClosingTag(html, tagName, startIndex) {
268
+ const openTag = `<${tagName}`;
269
+ const closeTag = `</${tagName}>`;
270
+ let depth = 1;
271
+ let i = startIndex;
272
+ while (i < html.length && depth > 0) {
273
+ const nextOpen = html.indexOf(openTag, i);
274
+ const nextClose = html.indexOf(closeTag, i);
275
+ if (nextClose === -1) {
276
+ return -1;
277
+ }
278
+ if (nextOpen !== -1 && nextOpen < nextClose) {
279
+ const afterTag = html.charAt(nextOpen + openTag.length);
280
+ if (afterTag === " " || afterTag === ">" || afterTag === "/") {
281
+ depth++;
282
+ }
283
+ i = nextOpen + openTag.length;
284
+ } else {
285
+ depth--;
286
+ if (depth === 0) {
287
+ return nextClose;
288
+ }
289
+ i = nextClose + closeTag.length;
290
+ }
291
+ }
292
+ return -1;
293
+ }
294
+ /**
295
+ * Parse attributes from attribute string
296
+ */
297
+ parseAttributes(element, attributeString) {
298
+ let position = 0;
299
+ const length = attributeString.length;
300
+ while (position < length) {
301
+ while (position < length && /\s/.test(attributeString[position])) {
302
+ position++;
303
+ }
304
+ if (position >= length) break;
305
+ const nameStart = position;
306
+ while (position < length && /[\w:-]/.test(attributeString[position])) {
307
+ position++;
308
+ }
309
+ if (position === nameStart) {
310
+ position++;
311
+ continue;
312
+ }
313
+ const name = attributeString.substring(nameStart, position);
314
+ while (position < length && /\s/.test(attributeString[position])) {
315
+ position++;
316
+ }
317
+ let value = "";
318
+ if (position < length && attributeString[position] === "=") {
319
+ position++;
320
+ while (position < length && /\s/.test(attributeString[position])) {
321
+ position++;
322
+ }
323
+ if (position < length) {
324
+ const quote = attributeString[position];
325
+ if (quote === '"' || quote === "'") {
326
+ position++;
327
+ const valueStart = position;
328
+ while (position < length && attributeString[position] !== quote) {
329
+ position++;
330
+ }
331
+ value = attributeString.substring(valueStart, position);
332
+ if (position < length && attributeString[position] === quote) {
333
+ position++;
334
+ }
335
+ } else {
336
+ const valueStart = position;
337
+ while (position < length && !/\s/.test(attributeString[position])) {
338
+ position++;
339
+ }
340
+ value = attributeString.substring(valueStart, position);
341
+ }
342
+ }
343
+ }
344
+ value = this.decodeHTMLEntities(value);
345
+ element.setAttribute(name, value);
346
+ }
347
+ }
348
+ /**
349
+ * Escape HTML entities in a string to prevent XSS
350
+ */
351
+ escapeHTMLEntities(str) {
352
+ const entityMap = {
353
+ "&": "&amp;",
354
+ "<": "&lt;",
355
+ ">": "&gt;",
356
+ '"': "&quot;",
357
+ "'": "&#39;"
358
+ };
359
+ return str.replace(/[&<>"']/g, (char) => {
360
+ return entityMap[char] || char;
361
+ });
362
+ }
363
+ /**
364
+ * Decode HTML entities in a string
365
+ */
366
+ decodeHTMLEntities(str) {
367
+ const entityMap = {
368
+ "&amp;": "&",
369
+ "&lt;": "<",
370
+ "&gt;": ">",
371
+ "&quot;": '"',
372
+ "&#39;": "'",
373
+ "&#34;": '"',
374
+ "&apos;": "'",
375
+ "&copy;": "\xA9",
376
+ "&reg;": "\xAE",
377
+ "&trade;": "\u2122",
378
+ "&nbsp;": " ",
379
+ "&hellip;": "\u2026",
380
+ "&mdash;": "\u2014",
381
+ "&ndash;": "\u2013",
382
+ "&lsquo;": "\u2018",
383
+ "&rsquo;": "\u2019",
384
+ "&ldquo;": '"',
385
+ "&rdquo;": '"'
386
+ };
387
+ return str.replace(/&[a-zA-Z0-9#]+;/g, (entity) => {
388
+ if (entityMap[entity]) {
389
+ return entityMap[entity];
390
+ }
391
+ if (entity.startsWith("&#") && entity.endsWith(";")) {
392
+ const numStr = entity.slice(2, -1);
393
+ const num = parseInt(numStr, 10);
394
+ if (!isNaN(num)) {
395
+ return String.fromCharCode(num);
396
+ }
397
+ }
398
+ if (entity.startsWith("&#x") && entity.endsWith(";")) {
399
+ const hexStr = entity.slice(3, -1);
400
+ const num = parseInt(hexStr, 16);
401
+ if (!isNaN(num)) {
402
+ return String.fromCharCode(num);
403
+ }
404
+ }
405
+ return entity;
406
+ });
407
+ }
408
+ get outerHTML() {
409
+ const attrs = Array.from(this._attributes.entries()).map(([name, value]) => value === "" ? ` ${name}` : ` ${name}="${value.replace(/"/g, "&quot;")}"`).join("");
410
+ const selfClosingTags = ["img", "input", "br", "hr", "meta", "link", "area", "base", "col", "embed", "source", "track", "wbr"];
411
+ const isSelfClosing = selfClosingTags.includes(this.tagName.toLowerCase());
412
+ if (isSelfClosing) {
413
+ return `<${this.tagName.toLowerCase()}${attrs} />`;
414
+ } else {
415
+ return `<${this.tagName.toLowerCase()}${attrs}>${this.innerHTML}</${this.tagName.toLowerCase()}>`;
416
+ }
417
+ }
418
+ get namespaceURI() {
419
+ return "http://www.w3.org/1999/xhtml";
420
+ }
421
+ get prefix() {
422
+ return null;
423
+ }
424
+ // Attribute methods
425
+ getAttribute(qualifiedName) {
426
+ const value = this._attributes.get(qualifiedName.toLowerCase());
427
+ return value !== void 0 ? value : null;
428
+ }
429
+ setAttribute(qualifiedName, value) {
430
+ const name = qualifiedName.toLowerCase();
431
+ this._attributes.set(name, value);
432
+ if (name === "id") {
433
+ this._id = value;
434
+ } else if (name === "class") {
435
+ this._className = value;
436
+ }
437
+ }
438
+ removeAttribute(qualifiedName) {
439
+ const name = qualifiedName.toLowerCase();
440
+ this._attributes.delete(name);
441
+ if (name === "id") {
442
+ this._id = "";
443
+ } else if (name === "class") {
444
+ this._className = "";
445
+ }
446
+ }
447
+ hasAttribute(qualifiedName) {
448
+ return this._attributes.has(qualifiedName.toLowerCase());
449
+ }
450
+ closest(selectors) {
451
+ let element = this;
452
+ while (element) {
453
+ if (element.matches && element.matches(selectors)) {
454
+ return element;
455
+ }
456
+ element = element.parentElement;
457
+ }
458
+ return null;
459
+ }
460
+ /**
461
+ * Returns true if the element would be selected by the specified CSS selector; otherwise, returns false.
462
+ *
463
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/matches)
464
+ */
465
+ matches(selectors) {
466
+ return import_CSSSelector.CSSSelector.matches(this, selectors);
467
+ }
468
+ // ChildNode methods are inherited from ParentNodeBase -> ChildNodeBase
469
+ // Additional Element properties and methods - Not implemented yet
470
+ get attributes() {
471
+ return new NamedNodeMapImpl(this._attributes);
472
+ }
473
+ get clientHeight() {
474
+ throw new Error("Element.clientHeight is not implemented yet");
475
+ }
476
+ get clientLeft() {
477
+ throw new Error("Element.clientLeft is not implemented yet");
478
+ }
479
+ get clientTop() {
480
+ throw new Error("Element.clientTop is not implemented yet");
481
+ }
482
+ get clientWidth() {
483
+ throw new Error("Element.clientWidth is not implemented yet");
484
+ }
485
+ get currentCSSZoom() {
486
+ throw new Error("Element.currentCSSZoom is not implemented yet");
487
+ }
488
+ get part() {
489
+ throw new Error("Element.part is not implemented yet");
490
+ }
491
+ get scrollHeight() {
492
+ throw new Error("Element.scrollHeight is not implemented yet");
493
+ }
494
+ get scrollLeft() {
495
+ throw new Error("Element.scrollLeft is not implemented yet");
496
+ }
497
+ set scrollLeft(value) {
498
+ throw new Error("Element.scrollLeft setter is not implemented yet");
499
+ }
500
+ get scrollTop() {
501
+ throw new Error("Element.scrollTop is not implemented yet");
502
+ }
503
+ set scrollTop(value) {
504
+ throw new Error("Element.scrollTop setter is not implemented yet");
505
+ }
506
+ get scrollWidth() {
507
+ throw new Error("Element.scrollWidth is not implemented yet");
508
+ }
509
+ get shadowRoot() {
510
+ throw new Error("Element.shadowRoot is not implemented yet");
511
+ }
512
+ get slot() {
513
+ throw new Error("Element.slot is not implemented yet");
514
+ }
515
+ set slot(value) {
516
+ throw new Error("Element.slot setter is not implemented yet");
517
+ }
518
+ // Methods - Not implemented yet
519
+ attachShadow(init) {
520
+ throw new Error("Element.attachShadow() is not implemented yet");
521
+ }
522
+ checkVisibility(options) {
523
+ throw new Error("Element.checkVisibility() is not implemented yet");
524
+ }
525
+ computedStyleMap() {
526
+ throw new Error("Element.computedStyleMap() is not implemented yet");
527
+ }
528
+ getAttributeNS(namespace, localName) {
529
+ return this.getAttribute(localName);
530
+ }
531
+ getAttributeNames() {
532
+ return Array.from(this._attributes.keys());
533
+ }
534
+ getAttributeNode(qualifiedName) {
535
+ const value = this.getAttribute(qualifiedName);
536
+ if (value !== null) {
537
+ return new AttrImpl(qualifiedName, value);
538
+ }
539
+ return null;
540
+ }
541
+ getAttributeNodeNS(namespace, localName) {
542
+ return this.getAttributeNode(localName);
543
+ }
544
+ getBoundingClientRect() {
545
+ throw new Error("Element.getBoundingClientRect() is not implemented yet");
546
+ }
547
+ getClientRects() {
548
+ throw new Error("Element.getClientRects() is not implemented yet");
549
+ }
550
+ getElementsByClassName(classNames) {
551
+ const result = [];
552
+ const classNameList = classNames.trim().split(/\s+/);
553
+ const hasAllClasses = (element, classes) => {
554
+ const elementClasses = element.className.trim().split(/\s+/);
555
+ return classes.every((cls) => elementClasses.includes(cls));
556
+ };
557
+ const traverse = (node) => {
558
+ if (node.nodeType === import_Node.ELEMENT_NODE) {
559
+ const element = node;
560
+ if (hasAllClasses(element, classNameList)) {
561
+ result.push(element);
562
+ }
563
+ }
564
+ for (let i = 0; i < node.childNodes.length; i++) {
565
+ traverse(node.childNodes[i]);
566
+ }
567
+ };
568
+ for (let i = 0; i < this.childNodes.length; i++) {
569
+ traverse(this.childNodes[i]);
570
+ }
571
+ return new import_collection.HTMLCollection(result);
572
+ }
573
+ getElementsByTagName(qualifiedName) {
574
+ const result = [];
575
+ const tagName = qualifiedName.toLowerCase();
576
+ const isWildcard = tagName === "*";
577
+ const traverse = (node) => {
578
+ if (node.nodeType === import_Node.ELEMENT_NODE) {
579
+ const element = node;
580
+ if (isWildcard || element.localName === tagName) {
581
+ result.push(element);
582
+ }
583
+ }
584
+ for (let i = 0; i < node.childNodes.length; i++) {
585
+ traverse(node.childNodes[i]);
586
+ }
587
+ };
588
+ for (let i = 0; i < this.childNodes.length; i++) {
589
+ traverse(this.childNodes[i]);
590
+ }
591
+ return new import_collection.HTMLCollection(result);
592
+ }
593
+ getElementsByTagNameNS(namespace, localName) {
594
+ return this.getElementsByTagName(localName);
595
+ }
596
+ getHTML(options) {
597
+ throw new Error("Element.getHTML() is not implemented yet");
598
+ }
599
+ hasAttributeNS(namespace, localName) {
600
+ return this.hasAttribute(localName);
601
+ }
602
+ hasAttributes() {
603
+ return this._attributes.size > 0;
604
+ }
605
+ hasPointerCapture(pointerId) {
606
+ throw new Error("Element.hasPointerCapture() is not implemented yet");
607
+ }
608
+ insertAdjacentElement(where, element) {
609
+ const position = where.toLowerCase();
610
+ switch (position) {
611
+ case "beforebegin":
612
+ if (this.parentNode) {
613
+ this.parentNode.insertBefore(element, this);
614
+ return element;
615
+ }
616
+ return null;
617
+ case "afterbegin":
618
+ if (this.firstChild) {
619
+ this.insertBefore(element, this.firstChild);
620
+ } else {
621
+ this.appendChild(element);
622
+ }
623
+ return element;
624
+ case "beforeend":
625
+ this.appendChild(element);
626
+ return element;
627
+ case "afterend":
628
+ if (this.parentNode) {
629
+ if (this.nextSibling) {
630
+ this.parentNode.insertBefore(element, this.nextSibling);
631
+ } else {
632
+ this.parentNode.appendChild(element);
633
+ }
634
+ return element;
635
+ }
636
+ return null;
637
+ default:
638
+ throw new DOMException(`Invalid position: ${where}`, "SyntaxError");
639
+ }
640
+ }
641
+ insertAdjacentHTML(position, html) {
642
+ const pos = position.toLowerCase();
643
+ const tempDiv = this._ownerDocument.createElement("div");
644
+ tempDiv.innerHTML = html;
645
+ const fragment = this._ownerDocument.createDocumentFragment();
646
+ while (tempDiv.firstChild) {
647
+ fragment.appendChild(tempDiv.firstChild);
648
+ }
649
+ switch (pos) {
650
+ case "beforebegin":
651
+ if (this.parentNode) {
652
+ this.parentNode.insertBefore(fragment, this);
653
+ }
654
+ break;
655
+ case "afterbegin":
656
+ if (this.firstChild) {
657
+ this.insertBefore(fragment, this.firstChild);
658
+ } else {
659
+ this.appendChild(fragment);
660
+ }
661
+ break;
662
+ case "beforeend":
663
+ this.appendChild(fragment);
664
+ break;
665
+ case "afterend":
666
+ if (this.parentNode) {
667
+ if (this.nextSibling) {
668
+ this.parentNode.insertBefore(fragment, this.nextSibling);
669
+ } else {
670
+ this.parentNode.appendChild(fragment);
671
+ }
672
+ }
673
+ break;
674
+ default:
675
+ throw new DOMException(`Invalid position: ${position}`, "SyntaxError");
676
+ }
677
+ }
678
+ insertAdjacentText(where, data) {
679
+ const position = where.toLowerCase();
680
+ const textNode = this._ownerDocument.createTextNode(data);
681
+ switch (position) {
682
+ case "beforebegin":
683
+ if (this.parentNode) {
684
+ this.parentNode.insertBefore(textNode, this);
685
+ }
686
+ break;
687
+ case "afterbegin":
688
+ if (this.firstChild) {
689
+ this.insertBefore(textNode, this.firstChild);
690
+ } else {
691
+ this.appendChild(textNode);
692
+ }
693
+ break;
694
+ case "beforeend":
695
+ this.appendChild(textNode);
696
+ break;
697
+ case "afterend":
698
+ if (this.parentNode) {
699
+ if (this.nextSibling) {
700
+ this.parentNode.insertBefore(textNode, this.nextSibling);
701
+ } else {
702
+ this.parentNode.appendChild(textNode);
703
+ }
704
+ }
705
+ break;
706
+ default:
707
+ throw new DOMException(`Invalid position: ${where}`, "SyntaxError");
708
+ }
709
+ }
710
+ releasePointerCapture(pointerId) {
711
+ }
712
+ removeAttributeNS(namespace, localName) {
713
+ this.removeAttribute(localName);
714
+ }
715
+ removeAttributeNode(attr) {
716
+ const oldValue = this.getAttribute(attr.name);
717
+ if (oldValue !== null) {
718
+ this.removeAttribute(attr.name);
719
+ return new AttrImpl(attr.name, oldValue);
720
+ }
721
+ throw new DOMException("The attribute node is not an attribute of this element", "NotFoundError");
722
+ }
723
+ requestFullscreen(options) {
724
+ throw new Error("Element.requestFullscreen() is not implemented yet");
725
+ }
726
+ requestPointerLock(options) {
727
+ throw new Error("Element.requestPointerLock() is not implemented yet");
728
+ }
729
+ scroll(optionsOrX, y) {
730
+ }
731
+ scrollBy(optionsOrX, y) {
732
+ }
733
+ scrollIntoView(arg) {
734
+ }
735
+ scrollTo(optionsOrX, y) {
736
+ }
737
+ setAttributeNS(namespace, qualifiedName, value) {
738
+ this.setAttribute(qualifiedName, value);
739
+ }
740
+ setAttributeNode(attr) {
741
+ const oldAttr = this.getAttributeNode(attr.name);
742
+ this.setAttribute(attr.name, attr.value);
743
+ return oldAttr;
744
+ }
745
+ setAttributeNodeNS(attr) {
746
+ return this.setAttributeNode(attr);
747
+ }
748
+ setHTMLUnsafe(html) {
749
+ }
750
+ setPointerCapture(pointerId) {
751
+ }
752
+ toggleAttribute(qualifiedName, force) {
753
+ const hasAttr = this.hasAttribute(qualifiedName);
754
+ if (force === true || force === void 0 && !hasAttr) {
755
+ this.setAttribute(qualifiedName, "");
756
+ return true;
757
+ } else if (force === false || force === void 0 && hasAttr) {
758
+ this.removeAttribute(qualifiedName);
759
+ return false;
760
+ }
761
+ return hasAttr;
762
+ }
763
+ webkitMatchesSelector(selectors) {
764
+ return false;
765
+ }
766
+ // EventTarget methods - Not implemented yet
767
+ addEventListener(type, listener, options) {
768
+ }
769
+ removeEventListener(type, listener, options) {
770
+ }
771
+ dispatchEvent(event) {
772
+ return true;
773
+ }
774
+ cloneNode(deep) {
775
+ const clone = import_ElementFactory.ElementFactory.createElement(this.tagName, this._ownerDocument);
776
+ for (const [name, value] of this._attributes) {
777
+ clone.setAttribute(name, value);
778
+ }
779
+ if (deep) {
780
+ for (const child of this._childNodesInternal) {
781
+ if (child && "cloneNode" in child) {
782
+ clone.appendChild(child.cloneNode(true));
783
+ }
784
+ }
785
+ }
786
+ return clone;
787
+ }
788
+ }
789
+ class DOMTokenListImpl {
790
+ constructor(element) {
791
+ this.element = element;
792
+ }
793
+ get length() {
794
+ return this.element.className.split(/\s+/).filter((c) => c.length > 0).length;
795
+ }
796
+ get value() {
797
+ return this.element.className;
798
+ }
799
+ set value(value) {
800
+ this.element.className = value;
801
+ }
802
+ add(...tokens) {
803
+ const classes = new Set(this.element.className.split(/\s+/).filter((c) => c.length > 0));
804
+ for (const token of tokens) {
805
+ classes.add(token);
806
+ }
807
+ this.element.className = Array.from(classes).join(" ");
808
+ }
809
+ remove(...tokens) {
810
+ const classes = new Set(this.element.className.split(/\s+/).filter((c) => c.length > 0));
811
+ for (const token of tokens) {
812
+ classes.delete(token);
813
+ }
814
+ this.element.className = Array.from(classes).join(" ");
815
+ }
816
+ contains(token) {
817
+ return this.element.className.split(/\s+/).includes(token);
818
+ }
819
+ toggle(token, force) {
820
+ const hasToken = this.contains(token);
821
+ if (force === true || force === void 0 && !hasToken) {
822
+ this.add(token);
823
+ return true;
824
+ } else {
825
+ this.remove(token);
826
+ return false;
827
+ }
828
+ }
829
+ replace(oldToken, newToken) {
830
+ if (this.contains(oldToken)) {
831
+ this.remove(oldToken);
832
+ this.add(newToken);
833
+ return true;
834
+ }
835
+ return false;
836
+ }
837
+ item(index) {
838
+ const classes = this.element.className.split(/\s+/).filter((c) => c.length > 0);
839
+ return index >= 0 && index < classes.length ? classes[index] : null;
840
+ }
841
+ }
842
+ class AttrImpl extends import_NodeBase.NodeBase {
843
+ constructor(name, value) {
844
+ super(import_Node.ATTRIBUTE_NODE, name);
845
+ this.name = name;
846
+ this.value = value;
847
+ this.ownerElement = null;
848
+ this.namespaceURI = null;
849
+ this.prefix = null;
850
+ this.specified = true;
851
+ }
852
+ get localName() {
853
+ return this.name;
854
+ }
855
+ }
856
+ class NamedNodeMapImpl {
857
+ constructor(attributes) {
858
+ this.attributes = attributes;
859
+ }
860
+ get length() {
861
+ return this.attributes.size;
862
+ }
863
+ getNamedItem(qualifiedName) {
864
+ const value = this.attributes.get(qualifiedName.toLowerCase());
865
+ return value !== void 0 ? new AttrImpl(qualifiedName, value) : null;
866
+ }
867
+ getNamedItemNS(namespace, localName) {
868
+ return this.getNamedItem(localName);
869
+ }
870
+ item(index) {
871
+ const keys = Array.from(this.attributes.keys());
872
+ if (index >= 0 && index < keys.length) {
873
+ const key = keys[index];
874
+ const value = this.attributes.get(key);
875
+ return new AttrImpl(key, value);
876
+ }
877
+ return null;
878
+ }
879
+ removeNamedItem(qualifiedName) {
880
+ const value = this.attributes.get(qualifiedName.toLowerCase());
881
+ if (value !== void 0) {
882
+ this.attributes.delete(qualifiedName.toLowerCase());
883
+ return new AttrImpl(qualifiedName, value);
884
+ }
885
+ throw new DOMException("The attribute is not found", "NotFoundError");
886
+ }
887
+ removeNamedItemNS(namespace, localName) {
888
+ return this.removeNamedItem(localName);
889
+ }
890
+ setNamedItem(attr) {
891
+ const oldValue = this.attributes.get(attr.name.toLowerCase());
892
+ this.attributes.set(attr.name.toLowerCase(), attr.value);
893
+ return oldValue !== void 0 ? new AttrImpl(attr.name, oldValue) : null;
894
+ }
895
+ setNamedItemNS(attr) {
896
+ return this.setNamedItem(attr);
897
+ }
898
+ // Iterator implementation
899
+ *[Symbol.iterator]() {
900
+ const keys = Array.from(this.attributes.keys());
901
+ for (const key of keys) {
902
+ const value = this.attributes.get(key);
903
+ yield new AttrImpl(key, value);
904
+ }
905
+ }
906
+ // Additional iterator methods for compatibility
907
+ keys() {
908
+ return this.attributes.keys();
909
+ }
910
+ values() {
911
+ const self = this;
912
+ return function* () {
913
+ for (const [key, value] of self.attributes) {
914
+ yield new AttrImpl(key, value);
915
+ }
916
+ }();
917
+ }
918
+ entries() {
919
+ const self = this;
920
+ return function* () {
921
+ for (const [key, value] of self.attributes) {
922
+ yield [key, new AttrImpl(key, value)];
923
+ }
924
+ }();
925
+ }
926
+ // forEach method for compatibility
927
+ forEach(callback, thisArg) {
928
+ const keys = Array.from(this.attributes.keys());
929
+ keys.forEach((key, index) => {
930
+ const value = this.attributes.get(key);
931
+ const attr = new AttrImpl(key, value);
932
+ callback.call(thisArg, attr, index, this);
933
+ });
934
+ }
935
+ }
936
+ //# sourceMappingURL=ElementBase.js.map