@peculiar/certificates-viewer 4.3.2 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/components/actions.js +1 -0
  2. package/components/actions.js.map +1 -1
  3. package/components/arrow_top.js +1 -0
  4. package/components/arrow_top.js.map +1 -1
  5. package/components/attribute-certificate-viewer.js +20 -19
  6. package/components/attribute-certificate-viewer.js.map +1 -1
  7. package/components/attribute.js +4 -3
  8. package/components/attribute.js.map +1 -1
  9. package/components/button-menu.js +4 -4
  10. package/components/button-menu.js.map +1 -1
  11. package/components/button.js +1 -0
  12. package/components/button.js.map +1 -1
  13. package/components/certificate-chain-viewer.js +2 -4
  14. package/components/certificate-chain-viewer.js.map +1 -1
  15. package/components/certificate-viewer.js +18 -18
  16. package/components/certificate-viewer.js.map +1 -1
  17. package/components/circular-progress.js +9 -3
  18. package/components/circular-progress.js.map +1 -1
  19. package/components/crl-viewer.js +19 -17
  20. package/components/crl-viewer.js.map +1 -1
  21. package/components/cross.js +1 -0
  22. package/components/cross.js.map +1 -1
  23. package/components/csr-viewer.js +13 -10
  24. package/components/csr-viewer.js.map +1 -1
  25. package/components/download.js +956 -1585
  26. package/components/download.js.map +1 -1
  27. package/components/highlight-words.js +2 -3
  28. package/components/highlight-words.js.map +1 -1
  29. package/components/index.js +1 -0
  30. package/components/index2.js +4 -3
  31. package/components/index2.js.map +1 -1
  32. package/components/issuer_name.js +2 -1
  33. package/components/issuer_name.js.map +1 -1
  34. package/components/miscellaneous.js +21 -20
  35. package/components/miscellaneous.js.map +1 -1
  36. package/components/peculiar-attribute-certificate-viewer.js +1 -0
  37. package/components/peculiar-button-menu.js +1 -0
  38. package/components/peculiar-certificate-chain-viewer.js +1 -0
  39. package/components/peculiar-certificate-decoder.js +4 -7
  40. package/components/peculiar-certificate-decoder.js.map +1 -1
  41. package/components/peculiar-certificate-viewer.js +1 -0
  42. package/components/peculiar-certificates-viewer.js +34 -13
  43. package/components/peculiar-certificates-viewer.js.map +1 -1
  44. package/components/peculiar-circular-progress.js +1 -0
  45. package/components/peculiar-crl-viewer.js +1 -0
  46. package/components/peculiar-csr-viewer.js +1 -0
  47. package/components/peculiar-highlight-words.js +1 -0
  48. package/components/peculiar-text-hider.js +2 -2
  49. package/components/peculiar-text-hider.js.map +1 -1
  50. package/components/pkcs10_certificate_request.js +5 -4
  51. package/components/pkcs10_certificate_request.js.map +1 -1
  52. package/components/read_file.js +1 -0
  53. package/components/read_file.js.map +1 -1
  54. package/components/subject_name.js +4 -3
  55. package/components/subject_name.js.map +1 -1
  56. package/dist/cjs/{actions-64ce3326.js → actions-Dl4HXXlI.js} +3 -2
  57. package/dist/cjs/actions-Dl4HXXlI.js.map +1 -0
  58. package/dist/cjs/{app-globals-c20ffa41.js → app-globals-BOZYdIuK.js} +2 -1
  59. package/dist/cjs/app-globals-BOZYdIuK.js.map +1 -0
  60. package/dist/cjs/{arrow_top-b9b9f280.js → arrow_top-DBMPHVlB.js} +3 -2
  61. package/dist/cjs/arrow_top-DBMPHVlB.js.map +1 -0
  62. package/dist/cjs/{button-61bb8305.js → button-C5jDF-CZ.js} +3 -2
  63. package/dist/cjs/button-C5jDF-CZ.js.map +1 -0
  64. package/dist/cjs/{certification_request-393a843d.js → certification_request-DS5FED4F.js} +957 -1587
  65. package/dist/cjs/certification_request-DS5FED4F.js.map +1 -0
  66. package/dist/cjs/{cross-3aeffd04.js → cross-pi7K0cHC.js} +3 -2
  67. package/dist/cjs/cross-pi7K0cHC.js.map +1 -0
  68. package/dist/cjs/{download-c2836546.js → download-D9skkVoT.js} +3 -2
  69. package/dist/cjs/download-D9skkVoT.js.map +1 -0
  70. package/dist/cjs/{index-484a84a0.js → index-BO3rFndV.js} +1356 -1168
  71. package/dist/cjs/index-BO3rFndV.js.map +1 -0
  72. package/dist/cjs/index.cjs.js +11 -12
  73. package/dist/cjs/index.cjs.js.map +1 -1
  74. package/dist/cjs/{link-dad7195a.js → link-CwLq-Nge.js} +4 -3
  75. package/dist/cjs/link-CwLq-Nge.js.map +1 -0
  76. package/dist/cjs/loader.cjs.js +4 -5
  77. package/dist/cjs/loader.cjs.js.map +1 -1
  78. package/dist/cjs/{miscellaneous-ca06fb81.js → miscellaneous-UxtK1SWb.js} +25 -24
  79. package/dist/cjs/miscellaneous-UxtK1SWb.js.map +1 -0
  80. package/dist/cjs/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.cjs.js.map +1 -0
  81. package/dist/cjs/peculiar-attribute-certificate-viewer_4.cjs.entry.js +47 -48
  82. package/dist/cjs/peculiar-attribute-certificate-viewer_4.cjs.entry.js.map +1 -1
  83. package/dist/cjs/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.cjs.js.map +1 -0
  84. package/dist/cjs/peculiar-button-menu_3.cjs.entry.js +16 -15
  85. package/dist/cjs/peculiar-button-menu_3.cjs.entry.js.map +1 -1
  86. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +12 -17
  87. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js.map +1 -1
  88. package/dist/cjs/peculiar-certificate-decoder.entry.cjs.js.map +1 -0
  89. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +19 -21
  90. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js.map +1 -1
  91. package/dist/cjs/peculiar-certificate-viewer.entry.cjs.js.map +1 -0
  92. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +42 -23
  93. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js.map +1 -1
  94. package/dist/cjs/peculiar-certificates-viewer.entry.cjs.js.map +1 -0
  95. package/dist/cjs/peculiar-text-hider.cjs.entry.js +5 -7
  96. package/dist/cjs/peculiar-text-hider.cjs.entry.js.map +1 -1
  97. package/dist/cjs/peculiar-text-hider.entry.cjs.js.map +1 -0
  98. package/dist/cjs/peculiar.cjs.js +8 -7
  99. package/dist/cjs/peculiar.cjs.js.map +1 -1
  100. package/dist/cjs/{pkcs10_certificate_request-56990e4f.js → pkcs10_certificate_request-DaWYvR0i.js} +8 -7
  101. package/dist/cjs/pkcs10_certificate_request-DaWYvR0i.js.map +1 -0
  102. package/dist/cjs/{read_file-2e22a97e.js → read_file-DWtcn3zU.js} +2 -1
  103. package/dist/cjs/read_file-DWtcn3zU.js.map +1 -0
  104. package/dist/cjs/{x509_certificate-d162984c.js → x509_certificate-DBpSGIUT.js} +7 -6
  105. package/dist/cjs/x509_certificate-DBpSGIUT.js.map +1 -0
  106. package/dist/cjs/{x509_crl-13322e13.js → x509_crl-BBnJqOIF.js} +11 -10
  107. package/dist/cjs/x509_crl-BBnJqOIF.js.map +1 -0
  108. package/dist/collection/collection-manifest.json +1 -1
  109. package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js +10 -9
  110. package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js.map +1 -1
  111. package/dist/collection/components/button-menu/button-menu.js +2 -2
  112. package/dist/collection/components/button-menu/button-menu.js.map +1 -1
  113. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js +0 -2
  114. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js.map +1 -1
  115. package/dist/collection/components/certificate-decoder/certificate-decoder.js +0 -3
  116. package/dist/collection/components/certificate-decoder/certificate-decoder.js.map +1 -1
  117. package/dist/collection/components/certificate-viewer/certificate-viewer.js +10 -10
  118. package/dist/collection/components/certificate-viewer/certificate-viewer.js.map +1 -1
  119. package/dist/collection/components/certificates-viewer/certificates-viewer.js +31 -10
  120. package/dist/collection/components/certificates-viewer/certificates-viewer.js.map +1 -1
  121. package/dist/collection/components/circular-progress/circular-progress.js +7 -1
  122. package/dist/collection/components/circular-progress/circular-progress.js.map +1 -1
  123. package/dist/collection/components/crl-viewer/crl-viewer.js +10 -8
  124. package/dist/collection/components/crl-viewer/crl-viewer.js.map +1 -1
  125. package/dist/collection/components/csr-viewer/csr-viewer.js +10 -7
  126. package/dist/collection/components/csr-viewer/csr-viewer.js.map +1 -1
  127. package/dist/collection/components/highlight-words/highlight-words.js +0 -1
  128. package/dist/collection/components/highlight-words/highlight-words.js.map +1 -1
  129. package/dist/collection/components/text-hider/text-hider.js.map +1 -1
  130. package/dist/collection/constants/oids.js +16 -0
  131. package/dist/collection/constants/oids.js.map +1 -1
  132. package/dist/collection/crypto/utils.js +1 -1
  133. package/dist/collection/crypto/utils.js.map +1 -1
  134. package/dist/esm/{actions-2e39a3b9.js → actions-DzoPRObK.js} +3 -2
  135. package/dist/esm/actions-DzoPRObK.js.map +1 -0
  136. package/dist/esm/{app-globals-5e9b67e0.js → app-globals-zVR349KA.js} +2 -1
  137. package/dist/esm/app-globals-zVR349KA.js.map +1 -0
  138. package/dist/esm/{arrow_top-72c7543a.js → arrow_top-CF9pv-tQ.js} +3 -2
  139. package/dist/esm/arrow_top-CF9pv-tQ.js.map +1 -0
  140. package/dist/esm/{button-e0909687.js → button-Djn8UI82.js} +3 -2
  141. package/dist/esm/button-Djn8UI82.js.map +1 -0
  142. package/dist/esm/{certification_request-714bd438.js → certification_request-Wtz6WM17.js} +957 -1586
  143. package/dist/esm/certification_request-Wtz6WM17.js.map +1 -0
  144. package/dist/esm/{cross-0c62835f.js → cross-DdCuR1F2.js} +3 -2
  145. package/dist/esm/cross-DdCuR1F2.js.map +1 -0
  146. package/dist/esm/{download-5686d86f.js → download-Cqfc-Sxf.js} +3 -2
  147. package/dist/esm/download-Cqfc-Sxf.js.map +1 -0
  148. package/dist/esm/{index-38365508.js → index-DDDrq3In.js} +1354 -1146
  149. package/dist/esm/index-DDDrq3In.js.map +1 -0
  150. package/dist/esm/index.js +11 -10
  151. package/dist/esm/index.js.map +1 -1
  152. package/dist/esm/{link-09718951.js → link-BfDk078v.js} +4 -3
  153. package/dist/esm/link-BfDk078v.js.map +1 -0
  154. package/dist/esm/loader.js +5 -4
  155. package/dist/esm/loader.js.map +1 -1
  156. package/dist/esm/{miscellaneous-0657d00e.js → miscellaneous-CsGuJ6zr.js} +27 -26
  157. package/dist/esm/miscellaneous-CsGuJ6zr.js.map +1 -0
  158. package/dist/esm/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.js.map +1 -0
  159. package/dist/esm/peculiar-attribute-certificate-viewer_4.entry.js +48 -47
  160. package/dist/esm/peculiar-attribute-certificate-viewer_4.entry.js.map +1 -1
  161. package/dist/esm/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js.map +1 -0
  162. package/dist/esm/peculiar-button-menu_3.entry.js +16 -13
  163. package/dist/esm/peculiar-button-menu_3.entry.js.map +1 -1
  164. package/dist/esm/peculiar-certificate-decoder.entry.js +12 -15
  165. package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
  166. package/dist/esm/peculiar-certificate-viewer.entry.js +19 -19
  167. package/dist/esm/peculiar-certificate-viewer.entry.js.map +1 -1
  168. package/dist/esm/peculiar-certificates-viewer.entry.js +42 -21
  169. package/dist/esm/peculiar-certificates-viewer.entry.js.map +1 -1
  170. package/dist/esm/peculiar-text-hider.entry.js +5 -5
  171. package/dist/esm/peculiar-text-hider.entry.js.map +1 -1
  172. package/dist/esm/peculiar.js +7 -5
  173. package/dist/esm/peculiar.js.map +1 -1
  174. package/dist/esm/{pkcs10_certificate_request-d3871050.js → pkcs10_certificate_request-Cn7_Z7a1.js} +8 -7
  175. package/dist/esm/pkcs10_certificate_request-Cn7_Z7a1.js.map +1 -0
  176. package/dist/esm/{read_file-bb0b1450.js → read_file-F2F0McJX.js} +2 -1
  177. package/dist/esm/read_file-F2F0McJX.js.map +1 -0
  178. package/dist/esm/{x509_certificate-d0d0c5c1.js → x509_certificate-ObET7_Te.js} +7 -6
  179. package/dist/esm/x509_certificate-ObET7_Te.js.map +1 -0
  180. package/dist/esm/{x509_crl-e837f4c3.js → x509_crl-CeW7yzP9.js} +11 -10
  181. package/dist/esm/x509_crl-CeW7yzP9.js.map +1 -0
  182. package/dist/esm-es5/{actions-2e39a3b9.js → actions-DzoPRObK.js} +2 -2
  183. package/dist/esm-es5/actions-DzoPRObK.js.map +1 -0
  184. package/dist/esm-es5/{app-globals-5e9b67e0.js → app-globals-zVR349KA.js} +1 -1
  185. package/dist/esm-es5/app-globals-zVR349KA.js.map +1 -0
  186. package/dist/esm-es5/{arrow_top-72c7543a.js → arrow_top-CF9pv-tQ.js} +2 -2
  187. package/dist/esm-es5/arrow_top-CF9pv-tQ.js.map +1 -0
  188. package/dist/esm-es5/{button-e0909687.js → button-Djn8UI82.js} +2 -2
  189. package/dist/esm-es5/button-Djn8UI82.js.map +1 -0
  190. package/dist/esm-es5/certification_request-Wtz6WM17.js +142 -0
  191. package/dist/esm-es5/certification_request-Wtz6WM17.js.map +1 -0
  192. package/dist/esm-es5/{cross-0c62835f.js → cross-DdCuR1F2.js} +2 -2
  193. package/dist/esm-es5/cross-DdCuR1F2.js.map +1 -0
  194. package/dist/esm-es5/{download-5686d86f.js → download-Cqfc-Sxf.js} +2 -2
  195. package/dist/esm-es5/download-Cqfc-Sxf.js.map +1 -0
  196. package/dist/esm-es5/index-DDDrq3In.js +6 -0
  197. package/dist/esm-es5/index-DDDrq3In.js.map +1 -0
  198. package/dist/esm-es5/index.js +1 -1
  199. package/dist/esm-es5/index.js.map +1 -1
  200. package/dist/esm-es5/link-BfDk078v.js +12 -0
  201. package/dist/esm-es5/link-BfDk078v.js.map +1 -0
  202. package/dist/esm-es5/loader.js +1 -1
  203. package/dist/esm-es5/loader.js.map +1 -1
  204. package/dist/esm-es5/{miscellaneous-0657d00e.js → miscellaneous-CsGuJ6zr.js} +15 -15
  205. package/dist/esm-es5/miscellaneous-CsGuJ6zr.js.map +1 -0
  206. package/dist/esm-es5/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.js.map +1 -0
  207. package/dist/esm-es5/peculiar-attribute-certificate-viewer_4.entry.js +5 -5
  208. package/dist/esm-es5/peculiar-attribute-certificate-viewer_4.entry.js.map +1 -1
  209. package/dist/esm-es5/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js.map +1 -0
  210. package/dist/esm-es5/peculiar-button-menu_3.entry.js +1 -1
  211. package/dist/esm-es5/peculiar-button-menu_3.entry.js.map +1 -1
  212. package/dist/esm-es5/peculiar-certificate-decoder.entry.js +1 -1
  213. package/dist/esm-es5/peculiar-certificate-decoder.entry.js.map +1 -1
  214. package/dist/esm-es5/peculiar-certificate-viewer.entry.js +2 -2
  215. package/dist/esm-es5/peculiar-certificate-viewer.entry.js.map +1 -1
  216. package/dist/esm-es5/peculiar-certificates-viewer.entry.js +2 -2
  217. package/dist/esm-es5/peculiar-certificates-viewer.entry.js.map +1 -1
  218. package/dist/esm-es5/peculiar-text-hider.entry.js +1 -1
  219. package/dist/esm-es5/peculiar-text-hider.entry.js.map +1 -1
  220. package/dist/esm-es5/peculiar.js +2 -2
  221. package/dist/esm-es5/peculiar.js.map +1 -1
  222. package/dist/esm-es5/pkcs10_certificate_request-Cn7_Z7a1.js +19 -0
  223. package/dist/esm-es5/pkcs10_certificate_request-Cn7_Z7a1.js.map +1 -0
  224. package/dist/esm-es5/{read_file-bb0b1450.js → read_file-F2F0McJX.js} +1 -1
  225. package/dist/esm-es5/read_file-F2F0McJX.js.map +1 -0
  226. package/dist/esm-es5/x509_certificate-ObET7_Te.js +12 -0
  227. package/dist/esm-es5/x509_certificate-ObET7_Te.js.map +1 -0
  228. package/dist/esm-es5/x509_crl-CeW7yzP9.js +19 -0
  229. package/dist/esm-es5/x509_crl-CeW7yzP9.js.map +1 -0
  230. package/dist/peculiar/index.esm.js +1 -1
  231. package/dist/peculiar/index.esm.js.map +1 -1
  232. package/dist/peculiar/loader.esm.js.map +1 -0
  233. package/dist/peculiar/p-0e8ab957.entry.js +5 -0
  234. package/dist/peculiar/p-0e8ab957.entry.js.map +1 -0
  235. package/dist/peculiar/p-12d2e080.entry.js +5 -0
  236. package/dist/peculiar/p-12d2e080.entry.js.map +1 -0
  237. package/dist/peculiar/p-1af57833.system.entry.js +5 -0
  238. package/dist/peculiar/p-1af57833.system.entry.js.map +1 -0
  239. package/dist/peculiar/p-3e4062f6.entry.js +110 -0
  240. package/dist/peculiar/p-3e4062f6.entry.js.map +1 -0
  241. package/dist/peculiar/p-5608ba3e.system.entry.js +5 -0
  242. package/dist/peculiar/p-5608ba3e.system.entry.js.map +1 -0
  243. package/dist/peculiar/p-5b829829.system.entry.js +5 -0
  244. package/dist/peculiar/p-5b829829.system.entry.js.map +1 -0
  245. package/dist/peculiar/{p-04228f9c.system.entry.js → p-63aa01ad.system.entry.js} +3 -3
  246. package/dist/peculiar/p-63aa01ad.system.entry.js.map +1 -0
  247. package/dist/peculiar/{p-b01c70cf.entry.js → p-69b461b4.entry.js} +3 -3
  248. package/dist/peculiar/p-69b461b4.entry.js.map +1 -0
  249. package/dist/peculiar/p-7Nmqck4T.system.js.map +1 -0
  250. package/dist/peculiar/{p-6eb92f5a.entry.js → p-7a3bf94e.entry.js} +2 -2
  251. package/dist/peculiar/p-7a3bf94e.entry.js.map +1 -0
  252. package/dist/peculiar/{p-d46670fa.system.js → p-B2YrZuK2.system.js} +2 -2
  253. package/dist/peculiar/p-B2YrZuK2.system.js.map +1 -0
  254. package/dist/peculiar/p-B3myni_G.js +19 -0
  255. package/dist/peculiar/p-B3myni_G.js.map +1 -0
  256. package/dist/peculiar/{p-9ca02302.system.js → p-B859JpGw.system.js} +3 -3
  257. package/dist/peculiar/p-B859JpGw.system.js.map +1 -0
  258. package/dist/peculiar/{p-a3054d6e.system.js → p-BBgwMHRZ.system.js} +3 -3
  259. package/dist/peculiar/p-BBgwMHRZ.system.js.map +1 -0
  260. package/dist/peculiar/{p-9987b899.js → p-BCATfe_H.js} +2 -2
  261. package/dist/peculiar/p-BCATfe_H.js.map +1 -0
  262. package/dist/peculiar/p-BFenL1ap.system.js +6 -0
  263. package/dist/peculiar/p-BFenL1ap.system.js.map +1 -0
  264. package/dist/peculiar/{p-562652dd.js → p-BHBizfwo.js} +3 -3
  265. package/dist/peculiar/p-BHBizfwo.js.map +1 -0
  266. package/dist/peculiar/{p-02529999.system.js → p-BOSH9vjy.system.js} +3 -3
  267. package/dist/{esm-es5/actions-2e39a3b9.js.map → peculiar/p-BOSH9vjy.system.js.map} +1 -1
  268. package/dist/peculiar/{p-4ee5beee.system.js → p-BP2bmYR2.system.js} +3 -3
  269. package/dist/peculiar/p-BP2bmYR2.system.js.map +1 -0
  270. package/dist/peculiar/{p-d9145ee8.system.js → p-BRhx1gbw.system.js} +4 -4
  271. package/dist/peculiar/p-BRhx1gbw.system.js.map +1 -0
  272. package/dist/peculiar/p-BX9qW3ww.system.js.map +1 -0
  273. package/dist/peculiar/p-BisXzAqN.js +12 -0
  274. package/dist/peculiar/p-BisXzAqN.js.map +1 -0
  275. package/dist/peculiar/p-CFhlbr47.system.js.map +1 -0
  276. package/dist/peculiar/{p-a9ea6c79.system.js → p-CKoxwzVA.system.js} +4 -4
  277. package/dist/peculiar/p-CKoxwzVA.system.js.map +1 -0
  278. package/dist/peculiar/p-C_vT-OYk.system.js.map +1 -0
  279. package/dist/peculiar/p-CcANm2qm.system.js +5 -0
  280. package/dist/peculiar/p-CcANm2qm.system.js.map +1 -0
  281. package/dist/peculiar/{p-ba3dfc03.js → p-CeKqQ13Z.js} +4 -4
  282. package/dist/peculiar/p-CeKqQ13Z.js.map +1 -0
  283. package/dist/peculiar/p-CttQwkXH.js +369 -0
  284. package/dist/peculiar/p-CttQwkXH.js.map +1 -0
  285. package/dist/peculiar/{p-c2995a63.system.js → p-CwlxH4oM.system.js} +1 -1
  286. package/dist/peculiar/p-CwlxH4oM.system.js.map +1 -0
  287. package/dist/peculiar/p-D13P_msn.system.js.map +1 -0
  288. package/dist/peculiar/{p-55303453.system.js → p-D2QB-8Q6.system.js} +1 -1
  289. package/dist/peculiar/p-D2QB-8Q6.system.js.map +1 -0
  290. package/dist/peculiar/p-D5BWI7FK.system.js +5 -0
  291. package/dist/peculiar/p-D5BWI7FK.system.js.map +1 -0
  292. package/dist/peculiar/p-DDDrq3In.js +6 -0
  293. package/dist/peculiar/p-DDDrq3In.js.map +1 -0
  294. package/dist/peculiar/{p-c5d3333c.system.js → p-DPre0WhP.system.js} +4 -4
  295. package/dist/{esm/pkcs10_certificate_request-d3871050.js.map → peculiar/p-DPre0WhP.system.js.map} +1 -1
  296. package/dist/peculiar/p-DX5B2Msh.system.js.map +1 -0
  297. package/dist/peculiar/p-DgcB4Nqx.system.js +142 -0
  298. package/dist/peculiar/p-DgcB4Nqx.system.js.map +1 -0
  299. package/dist/peculiar/{p-90c3a063.js → p-DhdG07f8.js} +2 -2
  300. package/dist/peculiar/p-DhdG07f8.js.map +1 -0
  301. package/dist/peculiar/p-Dk86_qlM.system.js.map +1 -0
  302. package/dist/peculiar/{p-92f9641a.js → p-DkAhB3Vy.js} +2 -2
  303. package/dist/peculiar/p-DkAhB3Vy.js.map +1 -0
  304. package/dist/peculiar/{p-25a532a3.js → p-F2F0McJX.js} +1 -1
  305. package/dist/peculiar/p-F2F0McJX.js.map +1 -0
  306. package/dist/peculiar/p-L1KL0R34.system.js +13 -0
  307. package/dist/peculiar/p-L1KL0R34.system.js.map +1 -0
  308. package/dist/peculiar/p-Wtz6WM17.js +142 -0
  309. package/dist/peculiar/p-Wtz6WM17.js.map +1 -0
  310. package/dist/peculiar/p-bafc3336.system.entry.js +111 -0
  311. package/dist/peculiar/p-bafc3336.system.entry.js.map +1 -0
  312. package/dist/peculiar/p-cae95996.system.entry.js +5 -0
  313. package/dist/peculiar/p-cae95996.system.entry.js.map +1 -0
  314. package/dist/peculiar/p-f4490197.entry.js +5 -0
  315. package/dist/peculiar/p-f4490197.entry.js.map +1 -0
  316. package/dist/peculiar/p-lNFxlG5A.js +19 -0
  317. package/dist/peculiar/p-lNFxlG5A.js.map +1 -0
  318. package/dist/peculiar/p-t-yLLnfF.js +12 -0
  319. package/dist/peculiar/p-t-yLLnfF.js.map +1 -0
  320. package/dist/peculiar/{p-35cd359e.system.js → p-uFLk5hDd.system.js} +54 -54
  321. package/dist/peculiar/{p-90f461c0.js.map → p-uFLk5hDd.system.js.map} +1 -1
  322. package/dist/peculiar/{p-dac867e8.js → p-zVR349KA.js} +1 -1
  323. package/dist/peculiar/p-zVR349KA.js.map +1 -0
  324. package/dist/peculiar/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.esm.js.map +1 -0
  325. package/dist/peculiar/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.esm.js.map +1 -0
  326. package/dist/peculiar/peculiar-certificate-decoder.entry.esm.js.map +1 -0
  327. package/dist/peculiar/peculiar-certificate-viewer.entry.esm.js.map +1 -0
  328. package/dist/peculiar/peculiar-certificates-viewer.entry.esm.js.map +1 -0
  329. package/dist/peculiar/{p-39bbe0b9.system.entry.js.map → peculiar-text-hider.entry.esm.js.map} +1 -1
  330. package/dist/peculiar/peculiar.esm.js +1 -1
  331. package/dist/peculiar/peculiar.esm.js.map +1 -1
  332. package/dist/peculiar/peculiar.js +1 -1
  333. package/dist/types/constants/oids.d.ts +15 -0
  334. package/dist/types/stencil-public-runtime.d.ts +1 -0
  335. package/hydrate/index.d.ts +22 -5
  336. package/hydrate/index.js +2862 -3023
  337. package/hydrate/index.mjs +2862 -3021
  338. package/package.json +23 -23
  339. package/dist/cjs/actions-64ce3326.js.map +0 -1
  340. package/dist/cjs/app-globals-c20ffa41.js.map +0 -1
  341. package/dist/cjs/arrow_top-b9b9f280.js.map +0 -1
  342. package/dist/cjs/button-61bb8305.js.map +0 -1
  343. package/dist/cjs/certification_request-393a843d.js.map +0 -1
  344. package/dist/cjs/cross-3aeffd04.js.map +0 -1
  345. package/dist/cjs/download-c2836546.js.map +0 -1
  346. package/dist/cjs/index-484a84a0.js.map +0 -1
  347. package/dist/cjs/link-dad7195a.js.map +0 -1
  348. package/dist/cjs/miscellaneous-ca06fb81.js.map +0 -1
  349. package/dist/cjs/pkcs10_certificate_request-56990e4f.js.map +0 -1
  350. package/dist/cjs/read_file-2e22a97e.js.map +0 -1
  351. package/dist/cjs/x509_certificate-d162984c.js.map +0 -1
  352. package/dist/cjs/x509_crl-13322e13.js.map +0 -1
  353. package/dist/esm/actions-2e39a3b9.js.map +0 -1
  354. package/dist/esm/app-globals-5e9b67e0.js.map +0 -1
  355. package/dist/esm/arrow_top-72c7543a.js.map +0 -1
  356. package/dist/esm/button-e0909687.js.map +0 -1
  357. package/dist/esm/certification_request-714bd438.js.map +0 -1
  358. package/dist/esm/cross-0c62835f.js.map +0 -1
  359. package/dist/esm/download-5686d86f.js.map +0 -1
  360. package/dist/esm/index-38365508.js.map +0 -1
  361. package/dist/esm/link-09718951.js.map +0 -1
  362. package/dist/esm/miscellaneous-0657d00e.js.map +0 -1
  363. package/dist/esm/read_file-bb0b1450.js.map +0 -1
  364. package/dist/esm/x509_certificate-d0d0c5c1.js.map +0 -1
  365. package/dist/esm/x509_crl-e837f4c3.js.map +0 -1
  366. package/dist/esm-es5/app-globals-5e9b67e0.js.map +0 -1
  367. package/dist/esm-es5/arrow_top-72c7543a.js.map +0 -1
  368. package/dist/esm-es5/button-e0909687.js.map +0 -1
  369. package/dist/esm-es5/certification_request-714bd438.js +0 -142
  370. package/dist/esm-es5/certification_request-714bd438.js.map +0 -1
  371. package/dist/esm-es5/cross-0c62835f.js.map +0 -1
  372. package/dist/esm-es5/download-5686d86f.js.map +0 -1
  373. package/dist/esm-es5/index-38365508.js +0 -6
  374. package/dist/esm-es5/index-38365508.js.map +0 -1
  375. package/dist/esm-es5/link-09718951.js +0 -12
  376. package/dist/esm-es5/link-09718951.js.map +0 -1
  377. package/dist/esm-es5/miscellaneous-0657d00e.js.map +0 -1
  378. package/dist/esm-es5/pkcs10_certificate_request-d3871050.js +0 -19
  379. package/dist/esm-es5/pkcs10_certificate_request-d3871050.js.map +0 -1
  380. package/dist/esm-es5/read_file-bb0b1450.js.map +0 -1
  381. package/dist/esm-es5/x509_certificate-d0d0c5c1.js +0 -12
  382. package/dist/esm-es5/x509_certificate-d0d0c5c1.js.map +0 -1
  383. package/dist/esm-es5/x509_crl-e837f4c3.js +0 -19
  384. package/dist/esm-es5/x509_crl-e837f4c3.js.map +0 -1
  385. package/dist/peculiar/p-02529999.system.js.map +0 -1
  386. package/dist/peculiar/p-04228f9c.system.entry.js.map +0 -1
  387. package/dist/peculiar/p-12bc3ebc.system.entry.js +0 -5
  388. package/dist/peculiar/p-12bc3ebc.system.entry.js.map +0 -1
  389. package/dist/peculiar/p-161f7f97.entry.js +0 -5
  390. package/dist/peculiar/p-161f7f97.entry.js.map +0 -1
  391. package/dist/peculiar/p-25a532a3.js.map +0 -1
  392. package/dist/peculiar/p-32cf293c.system.js +0 -5
  393. package/dist/peculiar/p-32cf293c.system.js.map +0 -1
  394. package/dist/peculiar/p-35cd359e.system.js.map +0 -1
  395. package/dist/peculiar/p-39bbe0b9.system.entry.js +0 -5
  396. package/dist/peculiar/p-41eacbcd.system.entry.js +0 -111
  397. package/dist/peculiar/p-41eacbcd.system.entry.js.map +0 -1
  398. package/dist/peculiar/p-47b7dd9e.entry.js +0 -110
  399. package/dist/peculiar/p-47b7dd9e.entry.js.map +0 -1
  400. package/dist/peculiar/p-4ee5beee.system.js.map +0 -1
  401. package/dist/peculiar/p-55303453.system.js.map +0 -1
  402. package/dist/peculiar/p-562652dd.js.map +0 -1
  403. package/dist/peculiar/p-5b4db88b.system.js +0 -5
  404. package/dist/peculiar/p-5b4db88b.system.js.map +0 -1
  405. package/dist/peculiar/p-67452b74.system.entry.js +0 -5
  406. package/dist/peculiar/p-67452b74.system.entry.js.map +0 -1
  407. package/dist/peculiar/p-684b7f0f.system.js +0 -142
  408. package/dist/peculiar/p-684b7f0f.system.js.map +0 -1
  409. package/dist/peculiar/p-6eb92f5a.entry.js.map +0 -1
  410. package/dist/peculiar/p-8dd6d1ee.entry.js +0 -5
  411. package/dist/peculiar/p-8dd6d1ee.entry.js.map +0 -1
  412. package/dist/peculiar/p-90c3a063.js.map +0 -1
  413. package/dist/peculiar/p-90f461c0.js +0 -369
  414. package/dist/peculiar/p-92f9641a.js.map +0 -1
  415. package/dist/peculiar/p-93e299aa.system.entry.js +0 -5
  416. package/dist/peculiar/p-93e299aa.system.entry.js.map +0 -1
  417. package/dist/peculiar/p-9987b899.js.map +0 -1
  418. package/dist/peculiar/p-9b64adaa.system.js +0 -13
  419. package/dist/peculiar/p-9b64adaa.system.js.map +0 -1
  420. package/dist/peculiar/p-9ca02302.system.js.map +0 -1
  421. package/dist/peculiar/p-a1adb881.js +0 -6
  422. package/dist/peculiar/p-a1adb881.js.map +0 -1
  423. package/dist/peculiar/p-a3054d6e.system.js.map +0 -1
  424. package/dist/peculiar/p-a55fd6f1.js +0 -142
  425. package/dist/peculiar/p-a55fd6f1.js.map +0 -1
  426. package/dist/peculiar/p-a87e1a0e.js +0 -12
  427. package/dist/peculiar/p-a87e1a0e.js.map +0 -1
  428. package/dist/peculiar/p-a9ea6c79.system.js.map +0 -1
  429. package/dist/peculiar/p-b01c70cf.entry.js.map +0 -1
  430. package/dist/peculiar/p-b5674f82.js +0 -19
  431. package/dist/peculiar/p-b5674f82.js.map +0 -1
  432. package/dist/peculiar/p-ba3dfc03.js.map +0 -1
  433. package/dist/peculiar/p-bc91996c.system.js +0 -6
  434. package/dist/peculiar/p-bc91996c.system.js.map +0 -1
  435. package/dist/peculiar/p-c2995a63.system.js.map +0 -1
  436. package/dist/peculiar/p-c5d3333c.system.js.map +0 -1
  437. package/dist/peculiar/p-cb8a0b79.js +0 -19
  438. package/dist/peculiar/p-cb8a0b79.js.map +0 -1
  439. package/dist/peculiar/p-d46670fa.system.js.map +0 -1
  440. package/dist/peculiar/p-d9145ee8.system.js.map +0 -1
  441. package/dist/peculiar/p-dac867e8.js.map +0 -1
  442. package/dist/peculiar/p-f456fe47.js +0 -12
  443. package/dist/peculiar/p-f456fe47.js.map +0 -1
  444. package/dist/peculiar/p-f6ec61db.entry.js +0 -5
  445. package/dist/peculiar/p-f6ec61db.entry.js.map +0 -1
  446. package/loader/package.json +0 -11
@@ -3,40 +3,33 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- function _interopNamespace(e) {
7
- if (e && e.__esModule) return e;
8
- var n = Object.create(null);
9
- if (e) {
10
- Object.keys(e).forEach(function (k) {
11
- if (k !== 'default') {
12
- var d = Object.getOwnPropertyDescriptor(e, k);
13
- Object.defineProperty(n, k, d.get ? d : {
14
- enumerable: true,
15
- get: function () {
16
- return e[k];
17
- }
18
- });
19
- }
20
- });
21
- }
22
- n['default'] = e;
23
- return Object.freeze(n);
24
- }
25
-
26
6
  const NAMESPACE = 'peculiar';
27
- const BUILD = /* peculiar */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: true, propString: true, reflect: true, scoped: true, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
7
+ const BUILD = /* peculiar */ { hydratedSelectorName: "hydrated", lazyLoad: true, slotRelocation: true, updatable: true};
28
8
 
29
9
  /*
30
- Stencil Client Platform v4.23.0 | MIT Licensed | https://stenciljs.com
10
+ Stencil Client Platform v4.28.2 | MIT Licensed | https://stenciljs.com
31
11
  */
32
12
  var __defProp = Object.defineProperty;
33
13
  var __export = (target, all) => {
34
14
  for (var name in all)
35
15
  __defProp(target, name, { get: all[name], enumerable: true });
36
16
  };
37
- var hostRefs = /* @__PURE__ */ new WeakMap();
38
- var getHostRef = (ref) => hostRefs.get(ref);
39
- var registerInstance = (lazyInstance, hostRef) => hostRefs.set(hostRef.$lazyInstance$ = lazyInstance, hostRef);
17
+
18
+ // src/utils/constants.ts
19
+ var SVG_NS = "http://www.w3.org/2000/svg";
20
+ var HTML_NS = "http://www.w3.org/1999/xhtml";
21
+
22
+ // src/client/client-host-ref.ts
23
+ var getHostRef = (ref) => {
24
+ if (ref.__stencil__getHostRef) {
25
+ return ref.__stencil__getHostRef();
26
+ }
27
+ return void 0;
28
+ };
29
+ var registerInstance = (lazyInstance, hostRef) => {
30
+ lazyInstance.__stencil__getHostRef = () => hostRef;
31
+ hostRef.$lazyInstance$ = lazyInstance;
32
+ };
40
33
  var registerHost = (hostElement, cmpMeta) => {
41
34
  const hostRef = {
42
35
  $flags$: 0,
@@ -49,7 +42,9 @@ var registerHost = (hostElement, cmpMeta) => {
49
42
  hostElement["s-p"] = [];
50
43
  hostElement["s-rc"] = [];
51
44
  }
52
- return hostRefs.set(hostElement, hostRef);
45
+ const ref = hostRef;
46
+ hostElement.__stencil__getHostRef = () => ref;
47
+ return ref;
53
48
  };
54
49
  var isMemberInElement = (elm, memberName) => memberName in elm;
55
50
  var consoleError = (e, el) => (0, console.error)(e, el);
@@ -67,18 +62,23 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
67
62
  return module[exportName];
68
63
  }
69
64
  /*!__STENCIL_STATIC_IMPORT_SWITCH__*/
70
- return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
65
+ return import(
71
66
  /* @vite-ignore */
72
67
  /* webpackInclude: /\.entry\.js$/ */
73
68
  /* webpackExclude: /\.system\.entry\.js$/ */
74
69
  /* webpackMode: "lazy" */
75
70
  `./${bundleId}.entry.js${""}`
76
- )); }).then((importedModule) => {
77
- {
78
- cmpModules.set(bundleId, importedModule);
71
+ ).then(
72
+ (importedModule) => {
73
+ {
74
+ cmpModules.set(bundleId, importedModule);
75
+ }
76
+ return importedModule[exportName];
77
+ },
78
+ (e) => {
79
+ consoleError(e, hostRef.$hostElement$);
79
80
  }
80
- return importedModule[exportName];
81
- }, consoleError);
81
+ );
82
82
  };
83
83
 
84
84
  // src/client/client-style.ts
@@ -97,7 +97,6 @@ var HYDRATED_CSS = "{visibility:hidden}.hydrated{visibility:inherit}";
97
97
  var SLOT_FB_CSS = "slot-fb{display:contents}slot-fb[hidden]{display:none}";
98
98
  var XLINK_NS = "http://www.w3.org/1999/xlink";
99
99
  var win = typeof window !== "undefined" ? window : {};
