@dooboostore/dom-parser 1.0.1 → 1.0.3

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/dist/cjs/DomParser.js +43 -13
  2. package/dist/cjs/DomParser.js.map +2 -2
  3. package/dist/cjs/factory/ElementFactory.js +27 -6
  4. package/dist/cjs/factory/ElementFactory.js.map +2 -2
  5. package/dist/cjs/index.js +4 -0
  6. package/dist/cjs/index.js.map +2 -2
  7. package/dist/cjs/node/CharacterData.js.map +1 -1
  8. package/dist/cjs/node/ChildNode.js +0 -15
  9. package/dist/cjs/node/ChildNode.js.map +3 -3
  10. package/dist/cjs/node/ChildNodeBase.js +20 -0
  11. package/dist/cjs/node/ChildNodeBase.js.map +2 -2
  12. package/dist/cjs/node/Comment.js.map +2 -2
  13. package/dist/cjs/node/Document.js +0 -27
  14. package/dist/cjs/node/Document.js.map +4 -4
  15. package/dist/cjs/node/DocumentBase.js +169 -202
  16. package/dist/cjs/node/DocumentBase.js.map +2 -2
  17. package/dist/cjs/node/DocumentFragment.js +0 -15
  18. package/dist/cjs/node/DocumentFragment.js.map +3 -3
  19. package/dist/cjs/node/DocumentFragmentBase.js.map +2 -2
  20. package/dist/cjs/node/Node.js.map +1 -1
  21. package/dist/cjs/node/NodeBase.js +44 -2
  22. package/dist/cjs/node/NodeBase.js.map +2 -2
  23. package/dist/cjs/node/NodeFilter.js +43 -0
  24. package/dist/cjs/node/NodeFilter.js.map +7 -0
  25. package/dist/cjs/node/NodeIterator.js +1 -28
  26. package/dist/cjs/node/NodeIterator.js.map +2 -2
  27. package/dist/cjs/node/ParentNode.js +0 -15
  28. package/dist/cjs/node/ParentNode.js.map +3 -3
  29. package/dist/cjs/node/ParentNodeBase.js +10 -10
  30. package/dist/cjs/node/ParentNodeBase.js.map +3 -3
  31. package/dist/cjs/node/ShadowRootBase.js +79 -0
  32. package/dist/cjs/node/ShadowRootBase.js.map +7 -0
  33. package/dist/cjs/node/Text.js +0 -15
  34. package/dist/cjs/node/Text.js.map +3 -3
  35. package/dist/cjs/node/TextBase.js +0 -3
  36. package/dist/cjs/node/TextBase.js.map +2 -2
  37. package/dist/cjs/node/TreeWalker.js +272 -0
  38. package/dist/cjs/node/TreeWalker.js.map +7 -0
  39. package/dist/cjs/node/collection/{HTMLCollection.js → HTMLCollectionImp.js} +7 -6
  40. package/dist/cjs/node/collection/HTMLCollectionImp.js.map +7 -0
  41. package/dist/cjs/node/collection/HTMLCollectionOfImp.js +26 -0
  42. package/dist/cjs/node/collection/HTMLCollectionOfImp.js.map +7 -0
  43. package/dist/cjs/node/collection/NodeList.js.map +1 -1
  44. package/dist/cjs/node/collection/{NodeListOf.js → NodeListOfImp.js} +6 -6
  45. package/dist/cjs/node/collection/NodeListOfImp.js.map +7 -0
  46. package/dist/cjs/node/collection/StylePropertyMapImpl.js +65 -0
  47. package/dist/cjs/node/collection/StylePropertyMapImpl.js.map +7 -0
  48. package/dist/cjs/node/collection/index.js +6 -6
  49. package/dist/cjs/node/collection/index.js.map +2 -2
  50. package/dist/cjs/node/elements/Element.js +0 -15
  51. package/dist/cjs/node/elements/Element.js.map +3 -3
  52. package/dist/cjs/node/elements/ElementBase.js +164 -322
  53. package/dist/cjs/node/elements/ElementBase.js.map +3 -3
  54. package/dist/cjs/node/elements/HTMLAreaElement.js.map +2 -2
  55. package/dist/cjs/node/{collection/HTMLCollectionOf.js → elements/HTMLAudioElement.js} +9 -16
  56. package/dist/cjs/node/elements/HTMLAudioElement.js.map +7 -0
  57. package/dist/cjs/node/elements/HTMLButtonElement.js +1 -1
  58. package/dist/cjs/node/elements/HTMLButtonElement.js.map +2 -2
  59. package/dist/cjs/node/elements/HTMLDListElement.js +29 -0
  60. package/dist/cjs/node/elements/HTMLDListElement.js.map +7 -0
  61. package/dist/cjs/node/elements/HTMLDataElement.js +29 -0
  62. package/dist/cjs/node/elements/HTMLDataElement.js.map +7 -0
  63. package/dist/cjs/node/elements/HTMLDataListElement.js +29 -0
  64. package/dist/cjs/node/elements/HTMLDataListElement.js.map +7 -0
  65. package/dist/cjs/node/elements/HTMLDetailsElement.js +29 -0
  66. package/dist/cjs/node/elements/HTMLDetailsElement.js.map +7 -0
  67. package/dist/cjs/node/elements/HTMLDialogElement.js +29 -0
  68. package/dist/cjs/node/elements/HTMLDialogElement.js.map +7 -0
  69. package/dist/cjs/node/elements/HTMLElement.js +10 -0
  70. package/dist/cjs/node/elements/HTMLElement.js.map +2 -2
  71. package/dist/cjs/node/elements/HTMLElementBase.js +153 -3
  72. package/dist/cjs/node/elements/HTMLElementBase.js.map +2 -2
  73. package/dist/cjs/node/elements/HTMLEmbedElement.js.map +2 -2
  74. package/dist/cjs/node/elements/HTMLFieldSetElement.js +29 -0
  75. package/dist/cjs/node/elements/HTMLFieldSetElement.js.map +7 -0
  76. package/dist/cjs/node/elements/HTMLHRElement.js +29 -0
  77. package/dist/cjs/node/elements/HTMLHRElement.js.map +7 -0
  78. package/dist/cjs/node/elements/HTMLIFrameElement.js +29 -0
  79. package/dist/cjs/node/elements/HTMLIFrameElement.js.map +7 -0
  80. package/dist/cjs/node/elements/HTMLLabelElement.js +29 -0
  81. package/dist/cjs/node/elements/HTMLLabelElement.js.map +7 -0
  82. package/dist/cjs/node/elements/HTMLLegendElement.js +29 -0
  83. package/dist/cjs/node/elements/HTMLLegendElement.js.map +7 -0
  84. package/dist/cjs/node/elements/HTMLMapElement.js +29 -0
  85. package/dist/cjs/node/elements/HTMLMapElement.js.map +7 -0
  86. package/dist/cjs/node/elements/HTMLMeterElement.js +29 -0
  87. package/dist/cjs/node/elements/HTMLMeterElement.js.map +7 -0
  88. package/dist/cjs/node/elements/HTMLModElement.js +29 -0
  89. package/dist/cjs/node/elements/HTMLModElement.js.map +7 -0
  90. package/dist/cjs/node/elements/HTMLObjectElement.js +29 -0
  91. package/dist/cjs/node/elements/HTMLObjectElement.js.map +7 -0
  92. package/dist/cjs/node/elements/HTMLOptGroupElement.js +29 -0
  93. package/dist/cjs/node/elements/HTMLOptGroupElement.js.map +7 -0
  94. package/dist/cjs/node/elements/HTMLOptionElement.js +29 -0
  95. package/dist/cjs/node/elements/HTMLOptionElement.js.map +7 -0
  96. package/dist/cjs/node/elements/HTMLOutputElement.js +29 -0
  97. package/dist/cjs/node/elements/HTMLOutputElement.js.map +7 -0
  98. package/dist/cjs/node/elements/HTMLParamElement.js +29 -0
  99. package/dist/cjs/node/elements/HTMLParamElement.js.map +7 -0
  100. package/dist/cjs/node/elements/HTMLPictureElement.js +29 -0
  101. package/dist/cjs/node/elements/HTMLPictureElement.js.map +7 -0
  102. package/dist/cjs/node/elements/HTMLPreElement.js +29 -0
  103. package/dist/cjs/node/elements/HTMLPreElement.js.map +7 -0
  104. package/dist/cjs/node/elements/HTMLProgressElement.js +29 -0
  105. package/dist/cjs/node/elements/HTMLProgressElement.js.map +7 -0
  106. package/dist/cjs/node/elements/HTMLQuoteElement.js +29 -0
  107. package/dist/cjs/node/elements/HTMLQuoteElement.js.map +7 -0
  108. package/dist/cjs/node/elements/HTMLSelectElement.js +29 -0
  109. package/dist/cjs/node/elements/HTMLSelectElement.js.map +7 -0
  110. package/dist/cjs/node/elements/HTMLSlotElement.js +29 -0
  111. package/dist/cjs/node/elements/HTMLSlotElement.js.map +7 -0
  112. package/dist/cjs/node/elements/HTMLSourceElement.js +29 -0
  113. package/dist/cjs/node/elements/HTMLSourceElement.js.map +7 -0
  114. package/dist/cjs/node/elements/HTMLTableElement.js.map +2 -2
  115. package/dist/cjs/node/elements/HTMLTbodyElement.js.map +2 -2
  116. package/dist/cjs/node/elements/HTMLTdElement.js.map +2 -2
  117. package/dist/cjs/node/elements/HTMLTemplateElement.js.map +2 -2
  118. package/dist/cjs/node/elements/HTMLTextAreaElement.js +29 -0
  119. package/dist/cjs/node/elements/HTMLTextAreaElement.js.map +7 -0
  120. package/dist/cjs/node/elements/HTMLTfootElement.js.map +2 -2
  121. package/dist/cjs/node/elements/HTMLTheadElement.js.map +2 -2
  122. package/dist/cjs/node/elements/HTMLTimeElement.js +29 -0
  123. package/dist/cjs/node/elements/HTMLTimeElement.js.map +7 -0
  124. package/dist/cjs/node/elements/HTMLTrElement.js.map +2 -2
  125. package/dist/cjs/node/elements/HTMLTrackElement.js +29 -0
  126. package/dist/cjs/node/elements/HTMLTrackElement.js.map +7 -0
  127. package/dist/cjs/node/elements/HTMLVideoElement.js +29 -0
  128. package/dist/cjs/node/elements/HTMLVideoElement.js.map +7 -0
  129. package/dist/cjs/node/elements/index.js +181 -92
  130. package/dist/cjs/node/elements/index.js.map +2 -2
  131. package/dist/cjs/node/index.js +6 -16
  132. package/dist/cjs/node/index.js.map +2 -2
  133. package/dist/cjs/utils/CSSSelector.js.map +2 -2
  134. package/dist/cjs/window/CustomElementRegistryImp.js +105 -0
  135. package/dist/cjs/window/CustomElementRegistryImp.js.map +7 -0
  136. package/dist/cjs/window/Window.js +0 -15
  137. package/dist/cjs/window/Window.js.map +3 -3
  138. package/dist/cjs/window/WindowBase.js +233 -515
  139. package/dist/cjs/window/WindowBase.js.map +2 -2
  140. package/dist/cjs/window/index.js +0 -5
  141. package/dist/cjs/window/index.js.map +2 -2
  142. package/dist/esm/DomParser.js +43 -13
  143. package/dist/esm/DomParser.js.map +2 -2
  144. package/dist/esm/factory/ElementFactory.js +27 -6
  145. package/dist/esm/factory/ElementFactory.js.map +2 -2
  146. package/dist/esm/index.js +4 -0
  147. package/dist/esm/index.js.map +2 -2
  148. package/dist/esm/node/ChildNodeBase.js +20 -0
  149. package/dist/esm/node/ChildNodeBase.js.map +2 -2
  150. package/dist/esm/node/Comment.js.map +2 -2
  151. package/dist/esm/node/Document.js +0 -8
  152. package/dist/esm/node/Document.js.map +4 -4
  153. package/dist/esm/node/DocumentBase.js +166 -199
  154. package/dist/esm/node/DocumentBase.js.map +2 -2
  155. package/dist/esm/node/DocumentFragmentBase.js.map +2 -2
  156. package/dist/esm/node/Node.js.map +1 -1
  157. package/dist/esm/node/NodeBase.js +45 -22
  158. package/dist/esm/node/NodeBase.js.map +2 -2
  159. package/dist/esm/node/NodeFilter.js +24 -0
  160. package/dist/esm/node/NodeFilter.js.map +7 -0
  161. package/dist/esm/node/NodeIterator.js +1 -28
  162. package/dist/esm/node/NodeIterator.js.map +2 -2
  163. package/dist/esm/node/ParentNodeBase.js +4 -4
  164. package/dist/esm/node/ParentNodeBase.js.map +2 -2
  165. package/dist/esm/node/ShadowRootBase.js +60 -0
  166. package/dist/esm/node/ShadowRootBase.js.map +7 -0
  167. package/dist/esm/node/TextBase.js +0 -3
  168. package/dist/esm/node/TextBase.js.map +2 -2
  169. package/dist/esm/node/TreeWalker.js +253 -0
  170. package/dist/esm/node/TreeWalker.js.map +7 -0
  171. package/dist/esm/node/collection/{HTMLCollection.js → HTMLCollectionImp.js} +4 -3
  172. package/dist/esm/node/collection/HTMLCollectionImp.js.map +7 -0
  173. package/dist/esm/node/collection/HTMLCollectionOfImp.js +7 -0
  174. package/dist/esm/node/collection/HTMLCollectionOfImp.js.map +7 -0
  175. package/dist/esm/node/collection/NodeList.js.map +1 -1
  176. package/dist/esm/node/collection/{NodeListOf.js → NodeListOfImp.js} +3 -3
  177. package/dist/esm/node/collection/NodeListOfImp.js.map +7 -0
  178. package/dist/esm/node/collection/StylePropertyMapImpl.js +46 -0
  179. package/dist/esm/node/collection/StylePropertyMapImpl.js.map +7 -0
  180. package/dist/esm/node/collection/index.js +6 -6
  181. package/dist/esm/node/collection/index.js.map +2 -2
  182. package/dist/esm/node/elements/ElementBase.js +164 -322
  183. package/dist/esm/node/elements/ElementBase.js.map +3 -3
  184. package/dist/esm/node/elements/HTMLAreaElement.js.map +2 -2
  185. package/dist/esm/node/elements/HTMLAudioElement.js +10 -0
  186. package/dist/esm/node/elements/HTMLAudioElement.js.map +7 -0
  187. package/dist/esm/node/elements/HTMLButtonElement.js +1 -1
  188. package/dist/esm/node/elements/HTMLButtonElement.js.map +2 -2
  189. package/dist/esm/node/elements/HTMLDListElement.js +10 -0
  190. package/dist/esm/node/elements/HTMLDListElement.js.map +7 -0
  191. package/dist/esm/node/elements/HTMLDataElement.js +10 -0
  192. package/dist/esm/node/elements/HTMLDataElement.js.map +7 -0
  193. package/dist/esm/node/elements/HTMLDataListElement.js +10 -0
  194. package/dist/esm/node/elements/HTMLDataListElement.js.map +7 -0
  195. package/dist/esm/node/elements/HTMLDetailsElement.js +10 -0
  196. package/dist/esm/node/elements/HTMLDetailsElement.js.map +7 -0
  197. package/dist/esm/node/elements/HTMLDialogElement.js +10 -0
  198. package/dist/esm/node/elements/HTMLDialogElement.js.map +7 -0
  199. package/dist/esm/node/elements/HTMLElement.js +6 -0
  200. package/dist/esm/node/elements/HTMLElement.js.map +3 -3
  201. package/dist/esm/node/elements/HTMLElementBase.js +153 -3
  202. package/dist/esm/node/elements/HTMLElementBase.js.map +2 -2
  203. package/dist/esm/node/elements/HTMLEmbedElement.js.map +2 -2
  204. package/dist/esm/node/elements/HTMLFieldSetElement.js +10 -0
  205. package/dist/esm/node/elements/HTMLFieldSetElement.js.map +7 -0
  206. package/dist/esm/node/elements/HTMLHRElement.js +10 -0
  207. package/dist/esm/node/elements/HTMLHRElement.js.map +7 -0
  208. package/dist/esm/node/elements/HTMLIFrameElement.js +10 -0
  209. package/dist/esm/node/elements/HTMLIFrameElement.js.map +7 -0
  210. package/dist/esm/node/elements/HTMLLabelElement.js +10 -0
  211. package/dist/esm/node/elements/HTMLLabelElement.js.map +7 -0
  212. package/dist/esm/node/elements/HTMLLegendElement.js +10 -0
  213. package/dist/esm/node/elements/HTMLLegendElement.js.map +7 -0
  214. package/dist/esm/node/elements/HTMLMapElement.js +10 -0
  215. package/dist/esm/node/elements/HTMLMapElement.js.map +7 -0
  216. package/dist/esm/node/elements/HTMLMeterElement.js +10 -0
  217. package/dist/esm/node/elements/HTMLMeterElement.js.map +7 -0
  218. package/dist/esm/node/elements/HTMLModElement.js +10 -0
  219. package/dist/esm/node/elements/HTMLModElement.js.map +7 -0
  220. package/dist/esm/node/elements/HTMLObjectElement.js +10 -0
  221. package/dist/esm/node/elements/HTMLObjectElement.js.map +7 -0
  222. package/dist/esm/node/elements/HTMLOptGroupElement.js +10 -0
  223. package/dist/esm/node/elements/HTMLOptGroupElement.js.map +7 -0
  224. package/dist/esm/node/elements/HTMLOptionElement.js +10 -0
  225. package/dist/esm/node/elements/HTMLOptionElement.js.map +7 -0
  226. package/dist/esm/node/elements/HTMLOutputElement.js +10 -0
  227. package/dist/esm/node/elements/HTMLOutputElement.js.map +7 -0
  228. package/dist/esm/node/elements/HTMLParamElement.js +10 -0
  229. package/dist/esm/node/elements/HTMLParamElement.js.map +7 -0
  230. package/dist/esm/node/elements/HTMLPictureElement.js +10 -0
  231. package/dist/esm/node/elements/HTMLPictureElement.js.map +7 -0
  232. package/dist/esm/node/elements/HTMLPreElement.js +10 -0
  233. package/dist/esm/node/elements/HTMLPreElement.js.map +7 -0
  234. package/dist/esm/node/elements/HTMLProgressElement.js +10 -0
  235. package/dist/esm/node/elements/HTMLProgressElement.js.map +7 -0
  236. package/dist/esm/node/elements/HTMLQuoteElement.js +10 -0
  237. package/dist/esm/node/elements/HTMLQuoteElement.js.map +7 -0
  238. package/dist/esm/node/elements/HTMLSelectElement.js +10 -0
  239. package/dist/esm/node/elements/HTMLSelectElement.js.map +7 -0
  240. package/dist/esm/node/elements/HTMLSlotElement.js +10 -0
  241. package/dist/esm/node/elements/HTMLSlotElement.js.map +7 -0
  242. package/dist/esm/node/elements/HTMLSourceElement.js +10 -0
  243. package/dist/esm/node/elements/HTMLSourceElement.js.map +7 -0
  244. package/dist/esm/node/elements/HTMLTableElement.js.map +2 -2
  245. package/dist/esm/node/elements/HTMLTbodyElement.js.map +2 -2
  246. package/dist/esm/node/elements/HTMLTdElement.js.map +2 -2
  247. package/dist/esm/node/elements/HTMLTemplateElement.js.map +2 -2
  248. package/dist/esm/node/elements/HTMLTextAreaElement.js +10 -0
  249. package/dist/esm/node/elements/HTMLTextAreaElement.js.map +7 -0
  250. package/dist/esm/node/elements/HTMLTfootElement.js.map +2 -2
  251. package/dist/esm/node/elements/HTMLTheadElement.js.map +2 -2
  252. package/dist/esm/node/elements/HTMLTimeElement.js +10 -0
  253. package/dist/esm/node/elements/HTMLTimeElement.js.map +7 -0
  254. package/dist/esm/node/elements/HTMLTrElement.js.map +2 -2
  255. package/dist/esm/node/elements/HTMLTrackElement.js +10 -0
  256. package/dist/esm/node/elements/HTMLTrackElement.js.map +7 -0
  257. package/dist/esm/node/elements/HTMLVideoElement.js +10 -0
  258. package/dist/esm/node/elements/HTMLVideoElement.js.map +7 -0
  259. package/dist/esm/node/elements/index.js +182 -93
  260. package/dist/esm/node/elements/index.js.map +2 -2
  261. package/dist/esm/node/index.js +7 -17
  262. package/dist/esm/node/index.js.map +2 -2
  263. package/dist/esm/utils/CSSSelector.js.map +2 -2
  264. package/dist/esm/window/CustomElementRegistryImp.js +86 -0
  265. package/dist/esm/window/CustomElementRegistryImp.js.map +7 -0
  266. package/dist/esm/window/WindowBase.js +282 -499
  267. package/dist/esm/window/WindowBase.js.map +2 -2
  268. package/dist/esm/window/index.js +0 -5
  269. package/dist/esm/window/index.js.map +2 -2
  270. package/dist/esm-bundle/dooboostore-dom-parser.esm.js +3755 -3548
  271. package/dist/esm-bundle/dooboostore-dom-parser.esm.js.map +4 -4
  272. package/dist/types/DomParser.d.ts +4 -0
  273. package/dist/types/DomParser.d.ts.map +1 -1
  274. package/dist/types/factory/ElementFactory.d.ts +1 -1
  275. package/dist/types/factory/ElementFactory.d.ts.map +1 -1
  276. package/dist/types/index.d.ts +3 -1
  277. package/dist/types/index.d.ts.map +1 -1
  278. package/dist/types/node/CharacterData.d.ts +0 -2
  279. package/dist/types/node/CharacterData.d.ts.map +1 -1
  280. package/dist/types/node/ChildNode.d.ts +0 -38
  281. package/dist/types/node/ChildNode.d.ts.map +1 -1
  282. package/dist/types/node/ChildNodeBase.d.ts +6 -4
  283. package/dist/types/node/ChildNodeBase.d.ts.map +1 -1
  284. package/dist/types/node/Comment.d.ts +1 -1
  285. package/dist/types/node/Comment.d.ts.map +1 -1
  286. package/dist/types/node/Document.d.ts +0 -856
  287. package/dist/types/node/Document.d.ts.map +1 -1
  288. package/dist/types/node/DocumentBase.d.ts +68 -108
  289. package/dist/types/node/DocumentBase.d.ts.map +1 -1
  290. package/dist/types/node/DocumentFragment.d.ts +0 -38
  291. package/dist/types/node/DocumentFragment.d.ts.map +1 -1
  292. package/dist/types/node/DocumentFragmentBase.d.ts +1 -8
  293. package/dist/types/node/DocumentFragmentBase.d.ts.map +1 -1
  294. package/dist/types/node/Node.d.ts +0 -213
  295. package/dist/types/node/Node.d.ts.map +1 -1
  296. package/dist/types/node/NodeBase.d.ts +11 -8
  297. package/dist/types/node/NodeBase.d.ts.map +1 -1
  298. package/dist/types/node/NodeFilter.d.ts +25 -0
  299. package/dist/types/node/NodeFilter.d.ts.map +1 -0
  300. package/dist/types/node/NodeIterator.d.ts +0 -34
  301. package/dist/types/node/NodeIterator.d.ts.map +1 -1
  302. package/dist/types/node/ParentNode.d.ts +0 -84
  303. package/dist/types/node/ParentNode.d.ts.map +1 -1
  304. package/dist/types/node/ParentNodeBase.d.ts +0 -5
  305. package/dist/types/node/ParentNodeBase.d.ts.map +1 -1
  306. package/dist/types/node/ShadowRootBase.d.ts +36 -0
  307. package/dist/types/node/ShadowRootBase.d.ts.map +1 -0
  308. package/dist/types/node/Text.d.ts +0 -24
  309. package/dist/types/node/Text.d.ts.map +1 -1
  310. package/dist/types/node/TextBase.d.ts +2 -3
  311. package/dist/types/node/TextBase.d.ts.map +1 -1
  312. package/dist/types/node/TreeWalker.d.ts +48 -0
  313. package/dist/types/node/TreeWalker.d.ts.map +1 -0
  314. package/dist/types/node/collection/{HTMLCollection.d.ts → HTMLCollectionImp.d.ts} +2 -3
  315. package/dist/types/node/collection/HTMLCollectionImp.d.ts.map +1 -0
  316. package/dist/types/node/collection/HTMLCollectionOfImp.d.ts +9 -0
  317. package/dist/types/node/collection/HTMLCollectionOfImp.d.ts.map +1 -0
  318. package/dist/types/node/collection/NodeList.d.ts +0 -1
  319. package/dist/types/node/collection/NodeList.d.ts.map +1 -1
  320. package/dist/types/node/collection/{NodeListOf.d.ts → NodeListOfImp.d.ts} +3 -4
  321. package/dist/types/node/collection/NodeListOfImp.d.ts.map +1 -0
  322. package/dist/types/node/collection/StylePropertyMapImpl.d.ts +20 -0
  323. package/dist/types/node/collection/StylePropertyMapImpl.d.ts.map +1 -0
  324. package/dist/types/node/collection/index.d.ts +3 -3
  325. package/dist/types/node/collection/index.d.ts.map +1 -1
  326. package/dist/types/node/elements/Element.d.ts +0 -686
  327. package/dist/types/node/elements/Element.d.ts.map +1 -1
  328. package/dist/types/node/elements/ElementBase.d.ts +97 -73
  329. package/dist/types/node/elements/ElementBase.d.ts.map +1 -1
  330. package/dist/types/node/elements/HTMLAreaElement.d.ts +0 -1
  331. package/dist/types/node/elements/HTMLAreaElement.d.ts.map +1 -1
  332. package/dist/types/node/elements/HTMLAudioElement.d.ts +8 -0
  333. package/dist/types/node/elements/HTMLAudioElement.d.ts.map +1 -0
  334. package/dist/types/node/elements/HTMLButtonElement.d.ts +1 -1
  335. package/dist/types/node/elements/HTMLButtonElement.d.ts.map +1 -1
  336. package/dist/types/node/elements/HTMLDListElement.d.ts +5 -0
  337. package/dist/types/node/elements/HTMLDListElement.d.ts.map +1 -0
  338. package/dist/types/node/elements/HTMLDataElement.d.ts +5 -0
  339. package/dist/types/node/elements/HTMLDataElement.d.ts.map +1 -0
  340. package/dist/types/node/elements/HTMLDataListElement.d.ts +5 -0
  341. package/dist/types/node/elements/HTMLDataListElement.d.ts.map +1 -0
  342. package/dist/types/node/elements/HTMLDetailsElement.d.ts +5 -0
  343. package/dist/types/node/elements/HTMLDetailsElement.d.ts.map +1 -0
  344. package/dist/types/node/elements/HTMLDialogElement.d.ts +5 -0
  345. package/dist/types/node/elements/HTMLDialogElement.d.ts.map +1 -0
  346. package/dist/types/node/elements/HTMLElement.d.ts +2 -88
  347. package/dist/types/node/elements/HTMLElement.d.ts.map +1 -1
  348. package/dist/types/node/elements/HTMLElementBase.d.ts +133 -3
  349. package/dist/types/node/elements/HTMLElementBase.d.ts.map +1 -1
  350. package/dist/types/node/elements/HTMLEmbedElement.d.ts +0 -1
  351. package/dist/types/node/elements/HTMLEmbedElement.d.ts.map +1 -1
  352. package/dist/types/node/elements/HTMLFieldSetElement.d.ts +5 -0
  353. package/dist/types/node/elements/HTMLFieldSetElement.d.ts.map +1 -0
  354. package/dist/types/node/elements/HTMLHRElement.d.ts +5 -0
  355. package/dist/types/node/elements/HTMLHRElement.d.ts.map +1 -0
  356. package/dist/types/node/elements/HTMLIFrameElement.d.ts +5 -0
  357. package/dist/types/node/elements/HTMLIFrameElement.d.ts.map +1 -0
  358. package/dist/types/node/elements/HTMLLabelElement.d.ts +5 -0
  359. package/dist/types/node/elements/HTMLLabelElement.d.ts.map +1 -0
  360. package/dist/types/node/elements/HTMLLegendElement.d.ts +5 -0
  361. package/dist/types/node/elements/HTMLLegendElement.d.ts.map +1 -0
  362. package/dist/types/node/elements/HTMLMapElement.d.ts +5 -0
  363. package/dist/types/node/elements/HTMLMapElement.d.ts.map +1 -0
  364. package/dist/types/node/elements/HTMLMeterElement.d.ts +5 -0
  365. package/dist/types/node/elements/HTMLMeterElement.d.ts.map +1 -0
  366. package/dist/types/node/elements/HTMLModElement.d.ts +5 -0
  367. package/dist/types/node/elements/HTMLModElement.d.ts.map +1 -0
  368. package/dist/types/node/elements/HTMLObjectElement.d.ts +5 -0
  369. package/dist/types/node/elements/HTMLObjectElement.d.ts.map +1 -0
  370. package/dist/types/node/elements/HTMLOptGroupElement.d.ts +5 -0
  371. package/dist/types/node/elements/HTMLOptGroupElement.d.ts.map +1 -0
  372. package/dist/types/node/elements/HTMLOptionElement.d.ts +5 -0
  373. package/dist/types/node/elements/HTMLOptionElement.d.ts.map +1 -0
  374. package/dist/types/node/elements/HTMLOutputElement.d.ts +5 -0
  375. package/dist/types/node/elements/HTMLOutputElement.d.ts.map +1 -0
  376. package/dist/types/node/elements/HTMLParamElement.d.ts +5 -0
  377. package/dist/types/node/elements/HTMLParamElement.d.ts.map +1 -0
  378. package/dist/types/node/elements/HTMLPictureElement.d.ts +5 -0
  379. package/dist/types/node/elements/HTMLPictureElement.d.ts.map +1 -0
  380. package/dist/types/node/elements/HTMLPreElement.d.ts +5 -0
  381. package/dist/types/node/elements/HTMLPreElement.d.ts.map +1 -0
  382. package/dist/types/node/elements/HTMLProgressElement.d.ts +5 -0
  383. package/dist/types/node/elements/HTMLProgressElement.d.ts.map +1 -0
  384. package/dist/types/node/elements/HTMLQuoteElement.d.ts +5 -0
  385. package/dist/types/node/elements/HTMLQuoteElement.d.ts.map +1 -0
  386. package/dist/types/node/elements/HTMLSelectElement.d.ts +5 -0
  387. package/dist/types/node/elements/HTMLSelectElement.d.ts.map +1 -0
  388. package/dist/types/node/elements/HTMLSlotElement.d.ts +5 -0
  389. package/dist/types/node/elements/HTMLSlotElement.d.ts.map +1 -0
  390. package/dist/types/node/elements/HTMLSourceElement.d.ts +5 -0
  391. package/dist/types/node/elements/HTMLSourceElement.d.ts.map +1 -0
  392. package/dist/types/node/elements/HTMLTableElement.d.ts +3 -4
  393. package/dist/types/node/elements/HTMLTableElement.d.ts.map +1 -1
  394. package/dist/types/node/elements/HTMLTbodyElement.d.ts +2 -3
  395. package/dist/types/node/elements/HTMLTbodyElement.d.ts.map +1 -1
  396. package/dist/types/node/elements/HTMLTemplateElement.d.ts +0 -1
  397. package/dist/types/node/elements/HTMLTemplateElement.d.ts.map +1 -1
  398. package/dist/types/node/elements/HTMLTextAreaElement.d.ts +5 -0
  399. package/dist/types/node/elements/HTMLTextAreaElement.d.ts.map +1 -0
  400. package/dist/types/node/elements/HTMLTfootElement.d.ts +2 -3
  401. package/dist/types/node/elements/HTMLTfootElement.d.ts.map +1 -1
  402. package/dist/types/node/elements/HTMLTheadElement.d.ts +2 -3
  403. package/dist/types/node/elements/HTMLTheadElement.d.ts.map +1 -1
  404. package/dist/types/node/elements/HTMLTimeElement.d.ts +5 -0
  405. package/dist/types/node/elements/HTMLTimeElement.d.ts.map +1 -0
  406. package/dist/types/node/elements/HTMLTrElement.d.ts +2 -3
  407. package/dist/types/node/elements/HTMLTrElement.d.ts.map +1 -1
  408. package/dist/types/node/elements/HTMLTrackElement.d.ts +5 -0
  409. package/dist/types/node/elements/HTMLTrackElement.d.ts.map +1 -0
  410. package/dist/types/node/elements/HTMLVideoElement.d.ts +8 -0
  411. package/dist/types/node/elements/HTMLVideoElement.d.ts.map +1 -0
  412. package/dist/types/node/elements/index.d.ts +106 -52
  413. package/dist/types/node/elements/index.d.ts.map +1 -1
  414. package/dist/types/node/index.d.ts +4 -7
  415. package/dist/types/node/index.d.ts.map +1 -1
  416. package/dist/types/utils/CSSSelector.d.ts +0 -1
  417. package/dist/types/utils/CSSSelector.d.ts.map +1 -1
  418. package/dist/types/window/CustomElementRegistryImp.d.ts +18 -0
  419. package/dist/types/window/CustomElementRegistryImp.d.ts.map +1 -0
  420. package/dist/types/window/Window.d.ts +0 -619
  421. package/dist/types/window/Window.d.ts.map +1 -1
  422. package/dist/types/window/WindowBase.d.ts +261 -284
  423. package/dist/types/window/WindowBase.d.ts.map +1 -1
  424. package/dist/types/window/index.d.ts +0 -1
  425. package/dist/types/window/index.d.ts.map +1 -1
  426. package/dist/umd-bundle/dooboostore-dom-parser.umd.js +3765 -3558
  427. package/dist/umd-bundle/dooboostore-dom-parser.umd.js.map +4 -4
  428. package/package.json +1 -1
  429. package/src/DomParser.ts +458 -429
  430. package/src/factory/ElementFactory.ts +79 -53
  431. package/src/index.ts +11 -10
  432. package/src/node/CharacterData.ts +0 -2
  433. package/src/node/ChildNode.ts +42 -42
  434. package/src/node/ChildNodeBase.ts +60 -39
  435. package/src/node/Comment.ts +60 -60
  436. package/src/node/Document.ts +129 -882
  437. package/src/node/DocumentBase.ts +371 -462
  438. package/src/node/DocumentFragment.ts +38 -44
  439. package/src/node/DocumentFragmentBase.ts +4 -9
  440. package/src/node/Node.ts +231 -224
  441. package/src/node/NodeBase.ts +469 -443
  442. package/src/node/NodeFilter.ts +50 -0
  443. package/src/node/NodeIterator.ts +117 -172
  444. package/src/node/ParentNode.ts +93 -93
  445. package/src/node/ParentNodeBase.ts +7 -10
  446. package/src/node/ShadowRootBase.ts +87 -0
  447. package/src/node/Text.ts +30 -30
  448. package/src/node/TextBase.ts +92 -94
  449. package/src/node/TreeWalker.ts +280 -0
  450. package/src/node/collection/{HTMLCollection.ts → HTMLCollectionImp.ts} +3 -2
  451. package/src/node/collection/HTMLCollectionOfImp.ts +12 -0
  452. package/src/node/collection/NodeList.ts +1 -1
  453. package/src/node/collection/{NodeListOf.ts → NodeListOfImp.ts} +3 -3
  454. package/src/node/collection/StylePropertyMapImpl.ts +60 -0
  455. package/src/node/collection/index.ts +3 -3
  456. package/src/node/elements/Element.ts +212 -771
  457. package/src/node/elements/ElementBase.ts +840 -1195
  458. package/src/node/elements/HTMLAreaElement.ts +0 -1
  459. package/src/node/elements/HTMLAudioElement.ts +10 -0
  460. package/src/node/elements/HTMLButtonElement.ts +63 -63
  461. package/src/node/elements/HTMLDListElement.ts +2 -0
  462. package/src/node/elements/HTMLDataElement.ts +6 -0
  463. package/src/node/elements/HTMLDataListElement.ts +2 -0
  464. package/src/node/elements/HTMLDetailsElement.ts +2 -0
  465. package/src/node/elements/HTMLDialogElement.ts +2 -0
  466. package/src/node/elements/HTMLElement.ts +2 -102
  467. package/src/node/elements/HTMLElementBase.ts +453 -156
  468. package/src/node/elements/HTMLEmbedElement.ts +0 -1
  469. package/src/node/elements/HTMLFieldSetElement.ts +2 -0
  470. package/src/node/elements/HTMLHRElement.ts +2 -0
  471. package/src/node/elements/HTMLIFrameElement.ts +2 -0
  472. package/src/node/elements/HTMLLabelElement.ts +2 -0
  473. package/src/node/elements/HTMLLegendElement.ts +2 -0
  474. package/src/node/elements/HTMLMapElement.ts +2 -0
  475. package/src/node/elements/HTMLMeterElement.ts +2 -0
  476. package/src/node/elements/HTMLModElement.ts +2 -0
  477. package/src/node/elements/HTMLObjectElement.ts +2 -0
  478. package/src/node/elements/HTMLOptGroupElement.ts +2 -0
  479. package/src/node/elements/HTMLOptionElement.ts +2 -0
  480. package/src/node/elements/HTMLOutputElement.ts +2 -0
  481. package/src/node/elements/HTMLParamElement.ts +2 -0
  482. package/src/node/elements/HTMLPictureElement.ts +2 -0
  483. package/src/node/elements/HTMLPreElement.ts +2 -0
  484. package/src/node/elements/HTMLProgressElement.ts +2 -0
  485. package/src/node/elements/HTMLQuoteElement.ts +2 -0
  486. package/src/node/elements/HTMLSelectElement.ts +2 -0
  487. package/src/node/elements/HTMLSlotElement.ts +2 -0
  488. package/src/node/elements/HTMLSourceElement.ts +2 -0
  489. package/src/node/elements/HTMLTableElement.ts +3 -7
  490. package/src/node/elements/HTMLTbodyElement.ts +2 -3
  491. package/src/node/elements/HTMLTdElement.ts +1 -1
  492. package/src/node/elements/HTMLTemplateElement.ts +3 -6
  493. package/src/node/elements/HTMLTextAreaElement.ts +2 -0
  494. package/src/node/elements/HTMLTfootElement.ts +2 -3
  495. package/src/node/elements/HTMLTheadElement.ts +2 -3
  496. package/src/node/elements/HTMLTimeElement.ts +2 -0
  497. package/src/node/elements/HTMLTrElement.ts +3 -4
  498. package/src/node/elements/HTMLTrackElement.ts +2 -0
  499. package/src/node/elements/HTMLVideoElement.ts +10 -0
  500. package/src/node/elements/index.ts +226 -149
  501. package/src/node/index.ts +8 -8
  502. package/src/utils/CSSSelector.ts +0 -1
  503. package/src/window/CustomElementRegistryImp.ts +120 -0
  504. package/src/window/Window.ts +716 -715
  505. package/src/window/WindowBase.ts +842 -998
  506. package/src/window/index.ts +0 -1
  507. package/tsconfig.json +1 -0
  508. package/dist/cjs/node/collection/HTMLCollection.js.map +0 -7
  509. package/dist/cjs/node/collection/HTMLCollectionOf.js.map +0 -7
  510. package/dist/cjs/node/collection/NodeListOf.js.map +0 -7
  511. package/dist/esm/node/collection/HTMLCollection.js.map +0 -7
  512. package/dist/esm/node/collection/HTMLCollectionOf.js +0 -17
  513. package/dist/esm/node/collection/HTMLCollectionOf.js.map +0 -7
  514. package/dist/esm/node/collection/NodeListOf.js.map +0 -7
  515. package/dist/types/node/collection/HTMLCollection.d.ts.map +0 -1
  516. package/dist/types/node/collection/HTMLCollectionOf.d.ts +0 -14
  517. package/dist/types/node/collection/HTMLCollectionOf.d.ts.map +0 -1
  518. package/dist/types/node/collection/NodeListOf.d.ts.map +0 -1
  519. package/src/node/collection/HTMLCollectionOf.ts +0 -26
@@ -17,30 +17,9 @@ var __copyProps = (to, from, except, desc) => {
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
18
  var NodeIterator_exports = {};
19
19
  __export(NodeIterator_exports, {
20
- NodeFilter: () => NodeFilter,
21
20
  NodeIterator: () => NodeIterator
22
21
  });
23
22
  module.exports = __toCommonJS(NodeIterator_exports);
24
- const NodeFilter = {
25
- // Constants for acceptNode return values
26
- FILTER_ACCEPT: 1,
27
- FILTER_REJECT: 2,
28
- FILTER_SKIP: 3,
29
- // Constants for whatToShow
30
- SHOW_ALL: 4294967295,
31
- SHOW_ELEMENT: 1,
32
- SHOW_ATTRIBUTE: 2,
33
- SHOW_TEXT: 4,
34
- SHOW_CDATA_SECTION: 8,
35
- SHOW_ENTITY_REFERENCE: 16,
36
- SHOW_ENTITY: 32,
37
- SHOW_PROCESSING_INSTRUCTION: 64,
38
- SHOW_COMMENT: 128,
39
- SHOW_DOCUMENT: 256,
40
- SHOW_DOCUMENT_TYPE: 512,
41
- SHOW_DOCUMENT_FRAGMENT: 1024,
42
- SHOW_NOTATION: 2048
43
- };
44
23
  class NodeIterator {
45
24
  constructor(root, whatToShow = NodeFilter.SHOW_ALL, filter = null) {
46
25
  this._beforeReferenceNode = true;
@@ -137,14 +116,8 @@ class NodeIterator {
137
116
  }
138
117
  return null;
139
118
  }
140
- /**
141
- * Detach the iterator (no-op in this implementation)
142
- */
143
119
  detach() {
144
120
  }
145
- /**
146
- * Check if a node should be accepted based on whatToShow and filter
147
- */
148
121
  _acceptNode(node) {
149
122
  if (!node) {
150
123
  return false;
@@ -154,7 +127,7 @@ class NodeIterator {
154
127
  return false;
155
128
  }
156
129
  if (this._filter) {
157
- const result = this._filter.acceptNode(node);
130
+ const result = "acceptNode" in this._filter ? this._filter.acceptNode(node) : this._filter(node);
158
131
  return result === NodeFilter.FILTER_ACCEPT;
159
132
  }
160
133
  return true;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/node/NodeIterator.ts"],
4
- "sourcesContent": ["import { Node } from './Node';\nimport { NodeBase } from './NodeBase';\n\n/**\n * NodeFilter interface for filtering nodes in NodeIterator\n */\nexport interface NodeFilter {\n acceptNode(node: Node): number;\n}\n\n/**\n * NodeFilter constants\n */\nexport const NodeFilter = {\n // Constants for acceptNode return values\n FILTER_ACCEPT: 1,\n FILTER_REJECT: 2,\n FILTER_SKIP: 3,\n \n // Constants for whatToShow\n SHOW_ALL: 0xFFFFFFFF,\n SHOW_ELEMENT: 0x1,\n SHOW_ATTRIBUTE: 0x2,\n SHOW_TEXT: 0x4,\n SHOW_CDATA_SECTION: 0x8,\n SHOW_ENTITY_REFERENCE: 0x10,\n SHOW_ENTITY: 0x20,\n SHOW_PROCESSING_INSTRUCTION: 0x40,\n SHOW_COMMENT: 0x80,\n SHOW_DOCUMENT: 0x100,\n SHOW_DOCUMENT_TYPE: 0x200,\n SHOW_DOCUMENT_FRAGMENT: 0x400,\n SHOW_NOTATION: 0x800\n};\n\n/**\n * NodeIterator implementation for traversing DOM nodes\n */\nexport class NodeIterator {\n private _root: Node;\n private _whatToShow: number;\n private _filter: NodeFilter | null;\n private _currentNode: Node;\n private _beforeReferenceNode: boolean = true;\n\n constructor(root: Node, whatToShow: number = NodeFilter.SHOW_ALL, filter: NodeFilter | null = null) {\n this._root = root;\n this._whatToShow = whatToShow;\n this._filter = filter;\n this._currentNode = root;\n }\n\n get root(): Node {\n return this._root;\n }\n\n get whatToShow(): number {\n return this._whatToShow;\n }\n\n get filter(): NodeFilter | null {\n return this._filter;\n }\n\n get referenceNode(): Node {\n return this._currentNode;\n }\n\n get pointerBeforeReferenceNode(): boolean {\n return this._beforeReferenceNode;\n }\n\n /**\n * Move to the next node in document order\n */\n nextNode(): Node | null {\n let node = this._currentNode;\n \n // If we're before the reference node, start from the reference node\n if (this._beforeReferenceNode) {\n this._beforeReferenceNode = false;\n if (this._acceptNode(node)) {\n return node;\n }\n }\n\n // Traverse in document order\n while (node) {\n // First, try to go to first child\n const firstChild = (node as any).firstChild;\n if (firstChild) {\n node = firstChild;\n if (this._acceptNode(node)) {\n this._currentNode = node;\n return node;\n }\n continue;\n }\n\n // If no children, try next sibling\n while (node && !(node as any).nextSibling) {\n node = (node as any).parentNode;\n // Don't go beyond root\n if (!node || node === (this._root as any).parentNode) {\n return null;\n }\n }\n\n if (!node) {\n return null;\n }\n\n node = (node as any).nextSibling;\n if (this._acceptNode(node)) {\n this._currentNode = node;\n return node;\n }\n }\n\n return null;\n }\n\n /**\n * Move to the previous node in document order\n */\n previousNode(): Node | null {\n let node = this._currentNode;\n\n // If we're after the reference node, start from the reference node\n if (!this._beforeReferenceNode) {\n this._beforeReferenceNode = true;\n if (this._acceptNode(node)) {\n return node;\n }\n }\n\n // Traverse in reverse document order\n while (node && node !== this._root) {\n // Try previous sibling\n const prevSibling = (node as any).previousSibling;\n if (prevSibling) {\n node = prevSibling;\n \n // Go to the deepest last child\n while ((node as any).lastChild) {\n node = (node as any).lastChild;\n }\n \n if (this._acceptNode(node)) {\n this._currentNode = node;\n return node;\n }\n continue;\n }\n\n // Go to parent\n node = (node as any).parentNode;\n if (!node || node === (this._root as any).parentNode) {\n return null;\n }\n\n if (this._acceptNode(node)) {\n this._currentNode = node;\n return node;\n }\n }\n\n return null;\n }\n\n /**\n * Detach the iterator (no-op in this implementation)\n */\n detach(): void {\n // Modern browsers don't require this, but we implement for compatibility\n }\n\n /**\n * Check if a node should be accepted based on whatToShow and filter\n */\n private _acceptNode(node: Node | null): boolean {\n if (!node) {\n return false;\n }\n\n // Check whatToShow filter\n const nodeTypeMask = 1 << (node.nodeType - 1);\n if (!(this._whatToShow & nodeTypeMask)) {\n return false;\n }\n\n // Check custom filter\n if (this._filter) {\n const result = this._filter.acceptNode(node);\n return result === NodeFilter.FILTER_ACCEPT;\n }\n\n return true;\n }\n}"],
5
- "mappings": "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",
4
+ "sourcesContent": ["\n/**\n * NodeIterator implementation for traversing DOM nodes\n */\nexport class NodeIterator {\n private _root: Node;\n private _whatToShow: number;\n private _filter: NodeFilter | null;\n private _currentNode: Node;\n private _beforeReferenceNode: boolean = true;\n\n constructor(root: Node, whatToShow: number = NodeFilter.SHOW_ALL, filter: NodeFilter | null = null) {\n this._root = root;\n this._whatToShow = whatToShow;\n this._filter = filter;\n this._currentNode = root;\n }\n\n get root(): Node {\n return this._root;\n }\n\n get whatToShow(): number {\n return this._whatToShow;\n }\n\n get filter(): NodeFilter | null {\n return this._filter;\n }\n\n get referenceNode(): Node {\n return this._currentNode;\n }\n\n get pointerBeforeReferenceNode(): boolean {\n return this._beforeReferenceNode;\n }\n\n /**\n * Move to the next node in document order\n */\n nextNode(): Node | null {\n let node = this._currentNode;\n\n if (this._beforeReferenceNode) {\n this._beforeReferenceNode = false;\n if (this._acceptNode(node)) {\n return node;\n }\n }\n\n while (node) {\n const firstChild = (node as any).firstChild;\n if (firstChild) {\n node = firstChild;\n if (this._acceptNode(node)) {\n this._currentNode = node;\n return node;\n }\n continue;\n }\n\n while (node && !(node as any).nextSibling) {\n node = (node as any).parentNode;\n if (!node || node === (this._root as any).parentNode) {\n return null;\n }\n }\n\n if (!node) {\n return null;\n }\n\n node = (node as any).nextSibling;\n if (this._acceptNode(node)) {\n this._currentNode = node;\n return node;\n }\n }\n\n return null;\n }\n\n /**\n * Move to the previous node in document order\n */\n previousNode(): Node | null {\n let node = this._currentNode;\n\n if (!this._beforeReferenceNode) {\n this._beforeReferenceNode = true;\n if (this._acceptNode(node)) {\n return node;\n }\n }\n\n while (node && node !== this._root) {\n const prevSibling = (node as any).previousSibling;\n if (prevSibling) {\n node = prevSibling;\n while ((node as any).lastChild) {\n node = (node as any).lastChild;\n }\n\n if (this._acceptNode(node)) {\n this._currentNode = node;\n return node;\n }\n continue;\n }\n\n node = (node as any).parentNode;\n if (!node || node === (this._root as any).parentNode) {\n return null;\n }\n\n if (this._acceptNode(node)) {\n this._currentNode = node;\n return node;\n }\n }\n\n return null;\n }\n\n detach(): void {}\n\n private _acceptNode(node: Node | null): boolean {\n if (!node) {\n return false;\n }\n\n const nodeTypeMask = 1 << (node.nodeType - 1);\n if (!(this._whatToShow & nodeTypeMask)) {\n return false;\n }\n\n if (this._filter) {\n const result = ('acceptNode' in this._filter) ? this._filter.acceptNode(node) : this._filter(node);\n return result === NodeFilter.FILTER_ACCEPT;\n }\n\n return true;\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,MAAM,aAAa;AAAA,EAOxB,YAAY,MAAY,aAAqB,WAAW,UAAU,SAA4B,MAAM;AAFpG,SAAQ,uBAAgC;AAGtC,SAAK,QAAQ;AACb,SAAK,cAAc;AACnB,SAAK,UAAU;AACf,SAAK,eAAe;AAAA,EACtB;AAAA,EAEA,IAAI,OAAa;AACf,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,aAAqB;AACvB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,SAA4B;AAC9B,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,gBAAsB;AACxB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,6BAAsC;AACxC,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAKA,WAAwB;AACtB,QAAI,OAAO,KAAK;AAEhB,QAAI,KAAK,sBAAsB;AAC7B,WAAK,uBAAuB;AAC5B,UAAI,KAAK,YAAY,IAAI,GAAG;AAC1B,eAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO,MAAM;AACX,YAAM,aAAc,KAAa;AACjC,UAAI,YAAY;AACd,eAAO;AACP,YAAI,KAAK,YAAY,IAAI,GAAG;AAC1B,eAAK,eAAe;AACpB,iBAAO;AAAA,QACT;AACA;AAAA,MACF;AAEA,aAAO,QAAQ,CAAE,KAAa,aAAa;AACzC,eAAQ,KAAa;AACrB,YAAI,CAAC,QAAQ,SAAU,KAAK,MAAc,YAAY;AACpD,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,UAAI,CAAC,MAAM;AACT,eAAO;AAAA,MACT;AAEA,aAAQ,KAAa;AACrB,UAAI,KAAK,YAAY,IAAI,GAAG;AAC1B,aAAK,eAAe;AACpB,eAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,eAA4B;AAC1B,QAAI,OAAO,KAAK;AAEhB,QAAI,CAAC,KAAK,sBAAsB;AAC9B,WAAK,uBAAuB;AAC5B,UAAI,KAAK,YAAY,IAAI,GAAG;AAC1B,eAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO,QAAQ,SAAS,KAAK,OAAO;AAClC,YAAM,cAAe,KAAa;AAClC,UAAI,aAAa;AACf,eAAO;AACP,eAAQ,KAAa,WAAW;AAC9B,iBAAQ,KAAa;AAAA,QACvB;AAEA,YAAI,KAAK,YAAY,IAAI,GAAG;AAC1B,eAAK,eAAe;AACpB,iBAAO;AAAA,QACT;AACA;AAAA,MACF;AAEA,aAAQ,KAAa;AACrB,UAAI,CAAC,QAAQ,SAAU,KAAK,MAAc,YAAY;AACpD,eAAO;AAAA,MACT;AAEA,UAAI,KAAK,YAAY,IAAI,GAAG;AAC1B,aAAK,eAAe;AACpB,eAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,SAAe;AAAA,EAAC;AAAA,EAER,YAAY,MAA4B;AAC9C,QAAI,CAAC,MAAM;AACT,aAAO;AAAA,IACT;AAEA,UAAM,eAAe,KAAM,KAAK,WAAW;AAC3C,QAAI,EAAE,KAAK,cAAc,eAAe;AACtC,aAAO;AAAA,IACT;AAEA,QAAI,KAAK,SAAS;AAChB,YAAM,SAAU,gBAAgB,KAAK,UAAW,KAAK,QAAQ,WAAW,IAAI,IAAI,KAAK,QAAQ,IAAI;AACjG,aAAO,WAAW,WAAW;AAAA,IAC/B;AAEA,WAAO;AAAA,EACT;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,16 +1 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from === "object" || typeof from === "function") {
7
- for (let key of __getOwnPropNames(from))
8
- if (!__hasOwnProp.call(to, key) && key !== except)
9
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
- }
11
- return to;
12
- };
13
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
- var ParentNode_exports = {};
15
- module.exports = __toCommonJS(ParentNode_exports);
16
1
  //# sourceMappingURL=ParentNode.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/node/ParentNode.ts"],
4
- "sourcesContent": ["import { Node } from './Node';\nimport { NodeListOf } from './collection/NodeListOf';\nimport { HTMLCollection } from './collection/HTMLCollection';\nimport { Element } from './elements/Element';\nimport {HTMLElementDeprecatedTagNameMap, HTMLElementTagNameMap, MathMLElementTagNameMap, SVGElementTagNameMap} from \"./elements\";\n\n/**\n * The **`ParentNode`** interface contains methods and properties that are common to all types of Node objects that can have children.\n * \n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ParentNode)\n */\nexport interface ParentNode extends Node {\n /**\n * Returns the number of child elements of this ParentNode.\n * \n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/childElementCount)\n */\n readonly childElementCount: number;\n\n /**\n * Returns the child elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/children)\n */\n readonly children: HTMLCollection;\n\n /**\n * Returns the first child that is an element, and null otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/firstElementChild)\n */\n readonly firstElementChild: Element | null;\n\n /**\n * Returns the last child that is an element, and null otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/lastElementChild)\n */\n readonly lastElementChild: Element | null;\n\n /**\n * Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes.\n *\n * Throws a \"HierarchyRequestError\" DOMException if the constraints of the node tree are violated.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/append)\n */\n append(...nodes: (Node | string)[]): void;\n\n /**\n * Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes.\n *\n * Throws a \"HierarchyRequestError\" DOMException if the constraints of the node tree are violated.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/prepend)\n */\n prepend(...nodes: (Node | string)[]): void;\n\n /**\n * Returns the first element that is a descendant of node that matches selectors.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/querySelector)\n */\n querySelector<K extends keyof HTMLElementTagNameMap>(selectors: K): HTMLElementTagNameMap[K] | null;\n querySelector<K extends keyof SVGElementTagNameMap>(selectors: K): SVGElementTagNameMap[K] | null;\n querySelector<K extends keyof MathMLElementTagNameMap>(selectors: K): MathMLElementTagNameMap[K] | null;\n /** @deprecated */\n querySelector<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): HTMLElementDeprecatedTagNameMap[K] | null;\n querySelector<E extends Element = Element>(selectors: string): E | null;\n querySelector(selectors: string): Element | null;\n\n /**\n * Returns all element descendants of node that match selectors.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/querySelectorAll)\n */\n querySelectorAll<K extends keyof HTMLElementTagNameMap>(selectors: K): NodeListOf<HTMLElementTagNameMap[K]>;\n querySelectorAll<K extends keyof SVGElementTagNameMap>(selectors: K): NodeListOf<SVGElementTagNameMap[K]>;\n querySelectorAll<K extends keyof MathMLElementTagNameMap>(selectors: K): NodeListOf<MathMLElementTagNameMap[K]>;\n /** @deprecated */\n querySelectorAll<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): NodeListOf<HTMLElementDeprecatedTagNameMap[K]>;\n querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E>;\n querySelectorAll(selectors: string): NodeListOf<Element>;\n\n /**\n * Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes.\n *\n * Throws a \"HierarchyRequestError\" DOMException if the constraints of the node tree are violated.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/replaceChildren)\n */\n replaceChildren(...nodes: (Node | string)[]): void;\n}"],
5
- "mappings": ";;;;;;;;;;;;;AAAA;AAAA;",
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
6
  "names": []
7
7
  }
@@ -21,9 +21,9 @@ __export(ParentNodeBase_exports, {
21
21
  });
22
22
  module.exports = __toCommonJS(ParentNodeBase_exports);
23
23
  var import_ChildNodeBase = require("./ChildNodeBase");
24
- var import_HTMLCollection = require("./collection/HTMLCollection");
25
- var import_NodeListOf = require("./collection/NodeListOf");
26
- var import_Node2 = require("./Node");
24
+ var import_HTMLCollectionImp = require("./collection/HTMLCollectionImp");
25
+ var import_NodeListOfImp = require("./collection/NodeListOfImp");
26
+ var import_Node = require("./Node");
27
27
  var import_TextBase = require("./TextBase");
28
28
  var import_CSSSelector = require("../utils/CSSSelector");
29
29
  class ParentNodeBase extends import_ChildNodeBase.ChildNodeBase {
@@ -31,7 +31,7 @@ class ParentNodeBase extends import_ChildNodeBase.ChildNodeBase {
31
31
  get childElementCount() {
32
32
  let count = 0;
33
33
  for (const child of this._childNodesInternal) {
34
- if (child && child.nodeType === import_Node2.ELEMENT_NODE) {
34
+ if (child && child.nodeType === import_Node.ELEMENT_NODE) {
35
35
  count++;
36
36
  }
37
37
  }
@@ -40,15 +40,15 @@ class ParentNodeBase extends import_ChildNodeBase.ChildNodeBase {
40
40
  get children() {
41
41
  const elements = [];
42
42
  for (const child of this._childNodesInternal) {
43
- if (child && child.nodeType === import_Node2.ELEMENT_NODE) {
43
+ if (child && child.nodeType === import_Node.ELEMENT_NODE) {
44
44
  elements.push(child);
45
45
  }
46
46
  }
47
- return new import_HTMLCollection.HTMLCollection(elements);
47
+ return new import_HTMLCollectionImp.HTMLCollectionImp(elements);
48
48
  }
49
49
  get firstElementChild() {
50
50
  for (const child of this._childNodesInternal) {
51
- if (child && child.nodeType === import_Node2.ELEMENT_NODE) {
51
+ if (child && child.nodeType === import_Node.ELEMENT_NODE) {
52
52
  return child;
53
53
  }
54
54
  }
@@ -57,7 +57,7 @@ class ParentNodeBase extends import_ChildNodeBase.ChildNodeBase {
57
57
  get lastElementChild() {
58
58
  for (let i = this._childNodesInternal.length - 1; i >= 0; i--) {
59
59
  const child = this._childNodesInternal[i];
60
- if (child && child.nodeType === import_Node2.ELEMENT_NODE) {
60
+ if (child && child.nodeType === import_Node.ELEMENT_NODE) {
61
61
  return child;
62
62
  }
63
63
  }
@@ -114,12 +114,12 @@ class ParentNodeBase extends import_ChildNodeBase.ChildNodeBase {
114
114
  uniqueResults.push(element);
115
115
  }
116
116
  }
117
- return new import_NodeListOf.NodeListOf(uniqueResults);
117
+ return new import_NodeListOfImp.NodeListOfImp(uniqueResults);
118
118
  }
119
119
  // Private helper methods for querySelector
120
120
  _querySelectorAllRecursive(selectors, results) {
121
121
  for (const child of this._childNodesInternal) {
122
- if (child && child.nodeType === import_Node2.ELEMENT_NODE) {
122
+ if (child && child.nodeType === import_Node.ELEMENT_NODE) {
123
123
  const element = child;
124
124
  if (import_CSSSelector.CSSSelector.matches(element, selectors)) {
125
125
  results.push(element);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/node/ParentNodeBase.ts"],
4
- "sourcesContent": ["import { Node } from './Node';\nimport { ChildNodeBase } from './ChildNodeBase';\nimport { ParentNode } from './ParentNode';\nimport { Element } from './elements/Element';\nimport { HTMLCollection } from './collection/HTMLCollection';\nimport { NodeListOf } from './collection/NodeListOf';\nimport { ELEMENT_NODE, TEXT_NODE } from './Node';\nimport { TextBase } from './TextBase';\nimport { CSSSelector } from '../utils/CSSSelector';\n\n/**\n * Base implementation of the ParentNode interface\n */\nexport abstract class ParentNodeBase extends ChildNodeBase implements ParentNode {\n\n // ParentNode interface implementation\n get childElementCount(): number {\n let count = 0;\n for (const child of this._childNodesInternal) {\n if (child && child.nodeType === ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n }\n\n get children(): HTMLCollection {\n const elements: Element[] = [];\n for (const child of this._childNodesInternal) {\n if (child && child.nodeType === ELEMENT_NODE) {\n elements.push(child as unknown as Element);\n }\n }\n return new HTMLCollection(elements);\n }\n\n get firstElementChild(): Element | null {\n for (const child of this._childNodesInternal) {\n if (child && child.nodeType === ELEMENT_NODE) {\n return child as unknown as Element;\n }\n }\n return null;\n }\n\n get lastElementChild(): Element | null {\n for (let i = this._childNodesInternal.length - 1; i >= 0; i--) {\n const child = this._childNodesInternal[i];\n if (child && child.nodeType === ELEMENT_NODE) {\n return child as unknown as Element;\n }\n }\n return null;\n }\n\n append(...nodes: (Node | string)[]): void {\n for (const node of nodes) {\n if (typeof node === 'string') {\n const textNode = new TextBase(node, this._ownerDocument);\n this.appendChild(textNode);\n } else {\n this.appendChild(node);\n }\n }\n }\n\n prepend(...nodes: (Node | string)[]): void {\n const firstChild = this.firstChild;\n for (const node of nodes) {\n if (typeof node === 'string') {\n const textNode = new TextBase(node, this._ownerDocument);\n this.insertBefore(textNode, firstChild);\n } else {\n this.insertBefore(node, firstChild);\n }\n }\n }\n\n replaceChildren(...nodes: (Node | string)[]): void {\n // Remove all existing children\n while (this._childNodesInternal.length > 0) {\n const child = this._childNodesInternal[0];\n if (child) {\n this.removeChild(child);\n }\n }\n\n // Add new nodes\n this.append(...nodes);\n }\n\n // Query selector implementation\n querySelector<E extends Element>(selectors: string): E | null {\n const elements = this.querySelectorAll(selectors);\n return elements.length > 0 ? elements.item(0) as E: null;\n }\n\n querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E> {\n const results: E[] = [];\n \n // Split selectors by comma and process each one\n const selectorList = selectors.split(',').map(s => s.trim());\n \n for (const selector of selectorList) {\n if (selector) {\n this._querySelectorAllRecursive(selector, results);\n }\n }\n \n // Remove duplicates while preserving order\n const uniqueResults: E[] = [];\n const seen = new Set();\n for (const element of results) {\n if (!seen.has(element)) {\n seen.add(element);\n uniqueResults.push(element);\n }\n }\n \n return new NodeListOf<E>(uniqueResults);\n }\n\n // Private helper methods for querySelector\n private _querySelectorAllRecursive(selectors: string, results: Element[]): void {\n for (const child of this._childNodesInternal) {\n if (child && child.nodeType === ELEMENT_NODE) {\n const element = child as unknown as Element;\n\n // Check if this element matches the selector\n if (CSSSelector.matches(element, selectors)) {\n results.push(element);\n }\n\n // Recursively search in child elements\n if (child instanceof ParentNodeBase) {\n child._querySelectorAllRecursive(selectors, results);\n }\n }\n }\n }\n\n\n}\n\n// TextNode is now in a separate file"],
5
- "mappings": "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",
6
- "names": ["import_Node"]
4
+ "sourcesContent": ["import { ChildNodeBase } from './ChildNodeBase';\nimport { HTMLCollectionImp } from './collection/HTMLCollectionImp';\nimport { NodeListOfImp } from './collection/NodeListOfImp';\nimport { ELEMENT_NODE, TEXT_NODE } from './Node';\nimport { TextBase } from './TextBase';\nimport { CSSSelector } from '../utils/CSSSelector';\n\n/**\n * Base implementation of the ParentNode interface\n */\nexport abstract class ParentNodeBase extends ChildNodeBase implements ParentNode {\n\n // ParentNode interface implementation\n get childElementCount(): number {\n let count = 0;\n for (const child of this._childNodesInternal) {\n if (child && child.nodeType === ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n }\n\n get children(): HTMLCollection {\n const elements: Element[] = [];\n for (const child of this._childNodesInternal) {\n if (child && child.nodeType === ELEMENT_NODE) {\n elements.push(child as unknown as Element);\n }\n }\n return new HTMLCollectionImp(elements) as unknown as HTMLCollection;\n }\n\n get firstElementChild(): Element | null {\n for (const child of this._childNodesInternal) {\n if (child && child.nodeType === ELEMENT_NODE) {\n return child as unknown as Element;\n }\n }\n return null;\n }\n\n get lastElementChild(): Element | null {\n for (let i = this._childNodesInternal.length - 1; i >= 0; i--) {\n const child = this._childNodesInternal[i];\n if (child && child.nodeType === ELEMENT_NODE) {\n return child as unknown as Element;\n }\n }\n return null;\n }\n\n append(...nodes: (Node | string)[]): void {\n for (const node of nodes) {\n if (typeof node === 'string') {\n const textNode = new TextBase(node, this._ownerDocument);\n this.appendChild(textNode as unknown as Node);\n } else {\n this.appendChild(node);\n }\n }\n }\n\n prepend(...nodes: (Node | string)[]): void {\n const firstChild = this.firstChild;\n for (const node of nodes) {\n if (typeof node === 'string') {\n const textNode = new TextBase(node, this._ownerDocument);\n this.insertBefore(textNode as unknown as Node, firstChild);\n } else {\n this.insertBefore(node, firstChild);\n }\n }\n }\n\n replaceChildren(...nodes: (Node | string)[]): void {\n // Remove all existing children\n while (this._childNodesInternal.length > 0) {\n const child = this._childNodesInternal[0];\n if (child) {\n this.removeChild(child as unknown as Node);\n }\n }\n\n // Add new nodes\n this.append(...nodes);\n }\n\n // Query selector implementation\n querySelector<E extends Element>(selectors: string): E | null {\n const elements = this.querySelectorAll(selectors);\n return elements.length > 0 ? elements.item(0) as E: null;\n }\n\n querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E> {\n const results: E[] = [];\n \n // Split selectors by comma and process each one\n const selectorList = selectors.split(',').map(s => s.trim());\n \n for (const selector of selectorList) {\n if (selector) {\n this._querySelectorAllRecursive(selector, results);\n }\n }\n \n // Remove duplicates while preserving order\n const uniqueResults: E[] = [];\n const seen = new Set();\n for (const element of results) {\n if (!seen.has(element)) {\n seen.add(element);\n uniqueResults.push(element);\n }\n }\n \n return new NodeListOfImp<E>(uniqueResults) as unknown as NodeListOf<E>;\n }\n\n // Private helper methods for querySelector\n private _querySelectorAllRecursive(selectors: string, results: Element[]): void {\n for (const child of this._childNodesInternal) {\n if (child && child.nodeType === ELEMENT_NODE) {\n const element = child as unknown as Element;\n\n // Check if this element matches the selector\n if (CSSSelector.matches(element, selectors)) {\n results.push(element);\n }\n\n // Recursively search in child elements\n if (child instanceof ParentNodeBase) {\n child._querySelectorAllRecursive(selectors, results);\n }\n }\n }\n }\n\n\n}\n\n// TextNode is now in a separate file"],
5
+ "mappings": "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",
6
+ "names": []
7
7
  }
@@ -0,0 +1,79 @@
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 ShadowRootBase_exports = {};
19
+ __export(ShadowRootBase_exports, {
20
+ ShadowRootBase: () => ShadowRootBase
21
+ });
22
+ module.exports = __toCommonJS(ShadowRootBase_exports);
23
+ var import_DocumentFragmentBase = require("./DocumentFragmentBase");
24
+ class ShadowRootBase extends import_DocumentFragmentBase.DocumentFragmentBase {
25
+ constructor(host, init, ownerDocument) {
26
+ super(ownerDocument);
27
+ this._host = host;
28
+ this.mode = init.mode;
29
+ this.delegatesFocus = init.delegatesFocus || false;
30
+ this.slotAssignment = init.slotAssignment || "manual";
31
+ this.nodeName = "#shadow-root";
32
+ }
33
+ getHTML(options) {
34
+ throw new Error("Method not implemented.");
35
+ }
36
+ setHTMLUnsafe(html) {
37
+ throw new Error("Method not implemented.");
38
+ }
39
+ elementFromPoint(x, y) {
40
+ throw new Error("Method not implemented.");
41
+ }
42
+ elementsFromPoint(x, y) {
43
+ throw new Error("Method not implemented.");
44
+ }
45
+ getAnimations() {
46
+ throw new Error("Method not implemented.");
47
+ }
48
+ get host() {
49
+ return this._host;
50
+ }
51
+ /**
52
+ * innerHTML for ShadowRoot
53
+ */
54
+ get innerHTML() {
55
+ let html = "";
56
+ for (const child of this._childNodesInternal) {
57
+ if (child.nodeType === 3) {
58
+ html += child._nodeValue || "";
59
+ } else if (child.nodeType === 1) {
60
+ html += this._host.generateChildElementHTML(child);
61
+ } else if (child.nodeType === 8) {
62
+ html += `<!--${child.textContent || ""}-->`;
63
+ }
64
+ }
65
+ return html;
66
+ }
67
+ set innerHTML(value) {
68
+ while (this._childNodesInternal.length > 0) {
69
+ const child = this._childNodesInternal[0];
70
+ if (child) {
71
+ this.removeChild(child);
72
+ }
73
+ }
74
+ if (value.trim()) {
75
+ this._host.parseAndAppendHTML(value, this);
76
+ }
77
+ }
78
+ }
79
+ //# sourceMappingURL=ShadowRootBase.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/node/ShadowRootBase.ts"],
4
+ "sourcesContent": ["import { DocumentFragmentBase } from './DocumentFragmentBase';\n\n/**\n * The **`ShadowRoot`** interface represents the root node of a shadow DOM subtree.\n */\n// @ts-ignore\nexport class ShadowRootBase extends DocumentFragmentBase implements ShadowRoot {\n public readonly delegatesFocus: boolean;\n public readonly mode: ShadowRootMode;\n public readonly slotAssignment: SlotAssignmentMode;\n private _host: Element;\n\n constructor(host: Element, init: { mode: ShadowRootMode; delegatesFocus?: boolean; slotAssignment?: SlotAssignmentMode }, ownerDocument?: Document) {\n super(ownerDocument);\n this._host = host;\n this.mode = init.mode;\n this.delegatesFocus = init.delegatesFocus || false;\n this.slotAssignment = init.slotAssignment || 'manual';\n\n // Set nodeName to '#shadow-root'\n (this as any).nodeName = '#shadow-root';\n }\n\n clonable: boolean;\n onslotchange: (this: ShadowRoot, ev: Event) => any;\n serializable: boolean;\n getHTML(options?: GetHTMLOptions): string {\n throw new Error(\"Method not implemented.\");\n }\n setHTMLUnsafe(html: string): void {\n throw new Error(\"Method not implemented.\");\n }\n activeElement: Element;\n adoptedStyleSheets: CSSStyleSheet[];\n fullscreenElement: Element;\n pictureInPictureElement: Element;\n pointerLockElement: Element;\n styleSheets: StyleSheetList;\n elementFromPoint(x: number, y: number): Element | null {\n throw new Error(\"Method not implemented.\");\n }\n elementsFromPoint(x: number, y: number): Element[] {\n throw new Error(\"Method not implemented.\");\n }\n getAnimations(): Animation[] {\n throw new Error(\"Method not implemented.\");\n }\n\n get host(): Element {\n return this._host;\n }\n\n /**\n * innerHTML for ShadowRoot\n */\n get innerHTML(): string {\n let html = '';\n for (const child of this._childNodesInternal) {\n if ((child as any).nodeType === 3) {\n // TEXT_NODE\n html += (child as any)._nodeValue || '';\n } else if ((child as any).nodeType === 1) {\n // ELEMENT_NODE\n html += (this._host as any).generateChildElementHTML(child as any);\n } else if ((child as any).nodeType === 8) {\n // COMMENT_NODE\n html += `<!--${(child as any).textContent || ''}-->`;\n }\n }\n return html;\n }\n\n set innerHTML(value: string) {\n // Clear existing children\n while (this._childNodesInternal.length > 0) {\n const child = this._childNodesInternal[0];\n if (child) {\n this.removeChild(child as unknown as Node);\n }\n }\n\n // Parse HTML and create child nodes\n if (value.trim()) {\n (this._host as any).parseAndAppendHTML(value, this);\n }\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kCAAqC;AAM9B,MAAM,uBAAuB,iDAA2C;AAAA,EAM7E,YAAY,MAAe,MAA+F,eAA0B;AAClJ,UAAM,aAAa;AACnB,SAAK,QAAQ;AACb,SAAK,OAAO,KAAK;AACjB,SAAK,iBAAiB,KAAK,kBAAkB;AAC7C,SAAK,iBAAiB,KAAK,kBAAkB;AAG7C,IAAC,KAAa,WAAW;AAAA,EAC3B;AAAA,EAKE,QAAQ,SAAkC;AACtC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC7C;AAAA,EACA,cAAc,MAAoB;AAC9B,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC7C;AAAA,EAOA,iBAAiB,GAAW,GAA2B;AACnD,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC7C;AAAA,EACA,kBAAkB,GAAW,GAAsB;AAC/C,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC7C;AAAA,EACA,gBAA6B;AACzB,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC7C;AAAA,EAEF,IAAI,OAAgB;AAClB,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,YAAoB;AACtB,QAAI,OAAO;AACX,eAAW,SAAS,KAAK,qBAAqB;AAC5C,UAAK,MAAc,aAAa,GAAG;AAEjC,gBAAS,MAAc,cAAc;AAAA,MACvC,WAAY,MAAc,aAAa,GAAG;AAExC,gBAAS,KAAK,MAAc,yBAAyB,KAAY;AAAA,MACnE,WAAY,MAAc,aAAa,GAAG;AAExC,gBAAQ,OAAQ,MAAc,eAAe,EAAE;AAAA,MACjD;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,UAAU,OAAe;AAE3B,WAAO,KAAK,oBAAoB,SAAS,GAAG;AAC1C,YAAM,QAAQ,KAAK,oBAAoB,CAAC;AACxC,UAAI,OAAO;AACT,aAAK,YAAY,KAAwB;AAAA,MAC3C;AAAA,IACF;AAGA,QAAI,MAAM,KAAK,GAAG;AAChB,MAAC,KAAK,MAAc,mBAAmB,OAAO,IAAI;AAAA,IACpD;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -1,16 +1 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from === "object" || typeof from === "function") {
7
- for (let key of __getOwnPropNames(from))
8
- if (!__hasOwnProp.call(to, key) && key !== except)
9
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
- }
11
- return to;
12
- };
13
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
- var Text_exports = {};
15
- module.exports = __toCommonJS(Text_exports);
16
1
  //# sourceMappingURL=Text.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/node/Text.ts"],
4
- "sourcesContent": ["import { CharacterData } from './CharacterData';\nimport { ChildNode } from './ChildNode';\nimport {TEXT_NODE} from \"./Node\";\n\n/**\n * The **`Text`** interface represents a text node in the DOM.\n * \n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Text)\n */\nexport interface Text extends CharacterData, ChildNode {\n readonly nodeType: typeof TEXT_NODE; // TEXT_NODE\n readonly nodeName: '#text';\n \n /**\n * The **`Text.splitText()`** method breaks the Text node into two nodes at the specified offset, keeping both nodes in the tree as siblings.\n * \n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Text/splitText)\n */\n splitText(offset: number): Text;\n \n /**\n * The **`Text.wholeText`** read-only property returns the full text of all Text nodes logically adjacent to the node.\n * \n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Text/wholeText)\n */\n readonly wholeText: string;\n}\n\n// Note: TextBase is the implementation class for this interface\n\n"],
5
- "mappings": ";;;;;;;;;;;;;AAAA;AAAA;",
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
6
  "names": []
7
7
  }
@@ -25,9 +25,6 @@ var import_Node = require("./Node");
25
25
  class TextBase extends import_ChildNodeBase.ChildNodeBase {
26
26
  constructor(data, ownerDocument) {
27
27
  super(import_Node.TEXT_NODE, "#text", ownerDocument);
28
- // Override nodeType to match Text interface
29
- this.nodeType = import_Node.TEXT_NODE;
30
- this.nodeName = "#text";
31
28
  this._data = data;
32
29
  this._nodeValue = data;
33
30
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/node/TextBase.ts"],
4
- "sourcesContent": ["import { ChildNodeBase } from './ChildNodeBase';\nimport { TEXT_NODE } from './Node';\nimport { Text } from './Text';\n\n/**\n * The **`TextBase`** class represents a text node implementation in the DOM.\n */\nexport class TextBase extends ChildNodeBase implements Text {\n private _data: string;\n \n // Override nodeType to match Text interface\n readonly nodeType: 3 = TEXT_NODE as 3;\n readonly nodeName: '#text' = '#text';\n\n constructor(data: string, ownerDocument?: any) {\n super(TEXT_NODE, '#text', ownerDocument);\n this._data = data;\n this._nodeValue = data;\n }\n\n get data(): string {\n return this._data;\n }\n\n set data(value: string) {\n this._data = value;\n this._nodeValue = value;\n }\n\n get length(): number {\n return this._data.length;\n }\n\n get textContent(): string | null {\n // Decode HTML entities to return original text\n return this._data ? this.decodeHTMLEntities(this._data) : this._data;\n }\n\n set textContent(value: string | null) {\n this._data = value || '';\n this._nodeValue = this._data;\n }\n\n get wholeText(): string {\n // For now, just return the current text\n // In a full implementation, this would collect adjacent text nodes\n return this._data;\n }\n\n // CharacterData methods\n appendData(data: string): void {\n this._data += data;\n this._nodeValue = this._data;\n }\n\n deleteData(offset: number, count: number): void {\n if (offset < 0 || offset > this._data.length) {\n throw new Error('Index out of bounds');\n }\n const endOffset = Math.min(offset + count, this._data.length);\n this._data = this._data.slice(0, offset) + this._data.slice(endOffset);\n this._nodeValue = this._data;\n }\n\n insertData(offset: number, data: string): void {\n if (offset < 0 || offset > this._data.length) {\n throw new Error('Index out of bounds');\n }\n this._data = this._data.slice(0, offset) + data + this._data.slice(offset);\n this._nodeValue = this._data;\n }\n\n replaceData(offset: number, count: number, data: string): void {\n this.deleteData(offset, count);\n this.insertData(offset, data);\n }\n\n substringData(offset: number, count: number): string {\n if (offset < 0 || offset > this._data.length) {\n throw new Error('Index out of bounds');\n }\n const endOffset = Math.min(offset + count, this._data.length);\n return this._data.slice(offset, endOffset);\n }\n\n splitText(offset: number): Text {\n if (offset < 0 || offset > this._data.length) {\n throw new Error('Index out of bounds');\n }\n\n const newData = this._data.slice(offset);\n this._data = this._data.slice(0, offset);\n this._nodeValue = this._data;\n\n const newTextNode = new TextBase(newData, this._ownerDocument);\n\n // Insert the new text node after this one\n if (this._parentNodeInternal) {\n const nextSibling = this.nextSibling;\n this._parentNodeInternal.insertBefore(newTextNode, nextSibling);\n }\n\n return newTextNode as Text;\n }\n\n cloneNode(deep?: boolean): Text {\n return new TextBase(this._data, this._ownerDocument) as Text;\n }\n\n toString(): string {\n return this._data;\n }\n}"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAA8B;AAC9B,kBAA0B;AAMnB,MAAM,iBAAiB,mCAA8B;AAAA,EAOxD,YAAY,MAAc,eAAqB;AAC3C,UAAM,uBAAW,SAAS,aAAa;AAJ3C;AAAA,SAAS,WAAc;AACvB,SAAS,WAAoB;AAIzB,SAAK,QAAQ;AACb,SAAK,aAAa;AAAA,EACtB;AAAA,EAEA,IAAI,OAAe;AACf,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,KAAK,OAAe;AACpB,SAAK,QAAQ;AACb,SAAK,aAAa;AAAA,EACtB;AAAA,EAEA,IAAI,SAAiB;AACjB,WAAO,KAAK,MAAM;AAAA,EACtB;AAAA,EAEA,IAAI,cAA6B;AAE7B,WAAO,KAAK,QAAQ,KAAK,mBAAmB,KAAK,KAAK,IAAI,KAAK;AAAA,EACnE;AAAA,EAEA,IAAI,YAAY,OAAsB;AAClC,SAAK,QAAQ,SAAS;AACtB,SAAK,aAAa,KAAK;AAAA,EAC3B;AAAA,EAEA,IAAI,YAAoB;AAGpB,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA,EAGA,WAAW,MAAoB;AAC3B,SAAK,SAAS;AACd,SAAK,aAAa,KAAK;AAAA,EAC3B;AAAA,EAEA,WAAW,QAAgB,OAAqB;AAC5C,QAAI,SAAS,KAAK,SAAS,KAAK,MAAM,QAAQ;AAC1C,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACzC;AACA,UAAM,YAAY,KAAK,IAAI,SAAS,OAAO,KAAK,MAAM,MAAM;AAC5D,SAAK,QAAQ,KAAK,MAAM,MAAM,GAAG,MAAM,IAAI,KAAK,MAAM,MAAM,SAAS;AACrE,SAAK,aAAa,KAAK;AAAA,EAC3B;AAAA,EAEA,WAAW,QAAgB,MAAoB;AAC3C,QAAI,SAAS,KAAK,SAAS,KAAK,MAAM,QAAQ;AAC1C,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACzC;AACA,SAAK,QAAQ,KAAK,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,KAAK,MAAM,MAAM,MAAM;AACzE,SAAK,aAAa,KAAK;AAAA,EAC3B;AAAA,EAEA,YAAY,QAAgB,OAAe,MAAoB;AAC3D,SAAK,WAAW,QAAQ,KAAK;AAC7B,SAAK,WAAW,QAAQ,IAAI;AAAA,EAChC;AAAA,EAEA,cAAc,QAAgB,OAAuB;AACjD,QAAI,SAAS,KAAK,SAAS,KAAK,MAAM,QAAQ;AAC1C,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACzC;AACA,UAAM,YAAY,KAAK,IAAI,SAAS,OAAO,KAAK,MAAM,MAAM;AAC5D,WAAO,KAAK,MAAM,MAAM,QAAQ,SAAS;AAAA,EAC7C;AAAA,EAEA,UAAU,QAAsB;AAC5B,QAAI,SAAS,KAAK,SAAS,KAAK,MAAM,QAAQ;AAC1C,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACzC;AAEA,UAAM,UAAU,KAAK,MAAM,MAAM,MAAM;AACvC,SAAK,QAAQ,KAAK,MAAM,MAAM,GAAG,MAAM;AACvC,SAAK,aAAa,KAAK;AAEvB,UAAM,cAAc,IAAI,SAAS,SAAS,KAAK,cAAc;AAG7D,QAAI,KAAK,qBAAqB;AAC1B,YAAM,cAAc,KAAK;AACzB,WAAK,oBAAoB,aAAa,aAAa,WAAW;AAAA,IAClE;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,UAAU,MAAsB;AAC5B,WAAO,IAAI,SAAS,KAAK,OAAO,KAAK,cAAc;AAAA,EACvD;AAAA,EAEA,WAAmB;AACf,WAAO,KAAK;AAAA,EAChB;AACJ;",
4
+ "sourcesContent": ["import { ChildNodeBase } from './ChildNodeBase';\nimport { TEXT_NODE } from './Node';\n\n/**\n * The **`TextBase`** class represents a text node implementation in the DOM.\n */\nexport class TextBase extends ChildNodeBase implements Text {\n private _data: string;\n\n declare nodeType: 3;\n declare nodeName: '#text';\n\n constructor(data: string, ownerDocument?: any) {\n super(TEXT_NODE, '#text', ownerDocument);\n this._data = data;\n this._nodeValue = data;\n }\n\n get data(): string {\n return this._data;\n }\n\n set data(value: string) {\n this._data = value;\n this._nodeValue = value;\n }\n\n get length(): number {\n return this._data.length;\n }\n\n get textContent(): string | null {\n // Decode HTML entities to return original text\n return this._data ? this.decodeHTMLEntities(this._data) : this._data;\n }\n\n set textContent(value: string | null) {\n this._data = value || '';\n this._nodeValue = this._data;\n }\n\n get wholeText(): string {\n // For now, just return the current text\n // In a full implementation, this would collect adjacent text nodes\n return this._data;\n }\n\n // CharacterData methods\n appendData(data: string): void {\n this._data += data;\n this._nodeValue = this._data;\n }\n\n deleteData(offset: number, count: number): void {\n if (offset < 0 || offset > this._data.length) {\n throw new Error('Index out of bounds');\n }\n const endOffset = Math.min(offset + count, this._data.length);\n this._data = this._data.slice(0, offset) + this._data.slice(endOffset);\n this._nodeValue = this._data;\n }\n\n insertData(offset: number, data: string): void {\n if (offset < 0 || offset > this._data.length) {\n throw new Error('Index out of bounds');\n }\n this._data = this._data.slice(0, offset) + data + this._data.slice(offset);\n this._nodeValue = this._data;\n }\n\n replaceData(offset: number, count: number, data: string): void {\n this.deleteData(offset, count);\n this.insertData(offset, data);\n }\n\n substringData(offset: number, count: number): string {\n if (offset < 0 || offset > this._data.length) {\n throw new Error('Index out of bounds');\n }\n const endOffset = Math.min(offset + count, this._data.length);\n return this._data.slice(offset, endOffset);\n }\n\n splitText(offset: number): Text {\n if (offset < 0 || offset > this._data.length) {\n throw new Error('Index out of bounds');\n }\n\n const newData = this._data.slice(offset);\n this._data = this._data.slice(0, offset);\n this._nodeValue = this._data;\n\n const newTextNode = new TextBase(newData, this._ownerDocument);\n\n // Insert the new text node after this one\n if (this._parentNodeInternal) {\n const nextSibling = this.nextSibling;\n this._parentNodeInternal.insertBefore(newTextNode, nextSibling);\n }\n\n return newTextNode as Text;\n }\n\n cloneNode(deep?: boolean): Text {\n return new TextBase(this._data, this._ownerDocument) as Text;\n }\n\n toString(): string {\n return this._data;\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAA8B;AAC9B,kBAA0B;AAKnB,MAAM,iBAAiB,mCAA8B;AAAA,EAM1D,YAAY,MAAc,eAAqB;AAC7C,UAAM,uBAAW,SAAS,aAAa;AACvC,SAAK,QAAQ;AACb,SAAK,aAAa;AAAA,EACpB;AAAA,EAEA,IAAI,OAAe;AACjB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,KAAK,OAAe;AACtB,SAAK,QAAQ;AACb,SAAK,aAAa;AAAA,EACpB;AAAA,EAEA,IAAI,SAAiB;AACnB,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAEA,IAAI,cAA6B;AAE/B,WAAO,KAAK,QAAQ,KAAK,mBAAmB,KAAK,KAAK,IAAI,KAAK;AAAA,EACjE;AAAA,EAEA,IAAI,YAAY,OAAsB;AACpC,SAAK,QAAQ,SAAS;AACtB,SAAK,aAAa,KAAK;AAAA,EACzB;AAAA,EAEA,IAAI,YAAoB;AAGtB,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGA,WAAW,MAAoB;AAC7B,SAAK,SAAS;AACd,SAAK,aAAa,KAAK;AAAA,EACzB;AAAA,EAEA,WAAW,QAAgB,OAAqB;AAC9C,QAAI,SAAS,KAAK,SAAS,KAAK,MAAM,QAAQ;AAC5C,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACvC;AACA,UAAM,YAAY,KAAK,IAAI,SAAS,OAAO,KAAK,MAAM,MAAM;AAC5D,SAAK,QAAQ,KAAK,MAAM,MAAM,GAAG,MAAM,IAAI,KAAK,MAAM,MAAM,SAAS;AACrE,SAAK,aAAa,KAAK;AAAA,EACzB;AAAA,EAEA,WAAW,QAAgB,MAAoB;AAC7C,QAAI,SAAS,KAAK,SAAS,KAAK,MAAM,QAAQ;AAC5C,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACvC;AACA,SAAK,QAAQ,KAAK,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,KAAK,MAAM,MAAM,MAAM;AACzE,SAAK,aAAa,KAAK;AAAA,EACzB;AAAA,EAEA,YAAY,QAAgB,OAAe,MAAoB;AAC7D,SAAK,WAAW,QAAQ,KAAK;AAC7B,SAAK,WAAW,QAAQ,IAAI;AAAA,EAC9B;AAAA,EAEA,cAAc,QAAgB,OAAuB;AACnD,QAAI,SAAS,KAAK,SAAS,KAAK,MAAM,QAAQ;AAC5C,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACvC;AACA,UAAM,YAAY,KAAK,IAAI,SAAS,OAAO,KAAK,MAAM,MAAM;AAC5D,WAAO,KAAK,MAAM,MAAM,QAAQ,SAAS;AAAA,EAC3C;AAAA,EAEA,UAAU,QAAsB;AAC9B,QAAI,SAAS,KAAK,SAAS,KAAK,MAAM,QAAQ;AAC5C,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACvC;AAEA,UAAM,UAAU,KAAK,MAAM,MAAM,MAAM;AACvC,SAAK,QAAQ,KAAK,MAAM,MAAM,GAAG,MAAM;AACvC,SAAK,aAAa,KAAK;AAEvB,UAAM,cAAc,IAAI,SAAS,SAAS,KAAK,cAAc;AAG7D,QAAI,KAAK,qBAAqB;AAC5B,YAAM,cAAc,KAAK;AACzB,WAAK,oBAAoB,aAAa,aAAa,WAAW;AAAA,IAChE;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,UAAU,MAAsB;AAC9B,WAAO,IAAI,SAAS,KAAK,OAAO,KAAK,cAAc;AAAA,EACrD;AAAA,EAEA,WAAmB;AACjB,WAAO,KAAK;AAAA,EACd;AACF;",
6
6
  "names": []
7
7
  }