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