100
- var doc = win.document || { head: {} };
101
100
  var plt = {
102
101
  $flags$: 0,
103
102
  $resourcesUrl$: "",
@@ -152,22 +151,17 @@ var flush = () => {
152
151
  var nextTick = (cb) => promiseResolve().then(cb);
153
152
  var writeTask = /* @__PURE__ */ queueTask(queueDomWrites, true);
154
153
 
155
- // src/utils/constants.ts
156
- var EMPTY_OBJ = {};
157
- var SVG_NS = "http://www.w3.org/2000/svg";
158
- var HTML_NS = "http://www.w3.org/1999/xhtml";
159
-
160
154
  // src/utils/helpers.ts
161
- var isDef = (v) => v != null;
155
+ var isDef = (v) => v != null && v !== void 0;
162
156
  var isComplexType = (o) => {
163
157
  o = typeof o;
164
158
  return o === "object" || o === "function";
165
159
  };
166
160
 
167
161
  // src/utils/query-nonce-meta-tag-content.ts
168
- function queryNonceMetaTagContent(doc2) {
162
+ function queryNonceMetaTagContent(doc) {
169
163
  var _a, _b, _c;
170
- return (_c = (_b = (_a = doc2.head) == null ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) == null ? void 0 : _b.getAttribute("content")) != null ? _c : void 0;
164
+ return (_c = (_b = (_a = doc.head) == null ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) == null ? void 0 : _b.getAttribute("content")) != null ? _c : void 0;
171
165
  }
172
166
 
173
167
  // src/utils/result.ts
@@ -218,6 +212,154 @@ var unwrapErr = (result) => {
218
212
  throw result.value;
219
213
  }
220
214
  };
215
+ var updateFallbackSlotVisibility = (elm) => {
216
+ const childNodes = internalCall(elm, "childNodes");
217
+ if (elm.tagName && elm.tagName.includes("-") && elm["s-cr"] && elm.tagName !== "SLOT-FB") {
218
+ getHostSlotNodes(childNodes, elm.tagName).forEach((slotNode) => {
219
+ if (slotNode.nodeType === 1 /* ElementNode */ && slotNode.tagName === "SLOT-FB") {
220
+ if (getSlotChildSiblings(slotNode, getSlotName(slotNode), false).length) {
221
+ slotNode.hidden = true;
222
+ } else {
223
+ slotNode.hidden = false;
224
+ }
225
+ }
226
+ });
227
+ }
228
+ let i2 = 0;
229
+ for (i2 = 0; i2 < childNodes.length; i2++) {
230
+ const childNode = childNodes[i2];
231
+ if (childNode.nodeType === 1 /* ElementNode */ && internalCall(childNode, "childNodes").length) {
232
+ updateFallbackSlotVisibility(childNode);
233
+ }
234
+ }
235
+ };
236
+ var getSlottedChildNodes = (childNodes) => {
237
+ const result = [];
238
+ for (let i2 = 0; i2 < childNodes.length; i2++) {
239
+ const slottedNode = childNodes[i2]["s-nr"] || void 0;
240
+ if (slottedNode && slottedNode.isConnected) {
241
+ result.push(slottedNode);
242
+ }
243
+ }
244
+ return result;
245
+ };
246
+ function getHostSlotNodes(childNodes, hostName, slotName) {
247
+ let i2 = 0;
248
+ let slottedNodes = [];
249
+ let childNode;
250
+ for (; i2 < childNodes.length; i2++) {
251
+ childNode = childNodes[i2];
252
+ if (childNode["s-sr"] && (!hostName || childNode["s-hn"] === hostName) && (slotName === void 0)) {
253
+ slottedNodes.push(childNode);
254
+ }
255
+ slottedNodes = [...slottedNodes, ...getHostSlotNodes(childNode.childNodes, hostName, slotName)];
256
+ }
257
+ return slottedNodes;
258
+ }
259
+ var getSlotChildSiblings = (slot, slotName, includeSlot = true) => {
260
+ const childNodes = [];
261
+ if (includeSlot && slot["s-sr"] || !slot["s-sr"]) childNodes.push(slot);
262
+ let node = slot;
263
+ while (node = node.nextSibling) {
264
+ if (getSlotName(node) === slotName && (includeSlot || !node["s-sr"])) childNodes.push(node);
265
+ }
266
+ return childNodes;
267
+ };
268
+ var isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
269
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
270
+ if (nodeToRelocate.getAttribute("slot") === null && slotName === "") {
271
+ return true;
272
+ }
273
+ if (nodeToRelocate.getAttribute("slot") === slotName) {
274
+ return true;
275
+ }
276
+ return false;
277
+ }
278
+ if (nodeToRelocate["s-sn"] === slotName) {
279
+ return true;
280
+ }
281
+ return slotName === "";
282
+ };
283
+ var addSlotRelocateNode = (newChild, slotNode, prepend, position) => {
284
+ if (newChild["s-ol"] && newChild["s-ol"].isConnected) {
285
+ return;
286
+ }
287
+ const slottedNodeLocation = document.createTextNode("");
288
+ slottedNodeLocation["s-nr"] = newChild;
289
+ if (!slotNode["s-cr"] || !slotNode["s-cr"].parentNode) return;
290
+ const parent = slotNode["s-cr"].parentNode;
291
+ const appendMethod = internalCall(parent, "appendChild");
292
+ if (typeof position !== "undefined") {
293
+ slottedNodeLocation["s-oo"] = position;
294
+ const childNodes = internalCall(parent, "childNodes");
295
+ const slotRelocateNodes = [slottedNodeLocation];
296
+ childNodes.forEach((n) => {
297
+ if (n["s-nr"]) slotRelocateNodes.push(n);
298
+ });
299
+ slotRelocateNodes.sort((a, b) => {
300
+ if (!a["s-oo"] || a["s-oo"] < (b["s-oo"] || 0)) return -1;
301
+ else if (!b["s-oo"] || b["s-oo"] < a["s-oo"]) return 1;
302
+ return 0;
303
+ });
304
+ slotRelocateNodes.forEach((n) => appendMethod.call(parent, n));
305
+ } else {
306
+ appendMethod.call(parent, slottedNodeLocation);
307
+ }
308
+ newChild["s-ol"] = slottedNodeLocation;
309
+ newChild["s-sh"] = slotNode["s-hn"];
310
+ };
311
+ var getSlotName = (node) => typeof node["s-sn"] === "string" ? node["s-sn"] : node.nodeType === 1 && node.getAttribute("slot") || void 0;
312
+ function patchSlotNode(node) {
313
+ if (node.assignedElements || node.assignedNodes || !node["s-sr"]) return;
314
+ const assignedFactory = (elementsOnly) => (function(opts) {
315
+ const toReturn = [];
316
+ const slotName = this["s-sn"];
317
+ if (opts == null ? void 0 : opts.flatten) {
318
+ console.error(`
319
+ Flattening is not supported for Stencil non-shadow slots.
320
+ You can use \`.childNodes\` to nested slot fallback content.
321
+ If you have a particular use case, please open an issue on the Stencil repo.
322
+ `);
323
+ }
324
+ const parent = this["s-cr"].parentElement;
325
+ const slottedNodes = parent.__childNodes ? parent.childNodes : getSlottedChildNodes(parent.childNodes);
326
+ slottedNodes.forEach((n) => {
327
+ if (slotName === getSlotName(n)) {
328
+ toReturn.push(n);
329
+ }
330
+ });
331
+ if (elementsOnly) {
332
+ return toReturn.filter((n) => n.nodeType === 1 /* ElementNode */);
333
+ }
334
+ return toReturn;
335
+ }).bind(node);
336
+ node.assignedElements = assignedFactory(true);
337
+ node.assignedNodes = assignedFactory(false);
338
+ }
339
+ function internalCall(node, method) {
340
+ if ("__" + method in node) {
341
+ const toReturn = node["__" + method];
342
+ if (typeof toReturn !== "function") return toReturn;
343
+ return toReturn.bind(node);
344
+ } else {
345
+ if (typeof node[method] !== "function") return node[method];
346
+ return node[method].bind(node);
347
+ }
348
+ }
349
+ var createTime = (fnName, tagName = "") => {
350
+ {
351
+ return () => {
352
+ return;
353
+ };
354
+ }
355
+ };
356
+ var uniqueTime = (key, measureText) => {
357
+ {
358
+ return () => {
359
+ return;
360
+ };
361
+ }
362
+ };
221
363
  var h = (nodeName, vnodeData, ...children) => {
222
364
  let child = null;
223
365
  let key = null;
@@ -329,1197 +471,1201 @@ var convertToPrivate = (node) => {
329
471
  vnode.$name$ = node.vname;
330
472
  return vnode;
331
473
  };
332
- var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
333
- if (oldValue !== newValue) {
334
- let isProp = isMemberInElement(elm, memberName);
335
- let ln = memberName.toLowerCase();
336
- if (memberName === "class") {
337
- const classList = elm.classList;
338
- const oldClasses = parseClassList(oldValue);
339
- const newClasses = parseClassList(newValue);
340
- if (elm["s-si"] && newClasses.indexOf(elm["s-si"]) < 0) {
341
- newClasses.push(elm["s-si"]);
342
- }
343
- classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
344
- classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
345
- } else if (memberName === "style") {
346
- {
347
- for (const prop in oldValue) {
348
- if (!newValue || newValue[prop] == null) {
349
- if (prop.includes("-")) {
350
- elm.style.removeProperty(prop);
351
- } else {
352
- elm.style[prop] = "";
353
- }
354
- }
355
- }
474
+
475
+ // src/runtime/client-hydrate.ts
476
+ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
477
+ const endHydrate = createTime("hydrateClient", tagName);
478
+ const shadowRoot = hostElm.shadowRoot;
479
+ const childRenderNodes = [];
480
+ const slotNodes = [];
481
+ const slottedNodes = [];
482
+ const shadowRootNodes = shadowRoot ? [] : null;
483
+ const vnode = newVNode(tagName, null);
484
+ vnode.$elm$ = hostElm;
485
+ let scopeId2;
486
+ {
487
+ const cmpMeta = hostRef.$cmpMeta$;
488
+ if (cmpMeta && cmpMeta.$flags$ & 10 /* needsScopedEncapsulation */ && hostElm["s-sc"]) {
489
+ scopeId2 = hostElm["s-sc"];
490
+ hostElm.classList.add(scopeId2 + "-h");
491
+ } else if (hostElm["s-sc"]) {
492
+ delete hostElm["s-sc"];
493
+ }
494
+ }
495
+ if (win.document && (!plt.$orgLocNodes$ || !plt.$orgLocNodes$.size)) {
496
+ initializeDocumentHydrate(win.document.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());
497
+ }
498
+ hostElm[HYDRATE_ID] = hostId;
499
+ hostElm.removeAttribute(HYDRATE_ID);
500
+ hostRef.$vnode$ = clientHydrate(
501
+ vnode,
502
+ childRenderNodes,
503
+ slotNodes,
504
+ shadowRootNodes,
505
+ hostElm,
506
+ hostElm,
507
+ hostId,
508
+ slottedNodes
509
+ );
510
+ let crIndex = 0;
511
+ const crLength = childRenderNodes.length;
512
+ let childRenderNode;
513
+ for (crIndex; crIndex < crLength; crIndex++) {
514
+ childRenderNode = childRenderNodes[crIndex];
515
+ const orgLocationId = childRenderNode.$hostId$ + "." + childRenderNode.$nodeId$;
516
+ const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);
517
+ const node = childRenderNode.$elm$;
518
+ if (!shadowRoot) {
519
+ node["s-hn"] = tagName.toUpperCase();
520
+ if (childRenderNode.$tag$ === "slot") {
521
+ node["s-cr"] = hostElm["s-cr"];
356
522
  }
357
- for (const prop in newValue) {
358
- if (!oldValue || newValue[prop] !== oldValue[prop]) {
359
- if (prop.includes("-")) {
360
- elm.style.setProperty(prop, newValue[prop]);
361
- } else {
362
- elm.style[prop] = newValue[prop];
363
- }
523
+ }
524
+ if (childRenderNode.$tag$ === "slot") {
525
+ childRenderNode.$name$ = childRenderNode.$elm$["s-sn"] || childRenderNode.$elm$["name"] || null;
526
+ if (childRenderNode.$children$) {
527
+ childRenderNode.$flags$ |= 2 /* isSlotFallback */;
528
+ if (!childRenderNode.$elm$.childNodes.length) {
529
+ childRenderNode.$children$.forEach((c) => {
530
+ childRenderNode.$elm$.appendChild(c.$elm$);
531
+ });
364
532
  }
365
- }
366
- } else if (memberName === "key") ; else if (memberName === "ref") {
367
- if (newValue) {
368
- newValue(elm);
369
- }
370
- } else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
371
- if (memberName[2] === "-") {
372
- memberName = memberName.slice(3);
373
- } else if (isMemberInElement(win, ln)) {
374
- memberName = ln.slice(2);
375
533
  } else {
376
- memberName = ln[2] + memberName.slice(3);
534
+ childRenderNode.$flags$ |= 1 /* isSlotReference */;
377
535
  }
378
- if (oldValue || newValue) {
379
- const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
380
- memberName = memberName.replace(CAPTURE_EVENT_REGEX, "");
381
- if (oldValue) {
382
- plt.rel(elm, memberName, oldValue, capture);
383
- }
384
- if (newValue) {
385
- plt.ael(elm, memberName, newValue, capture);
386
- }
536
+ }
537
+ if (orgLocationNode && orgLocationNode.isConnected) {
538
+ if (shadowRoot && orgLocationNode["s-en"] === "") {
539
+ orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
387
540
  }
388
- } else {
389
- const isComplex = isComplexType(newValue);
390
- if ((isProp || isComplex && newValue !== null) && !isSvg) {
391
- try {
392
- if (!elm.tagName.includes("-")) {
393
- const n = newValue == null ? "" : newValue;
394
- if (memberName === "list") {
395
- isProp = false;
396
- } else if (oldValue == null || elm[memberName] != n) {
397
- if (typeof elm.__lookupSetter__(memberName) === "function") {
398
- elm[memberName] = n;
399
- } else {
400
- elm.setAttribute(memberName, n);
401
- }
402
- }
403
- } else {
404
- elm[memberName] = newValue;
405
- }
406
- } catch (e) {
407
- }
541
+ orgLocationNode.parentNode.removeChild(orgLocationNode);
542
+ if (!shadowRoot) {
543
+ node["s-oo"] = parseInt(childRenderNode.$nodeId$);
408
544
  }
409
- let xlink = false;
410
- {
411
- if (ln !== (ln = ln.replace(/^xlink\:?/, ""))) {
412
- memberName = ln;
413
- xlink = true;
414
- }
545
+ }
546
+ plt.$orgLocNodes$.delete(orgLocationId);
547
+ }
548
+ const hosts = [];
549
+ const snLen = slottedNodes.length;
550
+ let snIndex = 0;
551
+ let slotGroup;
552
+ let snGroupIdx;
553
+ let snGroupLen;
554
+ let slottedItem;
555
+ for (snIndex; snIndex < snLen; snIndex++) {
556
+ slotGroup = slottedNodes[snIndex];
557
+ if (!slotGroup || !slotGroup.length) continue;
558
+ snGroupLen = slotGroup.length;
559
+ snGroupIdx = 0;
560
+ for (snGroupIdx; snGroupIdx < snGroupLen; snGroupIdx++) {
561
+ slottedItem = slotGroup[snGroupIdx];
562
+ if (!hosts[slottedItem.hostId]) {
563
+ hosts[slottedItem.hostId] = plt.$orgLocNodes$.get(slottedItem.hostId);
415
564
  }
416
- if (newValue == null || newValue === false) {
417
- if (newValue !== false || elm.getAttribute(memberName) === "") {
418
- if (xlink) {
419
- elm.removeAttributeNS(XLINK_NS, memberName);
420
- } else {
421
- elm.removeAttribute(memberName);
422
- }
423
- }
424
- } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {
425
- newValue = newValue === true ? "" : newValue;
426
- if (xlink) {
427
- elm.setAttributeNS(XLINK_NS, memberName, newValue);
565
+ if (!hosts[slottedItem.hostId]) continue;
566
+ const hostEle = hosts[slottedItem.hostId];
567
+ if (!hostEle.shadowRoot || !shadowRoot) {
568
+ slottedItem.slot["s-cr"] = hostEle["s-cr"];
569
+ if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) {
570
+ slottedItem.slot["s-cr"] = hostEle;
428
571
  } else {
429
- elm.setAttribute(memberName, newValue);
572
+ slottedItem.slot["s-cr"] = (hostEle.__childNodes || hostEle.childNodes)[0];
430
573
  }
574
+ addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]);
431
575
  }
432
- }
433
- }
434
- };
435
- var parseClassListRegex = /\s/;
436
- var parseClassList = (value) => !value ? [] : value.split(parseClassListRegex);
437
- var CAPTURE_EVENT_SUFFIX = "Capture";
438
- var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
439
-
440
- // src/runtime/vdom/update-element.ts
441
- var updateElement = (oldVnode, newVnode, isSvgMode2) => {
442
- const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
443
- const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || EMPTY_OBJ;
444
- const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
445
- {
446
- for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
447
- if (!(memberName in newVnodeAttrs)) {
448
- setAccessor(elm, memberName, oldVnodeAttrs[memberName], void 0, isSvgMode2, newVnode.$flags$);
576
+ if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
577
+ hostEle.appendChild(slottedItem.node);
449
578
  }
450
579
  }
451
580
  }
452
- for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
453
- setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode2, newVnode.$flags$);
581
+ if (scopeId2 && slotNodes.length) {
582
+ slotNodes.forEach((slot) => {
583
+ slot.$elm$.parentElement.classList.add(scopeId2 + "-s");
584
+ });
454
585
  }
586
+ if (shadowRoot && !shadowRoot.childNodes.length) {
587
+ let rnIdex = 0;
588
+ const rnLen = shadowRootNodes.length;
589
+ if (rnLen) {
590
+ for (rnIdex; rnIdex < rnLen; rnIdex++) {
591
+ shadowRoot.appendChild(shadowRootNodes[rnIdex]);
592
+ }
593
+ Array.from(hostElm.childNodes).forEach((node) => {
594
+ if (typeof node["s-sn"] !== "string") {
595
+ if (node.nodeType === 1 /* ElementNode */ && node.slot && node.hidden) {
596
+ node.removeAttribute("hidden");
597
+ } else if (node.nodeType === 8 /* CommentNode */ || node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
598
+ node.parentNode.removeChild(node);
599
+ }
600
+ }
601
+ });
602
+ }
603
+ }
604
+ plt.$orgLocNodes$.delete(hostElm["s-id"]);
605
+ hostRef.$hostElement$ = hostElm;
606
+ endHydrate();
455
607
  };
456
- function sortedAttrNames(attrNames) {
457
- return attrNames.includes("ref") ? (
458
- // we need to sort these to ensure that `'ref'` is the last attr
459
- [...attrNames.filter((attr) => attr !== "ref"), "ref"]
460
- ) : (
461
- // no need to sort, return the original array
462
- attrNames
463
- );
464
- }
465
-
466
- // src/runtime/vdom/vdom-render.ts
467
- var scopeId;
468
- var contentRef;
469
- var hostTagName;
470
- var useNativeShadowDom = false;
471
- var checkSlotFallbackVisibility = false;
472
- var checkSlotRelocate = false;
473
- var isSvgMode = false;
474
- var createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
475
- var _a;
476
- const newVNode2 = newParentVNode.$children$[childIndex];
477
- let i2 = 0;
478
- let elm;
479
- let childNode;
480
- let oldVNode;
481
- if (!useNativeShadowDom) {
482
- checkSlotRelocate = true;
483
- if (newVNode2.$tag$ === "slot") {
484
- if (scopeId) {
485
- parentElm.classList.add(scopeId + "-s");
486
- }
487
- newVNode2.$flags$ |= newVNode2.$children$ ? (
488
- // slot element has fallback content
489
- // still create an element that "mocks" the slot element
490
- 2 /* isSlotFallback */
491
- ) : (
492
- // slot element does not have fallback content
493
- // create an html comment we'll use to always reference
494
- // where actual slot content should sit next to
495
- 1 /* isSlotReference */
496
- );
497
- }
498
- }
499
- if (newVNode2.$text$ !== null) {
500
- elm = newVNode2.$elm$ = doc.createTextNode(newVNode2.$text$);
501
- } else if (newVNode2.$flags$ & 1 /* isSlotReference */) {
502
- elm = newVNode2.$elm$ = doc.createTextNode("");
503
- } else {
504
- if (!isSvgMode) {
505
- isSvgMode = newVNode2.$tag$ === "svg";
506
- }
507
- elm = newVNode2.$elm$ = doc.createElementNS(
508
- isSvgMode ? SVG_NS : HTML_NS,
509
- !useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? "slot-fb" : newVNode2.$tag$
510
- ) ;
511
- if (isSvgMode && newVNode2.$tag$ === "foreignObject") {
512
- isSvgMode = false;
513
- }
514
- {
515
- updateElement(null, newVNode2, isSvgMode);
516
- }
517
- const rootNode = elm.getRootNode();
518
- const isElementWithinShadowRoot = !rootNode.querySelector("body");
519
- if (!isElementWithinShadowRoot && BUILD.scoped && isDef(scopeId) && elm["s-si"] !== scopeId) {
520
- elm.classList.add(elm["s-si"] = scopeId);
521
- }
522
- {
523
- updateElementScopeIds(elm, parentElm);
524
- }
525
- if (newVNode2.$children$) {
526
- for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
527
- childNode = createElm(oldParentVNode, newVNode2, i2, elm);
528
- if (childNode) {
529
- elm.appendChild(childNode);
608
+ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId, slottedNodes = []) => {
609
+ let childNodeType;
610
+ let childIdSplt;
611
+ let childVNode;
612
+ let i2;
613
+ const scopeId2 = hostElm["s-sc"];
614
+ if (node.nodeType === 1 /* ElementNode */) {
615
+ childNodeType = node.getAttribute(HYDRATE_CHILD_ID);
616
+ if (childNodeType) {
617
+ childIdSplt = childNodeType.split(".");
618
+ if (childIdSplt[0] === hostId || childIdSplt[0] === "0") {
619
+ childVNode = createSimpleVNode({
620
+ $flags$: 0,
621
+ $hostId$: childIdSplt[0],
622
+ $nodeId$: childIdSplt[1],
623
+ $depth$: childIdSplt[2],
624
+ $index$: childIdSplt[3],
625
+ $tag$: node.tagName.toLowerCase(),
626
+ $elm$: node,
627
+ // If we don't add the initial classes to the VNode, the first `vdom-render.ts` patch
628
+ // won't try to reconcile them. Classes set on the node will be blown away.
629
+ $attrs$: { class: node.className || "" }
630
+ });
631
+ childRenderNodes.push(childVNode);
632
+ node.removeAttribute(HYDRATE_CHILD_ID);
633
+ if (!parentVNode.$children$) {
634
+ parentVNode.$children$ = [];
530
635
  }
531
- }
532
- }
533
- {
534
- if (newVNode2.$tag$ === "svg") {
535
- isSvgMode = false;
536
- } else if (elm.tagName === "foreignObject") {
537
- isSvgMode = true;
538
- }
539
- }
540
- }
541
- elm["s-hn"] = hostTagName;
542
- {
543
- if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
544
- elm["s-sr"] = true;
545
- elm["s-cr"] = contentRef;
546
- elm["s-sn"] = newVNode2.$name$ || "";
547
- elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
548
- oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
549
- if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
550
- {
551
- putBackInOriginalLocation(oldParentVNode.$elm$, false);
636
+ if (scopeId2) {
637
+ node["s-si"] = scopeId2;
638
+ childVNode.$attrs$.class += " " + scopeId2;
639
+ }
640
+ const slotName = childVNode.$elm$.getAttribute("s-sn");
641
+ if (typeof slotName === "string") {
642
+ if (childVNode.$tag$ === "slot-fb") {
643
+ addSlot(
644
+ slotName,
645
+ childIdSplt[2],
646
+ childVNode,
647
+ node,
648
+ parentVNode,
649
+ childRenderNodes,
650
+ slotNodes,
651
+ shadowRootNodes,
652
+ slottedNodes
653
+ );
654
+ if (scopeId2) {
655
+ node.classList.add(scopeId2);
656
+ }
657
+ }
658
+ childVNode.$elm$["s-sn"] = slotName;
659
+ childVNode.$elm$.removeAttribute("s-sn");
660
+ }
661
+ if (childVNode.$index$ !== void 0) {
662
+ parentVNode.$children$[childVNode.$index$] = childVNode;
663
+ }
664
+ parentVNode = childVNode;
665
+ if (shadowRootNodes && childVNode.$depth$ === "0") {
666
+ shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
552
667
  }
553
668
  }
554
669
  }
555
- }
556
- return elm;
557
- };
558
- var putBackInOriginalLocation = (parentElm, recursive) => {
559
- plt.$flags$ |= 1 /* isTmpDisconnected */;
560
- const oldSlotChildNodes = Array.from(parentElm.__childNodes || parentElm.childNodes);
561
- if (parentElm["s-sr"] && BUILD.experimentalSlotFixes) {
562
- let node = parentElm;
563
- while (node = node.nextSibling) {
564
- if (node && node["s-sn"] === parentElm["s-sn"] && node["s-sh"] === hostTagName) {
565
- oldSlotChildNodes.push(node);
670
+ if (node.shadowRoot) {
671
+ for (i2 = node.shadowRoot.childNodes.length - 1; i2 >= 0; i2--) {
672
+ clientHydrate(
673
+ parentVNode,
674
+ childRenderNodes,
675
+ slotNodes,
676
+ shadowRootNodes,
677
+ hostElm,
678
+ node.shadowRoot.childNodes[i2],
679
+ hostId,
680
+ slottedNodes
681
+ );
566
682
  }
567
683
  }
568
- }
569
- for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {
570
- const childNode = oldSlotChildNodes[i2];
571
- if (childNode["s-hn"] !== hostTagName && childNode["s-ol"]) {
572
- insertBefore(parentReferenceNode(childNode), childNode, referenceNode(childNode));
573
- childNode["s-ol"].remove();
574
- childNode["s-ol"] = void 0;
575
- childNode["s-sh"] = void 0;
576
- checkSlotRelocate = true;
577
- }
578
- if (recursive) {
579
- putBackInOriginalLocation(childNode, recursive);
580
- }
581
- }
582
- plt.$flags$ &= ~1 /* isTmpDisconnected */;
583
- };
584
- var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
585
- let containerElm = parentElm["s-cr"] && parentElm["s-cr"].parentNode || parentElm;
586
- let childNode;
587
- if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
588
- containerElm = containerElm.shadowRoot;
589
- }
590
- for (; startIdx <= endIdx; ++startIdx) {
591
- if (vnodes[startIdx]) {
592
- childNode = createElm(null, parentVNode, startIdx, parentElm);
593
- if (childNode) {
594
- vnodes[startIdx].$elm$ = childNode;
595
- insertBefore(containerElm, childNode, referenceNode(before) );
596
- }
684
+ const nonShadowNodes = node.__childNodes || node.childNodes;
685
+ for (i2 = nonShadowNodes.length - 1; i2 >= 0; i2--) {
686
+ clientHydrate(
687
+ parentVNode,
688
+ childRenderNodes,
689
+ slotNodes,
690
+ shadowRootNodes,
691
+ hostElm,
692
+ nonShadowNodes[i2],
693
+ hostId,
694
+ slottedNodes
695
+ );
597
696
  }
598
- }
599
- };
600
- var removeVnodes = (vnodes, startIdx, endIdx) => {
601
- for (let index = startIdx; index <= endIdx; ++index) {
602
- const vnode = vnodes[index];
603
- if (vnode) {
604
- const elm = vnode.$elm$;
605
- nullifyVNodeRefs(vnode);
606
- if (elm) {
607
- {
608
- checkSlotFallbackVisibility = true;
609
- if (elm["s-ol"]) {
610
- elm["s-ol"].remove();
611
- } else {
612
- putBackInOriginalLocation(elm, true);
697
+ } else if (node.nodeType === 8 /* CommentNode */) {
698
+ childIdSplt = node.nodeValue.split(".");
699
+ if (childIdSplt[1] === hostId || childIdSplt[1] === "0") {
700
+ childNodeType = childIdSplt[0];
701
+ childVNode = createSimpleVNode({
702
+ $hostId$: childIdSplt[1],
703
+ $nodeId$: childIdSplt[2],
704
+ $depth$: childIdSplt[3],
705
+ $index$: childIdSplt[4] || "0",
706
+ $elm$: node,
707
+ $attrs$: null,
708
+ $children$: null,
709
+ $key$: null,
710
+ $name$: null,
711
+ $tag$: null,
712
+ $text$: null
713
+ });
714
+ if (childNodeType === TEXT_NODE_ID) {
715
+ childVNode.$elm$ = findCorrespondingNode(node, 3 /* TextNode */);
716
+ if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) {
717
+ childVNode.$text$ = childVNode.$elm$.textContent;
718
+ childRenderNodes.push(childVNode);
719
+ node.remove();
720
+ if (hostId === childVNode.$hostId$) {
721
+ if (!parentVNode.$children$) {
722
+ parentVNode.$children$ = [];
723
+ }
724
+ parentVNode.$children$[childVNode.$index$] = childVNode;
613
725
  }
614
- }
615
- elm.remove();
616
- }
617
- }
618
- }
619
- };
620
- var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = false) => {
621
- let oldStartIdx = 0;
622
- let newStartIdx = 0;
623
- let idxInOld = 0;
624
- let i2 = 0;
625
- let oldEndIdx = oldCh.length - 1;
626
- let oldStartVnode = oldCh[0];
627
- let oldEndVnode = oldCh[oldEndIdx];
628
- let newEndIdx = newCh.length - 1;
629
- let newStartVnode = newCh[0];
630
- let newEndVnode = newCh[newEndIdx];
631
- let node;
632
- let elmToMove;
633
- while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
634
- if (oldStartVnode == null) {
635
- oldStartVnode = oldCh[++oldStartIdx];
636
- } else if (oldEndVnode == null) {
637
- oldEndVnode = oldCh[--oldEndIdx];
638
- } else if (newStartVnode == null) {
639
- newStartVnode = newCh[++newStartIdx];
640
- } else if (newEndVnode == null) {
641
- newEndVnode = newCh[--newEndIdx];
642
- } else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {
643
- patch(oldStartVnode, newStartVnode, isInitialRender);
644
- oldStartVnode = oldCh[++oldStartIdx];
645
- newStartVnode = newCh[++newStartIdx];
646
- } else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {
647
- patch(oldEndVnode, newEndVnode, isInitialRender);
648
- oldEndVnode = oldCh[--oldEndIdx];
649
- newEndVnode = newCh[--newEndIdx];
650
- } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
651
- if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
652
- putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
653
- }
654
- patch(oldStartVnode, newEndVnode, isInitialRender);
655
- insertBefore(parentElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
656
- oldStartVnode = oldCh[++oldStartIdx];
657
- newEndVnode = newCh[--newEndIdx];
658
- } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
659
- if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
660
- putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
661
- }
662
- patch(oldEndVnode, newStartVnode, isInitialRender);
663
- insertBefore(parentElm, oldEndVnode.$elm$, oldStartVnode.$elm$);
664
- oldEndVnode = oldCh[--oldEndIdx];
665
- newStartVnode = newCh[++newStartIdx];
666
- } else {
667
- idxInOld = -1;
668
- {
669
- for (i2 = oldStartIdx; i2 <= oldEndIdx; ++i2) {
670
- if (oldCh[i2] && oldCh[i2].$key$ !== null && oldCh[i2].$key$ === newStartVnode.$key$) {
671
- idxInOld = i2;
672
- break;
726
+ if (shadowRootNodes && childVNode.$depth$ === "0") {
727
+ shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
673
728
  }
674
729
  }
675
- }
676
- if (idxInOld >= 0) {
677
- elmToMove = oldCh[idxInOld];
678
- if (elmToMove.$tag$ !== newStartVnode.$tag$) {
679
- node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld, parentElm);
680
- } else {
681
- patch(elmToMove, newStartVnode, isInitialRender);
682
- oldCh[idxInOld] = void 0;
683
- node = elmToMove.$elm$;
730
+ } else if (childNodeType === COMMENT_NODE_ID) {
731
+ childVNode.$elm$ = findCorrespondingNode(node, 8 /* CommentNode */);
732
+ if (childVNode.$elm$ && childVNode.$elm$.nodeType === 8 /* CommentNode */) {
733
+ childRenderNodes.push(childVNode);
734
+ node.remove();
684
735
  }
685
- newStartVnode = newCh[++newStartIdx];
686
- } else {
687
- node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx, parentElm);
688
- newStartVnode = newCh[++newStartIdx];
689
- }
690
- if (node) {
691
- {
692
- insertBefore(parentReferenceNode(oldStartVnode.$elm$), node, referenceNode(oldStartVnode.$elm$));
736
+ } else if (childVNode.$hostId$ === hostId) {
737
+ if (childNodeType === SLOT_NODE_ID) {
738
+ const slotName = node["s-sn"] = childIdSplt[5] || "";
739
+ addSlot(
740
+ slotName,
741
+ childIdSplt[2],
742
+ childVNode,
743
+ node,
744
+ parentVNode,
745
+ childRenderNodes,
746
+ slotNodes,
747
+ shadowRootNodes,
748
+ slottedNodes
749
+ );
750
+ } else if (childNodeType === CONTENT_REF_ID) {
751
+ if (shadowRootNodes) {
752
+ node.remove();
753
+ } else {
754
+ hostElm["s-cr"] = node;
755
+ node["s-cn"] = true;
756
+ }
693
757
  }
694
758
  }
695
759
  }
760
+ } else if (parentVNode && parentVNode.$tag$ === "style") {
761
+ const vnode = newVNode(null, node.textContent);
762
+ vnode.$elm$ = node;
763
+ vnode.$index$ = "0";
764
+ parentVNode.$children$ = [vnode];
765
+ } else {
766
+ if (node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
767
+ node.remove();
768
+ }
696
769
  }
697
- if (oldStartIdx > oldEndIdx) {
698
- addVnodes(
699
- parentElm,
700
- newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$,
701
- newVNode2,
702
- newCh,
703
- newStartIdx,
704
- newEndIdx
705
- );
706
- } else if (newStartIdx > newEndIdx) {
707
- removeVnodes(oldCh, oldStartIdx, oldEndIdx);
708
- }
770
+ return parentVNode;
709
771
  };
710
- var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
711
- if (leftVNode.$tag$ === rightVNode.$tag$) {
712
- if (leftVNode.$tag$ === "slot") {
713
- if (
714
- // The component gets hydrated and no VDOM has been initialized.
715
- // Here the comparison can't happen as $name$ property is not set for `leftNode`.
716
- "$nodeId$" in leftVNode && isInitialRender && // `leftNode` is not from type HTMLComment which would cause many
717
- // hydration comments to be removed
718
- leftVNode.$elm$.nodeType !== 8
719
- ) {
720
- return false;
772
+ var initializeDocumentHydrate = (node, orgLocNodes) => {
773
+ if (node.nodeType === 1 /* ElementNode */) {
774
+ const componentId = node[HYDRATE_ID] || node.getAttribute(HYDRATE_ID);
775
+ if (componentId) {
776
+ orgLocNodes.set(componentId, node);
777
+ }
778
+ let i2 = 0;
779
+ if (node.shadowRoot) {
780
+ for (; i2 < node.shadowRoot.childNodes.length; i2++) {
781
+ initializeDocumentHydrate(node.shadowRoot.childNodes[i2], orgLocNodes);
721
782
  }
722
- return leftVNode.$name$ === rightVNode.$name$;
723
783
  }
724
- if (!isInitialRender) {
725
- return leftVNode.$key$ === rightVNode.$key$;
784
+ const nonShadowNodes = node.__childNodes || node.childNodes;
785
+ for (i2 = 0; i2 < nonShadowNodes.length; i2++) {
786
+ initializeDocumentHydrate(nonShadowNodes[i2], orgLocNodes);
787
+ }
788
+ } else if (node.nodeType === 8 /* CommentNode */) {
789
+ const childIdSplt = node.nodeValue.split(".");
790
+ if (childIdSplt[0] === ORG_LOCATION_ID) {
791
+ orgLocNodes.set(childIdSplt[1] + "." + childIdSplt[2], node);
792
+ node.nodeValue = "";
793
+ node["s-en"] = childIdSplt[3];
726
794
  }
727
- return true;
728
795
  }
729
- return false;
730
796
  };
731
- var referenceNode = (node) => {
732
- return node && node["s-ol"] || node;
797
+ var createSimpleVNode = (vnode) => {
798
+ const defaultVNode = {
799
+ $flags$: 0,
800
+ $hostId$: null,
801
+ $nodeId$: null,
802
+ $depth$: null,
803
+ $index$: "0",
804
+ $elm$: null,
805
+ $attrs$: null,
806
+ $children$: null,
807
+ $key$: null,
808
+ $name$: null,
809
+ $tag$: null,
810
+ $text$: null
811
+ };
812
+ return { ...defaultVNode, ...vnode };
733
813
  };
734
- var parentReferenceNode = (node) => (node["s-ol"] ? node["s-ol"] : node).parentNode;
735
- var patch = (oldVNode, newVNode2, isInitialRender = false) => {
736
- const elm = newVNode2.$elm$ = oldVNode.$elm$;
737
- const oldChildren = oldVNode.$children$;
738
- const newChildren = newVNode2.$children$;
739
- const tag = newVNode2.$tag$;
740
- const text = newVNode2.$text$;
741
- let defaultHolder;
742
- if (text === null) {
743
- {
744
- isSvgMode = tag === "svg" ? true : tag === "foreignObject" ? false : isSvgMode;
814
+ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNodes, slotNodes, shadowRootNodes, slottedNodes) {
815
+ node["s-sr"] = true;
816
+ childVNode.$name$ = slotName || null;
817
+ childVNode.$tag$ = "slot";
818
+ const parentNodeId = (parentVNode == null ? void 0 : parentVNode.$elm$) ? parentVNode.$elm$["s-id"] || parentVNode.$elm$.getAttribute("s-id") : "";
819
+ if (shadowRootNodes && win.document) {
820
+ const slot = childVNode.$elm$ = win.document.createElement(childVNode.$tag$);
821
+ if (childVNode.$name$) {
822
+ childVNode.$elm$.setAttribute("name", slotName);
745
823
  }
746
- {
747
- if (tag === "slot" && !useNativeShadowDom) ; else {
748
- updateElement(oldVNode, newVNode2, isSvgMode);
749
- }
824
+ if (parentNodeId && parentNodeId !== childVNode.$hostId$) {
825
+ parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
826
+ } else {
827
+ node.parentNode.insertBefore(childVNode.$elm$, node);
750
828
  }
751
- if (oldChildren !== null && newChildren !== null) {
752
- updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);
753
- } else if (newChildren !== null) {
754
- if (oldVNode.$text$ !== null) {
755
- elm.textContent = "";
756
- }
757
- addVnodes(elm, null, newVNode2, newChildren, 0, newChildren.length - 1);
758
- } else if (
759
- // don't do this on initial render as it can cause non-hydrated content to be removed
760
- !isInitialRender && BUILD.updatable && oldChildren !== null
761
- ) {
762
- removeVnodes(oldChildren, 0, oldChildren.length - 1);
829
+ addSlottedNodes(slottedNodes, slotId, slotName, node, childVNode.$hostId$);
830
+ node.remove();
831
+ if (childVNode.$depth$ === "0") {
832
+ shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
763
833
  }
764
- if (isSvgMode && tag === "svg") {
765
- isSvgMode = false;
834
+ } else {
835
+ const slot = childVNode.$elm$;
836
+ const shouldMove = parentNodeId && parentNodeId !== childVNode.$hostId$ && parentVNode.$elm$.shadowRoot;
837
+ addSlottedNodes(slottedNodes, slotId, slotName, node, shouldMove ? parentNodeId : childVNode.$hostId$);
838
+ patchSlotNode(node);
839
+ if (shouldMove) {
840
+ parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
766
841
  }
767
- } else if ((defaultHolder = elm["s-cr"])) {
768
- defaultHolder.parentNode.textContent = text;
769
- } else if (oldVNode.$text$ !== text) {
770
- elm.data = text;
842
+ childRenderNodes.push(childVNode);
843
+ }
844
+ slotNodes.push(childVNode);
845
+ if (!parentVNode.$children$) {
846
+ parentVNode.$children$ = [];
847
+ }
848
+ parentVNode.$children$[childVNode.$index$] = childVNode;
849
+ }
850
+ var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
851
+ let slottedNode = slotNode.nextSibling;
852
+ slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
853
+ while (slottedNode && ((slottedNode["getAttribute"] && slottedNode.getAttribute("slot") || slottedNode["s-sn"]) === slotName || slotName === "" && !slottedNode["s-sn"] && (slottedNode.nodeType === 8 /* CommentNode */ && slottedNode.nodeValue.indexOf(".") !== 1 || slottedNode.nodeType === 3 /* TextNode */))) {
854
+ slottedNode["s-sn"] = slotName;
855
+ slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
856
+ slottedNode = slottedNode.nextSibling;
771
857
  }
772
858
  };
773
- var updateFallbackSlotVisibility = (elm) => {
774
- const childNodes = elm.__childNodes || elm.childNodes;
775
- for (const childNode of childNodes) {
776
- if (childNode.nodeType === 1 /* ElementNode */) {
777
- if (childNode["s-sr"]) {
778
- const slotName = childNode["s-sn"];
779
- childNode.hidden = false;
780
- for (const siblingNode of childNodes) {
781
- if (siblingNode !== childNode) {
782
- if (siblingNode["s-hn"] !== childNode["s-hn"] || slotName !== "") {
783
- if (siblingNode.nodeType === 1 /* ElementNode */ && (slotName === siblingNode.getAttribute("slot") || slotName === siblingNode["s-sn"]) || siblingNode.nodeType === 3 /* TextNode */ && slotName === siblingNode["s-sn"]) {
784
- childNode.hidden = true;
785
- break;
786
- }
787
- } else if (slotName === siblingNode["s-sn"]) {
788
- if (siblingNode.nodeType === 1 /* ElementNode */ || siblingNode.nodeType === 3 /* TextNode */ && siblingNode.textContent.trim() !== "") {
789
- childNode.hidden = true;
790
- break;
791
- }
792
- }
793
- }
794
- }
795
- }
796
- updateFallbackSlotVisibility(childNode);
859
+ var findCorrespondingNode = (node, type) => {
860
+ let sibling = node;
861
+ do {
862
+ sibling = sibling.nextSibling;
863
+ } while (sibling && (sibling.nodeType !== type || !sibling.nodeValue));
864
+ return sibling;
865
+ };
866
+ var parsePropertyValue = (propValue, propType) => {
867
+ if (propValue != null && !isComplexType(propValue)) {
868
+ if (propType & 4 /* Boolean */) {
869
+ return propValue === "false" ? false : propValue === "" || !!propValue;
870
+ }
871
+ if (propType & 2 /* Number */) {
872
+ return parseFloat(propValue);
873
+ }
874
+ if (propType & 1 /* String */) {
875
+ return String(propValue);
797
876
  }
877
+ return propValue;
798
878
  }
879
+ return propValue;
799
880
  };
800
- var relocateNodes = [];
801
- var markSlotContentForRelocation = (elm) => {
802
- let node;
803
- let hostContentNodes;
804
- let j;
805
- const children = elm.__childNodes || elm.childNodes;
806
- for (const childNode of children) {
807
- if (childNode["s-sr"] && (node = childNode["s-cr"]) && node.parentNode) {
808
- hostContentNodes = node.parentNode.__childNodes || node.parentNode.childNodes;
809
- const slotName = childNode["s-sn"];
810
- for (j = hostContentNodes.length - 1; j >= 0; j--) {
811
- node = hostContentNodes[j];
812
- if (!node["s-cn"] && !node["s-nr"] && node["s-hn"] !== childNode["s-hn"] && (!BUILD.experimentalSlotFixes )) {
813
- if (isNodeLocatedInSlot(node, slotName)) {
814
- let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
815
- checkSlotFallbackVisibility = true;
816
- node["s-sn"] = node["s-sn"] || slotName;
817
- if (relocateNodeData) {
818
- relocateNodeData.$nodeToRelocate$["s-sh"] = childNode["s-hn"];
819
- relocateNodeData.$slotRefNode$ = childNode;
820
- } else {
821
- node["s-sh"] = childNode["s-hn"];
822
- relocateNodes.push({
823
- $slotRefNode$: childNode,
824
- $nodeToRelocate$: node
825
- });
826
- }
827
- if (node["s-sr"]) {
828
- relocateNodes.map((relocateNode) => {
829
- if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node["s-sn"])) {
830
- relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
831
- if (relocateNodeData && !relocateNode.$slotRefNode$) {
832
- relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
833
- }
881
+ var getElement = (ref) => getHostRef(ref).$hostElement$ ;
882
+
883
+ // src/runtime/event-emitter.ts
884
+ var createEvent = (ref, name, flags) => {
885
+ const elm = getElement(ref);
886
+ return {
887
+ emit: (detail) => {
888
+ return emitEvent(elm, name, {
889
+ bubbles: true,
890
+ composed: true,
891
+ cancelable: true,
892
+ detail
893
+ });
894
+ }
895
+ };
896
+ };
897
+ var emitEvent = (elm, name, opts) => {
898
+ const ev = plt.ce(name, opts);
899
+ elm.dispatchEvent(ev);
900
+ return ev;
901
+ };
902
+ var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
903
+ var registerStyle = (scopeId2, cssText, allowCS) => {
904
+ let style = styles.get(scopeId2);
905
+ if (supportsConstructableStylesheets && allowCS) {
906
+ style = style || new CSSStyleSheet();
907
+ if (typeof style === "string") {
908
+ style = cssText;
909
+ } else {
910
+ style.replaceSync(cssText);
911
+ }
912
+ } else {
913
+ style = cssText;
914
+ }
915
+ styles.set(scopeId2, style);
916
+ };
917
+ var addStyle = (styleContainerNode, cmpMeta, mode) => {
918
+ var _a;
919
+ const scopeId2 = getScopeId(cmpMeta);
920
+ const style = styles.get(scopeId2);
921
+ if (!win.document) {
922
+ return scopeId2;
923
+ }
924
+ styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
925
+ if (style) {
926
+ if (typeof style === "string") {
927
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
928
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
929
+ let styleElm;
930
+ if (!appliedStyles) {
931
+ rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
932
+ }
933
+ if (!appliedStyles.has(scopeId2)) {
934
+ if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
935
+ styleElm.innerHTML = style;
936
+ } else {
937
+ styleElm = document.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`) || win.document.createElement("style");
938
+ styleElm.innerHTML = style;
939
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
940
+ if (nonce != null) {
941
+ styleElm.setAttribute("nonce", nonce);
942
+ }
943
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
944
+ if (styleContainerNode.nodeName === "HEAD") {
945
+ const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
946
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
947
+ styleContainerNode.insertBefore(
948
+ styleElm,
949
+ (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
950
+ );
951
+ } else if ("host" in styleContainerNode) {
952
+ if (supportsConstructableStylesheets) {
953
+ const stylesheet = new CSSStyleSheet();
954
+ stylesheet.replaceSync(style);
955
+ styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
956
+ } else {
957
+ const existingStyleContainer = styleContainerNode.querySelector("style");
958
+ if (existingStyleContainer) {
959
+ existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
960
+ } else {
961
+ styleContainerNode.prepend(styleElm);
834
962
  }
835
- });
963
+ }
964
+ } else {
965
+ styleContainerNode.append(styleElm);
836
966
  }
837
- } else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
838
- relocateNodes.push({
839
- $nodeToRelocate$: node
840
- });
841
967
  }
968
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
969
+ styleContainerNode.insertBefore(styleElm, null);
970
+ }
971
+ }
972
+ if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
973
+ styleElm.innerHTML += SLOT_FB_CSS;
974
+ }
975
+ if (appliedStyles) {
976
+ appliedStyles.add(scopeId2);
842
977
  }
843
978
  }
844
- }
845
- if (childNode.nodeType === 1 /* ElementNode */) {
846
- markSlotContentForRelocation(childNode);
979
+ } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
980
+ styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
847
981
  }
848
982
  }
983
+ return scopeId2;
849
984
  };
850
- var isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
851
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
852
- if (nodeToRelocate.getAttribute("slot") === null && slotName === "") {
853
- return true;
854
- }
855
- if (nodeToRelocate.getAttribute("slot") === slotName) {
856
- return true;
857
- }
858
- return false;
859
- }
860
- if (nodeToRelocate["s-sn"] === slotName) {
861
- return true;
985
+ var attachStyles = (hostRef) => {
986
+ const cmpMeta = hostRef.$cmpMeta$;
987
+ const elm = hostRef.$hostElement$;
988
+ const flags = cmpMeta.$flags$;
989
+ const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
990
+ const scopeId2 = addStyle(
991
+ elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
992
+ cmpMeta);
993
+ if ((flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */ || flags & 128 /* shadowNeedsScopedCss */)) {
994
+ elm["s-sc"] = scopeId2;
995
+ elm.classList.add(scopeId2 + "-h");
862
996
  }
863
- return slotName === "";
997
+ endAttachStyles();
864
998
  };
865
- var nullifyVNodeRefs = (vNode) => {
866
- {
867
- vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
868
- vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
999
+ var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
1000
+ var convertScopedToShadow = (css) => css.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g, "$1{");
1001
+ var hydrateScopedToShadow = () => {
1002
+ if (!win.document) {
1003
+ return;
869
1004
  }
870
- };
871
- var insertBefore = (parent, newNode, reference) => {
872
- const inserted = parent == null ? void 0 : parent.insertBefore(newNode, reference);
873
- {
874
- updateElementScopeIds(newNode, parent);
875
- }
876
- return inserted;
877
- };
878
- var findScopeIds = (element) => {
879
- const scopeIds = [];
880
- if (element) {
881
- scopeIds.push(
882
- ...element["s-scs"] || [],
883
- element["s-si"],
884
- element["s-sc"],
885
- ...findScopeIds(element.parentElement)
886
- );
1005
+ const styles2 = win.document.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);
1006
+ let i2 = 0;
1007
+ for (; i2 < styles2.length; i2++) {
1008
+ registerStyle(styles2[i2].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles2[i2].innerHTML), true);
887
1009
  }
888
- return scopeIds;
889
1010
  };
890
- var updateElementScopeIds = (element, parent, iterateChildNodes = false) => {
891
- var _a;
892
- if (element && parent && element.nodeType === 1 /* ElementNode */) {
893
- const scopeIds = new Set(findScopeIds(parent).filter(Boolean));
894
- if (scopeIds.size) {
895
- (_a = element.classList) == null ? void 0 : _a.add(...element["s-scs"] = Array.from(scopeIds));
896
- if (element["s-ol"] || iterateChildNodes) {
897
- for (const childNode of Array.from(element.__childNodes || element.childNodes)) {
898
- updateElementScopeIds(childNode, element, true);
1011
+ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => {
1012
+ if (oldValue === newValue) {
1013
+ return;
1014
+ }
1015
+ let isProp = isMemberInElement(elm, memberName);
1016
+ let ln = memberName.toLowerCase();
1017
+ if (memberName === "class") {
1018
+ const classList = elm.classList;
1019
+ const oldClasses = parseClassList(oldValue);
1020
+ let newClasses = parseClassList(newValue);
1021
+ if (elm["s-si"] && initialRender) {
1022
+ newClasses.push(elm["s-si"]);
1023
+ oldClasses.forEach((c) => {
1024
+ if (c.startsWith(elm["s-si"])) newClasses.push(c);
1025
+ });
1026
+ newClasses = [...new Set(newClasses)];
1027
+ classList.add(...newClasses);
1028
+ } else {
1029
+ classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
1030
+ classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
1031
+ }
1032
+ } else if (memberName === "style") {
1033
+ {
1034
+ for (const prop in oldValue) {
1035
+ if (!newValue || newValue[prop] == null) {
1036
+ if (prop.includes("-")) {
1037
+ elm.style.removeProperty(prop);
1038
+ } else {
1039
+ elm.style[prop] = "";
1040
+ }
899
1041
  }
900
1042
  }
901
1043
  }
902
- }
903
- };
904
- var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
905
- var _a, _b, _c, _d;
906
- const hostElm = hostRef.$hostElement$;
907
- const cmpMeta = hostRef.$cmpMeta$;
908
- const oldVNode = hostRef.$vnode$ || newVNode(null, null);
909
- const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
910
- hostTagName = hostElm.tagName;
911
- if (cmpMeta.$attrsToReflect$) {
912
- rootVnode.$attrs$ = rootVnode.$attrs$ || {};
913
- cmpMeta.$attrsToReflect$.map(
914
- ([propName, attribute]) => rootVnode.$attrs$[attribute] = hostElm[propName]
915
- );
916
- }
917
- if (isInitialLoad && rootVnode.$attrs$) {
918
- for (const key of Object.keys(rootVnode.$attrs$)) {
919
- if (hostElm.hasAttribute(key) && !["key", "ref", "style", "class"].includes(key)) {
920
- rootVnode.$attrs$[key] = hostElm[key];
1044
+ for (const prop in newValue) {
1045
+ if (!oldValue || newValue[prop] !== oldValue[prop]) {
1046
+ if (prop.includes("-")) {
1047
+ elm.style.setProperty(prop, newValue[prop]);
1048
+ } else {
1049
+ elm.style[prop] = newValue[prop];
1050
+ }
921
1051
  }
922
1052
  }
923
- }
924
- rootVnode.$tag$ = null;
925
- rootVnode.$flags$ |= 4 /* isHost */;
926
- hostRef.$vnode$ = rootVnode;
927
- rootVnode.$elm$ = oldVNode.$elm$ = hostElm.shadowRoot || hostElm ;
928
- {
929
- scopeId = hostElm["s-sc"];
930
- }
931
- useNativeShadowDom = (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;
932
- {
933
- contentRef = hostElm["s-cr"];
934
- checkSlotFallbackVisibility = false;
935
- }
936
- patch(oldVNode, rootVnode, isInitialLoad);
937
- {
938
- plt.$flags$ |= 1 /* isTmpDisconnected */;
939
- if (checkSlotRelocate) {
940
- markSlotContentForRelocation(rootVnode.$elm$);
941
- for (const relocateData of relocateNodes) {
942
- const nodeToRelocate = relocateData.$nodeToRelocate$;
943
- if (!nodeToRelocate["s-ol"]) {
944
- const orgLocationNode = doc.createTextNode("");
945
- orgLocationNode["s-nr"] = nodeToRelocate;
946
- insertBefore(nodeToRelocate.parentNode, nodeToRelocate["s-ol"] = orgLocationNode, nodeToRelocate);
947
- }
1053
+ } else if (memberName === "key") ; else if (memberName === "ref") {
1054
+ if (newValue) {
1055
+ newValue(elm);
1056
+ }
1057
+ } else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
1058
+ if (memberName[2] === "-") {
1059
+ memberName = memberName.slice(3);
1060
+ } else if (isMemberInElement(win, ln)) {
1061
+ memberName = ln.slice(2);
1062
+ } else {
1063
+ memberName = ln[2] + memberName.slice(3);
1064
+ }
1065
+ if (oldValue || newValue) {
1066
+ const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
1067
+ memberName = memberName.replace(CAPTURE_EVENT_REGEX, "");
1068
+ if (oldValue) {
1069
+ plt.rel(elm, memberName, oldValue, capture);
948
1070
  }
949
- for (const relocateData of relocateNodes) {
950
- const nodeToRelocate = relocateData.$nodeToRelocate$;
951
- const slotRefNode = relocateData.$slotRefNode$;
952
- if (slotRefNode) {
953
- const parentNodeRef = slotRefNode.parentNode;
954
- let insertBeforeNode = slotRefNode.nextSibling;
955
- {
956
- let orgLocationNode = (_a = nodeToRelocate["s-ol"]) == null ? void 0 : _a.previousSibling;
957
- while (orgLocationNode) {
958
- let refNode = (_b = orgLocationNode["s-nr"]) != null ? _b : null;
959
- if (refNode && refNode["s-sn"] === nodeToRelocate["s-sn"] && parentNodeRef === refNode.parentNode) {
960
- refNode = refNode.nextSibling;
961
- while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode["s-sr"])) {
962
- refNode = refNode == null ? void 0 : refNode.nextSibling;
963
- }
964
- if (!refNode || !refNode["s-nr"]) {
965
- insertBeforeNode = refNode;
966
- break;
967
- }
968
- }
969
- orgLocationNode = orgLocationNode.previousSibling;
970
- }
971
- }
972
- if (!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode || nodeToRelocate.nextSibling !== insertBeforeNode) {
973
- if (nodeToRelocate !== insertBeforeNode) {
974
- if (!nodeToRelocate["s-hn"] && nodeToRelocate["s-ol"]) {
975
- nodeToRelocate["s-hn"] = nodeToRelocate["s-ol"].parentNode.nodeName;
976
- }
977
- insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);
978
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
979
- nodeToRelocate.hidden = (_c = nodeToRelocate["s-ih"]) != null ? _c : false;
980
- }
981
- }
982
- }
983
- nodeToRelocate && typeof slotRefNode["s-rf"] === "function" && slotRefNode["s-rf"](nodeToRelocate);
984
- } else {
985
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
986
- if (isInitialLoad) {
987
- nodeToRelocate["s-ih"] = (_d = nodeToRelocate.hidden) != null ? _d : false;
1071
+ if (newValue) {
1072
+ plt.ael(elm, memberName, newValue, capture);
1073
+ }
1074
+ }
1075
+ } else {
1076
+ const isComplex = isComplexType(newValue);
1077
+ if ((isProp || isComplex && newValue !== null) && !isSvg) {
1078
+ try {
1079
+ if (!elm.tagName.includes("-")) {
1080
+ const n = newValue == null ? "" : newValue;
1081
+ if (memberName === "list") {
1082
+ isProp = false;
1083
+ } else if (oldValue == null || elm[memberName] != n) {
1084
+ if (typeof elm.__lookupSetter__(memberName) === "function") {
1085
+ elm[memberName] = n;
1086
+ } else {
1087
+ elm.setAttribute(memberName, n);
988
1088
  }
989
- nodeToRelocate.hidden = true;
990
1089
  }
1090
+ } else if (elm[memberName] !== newValue) {
1091
+ elm[memberName] = newValue;
991
1092
  }
1093
+ } catch (e) {
992
1094
  }
993
1095
  }
994
- if (checkSlotFallbackVisibility) {
995
- updateFallbackSlotVisibility(rootVnode.$elm$);
1096
+ let xlink = false;
1097
+ {
1098
+ if (ln !== (ln = ln.replace(/^xlink\:?/, ""))) {
1099
+ memberName = ln;
1100
+ xlink = true;
1101
+ }
1102
+ }
1103
+ if (newValue == null || newValue === false) {
1104
+ if (newValue !== false || elm.getAttribute(memberName) === "") {
1105
+ if (xlink) {
1106
+ elm.removeAttributeNS(XLINK_NS, memberName);
1107
+ } else {
1108
+ elm.removeAttribute(memberName);
1109
+ }
1110
+ }
1111
+ } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex && elm.nodeType === 1 /* ElementNode */) {
1112
+ newValue = newValue === true ? "" : newValue;
1113
+ if (xlink) {
1114
+ elm.setAttributeNS(XLINK_NS, memberName, newValue);
1115
+ } else {
1116
+ elm.setAttribute(memberName, newValue);
1117
+ }
996
1118
  }
997
- plt.$flags$ &= ~1 /* isTmpDisconnected */;
998
- relocateNodes.length = 0;
999
1119
  }
1000
- contentRef = void 0;
1001
1120
  };
1002
- var addSlotRelocateNode = (newChild, slotNode, prepend, position) => {
1003
- let slottedNodeLocation;
1004
- if (newChild["s-ol"] && newChild["s-ol"].isConnected) {
1005
- slottedNodeLocation = newChild["s-ol"];
1006
- } else {
1007
- slottedNodeLocation = document.createTextNode("");
1008
- slottedNodeLocation["s-nr"] = newChild;
1121
+ var parseClassListRegex = /\s/;
1122
+ var parseClassList = (value) => {
1123
+ if (typeof value === "object" && value && "baseVal" in value) {
1124
+ value = value.baseVal;
1009
1125
  }
1010
- if (!slotNode["s-cr"] || !slotNode["s-cr"].parentNode) return;
1011
- const parent = slotNode["s-cr"].parentNode;
1012
- const appendMethod = prepend ? parent.__prepend || parent.prepend : parent.__appendChild || parent.appendChild;
1013
- if (typeof position !== "undefined") {
1014
- {
1015
- slottedNodeLocation["s-oo"] = position;
1016
- const childNodes = parent.__childNodes || parent.childNodes;
1017
- const slotRelocateNodes = [slottedNodeLocation];
1018
- childNodes.forEach((n) => {
1019
- if (n["s-nr"]) slotRelocateNodes.push(n);
1020
- });
1021
- slotRelocateNodes.sort((a, b) => {
1022
- if (!a["s-oo"] || a["s-oo"] < b["s-oo"]) return -1;
1023
- else if (!b["s-oo"] || b["s-oo"] < a["s-oo"]) return 1;
1024
- return 0;
1025
- });
1026
- slotRelocateNodes.forEach((n) => appendMethod.call(parent, n));
1027
- }
1028
- } else {
1029
- appendMethod.call(parent, slottedNodeLocation);
1126
+ if (!value || typeof value !== "string") {
1127
+ return [];
1030
1128
  }
1031
- newChild["s-ol"] = slottedNodeLocation;
1032
- newChild["s-sh"] = slotNode["s-hn"];
1129
+ return value.split(parseClassListRegex);
1033
1130
  };
1034
- var createTime = (fnName, tagName = "") => {
1131
+ var CAPTURE_EVENT_SUFFIX = "Capture";
1132
+ var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
1133
+
1134
+ // src/runtime/vdom/update-element.ts
1135
+ var updateElement = (oldVnode, newVnode, isSvgMode2, isInitialRender) => {
1136
+ const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
1137
+ const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || {};
1138
+ const newVnodeAttrs = newVnode.$attrs$ || {};
1035
1139
  {
1036
- return () => {
1037
- return;
1038
- };
1140
+ for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
1141
+ if (!(memberName in newVnodeAttrs)) {
1142
+ setAccessor(
1143
+ elm,
1144
+ memberName,
1145
+ oldVnodeAttrs[memberName],
1146
+ void 0,
1147
+ isSvgMode2,
1148
+ newVnode.$flags$,
1149
+ isInitialRender
1150
+ );
1151
+ }
1152
+ }
1039
1153
  }
1040
- };
1041
- var uniqueTime = (key, measureText) => {
1042
- {
1043
- return () => {
1044
- return;
1045
- };
1154
+ for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
1155
+ setAccessor(
1156
+ elm,
1157
+ memberName,
1158
+ oldVnodeAttrs[memberName],
1159
+ newVnodeAttrs[memberName],
1160
+ isSvgMode2,
1161
+ newVnode.$flags$,
1162
+ isInitialRender
1163
+ );
1046
1164
  }
1047
1165
  };
1166
+ function sortedAttrNames(attrNames) {
1167
+ return attrNames.includes("ref") ? (
1168
+ // we need to sort these to ensure that `'ref'` is the last attr
1169
+ [...attrNames.filter((attr) => attr !== "ref"), "ref"]
1170
+ ) : (
1171
+ // no need to sort, return the original array
1172
+ attrNames
1173
+ );
1174
+ }
1048
1175
 
1049
- // src/runtime/client-hydrate.ts
1050
- var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1051
- const endHydrate = createTime("hydrateClient", tagName);
1052
- const shadowRoot = hostElm.shadowRoot;
1053
- const childRenderNodes = [];
1054
- const slotNodes = [];
1055
- const slottedNodes = [];
1056
- const shadowRootNodes = shadowRoot ? [] : null;
1057
- const vnode = newVNode(tagName, null);
1058
- vnode.$elm$ = hostElm;
1059
- if (!plt.$orgLocNodes$) {
1060
- initializeDocumentHydrate(doc.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());
1176
+ // src/runtime/vdom/vdom-render.ts
1177
+ var scopeId;
1178
+ var contentRef;
1179
+ var hostTagName;
1180
+ var useNativeShadowDom = false;
1181
+ var checkSlotFallbackVisibility = false;
1182
+ var checkSlotRelocate = false;
1183
+ var isSvgMode = false;
1184
+ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
1185
+ var _a;
1186
+ const newVNode2 = newParentVNode.$children$[childIndex];
1187
+ let i2 = 0;
1188
+ let elm;
1189
+ let childNode;
1190
+ let oldVNode;
1191
+ if (!useNativeShadowDom) {
1192
+ checkSlotRelocate = true;
1193
+ if (newVNode2.$tag$ === "slot") {
1194
+ newVNode2.$flags$ |= newVNode2.$children$ ? (
1195
+ // slot element has fallback content
1196
+ // still create an element that "mocks" the slot element
1197
+ 2 /* isSlotFallback */
1198
+ ) : (
1199
+ // slot element does not have fallback content
1200
+ // create an html comment we'll use to always reference
1201
+ // where actual slot content should sit next to
1202
+ 1 /* isSlotReference */
1203
+ );
1204
+ }
1061
1205
  }
1062
- hostElm[HYDRATE_ID] = hostId;
1063
- hostElm.removeAttribute(HYDRATE_ID);
1064
- hostRef.$vnode$ = clientHydrate(
1065
- vnode,
1066
- childRenderNodes,
1067
- slotNodes,
1068
- shadowRootNodes,
1069
- hostElm,
1070
- hostElm,
1071
- hostId,
1072
- slottedNodes
1073
- );
1074
- let crIndex = 0;
1075
- const crLength = childRenderNodes.length;
1076
- let childRenderNode;
1077
- for (crIndex; crIndex < crLength; crIndex++) {
1078
- childRenderNode = childRenderNodes[crIndex];
1079
- const orgLocationId = childRenderNode.$hostId$ + "." + childRenderNode.$nodeId$;
1080
- const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);
1081
- const node = childRenderNode.$elm$;
1082
- if (!shadowRoot) {
1083
- node["s-hn"] = tagName.toUpperCase();
1084
- if (childRenderNode.$tag$ === "slot") {
1085
- node["s-cr"] = hostElm["s-cr"];
1086
- }
1206
+ if (newVNode2.$text$ !== null) {
1207
+ elm = newVNode2.$elm$ = win.document.createTextNode(newVNode2.$text$);
1208
+ } else if (newVNode2.$flags$ & 1 /* isSlotReference */) {
1209
+ elm = newVNode2.$elm$ = win.document.createTextNode("");
1210
+ {
1211
+ updateElement(null, newVNode2, isSvgMode);
1087
1212
  }
1088
- if (orgLocationNode && orgLocationNode.isConnected) {
1089
- if (shadowRoot && orgLocationNode["s-en"] === "") {
1090
- orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
1213
+ } else {
1214
+ if (!isSvgMode) {
1215
+ isSvgMode = newVNode2.$tag$ === "svg";
1216
+ }
1217
+ if (!win.document) {
1218
+ throw new Error(
1219
+ "You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component."
1220
+ );
1221
+ }
1222
+ elm = newVNode2.$elm$ = win.document.createElementNS(
1223
+ isSvgMode ? SVG_NS : HTML_NS,
1224
+ !useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? "slot-fb" : newVNode2.$tag$
1225
+ ) ;
1226
+ if (isSvgMode && newVNode2.$tag$ === "foreignObject") {
1227
+ isSvgMode = false;
1228
+ }
1229
+ {
1230
+ updateElement(null, newVNode2, isSvgMode);
1231
+ }
1232
+ if (isDef(scopeId) && elm["s-si"] !== scopeId) {
1233
+ elm.classList.add(elm["s-si"] = scopeId);
1234
+ }
1235
+ if (newVNode2.$children$) {
1236
+ for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
1237
+ childNode = createElm(oldParentVNode, newVNode2, i2);
1238
+ if (childNode) {
1239
+ elm.appendChild(childNode);
1240
+ }
1091
1241
  }
1092
- orgLocationNode.parentNode.removeChild(orgLocationNode);
1093
- if (!shadowRoot) {
1094
- node["s-oo"] = parseInt(childRenderNode.$nodeId$);
1242
+ }
1243
+ {
1244
+ if (newVNode2.$tag$ === "svg") {
1245
+ isSvgMode = false;
1246
+ } else if (elm.tagName === "foreignObject") {
1247
+ isSvgMode = true;
1095
1248
  }
1096
1249
  }
1097
- plt.$orgLocNodes$.delete(orgLocationId);
1098
1250
  }
1099
- const hosts = [];
1100
- let snIndex = 0;
1101
- const snLen = slottedNodes.length;
1102
- let slotGroup;
1103
- let snGroupIdx;
1104
- let snGroupLen;
1105
- let slottedItem;
1106
- for (snIndex; snIndex < snLen; snIndex++) {
1107
- slotGroup = slottedNodes[snIndex];
1108
- if (!slotGroup || !slotGroup.length) continue;
1109
- snGroupLen = slotGroup.length;
1110
- snGroupIdx = 0;
1111
- for (snGroupIdx; snGroupIdx < snGroupLen; snGroupIdx++) {
1112
- slottedItem = slotGroup[snGroupIdx];
1113
- if (!hosts[slottedItem.hostId]) {
1114
- hosts[slottedItem.hostId] = plt.$orgLocNodes$.get(slottedItem.hostId);
1115
- }
1116
- if (!hosts[slottedItem.hostId]) continue;
1117
- const hostEle = hosts[slottedItem.hostId];
1118
- if (!hostEle.shadowRoot || !shadowRoot) {
1119
- slottedItem.slot["s-cr"] = hostEle["s-cr"];
1120
- if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) {
1121
- slottedItem.slot["s-cr"] = hostEle;
1122
- } else {
1123
- const hostChildren = hostEle.__childNodes || hostEle.childNodes;
1124
- slottedItem.slot["s-cr"] = hostChildren[0];
1251
+ elm["s-hn"] = hostTagName;
1252
+ {
1253
+ if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
1254
+ elm["s-sr"] = true;
1255
+ elm["s-cr"] = contentRef;
1256
+ elm["s-sn"] = newVNode2.$name$ || "";
1257
+ elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
1258
+ patchSlotNode(elm);
1259
+ oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
1260
+ if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
1261
+ {
1262
+ putBackInOriginalLocation(oldParentVNode.$elm$, false);
1125
1263
  }
1126
- addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]);
1127
1264
  }
1128
- if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
1129
- hostEle.appendChild(slottedItem.node);
1265
+ {
1266
+ addRemoveSlotScopedClass(contentRef, elm, newParentVNode.$elm$, oldParentVNode == null ? void 0 : oldParentVNode.$elm$);
1130
1267
  }
1131
1268
  }
1132
1269
  }
1133
- if (shadowRoot) {
1134
- let rnIdex = 0;
1135
- const rnLen = shadowRootNodes.length;
1136
- for (rnIdex; rnIdex < rnLen; rnIdex++) {
1137
- shadowRoot.appendChild(shadowRootNodes[rnIdex]);
1270
+ return elm;
1271
+ };
1272
+ var putBackInOriginalLocation = (parentElm, recursive) => {
1273
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
1274
+ const oldSlotChildNodes = Array.from(parentElm.__childNodes || parentElm.childNodes);
1275
+ for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {
1276
+ const childNode = oldSlotChildNodes[i2];
1277
+ if (childNode["s-hn"] !== hostTagName && childNode["s-ol"]) {
1278
+ insertBefore(referenceNode(childNode).parentNode, childNode, referenceNode(childNode));
1279
+ childNode["s-ol"].remove();
1280
+ childNode["s-ol"] = void 0;
1281
+ childNode["s-sh"] = void 0;
1282
+ checkSlotRelocate = true;
1283
+ }
1284
+ if (recursive) {
1285
+ putBackInOriginalLocation(childNode, recursive);
1138
1286
  }
1139
- Array.from(hostElm.childNodes).forEach((node) => {
1140
- if (node.nodeType === 8 /* CommentNode */ && typeof node["s-sn"] !== "string") {
1141
- node.parentNode.removeChild(node);
1287
+ }
1288
+ plt.$flags$ &= -2 /* isTmpDisconnected */;
1289
+ };
1290
+ var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
1291
+ let containerElm = parentElm["s-cr"] && parentElm["s-cr"].parentNode || parentElm;
1292
+ let childNode;
1293
+ if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
1294
+ containerElm = containerElm.shadowRoot;
1295
+ }
1296
+ for (; startIdx <= endIdx; ++startIdx) {
1297
+ if (vnodes[startIdx]) {
1298
+ childNode = createElm(null, parentVNode, startIdx);
1299
+ if (childNode) {
1300
+ vnodes[startIdx].$elm$ = childNode;
1301
+ insertBefore(containerElm, childNode, referenceNode(before) );
1142
1302
  }
1143
- });
1303
+ }
1144
1304
  }
1145
- hostRef.$hostElement$ = hostElm;
1146
- endHydrate();
1147
1305
  };
1148
- var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId, slottedNodes = []) => {
1149
- let childNodeType;
1150
- let childIdSplt;
1151
- let childVNode;
1152
- let i2;
1153
- const scopeId2 = hostElm["s-sc"];
1154
- if (node.nodeType === 1 /* ElementNode */) {
1155
- childNodeType = node.getAttribute(HYDRATE_CHILD_ID);
1156
- if (childNodeType) {
1157
- childIdSplt = childNodeType.split(".");
1158
- if (childIdSplt[0] === hostId || childIdSplt[0] === "0") {
1159
- childVNode = createSimpleVNode({
1160
- $flags$: 0,
1161
- $hostId$: childIdSplt[0],
1162
- $nodeId$: childIdSplt[1],
1163
- $depth$: childIdSplt[2],
1164
- $index$: childIdSplt[3],
1165
- $tag$: node.tagName.toLowerCase(),
1166
- $elm$: node,
1167
- // If we don't add the initial classes to the VNode, the first `vdom-render.ts` reconciliation will fail:
1168
- // client side changes before componentDidLoad will be ignored, `set-accessor.ts` will just take the element's initial classes
1169
- $attrs$: { class: node.className }
1170
- });
1171
- childRenderNodes.push(childVNode);
1172
- node.removeAttribute(HYDRATE_CHILD_ID);
1173
- if (!parentVNode.$children$) {
1174
- parentVNode.$children$ = [];
1175
- }
1176
- const slotName = childVNode.$elm$.getAttribute("s-sn");
1177
- if (typeof slotName === "string") {
1178
- if (childVNode.$tag$ === "slot-fb") {
1179
- addSlot(
1180
- slotName,
1181
- childIdSplt[2],
1182
- childVNode,
1183
- node,
1184
- parentVNode,
1185
- childRenderNodes,
1186
- slotNodes,
1187
- shadowRootNodes,
1188
- slottedNodes
1189
- );
1306
+ var removeVnodes = (vnodes, startIdx, endIdx) => {
1307
+ for (let index = startIdx; index <= endIdx; ++index) {
1308
+ const vnode = vnodes[index];
1309
+ if (vnode) {
1310
+ const elm = vnode.$elm$;
1311
+ nullifyVNodeRefs(vnode);
1312
+ if (elm) {
1313
+ {
1314
+ checkSlotFallbackVisibility = true;
1315
+ if (elm["s-ol"]) {
1316
+ elm["s-ol"].remove();
1317
+ } else {
1318
+ putBackInOriginalLocation(elm, true);
1190
1319
  }
1191
- childVNode.$elm$["s-sn"] = slotName;
1192
- childVNode.$elm$.removeAttribute("s-sn");
1193
- }
1194
- if (childVNode.$index$ !== void 0) {
1195
- parentVNode.$children$[childVNode.$index$] = childVNode;
1196
- }
1197
- if (scopeId2) node["s-si"] = scopeId2;
1198
- parentVNode = childVNode;
1199
- if (shadowRootNodes && childVNode.$depth$ === "0") {
1200
- shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
1201
1320
  }
1321
+ elm.remove();
1202
1322
  }
1203
1323
  }
1204
- if (node.shadowRoot) {
1205
- for (i2 = node.shadowRoot.childNodes.length - 1; i2 >= 0; i2--) {
1206
- clientHydrate(
1207
- parentVNode,
1208
- childRenderNodes,
1209
- slotNodes,
1210
- shadowRootNodes,
1211
- hostElm,
1212
- node.shadowRoot.childNodes[i2],
1213
- hostId,
1214
- slottedNodes
1215
- );
1324
+ }
1325
+ };
1326
+ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = false) => {
1327
+ let oldStartIdx = 0;
1328
+ let newStartIdx = 0;
1329
+ let idxInOld = 0;
1330
+ let i2 = 0;
1331
+ let oldEndIdx = oldCh.length - 1;
1332
+ let oldStartVnode = oldCh[0];
1333
+ let oldEndVnode = oldCh[oldEndIdx];
1334
+ let newEndIdx = newCh.length - 1;
1335
+ let newStartVnode = newCh[0];
1336
+ let newEndVnode = newCh[newEndIdx];
1337
+ let node;
1338
+ let elmToMove;
1339
+ while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
1340
+ if (oldStartVnode == null) {
1341
+ oldStartVnode = oldCh[++oldStartIdx];
1342
+ } else if (oldEndVnode == null) {
1343
+ oldEndVnode = oldCh[--oldEndIdx];
1344
+ } else if (newStartVnode == null) {
1345
+ newStartVnode = newCh[++newStartIdx];
1346
+ } else if (newEndVnode == null) {
1347
+ newEndVnode = newCh[--newEndIdx];
1348
+ } else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {
1349
+ patch(oldStartVnode, newStartVnode, isInitialRender);
1350
+ oldStartVnode = oldCh[++oldStartIdx];
1351
+ newStartVnode = newCh[++newStartIdx];
1352
+ } else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {
1353
+ patch(oldEndVnode, newEndVnode, isInitialRender);
1354
+ oldEndVnode = oldCh[--oldEndIdx];
1355
+ newEndVnode = newCh[--newEndIdx];
1356
+ } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
1357
+ if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
1358
+ putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
1359
+ }
1360
+ patch(oldStartVnode, newEndVnode, isInitialRender);
1361
+ insertBefore(parentElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
1362
+ oldStartVnode = oldCh[++oldStartIdx];
1363
+ newEndVnode = newCh[--newEndIdx];
1364
+ } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
1365
+ if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
1366
+ putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
1216
1367
  }
1217
- }
1218
- const nonShadowNodes = node.__childNodes || node.childNodes;
1219
- for (i2 = nonShadowNodes.length - 1; i2 >= 0; i2--) {
1220
- clientHydrate(
1221
- parentVNode,
1222
- childRenderNodes,
1223
- slotNodes,
1224
- shadowRootNodes,
1225
- hostElm,
1226
- nonShadowNodes[i2],
1227
- hostId,
1228
- slottedNodes
1229
- );
1230
- }
1231
- } else if (node.nodeType === 8 /* CommentNode */) {
1232
- childIdSplt = node.nodeValue.split(".");
1233
- if (childIdSplt[1] === hostId || childIdSplt[1] === "0") {
1234
- childNodeType = childIdSplt[0];
1235
- childVNode = createSimpleVNode({
1236
- $hostId$: childIdSplt[1],
1237
- $nodeId$: childIdSplt[2],
1238
- $depth$: childIdSplt[3],
1239
- $index$: childIdSplt[4] || "0",
1240
- $elm$: node,
1241
- $attrs$: null,
1242
- $children$: null,
1243
- $key$: null,
1244
- $name$: null,
1245
- $tag$: null,
1246
- $text$: null
1247
- });
1248
- if (childNodeType === TEXT_NODE_ID) {
1249
- childVNode.$elm$ = node.nextSibling;
1250
- if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) {
1251
- childVNode.$text$ = childVNode.$elm$.textContent;
1252
- childRenderNodes.push(childVNode);
1253
- node.remove();
1254
- if (hostId === childVNode.$hostId$) {
1255
- if (!parentVNode.$children$) {
1256
- parentVNode.$children$ = [];
1257
- }
1258
- parentVNode.$children$[childVNode.$index$] = childVNode;
1259
- }
1260
- if (shadowRootNodes && childVNode.$depth$ === "0") {
1261
- shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
1368
+ patch(oldEndVnode, newStartVnode, isInitialRender);
1369
+ insertBefore(parentElm, oldEndVnode.$elm$, oldStartVnode.$elm$);
1370
+ oldEndVnode = oldCh[--oldEndIdx];
1371
+ newStartVnode = newCh[++newStartIdx];
1372
+ } else {
1373
+ idxInOld = -1;
1374
+ {
1375
+ for (i2 = oldStartIdx; i2 <= oldEndIdx; ++i2) {
1376
+ if (oldCh[i2] && oldCh[i2].$key$ !== null && oldCh[i2].$key$ === newStartVnode.$key$) {
1377
+ idxInOld = i2;
1378
+ break;
1262
1379
  }
1263
1380
  }
1264
- } else if (childNodeType === COMMENT_NODE_ID) {
1265
- childVNode.$elm$ = node.nextSibling;
1266
- if (childVNode.$elm$ && childVNode.$elm$.nodeType === 8 /* CommentNode */) {
1267
- childRenderNodes.push(childVNode);
1268
- node.remove();
1381
+ }
1382
+ if (idxInOld >= 0) {
1383
+ elmToMove = oldCh[idxInOld];
1384
+ if (elmToMove.$tag$ !== newStartVnode.$tag$) {
1385
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld);
1386
+ } else {
1387
+ patch(elmToMove, newStartVnode, isInitialRender);
1388
+ oldCh[idxInOld] = void 0;
1389
+ node = elmToMove.$elm$;
1269
1390
  }
1270
- } else if (childVNode.$hostId$ === hostId) {
1271
- if (childNodeType === SLOT_NODE_ID) {
1272
- childVNode.$tag$ = "slot";
1273
- const slotName = node["s-sn"] = childVNode.$name$ = childIdSplt[5] || "";
1274
- addSlot(
1275
- slotName,
1276
- childIdSplt[2],
1277
- childVNode,
1391
+ newStartVnode = newCh[++newStartIdx];
1392
+ } else {
1393
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx);
1394
+ newStartVnode = newCh[++newStartIdx];
1395
+ }
1396
+ if (node) {
1397
+ {
1398
+ insertBefore(
1399
+ referenceNode(oldStartVnode.$elm$).parentNode,
1278
1400
  node,
1279
- parentVNode,
1280
- childRenderNodes,
1281
- slotNodes,
1282
- shadowRootNodes,
1283
- slottedNodes
1401
+ referenceNode(oldStartVnode.$elm$)
1284
1402
  );
1285
- } else if (childNodeType === CONTENT_REF_ID) {
1286
- if (shadowRootNodes) {
1287
- node.remove();
1288
- } else {
1289
- hostElm["s-cr"] = node;
1290
- node["s-cn"] = true;
1291
- }
1292
1403
  }
1293
1404
  }
1294
1405
  }
1295
- } else if (parentVNode && parentVNode.$tag$ === "style") {
1296
- const vnode = newVNode(null, node.textContent);
1297
- vnode.$elm$ = node;
1298
- vnode.$index$ = "0";
1299
- parentVNode.$children$ = [vnode];
1300
1406
  }
1301
- return parentVNode;
1407
+ if (oldStartIdx > oldEndIdx) {
1408
+ addVnodes(
1409
+ parentElm,
1410
+ newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$,
1411
+ newVNode2,
1412
+ newCh,
1413
+ newStartIdx,
1414
+ newEndIdx
1415
+ );
1416
+ } else if (newStartIdx > newEndIdx) {
1417
+ removeVnodes(oldCh, oldStartIdx, oldEndIdx);
1418
+ }
1302
1419
  };
1303
- var initializeDocumentHydrate = (node, orgLocNodes) => {
1304
- if (node.nodeType === 1 /* ElementNode */) {
1305
- const componentId = node[HYDRATE_ID] || node.getAttribute(HYDRATE_ID);
1306
- if (componentId) {
1307
- orgLocNodes.set(componentId, node);
1308
- }
1309
- let i2 = 0;
1310
- if (node.shadowRoot) {
1311
- for (; i2 < node.shadowRoot.childNodes.length; i2++) {
1312
- initializeDocumentHydrate(node.shadowRoot.childNodes[i2], orgLocNodes);
1313
- }
1420
+ var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
1421
+ if (leftVNode.$tag$ === rightVNode.$tag$) {
1422
+ if (leftVNode.$tag$ === "slot") {
1423
+ return leftVNode.$name$ === rightVNode.$name$;
1314
1424
  }
1315
- const nonShadowNodes = node.__childNodes || node.childNodes;
1316
- for (i2 = 0; i2 < nonShadowNodes.length; i2++) {
1317
- initializeDocumentHydrate(nonShadowNodes[i2], orgLocNodes);
1425
+ if (!isInitialRender) {
1426
+ return leftVNode.$key$ === rightVNode.$key$;
1318
1427
  }
1319
- } else if (node.nodeType === 8 /* CommentNode */) {
1320
- const childIdSplt = node.nodeValue.split(".");
1321
- if (childIdSplt[0] === ORG_LOCATION_ID) {
1322
- orgLocNodes.set(childIdSplt[1] + "." + childIdSplt[2], node);
1323
- node.nodeValue = "";
1324
- node["s-en"] = childIdSplt[3];
1428
+ if (isInitialRender && !leftVNode.$key$ && rightVNode.$key$) {
1429
+ leftVNode.$key$ = rightVNode.$key$;
1325
1430
  }
1431
+ return true;
1326
1432
  }
1433
+ return false;
1327
1434
  };
1328
- var createSimpleVNode = (vnode) => {
1329
- const defaultVNode = {
1330
- $flags$: 0,
1331
- $hostId$: null,
1332
- $nodeId$: null,
1333
- $depth$: null,
1334
- $index$: "0",
1335
- $elm$: null,
1336
- $attrs$: null,
1337
- $children$: null,
1338
- $key$: null,
1339
- $name$: null,
1340
- $tag$: null,
1341
- $text$: null
1342
- };
1343
- return { ...defaultVNode, ...vnode };
1344
- };
1345
- function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNodes, slotNodes, shadowRootNodes, slottedNodes) {
1346
- node["s-sr"] = true;
1347
- const parentNodeId = (parentVNode == null ? void 0 : parentVNode.$elm$) ? parentVNode.$elm$["s-id"] || parentVNode.$elm$.getAttribute("s-id") : "";
1348
- if (shadowRootNodes) {
1349
- const slot = childVNode.$elm$ = doc.createElement(childVNode.$tag$);
1350
- if (childVNode.$name$) {
1351
- childVNode.$elm$.setAttribute("name", slotName);
1435
+ var referenceNode = (node) => node && node["s-ol"] || node;
1436
+ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
1437
+ const elm = newVNode2.$elm$ = oldVNode.$elm$;
1438
+ const oldChildren = oldVNode.$children$;
1439
+ const newChildren = newVNode2.$children$;
1440
+ const tag = newVNode2.$tag$;
1441
+ const text = newVNode2.$text$;
1442
+ let defaultHolder;
1443
+ if (text === null) {
1444
+ {
1445
+ isSvgMode = tag === "svg" ? true : tag === "foreignObject" ? false : isSvgMode;
1352
1446
  }
1353
- if (parentNodeId && parentNodeId !== childVNode.$hostId$) {
1354
- parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
1355
- } else {
1356
- node.parentNode.insertBefore(childVNode.$elm$, node);
1447
+ {
1448
+ updateElement(oldVNode, newVNode2, isSvgMode, isInitialRender);
1357
1449
  }
1358
- addSlottedNodes(slottedNodes, slotId, slotName, node, childVNode.$hostId$);
1359
- node.remove();
1360
- if (childVNode.$depth$ === "0") {
1361
- shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
1450
+ if (oldChildren !== null && newChildren !== null) {
1451
+ updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);
1452
+ } else if (newChildren !== null) {
1453
+ if (oldVNode.$text$ !== null) {
1454
+ elm.textContent = "";
1455
+ }
1456
+ addVnodes(elm, null, newVNode2, newChildren, 0, newChildren.length - 1);
1457
+ } else if (
1458
+ // don't do this on initial render as it can cause non-hydrated content to be removed
1459
+ !isInitialRender && BUILD.updatable && oldChildren !== null
1460
+ ) {
1461
+ removeVnodes(oldChildren, 0, oldChildren.length - 1);
1362
1462
  }
1363
- } else {
1364
- const slot = childVNode.$elm$;
1365
- const shouldMove = parentNodeId && parentNodeId !== childVNode.$hostId$ && parentVNode.$elm$.shadowRoot;
1366
- addSlottedNodes(slottedNodes, slotId, slotName, node, shouldMove ? parentNodeId : childVNode.$hostId$);
1367
- if (shouldMove) {
1368
- parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
1463
+ if (isSvgMode && tag === "svg") {
1464
+ isSvgMode = false;
1369
1465
  }
1370
- childRenderNodes.push(childVNode);
1371
- }
1372
- slotNodes.push(childVNode);
1373
- if (!parentVNode.$children$) {
1374
- parentVNode.$children$ = [];
1375
- }
1376
- parentVNode.$children$[childVNode.$index$] = childVNode;
1377
- }
1378
- var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
1379
- let slottedNode = slotNode.nextSibling;
1380
- slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
1381
- while (slottedNode && ((slottedNode["getAttribute"] && slottedNode.getAttribute("slot") || slottedNode["s-sn"]) === slotName || slotName === "" && !slottedNode["s-sn"] && (slottedNode.nodeType === 8 /* CommentNode */ && slottedNode.nodeValue.indexOf(".") !== 1 || slottedNode.nodeType === 3 /* TextNode */))) {
1382
- slottedNode["s-sn"] = slotName;
1383
- slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
1384
- slottedNode = slottedNode.nextSibling;
1466
+ } else if ((defaultHolder = elm["s-cr"])) {
1467
+ defaultHolder.parentNode.textContent = text;
1468
+ } else if (oldVNode.$text$ !== text) {
1469
+ elm.data = text;
1385
1470
  }
1386
1471
  };
1387
- var parsePropertyValue = (propValue, propType) => {
1388
- if (propValue != null && !isComplexType(propValue)) {
1389
- if (propType & 4 /* Boolean */) {
1390
- return propValue === "false" ? false : propValue === "" || !!propValue;
1391
- }
1392
- if (propType & 2 /* Number */) {
1393
- return parseFloat(propValue);
1472
+ var relocateNodes = [];
1473
+ var markSlotContentForRelocation = (elm) => {
1474
+ let node;
1475
+ let hostContentNodes;
1476
+ let j;
1477
+ const children = elm.__childNodes || elm.childNodes;
1478
+ for (const childNode of children) {
1479
+ if (childNode["s-sr"] && (node = childNode["s-cr"]) && node.parentNode) {
1480
+ hostContentNodes = node.parentNode.__childNodes || node.parentNode.childNodes;
1481
+ const slotName = childNode["s-sn"];
1482
+ for (j = hostContentNodes.length - 1; j >= 0; j--) {
1483
+ node = hostContentNodes[j];
1484
+ if (!node["s-cn"] && !node["s-nr"] && node["s-hn"] !== childNode["s-hn"] && (true)) {
1485
+ if (isNodeLocatedInSlot(node, slotName)) {
1486
+ let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1487
+ checkSlotFallbackVisibility = true;
1488
+ node["s-sn"] = node["s-sn"] || slotName;
1489
+ if (relocateNodeData) {
1490
+ relocateNodeData.$nodeToRelocate$["s-sh"] = childNode["s-hn"];
1491
+ relocateNodeData.$slotRefNode$ = childNode;
1492
+ } else {
1493
+ node["s-sh"] = childNode["s-hn"];
1494
+ relocateNodes.push({
1495
+ $slotRefNode$: childNode,
1496
+ $nodeToRelocate$: node
1497
+ });
1498
+ }
1499
+ if (node["s-sr"]) {
1500
+ relocateNodes.map((relocateNode) => {
1501
+ if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node["s-sn"])) {
1502
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1503
+ if (relocateNodeData && !relocateNode.$slotRefNode$) {
1504
+ relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
1505
+ }
1506
+ }
1507
+ });
1508
+ }
1509
+ } else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
1510
+ relocateNodes.push({
1511
+ $nodeToRelocate$: node
1512
+ });
1513
+ }
1514
+ }
1515
+ }
1394
1516
  }
1395
- if (propType & 1 /* String */) {
1396
- return String(propValue);
1517
+ if (childNode.nodeType === 1 /* ElementNode */) {
1518
+ markSlotContentForRelocation(childNode);
1397
1519
  }
1398
- return propValue;
1399
1520
  }
1400
- return propValue;
1401
1521
  };
1402
- var getElement = (ref) => getHostRef(ref).$hostElement$ ;
1403
-
1404
- // src/runtime/event-emitter.ts
1405
- var createEvent = (ref, name, flags) => {
1406
- const elm = getElement(ref);
1407
- return {
1408
- emit: (detail) => {
1409
- return emitEvent(elm, name, {
1410
- bubbles: !!(flags & 4 /* Bubbles */),
1411
- composed: !!(flags & 2 /* Composed */),
1412
- cancelable: !!(flags & 1 /* Cancellable */),
1413
- detail
1414
- });
1415
- }
1416
- };
1522
+ var nullifyVNodeRefs = (vNode) => {
1523
+ {
1524
+ vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
1525
+ vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
1526
+ }
1417
1527
  };
1418
- var emitEvent = (elm, name, opts) => {
1419
- const ev = plt.ce(name, opts);
1420
- elm.dispatchEvent(ev);
1421
- return ev;
1528
+ var insertBefore = (parent, newNode, reference) => {
1529
+ if (typeof newNode["s-sn"] === "string" && !!newNode["s-sr"] && !!newNode["s-cr"]) {
1530
+ addRemoveSlotScopedClass(newNode["s-cr"], newNode, parent, newNode.parentElement);
1531
+ }
1532
+ {
1533
+ return parent == null ? void 0 : parent.insertBefore(newNode, reference);
1534
+ }
1422
1535
  };
1423
- var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
1424
- var registerStyle = (scopeId2, cssText, allowCS) => {
1425
- let style = styles.get(scopeId2);
1426
- if (supportsConstructableStylesheets && allowCS) {
1427
- style = style || new CSSStyleSheet();
1428
- if (typeof style === "string") {
1429
- style = cssText;
1430
- } else {
1431
- style.replaceSync(cssText);
1536
+ function addRemoveSlotScopedClass(reference, slotNode, newParent, oldParent) {
1537
+ var _a, _b;
1538
+ let scopeId2;
1539
+ if (reference && typeof slotNode["s-sn"] === "string" && !!slotNode["s-sr"] && reference.parentNode && reference.parentNode["s-sc"] && (scopeId2 = slotNode["s-si"] || reference.parentNode["s-sc"])) {
1540
+ const scopeName = slotNode["s-sn"];
1541
+ const hostName = slotNode["s-hn"];
1542
+ (_a = newParent.classList) == null ? void 0 : _a.add(scopeId2 + "-s");
1543
+ if (oldParent && ((_b = oldParent.classList) == null ? void 0 : _b.contains(scopeId2 + "-s"))) {
1544
+ let child = (oldParent.__childNodes || oldParent.childNodes)[0];
1545
+ let found = false;
1546
+ while (child) {
1547
+ if (child["s-sn"] !== scopeName && child["s-hn"] === hostName && !!child["s-sr"]) {
1548
+ found = true;
1549
+ break;
1550
+ }
1551
+ child = child.nextSibling;
1552
+ }
1553
+ if (!found) oldParent.classList.remove(scopeId2 + "-s");
1432
1554
  }
1433
- } else {
1434
- style = cssText;
1435
1555
  }
1436
- styles.set(scopeId2, style);
1437
- };
1438
- var addStyle = (styleContainerNode, cmpMeta, mode) => {
1439
- var _a;
1440
- const scopeId2 = getScopeId(cmpMeta);
1441
- const style = styles.get(scopeId2);
1442
- styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;
1443
- if (style) {
1444
- if (typeof style === "string") {
1445
- styleContainerNode = styleContainerNode.head || styleContainerNode;
1446
- let appliedStyles = rootAppliedStyles.get(styleContainerNode);
1447
- let styleElm;
1448
- if (!appliedStyles) {
1449
- rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
1556
+ }
1557
+ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1558
+ var _a, _b, _c, _d;
1559
+ const hostElm = hostRef.$hostElement$;
1560
+ const cmpMeta = hostRef.$cmpMeta$;
1561
+ const oldVNode = hostRef.$vnode$ || newVNode(null, null);
1562
+ const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
1563
+ hostTagName = hostElm.tagName;
1564
+ if (cmpMeta.$attrsToReflect$) {
1565
+ rootVnode.$attrs$ = rootVnode.$attrs$ || {};
1566
+ cmpMeta.$attrsToReflect$.map(
1567
+ ([propName, attribute]) => rootVnode.$attrs$[attribute] = hostElm[propName]
1568
+ );
1569
+ }
1570
+ if (isInitialLoad && rootVnode.$attrs$) {
1571
+ for (const key of Object.keys(rootVnode.$attrs$)) {
1572
+ if (hostElm.hasAttribute(key) && !["key", "ref", "style", "class"].includes(key)) {
1573
+ rootVnode.$attrs$[key] = hostElm[key];
1450
1574
  }
1451
- if (!appliedStyles.has(scopeId2)) {
1452
- if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
1453
- styleElm.innerHTML = style;
1454
- } else {
1455
- styleElm = doc.createElement("style");
1456
- styleElm.innerHTML = style;
1457
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
1458
- if (nonce != null) {
1459
- styleElm.setAttribute("nonce", nonce);
1460
- }
1461
- if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
1462
- if (styleContainerNode.nodeName === "HEAD") {
1463
- const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
1464
- const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
1465
- styleContainerNode.insertBefore(styleElm, referenceNode2);
1466
- } else if ("host" in styleContainerNode) {
1467
- if (supportsConstructableStylesheets) {
1468
- const stylesheet = new CSSStyleSheet();
1469
- stylesheet.replaceSync(style);
1470
- styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
1471
- } else {
1472
- const existingStyleContainer = styleContainerNode.querySelector("style");
1473
- if (existingStyleContainer) {
1474
- existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
1475
- } else {
1476
- styleContainerNode.prepend(styleElm);
1575
+ }
1576
+ }
1577
+ rootVnode.$tag$ = null;
1578
+ rootVnode.$flags$ |= 4 /* isHost */;
1579
+ hostRef.$vnode$ = rootVnode;
1580
+ rootVnode.$elm$ = oldVNode.$elm$ = hostElm.shadowRoot || hostElm ;
1581
+ {
1582
+ scopeId = hostElm["s-sc"];
1583
+ }
1584
+ useNativeShadowDom = !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && !(cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */);
1585
+ {
1586
+ contentRef = hostElm["s-cr"];
1587
+ checkSlotFallbackVisibility = false;
1588
+ }
1589
+ patch(oldVNode, rootVnode, isInitialLoad);
1590
+ {
1591
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
1592
+ if (checkSlotRelocate) {
1593
+ markSlotContentForRelocation(rootVnode.$elm$);
1594
+ for (const relocateData of relocateNodes) {
1595
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1596
+ if (!nodeToRelocate["s-ol"] && win.document) {
1597
+ const orgLocationNode = win.document.createTextNode("");
1598
+ orgLocationNode["s-nr"] = nodeToRelocate;
1599
+ insertBefore(nodeToRelocate.parentNode, nodeToRelocate["s-ol"] = orgLocationNode, nodeToRelocate);
1600
+ }
1601
+ }
1602
+ for (const relocateData of relocateNodes) {
1603
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1604
+ const slotRefNode = relocateData.$slotRefNode$;
1605
+ if (slotRefNode) {
1606
+ const parentNodeRef = slotRefNode.parentNode;
1607
+ let insertBeforeNode = slotRefNode.nextSibling;
1608
+ {
1609
+ let orgLocationNode = (_a = nodeToRelocate["s-ol"]) == null ? void 0 : _a.previousSibling;
1610
+ while (orgLocationNode) {
1611
+ let refNode = (_b = orgLocationNode["s-nr"]) != null ? _b : null;
1612
+ if (refNode && refNode["s-sn"] === nodeToRelocate["s-sn"] && parentNodeRef === (refNode.__parentNode || refNode.parentNode)) {
1613
+ refNode = refNode.nextSibling;
1614
+ while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode["s-sr"])) {
1615
+ refNode = refNode == null ? void 0 : refNode.nextSibling;
1616
+ }
1617
+ if (!refNode || !refNode["s-nr"]) {
1618
+ insertBeforeNode = refNode;
1619
+ break;
1477
1620
  }
1478
1621
  }
1479
- } else {
1480
- styleContainerNode.append(styleElm);
1622
+ orgLocationNode = orgLocationNode.previousSibling;
1481
1623
  }
1482
1624
  }
1483
- if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD") {
1484
- styleContainerNode.insertBefore(styleElm, null);
1625
+ const parent = nodeToRelocate.__parentNode || nodeToRelocate.parentNode;
1626
+ const nextSibling = nodeToRelocate.__nextSibling || nodeToRelocate.nextSibling;
1627
+ if (!insertBeforeNode && parentNodeRef !== parent || nextSibling !== insertBeforeNode) {
1628
+ if (nodeToRelocate !== insertBeforeNode) {
1629
+ if (!nodeToRelocate["s-hn"] && nodeToRelocate["s-ol"]) {
1630
+ nodeToRelocate["s-hn"] = nodeToRelocate["s-ol"].parentNode.nodeName;
1631
+ }
1632
+ insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);
1633
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */ && nodeToRelocate.tagName !== "SLOT-FB") {
1634
+ nodeToRelocate.hidden = (_c = nodeToRelocate["s-ih"]) != null ? _c : false;
1635
+ }
1636
+ }
1637
+ }
1638
+ nodeToRelocate && typeof slotRefNode["s-rf"] === "function" && slotRefNode["s-rf"](slotRefNode);
1639
+ } else {
1640
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
1641
+ if (isInitialLoad) {
1642
+ nodeToRelocate["s-ih"] = (_d = nodeToRelocate.hidden) != null ? _d : false;
1643
+ }
1644
+ nodeToRelocate.hidden = true;
1485
1645
  }
1486
- }
1487
- if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
1488
- styleElm.innerHTML += SLOT_FB_CSS;
1489
- }
1490
- if (appliedStyles) {
1491
- appliedStyles.add(scopeId2);
1492
1646
  }
1493
1647
  }
1494
- } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
1495
- styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
1496
1648
  }
1497
- }
1498
- return scopeId2;
1499
- };
1500
- var attachStyles = (hostRef) => {
1501
- const cmpMeta = hostRef.$cmpMeta$;
1502
- const elm = hostRef.$hostElement$;
1503
- const flags = cmpMeta.$flags$;
1504
- const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
1505
- const scopeId2 = addStyle(
1506
- elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
1507
- cmpMeta);
1508
- if (flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */) {
1509
- elm["s-sc"] = scopeId2;
1510
- elm.classList.add(scopeId2 + "-h");
1511
- if (flags & 2 /* scopedCssEncapsulation */) {
1512
- elm.classList.add(scopeId2 + "-s");
1649
+ if (checkSlotFallbackVisibility) {
1650
+ updateFallbackSlotVisibility(rootVnode.$elm$);
1513
1651
  }
1652
+ plt.$flags$ &= -2 /* isTmpDisconnected */;
1653
+ relocateNodes.length = 0;
1514
1654
  }
1515
- endAttachStyles();
1655
+ contentRef = void 0;
1516
1656
  };
1517
- var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
1518
1657
 
1519
1658
  // src/runtime/update-component.ts
1520
1659
  var attachToAncestor = (hostRef, ancestorComponent) => {
1521
1660
  if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent["s-p"]) {
1522
- ancestorComponent["s-p"].push(new Promise((r) => hostRef.$onRenderResolve$ = r));
1661
+ const index = ancestorComponent["s-p"].push(
1662
+ new Promise(
1663
+ (r) => hostRef.$onRenderResolve$ = () => {
1664
+ ancestorComponent["s-p"].splice(index - 1, 1);
1665
+ r();
1666
+ }
1667
+ )
1668
+ );
1523
1669
  }
1524
1670
  };
1525
1671
  var scheduleUpdate = (hostRef, isInitialLoad) => {
@@ -1545,10 +1691,11 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
1545
1691
  }
1546
1692
  let maybePromise;
1547
1693
  if (isInitialLoad) {
1548
- {
1549
- maybePromise = safeCall(instance, "componentWillLoad");
1550
- }
1694
+ maybePromise = safeCall(instance, "componentWillLoad", void 0, elm);
1695
+ } else {
1696
+ maybePromise = safeCall(instance, "componentWillUpdate", void 0, elm);
1551
1697
  }
1698
+ maybePromise = enqueue(maybePromise, () => safeCall(instance, "componentWillRender", void 0, elm));
1552
1699
  endSchedule();
1553
1700
  return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
1554
1701
  };
@@ -1591,7 +1738,7 @@ var callRender = (hostRef, instance, elm, isInitialLoad) => {
1591
1738
  try {
1592
1739
  instance = instance.render() ;
1593
1740
  {
1594
- hostRef.$flags$ &= ~16 /* isQueuedForUpdate */;
1741
+ hostRef.$flags$ &= -17 /* isQueuedForUpdate */;
1595
1742
  }
1596
1743
  {
1597
1744
  hostRef.$flags$ |= 2 /* hasRendered */;
@@ -1614,14 +1761,13 @@ var postUpdateComponent = (hostRef) => {
1614
1761
  const endPostUpdate = createTime("postUpdate", tagName);
1615
1762
  const instance = hostRef.$lazyInstance$ ;
1616
1763
  const ancestorComponent = hostRef.$ancestorComponent$;
1764
+ safeCall(instance, "componentDidRender", void 0, elm);
1617
1765
  if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
1618
1766
  hostRef.$flags$ |= 64 /* hasLoadedComponent */;
1619
1767
  {
1620
1768
  addHydratedFlag(elm);
1621
1769
  }
1622
- {
1623
- safeCall(instance, "componentDidLoad");
1624
- }
1770
+ safeCall(instance, "componentDidLoad", void 0, elm);
1625
1771
  endPostUpdate();
1626
1772
  {
1627
1773
  hostRef.$onReadyResolve$(elm);
@@ -1630,9 +1776,7 @@ var postUpdateComponent = (hostRef) => {
1630
1776
  }
1631
1777
  }
1632
1778
  } else {
1633
- {
1634
- safeCall(instance, "componentDidUpdate");
1635
- }
1779
+ safeCall(instance, "componentDidUpdate", void 0, elm);
1636
1780
  endPostUpdate();
1637
1781
  }
1638
1782
  {
@@ -1643,21 +1787,18 @@ var postUpdateComponent = (hostRef) => {
1643
1787
  if (hostRef.$flags$ & 512 /* needsRerender */) {
1644
1788
  nextTick(() => scheduleUpdate(hostRef, false));
1645
1789
  }
1646
- hostRef.$flags$ &= ~(4 /* isWaitingForChildren */ | 512 /* needsRerender */);
1790
+ hostRef.$flags$ &= -517;
1647
1791
  }
1648
1792
  };
1649
1793
  var appDidLoad = (who) => {
1650
- {
1651
- addHydratedFlag(doc.documentElement);
1652
- }
1653
1794
  nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
1654
1795
  };
1655
- var safeCall = (instance, method, arg) => {
1796
+ var safeCall = (instance, method, arg, elm) => {
1656
1797
  if (instance && instance[method]) {
1657
1798
  try {
1658
1799
  return instance[method](arg);
1659
1800
  } catch (e) {
1660
- consoleError(e);
1801
+ consoleError(e, elm);
1661
1802
  }
1662
1803
  }
1663
1804
  return void 0;
@@ -1673,7 +1814,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
1673
1814
  const hostRef = getHostRef(ref);
1674
1815
  if (!hostRef) {
1675
1816
  throw new Error(
1676
- `Couldn't find host element for "${cmpMeta.$tagName$}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`
1817
+ `Couldn't find host element for "${cmpMeta.$tagName$}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/stenciljs/core/issues/5457).`
1677
1818
  );
1678
1819
  }
1679
1820
  const elm = hostRef.$hostElement$ ;
@@ -1699,6 +1840,11 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
1699
1840
  }
1700
1841
  }
1701
1842
  if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
1843
+ if (instance.componentShouldUpdate) {
1844
+ if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {
1845
+ return;
1846
+ }
1847
+ }
1702
1848
  scheduleUpdate(hostRef, false);
1703
1849
  }
1704
1850
  }
@@ -1716,62 +1862,69 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1716
1862
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
1717
1863
  members.map(([memberName, [memberFlags]]) => {
1718
1864
  if ((memberFlags & 31 /* Prop */ || (flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {
1719
- if ((memberFlags & 2048 /* Getter */) === 0) {
1865
+ const { get: origGetter, set: origSetter } = Object.getOwnPropertyDescriptor(prototype, memberName) || {};
1866
+ if (origGetter) cmpMeta.$members$[memberName][0] |= 2048 /* Getter */;
1867
+ if (origSetter) cmpMeta.$members$[memberName][0] |= 4096 /* Setter */;
1868
+ if (flags & 1 /* isElementConstructor */ || !origGetter) {
1720
1869
  Object.defineProperty(prototype, memberName, {
1721
1870
  get() {
1722
- return getValue(this, memberName);
1723
- },
1724
- set(newValue) {
1725
- setValue(this, memberName, newValue, cmpMeta);
1726
- },
1727
- configurable: true,
1728
- enumerable: true
1729
- });
1730
- } else if (flags & 1 /* isElementConstructor */ && memberFlags & 2048 /* Getter */) {
1731
- {
1732
- Object.defineProperty(prototype, memberName, {
1733
- get() {
1871
+ {
1872
+ if ((cmpMeta.$members$[memberName][0] & 2048 /* Getter */) === 0) {
1873
+ return getValue(this, memberName);
1874
+ }
1734
1875
  const ref = getHostRef(this);
1735
1876
  const instance = ref ? ref.$lazyInstance$ : prototype;
1736
1877
  if (!instance) return;
1737
1878
  return instance[memberName];
1738
- },
1739
- configurable: true,
1740
- enumerable: true
1741
- });
1742
- }
1743
- if (memberFlags & 4096 /* Setter */) {
1744
- const origSetter = Object.getOwnPropertyDescriptor(prototype, memberName).set;
1745
- Object.defineProperty(prototype, memberName, {
1746
- set(newValue) {
1747
- const ref = getHostRef(this);
1748
- if (origSetter) {
1749
- const currentValue = ref.$hostElement$[memberName];
1750
- if (!ref.$instanceValues$.get(memberName) && currentValue) {
1751
- ref.$instanceValues$.set(memberName, currentValue);
1752
- }
1753
- origSetter.apply(this, [parsePropertyValue(newValue, cmpMeta.$members$[memberName][0])]);
1754
- setValue(this, memberName, ref.$hostElement$[memberName], cmpMeta);
1755
- return;
1879
+ }
1880
+ },
1881
+ configurable: true,
1882
+ enumerable: true
1883
+ });
1884
+ }
1885
+ Object.defineProperty(prototype, memberName, {
1886
+ set(newValue) {
1887
+ const ref = getHostRef(this);
1888
+ if (origSetter) {
1889
+ const currentValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
1890
+ if (typeof currentValue === "undefined" && ref.$instanceValues$.get(memberName)) {
1891
+ newValue = ref.$instanceValues$.get(memberName);
1892
+ } else if (!ref.$instanceValues$.get(memberName) && currentValue) {
1893
+ ref.$instanceValues$.set(memberName, currentValue);
1894
+ }
1895
+ origSetter.apply(this, [parsePropertyValue(newValue, memberFlags)]);
1896
+ newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
1897
+ setValue(this, memberName, newValue, cmpMeta);
1898
+ return;
1899
+ }
1900
+ {
1901
+ if ((flags & 1 /* isElementConstructor */) === 0 || (cmpMeta.$members$[memberName][0] & 4096 /* Setter */) === 0) {
1902
+ setValue(this, memberName, newValue, cmpMeta);
1903
+ if (flags & 1 /* isElementConstructor */ && !ref.$lazyInstance$) {
1904
+ ref.$onReadyPromise$.then(() => {
1905
+ if (cmpMeta.$members$[memberName][0] & 4096 /* Setter */ && ref.$lazyInstance$[memberName] !== ref.$instanceValues$.get(memberName)) {
1906
+ ref.$lazyInstance$[memberName] = newValue;
1907
+ }
1908
+ });
1756
1909
  }
1757
- if (!ref) return;
1758
- const setterSetVal = () => {
1759
- const currentValue = ref.$lazyInstance$[memberName];
1760
- if (!ref.$instanceValues$.get(memberName) && currentValue) {
1761
- ref.$instanceValues$.set(memberName, currentValue);
1762
- }
1763
- ref.$lazyInstance$[memberName] = parsePropertyValue(newValue, cmpMeta.$members$[memberName][0]);
1764
- setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
1765
- };
1766
- if (ref.$lazyInstance$) {
1767
- setterSetVal();
1768
- } else {
1769
- ref.$onReadyPromise$.then(() => setterSetVal());
1910
+ return;
1911
+ }
1912
+ const setterSetVal = () => {
1913
+ const currentValue = ref.$lazyInstance$[memberName];
1914
+ if (!ref.$instanceValues$.get(memberName) && currentValue) {
1915
+ ref.$instanceValues$.set(memberName, currentValue);
1770
1916
  }
1917
+ ref.$lazyInstance$[memberName] = parsePropertyValue(newValue, memberFlags);
1918
+ setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
1919
+ };
1920
+ if (ref.$lazyInstance$) {
1921
+ setterSetVal();
1922
+ } else {
1923
+ ref.$onReadyPromise$.then(() => setterSetVal());
1771
1924
  }
1772
- });
1925
+ }
1773
1926
  }
1774
- }
1927
+ });
1775
1928
  }
1776
1929
  });
1777
1930
  if ((flags & 1 /* isElementConstructor */)) {
@@ -1780,7 +1933,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1780
1933
  plt.jmp(() => {
1781
1934
  var _a2;
1782
1935
  const propName = attrNameToPropName.get(attrName);
1783
- if (this.hasOwnProperty(propName)) {
1936
+ if (this.hasOwnProperty(propName) && BUILD.lazyLoad) {
1784
1937
  newValue = this[propName];
1785
1938
  delete this[propName];
1786
1939
  } else if (prototype.hasOwnProperty(propName) && typeof this[propName] === "number" && // cast type to number to avoid TS compiler issues
@@ -1801,8 +1954,9 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1801
1954
  return;
1802
1955
  }
1803
1956
  const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
1804
- if (!propDesc.get || !!propDesc.set) {
1805
- this[propName] = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
1957
+ newValue = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
1958
+ if (newValue !== this[propName] && (!propDesc.get || !!propDesc.set)) {
1959
+ this[propName] = newValue;
1806
1960
  }
1807
1961
  });
1808
1962
  };
@@ -1832,7 +1986,7 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1832
1986
  hostRef.$flags$ |= 32 /* hasInitializedComponent */;
1833
1987
  const bundleId = cmpMeta.$lazyBundleId$;
1834
1988
  if (bundleId) {
1835
- const CstrImport = loadModule(cmpMeta);
1989
+ const CstrImport = loadModule(cmpMeta, hostRef);
1836
1990
  if (CstrImport && "then" in CstrImport) {
1837
1991
  const endLoad = uniqueTime();
1838
1992
  Cstr = await CstrImport;
@@ -1857,15 +2011,16 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1857
2011
  try {
1858
2012
  new Cstr(hostRef);
1859
2013
  } catch (e) {
1860
- consoleError(e);
2014
+ consoleError(e, elm);
1861
2015
  }
1862
2016
  {
1863
- hostRef.$flags$ &= ~8 /* isConstructingInstance */;
2017
+ hostRef.$flags$ &= -9 /* isConstructingInstance */;
1864
2018
  }
1865
2019
  {
1866
2020
  hostRef.$flags$ |= 128 /* isWatchReady */;
1867
2021
  }
1868
2022
  endNewInstance();
2023
+ fireConnectedCallback(hostRef.$lazyInstance$, elm);
1869
2024
  } else {
1870
2025
  Cstr = elm.constructor;
1871
2026
  const cmpTag = elm.localName;
@@ -1892,7 +2047,10 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1892
2047
  schedule();
1893
2048
  }
1894
2049
  };
1895
- var fireConnectedCallback = (instance) => {
2050
+ var fireConnectedCallback = (instance, elm) => {
2051
+ {
2052
+ safeCall(instance, "connectedCallback", void 0, elm);
2053
+ }
1896
2054
  };
1897
2055
 
1898
2056
  // src/runtime/connected-callback.ts
@@ -1945,54 +2103,72 @@ var connectedCallback = (elm) => {
1945
2103
  initializeComponent(elm, hostRef, cmpMeta);
1946
2104
  }
1947
2105
  } else {
1948
- if (hostRef == null ? void 0 : hostRef.$lazyInstance$) ; else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1949
- hostRef.$onReadyPromise$.then(() => fireConnectedCallback());
2106
+ if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
2107
+ fireConnectedCallback(hostRef.$lazyInstance$, elm);
2108
+ } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
2109
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$, elm));
1950
2110
  }
1951
2111
  }
1952
2112
  endConnected();
1953
2113
  }
1954
2114
  };
1955
2115
  var setContentReference = (elm) => {
1956
- const contentRefElm = elm["s-cr"] = doc.createComment(
2116
+ if (!win.document) {
2117
+ return;
2118
+ }
2119
+ const contentRefElm = elm["s-cr"] = win.document.createComment(
1957
2120
  ""
1958
2121
  );
1959
2122
  contentRefElm["s-cn"] = true;
1960
2123
  insertBefore(elm, contentRefElm, elm.firstChild);
1961
2124
  };
1962
- var disconnectInstance = (instance) => {
2125
+ var disconnectInstance = (instance, elm) => {
1963
2126
  {
1964
- safeCall(instance, "disconnectedCallback");
2127
+ safeCall(instance, "disconnectedCallback", void 0, elm || instance);
1965
2128
  }
1966
2129
  };
1967
2130
  var disconnectedCallback = async (elm) => {
1968
2131
  if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
1969
2132
  const hostRef = getHostRef(elm);
1970
2133
  if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
1971
- disconnectInstance(hostRef.$lazyInstance$);
2134
+ disconnectInstance(hostRef.$lazyInstance$, elm);
1972
2135
  } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1973
- hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));
2136
+ hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$, elm));
1974
2137
  }
1975
2138
  }
2139
+ if (rootAppliedStyles.has(elm)) {
2140
+ rootAppliedStyles.delete(elm);
2141
+ }
2142
+ if (elm.shadowRoot && rootAppliedStyles.has(elm.shadowRoot)) {
2143
+ rootAppliedStyles.delete(elm.shadowRoot);
2144
+ }
1976
2145
  };
1977
2146
 
1978
2147
  // src/runtime/bootstrap-lazy.ts
1979
2148
  var bootstrapLazy = (lazyBundles, options = {}) => {
1980
2149
  var _a;
2150
+ if (!win.document) {
2151
+ console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");
2152
+ return;
2153
+ }
1981
2154
  const endBootstrap = createTime();
1982
2155
  const cmpTags = [];
1983
2156
  const exclude = options.exclude || [];
1984
2157
  const customElements2 = win.customElements;
1985
- const head = doc.head;
2158
+ const head = win.document.head;
1986
2159
  const metaCharset = /* @__PURE__ */ head.querySelector("meta[charset]");
1987
- const dataStyles = /* @__PURE__ */ doc.createElement("style");
2160
+ const dataStyles = /* @__PURE__ */ win.document.createElement("style");
1988
2161
  const deferredConnectedCallbacks = [];
1989
2162
  let appLoadFallback;
1990
2163
  let isBootstrapping = true;
1991
2164
  Object.assign(plt, options);
1992
- plt.$resourcesUrl$ = new URL(options.resourcesUrl || "./", doc.baseURI).href;
2165
+ plt.$resourcesUrl$ = new URL(options.resourcesUrl || "./", win.document.baseURI).href;
1993
2166
  {
1994
2167
  plt.$flags$ |= 2 /* appLoaded */;
1995
2168
  }
2169
+ {
2170
+ hydrateScopedToShadow();
2171
+ }
1996
2172
  let hasSlotRelocation = false;
1997
2173
  lazyBundles.map((lazyBundle) => {
1998
2174
  lazyBundle[1].map((compactMeta) => {
@@ -2056,6 +2232,17 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
2056
2232
  }
2057
2233
  disconnectedCallback() {
2058
2234
  plt.jmp(() => disconnectedCallback(this));
2235
+ plt.raf(() => {
2236
+ var _a3;
2237
+ const hostRef = getHostRef(this);
2238
+ const i2 = deferredConnectedCallbacks.findIndex((host) => host === this);
2239
+ if (i2 > -1) {
2240
+ deferredConnectedCallbacks.splice(i2, 1);
2241
+ }
2242
+ if (((_a3 = hostRef == null ? void 0 : hostRef.$vnode$) == null ? void 0 : _a3.$elm$) instanceof Node && !hostRef.$vnode$.$elm$.isConnected) {
2243
+ delete hostRef.$vnode$.$elm$;
2244
+ }
2245
+ });
2059
2246
  }
2060
2247
  componentOnReady() {
2061
2248
  return getHostRef(this).$onReadyPromise$;
@@ -2080,7 +2267,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
2080
2267
  }
2081
2268
  if (dataStyles.innerHTML.length) {
2082
2269
  dataStyles.setAttribute("data-styles", "");
2083
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
2270
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
2084
2271
  if (nonce != null) {
2085
2272
  dataStyles.setAttribute("nonce", nonce);
2086
2273
  }
@@ -2109,5 +2296,6 @@ exports.h = h;
2109
2296
  exports.promiseResolve = promiseResolve;
2110
2297
  exports.registerInstance = registerInstance;
2111
2298
  exports.setNonce = setNonce;
2299
+ //# sourceMappingURL=index-BO3rFndV.js.map
2112
2300
 
2113
- //# sourceMappingURL=index-484a84a0.js.map
2301
+ //# sourceMappingURL=index-BO3rFndV.js.map