@dooboostore/dom-parser 1.0.3 → 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 (521) hide show
  1. package/README.MD +369 -6
  2. package/dist/cjs/DomParser.js +1 -0
  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 +12 -9
  7. package/dist/cjs/factory/ElementFactory.js.map +2 -2
  8. package/dist/cjs/index.js +22 -0
  9. package/dist/cjs/index.js.map +2 -2
  10. package/dist/cjs/node/elements/HTMLAnchorElement.js +2 -2
  11. package/dist/cjs/node/elements/HTMLAnchorElement.js.map +2 -2
  12. package/dist/cjs/node/elements/HTMLAreaElement.js +2 -2
  13. package/dist/cjs/node/elements/HTMLAreaElement.js.map +2 -2
  14. package/dist/cjs/node/elements/HTMLAudioElement.js +2 -2
  15. package/dist/cjs/node/elements/HTMLAudioElement.js.map +2 -2
  16. package/dist/cjs/node/elements/HTMLBaseElement.js +2 -2
  17. package/dist/cjs/node/elements/HTMLBaseElement.js.map +2 -2
  18. package/dist/cjs/node/elements/HTMLBodyElement.js +2 -2
  19. package/dist/cjs/node/elements/HTMLBodyElement.js.map +2 -2
  20. package/dist/cjs/node/elements/HTMLButtonElement.js +2 -2
  21. package/dist/cjs/node/elements/HTMLButtonElement.js.map +2 -2
  22. package/dist/cjs/node/elements/HTMLCanvasElement.js +2 -2
  23. package/dist/cjs/node/elements/HTMLCanvasElement.js.map +2 -2
  24. package/dist/cjs/node/elements/HTMLCaptionElement.js +2 -2
  25. package/dist/cjs/node/elements/HTMLCaptionElement.js.map +2 -2
  26. package/dist/cjs/node/elements/HTMLDListElement.js +2 -2
  27. package/dist/cjs/node/elements/HTMLDListElement.js.map +2 -2
  28. package/dist/cjs/node/elements/HTMLDataElement.js +2 -2
  29. package/dist/cjs/node/elements/HTMLDataElement.js.map +2 -2
  30. package/dist/cjs/node/elements/HTMLDataListElement.js +2 -2
  31. package/dist/cjs/node/elements/HTMLDataListElement.js.map +2 -2
  32. package/dist/cjs/node/elements/HTMLDetailsElement.js +2 -2
  33. package/dist/cjs/node/elements/HTMLDetailsElement.js.map +2 -2
  34. package/dist/cjs/node/elements/HTMLDialogElement.js +2 -2
  35. package/dist/cjs/node/elements/HTMLDialogElement.js.map +2 -2
  36. package/dist/cjs/node/elements/HTMLDivElement.js +2 -2
  37. package/dist/cjs/node/elements/HTMLDivElement.js.map +2 -2
  38. package/dist/cjs/node/elements/HTMLElement.js +3 -0
  39. package/dist/cjs/node/elements/HTMLElement.js.map +2 -2
  40. package/dist/cjs/node/elements/HTMLElementBase.js +3 -1
  41. package/dist/cjs/node/elements/HTMLElementBase.js.map +2 -2
  42. package/dist/cjs/node/elements/HTMLEmbedElement.js +2 -2
  43. package/dist/cjs/node/elements/HTMLEmbedElement.js.map +2 -2
  44. package/dist/cjs/node/elements/HTMLFieldSetElement.js +2 -2
  45. package/dist/cjs/node/elements/HTMLFieldSetElement.js.map +2 -2
  46. package/dist/cjs/node/elements/HTMLFormElement.js +2 -2
  47. package/dist/cjs/node/elements/HTMLFormElement.js.map +2 -2
  48. package/dist/cjs/node/elements/HTMLH1Element.js +2 -2
  49. package/dist/cjs/node/elements/HTMLH1Element.js.map +2 -2
  50. package/dist/cjs/node/elements/HTMLHRElement.js +2 -2
  51. package/dist/cjs/node/elements/HTMLHRElement.js.map +2 -2
  52. package/dist/cjs/node/elements/HTMLHeadElement.js +2 -2
  53. package/dist/cjs/node/elements/HTMLHeadElement.js.map +2 -2
  54. package/dist/cjs/node/elements/HTMLHtmlElement.js +2 -2
  55. package/dist/cjs/node/elements/HTMLHtmlElement.js.map +2 -2
  56. package/dist/cjs/node/elements/HTMLIFrameElement.js +2 -2
  57. package/dist/cjs/node/elements/HTMLIFrameElement.js.map +2 -2
  58. package/dist/cjs/node/elements/HTMLImgElement.js +2 -2
  59. package/dist/cjs/node/elements/HTMLImgElement.js.map +2 -2
  60. package/dist/cjs/node/elements/HTMLInputElement.js +2 -2
  61. package/dist/cjs/node/elements/HTMLInputElement.js.map +2 -2
  62. package/dist/cjs/node/elements/HTMLLIElement.js +2 -2
  63. package/dist/cjs/node/elements/HTMLLIElement.js.map +2 -2
  64. package/dist/cjs/node/elements/HTMLLabelElement.js +2 -2
  65. package/dist/cjs/node/elements/HTMLLabelElement.js.map +2 -2
  66. package/dist/cjs/node/elements/HTMLLegendElement.js +2 -2
  67. package/dist/cjs/node/elements/HTMLLegendElement.js.map +2 -2
  68. package/dist/cjs/node/elements/HTMLLinkElement.js +2 -2
  69. package/dist/cjs/node/elements/HTMLLinkElement.js.map +2 -2
  70. package/dist/cjs/node/elements/HTMLMapElement.js +2 -2
  71. package/dist/cjs/node/elements/HTMLMapElement.js.map +2 -2
  72. package/dist/cjs/node/elements/HTMLMetaElement.js +2 -2
  73. package/dist/cjs/node/elements/HTMLMetaElement.js.map +2 -2
  74. package/dist/cjs/node/elements/HTMLMeterElement.js +2 -2
  75. package/dist/cjs/node/elements/HTMLMeterElement.js.map +2 -2
  76. package/dist/cjs/node/elements/HTMLModElement.js +2 -2
  77. package/dist/cjs/node/elements/HTMLModElement.js.map +2 -2
  78. package/dist/cjs/node/elements/HTMLOListElement.js +2 -2
  79. package/dist/cjs/node/elements/HTMLOListElement.js.map +2 -2
  80. package/dist/cjs/node/elements/HTMLObjectElement.js +2 -2
  81. package/dist/cjs/node/elements/HTMLObjectElement.js.map +2 -2
  82. package/dist/cjs/node/elements/HTMLOptGroupElement.js +2 -2
  83. package/dist/cjs/node/elements/HTMLOptGroupElement.js.map +2 -2
  84. package/dist/cjs/node/elements/HTMLOptionElement.js +2 -2
  85. package/dist/cjs/node/elements/HTMLOptionElement.js.map +2 -2
  86. package/dist/cjs/node/elements/HTMLOutputElement.js +2 -2
  87. package/dist/cjs/node/elements/HTMLOutputElement.js.map +2 -2
  88. package/dist/cjs/node/elements/HTMLPElement.js +2 -2
  89. package/dist/cjs/node/elements/HTMLPElement.js.map +2 -2
  90. package/dist/cjs/node/elements/HTMLParamElement.js +2 -2
  91. package/dist/cjs/node/elements/HTMLParamElement.js.map +2 -2
  92. package/dist/cjs/node/elements/HTMLPictureElement.js +2 -2
  93. package/dist/cjs/node/elements/HTMLPictureElement.js.map +2 -2
  94. package/dist/cjs/node/elements/HTMLPreElement.js +2 -2
  95. package/dist/cjs/node/elements/HTMLPreElement.js.map +2 -2
  96. package/dist/cjs/node/elements/HTMLProgressElement.js +2 -2
  97. package/dist/cjs/node/elements/HTMLProgressElement.js.map +2 -2
  98. package/dist/cjs/node/elements/HTMLQuoteElement.js +2 -2
  99. package/dist/cjs/node/elements/HTMLQuoteElement.js.map +2 -2
  100. package/dist/cjs/node/elements/HTMLScriptElement.js +2 -2
  101. package/dist/cjs/node/elements/HTMLScriptElement.js.map +2 -2
  102. package/dist/cjs/node/elements/HTMLSelectElement.js +2 -2
  103. package/dist/cjs/node/elements/HTMLSelectElement.js.map +2 -2
  104. package/dist/cjs/node/elements/HTMLSlotElement.js +2 -2
  105. package/dist/cjs/node/elements/HTMLSlotElement.js.map +2 -2
  106. package/dist/cjs/node/elements/HTMLSourceElement.js +2 -2
  107. package/dist/cjs/node/elements/HTMLSourceElement.js.map +2 -2
  108. package/dist/cjs/node/elements/HTMLSpanElement.js +2 -2
  109. package/dist/cjs/node/elements/HTMLSpanElement.js.map +2 -2
  110. package/dist/cjs/node/elements/HTMLStyleElement.js +2 -2
  111. package/dist/cjs/node/elements/HTMLStyleElement.js.map +2 -2
  112. package/dist/cjs/node/elements/HTMLTableElement.js +2 -2
  113. package/dist/cjs/node/elements/HTMLTableElement.js.map +2 -2
  114. package/dist/cjs/node/elements/HTMLTbodyElement.js +2 -2
  115. package/dist/cjs/node/elements/HTMLTbodyElement.js.map +2 -2
  116. package/dist/cjs/node/elements/HTMLTdElement.js +2 -2
  117. package/dist/cjs/node/elements/HTMLTdElement.js.map +2 -2
  118. package/dist/cjs/node/elements/HTMLTemplateElement.js +2 -2
  119. package/dist/cjs/node/elements/HTMLTemplateElement.js.map +2 -2
  120. package/dist/cjs/node/elements/HTMLTextAreaElement.js +2 -2
  121. package/dist/cjs/node/elements/HTMLTextAreaElement.js.map +2 -2
  122. package/dist/cjs/node/elements/HTMLTfootElement.js +2 -2
  123. package/dist/cjs/node/elements/HTMLTfootElement.js.map +2 -2
  124. package/dist/cjs/node/elements/HTMLThElement.js +2 -2
  125. package/dist/cjs/node/elements/HTMLThElement.js.map +2 -2
  126. package/dist/cjs/node/elements/HTMLTheadElement.js +2 -2
  127. package/dist/cjs/node/elements/HTMLTheadElement.js.map +2 -2
  128. package/dist/cjs/node/elements/HTMLTimeElement.js +2 -2
  129. package/dist/cjs/node/elements/HTMLTimeElement.js.map +2 -2
  130. package/dist/cjs/node/elements/HTMLTitleElement.js +2 -2
  131. package/dist/cjs/node/elements/HTMLTitleElement.js.map +2 -2
  132. package/dist/cjs/node/elements/HTMLTrElement.js +2 -2
  133. package/dist/cjs/node/elements/HTMLTrElement.js.map +2 -2
  134. package/dist/cjs/node/elements/HTMLTrackElement.js +2 -2
  135. package/dist/cjs/node/elements/HTMLTrackElement.js.map +2 -2
  136. package/dist/cjs/node/elements/HTMLUListElement.js +2 -2
  137. package/dist/cjs/node/elements/HTMLUListElement.js.map +2 -2
  138. package/dist/cjs/node/elements/HTMLVideoElement.js +2 -2
  139. package/dist/cjs/node/elements/HTMLVideoElement.js.map +2 -2
  140. package/dist/cjs/node/elements/MathMLElement.js +2 -2
  141. package/dist/cjs/node/elements/MathMLElement.js.map +2 -2
  142. package/dist/cjs/node/elements/SVGElement.js +2 -2
  143. package/dist/cjs/node/elements/SVGElement.js.map +2 -2
  144. package/dist/cjs/node/elements/index.js +1 -3
  145. package/dist/cjs/node/elements/index.js.map +2 -2
  146. package/dist/cjs/window/CustomElementRegistryImp.js +8 -0
  147. package/dist/cjs/window/CustomElementRegistryImp.js.map +2 -2
  148. package/dist/esm/DomParser.js +1 -0
  149. package/dist/esm/DomParser.js.map +2 -2
  150. package/dist/esm/bundle-entry.js +6 -0
  151. package/dist/esm/bundle-entry.js.map +7 -0
  152. package/dist/esm/factory/ElementFactory.js +13 -10
  153. package/dist/esm/factory/ElementFactory.js.map +2 -2
  154. package/dist/esm/index.js +22 -0
  155. package/dist/esm/index.js.map +2 -2
  156. package/dist/esm/node/elements/HTMLAnchorElement.js +2 -2
  157. package/dist/esm/node/elements/HTMLAnchorElement.js.map +2 -2
  158. package/dist/esm/node/elements/HTMLAreaElement.js +2 -2
  159. package/dist/esm/node/elements/HTMLAreaElement.js.map +2 -2
  160. package/dist/esm/node/elements/HTMLAudioElement.js +2 -2
  161. package/dist/esm/node/elements/HTMLAudioElement.js.map +2 -2
  162. package/dist/esm/node/elements/HTMLBaseElement.js +2 -2
  163. package/dist/esm/node/elements/HTMLBaseElement.js.map +2 -2
  164. package/dist/esm/node/elements/HTMLBodyElement.js +2 -2
  165. package/dist/esm/node/elements/HTMLBodyElement.js.map +2 -2
  166. package/dist/esm/node/elements/HTMLButtonElement.js +2 -2
  167. package/dist/esm/node/elements/HTMLButtonElement.js.map +2 -2
  168. package/dist/esm/node/elements/HTMLCanvasElement.js +2 -2
  169. package/dist/esm/node/elements/HTMLCanvasElement.js.map +2 -2
  170. package/dist/esm/node/elements/HTMLCaptionElement.js +2 -2
  171. package/dist/esm/node/elements/HTMLCaptionElement.js.map +2 -2
  172. package/dist/esm/node/elements/HTMLDListElement.js +2 -2
  173. package/dist/esm/node/elements/HTMLDListElement.js.map +2 -2
  174. package/dist/esm/node/elements/HTMLDataElement.js +2 -2
  175. package/dist/esm/node/elements/HTMLDataElement.js.map +2 -2
  176. package/dist/esm/node/elements/HTMLDataListElement.js +2 -2
  177. package/dist/esm/node/elements/HTMLDataListElement.js.map +2 -2
  178. package/dist/esm/node/elements/HTMLDetailsElement.js +2 -2
  179. package/dist/esm/node/elements/HTMLDetailsElement.js.map +2 -2
  180. package/dist/esm/node/elements/HTMLDialogElement.js +2 -2
  181. package/dist/esm/node/elements/HTMLDialogElement.js.map +2 -2
  182. package/dist/esm/node/elements/HTMLDivElement.js +2 -2
  183. package/dist/esm/node/elements/HTMLDivElement.js.map +2 -2
  184. package/dist/esm/node/elements/HTMLElement.js +3 -0
  185. package/dist/esm/node/elements/HTMLElement.js.map +2 -2
  186. package/dist/esm/node/elements/HTMLElementBase.js +3 -1
  187. package/dist/esm/node/elements/HTMLElementBase.js.map +2 -2
  188. package/dist/esm/node/elements/HTMLEmbedElement.js +2 -2
  189. package/dist/esm/node/elements/HTMLEmbedElement.js.map +2 -2
  190. package/dist/esm/node/elements/HTMLFieldSetElement.js +2 -2
  191. package/dist/esm/node/elements/HTMLFieldSetElement.js.map +2 -2
  192. package/dist/esm/node/elements/HTMLFormElement.js +2 -2
  193. package/dist/esm/node/elements/HTMLFormElement.js.map +2 -2
  194. package/dist/esm/node/elements/HTMLH1Element.js +2 -2
  195. package/dist/esm/node/elements/HTMLH1Element.js.map +2 -2
  196. package/dist/esm/node/elements/HTMLHRElement.js +2 -2
  197. package/dist/esm/node/elements/HTMLHRElement.js.map +2 -2
  198. package/dist/esm/node/elements/HTMLHeadElement.js +2 -2
  199. package/dist/esm/node/elements/HTMLHeadElement.js.map +2 -2
  200. package/dist/esm/node/elements/HTMLHtmlElement.js +2 -2
  201. package/dist/esm/node/elements/HTMLHtmlElement.js.map +2 -2
  202. package/dist/esm/node/elements/HTMLIFrameElement.js +2 -2
  203. package/dist/esm/node/elements/HTMLIFrameElement.js.map +2 -2
  204. package/dist/esm/node/elements/HTMLImgElement.js +2 -2
  205. package/dist/esm/node/elements/HTMLImgElement.js.map +2 -2
  206. package/dist/esm/node/elements/HTMLInputElement.js +2 -2
  207. package/dist/esm/node/elements/HTMLInputElement.js.map +2 -2
  208. package/dist/esm/node/elements/HTMLLIElement.js +2 -2
  209. package/dist/esm/node/elements/HTMLLIElement.js.map +2 -2
  210. package/dist/esm/node/elements/HTMLLabelElement.js +2 -2
  211. package/dist/esm/node/elements/HTMLLabelElement.js.map +2 -2
  212. package/dist/esm/node/elements/HTMLLegendElement.js +2 -2
  213. package/dist/esm/node/elements/HTMLLegendElement.js.map +2 -2
  214. package/dist/esm/node/elements/HTMLLinkElement.js +2 -2
  215. package/dist/esm/node/elements/HTMLLinkElement.js.map +2 -2
  216. package/dist/esm/node/elements/HTMLMapElement.js +2 -2
  217. package/dist/esm/node/elements/HTMLMapElement.js.map +2 -2
  218. package/dist/esm/node/elements/HTMLMetaElement.js +2 -2
  219. package/dist/esm/node/elements/HTMLMetaElement.js.map +2 -2
  220. package/dist/esm/node/elements/HTMLMeterElement.js +2 -2
  221. package/dist/esm/node/elements/HTMLMeterElement.js.map +2 -2
  222. package/dist/esm/node/elements/HTMLModElement.js +2 -2
  223. package/dist/esm/node/elements/HTMLModElement.js.map +2 -2
  224. package/dist/esm/node/elements/HTMLOListElement.js +2 -2
  225. package/dist/esm/node/elements/HTMLOListElement.js.map +2 -2
  226. package/dist/esm/node/elements/HTMLObjectElement.js +2 -2
  227. package/dist/esm/node/elements/HTMLObjectElement.js.map +2 -2
  228. package/dist/esm/node/elements/HTMLOptGroupElement.js +2 -2
  229. package/dist/esm/node/elements/HTMLOptGroupElement.js.map +2 -2
  230. package/dist/esm/node/elements/HTMLOptionElement.js +2 -2
  231. package/dist/esm/node/elements/HTMLOptionElement.js.map +2 -2
  232. package/dist/esm/node/elements/HTMLOutputElement.js +2 -2
  233. package/dist/esm/node/elements/HTMLOutputElement.js.map +2 -2
  234. package/dist/esm/node/elements/HTMLPElement.js +2 -2
  235. package/dist/esm/node/elements/HTMLPElement.js.map +2 -2
  236. package/dist/esm/node/elements/HTMLParamElement.js +2 -2
  237. package/dist/esm/node/elements/HTMLParamElement.js.map +2 -2
  238. package/dist/esm/node/elements/HTMLPictureElement.js +2 -2
  239. package/dist/esm/node/elements/HTMLPictureElement.js.map +2 -2
  240. package/dist/esm/node/elements/HTMLPreElement.js +2 -2
  241. package/dist/esm/node/elements/HTMLPreElement.js.map +2 -2
  242. package/dist/esm/node/elements/HTMLProgressElement.js +2 -2
  243. package/dist/esm/node/elements/HTMLProgressElement.js.map +2 -2
  244. package/dist/esm/node/elements/HTMLQuoteElement.js +2 -2
  245. package/dist/esm/node/elements/HTMLQuoteElement.js.map +2 -2
  246. package/dist/esm/node/elements/HTMLScriptElement.js +2 -2
  247. package/dist/esm/node/elements/HTMLScriptElement.js.map +2 -2
  248. package/dist/esm/node/elements/HTMLSelectElement.js +2 -2
  249. package/dist/esm/node/elements/HTMLSelectElement.js.map +2 -2
  250. package/dist/esm/node/elements/HTMLSlotElement.js +2 -2
  251. package/dist/esm/node/elements/HTMLSlotElement.js.map +2 -2
  252. package/dist/esm/node/elements/HTMLSourceElement.js +2 -2
  253. package/dist/esm/node/elements/HTMLSourceElement.js.map +2 -2
  254. package/dist/esm/node/elements/HTMLSpanElement.js +2 -2
  255. package/dist/esm/node/elements/HTMLSpanElement.js.map +2 -2
  256. package/dist/esm/node/elements/HTMLStyleElement.js +2 -2
  257. package/dist/esm/node/elements/HTMLStyleElement.js.map +2 -2
  258. package/dist/esm/node/elements/HTMLTableElement.js +2 -2
  259. package/dist/esm/node/elements/HTMLTableElement.js.map +2 -2
  260. package/dist/esm/node/elements/HTMLTbodyElement.js +2 -2
  261. package/dist/esm/node/elements/HTMLTbodyElement.js.map +2 -2
  262. package/dist/esm/node/elements/HTMLTdElement.js +2 -2
  263. package/dist/esm/node/elements/HTMLTdElement.js.map +2 -2
  264. package/dist/esm/node/elements/HTMLTemplateElement.js +2 -2
  265. package/dist/esm/node/elements/HTMLTemplateElement.js.map +2 -2
  266. package/dist/esm/node/elements/HTMLTextAreaElement.js +2 -2
  267. package/dist/esm/node/elements/HTMLTextAreaElement.js.map +2 -2
  268. package/dist/esm/node/elements/HTMLTfootElement.js +2 -2
  269. package/dist/esm/node/elements/HTMLTfootElement.js.map +2 -2
  270. package/dist/esm/node/elements/HTMLThElement.js +2 -2
  271. package/dist/esm/node/elements/HTMLThElement.js.map +2 -2
  272. package/dist/esm/node/elements/HTMLTheadElement.js +2 -2
  273. package/dist/esm/node/elements/HTMLTheadElement.js.map +2 -2
  274. package/dist/esm/node/elements/HTMLTimeElement.js +2 -2
  275. package/dist/esm/node/elements/HTMLTimeElement.js.map +2 -2
  276. package/dist/esm/node/elements/HTMLTitleElement.js +2 -2
  277. package/dist/esm/node/elements/HTMLTitleElement.js.map +2 -2
  278. package/dist/esm/node/elements/HTMLTrElement.js +2 -2
  279. package/dist/esm/node/elements/HTMLTrElement.js.map +2 -2
  280. package/dist/esm/node/elements/HTMLTrackElement.js +2 -2
  281. package/dist/esm/node/elements/HTMLTrackElement.js.map +2 -2
  282. package/dist/esm/node/elements/HTMLUListElement.js +2 -2
  283. package/dist/esm/node/elements/HTMLUListElement.js.map +2 -2
  284. package/dist/esm/node/elements/HTMLVideoElement.js +2 -2
  285. package/dist/esm/node/elements/HTMLVideoElement.js.map +2 -2
  286. package/dist/esm/node/elements/MathMLElement.js +2 -2
  287. package/dist/esm/node/elements/MathMLElement.js.map +2 -2
  288. package/dist/esm/node/elements/SVGElement.js +2 -2
  289. package/dist/esm/node/elements/SVGElement.js.map +2 -2
  290. package/dist/esm/node/elements/index.js +1 -3
  291. package/dist/esm/node/elements/index.js.map +2 -2
  292. package/dist/esm/window/CustomElementRegistryImp.js +8 -0
  293. package/dist/esm/window/CustomElementRegistryImp.js.map +2 -2
  294. package/dist/esm-bundle/dooboostore-dom-parser.esm.js +109 -88
  295. package/dist/esm-bundle/dooboostore-dom-parser.esm.js.map +3 -3
  296. package/dist/types/DomParser.d.ts.map +1 -1
  297. package/dist/types/bundle-entry.d.ts +3 -0
  298. package/dist/types/bundle-entry.d.ts.map +1 -0
  299. package/dist/types/factory/ElementFactory.d.ts.map +1 -1
  300. package/dist/types/index.d.ts +11 -0
  301. package/dist/types/index.d.ts.map +1 -1
  302. package/dist/types/node/elements/HTMLAnchorElement.d.ts +2 -2
  303. package/dist/types/node/elements/HTMLAnchorElement.d.ts.map +1 -1
  304. package/dist/types/node/elements/HTMLAreaElement.d.ts +2 -2
  305. package/dist/types/node/elements/HTMLAreaElement.d.ts.map +1 -1
  306. package/dist/types/node/elements/HTMLAudioElement.d.ts +2 -2
  307. package/dist/types/node/elements/HTMLAudioElement.d.ts.map +1 -1
  308. package/dist/types/node/elements/HTMLBaseElement.d.ts +2 -2
  309. package/dist/types/node/elements/HTMLBaseElement.d.ts.map +1 -1
  310. package/dist/types/node/elements/HTMLBodyElement.d.ts +2 -2
  311. package/dist/types/node/elements/HTMLBodyElement.d.ts.map +1 -1
  312. package/dist/types/node/elements/HTMLButtonElement.d.ts +2 -2
  313. package/dist/types/node/elements/HTMLButtonElement.d.ts.map +1 -1
  314. package/dist/types/node/elements/HTMLCanvasElement.d.ts +2 -2
  315. package/dist/types/node/elements/HTMLCanvasElement.d.ts.map +1 -1
  316. package/dist/types/node/elements/HTMLCaptionElement.d.ts +2 -2
  317. package/dist/types/node/elements/HTMLCaptionElement.d.ts.map +1 -1
  318. package/dist/types/node/elements/HTMLDListElement.d.ts +2 -2
  319. package/dist/types/node/elements/HTMLDListElement.d.ts.map +1 -1
  320. package/dist/types/node/elements/HTMLDataElement.d.ts +2 -2
  321. package/dist/types/node/elements/HTMLDataElement.d.ts.map +1 -1
  322. package/dist/types/node/elements/HTMLDataListElement.d.ts +2 -2
  323. package/dist/types/node/elements/HTMLDataListElement.d.ts.map +1 -1
  324. package/dist/types/node/elements/HTMLDetailsElement.d.ts +2 -2
  325. package/dist/types/node/elements/HTMLDetailsElement.d.ts.map +1 -1
  326. package/dist/types/node/elements/HTMLDialogElement.d.ts +2 -2
  327. package/dist/types/node/elements/HTMLDialogElement.d.ts.map +1 -1
  328. package/dist/types/node/elements/HTMLDivElement.d.ts +2 -2
  329. package/dist/types/node/elements/HTMLDivElement.d.ts.map +1 -1
  330. package/dist/types/node/elements/HTMLElement.d.ts +1 -0
  331. package/dist/types/node/elements/HTMLElement.d.ts.map +1 -1
  332. package/dist/types/node/elements/HTMLElementBase.d.ts.map +1 -1
  333. package/dist/types/node/elements/HTMLEmbedElement.d.ts +2 -2
  334. package/dist/types/node/elements/HTMLEmbedElement.d.ts.map +1 -1
  335. package/dist/types/node/elements/HTMLFieldSetElement.d.ts +2 -2
  336. package/dist/types/node/elements/HTMLFieldSetElement.d.ts.map +1 -1
  337. package/dist/types/node/elements/HTMLFormElement.d.ts +2 -2
  338. package/dist/types/node/elements/HTMLFormElement.d.ts.map +1 -1
  339. package/dist/types/node/elements/HTMLH1Element.d.ts +2 -2
  340. package/dist/types/node/elements/HTMLH1Element.d.ts.map +1 -1
  341. package/dist/types/node/elements/HTMLHRElement.d.ts +2 -2
  342. package/dist/types/node/elements/HTMLHRElement.d.ts.map +1 -1
  343. package/dist/types/node/elements/HTMLHeadElement.d.ts +2 -2
  344. package/dist/types/node/elements/HTMLHeadElement.d.ts.map +1 -1
  345. package/dist/types/node/elements/HTMLHtmlElement.d.ts +2 -2
  346. package/dist/types/node/elements/HTMLHtmlElement.d.ts.map +1 -1
  347. package/dist/types/node/elements/HTMLIFrameElement.d.ts +2 -2
  348. package/dist/types/node/elements/HTMLIFrameElement.d.ts.map +1 -1
  349. package/dist/types/node/elements/HTMLImgElement.d.ts +2 -2
  350. package/dist/types/node/elements/HTMLImgElement.d.ts.map +1 -1
  351. package/dist/types/node/elements/HTMLInputElement.d.ts +2 -2
  352. package/dist/types/node/elements/HTMLInputElement.d.ts.map +1 -1
  353. package/dist/types/node/elements/HTMLLIElement.d.ts +2 -2
  354. package/dist/types/node/elements/HTMLLIElement.d.ts.map +1 -1
  355. package/dist/types/node/elements/HTMLLabelElement.d.ts +2 -2
  356. package/dist/types/node/elements/HTMLLabelElement.d.ts.map +1 -1
  357. package/dist/types/node/elements/HTMLLegendElement.d.ts +2 -2
  358. package/dist/types/node/elements/HTMLLegendElement.d.ts.map +1 -1
  359. package/dist/types/node/elements/HTMLLinkElement.d.ts +2 -2
  360. package/dist/types/node/elements/HTMLLinkElement.d.ts.map +1 -1
  361. package/dist/types/node/elements/HTMLMapElement.d.ts +2 -2
  362. package/dist/types/node/elements/HTMLMapElement.d.ts.map +1 -1
  363. package/dist/types/node/elements/HTMLMetaElement.d.ts +2 -2
  364. package/dist/types/node/elements/HTMLMetaElement.d.ts.map +1 -1
  365. package/dist/types/node/elements/HTMLMeterElement.d.ts +2 -2
  366. package/dist/types/node/elements/HTMLMeterElement.d.ts.map +1 -1
  367. package/dist/types/node/elements/HTMLModElement.d.ts +2 -2
  368. package/dist/types/node/elements/HTMLModElement.d.ts.map +1 -1
  369. package/dist/types/node/elements/HTMLOListElement.d.ts +2 -2
  370. package/dist/types/node/elements/HTMLOListElement.d.ts.map +1 -1
  371. package/dist/types/node/elements/HTMLObjectElement.d.ts +2 -2
  372. package/dist/types/node/elements/HTMLObjectElement.d.ts.map +1 -1
  373. package/dist/types/node/elements/HTMLOptGroupElement.d.ts +2 -2
  374. package/dist/types/node/elements/HTMLOptGroupElement.d.ts.map +1 -1
  375. package/dist/types/node/elements/HTMLOptionElement.d.ts +2 -2
  376. package/dist/types/node/elements/HTMLOptionElement.d.ts.map +1 -1
  377. package/dist/types/node/elements/HTMLOutputElement.d.ts +2 -2
  378. package/dist/types/node/elements/HTMLOutputElement.d.ts.map +1 -1
  379. package/dist/types/node/elements/HTMLPElement.d.ts +2 -2
  380. package/dist/types/node/elements/HTMLPElement.d.ts.map +1 -1
  381. package/dist/types/node/elements/HTMLParamElement.d.ts +2 -2
  382. package/dist/types/node/elements/HTMLParamElement.d.ts.map +1 -1
  383. package/dist/types/node/elements/HTMLPictureElement.d.ts +2 -2
  384. package/dist/types/node/elements/HTMLPictureElement.d.ts.map +1 -1
  385. package/dist/types/node/elements/HTMLPreElement.d.ts +2 -2
  386. package/dist/types/node/elements/HTMLPreElement.d.ts.map +1 -1
  387. package/dist/types/node/elements/HTMLProgressElement.d.ts +2 -2
  388. package/dist/types/node/elements/HTMLProgressElement.d.ts.map +1 -1
  389. package/dist/types/node/elements/HTMLQuoteElement.d.ts +2 -2
  390. package/dist/types/node/elements/HTMLQuoteElement.d.ts.map +1 -1
  391. package/dist/types/node/elements/HTMLScriptElement.d.ts +2 -2
  392. package/dist/types/node/elements/HTMLScriptElement.d.ts.map +1 -1
  393. package/dist/types/node/elements/HTMLSelectElement.d.ts +2 -2
  394. package/dist/types/node/elements/HTMLSelectElement.d.ts.map +1 -1
  395. package/dist/types/node/elements/HTMLSlotElement.d.ts +2 -2
  396. package/dist/types/node/elements/HTMLSlotElement.d.ts.map +1 -1
  397. package/dist/types/node/elements/HTMLSourceElement.d.ts +2 -2
  398. package/dist/types/node/elements/HTMLSourceElement.d.ts.map +1 -1
  399. package/dist/types/node/elements/HTMLSpanElement.d.ts +2 -2
  400. package/dist/types/node/elements/HTMLSpanElement.d.ts.map +1 -1
  401. package/dist/types/node/elements/HTMLStyleElement.d.ts +2 -2
  402. package/dist/types/node/elements/HTMLStyleElement.d.ts.map +1 -1
  403. package/dist/types/node/elements/HTMLTableElement.d.ts +2 -2
  404. package/dist/types/node/elements/HTMLTableElement.d.ts.map +1 -1
  405. package/dist/types/node/elements/HTMLTbodyElement.d.ts +2 -2
  406. package/dist/types/node/elements/HTMLTbodyElement.d.ts.map +1 -1
  407. package/dist/types/node/elements/HTMLTdElement.d.ts +2 -2
  408. package/dist/types/node/elements/HTMLTdElement.d.ts.map +1 -1
  409. package/dist/types/node/elements/HTMLTemplateElement.d.ts +2 -2
  410. package/dist/types/node/elements/HTMLTemplateElement.d.ts.map +1 -1
  411. package/dist/types/node/elements/HTMLTextAreaElement.d.ts +2 -2
  412. package/dist/types/node/elements/HTMLTextAreaElement.d.ts.map +1 -1
  413. package/dist/types/node/elements/HTMLTfootElement.d.ts +2 -2
  414. package/dist/types/node/elements/HTMLTfootElement.d.ts.map +1 -1
  415. package/dist/types/node/elements/HTMLThElement.d.ts +2 -2
  416. package/dist/types/node/elements/HTMLThElement.d.ts.map +1 -1
  417. package/dist/types/node/elements/HTMLTheadElement.d.ts +2 -2
  418. package/dist/types/node/elements/HTMLTheadElement.d.ts.map +1 -1
  419. package/dist/types/node/elements/HTMLTimeElement.d.ts +2 -2
  420. package/dist/types/node/elements/HTMLTimeElement.d.ts.map +1 -1
  421. package/dist/types/node/elements/HTMLTitleElement.d.ts +2 -2
  422. package/dist/types/node/elements/HTMLTitleElement.d.ts.map +1 -1
  423. package/dist/types/node/elements/HTMLTrElement.d.ts +2 -2
  424. package/dist/types/node/elements/HTMLTrElement.d.ts.map +1 -1
  425. package/dist/types/node/elements/HTMLTrackElement.d.ts +2 -2
  426. package/dist/types/node/elements/HTMLTrackElement.d.ts.map +1 -1
  427. package/dist/types/node/elements/HTMLUListElement.d.ts +2 -2
  428. package/dist/types/node/elements/HTMLUListElement.d.ts.map +1 -1
  429. package/dist/types/node/elements/HTMLVideoElement.d.ts +2 -2
  430. package/dist/types/node/elements/HTMLVideoElement.d.ts.map +1 -1
  431. package/dist/types/node/elements/MathMLElement.d.ts +2 -2
  432. package/dist/types/node/elements/MathMLElement.d.ts.map +1 -1
  433. package/dist/types/node/elements/SVGElement.d.ts +2 -2
  434. package/dist/types/node/elements/SVGElement.d.ts.map +1 -1
  435. package/dist/types/node/elements/index.d.ts +3 -4
  436. package/dist/types/node/elements/index.d.ts.map +1 -1
  437. package/dist/types/window/CustomElementRegistryImp.d.ts +1 -0
  438. package/dist/types/window/CustomElementRegistryImp.d.ts.map +1 -1
  439. package/dist/umd-bundle/dooboostore-dom-parser.umd.js +109 -88
  440. package/dist/umd-bundle/dooboostore-dom-parser.umd.js.map +3 -3
  441. package/package.json +6 -1
  442. package/src/DomParser.ts +1 -0
  443. package/src/bundle-entry.ts +2 -0
  444. package/src/factory/ElementFactory.ts +18 -11
  445. package/src/index.ts +11 -0
  446. package/src/node/elements/HTMLAnchorElement.ts +2 -1
  447. package/src/node/elements/HTMLAreaElement.ts +2 -1
  448. package/src/node/elements/HTMLAudioElement.ts +2 -1
  449. package/src/node/elements/HTMLBaseElement.ts +2 -1
  450. package/src/node/elements/HTMLBodyElement.ts +2 -1
  451. package/src/node/elements/HTMLButtonElement.ts +2 -1
  452. package/src/node/elements/HTMLCanvasElement.ts +2 -1
  453. package/src/node/elements/HTMLCaptionElement.ts +2 -1
  454. package/src/node/elements/HTMLDListElement.ts +8 -2
  455. package/src/node/elements/HTMLDataElement.ts +2 -1
  456. package/src/node/elements/HTMLDataListElement.ts +8 -2
  457. package/src/node/elements/HTMLDetailsElement.ts +8 -2
  458. package/src/node/elements/HTMLDialogElement.ts +8 -2
  459. package/src/node/elements/HTMLDivElement.ts +2 -1
  460. package/src/node/elements/HTMLElement.ts +4 -0
  461. package/src/node/elements/HTMLElementBase.ts +8 -2
  462. package/src/node/elements/HTMLEmbedElement.ts +2 -1
  463. package/src/node/elements/HTMLFieldSetElement.ts +8 -2
  464. package/src/node/elements/HTMLFormElement.ts +2 -1
  465. package/src/node/elements/HTMLH1Element.ts +2 -1
  466. package/src/node/elements/HTMLHRElement.ts +8 -2
  467. package/src/node/elements/HTMLHeadElement.ts +2 -1
  468. package/src/node/elements/HTMLHtmlElement.ts +2 -1
  469. package/src/node/elements/HTMLIFrameElement.ts +8 -2
  470. package/src/node/elements/HTMLImgElement.ts +2 -1
  471. package/src/node/elements/HTMLInputElement.ts +2 -1
  472. package/src/node/elements/HTMLLIElement.ts +2 -1
  473. package/src/node/elements/HTMLLabelElement.ts +2 -1
  474. package/src/node/elements/HTMLLegendElement.ts +2 -1
  475. package/src/node/elements/HTMLLinkElement.ts +2 -1
  476. package/src/node/elements/HTMLMapElement.ts +2 -1
  477. package/src/node/elements/HTMLMetaElement.ts +2 -1
  478. package/src/node/elements/HTMLMeterElement.ts +2 -1
  479. package/src/node/elements/HTMLModElement.ts +2 -1
  480. package/src/node/elements/HTMLOListElement.ts +2 -1
  481. package/src/node/elements/HTMLObjectElement.ts +2 -1
  482. package/src/node/elements/HTMLOptGroupElement.ts +2 -1
  483. package/src/node/elements/HTMLOptionElement.ts +2 -1
  484. package/src/node/elements/HTMLOutputElement.ts +2 -1
  485. package/src/node/elements/HTMLPElement.ts +2 -1
  486. package/src/node/elements/HTMLParamElement.ts +2 -1
  487. package/src/node/elements/HTMLPictureElement.ts +2 -1
  488. package/src/node/elements/HTMLPreElement.ts +2 -1
  489. package/src/node/elements/HTMLProgressElement.ts +2 -1
  490. package/src/node/elements/HTMLQuoteElement.ts +2 -1
  491. package/src/node/elements/HTMLScriptElement.ts +2 -1
  492. package/src/node/elements/HTMLSelectElement.ts +2 -1
  493. package/src/node/elements/HTMLSlotElement.ts +2 -1
  494. package/src/node/elements/HTMLSourceElement.ts +2 -1
  495. package/src/node/elements/HTMLSpanElement.ts +2 -1
  496. package/src/node/elements/HTMLStyleElement.ts +2 -1
  497. package/src/node/elements/HTMLTableElement.ts +2 -1
  498. package/src/node/elements/HTMLTbodyElement.ts +3 -2
  499. package/src/node/elements/HTMLTdElement.ts +2 -1
  500. package/src/node/elements/HTMLTemplateElement.ts +2 -1
  501. package/src/node/elements/HTMLTextAreaElement.ts +2 -1
  502. package/src/node/elements/HTMLTfootElement.ts +2 -1
  503. package/src/node/elements/HTMLThElement.ts +2 -1
  504. package/src/node/elements/HTMLTheadElement.ts +3 -2
  505. package/src/node/elements/HTMLTimeElement.ts +2 -1
  506. package/src/node/elements/HTMLTitleElement.ts +2 -1
  507. package/src/node/elements/HTMLTrElement.ts +4 -1
  508. package/src/node/elements/HTMLTrackElement.ts +2 -1
  509. package/src/node/elements/HTMLUListElement.ts +2 -1
  510. package/src/node/elements/HTMLVideoElement.ts +2 -1
  511. package/src/node/elements/MathMLElement.ts +2 -1
  512. package/src/node/elements/SVGElement.ts +2 -1
  513. package/src/node/elements/index.ts +5 -4
  514. package/src/window/CustomElementRegistryImp.ts +18 -0
  515. package/dist/cjs/node/elements/HTMLGenericElement.js +0 -32
  516. package/dist/cjs/node/elements/HTMLGenericElement.js.map +0 -7
  517. package/dist/esm/node/elements/HTMLGenericElement.js +0 -13
  518. package/dist/esm/node/elements/HTMLGenericElement.js.map +0 -7
  519. package/dist/types/node/elements/HTMLGenericElement.d.ts +0 -6
  520. package/dist/types/node/elements/HTMLGenericElement.d.ts.map +0 -1
  521. package/src/node/elements/HTMLGenericElement.ts +0 -13
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/window/CustomElementRegistryImp.ts"],
4
- "sourcesContent": ["export interface CustomElementRegistration {\n constructor: any;\n options?: ElementDefinitionOptions;\n}\n\nexport class CustomElementRegistryImp implements CustomElementRegistration {\n private _definitions = new Map<string, CustomElementRegistration>();\n private _whenDefinedPromises = new Map<string, { promise: Promise<void>; resolve: () => void }>();\n private _window: any;\n\n setWindow(window: any): void {\n this._window = window;\n }\n\n define(name: string, constructor: any, options?: ElementDefinitionOptions): void {\n if (this._definitions.has(name)) {\n throw new Error(`Registration failed for '${name}': a device with this name has already been registered.`);\n }\n\n // Basic validation of custom element name (must contain a hyphen)\n if (!name.includes('-')) {\n throw new Error(`Registration failed for '${name}': the name is not a valid custom element name.`);\n }\n\n this._definitions.set(name, { constructor, options });\n\n // Resolve any pending whenDefined promises\n if (this._whenDefinedPromises.has(name)) {\n this._whenDefinedPromises.get(name)!.resolve();\n }\n\n // Automatically upgrade existing elements in the document\n if (this._window && this._window.document) {\n // console.log(` [CustomElementRegistry] Upgrading document for: ${name}`);\n this.upgrade(this._window.document);\n }\n }\n\n get(name: string): any | undefined {\n return this._definitions.get(name)?.constructor;\n }\n\n upgrade(root: any): void {\n if (!root) return;\n\n const nodesToUpgrade: any[] = [];\n const walk = (node: any) => {\n if (node.nodeType === 1) {\n const tagName = node.tagName.toLowerCase();\n const isAttr = node.getAttribute('is');\n const registration = isAttr ? this._definitions.get(isAttr) : this._definitions.get(tagName);\n\n if (registration) {\n const isInstance = node instanceof registration.constructor;\n if (!isInstance) {\n // console.log(` [CustomElementRegistry] Found node to upgrade: <${tagName}${isAttr ? ' is=\"' + isAttr + '\"' : ''}>`);\n nodesToUpgrade.push({ node, registration });\n }\n }\n }\n\n let child = node.firstChild;\n while (child) {\n walk(child);\n child = child.nextSibling;\n }\n };\n\n walk(root);\n\n // Perform upgrades after walking to avoid traversal issues\n for (const { node, registration } of nodesToUpgrade) {\n const newInstance = new registration.constructor();\n // Ensure the tag name is preserved if it's an autonomous custom element\n // or set correctly if it's a customized built-in\n newInstance._tagName = node.tagName;\n newInstance.nodeName = node.tagName;\n\n // Copy attributes\n if (node.attributes) {\n for (let i = 0; i < node.attributes.length; i++) {\n const attr = node.attributes.item(i);\n if (attr) {\n newInstance.setAttribute(attr.name, attr.value);\n }\n }\n }\n\n // Move children\n while (node.firstChild) {\n newInstance.appendChild(node.firstChild);\n }\n\n // Replace in parent\n if (node.parentNode) {\n node.parentNode.replaceChild(newInstance, node);\n }\n }\n }\n\n whenDefined(name: string): Promise<void> {\n if (this._definitions.has(name)) {\n return Promise.resolve();\n }\n\n if (!this._whenDefinedPromises.has(name)) {\n let resolve!: () => void;\n const promise = new Promise<void>(r => {\n resolve = r;\n });\n this._whenDefinedPromises.set(name, { promise, resolve });\n }\n\n return this._whenDefinedPromises.get(name)!.promise;\n }\n}\n\nexport interface ElementDefinitionOptions {\n extends?: string;\n}\n"],
5
- "mappings": "AAKO,MAAM,yBAA8D;AAAA,EAApE;AACL,SAAQ,eAAe,oBAAI,IAAuC;AAClE,SAAQ,uBAAuB,oBAAI,IAA6D;AAAA;AAAA,EAGhG,UAAU,QAAmB;AAC3B,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,OAAO,MAAc,aAAkB,SAA0C;AAC/E,QAAI,KAAK,aAAa,IAAI,IAAI,GAAG;AAC/B,YAAM,IAAI,MAAM,4BAA4B,IAAI,yDAAyD;AAAA,IAC3G;AAGA,QAAI,CAAC,KAAK,SAAS,GAAG,GAAG;AACvB,YAAM,IAAI,MAAM,4BAA4B,IAAI,iDAAiD;AAAA,IACnG;AAEA,SAAK,aAAa,IAAI,MAAM,EAAE,aAAa,QAAQ,CAAC;AAGpD,QAAI,KAAK,qBAAqB,IAAI,IAAI,GAAG;AACvC,WAAK,qBAAqB,IAAI,IAAI,EAAG,QAAQ;AAAA,IAC/C;AAGA,QAAI,KAAK,WAAW,KAAK,QAAQ,UAAU;AAEzC,WAAK,QAAQ,KAAK,QAAQ,QAAQ;AAAA,IACpC;AAAA,EACF;AAAA,EAEA,IAAI,MAA+B;AACjC,WAAO,KAAK,aAAa,IAAI,IAAI,GAAG;AAAA,EACtC;AAAA,EAEA,QAAQ,MAAiB;AACvB,QAAI,CAAC,KAAM;AAEX,UAAM,iBAAwB,CAAC;AAC/B,UAAM,OAAO,CAAC,SAAc;AAC1B,UAAI,KAAK,aAAa,GAAG;AACvB,cAAM,UAAU,KAAK,QAAQ,YAAY;AACzC,cAAM,SAAS,KAAK,aAAa,IAAI;AACrC,cAAM,eAAe,SAAS,KAAK,aAAa,IAAI,MAAM,IAAI,KAAK,aAAa,IAAI,OAAO;AAE3F,YAAI,cAAc;AAChB,gBAAM,aAAa,gBAAgB,aAAa;AAChD,cAAI,CAAC,YAAY;AAEf,2BAAe,KAAK,EAAE,MAAM,aAAa,CAAC;AAAA,UAC5C;AAAA,QACF;AAAA,MACF;AAEA,UAAI,QAAQ,KAAK;AACjB,aAAO,OAAO;AACZ,aAAK,KAAK;AACV,gBAAQ,MAAM;AAAA,MAChB;AAAA,IACF;AAEA,SAAK,IAAI;AAGT,eAAW,EAAE,MAAM,aAAa,KAAK,gBAAgB;AACnD,YAAM,cAAc,IAAI,aAAa,YAAY;AAGjD,kBAAY,WAAW,KAAK;AAC5B,kBAAY,WAAW,KAAK;AAG5B,UAAI,KAAK,YAAY;AACnB,iBAAS,IAAI,GAAG,IAAI,KAAK,WAAW,QAAQ,KAAK;AAC/C,gBAAM,OAAO,KAAK,WAAW,KAAK,CAAC;AACnC,cAAI,MAAM;AACR,wBAAY,aAAa,KAAK,MAAM,KAAK,KAAK;AAAA,UAChD;AAAA,QACF;AAAA,MACF;AAGA,aAAO,KAAK,YAAY;AACtB,oBAAY,YAAY,KAAK,UAAU;AAAA,MACzC;AAGA,UAAI,KAAK,YAAY;AACnB,aAAK,WAAW,aAAa,aAAa,IAAI;AAAA,MAChD;AAAA,IACF;AAAA,EACF;AAAA,EAEA,YAAY,MAA6B;AACvC,QAAI,KAAK,aAAa,IAAI,IAAI,GAAG;AAC/B,aAAO,QAAQ,QAAQ;AAAA,IACzB;AAEA,QAAI,CAAC,KAAK,qBAAqB,IAAI,IAAI,GAAG;AACxC,UAAI;AACJ,YAAM,UAAU,IAAI,QAAc,OAAK;AACrC,kBAAU;AAAA,MACZ,CAAC;AACD,WAAK,qBAAqB,IAAI,MAAM,EAAE,SAAS,QAAQ,CAAC;AAAA,IAC1D;AAEA,WAAO,KAAK,qBAAqB,IAAI,IAAI,EAAG;AAAA,EAC9C;AACF;",
4
+ "sourcesContent": ["export interface CustomElementRegistration {\n constructor: any;\n options?: ElementDefinitionOptions;\n}\n\nexport class CustomElementRegistryImp implements CustomElementRegistration {\n private _definitions = new Map<string, CustomElementRegistration>();\n private _whenDefinedPromises = new Map<string, { promise: Promise<void>; resolve: () => void }>();\n private _window: any;\n\n setWindow(window: any): void {\n this._window = window;\n }\n\n define(name: string, constructor: any, options?: ElementDefinitionOptions): void {\n if (this._definitions.has(name)) {\n throw new Error(`Registration failed for '${name}': a device with this name has already been registered.`);\n }\n\n // Basic validation of custom element name (must contain a hyphen)\n if (!name.includes('-')) {\n throw new Error(`Registration failed for '${name}': the name is not a valid custom element name.`);\n }\n\n // Keep registration metadata on constructor so direct `new` calls can infer the proper tag name.\n // const ctor = constructor as any;\n // ctor.__domParserTagName = name;\n // if (options?.extends) {\n // ctor.__domParserExtendsTagName = options.extends;\n // }\n\n this._definitions.set(name, { constructor, options });\n\n // Resolve any pending whenDefined promises\n if (this._whenDefinedPromises.has(name)) {\n this._whenDefinedPromises.get(name)!.resolve();\n }\n\n // Automatically upgrade existing elements in the document\n if (this._window && this._window.document) {\n // console.log(` [CustomElementRegistry] Upgrading document for: ${name}`);\n this.upgrade(this._window.document);\n }\n }\n\n\n getName(constructor: any): string | undefined {\n for (const [name, registration] of this._definitions) {\n if (registration.constructor === constructor) {\n return name;\n }\n }\n return undefined;\n }\n\n\n get(name: string): any | undefined {\n return this._definitions.get(name)?.constructor;\n }\n\n upgrade(root: any): void {\n if (!root) return;\n\n const nodesToUpgrade: any[] = [];\n const walk = (node: any) => {\n if (node.nodeType === 1) {\n const tagName = node.tagName.toLowerCase();\n const isAttr = node.getAttribute('is');\n const registration = isAttr ? this._definitions.get(isAttr) : this._definitions.get(tagName);\n\n if (registration) {\n const isInstance = node instanceof registration.constructor;\n if (!isInstance) {\n // console.log(` [CustomElementRegistry] Found node to upgrade: <${tagName}${isAttr ? ' is=\"' + isAttr + '\"' : ''}>`);\n nodesToUpgrade.push({ node, registration });\n }\n }\n }\n\n let child = node.firstChild;\n while (child) {\n walk(child);\n child = child.nextSibling;\n }\n };\n\n walk(root);\n\n // Perform upgrades after walking to avoid traversal issues\n for (const { node, registration } of nodesToUpgrade) {\n const newInstance = new registration.constructor();\n // Ensure the tag name is preserved if it's an autonomous custom element\n // or set correctly if it's a customized built-in\n newInstance._tagName = node.tagName;\n newInstance.nodeName = node.tagName;\n\n // Copy attributes\n if (node.attributes) {\n for (let i = 0; i < node.attributes.length; i++) {\n const attr = node.attributes.item(i);\n if (attr) {\n newInstance.setAttribute(attr.name, attr.value);\n }\n }\n }\n\n // Move children\n while (node.firstChild) {\n newInstance.appendChild(node.firstChild);\n }\n\n // Replace in parent\n if (node.parentNode) {\n node.parentNode.replaceChild(newInstance, node);\n }\n }\n }\n\n whenDefined(name: string): Promise<void> {\n if (this._definitions.has(name)) {\n return Promise.resolve();\n }\n\n if (!this._whenDefinedPromises.has(name)) {\n let resolve!: () => void;\n const promise = new Promise<void>(r => {\n resolve = r;\n });\n this._whenDefinedPromises.set(name, { promise, resolve });\n }\n\n return this._whenDefinedPromises.get(name)!.promise;\n }\n}\n\nexport interface ElementDefinitionOptions {\n extends?: string;\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }